@charset "utf-8";


/*----------------------------------------*/
/* メインビジュアル */
/*----------------------------------------*/

#page_mv{
	width: 100%;
	height: 480px;
}

#page_mv img{
	height: 100%;
	object-fit: cover;
}


/*----------------------------------------*/
/* ペ`ジタイトル?パンくずリスト */
/*----------------------------------------*/

#page_title{
	padding: var(--space80-60) 0 var(--space40-30) 0;
	background: #fdf7f4;
}

#page_title h1,
#page_title .news_title,
#page_title .teacher_title{
	position: relative;
	max-width: 1000px;
	min-width: 600px;
	width: max-content;
	padding: var(--space40-30) var(--space40-30) var(--space40-30) 0;
	z-index: 3;
	border-radius: 0 40px 0 0;
	background: linear-gradient(to right, var(--sub-link-purple), #e6a1bd);
	color: var(--sub-white);
	font-size: var(--fs40);
	font-weight: 600;
	line-height: 1.5;
}

#page_title h1::before,
#page_title .news_title::before,
#page_title .teacher_title::before{
	content: "";
	position: absolute;
	top: 0;
	left: -50vw;
    width: 50vw;
	height: 100%;
	z-index: 2;
	background-color: var(--sub-link-purple);
}

.pankuzu_box{
	padding-top: var(--space40);
}

.pankuzu_box p{
	font-size: var(--fs14);
}

.pankuzu{
	margin-bottom: var(--space10);
}

.pankuzu a{
	color: var(--sub-link-purple);
	text-decoration: underline;
}


/* template01、02の栽 */
#template01 #page_title h1,
#template02 #page_title h1{
	margin-top: -160px;
}



/*----------------------------------------*/
/* コンテンツ┫ */
/*----------------------------------------*/

/* --- 慌宥 --- */
.contents{
	padding-top: var(--space80);
	padding-bottom: var(--space150);
}

.contents a{
	color: var(--sub-link-purple);
	text-decoration: underline;
}

.contents img{
	border-radius: 5px;
}


/* --- template01、03のとき和咼瓮縫紿`o --- */
.contents.column01 .inner{
	width: 100%;
}


/* --- template02、04のとき和咼瓮縫紿`嗤 --- */

/* コンテンツ恣 */
.contents.column02 .inner{
	display: flex;
	flex-wrap: wrap;
	gap: var(--space60-40);
}

.contents_left{
	max-width: calc(100% - 360px);
	width: 100%;
}


/* 和咼瓮縫紿`嘔 */
.lower_page{
	max-width: 300px;
	width: 100%;
}

.lower_page ul{
	margin-bottom: 0!important;
}

.lower_page li a{
	display: block;
	width: 100%;
	border-top: 1px solid #ddd;
	color: var(--main-font-color);
	font-size: var(--fs15);
	text-decoration: none;
}

.lower_page li:last-of-type a{
	border-bottom: 1px solid #ddd;
}

.lower_page li.parent a{
	padding: 15px 20px;
	background-color: #f7f7f7;
	font-weight: 500;
}

.lower_page li.parent a:hover{
	background-color: #e6cbd9;
	opacity: 1;
}

.lower_page li.child a{
	padding: 15px 20px 15px 40px;
	background-color: var(--sub-white);
}

.lower_page li.child.current a{
	background-color: #fae6e6; /* F壓のペ`ジ兆だけ橿嘘尚に */
}

.lower_page li.child a:hover{
	background-color: #fae6e6;
	opacity: 1;
}


/* --- template01、02跚ペ`ジ --- */
.tobira_btn_box{
	display: flex;
	flex-wrap: wrap;
	gap: var(--space40) var(--space60);
}

.tobira_btn_box li{
	width: calc((100% - var(--space60)) / 2);
}

.tobira_btn_box li a{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: var(--space30-20) var(--space80-60) var(--space30-20) var(--space30-20);
	border: 1px solid #b3b3b3;
	border-radius: 5px;
	color: var(--main-font-color);
	font-size: var(--fs16);
	line-height: 1.5;
	text-decoration: none;
}

.tobira_btn_box li a::before{
	content: "";
	position: absolute;
	top: 0;
	left: -1px;
	width: 5px;
	height: 100%;
	border-radius: 4px 0 0 4px;
	background-color: var(--sub-link-purple);
}

.tobira_btn_box li a::after{
	content: "";
	position: absolute;
	top: 50%;
	right: var(--space30);
	width: 28px;
	height: 6px;
	transform: translateY(-50%);
	background-image: url(/en/assets/images/page_tobira_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.tobira_btn_box li a:hover{
	background-color: #fcf2f7;
	opacity: 1;
}



/*----------------------------------------*/
/* コンテンツ竃し?テキスト?燕吉 */
/*----------------------------------------*/

.contents .inner > *:first-child,
.contents_left > *:first-child{ /* コンテンツの1つ朕の勣殆のmtを翌す */
	margin-top: 0!important;
}

h2{
	position: relative;
	padding-bottom: var(--space30-20);
	margin: var(--space80-60) 0 var(--space40-30) 0;
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs32);
	font-optical-sizing: auto;
    font-style: normal;
	font-weight: 600;
	line-height: 1.5;
}

h2::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 5px;
	background: linear-gradient(to right, var(--sub-link-purple), #e6a1bd);
}

h3{
	padding: var(--space20-15);
	margin: var(--space60-40) 0 var(--space30-20) 0;
	border-radius: 5px;
	background-color: #f3f3f3;
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs24);
	font-optical-sizing: auto;
    font-style: normal;
	font-weight: 600;
	line-height: 1.5;
}

h4{
	position: relative;
	padding-bottom: var(--space15);
	margin: var(--space40-30) 0 var(--space30-20) 0;
	border-bottom: 3px solid var(--sub-light-gray);
	font-size: var(--fs20);
	font-weight: 600;
	line-height: 1.5;
}

h4::before{
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 25%;
	height: 3px;
	background-color: var(--main-purple);
}

h5{
	position: relative;
	padding-left: 30px;
	margin: var(--space40-30) 0 var(--space30-20) 0;
	font-size: var(--fs18);
	font-weight: 600;
}

h5::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 3px;
	background-color: var(--main-purple);
	transform: translateY(-50%);
}

h6{
	margin: var(--space30-20) 0 var(--space15) 0;
	font-size: var(--fs16);
	font-weight: 600;
}

h2 a, h3 a, h4 a, h5 a, h6 a{
	text-decoration: none;
}


.contents p{
	margin: 0 auto var(--space20-15) auto;
}

.contents .f_red{
	color: var(--sub-red);
}

/* 秘猟 */
.lead{
	margin: var(--space40-30) 0;
	color: var(--sub-link-purple);
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs20);
	font-optical-sizing: auto;
    font-style: normal;
	font-weight: 600;
}


/* ボタン */
a.btn{
	max-width: 500px;
	width: 100%;
	margin: var(--space40) auto 0 auto;
	color: var(--sub-link-purple);
	text-decoration: none;
}

a.btn_line{
	position: relative;
	display: block;
	max-width: 500px;
	width: 100%;
	padding: var(--space20-15) var(--space40-30) var(--space20-15) 0;
	margin: 0 0 var(--space20-15) 0;
	border-bottom: 1px solid var(--sub-light-gray);
	color: var(--main-font-color);
	text-decoration: none;
	font-family: "Noto Serif JP", serif;
	font-size: var(--fs18-16);
	font-optical-sizing: auto;
    font-style: normal;
	font-weight: 600;
}

a.btn_line::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 28px;
	height: 6px;
	transform: translateY(-50%);
	background-image: url(/en/assets/images/page_tobira_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

a.btn_line:hover{
	color: var(--sub-link-purple);
}


/* リンク */
a[href$=".pdf"]::after{
	content: "";
	display: inline-block;
	width: 24px;
	height: 20px;
	margin: 0 10px;
	vertical-align: middle;
	background-image: url(/en/assets/images/icon_pdf.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

a[href$=".xls"]::after,
a[href$=".xlsx"]::after{
	content: "";
	display: inline-block;
	width: 24px;
	height: 20px;
	margin: 0 10px;
	vertical-align: middle;
	background-image: url(/en/assets/images/icon_excel.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

a[href$=".doc"]::after,
a[href$=".docx"]::after{
	content: "";
	display: inline-block;
	width: 24px;
	height: 20px;
	margin: 0 10px;
	vertical-align: middle;
	background-image: url(/en/assets/images/icon_word.svg);
	background-size: contain;
	background-repeat: no-repeat;
}



/* w訳きリスト */
.contents.column01 ul:not(.tobira_btn_box),
.contents_left ul:not(.tobira_btn_box){
	padding-left: 18px;
	margin-bottom: var(--space40-30);
}

.contents.column01 ul:not(.tobira_btn_box) li,
.contents_left ul:not(.tobira_btn_box) li{
	margin-bottom: var(--space15);
	list-style: disc;
}

.contents.column01 ul:not(.tobira_btn_box) li::marker,
.contents_left ul:not(.tobira_btn_box) li::marker{
	color: var(--main-purple);
}


/* 桑催原きリスト */
.contents ol{
	padding-left: 18px;
	margin-bottom: var(--space40-30);
}

.contents ol li{
    margin-bottom: var(--space15);
	list-style: decimal;
}

.contents ol li::marker{
	color: var(--main-purple);
	font-weight: 600;
}


/* 協xリスト */
dl{
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding-bottom: 10px;
	margin-bottom: var(--space30-20);
	border-bottom: 2px dotted var(--sub-light-gray);
}

dt{
	font-weight: 600;
}

dd{
	padding-left: var(--space20-15);
}


/* 燕 */
.table_scroll{
	padding-bottom: 10px;
	margin-bottom: var(--space40-30);
}

table{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid var(--sub-light-gray);
	border-right: 1px solid var(--sub-light-gray);
	border-bottom: 1px solid var(--sub-light-gray);
}

th, td{
	padding: 15px 10px;
	border-left: 1px solid var(--sub-light-gray);
	border-bottom: 1px solid var(--sub-light-gray);
	font-size: var(--fs15);
	text-align: left;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

th{
	background-color: var(--sub-pale-pink);
	font-weight: 600;
}

tr:last-child th,
tr:last-child td{
	border-bottom: none;
}


/* コンテンツの嶄附を2双にKべるとき */
.column02_box{
	display: flex;
	flex-wrap: wrap;
	gap: var(--space40-30);
	margin-bottom: var(--space40-30);
}

.column02_box > *{
	width: calc((100% - var(--space40-30)) / 2)!important;
}


/* ペ`ジ坪アンカ`リンク */
.page_anchor ul{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-left: 0!important;
}

.page_anchor li{
	position: relative;
	list-style: none!important;
	margin: 0!important;
	border-bottom: 1px solid var(--sub-light-gray);
}

.page_anchor li::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 8px;
	height: 6px;
	background: url(/en/assets/images/anchor_arrow.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	transform: translateY(-50%);
}

.page_anchor li a{
	display: block;
	padding: 10px 30px 10px 25px;
	color: var(--main-font-color);
	font-weight: 500;
	text-decoration: none;
}


/* 托めzみiframe */
iframe {
	aspect-ratio: 16/9;
	width: 100%;
}


/*----------------------------------------*/
/* 碧Y惚ペ`ジ */
/*----------------------------------------*/
.gsc-control-cse table,
.gsc-control-cse th,
.gsc-control-cse td,
.gs-result .gs-image,
.gs-result .gs-promotion-image{
	border: none!important;
}

.gsc-webResult.gsc-result{
	border-bottom: 1px solid #e9e9e9!important;
}

.gsc-control-cse a[href$=".pdf"].gs-image::after,
.gsc-control-cse a[href$=".xls"].gs-image::after,
.gsc-control-cse a[href$=".xlsx"].gs-image::after,
.gsc-control-cse a[href$=".doc"].gs-image::after,
.gsc-control-cse a[href$=".docx"].gs-image::after{
	content: none;
}

.gs-result .gs-title a,
.gs-result .gs-title *{
	color: var(--sub-link-purple)!important;
	font-weight: 500;
}

.gs-result .gs-title *,
.gs-result .gs-title b{
	color: var(--sub-link-purple)!important;
	font-weight: 700;
}


/* Kび紋えボタン */
.gsc-selected-option-container{
    max-width: none!important;
}

/* ペ`ジネ`ション */
.gsc-results .gsc-cursor-box{
	margin: 40px 0!important;
}

.gsc-results .gsc-cursor{
	display: flex!important;
	flex-wrap: wrap!important;
	gap: 10px!important;
}

.gsc-results .gsc-cursor-box .gsc-cursor-page{
	display: inline-block!important;
	padding: 8px 10px!important;
	border: 1px solid var(--sub-light-gray);
    border-radius: 4px;
    color: var(--main-font-color)!important;;
    font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.gsc-results .gsc-cursor-box .gsc-cursor-current-page{
	border: 1px solid var(--sub-link-purple);
	color: var(--sub-link-purple)!important;
}



/*----------------------------------------*/
/* おい栽わせフォ`ム */
/*----------------------------------------*/
table.table-form td.question{
	border-top: 0;
}

table.table-form tr:not(:last-of-type) td.answer{
	border-top: 0;
}

#alphaform .button:active,
#alphaform .button:focus,
#alphaform .button:hover,
#alphaform .button.hover{
	transition: 0.3s ease;
}

@media screen and (max-width: 1280px) {
    /*--- PC?タブレット喘 --- */

	/*----------------------------------------*/
	/* メインビジュアル */
	/*----------------------------------------*/

	#page_mv{
		width: 100%;
		height: 360px;
	}

	/*----------------------------------------*/
	/* ペ`ジタイトル?パンくずリスト */
	/*----------------------------------------*/

	#page_title h1,
	#page_title .news_title,
	#page_title .teacher_title{
		max-width: 800px;
	}

	/* template01、02の栽 */
	#template01 #page_title h1,
	#template02 #page_title h1{
		margin-top: -110px;
	}


	/*----------------------------------------*/
	/* コンテンツ┫ */
	/*----------------------------------------*/
	/* --- template02、04のとき和咼瓮縫紿`嗤 --- */

	/* コンテンツ恣 */
	.contents_left{
		max-width: calc(100% - 290px);
	}

	/* 和咼瓮縫紿`嘔 */
	.lower_page{
		max-width: 250px;
	}

}


@media screen and (max-width: 900px) {
    /*--- タブレット喘 --- */

	/*----------------------------------------*/
	/* メインビジュアル */
	/*----------------------------------------*/

	#page_mv{
		height: 360px;
	}

	/*----------------------------------------*/
	/* ペ`ジタイトル?パンくずリスト */
	/*----------------------------------------*/

	#page_title h1,
	#page_title .news_title,
	#page_title .teacher_title{
		max-width: 600px;
		min-width: auto;
		width: 100%;
	}

	/* template01、02の栽 */
	#template01 #page_title h1,
	#template02 #page_title h1{
		margin-top: -110px;
	}


	/*----------------------------------------*/
	/* コンテンツ┫ */
	/*----------------------------------------*/

	/* --- template02、03のとき和咼瓮縫紿`嗤 --- */

	/* コンテンツ恣 */
	.contents.column02{
		padding-bottom: 0;
	}
	
	.contents.column02 .inner{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		padding: 0; /* 和何にサイドバ`を秘れるため */
		gap: 80px;
	}

	.contents_left{
		max-width: 100%;
		padding: 0 15px;
	}


	/* 和咼瓮縫紿`嘔 */
	.lower_page{
		max-width: 100%;
		padding: 0;
		border-top: 1px solid var(--main-purple);
	}

	.lower_page li.parent a{
		padding: 15px;
	}

	.lower_page li.child a{
		padding: 15px 15px 15px 30px;
	}

	.lower_page li:last-of-type{
		border-bottom: none;
	}


	/*----------------------------------------*/
    /* メ`ルフォ`ム */
    /*----------------------------------------*/
	#alphaform input.text,
	#alphaform select.select,
	#alphaform textarea.textarea,
	#alphaform select,
	#alphaform textarea{
		width: 100%;
	}
}



@media screen and (max-width: 600px) {
	/*--- スマホ喘 --- */

	/*----------------------------------------*/
	/* メインビジュアル */
	/*----------------------------------------*/

	#page_mv{
		height: 280px;
	}

	
	/*----------------------------------------*/
	/* ペ`ジタイトル?パンくずリスト */
	/*----------------------------------------*/

	/* template01、02の栽 */
	#template01 #page_title h1,
	#template02 #page_title h1{
		margin-top: -100px;
	}


	/*----------------------------------------*/
	/* コンテンツ┫ */
	/*----------------------------------------*/

	.contents.column01 > *:last-child,
	.contents_left > *:last-child{
		margin-bottom: 0;
	}

	/* --- template01、02跚ペ`ジ --- */
	.tobira_btn_box li{
		width: 100%;
	}

	.tobira_btn_box li a{
		border-radius: 3px;
	}
	
	.tobira_btn_box li a::before{
		width: 3px;
		border-radius: 3px 0 0 3px;
	}

	/* コンテンツの嶄附を2双にKべるとき */
	.column02_box{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
	}

	.column02_box > *{
		width: 100%!important;
	}

	a.btn_line{
		font-size: 1.6rem;
	}

	/* 燕 */
	.table_scroll{
		overflow-x: auto;
		white-space: nowrap;
	}
	
	th, td{
		padding: 12px 10px;
	}

}