@charset "UTF-8";



/* -------------------------------------------

header

------------------------------------------- */
header {
	display: flex;
	justify-content: center;
	padding: 3rem 0 8rem 0;
}
h1 {
	width: 20rem;
}
@media screen and (max-width: 768px) {
	header {
		padding: 2rem 0 4rem 0;
	}
}



/* -------------------------------------------

kv

------------------------------------------- */
.kv > div:nth-of-type(1) {
	width: 65%;
	margin: 0 auto 2rem auto
}
.kv .wrap-1 {
	background: url(../img/bg-1.jpg) no-repeat center / cover;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 26rem;
	font-size: 2.8rem;
}
.kv .wrap-2 {
	background: #000;
	padding: 1rem 0;
	display: flex;
	justify-content: center;	
}
.btn {
	background: url(../img/bg-btn.png) no-repeat center / cover;
	color: #fff;
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24rem;
	height: 4.8rem;
	font-size: 1.8rem;
	padding-bottom: 0.3rem;
}
@media screen and (max-width: 768px) {
	.kv > div:nth-of-type(1) {
		width: 90%;
	}
	.kv .wrap-1 {
		text-align: center;
		line-height: 1.4;
	}
}



/* -------------------------------------------

about

------------------------------------------- */
.about {
	padding: 8rem 0;
}
.about > section {
	width: 88rem;
	margin-left: auto;
	margin-right: auto;
}
.about > section:not(:last-of-type) {
	margin-bottom: 8rem;
}
@media screen and (max-width: 768px) {
	.about > section {
		width: auto;
	}
	.about > section:not(:last-of-type) {
		margin-bottom: 6rem;
	}
}
/* ---- wrap ---- */
.about > .wrap {
	margin-bottom: 10rem;
}
.about > .wrap h2 {
	text-align: center;
	font-size: 2.8rem;
	margin-bottom: 2rem;
}
.about > .wrap p {
	text-align: center;
	font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
	.about > .wrap {
		padding: 0 3rem;
		margin-bottom: 8rem;
	}
	.about > .wrap p {
		text-align: left;
		font-size: 1.6rem;
	}
}
/* ---- about-summary ---- */
.about-summary .heading .en {
	left: 5.5rem;
}
.about-summary .wrap {
	margin-bottom: 5rem;
	background: url(../img/bg-2.jpg) no-repeat right top;
	background-size: auto 100%;
	padding: 3rem 3rem 1rem 3rem;
}
.about-summary .wrap > div {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	margin-bottom: 5rem;
}
.about-summary .wrap > div > div {
	width: 65%;
}
.about-summary video {
	width: 100%;
	aspect-ratio: 16 / 9;
}
.about-summary .wrap > div > p {
	width: 35%;
	line-height: 2.2;
}
.about-summary .wrap ul {
	width: 50%;
	display: flex;
	flex-direction: column;
	text-align: center;
	line-height: 1;
}
.about-summary .wrap ul li:not(:last-child) {
	margin-bottom: 2.5rem;
}
.about-summary .wrap ul li {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: bold;
}
.about-summary .wrap ul li span:nth-child(1) {
	font-weight: 900;
	font-size: 4.4rem;
}
.about-summary .wrap ul li span:nth-child(1) i {
	font-size: 2rem;
	margin-bottom: 0.5rem;
}
.about-summary .wrap ul li span:nth-child(2) {
	margin-top: 0.5rem;
}
.about-summary .btn-wrap {
	display: flex;
	justify-content: center;
}
.about-summary .btn-wrap a {
	border-bottom: solid 0.2rem #000;
	width: 16rem;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.about-summary .heading .en {
		left: 2rem;
	}
	.about-summary .wrap {
		margin-bottom: 3rem;
		background: url(../img/bg-2.jpg) no-repeat center;
		background-size: cover;
		padding: 3rem;
	}
	.about-summary .wrap > div {
		display: block;
		margin-bottom: 4rem;
	}
	.about-summary .wrap > div > div {
		width: 100%;
		margin-bottom: 2rem;
	}
	.about-summary .wrap > div > p {
		width: 100%;
		line-height: 1.6;
	}
	.about-summary .wrap ul {
		width: 100%;
	}
}
/* ---- about-cast ---- */
.about-requirement {
	padding: 0 3rem;
	display: flex;
	justify-content: space-between;
}
.about-requirement > li {
	width: 47%;
	background: #eceded;
	padding: 2.5rem 2.5rem 6rem 2.5rem;
	position: relative;
}
.about-requirement > li::before {
	content: "";
	width: 15rem;
	height: 4rem;
	background: #ed388f;
	position: absolute;
	right: -1rem;
	bottom: -1rem;
	opacity: 0.2;
}
.about-requirement > li:nth-child(even):before {
	background: #1c84c9;
}
.about-requirement dt {
	font-size: 2rem;
	line-height: 1;
	padding-bottom: 0.8rem;
	margin-bottom: 1.5rem;
	position: relative;
}
.about-requirement dt::before {
	content: "";
	width: 70%;
	height: 0.2rem;
	background: #000;
	position: absolute;
	left: 0;
	bottom: 0;
}
.about-requirement ul li {
	position: relative;
	padding-left: 2.2rem;
	font-size: 1.3rem;
}
.about-requirement ul li::before {
	content: "■";
	position: absolute;
	left: 0;
	top: 0;
}
.about-requirement ul li:not(:last-child) {
	margin-bottom: 0.8rem;
}
@media screen and (max-width: 768px) {
	.about-requirement {
		display: block;
	}
	.about-requirement > li {
		width: 100%;
	}
	.about-requirement > li:not(:last-child) {
		margin-bottom: 3rem;
	}	
}
/* ---- about-schedule ---- */
.about-schedule .wrap {
	background: url(../img/bg-2.jpg) no-repeat left top;
	background-size: auto 100%;
	padding: 4rem 0 4rem 20rem;
}
.about-schedule .wrap > div:nth-of-type(1) {
	background: #000;
	padding: 3rem 2rem;
	color: #fff;
}
.about-schedule h4 {
	font-size: 2rem;
	line-height: 1;
	padding-bottom: 0.8rem;
	margin-bottom: 1.5rem;
	position: relative;
}
.about-schedule h4::before {
	content: "";
	width: 80%;
	height: 0.2rem;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
}
.about-schedule .wrap > div:nth-of-type(1) dl {
	display: flex;
	flex-wrap: wrap;
}
.about-schedule .wrap > div:nth-of-type(1) dl dt {
	width: 15rem;
	background-color: #c9caca;
	text-align: center;
	color: #000
}
.about-schedule .wrap > div:nth-of-type(1) dl dd {
	width: calc(100% - 15rem);
	padding-left: 1.5rem;
}
.about-schedule .wrap > div:nth-of-type(1) dl dt:not(:last-of-type),
.about-schedule .wrap > div:nth-of-type(1) dl dd:not(:last-of-type) {
	margin-bottom: 2rem;
}
.about-schedule .wrap > div:nth-of-type(1) + div {
	font-size: 1.2rem;
	margin: 0.5rem 0 4rem 0;
}
.about-schedule p {
	font-weight: 900;
	font-size: 2rem;
	line-height: 1.4;
}
@media screen and (max-width: 768px) {
	.about-schedule .wrap {
		background: url(../img/bg-2.jpg) no-repeat center / cover;
		padding: 3rem;
	}
	.about-schedule h4::before {
		width: 100%;
	}
	.about-schedule .wrap > div:nth-of-type(1) dl {
		display: block;
	}
	.about-schedule .wrap > div:nth-of-type(1) dl dt {
		width: 100%;
	}
	.about-schedule .wrap > div:nth-of-type(1) dl dd {
		width: 100%;
		padding-left: 0;
		margin-top: 0.5rem;
	}
	.about-schedule .wrap > div:nth-of-type(1) dl dt:not(:last-of-type) {
		margin-bottom: 0;
	}
	.about-schedule .wrap > div:nth-of-type(1) dl dd:not(:last-of-type) {
		margin-bottom: 1rem;
	}
}
/* ---- about-selection ---- */
.about-selection ul {
	padding: 3rem 0 5rem 0;
	position: relative;
}
.about-selection ul::before {
	content: "";
	width: 0.2rem;
	height: 100%;
	background: #000;
	position: absolute;
	left: calc(50% - 0.1rem);
	top: 0;
	z-index: -1;
}
.about-selection ul li {
	display: flex;
	font-weight: bold;
}
.about-selection ul li:not(:last-child) {
	margin-bottom: 4rem;
}
.about-selection ul li > * {
	width: 50%;
	position: relative;
}
.about-selection ul li > span:nth-child(1) {
	text-align: right;
	padding-right: 4rem;
}
.about-selection ul li > span:nth-child(2) {
	padding-left: 4rem;
}
.about-selection ul li > span:nth-child(2)::before {
	content: "";
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #e58485;
	position: absolute;
	left: -1rem;
	top: 0.2rem;
}
.about-selection ul li:nth-child(2) > span:nth-child(2)::before {
	background-color: #db4d8d;
}
.about-selection span i {
	display: block;
	font-size: 1rem;
}
@media screen and (max-width: 768px) {
	.about-selection ul {
		font-size: 1.4rem;
	}
	.about-selection ul li > span:nth-child(1) {
		padding-right: 1.5rem;
	}
	.about-selection ul li > span:nth-child(2) {
		padding-left: 2rem;
	}
	.selection-note {
		padding: 0 3rem;
	}
}



/* -------------------------------------------

cv

------------------------------------------- */
.cv > div:nth-of-type(1) {
	background: url(../img/bg-3.jpg) no-repeat center / cover;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 3rem 0 12rem 0;
	color: #fff;
}
.cv > div:nth-of-type(1) h2 {
	line-height: 1;
	font-size: 6.4rem;
	margin-bottom: 12rem;
	border-bottom: solid 0.2rem #fff;
	padding-bottom: 0.5rem;
}
.cv > div:nth-of-type(1) p {
	font-size: 2.2rem;
	text-align: center;
}
.cv .wrap {
	background: #000;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 2rem 0;
	color: #fff;
}
.cv .btn-wrap + div {
	margin-top: 1rem;
	line-height: 1;
	font-size: 2rem;
	font-weight: 900;
}
.cv .btn-wrap + div strong {
	color: #e60012;
}
@media screen and (max-width: 768px) {
	.cv > div:nth-of-type(1) {
		padding: 4rem 0 10rem 0;
	}
	.cv > div:nth-of-type(1) h2 {
		margin-bottom: 10rem;
	}
}



/* -------------------------------------------

contact

------------------------------------------- */
.contact {
	width: 88rem;
	margin: 0 auto;
	padding: 8rem 0;
}
.contact .wrap {
	padding: 3.5rem 20rem 0 3.5rem;
	background: url(../img/bg-4.jpg) no-repeat right top;
	background-size: auto 100%;
	margin-bottom: 4rem;
}
.contact .wrap > div {
	background: #000;
	padding: 3rem 2rem;
	color: #fff;
}
.contact .wrap > div a {
	color: #fff;
}
.contact h4 {
	font-size: 2rem;
	line-height: 1;
	padding-bottom: 0.8rem;
	margin-bottom: 1.5rem;
	position: relative;
}
.contact h4::before {
	content: "";
	width: 70%;
	height: 0.2rem;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
}
.contact .wrap > div dl {
	display: flex;
	flex-wrap: wrap;
}
.contact .wrap > div dt {
	width: 9rem;
}
.contact .wrap > div dt::before {
	content: "■";
}
.contact .wrap > div dd {
	width: calc(100% - 9rem);
}
.contact .wrap > div dt:not(:last-of-type),
.contact .wrap > div dd:not(:last-of-type) {
	margin-bottom: 1.2rem;
}
.contact .wrap ul {
	font-size: 1.2rem;
	margin-top: 1.5rem;
}
.contact .wrap ul li {
	position: relative;
	padding-left: 1.5rem;
	line-height: 1.3;
}
.contact .wrap ul li:not(:last-child) {
	margin-bottom: 0.8rem;
}
.contact .wrap ul li::before {
	content: "※";
	position: absolute;
	left: 0;
	top: 0;
}
.contasct-sns {
	display: flex;
	align-items: center;
	justify-content: center;
}
.contasct-sns a {
	display: block;
	width: 4rem;
	margin-right: 3rem;
}
.contasct-sns a .fa-instagram {
	font-size: 4rem;
	color: inherit;
}
.contasct-sns > img {
	width: 20rem;
}
@media screen and (max-width: 768px) {
	.contact {
		width: auto;
	}
	.contact .wrap {
		padding: 3rem;
		background: url(../img/bg-4.jpg) no-repeat center / cover;
	}
	.contact h4::before {
		width: 100%;
	}
	.contact .wrap > div dl {
		display: block;
		font-size: 1.4rem;
	}
	.contact .wrap > div dt {
		width: 100%;
		line-height: 1;
	}
	.contact .wrap > div dd {
		width: 100%;
	}
	.contact .wrap > div dt:not(:last-of-type) {
		margin-bottom: 0.5rem;
	}
	.contact .wrap > div dt {
		margin-bottom: 0.5rem;
	}	
	.contact .wrap > div dd:not(:last-of-type) {
		margin-bottom: 2rem;
	}
	.contasct-sns {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.contasct-sns a {
		width: 6rem;
		margin-right: 2rem;
	}
}



/* -------------------------------------------

footer

------------------------------------------- */
footer {
	background: #000;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 0.2rem;
	height: 5rem;
	font-size: 1.2rem;
}