@charset "utf-8";
.line_area { max-width: 1100px;}
.notes {
    font-size: 1rem;
    letter-spacing: 0.1em;
}
.loc_img { margin: 0 0 clamp(10px, 1.1905vw, 20px);}
.loc_ttl_en {
	font-size: clamp(1.6rem, 1.4286vw, 2.4rem);
	color: #8aa9b5;
	letter-spacing: 0.06em;
	line-height: 1.75;
}
.loc_ttl {
    font-size: clamp(1.5rem, 1.3095vw, 2.2rem);
    line-height: 1.7;
}
.loc_ttl .sm {
    display: inline-block;
    font-size: clamp(1.4rem, 0.9524vw, 16px);
}
.loc_ttl .md {
    display: inline-block;
    font-size: clamp(1.4rem, 1.0714vw, 18px);
}
.loc_ttl .en {
    letter-spacing: 0.2em;
    font-weight: 500;
}
.loc_distance {
    display: inline-block;
    font-size: clamp(1rem,0.7738vw,1.3rem);
    letter-spacing: 0.02em;
}
.loc_distance .num {
    font-size: 154%;
    line-height: 1;
}
.loc_distance .md {
    font-size: 123%;
    line-height: 1;
}
.loc_distance .sm { font-size: 93%;}
.loc_txt {
    font-size: clamp(1.2rem,0.83333vw,1.4rem);
    letter-spacing: 0.05em;
    line-height: 2.4;
    margin-top: 10px;
}
.loc_txt .md {
    font-size: 92%;
    line-height: 1.5;
	letter-spacing: 0.01em;
}
.loc_txt .sm {
    font-size: 86%;
    line-height: 2.1;
}
.loc_list {
	display: grid;
	grid-template-columns: 1fr 1fr 31.7%;
	gap: clamp(30px, 4.1667vw, 70px) clamp(0px, 2.0833vw, 35px);
	margin: 0 0 clamp(35px, 6.8452vw, 115px);
}
.loc_list .item { height: max-content;}
.loc_list .head_block { margin-bottom: 10px;}
.loc_list.loc_main { margin: clamp(30px, 5.0595vw, 85px) 0 clamp(35px, 2.6786vw, 45px);}
@media screen and (min-width: 768px) {
	.loc_list .item:nth-child(1) { 
		grid-area: 1/1/2/3;
		display: grid;
		align-items: flex-end;
		gap: 15px;
		grid-template-columns: 1fr 38%;
	}
	.loc_list .item:nth-child(1) .loc_img { 
		margin-left: calc(-1*((100vw - 1100px)/2) + 7px);
		margin-bottom: 0;
	}
	.loc_list .item:nth-child(2) {
		grid-row: 1 / 3;
		margin-top: auto;
		margin: auto 0 45px;		
	}
	.loc_list.loc_main .item:nth-child(1) {
		margin-top: 90px;
	}
	.loc_list.loc_main .item:nth-child(2) {
		grid-row: 1 / 2;
		margin: 0;
	}
	.loc_list .item:nth-child(3) {
		width: 65%;
		grid-area: 2/1/3/3;
		margin: 0 5% 0 auto;
	}
}
@media screen and (max-width: 1200px) {
	.loc_list .item:nth-child(1) .loc_img {
        margin-left: -5vw;
		width: calc(100% + 5vw);
    }
}
@media screen and (max-width: 767px) {
	.loc_list { grid-template-columns: 1fr;}
	.loc_list .item:nth-child(1) .loc_img { 
		margin-left: -15px;
		width: calc(100% + 15px);
	}
	.loc_list .item:nth-child(2) {
		display: grid;
		align-items: flex-end;
		grid-template-columns: 45% 1fr;
		gap: 10px;
	}
	.loc_list .item:nth-child(2) .loc_img { margin-bottom: 0;}
	.loc_list .item:nth-child(2) .loc_ttl { grid-area: 1/1/2/2;}
	.loc_list .item:nth-child(2) .loc_txt { grid-area: 2/1/3/3;}
	.mb20_sp { margin-bottom: 20px!important;}
	.loc_list.loc_main .item:nth-child(1) { order: 1;}
	.loc_list.loc_main .item:nth-child(2) {
		order: 0;
		display: block;
	}
}
.head_block { margin-bottom: clamp(30px, 3.869vw, 65px);}
.head_block .ttl_en {
	font-size: clamp(3rem, 3.4524vw, 5.8rem);
	letter-spacing: 0.06em;
	line-height: 1.2;
	margin-bottom: clamp(10px, 1.1905vw, 20px);
}
.head_block .ttl_jp {
	font-size: clamp(1.7rem, 1.4286vw, 2.4rem);
	line-height: 1.3;
	margin-bottom: clamp(15px, 2.0833vw, 35px);
}
.head_block .txt {
	font-size: clamp(1.2rem, 0.8333vw, 1.4rem);
	line-height: 2;
	letter-spacing: 0.01em;
}
/* sec_intro */
.sec_intro { padding: 0 0 clamp(60px, 12.5vw, 210px);}
.intro_img { margin-bottom: clamp(60px, 7.1429vw, 120px);}
.intro_list {
	display: grid;
	gap: clamp(20px, 2.381vw, 40px);
	grid-template-columns: 51.5% 1fr;
	grid-template-rows: auto auto auto;
}
.intro_list .item {
	position: relative;
	height: max-content;
}
.intro_list .cont {
	color: #fff;
	position: absolute;
	top: 9%;
    left: 11%;
}
.intro_list .cont .ttl {
	font-size: clamp(1.6rem, 1.1905vw, 2rem);
	letter-spacing: 0.06em;
	line-height: 1.75;
}
.intro_list .cont .txt {
	font-size: clamp(1.2rem, 1.0714vw, 1.8rem);
	line-height: 1.75;
}
.intro_list .head_block {
	margin-top: calc(-1*clamp(0px, 0.5952vw, 10px));
	margin-bottom: clamp(10px, 1.4881vw, 25px);
}
.intro_list .head_block .ttl_en {
    font-size: clamp(3rem, 2.8571vw, 4.8rem);
	margin-bottom: clamp(10px, 1.7857vw, 30px);
}
.intro_list .head_block .txt {
    font-size: clamp(1.1rem, 0.9524vw, 1.6rem);
	line-height: 2.5;
}
.intro_list .item:nth-child(5) .cont {
	top: auto;
	bottom: 18%;
}
@media screen and (min-width: 768px) {
	.intro_list .item:nth-child(2) .cont {
		top: 7%;
    	left: 21%;
	}
	.intro_list .item:nth-child(2) .img { margin-right: calc(-1*((100vw - 1170px)/2 - 7px));}
	.intro_list .item:nth-child(3) { margin-top: -33%;}
	.intro_list .item:nth-child(4) {
		max-width: 405px;
		width: 67.5%;
		grid-area: 3 / 1 / 4 / 2;
		margin: 0 -25.5% 0 auto;
	}
	.intro_list .item:nth-child(4) .cont { left: 7%;}
	.intro_list .item:nth-child(5) {
		max-width: 335px;
		width: 63.5%;
		margin: 20px auto -36% 12.5%;
	}
	.intro_list .item:nth-child(5) .cont {
		bottom: 18%;
		top: auto;
		left: 9%;
	}
}
@media screen and (min-width: 1200px) {
	.intro_list .item:nth-child(3) { margin-top: calc(-1*(clamp(120px, 19.9405vw, 335px)));}
}
@media screen and (max-width: 1200px) {
	.intro_list .item:nth-child(2) .img {  margin-right: -15px;}
}
@media screen and (max-width: 767px) {
	.intro_list { grid-template-columns: 1fr;}
	.intro_list .item:nth-child(2) .img { margin-right: 0;}
}
/* sec_shopping */
.sec_shopping {
	overflow: hidden;
	margin-bottom: clamp(60px, 6.5476vw, 110px);
}
.sec_shopping .line_y { height: 320%;}
.shopping_slider .loc_ttl { font-size: clamp(1.2rem, 0.8333vw, 1.4rem);}
.gallery { padding-bottom: 25px;}
.gallery .scroll-bars {
	display: flex;
	background: #3f3939;
	position: absolute;
	right: 0;
	bottom: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	margin: auto;
	width: 50%;
}
.gallery .scroll-bars .line {
	background: none;
	position: relative;
	top: -1px;
	left: 0;
	z-index: -1;
	height: 3px;
	transition: all 0.5s linear;
	width: calc(100% / 8);
}
.gallery .scroll-bars .line-after {
	background: #3f3939;
	top: -1px;
	left: 0;
	z-index: -1;
	height: 3px;
	transition: all 0.5s linear;
	width: calc(100% / 11);
    position: relative;
}
.gallery_shopping { margin-bottom: clamp(60px, 6.5476vw, 110px);}
.shopping_slider { margin: clamp(100px, 14.881vw, 250px) calc(-1*clamp(5px, 0.8929vw, 15px)) 0;}
.shopping_slider .item { 
	padding: 0 clamp(5px, 0.8929vw, 15px);
	cursor: pointer;
}
.shopping_slider .splide__track { overflow: visible;}
.shopping_slider .item:nth-child(even) { transform: translateY(calc(-1*(clamp(40px, 4.7619vw, 80px))));}
.shopping_slider .item:nth-child(4n+3) { transform: translateY(calc(-1*(clamp(60px, 7.4405vw, 125px))));}
.gallery_support { padding-bottom: clamp(30px, 4.4643vw, 75px);}
.support_slider { margin: 0 calc(-1*clamp(5px, 0.5952vw, 10px)) 0;}
.support_slider .item { 
	padding: 0 clamp(5px, 0.5952vw, 10px);
	cursor: pointer;
}
.shopping_block {
	background-color: #d1d8dc;
	padding: clamp(40px, 3.869vw, 65px) 0 30px;
}
.shopping_list {
	display: grid;
	grid-template-columns: 26.6% 1fr 1fr;
	gap: clamp(20px, 1.7857vw, 30px);
	max-width: 1100px;
	margin: auto;
}
.shopping_list .head_block { margin-top: clamp(0px, 1.1905vw, 20px);}
.shopping_list .head_block .ttl_en {
	font-size: clamp(3rem, 2.5vw, 4.2rem);
	margin-bottom: clamp(10px, 1.7857vw, 30px);
}
@media screen and (min-width: 768px) {
	.sec_shopping .loc_main .item:nth-child(1) {
		margin-right: -58%;
		grid-template-columns: 1fr 55.5%;
		gap: clamp(15px, 1.7857vw, 30px);
	}
	.sec_shopping .loc_main .head_block { margin-left: -45%;}
	.shopping_list .loc_img { margin-bottom: 0;}
}
@media screen and (min-width: 992px) {
	.sec_shopping .loc_main .item:nth-child(1) { grid-template-columns: 1fr 50.5%;}
	.sec_shopping .loc_main .head_block { margin-left: -34%;}
}
@media screen and (max-width: 991px) {
	.shopping_list { grid-template-columns: 35% 1fr 1fr;}
	.sec_shopping .loc_main .item:nth-child(1) { margin-top: 160px;}
}
@media screen and (max-width: 767px) {
	.gallery { padding-bottom: 30px;}
	.gallery .scroll-bars { width: 68%;}
	.shopping_slider .item:nth-child(even) { transform: translateY(-40px);}
	.shopping_slider .item:nth-child(odd) { transform: translateY(-70px);}
	.shopping_slider .item:nth-child(4n+3) { transform: initial}
	.shopping_list { grid-template-columns: 1fr;}
	.shopping_list .head_block { margin-bottom: 10px;}
	.sec_shopping .loc_main .item:nth-child(1) { margin-top: 0;}
}
/* sec_entertainment */
.sec_entertainment {
	overflow: hidden;
	padding-bottom: clamp(60px, 6.5476vw, 110px);
}
.parks_block { margin-bottom: clamp(30px, 3.5714vw, 60px);}
.parks_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px clamp(10px, 1.1905vw, 20px);
	margin-bottom: clamp(20px, 7.1429vw, 120px);
	background-color: rgba(255,255, 255, 0.3);
	padding: 180px clamp(20px, 1.7857vw, 30px) clamp(20px, 1.7857vw, 30px);
	margin-top: -190px;
    padding-top: 200px;
}
@media screen and (min-width: 768px) {
	.parks_block {
		grid-column: 1/5;
		display: grid;
		grid-template-columns: 24% 1fr;
        gap: 15px;
        align-items: flex-end;
        padding-left: clamp(0px, 4.1667vw, 70px);
	}
	.parks_block .loc_img {
		order: 1;
		margin-bottom: 0
	}
	.parks_block .group { order: 0;}
	.sec_entertainment .loc_list.loc_main .group { margin-right: -100%;}
}
@media screen and (max-width: 1500px) {
	.sec_entertainment .loc_list.loc_main .item:nth-child(1) {
		margin-top: 165px;
	}
	.parks_list {
		padding-top: 145px;
		margin-top: -155px;
	}
}
@media screen and (max-width: 1000px) {
	.sec_entertainment .loc_list.loc_main .item:nth-child(1) { margin-top: 145px;}
	.sec_entertainment .loc_list.loc_main .item:nth-child(2) { margin-left: -80%;}
}
@media screen and (max-width: 1023px) {
	.parks_block { padding-left: 0;}
}
@media screen and (max-width: 767px) {
	.parks_list { 
		grid-template-columns: repeat(2, 1fr);
		padding: 15px 15px 15px;
		margin: 0 -15px;
	}
	.sec_entertainment .loc_list.loc_main .group { margin-right: 0;}
	.sec_entertainment .loc_list.loc_main .item:nth-child(1) { margin-top: 0;}
	.sec_entertainment .loc_list.loc_main .item:nth-child(2) { margin-left: 0;}
}
/* sec_life */
.sec_life {
    background-color: #060c1b;
	padding: clamp(60px, 7.7381vw, 130px) 0 clamp(60px, 9.2262vw, 155px);
    position: relative;
}
.sec_life::before {
    content: "";
    background: url(../imgs/life_bg.png) no-repeat top center/ 100% auto;
    width: 100%;
    height: 100%;
    top: 0;
    position: absolute;
}
.sec_life .life_ttl {
	color: #f8f7f4;
	font-size: clamp(2.2rem, 1.9048vw, 3.2rem);
	letter-spacing: 0.06em;
	line-height: 1;
	margin: 0 0 clamp(40px, 4.7619vw, 80px);
	text-align: center;
}
.sec_life .life_ttl .jp {
    font-size: 50%;
    letter-spacing: 0.1em;
    margin-top: clamp(20px, 2.6786vw, 45px);
}
.sec_life .life_ttl span { display: block;}
.sec_life .life_content {
	padding: clamp(60px, 5.9524vw, 100px) clamp(60px, 5.9524vw, 100px) clamp(30px, 3.2738vw, 55px);
	background: #fff;
	margin: 65px 0 0;
    position: relative;
}
.sec_life .life_image  { margin-bottom: clamp(30px, 3.5714vw, 60px);}
@media screen and (max-width: 1200px) {
	.sec_life .life_content { padding: 35px 30px 5px;}
}
@media screen and (max-width: 767px) {
	.sec_life { padding: 50px 0 30px;}
	.sec_life .life_ttl {
		font-size: 2.2rem;
		letter-spacing: 0.1em;
		margin: 0 0 30px;
	}
	.sec_life .life_content {
		padding: 15px 15px 30px;
		margin: 30px 0 0;
	}
}
.belx-list li {
	color: #333333;
	border-bottom: 1px dotted #333333;
    letter-spacing: 0;
	padding: 5px 0;
	overflow: hidden;
}
.belx-list li dt { float: left;}
.belx-list li dd { float: right;}
.loclist_title {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
}
.belx-list-wrap .mb37 { margin-bottom: 37px;}
@media screen and (max-width:1000px) {
	.belx-list-wrap { padding: 20px 0;}
    .loclist_title {
		font-size: 1.4rem;
        letter-spacing: 0;
    }
	.belx-list li {
		font-size: 1rem;
		letter-spacing: 0;
	}
}
@media screen and (max-width:767px) {
    .belx-list-wrap {
        margin-top: 0;
        padding: 0;
    }
    .belx-list li dl { letter-spacing: 0;}
    .belx-list-wrap .mb37,
	.belx-list-wrap > .mb40 { margin-bottom: 30px;}
}