@charset "utf-8";


/* Google fonts import */

@import url("https://fonts.googleapis.com/earlyaccess/sawarabimincho.css"); /* mincho [font-family: "Sawarabi Mincho";] */
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css"); /* gothic [font-family: "Noto Sans Japanese";] */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap&subset=japanese');
@import url("https://use.typekit.net/nnt8njw.css");


/*■reset----------------------------------------------*/
*{
	padding:0;
	margin:0;
}
h1,h2,h3,h4,h5,h6{
	font-size:14px;
	font-weight:normal;
}
ul,ol,li{
	list-style-type:none;
}
a{
	font-size:14px;
	transition:all 0.5s;
	text-decoration:none;
}
a:hover{
	opacity:0.68;
}
img{
	border:none;
	display:block;
	width:100%;
}
p{
	font-size:14px;
	line-height:140%;
}


/* Common
---------------------------------------------------------------------- */
*{
	box-sizing:border-box;
}
html{
	scroll-behavior:auto;
}
body{
	max-width:1920px;
	margin:auto;
	font-family:"Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif;
	color:#282520;
	background:#FFFFFF;
	font-size:16px;
	-webkit-text-size-adjust:100%;
	margin-top:117px;
}

.effect{
	opacity:0;
	top:40px;
	position:relative;
	transition:all 1s;
	filter: blur(3px);
}
.effect.move{
	opacity:1;
	top:0;
	filter: blur(0px);
}


br.sp{
	display:none;
}
@media (max-width: 767px){
	body{
		margin-top:68px;
	}
	br.sp{
		display:block !important;
	}
}
button{
	font:inherit;
	border:0;
}
img{
	height:auto;
}
em{
	font-style:normal;
}
p{
	font-size:16px;
	line-height:1.9;
}
a:focus-visible,button:focus-visible{
	outline:3px solid #B69A59;
	outline-offset:4px;
}

.Anc{
	position:relative;
	top:-117px;
}
@media (max-width: 767px){
	.Anc{
		top:-68px;
	}
}

.Contents .Area,header .Area,footer .Area{
	width:88%;
	max-width:1200px;
	margin:auto;
}
.MainTit{
	background:#002E20;
	color:#FFFFFF;
	text-align:center;
	padding:24px 15px;
	box-shadow:0 4px 5px #00000035;
	position:relative;
	z-index:1;
}
.MainTit h2{
	font-size:30px;
	letter-spacing:10px;
	line-height:1.5;
}
.MainTit span{
	display:block;
	font-size:13px;
	letter-spacing:5px;
	margin-top:3px;
}
.SubTit{
	text-align:center;
	margin-bottom:55px;
}
.SubTit h3{
	font-size:46px;
	line-height:1.15;
	letter-spacing:9px;
	color:#BD9E5D;
	border-bottom:1px solid #BD9E5D;
}
.SubTit p{
	font-size:28px;
	font-weight:700;
	letter-spacing:4px;
	line-height:1.65;
	color:#BD9E5D;
	margin-top:42px;
}
.SectionLead{
	text-align:center;
	padding:65px 0 85px;
}
.SectionLead h3{
	font-size:26px;
	font-weight:700;
	line-height:1.8;
	letter-spacing:2px;
	margin-bottom:26px;
}
.SectionLead p{
	line-height:2.5;
	letter-spacing:3px;
}
.TwoColumns,.FourColumns{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	row-gap:30px;
}
.TwoColumns > div{
	width:49%;
}
.FourColumns > div{
	width:23%;
}
.Facility h4{
	font-size:22px;
	letter-spacing:2px;
	text-align:center;
	margin-top:14px;
	line-height:1.5;
}
.Distance{
	font-size:12px;
	text-align:center;
	letter-spacing:1px;
	line-height:1.7;
	margin-top:3px;
}
.Facility .Description{
	margin-top:20px;
	font-size:16px;
	line-height:1.8;
	text-align:justify;
}
.PageCaption,.RouteNote{
	font-size:12px;
	line-height:1.6;
	margin-top:16px;
}
.CenterText{
	text-align:center;
	margin-bottom:34px;
	line-height:1.9;
}
.GoldLead{
	color:#BD9E5D;
	font-size:28px;
	font-weight:700;
	letter-spacing:4px;
	text-align:center;
	line-height:1.65;
	margin:70px 0 30px;
}
.SmallLead{
	text-align:center;
	font-size:24px;
	font-weight:700;
	letter-spacing:4px;
	margin:42px 0 32px;
}
.MapImage{
	display:block;
}
.MapImage:hover{
	opacity:1;
}
.Placeholder{
	margin-top:36px;
}
@media (max-width: 767px){
	p{
		font-size:15px;
	}
	.MainTit{
		padding:18px 10px;
	}
	.MainTit h2{
		font-size:23px;
		letter-spacing:6px;
	}
	.MainTit span{
		font-size:12px;
		letter-spacing:3px;
	}
	.SubTit{
		margin-bottom:30px;
	}
	.SubTit h3{
		font-size:27px;
		letter-spacing:3px;
	}
	.SubTit p{
		font-size:19px;
		letter-spacing:1px;
		margin-top:25px;
	}
	.SubTit br,.SectionLead br,.CenterText br,.GoldLead br{
		display:none;
	}
	.SectionLead{
		padding:32px 0 45px;
	}
	.SectionLead h3{
		font-size:19px;
		letter-spacing:1px;
		margin-bottom:20px;
	}
	.SectionLead p{
		font-size:14px;
		letter-spacing:1px;
		line-height:2;
	}
	.TwoColumns > div{
		width:100%;
	}
	.FourColumns > div{
		width:48%;
	}
	.Facility h4{
		font-size:18px;
		letter-spacing:1px;
	}
	.Facility .Description{
		font-size:15px;
	}
	.Distance{
		font-size:12px;
		letter-spacing:0;
	}
	.GoldLead,.SmallLead{
		font-size:20px;
		letter-spacing:1px;
		margin:40px 0 25px;
	}
	.CenterText{
		font-size:15px;
		text-align:left;
	}
}






/* Header
---------------------------------------------------------------------- */
header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background:#FFFFFF;
	z-index:100;
}
header .Area{
	display:flex;
	justify-content:space-between;
	align-items:center;
	min-height:78px;
}
header .Logo{
	width:340px;
}
.HeaderLinks{
	display:flex;
	align-items:center;
	gap:25px;
}
.HeaderLinks > div > a{
	display:block;
	font-size:14px;
	letter-spacing:2px;
	text-align:right;
	line-height:1.5;
	color:#333333;
	position:relative;
	padding-right:18px;
}
.HeaderLinks > div > a::after{
	content:"";
	display: block;
	width:6px;
	height:6px;
	border-top:1px solid #333333;
	border-right:1px solid #333333;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right:0px;
	top:50%;
}
.HeaderLinks .RequestBtn{
	display:block;
	background:#BF1424;
	color:#FFFFFF;
	position:relative;
	font-size:16px;
	letter-spacing:2px;
	font-weight:600;
	width:200px;
	padding:12px 0;
	text-align:center;
}
.HeaderLinks .RequestBtn::before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:38px;
	height:46px;
	background:url(../img/h_req_bg.png) no-repeat left top;
	background-size:38px;
	z-index:2;
}
.HeaderLinks .RequestBtn::after{
	content:"";
	display: block;
	width:10px;
	height:10px;
	border-top:1px solid #FFFFFF;
	border-right:1px solid #FFFFFF;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right:20px;
	top:48%;
}

.Gnavi{
	background:-webkit-linear-gradient(top,#1C0A0B,#331215);
	background:linear-gradient(top,#1C0A0B,#331215);
}
.Gnavi nav{
	width:88%;
	max-width:1200px;
	margin:auto;
}
.Gnavi ul{
	display:flex;
}
.Gnavi li{
	width:12.5%;
	border-left:1px solid #A68B50;
	text-align:center;
}
.Gnavi li:last-child{
	border-right:1px solid #A68B50;
}
.Gnavi a{
	display:block;
	color:#FFFFFF;
	font-size:13px;
	letter-spacing:1.5px;
	padding:10px 2px;
	white-space:nowrap;
}
.Gnavi li.none a{
	color:#999089;
	cursor:default;
	pointer-events:none;
}
#MenuBtn{
	display:none;
}

@media (max-width: 767px){
	header .Area{
		min-height:68px;
	}
	header .Logo{
		width:76%;
	}
	.HeaderLinks{
		display:none;
	}
	.HeaderLinks .RequestBtn{
		display:none;
	}
	.Gnavi{
		display:none;
	}
	.Gnavi nav{
		width:100%;
		position:fixed;
		top:68px;
		left:0;
		background:-webkit-linear-gradient(top,#1C0A0B,#331215);
		background:linear-gradient(top,#1C0A0B,#331215);
	}
	.Gnavi ul{
		flex-wrap:wrap;
		padding:20px;
		padding-bottom:40px;
	}
	.Gnavi li{
		width:47%;
		margin:auto;
		border-bottom:1px solid #A68B50;
		border-left:none !important;
		border-right:none !important;
	}
	.Gnavi a{
		font-size:14px;
		letter-spacing:.5px;
		padding:15px 0;
	}
	
	#MenuBtn{
		display:block;
		position:fixed;
		top:13px;
		right:25px;
		width:40px;
		height:60px;
		text-decoration:none;
		color:#333333;
		cursor:pointer;
		z-index:101;
	}
	#MenuBtn span {
		position: absolute;
		left: 18px;
		width: 70%;
		height: 1px;
		background:#333333;
		border-radius: 1px;
		transition:all 0.5s;
	}
	#MenuBtn span:nth-of-type(1) {
	  top: 12px;
	}
	#MenuBtn span:nth-of-type(2) {
	  top: 20px;
	}
	#MenuBtn span:nth-of-type(3) {
	  bottom: 30px;
	}
	
	#MenuBtn.active span:nth-of-type(1) {
	  transform: translateY(9px) rotate(-45deg);
	}
	#MenuBtn.active span:nth-of-type(2) {
	  opacity: 0;
	}
	#MenuBtn.active span:nth-of-type(3) {
	  transform: translateY(-8px) rotate(45deg);
	}
	
	
	#MenuBtn i {
		font-style:normal;
		position: absolute;
		left: 0;
		bottom:5px;
		width: 100%;
		display:block;
		text-align:center;
		letter-spacing:1px;
		font-size:10px;
		transition:all 0.5s;
	}
	#MenuBtn i.c {
		opacity:0;
	}
	#MenuBtn.active i.o{
		opacity:0;
	}
	#MenuBtn.active i.c{
		opacity:1;
	}
	
}






/* MainVisial / MainFeatures
---------------------------------------------------------------------- */
.MainVisial{
	position:relative;
	overflow:hidden;
	width:100%;
}
.MainVisial img{
	width:100%;
}
.MainVisial h1 img{
	position: absolute;
	top:-40px;
	left:0;
	opacity:0;
	transition:all 1.25s;
}
.MainVisial h1 img.move{
	top:0;
	opacity:1;
}
.MainFeatures{
	background:url(../img/forest.jpg) center center / cover;
	padding:36px 0 28px;
}
.MainFeatures ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	row-gap:20px;
}
.MainFeatures li{
	width:25%;
}
.MainFeatures small{
	display:block;
	font-size:17px;
}
.MainFeatures sup{
	font-size:10px;
}
.FeatureLead{
	color:#B89C54;
	text-align:center;
	font-size:33px;
	font-weight:700;
	letter-spacing:5px;
	line-height:1.5;
	margin-top:30px;
	position:relative;
}
.FeatureLead::before{
	content:"";
	display:block;
	width:10%;
	height:100%;
	background:url(../img/ac_strock.svg) no-repeat center center / 100%;
	position:absolute;
	top:0;
	left:0;
}
.FeatureLead::after{
	content:"";
	display:block;
	width:10%;
	height:100%;
	background:url(../img/ac_strock.svg) no-repeat center center / 100%;
	position:absolute;
	top:0;
	right:0;
}
@media (max-width: 767px){
	.MainFeatures{
		padding:25px 0;
	}
	.MainFeatures ul{
		row-gap:12px;
	}
	.MainFeatures li{
		width:49%;
	}
	.FeatureLead{
		font-size:16px;
		padding:0 35px;
		letter-spacing:1px;
	}
}


/* Information / Contact
---------------------------------------------------------------------- */
.Information{
	padding:36px 0 105px;
}
.InformationRow{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.InformationBox{
	width:50%;
	border:3px solid #DDDDDD;
	min-height:196px;
	padding:20px 30px;
	text-align:center;
}
.InformationBox h2{
	border-bottom:1px solid #999999;
	font-size:14px;
	letter-spacing:1px;
}
.InformationBox > p{
	color:#C91C30;
	font-size:19px;
	letter-spacing:3px;
	margin-top:15px;
}
.Contact{
	text-align:center;
	padding:12px 0;
}
.Information .Contact{
	width:45%;
}
.Contact > p{
	font-size:12px;
	letter-spacing:1px;
}
.Contact .Tel{
	width:100%;
	display:block;
	max-width:440px;
	margin:10px auto;
	cursor:default;
}
.Contact .Tel:hover{
	opacity:1;
}
.Contact .Hours{
	font-size:11px;
	letter-spacing:1px;
}
.ContactButtons{
	display:flex;
	justify-content:center;
	gap:16px;
	margin:24px auto 0;
}
.Information .RequestBtn,.Information .ReserveBtn{
	background:#BF1424;
	color:#FFFFFF;
	position:relative;
	font-size:12px;
	width:200px;
	padding:14px 0;
	text-align:center;
}
.Information .ReserveBtn{
	background:#BC5F24;
	font-size:11px;
}
.Information .ReserveBtn span{
	position:relative;
	z-index:4;
}
.Information .RequestBtn::before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:33px;
	height:40px;
	background:url(../img/h_req_bg.png) no-repeat left top / 33px;
	z-index:2;
}
.Information .ReserveBtn::before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:33px;
	height:40px;
	background:url(../img/h_res_bg.png) no-repeat left top / 33px;
	z-index:2;
	opacity:0.7;
}
.Information .RequestBtn::after,
.Information .ReserveBtn::after{
	content:"";
	display: block;
	width:8px;
	height:8px;
	border-top:1px solid #FFFFFF;
	border-right:1px solid #FFFFFF;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right:12px;
	top:48%;
}

@media (max-width: 767px){
	.Information{
		padding:30px 0 45px;
	}
	.InformationRow{
		display:block;
	}
	.InformationBox,.Information .Contact{
		width:100%;
	}
	.InformationBox{
		min-height:135px;
		padding:18px;
		margin-bottom:22px;
	}
	.InformationBox > p{
		font-size:16px;
		letter-spacing:1px;
	}
	.Contact .Tel{
		font-size:clamp(28px,8.5vw,45px);
		gap:6px;
	}
	.Contact > p{
		font-size:11px;
		letter-spacing:0;
	}
	.Contact .Hours{
		font-size:10px;
		letter-spacing:0;
	}
	.FreeCall{
		font-size:9px;
		width:40px;
	}
	.ContactButtons{
		gap:0;
		margin-top:18px;
		display:block;
	}
	.Information .RequestBtn,.Information .ReserveBtn{
		display:block;
		font-size:13px;
		width:80%;
		margin:8px auto;
		padding:15px 0;
	}
}


/* Concept / Location
---------------------------------------------------------------------- */
.Concept{
	padding-bottom:95px;
}
.Concept .Contents{
	background:url(../img/concept_texture.jpg) top center / cover;
	padding:92px 0 54px;
	color:#FFFFFF;
	text-align:center;
	position:relative;
}
.Concept .Area{
	position:relative;
}
.Concept h3{
	color:#D2C492;
	font-size:clamp(36px,5.6vw,90px);
	letter-spacing:5px;
	line-height:1.55;
	margin-bottom:20px;
	text-shadow:0 3px 3px rgba(0,0,0,0.3)
}
.Concept p{
	font-size:32px;
	line-height:1.95;
	letter-spacing:3px;
}
@media (max-width: 767px){
	.Concept{
		padding-bottom:45px;
	}
	.Concept .Contents{
		padding:40px 0;
	}
	.Concept h3{
		font-size:clamp(21px,5.4vw,38px);
		letter-spacing:1px;
		line-height:1.8;
	}
	.Concept p{
		font-size:16px;
		letter-spacing:1px;
		line-height:2.2;
	}
	.Concept p br{
		display:none;
	}
}


/* Park
---------------------------------------------------------------------- */
.Park{
	padding:105px 0 85px;
	color:#FFFFFF;
	background:url(../img/park_bg.jpg) top center / cover;
}
.Park .SubTit p{
	color:#FFFFFF;
}
.ParkIntroduction{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-top:38px;
}
.ParkIntroduction > img{
	width:50%;
}
.ParkIntroduction > div{
	width:47%;
}
.ParkIntroduction h4{
	font-size:24px;
	letter-spacing:4px;
	text-align:center;
}
.ParkIntroduction > div > p:last-child{
	margin-top:18px;
	line-height:1.8;
	text-align:justify;
}
.ParkScenes{
	display:flex;
	justify-content:space-between;
	margin:40px 0 35px;
}
.ParkScenes img{
	width:31.8%;
	align-self:flex-start;
}
.ParkActivities{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	row-gap:20px;
	margin:62px 0 80px;
}
.ParkActivities > div{
	width:23.8%;
}
.ParkActivities h4{
	background:#B69C5E;
	border:4px double #E5D8AE;
	text-align:center;
	font-size:17px;
	padding:10px 4px;
	line-height:1.5;
}
.ParkHistory{
	display:flex;
	justify-content:space-between;
}
.ParkHistory > div{
	width:30%;
}
.ParkHistory h4{
	border-bottom:1px solid #FFFFFF;
	padding-bottom:14px;
	margin-top:16px;
	font-size:21px;
}
.NearbyParks{
	background:url(../img/stone.jpg) center / cover;
	padding:45px 0 65px;
}
.NearbyParks h3{
	text-align:center;
	font-size:24px;
	font-weight:700;
	letter-spacing:6px;
	margin-bottom:30px;
}
.NearbyParks h4{
	font-size:16px;
	letter-spacing:1px;
	font-weight:600;
}
@media (max-width: 767px){
	.Park{
		padding:50px 0;
	}
	.ParkIntroduction{
		display:block;
		margin-top:22px;
	}
	.ParkIntroduction > img,.ParkIntroduction > div{
		width:100%;
	}
	.ParkIntroduction h4{
		margin-top:25px;
		font-size:22px;
	}
	.ParkScenes{
		margin:25px 0;
	}
	.ParkActivities{
		margin:35px 0 40px;
		row-gap:16px;
	}
	.ParkActivities > div{
		width:48%;
	}
	.ParkActivities h4{
		font-size:12px;
		padding:9px 1px;
	}
	.ParkHistory{
		display:block;
	}
	.ParkHistory > div{
		width:100%;
		margin-top:32px;
	}
	.NearbyParks{
		padding:35px 0;
	}
	.NearbyParks h3{
		font-size:18px;
		letter-spacing:2px;
	}
	.NearbyParks h4{
		font-size:14px;
	}
}


/* Shopping
---------------------------------------------------------------------- */
.Shopping{
	padding:115px 0 80px;
}
.ShoppingMain{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.ShoppingMain > div:first-child{
	width:58.4%;
}
.ShoppingMain > div:last-child{
	width:38.5%;
}
.ShopHours{
	background:#AD0012;
	color:#FFFFFF;
	text-align:center;
	font-family:"Noto Sans Japanese",sans-serif;
	font-size:28px;
	font-weight:700;
	line-height:1.4;
	padding:3px 8px;
}
.ShopHours span{
	font-size:70%;
	position:relative;
}
.ShopHours span::after{
	content:"※";
	font-size:10px;
	position:absolute;
	top:-10px;
	left:0;
}
.ShopHours strong{
	font-size:46px;
	position:relative;
}
.ShopHours small{
	font-size:12px;
	margin-left:8px;
}
.Redevelopment{
	background:#F3EFE4;
	padding:35px 40px;
	margin-top:75px;
}
.Redevelopment h3{
	color:#BD9E5D;
	font-size:24px;
	font-weight:700;
	letter-spacing:3px;
	text-align:center;
	margin-bottom:28px;
}
.RedevelopmentRow{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.RedevelopmentRow > img{
	width:57%;
}
.RedevelopmentRow > div{
	width:39.5%;
}
.Redevelopment h4{
	background:#B69C5E;
	color:#FFFFFF;
	font-size:21px;
	text-align:center;
	padding:9px;
	line-height:1.4;
}
.Redevelopment p{
	font-size:16px;
	line-height:1.65;
	margin:16px 0;
}
.RedevelopmentRow div img{
	width:442px;
}
@media (max-width: 767px){
	.Shopping{
		padding:55px 0 35px;
	}
	.ShoppingMain{
		display:block;
	}
	.ShoppingMain > div:first-child,.ShoppingMain > div:last-child{
		width:100%;
	}
	.ShoppingMain > div:last-child{
		margin-top:24px;
	}
	.ShopHours{
		font-size:22px;
	}
	.ShopHours strong{
		font-size:32px;
	}
	.ShopHours small{
		font-size:10px;
	}
	.Redevelopment{
		padding:25px 20px;
		margin-top:40px;
	}
	.Redevelopment h3{
		font-size:20px;
		letter-spacing:1px;
	}
	.RedevelopmentRow{
		display:block;
	}
	.RedevelopmentRow > img,.RedevelopmentRow > div{
		width:100%;
	}
	.RedevelopmentRow > div{
		margin-top:20px;
	}
	.Redevelopment h4{
		font-size:18px;
	}
	.Redevelopment p{
		font-size:14px;
	}
	.RedevelopmentRow div img{
		width:100%;
	}
}


/* Education
---------------------------------------------------------------------- */
.Education{
	padding:65px 0 30px;
}
.EducationLead{
	display:flex;
	align-items:stretch;
	margin:60px 0 40px;
	background:#F0EBDC;
}
.EducationLead img{
	width:50%;
	object-fit:cover;
}
.EducationLead h3{
	width:50%;
	align-content:center;
	text-align:center;
	color:#BD9E5D;
	font-size:28px;
	font-weight:700;
	line-height:1.65;
	padding:25px;
}
.SchoolCards{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	row-gap:35px;
}
.SchoolCard{
	width:48.5%;
}
.SchoolCard > div{
	display:flex;
	justify-content:space-between;
}
.SchoolCard img{
	width:50%;
	object-fit:cover;
}
.SchoolName{
	width:46.5%;
	border:1px solid #BD9E5D;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:15px 6px;
	color:#BD9E5D;
	text-align:center;
	position:relative;
}
.SchoolName::before,
.SchoolName::after{
	content:"";
	display:block;
	width:6px;
	height:6px;
	background:#BD9E5D;
	position:absolute;
}
.SchoolName::before{
	top:0;
	left:0;
}
.SchoolName::after{
	bottom:0;
	right:0;
}
.SchoolName h4{
	font-size:22px;
	line-height:1.5;
}
.SchoolName .Distance{
	font-size:11px;
}
.SchoolCard > p{
	font-size:16px;
	line-height:1.7;
	margin-top:22px;
}
@media (max-width: 767px){
	.Education{
		padding:35px 0 20px;
	}
	.EducationLead{
		display:block;
		margin:35px 0;
	}
	.EducationLead img,.EducationLead h3{
		width:100%;
	}
	.EducationLead h3{
		font-size:19px;
		padding:22px 10px;
	}
	.SchoolCard{
		width:100%;
	}
	.SchoolName h4{
		font-size:15px;
	}
	.SchoolName .Distance{
		font-size:10px;
	}
	.SchoolCard > p{
		font-size:14px;
		margin-top:16px;
	}
}


/* Public / LocalMap / LifeInformation
---------------------------------------------------------------------- */
.Public{
	padding:55px 0 110px;
}
.LocalMap{
	margin-top:95px;
}
.LocalMap h3,.LifeList h4{
	background:#B69C5E;
	color:#FFFFFF;
	font-size:19px;
	letter-spacing:2px;
	padding:3px 14px;
}
.LocalMap h3{
	text-align:center;
	font-weight:700;
}
.LocalMap .Placeholder{
	margin:45px 0 65px;
}
.LifeInformation{
	display:flex;
	justify-content:space-between;
	margin-top:60px;
}
.LifeInformation > div{
	width:47%;
	display:flex;
	flex-direction:column;
}
.LifeInformation > div > .PageCaption{
	margin-top:auto;
}
.LifeList{
	margin-bottom:35px;
}
.LifeList h4{
	font-size:15px;
	letter-spacing:1px;
}
.LifeList dl{
	margin-top:12px;
}
.LifeList dl > div{
	display:flex;
	align-items:baseline;
	font-size:12px;
	line-height:2.1;
}
.LifeList dt{
	display:flex;
	flex:1;
	align-items:baseline;
}
.LifeList dt::after{
	content:"";
	flex:1;
	border-bottom:2px dotted #7B7466;
	min-width:10px;
	margin:0 5px;
}
.LifeList dd{
	white-space:nowrap;
}
@media (max-width: 767px){
	.Public{
		padding:35px 0 50px;
	}
	.Public .SubTit h3{
		font-size:23px;
		letter-spacing:2px;
	}
	.LocalMap{
		margin-top:45px;
	}
	.LocalMap .Placeholder{
		margin:25px 0 35px;
	}
	.LifeInformation{
		display:block;
		margin-top:35px;
	}
	.LifeInformation > div{
		width:100%;
	}
	.LifeList dl > div{
		font-size:11px;
		line-height:1.8;
		padding:3px 0;
	}
	.LifeList dt{
		min-width:0;
	}
	.LifeList dd{
		font-size:10px;
	}
}


/* Access
---------------------------------------------------------------------- */
.Access > .Contents{
	padding-bottom:135px;
}
.AccessCities{
	display:flex;
	justify-content:space-between;
	margin-top:65px;
}
.AccessCities > div{
	width:32%;
}
.AccessCities h4{
	background:#E5DAC0;
	font-size:23px;
	text-align:center;
	line-height:1.4;
	padding:5px 2px;
	color:#000000;
}
.AccessCities small{
	font-size:16px;
}
.AccessCities em{
	color:#BA0000;
	font-size:35px;
}
.RouteTit{
	text-align:center;
	font-size:20px;
	font-weight:700;
	border-bottom:1px solid #00452D;
	padding-bottom:12px;
	margin:40px 0 25px;
}
.AccessTimes{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	row-gap:28px;
	margin-bottom:35px;
}
.AccessTimes > div{
	width:32%;
}
.AccessTimes > div > p:first-child{
	display:flex;
	align-items:baseline;
	font-size:25px;
	line-height:1.4;
	white-space:nowrap;
}
.RouteDots{
	flex:1;
	border-bottom:2px dotted #333333;
	min-width:4px;
	margin:0 5px;
}
.AccessTimes em{
	font-size:36px;
	color:#BC0000;
}
.AccessTimes small{
	font-size:16px;
}
.AccessTimes .RouteNote{
	font-size:10px;
	line-height:1.5;
	margin-top:5px;
}
.GreenTit{
	background:#00412A;
	color:#FFFFFF;
	font-size:27px;
	font-weight:700;
	text-align:center;
	padding:10px 15px;
	line-height:1.5;
}
.Commute{
	margin-top:70px;
}
.Commute > h4,.ThroughService > h4{
	font-size:28px;
	font-weight:700;
	color:#00412A;
	text-align:center;
	letter-spacing:3px;
	margin:26px 0 34px;
}
.CommuteRow{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.CommuteRow > img{
	width:49%;
}
.Timetable{
	width:49%;
	display:flex;
	flex-flow:column wrap;
	height:320px;
	column-gap:24px;
	row-gap:18px;
}
.TimetableGroup{
	display:flex;
	width:47%;
	gap:15px;
}
.TimetableGroup h5{
	background:#999999;
	color:#FFFFFF;
	font-size:22px;
	writing-mode:vertical-rl;
	text-align:center;
	padding:5px;
}
.TimetableGroup dl{
	flex:1;
}
.TimetableGroup dl > div{
	display:flex;
	gap:15px;
	border-bottom:1px dotted #999999;
	font-size:17px;
	line-height:2.4;
	white-space:nowrap;
}
.ThroughService{
	margin-top:75px;
}
.Airport{
	display:flex;
	background:#F0EBDC;
	margin-top:70px;
}
.Airport > img{
	width:32.4%;
	object-fit:cover;
}
.Airport > div{
	width:67.6%;
	padding:18px 26px;
}
.Airport h3{
	color:#7A6940;
	font-size:28px;
	letter-spacing:4px;
	text-align:center;
	margin-bottom:20px;
}
.AirportBody{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.AirportBody p{
	width:51%;
	font-size:16px;
	line-height:1.7;
}
.AirportBody p span{
	display:block;
	margin-top:12px;
}
.AirportBody img{
	width:47%;
}
@media (min-width: 768px) and (max-width: 1150px){
	.Timetable{
		height:300px;
		column-gap:10px;
	}
	.TimetableGroup{
		gap:5px;
	}
	.TimetableGroup dl > div{
		font-size:12px;
		gap:5px;
	}
	.CommuteCount em{
		font-size:90px;
	}
	.AccessTimes > div > p:first-child{
		font-size:17px;
	}
	.AccessTimes small{
		font-size:10px;
	}
	.AccessTimes em{
		font-size:26px;
	}
}
@media (max-width: 767px){
	.Access > .Contents{
		padding-bottom:55px;
	}
	.AccessCities{
		flex-wrap:wrap;
		margin-top:30px;
		row-gap:20px;
	}
	.AccessCities > div{
		width:100%;
	}
	.AccessCities h4{
		font-size:23px;
	}
	.AccessTimes > div{
		width:100%;
	}
	.AccessTimes > div > p:first-child{
		font-size:21px;
	}
	.AccessTimes .RouteNote{
		font-size:11px;
	}
	.GreenTit{
		font-size:19px;
		padding:15px;
	}
	.Commute{
		margin-top:40px;
	}
	.Commute > h4,.ThroughService > h4{
		font-size:19px;
		letter-spacing:1px;
		margin:25px 0;
	}
	.CommuteRow{
		flex-wrap:wrap;
	}
	.CommuteRow > img,.CommuteCount{
		width:100%;
	}
	.CommuteCount > p{
		font-size:20px;
	}
	.CommuteCount > small{
		font-size:10px;
	}
	.CommuteCount strong{
		font-size:35px;
	}
	.CommuteCount em{
		font-size:70px;
	}
	.Timetable{
		width:100%;
		height:auto;
		margin-top:28px;
		flex-flow:row wrap;
		gap:18px;
	}
	.TimetableGroup{
		width:100%;
	}
	.TimetableGroup dl > div{
		font-size:15px;
		gap:20px;
		line-height:2;
	}
	.TimetableGroup h5{
		font-size:20px;
		padding:10px;
	}
	.ThroughService{
		margin-top:40px;
	}
	.Airport{
		display:block;
		margin-top:35px;
	}
	.Airport > img,.Airport > div{
		width:100%;
	}
	.Airport > div{
		padding:22px 18px;
	}
	.Airport h3{
		font-size:21px;
		letter-spacing:1px;
	}
	.AirportBody{
		display:block;
	}
	.AirportBody p,.AirportBody img{
		width:100%;
	}
	.AirportBody p{
		font-size:15px;
		margin-bottom:20px;
	}
}


/* Footer
---------------------------------------------------------------------- */
footer{
	border-top:3px solid #D4D4D4;
	padding:70px 0 120px;
}
.FooterLogos{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-top:55px;
}
.FooterLogos > a{
	width:20%;
	display:block;
	color:#333333;
}
.FooterLogos > a:nth-child(2){
	width:30%;
}
.FooterLogos > a:nth-child(3){
	width:24%;
}
.FooterLogos > a:last-child{
	width:18%;
}
.FooterLogos > a:nth-child(1) img,
.FooterLogos > a:nth-child(3) img{
	margin-top:15px;
}

.FooterLogos p{
	font-size:12px;
	margin-bottom:8px;
}
footer .RequestBtn,footer .ReserveBtn{
	background:#BF1424;
	color:#FFFFFF;
	position:relative;
	font-size:12px;
	width:200px;
	padding:14px 0;
	text-align:center;
}
footer .ReserveBtn{
	background:#BC5F24;
	font-size:11px;
}
footer .ReserveBtn span{
	position:relative;
	z-index:4;
}
footer .RequestBtn::before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:33px;
	height:40px;
	background:url(../img/h_req_bg.png) no-repeat left top / 33px;
	z-index:2;
}
footer .ReserveBtn::before{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:33px;
	height:40px;
	background:url(../img/h_res_bg.png) no-repeat left top / 33px;
	z-index:2;
	opacity:0.7;
}
footer .RequestBtn::after,
footer .ReserveBtn::after{
	content:"";
	display: block;
	width:8px;
	height:8px;
	border-top:1px solid #FFFFFF;
	border-right:1px solid #FFFFFF;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right:12px;
	top:48%;
}

@media (max-width: 767px){
	footer{
		padding:35px 0 95px;
	}
	.FooterLogos{
		flex-wrap:wrap;
		row-gap:6px;
		margin-top:25px;
	}
	.FooterLogos p{
		font-size:10px;
		margin-bottom:3px;
	}
	.FooterLogos > a{
		width:46% !important;
	}
	.FooterLogos img{
		margin:0;
		max-height:52px;
		object-fit:contain;
		object-position:left center;
	}
	footer .ContactButtons{
		display:block;
	}
	footer .RequestBtn,footer .ReserveBtn{
		display:block;
		font-size:13px;
		width:80%;
		margin:10px auto;
		padding:15px 0;
	}
	footer .ReserveBtn{
		font-size:13px;
	}
	.FooterLogos > a:nth-child(2) img{
		margin-top:12px;		
	}
	
}




.SpSwipeTx{
	display:none;
}
@media (max-width: 678px){
	.SpSwipeImg{
		width:100%;
		overflow:scroll;
	}
	.SpSwipeImg img{
		width:700px;
	}
	.SpSwipeTx{
		display:block;
		margin-top:5px;
		font-size:10px;
		color:#AA0000;
		text-align:center;
	}
	.SpSwipeTx.w{
		color:#FFFFFF;
	}
}




#SPmenu{
	display:none;
}
@media (max-width: 678px){
	#SPmenu{
		display:block;
		position:fixed;
		width:100%;
		bottom:0;
		left:0;
		z-index:10;
	}
	#SPmenu ul{
		display:flex;
		flex-wrap: wrap;
		justify-content:space-between;
	}
	#SPmenu ul li{
		/*width:25%;*/
		width:33.333%;
		position:relative;
		background:#FFFFFF;
	}
	#SPmenu ul li::after{
		content:"";
		display:block;
		width:1px;
		height:100%;
		background:#AFAFAF;
		position:absolute;
		top:0;
		right:0;
	}
	#SPmenu ul li:last-child::after{
		display:none;
	}
	#SPmenu ul li a{
		display:block;
	}
	#SPmenu ul li a img{
		width:60px;
		margin:auto;
	}
	#SPmenu ul li.req{
		background:#BF1424;
	}
	#SPmenu ul li.res{
		background:#BC5F24;
	}
}





.LowContents{
	width:100%;
	padding:90px 0 120px 0;
}
.LowContents .Area{
	width:88%;
	max-width:960px;
	margin:auto;
}
.LowContents .Area h2{
	font-size:24px;
	text-align:center;
	letter-spacing:4px;
	color:#333333;
	margin-bottom:25px;
}
.LowContents .Area .Img{
	width:100%;
	margin-bottom:40px;
}
.LowContents .Area .Img a{
	display:block;
	width:250px;
	margin:30px auto 0 auto;
	border:solid 1px #333333;
	border-radius:1000px;
	padding:12px 0;
	color:#333333;
	font-size:16px;
	font-weight:bold;
	text-align:center;
	letter-spacing:2px;
}
.LowContents .Area .MapAside{
	margin:auto;
	margin-bottom:60px;
	width:80%;
}
.LowContents .Area .MapAside h3{
	font-size:16px;
	text-align:center;
	letter-spacing:2px;
	margin-bottom:10px;
	color:#333333;
	font-weight:550;
}
.LowContents .Area .MapAside p{
	font-size:20px;
	font-weight:550;
	text-align:center;
	padding:15px 0;
	border-top:solid 1px #333333;
	border-bottom:solid 1px #333333;
	letter-spacing:2px;
	margin-bottom:10px;
	color:#333333;
}
.LowContents .Area .MapAside span{
	display:block;
	font-size:16px;
	font-weight:550;
	text-align:center;
	letter-spacing:2px;
	color:#333333;
}
.CtaLink{
	width:100%;
	text-align:center;
}
.CtaLink a{
	display:inline-block;
	width:35%;
	margin:0 2.5%;
	background:#686d71;
	color:#FFFFFF;
	text-align:center;
	font-size:20px;
	letter-spacing:3px;
	font-weight:500;
}
.CtaLink a span{
	padding:12px 0;
	position:relative;
	display:block;
	height:100%;
}
.CtaLink a span::after{
	content:"";
	width:15px;
	height:15px;
	background:url(../img/link_allow.svg) no-repeat center center;
	background-size:15px;
	position:absolute;
	bottom:4px;
	right:4px;
}
@media (max-width: 678px){
	.LowContents{
		padding:40px 0 60px 0;
	}
	.LowContents .Area h2{
		font-size:20px;
		letter-spacing:3px;
		margin-bottom:20px;
	}
	.LowContents .Area .Img{
		margin-bottom:35px;
	}
	.LowContents .Area .Img a{
		width:210px;
		margin:22px auto 0 auto;
		padding:10px 0;
		font-size:14px;
	}
	.LowContents .Area .MapAside{
		margin-bottom:40px;
		width:100%;
	}
	.LowContents .Area .MapAside h3{
		font-size:13px;
	}
	.LowContents .Area .MapAside p{
		font-size:16px;
		padding:12px 0;
	}
	.LowContents .Area .MapAside span{
		font-size:12px;
	}
	.CtaLink a{
		width:80%;
		margin:10px auto;
		font-size:17px;
		letter-spacing:2px;
	}
	.CtaLink a span{
		padding:14px 0;
	}
	.CtaLink a span::after{
		width:12px;
		height:12px;
		background:url(../img/link_allow.svg) no-repeat center center;
		background-size:12px;
		bottom:3px;
		right:3px;
	}
}


