@charset "UTF-8";

.school-intro {
	position: relative;
	z-index: 1;
}

.school-intro__grid {
	display: grid;
	grid-template-columns: repeat(2, 48%);
	gap: 45px 4%;
}

.school-intro__txt {
	font-size: 18px;
	letter-spacing: .05em;
	line-height: 2.111;
}

.school-intro__img {
	max-width: 1600px;
	padding-left: 29px;
	margin: 155px auto 0;
}

@media screen and (max-width:899px) {
	.school-intro__grid {
		display: block;
	}

	.school-intro__txt {
		font-size: 16px;
	}

	.school-intro__img {
		padding-left: 0;
		margin-top: 50px;
	}
}

.school-main {
	padding-top: 413px;
	padding-top: clamp(328px, 25.33vw, 413px);
	margin-top: -413px;
	margin-top: clamp(-413px, -25.33vw, -328px);
	padding-bottom: 180px;
}

@media screen and (max-width:899px) {
	.school-main {
		padding-top: 0;
		margin-top: 0;
		padding-bottom: 80px;
	}
}

.school-box {
	background: #fff;
	padding: 48px 40px 33px;
	position: relative;
}

.school-box__ttl {
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	font-size: 28px;
	letter-spacing: .05em;
	line-height: 1.5;
}

.school-box__list {
	display: table;
	border-collapse: collapse;
	width: 100%;
}

.school-box__list,
.school-box__list .m-list-dot {
	line-height: 1.75;
}

.school-box__list > div {
	display: table-row;
}

.school-box__list > div + div {
	border-top: solid 1px #c8cfc7;
}

.school-box__list > div > dt,
.school-box__list > div > dd {
	display: table-cell;
	vertical-align: top;
	padding: 20px 0;
}

.school-box__list > div > dt {
	width: 218px;
}

.school-box-note {
	line-height: 1.75;
	margin-top: 35px;
}

.school-box-note * + * {
	margin-top: 10px;
}

.school-box-note .note-mark {
	text-indent: -1.25em;
	padding-left: 1.25em;
}

@media screen and (max-width:899px) {
	.school-box {
		padding: 25px 6% 15px;
	}

	.school-box__ttl {
		font-size: 23px;
	}

	.school-box__list > div > dt,
	.school-box__list > div > dd {
		padding: 15px 0;
	}

	.school-box__list > div > dt {
		width: 75px;
	}

	.school-box-note {
		margin-top: 25px;
	}
}

.school-sec .link-caution {
	font-size: 0.875em;
	text-decoration: none;
}

.school-head {
	display: grid;
	grid-template-columns: 160px 1fr;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
}

.school-head__l {
	margin-top: -5px;
}

.school-ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-left: 55px;
	position: relative;
}

.school-ttl__en {
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transform: rotate(90deg) translate(0, -1em);
	        transform: rotate(90deg) translate(0, -1em);
	-webkit-transform-origin: left top;
	        transform-origin: left top;
	font-size: 54px;
	letter-spacing: .05em;
	line-height: 1;
	white-space: nowrap;
	margin: 0;
}

.school-ttl__en .num {
	display: inline-block;
	font-size: 0.926em;
	position: relative;
	top: 0;
	left: 0.26em;
}

.school-ttl__ja {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	        writing-mode: vertical-rl;
	font-size: 14px;
	letter-spacing: .05em;
	line-height: 1;
}

.school-kv {
	margin-right: -18%;
}

.school-head__lead {
	max-width: 96%;
	width: 766px;
	padding: 45px 0;
	margin: -100px 0 45px;
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 900px) {
	#school02 .school-head__lead {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 1400px) {
	.school-kv {
		margin-right: calc( (100vw - 1200px) / 2 * -1 );
	}

	.school-head__lead {
		width: 47.88vw;
		margin-top: -6.25vw;
	}
}

.school-head__lead:not(.bg-beige) {
	background: #fff;
}

.school-head__lead .m-lead__txt {
	margin-top: 12px;
}

.school-cont {
	padding-left: 160px;
}

.school-list {
	display: table;
	border-collapse: collapse;
	width: 100%;
	line-height: 1.75;
	margin-bottom: 60px;
}

.school-list:last-child {
	margin-bottom: 0;
}

.school-list > div {
	display: table-row;
	border-bottom: solid 1px #c8cfc7;
}

.school-list > div:first-child {
	border-top: solid 1px #c8cfc7;
}

.school-list > div > dt,
.school-list > div > dd {
	display: table-cell;
	vertical-align: top;
	padding: 20px 15px;
}

.school-list > div > dt {
	width: 350px;
}

.school-list > div > dt > span {
	margin-right: 2.2em;
}

.school-list > div > dt > span:last-child {
	margin-right: 0;
}

.school-caution__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: rgba(255,255,255,.6);
	padding: 37px 0;
}

.school-caution__ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 10px;
	color: #887a70;
	font-size: 18px;
    letter-spacing: .05em;
	line-height: 1.5;
	width: 248px;
	position: relative;
}

.school-caution__ttl::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	border-right: solid 1px #c8cfc7;
}

.school-caution__ttl i {
	font-size: 26px;
	letter-spacing: normal;
}

.school-caution__cont {
	font-size: 14px;
    letter-spacing: .05em;
    line-height: 1.857;
	padding: 0 45px;
}

@media screen and (max-width: 899px){
  	.school-head {
		grid-template-columns: 57px 1fr;
	}

	.school-ttl {
		padding-left: 30px;
	}

	.school-ttl__en {
		font-size: 32px;
	}

	.school-ttl__ja {
		font-size: 12px;
	}

	.school-kv {
		margin-right: -50%;
	}

	.school-head__lead {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		max-width: none;
		width: 94%;
		min-height: 10.5vw;
		padding: 22px 1em 0 0;
		margin: -10vw 0 25px;
	}

	.school-head__lead .m-lead__ttl {
		font-size: 24px;
	}

	.school-head__lead .m-lead__txt {
		font-size: 14px;
		margin-top: 8px;
	}

	.school-cont {
		padding-left: 57px;
	}

	.school-list,
	.school-list > div,
	.school-list > div > dt,
	.school-list > div > dd {
		display: block;
	}

	.school-list {
		font-size: 14px;
		margin-bottom: 40px;
	}

	.school-list > div {
		padding: 15px 0;
	}

	.school-list > div > dt,
	.school-list > div > dd {
		padding: 0;
	}

	.school-list > div > dt {
		width: auto;
		margin-bottom: 7px;
	}

	.school-list > div > dt > span {
		margin-right: 1em;
	}

	.school-caution__list {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		padding: 15px 8% 18px;
		font-size: 14px;
	}

	.school-caution__ttl {
		gap: 5px;
		font-size: 17px;
		width: 100%;
		padding-bottom: 12px;
		margin-bottom: 12px;
	}

	.school-caution__ttl::before {
		left: 0;
		top: auto;
		border-right: none;
		border-bottom: solid 1px #c8cfc7;
	}

	.school-caution__ttl i {
		font-size: 22px;
	}

	.school-caution__cont {
		padding: 0;
	}
}