@charset "UTF-8";
/* font adobe GoudyOldStyleTOT */
@import url("https://use.typekit.net/kjk8cjt.css");
.goudy { font-family: "ltc-goudy-oldstyle-pro", serif; }
.ar { text-align: right;}
.ac { text-align: center;}
.full { width: 100%;}
.dib { display: inline-block;}
.sec-inner {
	margin: 0 auto;
	width: calc(100% - 30px);
	max-width: 1000px;
}
.location-title {
	text-align: center;
	margin: 0 0 35px;
}
.location-title .ttl_large {
	font-size: clamp(50px, 4.8611111111111111111vw, 70px);
	line-height: 1;
	letter-spacing: 0.03em;
	margin: 0 0 clamp(40px, 3.4722222222222222222vw, 50px);
}
.location-title .ttl {
	font-size: 27px;
	letter-spacing: 0.075em;
	margin: 0 0 25px;
}
.location-title .txt {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.1em;
}
.b-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top: clamp(30px, 2.7777777777777777778vw, 40px);
	gap: 20px clamp(15px, 2.4305555555555555556vw, 35px);
}
.life-education .b-list {
	display: grid;
	max-width : 645px;
	margin : 0 auto;
	grid-template-columns: repeat(2, 1fr);
	margin-top: clamp(30px, 2.7777777777777777778vw, 40px);
	gap: 20px clamp(15px, 2.4305555555555555556vw, 35px)
}
.b-img { margin: 0 0 clamp(5px, 1.0416666666666666667vw, 15px);}
.b-ttl {
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.075em;
	margin: 0 0 5px;
	text-align: center;
}
.b-ttl small {
	font-size : 64%;
	padding-left : 10px;
}
.b-txt {
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.b-list { grid-template-columns: repeat(2, 1fr);}
	.b-txt {
		font-size: 10px;
		line-height: 1.5;
	}
}
.cap-style {
	display: flex;
	position: relative !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 0 !important;
	justify-content: space-between;
	padding-left: clamp(25px, 2.0833333333333333333vw, 30px);
	gap: 0 clamp(10px, 1.0416666666666666667vw, 15px);
}
.cap-style span { white-space: nowrap;}
.cap-style:before {
	background: url(../location/img/bg_notes.png) no-repeat top left / 100% auto;
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	height: 10px;
	width: clamp(20px, 1.8055555555555555556vw, 26px);
}
.sec-location {
	margin: 0;
	padding: clamp(40px, 6.9444444444444444444vw, 100px) 0;
}
.block-intro .location-title { margin-bottom: clamp(40px, 5.5555555555555555556vw, 80px);}
.block-enter {margin: clamp(55px, 6.9444444444444444444vw, 100px) 0 clamp(60px, 5.5555555555555555556vw, 80px);}
.block-enter .location-title { margin-bottom: clamp(45px, 5.2083333333333333333vw, 75px);}
.block-enter .galleries-list {
	display: grid;
	grid-template-columns: 475px 475px;
	gap: 30px;
}
.block-enter .galleries-list .item:nth-child(3) { grid-area: 1/2/3/2;}
.block-enter .galleries-list .item img {
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 767px) {
	.block-enter .location-title .ttl { letter-spacing: 0;}
	.block-enter .location-title .txt { letter-spacing: -0.01em;}
	.block-enter .galleries-list { gap:5px; grid-template-columns: repeat(2, 1fr);}
	.block-enter .galleries-list .item:nth-child(3) { grid-area: 2 / 1 / 3 / 3;}
	.galleries-list .cap {
		position : static;
		line-height : 1.4;
		display : block;
		font-size : 8px;
		margin-top : 5px;
	}
}
.block-map {
	margin: 0 auto;
	width: 100%;
	max-width: 990px;
}
.block-map .map-list {
	display: grid;
	grid-template-columns: 46.7% 49.2%;
	gap: 30px 4.1%;
}
.block-map .map-list .item {
	max-width: 460px;
}
.block-map .map-list .item .img {
	aspect-ratio:337 / 273;
}
.block-map .map-list .ttl {
	border-top: 1px solid #000000;
	font-size: clamp(13px, 1.1805555555555555556vw, 17px);
	line-height: 1.9;
	text-align: center;
	padding: clamp(7px, 0.90277777777777777778vw, 13px) 0 clamp(10px, 0.97222222222222222222vw, 14px);
}
.block-map .cont-list {
	display: grid;
	grid-template-columns: auto clamp(250px, 21.875vw, 315px);
	margin-top: clamp(10px, 1.3888888888888888889vw, 20px);
	gap: clamp(20px, 2.7777777777777777778vw, 40px) clamp(10px, 1.3888888888888888889vw, 20px);
}
.block-map .cont-list dt {
	font-size: clamp(13px, 1.3194444444444444444vw, 19px);
	line-height: 1.8;
	letter-spacing: 0.075em;
	text-align: center;
}
.block-map .cont-list dd {
	font-size: clamp(10px, 0.97222222222222222222vw, 14px);
	line-height: 1.7;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.block-map .location-title .ttl { letter-spacing: 0;}
	.block-map .location-title .txt { letter-spacing: -0.01em;}
	.block-map .map-list { grid-template-columns: 1fr;}
	.block-map .cont-list { grid-template-columns: 27% auto;}
}
.sec-gallery {
	padding: 0;
}
.block-galleries {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}
@media screen and (max-width: 767px) {
	.block-galleries { grid-template-columns: repeat(2, 1fr);}
	.block-galleries .item:nth-child(5) { grid-area: 2/1/3/2;}
	.block-galleries .item:nth-child(6) { grid-area: 2/2/3/3;}
}
.block-life {
	position: relative;
	z-index: 0;
	margin: 0 0 clamp(45px, 6.5972222222222222222vw, 95px);
}
.block-life.has-line {
	margin: 0 0 clamp(50px, 4.8611111111111111111vw, 70px);
	padding-top: 55px;
}
.block-life.has-line:before {
	background: #000;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 1px;
	width: 100%;
}
.block-life .life-title {
	font-size: 22px;
	line-height: 1.4;
	letter-spacing: 0;
	margin: 0 0 clamp(15px, 1.3888888888888888889vw, 20px);
}
.town-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px clamp(30px, 3.4722222222222222222vw, 50px);
}
.town-list .b-img {
	margin: 0 0 clamp(20px, 1.7361111111111111111vw, 25px);
}
@media screen and (max-width: 767px) {
	.block-life.has-line:before { 
		width: calc((100% + 30px));
		left: -15px;
	}
	.town-list { grid-template-columns: 1fr;}
	.town-list .b-txt {
		font-size: 15px;
		line-height: 2;
	}
	.block-life .location-title.msn-u-mb3 { margin-bottom: 40px !important;}
	.img-project { margin: 0 -15px; }
	.img-project .cap { padding-right: 10px; }
}
/* life info*/
.life-ttl {
	font-size: 22px;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 clamp(30px, 2.4305555555555555556vw, 35px);
}
.life-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	width: 100%;
	max-width: 810px;
	gap: 40px;
}
.life-col { width: calc(50% - 20px);}
.life-box { margin-top: 35px;}
.life-box-ttl {
	border-bottom: 1px solid #000;
	font-size: 13px;
	margin: 0 0 10px;
	padding: 0 0 7px;
}
.life-list {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: -0.03em;
	margin: 0;
	padding: 0;
}
.life-list .sm {
	display: unset !important;
	font-size: 84%;
}
.life-list li {
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
}
.life-list li + li { margin-top: 5px;}
.life-list li span:nth-child(1) {
	display: inline-block;
	width: 72%;
}
.life-list li span:nth-child(2),
.life-list li span:nth-child(3),
.life-list li span:nth-child(4) {
	display: inline-block;
	text-align: right;
	width: 15%;
}
.life-list li span:nth-child(2) { width: 22%;}
.life-list li span:nth-child(3) { width: 10%;}
.life-list li span:nth-child(4) { width: 22%;}
.life-map {
	margin: clamp(50px, 6.5972222222222222222vw, 95px) auto 0;
}
@media screen and (max-width: 1023px) {
	.life-flex { display: block;}
	.life-col { width: 100%;}
	.life-map {
		margin-right: -15px;
		margin-left: -15px;
	}
}
@media screen and (max-width: 428px) {
	.life-box { margin-top: 30px;}
	.life-box-ttl { font-size: 12px;}
	.life-list {
		font-size: 12px;
		letter-spacing: -0.04em;
	}
}
@media screen and (max-width: 360px) {
	.life-list { font-size: 11px;}
}
