<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@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のとき（下層メニュー無） --- */
.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; /* 現在のページ名だけ赤背景に */
}

.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(../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 &gt; *:first-child,
.contents_left &gt; *: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(../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(../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(../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(../images/icon_word.svg);
	background-size: contain;
	background-repeat: no-repeat;
}



/* 箇条書きリスト */
.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;
}


/* 定義リスト */
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列に並べるとき */
.column02_box{
	display: flex;
	flex-wrap: wrap;
	gap: var(--space40-30);
	margin-bottom: var(--space40-30);
}

.column02_box &gt; *{
	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(../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;
}


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


/*----------------------------------------*/
/* 検索結果ページ */
/*----------------------------------------*/
.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;
}


/* 並び替えボタン */
.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 &gt; *:last-child,
	.contents_left &gt; *: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列に並べるとき */
	.column02_box{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
	}

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

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

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

}</pre></body></html>