/*------------------------------------------------------------
	RESET
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure { margin: 0; padding: 0; border: 0; outline: 0; font-size: 1em; box-sizing:border-box;}
body, table, input, textarea, select, option { font-family: 'Shippori Mincho', serif; font-size: 1em; } article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary { display: block; } ol, ul { list-style: none; } blockquote, q { quotes: none; } :focus { outline: 0; } ins { text-decoration: none; } del { text-decoration: line-through; }

html{ overflow-y:scroll; }

img{ vertical-align:middle;}
img{vertical-align:middle;max-width:100%; height:auto;}
img {
    width: inherit\9;
    max-width: 100%\9;
    height: auto\9;
}

/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
font-size:3.59vw;
line-height:1.6;
color:#161616;
}

.mb0{
margin-bottom:0 !important;
}


#container{
width:100%;
overflow:hidden;
}


/*------------------------------------------------------------
	STICKY
------------------------------------------------------------*/
.sticky{
position:fixed;
width:100vw;
height:12.31vw;
bottom:0;
right:0;
z-index:999;
}
.conv-link{
display:flex;
}
.conv-link li a{
width:50vw;
height:12.31vw;
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:4.10vw;
line-height:1.2;
letter-spacing:.4em;
font-family:'Noto Sans JP', sans-serif;
}

.conv-link li:nth-child(1) a{ background:#7A6A38; }
.conv-link li:nth-child(2) a{ background:#91804B; }


/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
	KV
------------------------------------------------------------*/
#kv{
width:100%;
position:relative;
height:142.56vw;
}

.kv-slider,
.kv-slider .slick-list,
.kv-slider .slick-track,
.kv-slider .slick-slide,
.kv-slider .slick-slide > div{
height:142.56vw;
}

.kv-catch{
width:88%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
z-index:100;
}

.scroll{
position:absolute;
bottom:40px;
left:50%;
transform:translate(-50%, 0);
text-align:center;
color:#fff;
font-family:'Roboto';
font-size:10px;
line-height:2;
padding-bottom:30px;
}

.scroll::after{
content:'';
position:absolute;
left:50%;
bottom:0;
width:1px;
height:30px;
background:#fff;
transform:translateX(-50%) scaleY(0);
transform-origin:top;
animation:scrollLineMove 2s ease-in-out infinite;
}

@keyframes scrollLineMove{
0%{
transform:translateX(-50%) scaleY(0);
transform-origin:top;
}
50%{
transform:translateX(-50%) scaleY(1);
transform-origin:top;
}
50.01%{
transform-origin:bottom;
}
100%{
transform:translateX(-50%) scaleY(0);
transform-origin:bottom;
}
}

.slide01{ background:url("../img/sp-kv01.jpg") no-repeat center center; background-size:cover; }
.slide02{ background:url("../img/sp-kv02.jpg") no-repeat center center; background-size:cover; }
.slide03{ background:url("../img/sp-kv03.jpg") no-repeat center center; background-size:cover; }
.slide04{ background:url("../img/sp-kv04.jpg") no-repeat center center; background-size:cover; }


/*------------------------------------------------------------
	KV KEN BURNS
------------------------------------------------------------*/
.kv-slider .slick-slide{
transform-origin:center center;
will-change:transform;
animation-duration:8s;
animation-timing-function:ease-in-out;
animation-fill-mode:both;
animation-play-state:paused;
}

.kv-slider .slide01{ animation-name:kvZoomOut; }
.kv-slider .slide02{ animation-name:kvPanLeft; }
.kv-slider .slide03{ animation-name:kvPanRight; }
.kv-slider .slide04{ animation-name:kvZoomIn; }

.kv-slider .kv-run{
animation-play-state:running;
}

@keyframes kvZoomOut{
0%{ transform:scale(1.1); }
100%{ transform:scale(1); }
}

@keyframes kvPanLeft{
0%{ transform:scale(1.15) translateX(2%); }
100%{ transform:scale(1.15) translateX(-2%); }
}

@keyframes kvPanRight{
0%{ transform:scale(1.15) translateX(-2%); }
100%{ transform:scale(1.15) translateX(2%); }
}

@keyframes kvZoomIn{
0%{ transform:scale(1); }
100%{ transform:scale(1.15); }
}


/*------------------------------------------------------------
	PHOTO ZOOM IN (scroll trigger)
------------------------------------------------------------*/
.concept-photos li,
.spot-photo,
.i4r-bgimgs li,
.area-map{
overflow:hidden;
position:relative;
}

.js-zoomin{
animation-name:zoomInReveal;
animation-duration:3s;
animation-timing-function:ease-out;
animation-fill-mode:both;
animation-play-state:paused;
}

.js-zoomin.is-inview{
animation-play-state:running;
}

@keyframes zoomInReveal{
0%{ transform:scale(1.5); }
100%{ transform:scale(1); }
}

.concept-photos li:nth-child(1) .js-zoomin,
.spot-photos-col2 li:nth-child(1) .js-zoomin,
.spot-photos-col3 li:nth-child(1) .js-zoomin,
.i4r-bgimgs li:nth-child(1) .js-zoomin{
animation-delay:0s;
}

.concept-photos li:nth-child(2) .js-zoomin,
.spot-photos-col2 li:nth-child(2) .js-zoomin,
.spot-photos-col3 li:nth-child(2) .js-zoomin,
.i4r-bgimgs li:nth-child(2) .js-zoomin{
animation-delay:.15s;
}

.concept-photos li:nth-child(3) .js-zoomin,
.spot-photos-col2 li:nth-child(3) .js-zoomin,
.spot-photos-col3 li:nth-child(3) .js-zoomin,
.i4r-bgimgs li:nth-child(3) .js-zoomin{
animation-delay:.3s;
}

.concept-photos li:nth-child(4) .js-zoomin,
.spot-photos-col2 li:nth-child(4) .js-zoomin{
animation-delay:.45s;
}

.concept-photos li:nth-child(5) .js-zoomin{
animation-delay:.6s;
}


.i-cap{
font-size:2.5vw;
line-height:1;
color:#fff;
position:absolute;
bottom:1.5vw;
right:1.5vw;
text-shadow:0 0 3vw #000;
font-family:'Shippori Mincho', serif;
}


/*------------------------------------------------------------
	CONTENTS
------------------------------------------------------------*/
#index1{
width:100%;
background:#fff;
padding:25.64vw 0;
}
#index1 h2{
color:#7A6A38;
font-family:'Roboto';
letter-spacing:.4em;
padding-left:.4em;
font-size:4.62vw;
font-weight:400;
line-height:1;
text-align:center;
margin:0 0 15.38vw;
}
#index1 h2 span{
display:block;
font-size:3.08vw;
font-family:'Shippori Mincho';
font-weight:400;
margin:3.33vw 0 0;
letter-spacing:0.1em;
}

.i1-col{
width:87.18vw;
margin:0 auto;
display:flex;
flex-direction:column;
gap:6.15vw;
}
.i1L{
width:87.18vw;
}
h3.i1md-en{
font-size:6.15vw;
font-weight:normal;
line-height:1.6;
margin:0 0 5.38vw;
letter-spacing:.1em;
text-align:center;
}
h3.i1md{
font-size:6.15vw;
line-height:1.6;
margin:0 0 10.26vw;
letter-spacing:.1em;
font-weight:normal;
text-align:center;
}

.i1desc p{
letter-spacing:.04em;
margin-bottom:1em;
}
.i1desc p:last-child{
margin:0;
}

.i1R{
width:87.18vw;
}

.concept-photos{
display:flex;
flex-wrap:wrap;
gap:2.05vw;
}
.concept-photos li{
width:42.56vw;
}
.concept-photos li:nth-child(1){
width:87.18vw;
}




#index2{
background:#EAEAE3;
padding:25.64vw 0;
}
.i2wrapper{
width:100%;
margin:0 auto;
}
#index2 h2{
color:#7A6A38;
font-family:'Roboto';
letter-spacing:.4em;
padding-left:.4em;
font-size:4.62vw;
font-weight:400;
line-height:1;
text-align:center;
margin:0 0 15.38vw;
}
#index2 h2 span{
display:block;
font-size:3.08vw;
font-family:'Shippori Mincho';
font-weight:400;
margin:3.33vw 0 0;
letter-spacing:0.1em;
}

#index2 h3{
text-align:center;
font-size:5.13vw;
line-height:1.6;
margin:0 0 4.10vw;
font-weight:400;
letter-spacing:0.1em;
}


.i2desc{
width:87.18vw;
margin:0 auto 10.26vw;
text-align:center;
letter-spacing:.04em;
}

.i2video{
width:87.18vw;
margin:0 auto;
position:relative;
overflow:hidden;
}

/*------------------------------------------------------------
	I2 SLIDER (center mode)
------------------------------------------------------------*/
.i2slider{
display:flex;
flex-direction:column;
gap:6.15vw;
margin:0 0 10.26vw;
}

.i2slider .slick-list{
overflow:hidden;
}

.i2slider .slick-slide{
position:relative;
margin:0 1.33vw;
}

.i2slider .slick-slide > div{
width:83vw;
height:50vw;
}

.i2slider .slick-slide img{
width:100%;
height:100%;
object-fit:cover;
display:block;
position:relative;
}

.i2slider .slick-dots{
position:static;
}

.i2slider .slick-dots li{
width:2.05vw;
height:2.05vw;
margin:0 1.54vw;
}

.i2slider .slick-dots li button{
width:2.05vw;
height:2.05vw;
padding:0;
border-radius:50%;
background:#7A6A38;
opacity:.3;
}

.i2slider .slick-dots li button:before{
content:none;
}

.i2slider .slick-dots li.slick-active button{
opacity:1;
}



/*------------------------------------------------------------
	INDEX3-
------------------------------------------------------------*/

#index3{
background:#657470;
padding:25.64vw 0;
}
.i3wrapper{
width:87.18vw;
margin:0 auto;
}

#index3 h2{
color:#fff;
font-family:'Roboto';
letter-spacing:.4em;
padding-left:.4em;
font-size:4.62vw;
font-weight:400;
line-height:1;
text-align:center;
margin:0 0 15.38vw;
}
#index3 h2 span{
display:block;
font-size:3.08vw;
font-family:'Shippori Mincho';
font-weight:400;
margin:3.33vw 0 0;
letter-spacing:0.1em;
}

#index3 h3{
text-align:center;
font-size:6vw;
line-height:1.6;
margin:0 0 4.10vw;
font-weight:400;
letter-spacing:0.1em;
color:#fff;
}

.i3desc{
text-align:center;
color:#fff;
margin:0 0 10.26vw;
letter-spacing:.04em;
}



.i3spot{
width:100%;
padding:10.26vw 5.13vw 12.31vw;
background:#EAEAE3;
margin:0 0 10.26vw;
}

.spot-ttl{
font-size:10.26vw;
line-height:1.6;
letter-spacing:.1em;
font-family:'Italianno', cursive;
display:flex;
justify-content:center;
gap:4.10vw;
align-items:center;
padding-bottom:4.10vw;
border-bottom:0.26vw solid #161616;
margin:0 0 4.10vw;
}
.spot-ttl span{
font-size:3.08vw;
font-family:'Shippori Mincho', serif;
}
.spot-desc{
text-align:center;
margin:0 0 6.15vw;
letter-spacing:.04em;
}

.spot-photos-col2{
width:76.92vw;
margin:0 auto !important;
display:flex;
flex-wrap:wrap;
gap:4.10vw;
}

.spot-photos-col2 li{
width:76.92vw;
font-family:'Noto Sans JP';
text-align:center;
letter-spacing:.04em;
font-size:4.10vw;
line-height:1.6;
}
.spot-photo{
margin:0 0 2.05vw;
}
.spot-name{
}
.spot-access{
color:#77776D;
}

.spot-photos-col3{
width:76.92vw;
margin:0 auto !important;
display:flex;
flex-wrap:wrap;
gap:4.10vw;
}
.spot-photos-col3 li{
width:76.92vw;
font-family:'Noto Sans JP';
text-align:center;
font-size:4.10vw;
line-height:1.6;
letter-spacing:.04em;
}



.i3-cap{
text-align:center;
color:#fff;
margin:6.4vw auto 0;
font-size:3.08vw;
}



#index4{
padding:25.64vw 0;
position:relative;
}

.i4-wrap{
width:87.18vw;
margin:0 auto;
}

#index4 h2{
color:#7A6A38;
font-family:'Roboto';
letter-spacing:.4em;
padding-left:.4em;
font-size:4.62vw;
font-weight:400;
line-height:1;
text-align:center;
margin:0 0 24.36vw;
}
#index4 h2 span{
display:block;
font-size:3.08vw;
font-family:'Shippori Mincho';
font-weight:400;
margin:3.33vw 0 0;
letter-spacing:0.1em;
}

#index4 h3{
text-align:center;
font-size:6.15vw;
line-height:1.6;
font-weight:400;
letter-spacing:0.1em;
margin:0 0 4.10vw;
}


#index4 h4{
text-align:center;
font-size:4.10vw;
line-height:1.6;
letter-spacing:.04em;
margin:0 0 10.26vw;
}

.intv{
border-top:0.26vw solid #C9C8C3;
border-bottom:0.26vw solid #C9C8C3;
margin:0 0;
padding:8.21vw 0;
font-size:3.59vw;
line-height:1.6;
letter-spacing:.04em;
}
.intv p{
margin-bottom:1em;
}
.intv p:last-child{
margin:0;
}
.i4ill01{
width:73.08vw;
height:54.62vw;
background:url(../img/i4ill01.png) no-repeat;
background-size:73.08vw;
position:absolute;
top:30.77vw;
left:calc(50% - 12.31vw);
z-index:-1;
}
.i4ill02{
width:37.69vw;
height:83.33vw;
background:url(../img/i4ill02.png) no-repeat;
background-size:37.69vw;
position:absolute;
top:69.23vw;
left:0;
z-index:-1;
}




#index5{
background:#6D6D76;
color:#fff;
padding:100px 0;
}
.i5wrapper{
width:100%;
margin:0 auto !important;
}



#index5 h2{
color:#fff;
font-family:'Roboto';
letter-spacing:.4em;
padding-left:.4em;
font-size:4.62vw;
font-weight:400;
line-height:1;
text-align:center;
width:87.18vw;
margin:0 auto 15.38vw;
}
#index5 h2 span{
display:block;
font-size:3.08vw;
font-family:'Shippori Mincho';
font-weight:400;
margin:3.33vw 0 0;
letter-spacing:0.1em;
}

#index5 h3{
text-align:center;
font-size:6.15vw;
line-height:1.6;
font-weight:400;
letter-spacing:0.1em;
width:87.18vw;
margin:0 auto 6.15vw;
color:#fff;
}

.movie{
width:100%;
height:56.41vw;
background:#585858;
margin:0 0 6.15vw;
position:relative;
overflow:hidden;
}

.movie iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
display:block;
}


.mov-desc{
letter-spacing:.04em;
color:#fff;
text-align:center;
width:87.18vw;
margin:0 auto;
}




#index6{
background:#EAEAE3;
padding:25.64vw 0;
}


#index6 h2{
color:#7A6A38;
font-family:'Roboto';
letter-spacing:.4em;
padding-left:.4em;
font-size:4.62vw;
font-weight:400;
line-height:1;
text-align:center;
margin:0 0 15.38vw;
}
#index6 h2 span{
display:block;
font-size:3.08vw;
font-family:'Shippori Mincho';
font-weight:400;
margin:3.33vw 0 0;
letter-spacing:0.1em;
}

#index6 h3{
text-align:center;
font-size:6.15vw;
line-height:1.6;
font-weight:400;
letter-spacing:0.1em;
margin:0 0 6.15vw;
}

.i6wrapper{
width:87.18vw;
margin:0 auto !important;
}


.area-map{
margin:0 0 9.6vw;
}


.ggmap-link{
text-align:center;
}

.ggmap-link a{
width:100%;
padding:3vw 11vw 3vw 8vw;
border:1px solid #999;
color:#131313;
text-align:center;
border-radius:10vw;
position:relative;
font-family:'Noto Sans JP';
letter-spacing:.06em;
font-size:3.08vw;
}
.ggmap-link a::after{
content:'';
width:2vw;
height:2vw;
border-right:1px solid #666;
border-bottom:1px solid #666;
position:absolute;
top:calc(50% - 1vw);
right:3.5vw;
transform:rotate(-45deg);
}



.acc-ttl{
font-size:3.08vw;
font-family:'Roboto',sans-serif;
color:#7A6A38;
display:flex;
gap:1.67vw;
margin:0 0 4.10vw;
align-items:center;
letter-spacing:.1em;
}
.acc-ttl span{
font-size:5.13vw;
font-family:'Shippori Mincho',serif;
color:#161616;
}
.acc-ttl::after{
content:'';
flex:1;
border-top:0.26vw solid #C9C5B8;
}

.tb-route{
margin:0 0 10.26vw;
}

.acc-pat-bus{
display:flex;
gap:2.05vw;
flex-wrap:wrap;
margin:0 0 10.26vw !important;
}
.acc-pat-bus li{
background:#fff;
width:87.18vw;
height:23.08vw;
display:flex;
justify-content:space-between;
padding:5.13vw 4.10vw 5.13vw 18.97vw;
align-items:center;
position:relative;
}
.acc-pat-bus li::before{
content:'';
width:12.82vw;
height:12.82vw;
background:#E7E3D8 url(../img/icon-train.svg) no-repeat center center;
background-size:4.76vw;
border-radius:50%;
position:absolute;
top:5.13vw;
left:4.10vw;
}

.acc-name{
font-size:4.10vw;
line-height:1;
display:flex;
flex-direction:column;
gap:4.36vw;
letter-spacing:.1em;
}

.acc-name span{
display:block;
font-size:3.08vw;
font-family:'Roboto',sans-serif;
color:#77776D;
}

.acc-time{
font-size:6.15vw;
line-height:1;
text-align:right;
}
.acc-time span.unit{
font-size:3.59vw;
}
.acc-time span.type{
display:block;
font-size:2.56vw;
line-height:1;
margin-top:2.31vw;
color:#77776D;
font-family:'Noto Sans JP', sans-serif;
}



.acc-pat-car{
display:flex;
gap:2.05vw;
flex-wrap:wrap;
margin:0 0 10.26vw !important;
}
.acc-pat-car li{
background:#fff;
width:87.18vw;
height:23.08vw;
display:flex;
justify-content:space-between;
padding:5.13vw 4.10vw 5.13vw 18.97vw;
align-items:center;
position:relative;
}
.acc-pat-car li::before{
content:'';
width:12.82vw;
height:12.82vw;
background:#E7E3D8 url(../img/icon-car.svg) no-repeat center center;
background-size:5.13vw;
border-radius:50%;
position:absolute;
top:5.13vw;
left:4.10vw;
}


.kuka-bnr{
padding:10.26vw 0;
width:87.18vw;
margin:0 auto !important;
}

