/* =========================
教室詳細
========================= */

.facility-page{
	background:#fffdf8;
	padding-bottom:90px;
}


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

.facility-hero{
	width:min(1280px, calc(100% - 40px));
	margin:20px auto 80px;
}


.facility-hero__inner{
	position:relative;

	display:grid;
	grid-template-columns:40% 60%;

	min-height:400px;

	background:#fff;

	border-radius:36px;

	overflow:hidden;
}

.facility-hero__text{
	position:relative;
	z-index:2;

	padding:10px 55px;

	background:#fffdf8;
}

.facility-hero__text:after{
	content:"";

	position:absolute;

	top:-20%;
	right:-150px;

	width:300px;
	height:140%;

	background:#fffdf8;

	border-radius:50%;

	z-index:-1;
}

.facility-label{
	margin:0 0 20px;

	color:var(--green);

	font-size:14px;
	font-weight:800;
}

.facility-hero h1{
	margin:0 0 6px;

	font-size:48px;
	line-height:1.4;

	color:var(--brown);
}

.facility-en{
	margin:0 0 36px;

	color:var(--green);

	font-family:serif;
	font-size:15px;
	font-style:italic;
}

.facility-hero__lead{
	margin-bottom:20px;

	font-size:17px;
	line-height:2;
	font-weight:800;
}

.facility-hero__text > p:last-child{
	font-size:14px;
	line-height:2;
}

.facility-hero__photo img{
	width:100%;
	height:100%;

	height:400px;

	object-fit:cover;
}


/* =========================
理念＋ギャラリー
========================= */

.facility-philosophy{
	width:min(1160px, calc(100% - 60px));
	margin:0 auto 100px;

	display:grid;
	grid-template-columns:.9fr 1.1fr;

	gap:70px;

	align-items:center;
}

.section-label{
	margin:0;

	font-size:25px;
	font-weight:800;
}

.section-en{
	margin:2px 0 24px;

	color:var(--green);

	font-size:12px;
	font-weight:800;

	letter-spacing:.12em;
}

.facility-philosophy h2{
	margin:0 0 28px;

	font-size:29px;
	line-height:1.8;
}

.facility-philosophy__text > p:not(.section-label):not(.section-en){
	margin:0 0 17px;

	font-size:14px;
	line-height:2.2;
}


/* ギャラリー */

.facility-gallery{
	display:grid;
	gap:12px;
}

.facility-gallery img{
	width:100%;
	height:100%;

	object-fit:cover;
}

.facility-gallery__main{
	position:relative;

	height:260px;

	border-radius:20px;

	overflow:hidden;
}

.facility-gallery__sub{
	display:grid;

	grid-template-columns:
		repeat(3, 1fr);

	gap:12px;
}

.facility-gallery__sub > div{
	position:relative;

	height:200px;

	border-radius:18px;

	overflow:hidden;
}

.facility-gallery span{
	position:absolute;

	left:14px;
	bottom:14px;

	padding:5px 12px;

	background:rgba(255,255,255,.88);

	border-radius:999px;

	color:var(--brown);

	font-size:11px;
	font-weight:800;
}


/* =========================
セクションタイトル
========================= */

.facility-section-title{
	margin-bottom:38px;
}

.facility-section-title > p{
	margin:0;

	color:var(--green);

	font-size:12px;
	font-weight:800;

	letter-spacing:.12em;
}

.facility-section-title h2{
	margin:3px 0 10px;

	font-size:29px;
}

.facility-section-title span{
	display:block;

	font-size:14px;
}


/* =========================
プログラム
========================= */

.facility-program{
	width:min(1100px, calc(100% - 60px));
	margin:0 auto 100px;
}

.facility-program__list{
	display:grid;
	gap:12px;
}

.facility-program__item{
	display:grid;

	grid-template-columns:
		100px 1fr 230px;

	align-items:center;

	min-height:115px;

	padding:20px 28px;

	background:#fff;

	border:1px solid var(--line);
	border-radius:15px;

	box-shadow:
		0 6px 20px rgba(93,61,27,.04);
}

.program-num{
	color:#9ebe67;

	font-size:42px;
	font-weight:800;

	text-align:center;
}

.program-body{
	padding-left:24px;

	border-left:1px solid var(--line);
}

.program-body h3{
	margin:0 0 6px;

	font-size:18px;
}

.program-body h3 small{
	margin-left:6px;

	font-size:12px;
}

.program-body p{
	margin:0;

	font-size:13px;
	line-height:1.9;
}

.program-example{
	padding:15px 18px;

	background:var(--soft);

	border-radius:12px;

	font-size:12px;
	line-height:1.8;
}

.program-example strong{
	margin-right:8px;

	color:var(--green);
}

.facility-program__item:nth-child(1),
.facility-program__item:nth-child(2){
	grid-template-columns:100px 1fr;
}


/* =========================
PDF
========================= */

.facility-documents{
	width:min(1100px, calc(100% - 60px));
	margin:0 auto 100px;
}

.facility-documents__list{
	display:grid;

	grid-template-columns:
		repeat(4, 1fr);

	gap:15px;
}

.facility-documents__list a{
	display:flex;
	align-items:center;
	gap:12px;

	padding:22px 18px;

	background:#fff;

	border:1px solid var(--line);
	border-radius:16px;

	transition:.3s ease;
}

.facility-documents__list a span{
	display:flex;

	width:42px;
	height:42px;

	align-items:center;
	justify-content:center;

	flex-shrink:0;

	background:#9ebe67;

	border-radius:8px;

	color:#fff;

	font-size:10px;
}

.facility-documents__list a p{
	margin:0;

	flex:1;

	font-size:12px;
	font-weight:800;
}

.facility-documents__list a b{
	color:var(--green);
}

.facility-documents__list a:hover{
	transform:translateY(-4px);

	box-shadow:
		0 12px 26px rgba(93,61,27,.08);
}


/* =========================
アクセス
========================= */

.facility-access{
	width:min(1100px, calc(100% - 60px));
	margin:0 auto;
}

.facility-access__inner{
	display:grid;

	grid-template-columns:
		1fr 1.15fr;

	gap:20px;
}

.facility-access__table{
	background:#fff;

	border:1px solid var(--line);
	border-radius:18px;

	overflow:hidden;
}

.facility-access__table dl{
	margin:0;
}

.facility-access__table dl div{
	display:grid;

	grid-template-columns:
		120px 1fr;

	border-bottom:
		1px solid var(--line);
}

.facility-access__table dl div:last-child{
	border-bottom:0;
}

.facility-access__table dt,
.facility-access__table dd{
	margin:0;

	padding:15px 18px;

	font-size:13px;
}

.facility-access__table dt{
	background:#f5f7e9;

	color:#74934a;

	font-weight:800;
}

.facility-access__map{
	min-height:370px;

	border-radius:18px;

	overflow:hidden;
}

.facility-access__map iframe{
	width:100%;
	height:100%;

	min-height:370px;

	border:0;
}


/* =========================
スマホ
========================= */

@media (max-width:1000px){

	.facility-hero{
		width:calc(100% - 36px);
		margin-bottom:60px;
	}

	.facility-hero__inner{
		grid-template-columns:1fr;

		min-height:0;
	}

	.facility-hero__text{
		padding:40px 25px;
	}

	.facility-hero__text:after{
		display:none;
	}

	.facility-hero h1{
		font-size:34px;
	}

	.facility-hero__photo img{
		min-height:280px;
		height:280px;
	}


	.facility-philosophy{
		width:calc(100% - 36px);

		grid-template-columns:1fr;

		gap:35px;

		margin-bottom:70px;
	}

	.facility-philosophy h2{
		font-size:24px;
	}


	.facility-gallery__main{
		height:220px;
	}

	.facility-gallery__sub{
		grid-template-columns:1fr 1fr;
	}

	.facility-gallery__sub > div{
		height:180px;
	}

	.facility-gallery__sub > div:last-child{
		grid-column:1 / -1;
	}


	.facility-program,
	.facility-documents,
	.facility-access{
		width:calc(100% - 36px);
	}


	.facility-program__item,
	.facility-program__item:nth-child(1),
	.facility-program__item:nth-child(2){
		grid-template-columns:65px 1fr;
	}

	.program-num{
		font-size:30px;
	}

	.program-body{
		padding-left:15px;
	}

	.program-example{
		grid-column:1 / -1;

		margin-top:12px;
	}


	.facility-documents__list{
		grid-template-columns:1fr;
	}


	.facility-access__inner{
		grid-template-columns:1fr;
	}

	.facility-access__table dl div{
		grid-template-columns:1fr;
	}

	.facility-access__table dt{
		padding-bottom:5px;
	}

	.facility-access__table dd{
		padding-top:5px;
	}

}