@charset "utf-8";
/*================================
ここから全サイズ適用
================================*/



/*------------------------------
.u-〇〇 …… 下層ページ固有のclass名

lower.cssにあるclass名と被らないよう
接頭文字として "u-" を付けてます。
uniqueの略。
------------------------------*/



/*================================
メインビジュアル
===============================*/
.main-visual {
	position: relative;
	z-index: 1;
	background-image: url(../img/mv_bg_type01.jpg);
	background-position: top center;
	background-size: auto 54rem;
	background-repeat: no-repeat;
	background-color: var(--theme-color01);
	padding-top: 17rem;
	padding-bottom: 4rem;
}
.main-visual::before {
	position: absolute;
	z-index: -1;
	content: "";
	left: 0;
	bottom: 0;
	width: 100%;
	height: 13rem;
	background: url(../img/pattern02.jpg)bottom center;
}
.main-visual .inner {
	max-width: calc(1200px + 14rem);
}
.mv_flex {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 20px 4rem;
}
.mv_title {
	width: calc(100% - (58% + 4rem));
	padding-top: 6rem;
}
.mv_title_en {
	position: relative;
	z-index: 1;
	margin-bottom: 2rem;
	padding-bottom: 2rem;
	font-family: 'Viga', sans-serif;
	font-size: 7rem;
	font-weight: 400;
	text-align: right;
	line-height: 1;
	color: #82e1ec;
	word-wrap: break-word;
}
.mv_title_en::before {
	position: absolute;
	z-index: 1;
	content: "";
	right: 0;
	bottom: 0;
	background: var(--accent-color);
	background: radial-gradient(circle, var(--accent-color) 2px,transparent 1px)top left/8px 6px repeat-x;
	height: 6px;
	width: 9rem;
}
.mv_title_jp {
	font-size: 2.2rem;
	text-align: right;
	line-height: 1.2;
	letter-spacing: 0.05em;
	color: #fff;
}
.mv_pic {
	width: 58%;
	text-align: center;
}

/* スケジュール
================================*/
.u-schedule_flow {}
.u-schedule_flow .fl_item {
	position: relative;
	z-index: 1;
}
.u-schedule_flow .fl_item:not(:last-child)::after {
	position: absolute;
	z-index: 1;
	content: "";
	top: 50%;
	right: -1rem;
	transform: translate(100%,-50%);
	border-top: 2rem solid transparent;
	border-bottom: 2rem solid transparent;
	border-left: 2rem solid var(--accent-color);
}
.u-schedule_time {
	position: absolute;
	left: 0;
	top: 0;
	width: 8.5rem;
	padding: 0 0;
	font-weight: 700;
	text-align: center;
	color: #fff;
}

/* 折り畳み式Q&A
================================*/
.u-faq_q {
	/*flex*/
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 0 2rem;
	/*others*/
	min-height: 9.6rem;
	padding: 3.6rem 3rem 2rem 6rem;
	background-image: url(../img/faq-icon_q.png);
	background-position: left top;
	background-size: 7.6rem 9.5rem;
	background-repeat: no-repeat;
	background-color: var(--theme-color02);
}
.u-faq_q-text {
	/*flex*/
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	/*others*/
	width: calc(100% - (3rem + 2rem));
	min-height: 4rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
}
.u-faq_q-btn {
	/*flex*/
	display: flex;
	justify-content: flex-start;
	align-items: center;
	/*others*/
	position: relative;
	z-index: 1;
	width: 3rem;
	height: 4rem;
	cursor: pointer;
}
.u-faq_q-btn::before,
.u-faq_q-btn::after {
	transition: .4s;
	position: absolute;
	content: "";
	background: #67c0f0;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
.u-faq_q-btn::before {
	width: 3rem;
	height: 0.4rem;
}
.u-faq_q-btn::after {
	width: 0.4rem;
	height: 3rem;
}
.u-faq_q-btn.open::after {
	transform: translate(-50%,-50%)rotate(90deg);
}
.u-faq_a {
	transition: .4s;
	transform-origin: top;
	transform: scaleY(0);
	max-height: 0;
	opacity: 0;
	padding: 0 3rem 0 6rem;
	background-image: url(../img/faq-icon_a.png);
	background-position: left top;
	background-size: 8rem 9.3rem;
	background-repeat: no-repeat;
	background-color: #f5f5f5;
}
.u-faq_a.open {
	transform: scaleY(1);
	max-height: 10000px;
	opacity: 1;
	min-height: 9.3rem;
	margin-top: 4px;
	padding: 3.6rem 3rem 2rem 6rem;
}



/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {

	/* スケジュール
	================================*/
	.u-schedule_flow {}
	.u-schedule_flow .fl_item {}
	.u-schedule_flow .fl_item:not(:last-child)::after {}
	.u-schedule_time {}

	/* 折り畳み式Q&A
	================================*/
	.u-faq_q {}
	.u-faq_q-text {}
	.u-faq_q-btn {}
	.u-faq_q-btn::before,
	.u-faq_q-btn::after {}
	.u-faq_q-btn::before {}
	.u-faq_q-btn::after {}
	.u-faq_q-btn.open::after {}
	.u-faq_a {}
	.u-faq_a.open {}


}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {

	/*================================
	メインビジュアル
	===============================*/
	.main-visual {}
	.main-visual::before {}
	.main-visual .inner {}
	.mv_flex {}
	.mv_title {
		width: calc(100% - (50% + 4rem));
		padding-top: 0;
	}
	.mv_title_jp {}
	.mv_title_jp.-fs98 {
		font-size: clamp(3.6rem, 2rem + 8vw, 8rem);
	}
	.mv_title_jp.-fs80 {
		font-size: clamp(3.6rem, 2.727rem + 4.36vw, 6rem);
	}
	.mv_title_jp.-fs64 {
		font-size: clamp(3.6rem, 3.236rem + 1.82vw, 4.6rem);
	}
	.mv_title_en {
		font-size: 6rem;
	}
	.mv_pic {
		width: 50%;
	}
	
	/* スケジュール
	================================*/
	.u-schedule_flow {}
	.u-schedule_flow .fl_item {}
	.u-schedule_flow .fl_item:not(:last-child)::after {}
	.u-schedule_time {}

	/* 折り畳み式Q&A
	================================*/
	.u-faq_q {}
	.u-faq_q-text {}
	.u-faq_q-btn {}
	.u-faq_q-btn::before,
	.u-faq_q-btn::after {}
	.u-faq_q-btn::before {}
	.u-faq_q-btn::after {}
	.u-faq_q-btn.open::after {}
	.u-faq_a {}
	.u-faq_a.open {}

	
}


/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px) {

	/*================================
	メインビジュアル
	===============================*/
	.main-visual {
		padding-top: 100px;
	}
	.main-visual::before {
	}
	.main-visual .inner {}
	.mv_flex {
		flex-direction: column;
	}
	.mv_title {
		width: 100%;
	}
	.mv_title_jp {}
	.mv_title_en {
		font-size: 5rem;
	}
	.mv_pic {
		width: 100%;
	}
	
	/* スケジュール
	================================*/
	.u-schedule_flow {}
	.u-schedule_flow .fl_item {}
	.u-schedule_flow .fl_item:not(:last-child)::after {
		top: auto;
		bottom: -1rem;
		right: 50%;
		transform: translate(50%,100%);
		border-left: 20px solid transparent;
		border-right: 20px solid transparent;
		border-top: 20px solid var(--accent-color);
		border-bottom: none;
	}
	.u-schedule_time {}

	/* 折り畳み式Q&A
	================================*/
	.u-faq_q {}
	.u-faq_q-text {}
	.u-faq_q-btn {}
	.u-faq_q-btn::before,
	.u-faq_q-btn::after {}
	.u-faq_q-btn::before {}
	.u-faq_q-btn::after {}
	.u-faq_q-btn.open::after {}
	.u-faq_a {}
	.u-faq_a.open {}



}

















