/* ===== commons ===== */
:root {
    --inner-width: 1270px;
}

*{
    box-sizing: border-box;
}

body{ 
    font-family: 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
}

p{
    line-height: 1.5;
}

.pc{display: block;}
.sp{display: none;}
@media screen and (max-width: 650px) {
    .pc{display: none;}
    .sp{display: block;}
}

/* ===== mv ===== */

.mv{
    position:relative;
    overflow: hidden;
}
@media screen and (max-width: 650px) {
    .mv{
        display: flex;
        flex-direction: column;
        align-items: center;
        overflow: hidden;
    }
}

.mv img{
    width:100%;
    height:auto;
    vertical-align: bottom;
}

.mv h1 img{
    min-width:350px;
}

@media screen and (max-width: 650px) {
    .mv img.mv_back{
        width:200%;
        object-fit: cover;
    }
}

.mv h1{
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

/* ===== nav ===== */

nav{
    width:100%;
    background-color:#fbe088;
    padding-bottom:20px;
    padding-top:20px;
}

nav ul{
    width:100%;
    max-width:var(--inner-width);
    margin:0 auto 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}

nav ul li{
    background-color:#000;
    border-radius: 10px;
    width:calc(90% / 6);
    opacity:0;
}

@media screen and (max-width: 1068px) {
    nav ul li{
        width:calc(95% / 2);
        margin-bottom:20px;
    }
    nav ul::after{
        content:"";
        display: block;
        width:calc(95% / 2);
      }
}

@media screen and (max-width: 650px) {
    nav ul{
        padding:40px 0 0;
    }
    nav ul li{
        width:80%;
        margin:0 auto 12px;
    }
}

nav ul li:first-child{
    background-color:#52a7de;
    border-bottom: 8px solid #337fb1;
}

nav ul li:nth-child(2){
    background-color:#f28e38;
    border-bottom: 8px solid #c86e20;
    animation-delay: .4s;
}

nav ul li:nth-child(3){
    background-color:#63c0b5;
    border-bottom: 8px solid #3c958a;
    animation-delay: .6s;
}

nav ul li:nth-child(4){
    background-color:#3d8f85;
    border-bottom: 8px solid #1c6159;
    animation-delay: .8s;
}

nav ul li:nth-child(5){
    background-color:#ed7a81;
    border-bottom: 8px solid #c6474f;
    animation-delay: 1s;
}

nav ul li:nth-child(6){
    background-color:#5cc16b;
    border-bottom: 8px solid #3ca44c;
    animation-delay: 1.2s;
}

nav ul li a{
    display:inline-block;
    width:100%;
    padding:30px 0;
    text-align: center;
    color:#fff;
    text-decoration: none;
}

nav ul li:hover {
    margin-top: 8px;
    border-bottom: 0;
}



/* ===== section.place ===== */
section.place{
    padding:40px;
}

@media screen and (max-width: 650px) {
    section.place{
        padding:20px;
    }
}

section#np{
    background-color:#52a7de;
}
section#yuzawa{
    background-color:#f28e38;
}
section#m-uonuma{
    background-color:#63c0b5;
}
section#uonuma{
    background-color:#3d8f85;
}
section#minakami{
    background-color:#ed7a81;
}
section#numata{
    background-color:#5cc16b;
}

section.place h2{
    text-align: center;
    font-size:clamp(18px, 2.8vw, 50px);
    position: relative;
    margin-bottom:40px;
    color:#fff;
}

@media screen and (max-width: 650px) {
    section.place h2{
        margin-bottom:20px;
    }  
}

section.place h2 span{
    position: relative;
    display: block;
    white-space: nowrap;
}
section.place h2 span img{
    width: 100%;
    max-width: 800px;
}

section.place .inner{
    width:100%;
    max-width:var(--inner-width);
    margin:0 auto;
    border-radius: 20px;
    background-color: #fff;
    padding:40px;
    margin-bottom:40px;
}

section.place .inner:last-of-type{
    margin-bottom:0;
}

section.place .inner h3{
    font-size:24px;
    margin-bottom:20px;
}

section.place .inner .info{
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
}
section .inner .btn{
    background-color:#000;
    border-radius: 10px;
    margin: 20px auto 0;
}
section .inner .btn a{
    display:inline-block;
    width:100%;
    padding:20px 30px;
    text-align: center;
    color:#fff;
    text-decoration: none;
    white-space: pre;
}
section .inner .btn:hover{
    margin-top: 28px;
    border-bottom: 0!important;
}
section#np .inner .btn{
    background-color:#52a7de;
    border-bottom: 8px solid #337fb1;
}
section#yuzawa .inner .btn{
    background-color:#f28e38;
    border-bottom: 8px solid #c86e20;
    animation-delay: .4s;
}
section#m-uonuma .inner .btn{
    background-color:#63c0b5;
    border-bottom: 8px solid #3c958a;
    animation-delay: .6s;
}
section#uonuma .inner .btn{
    background-color:#3d8f85;
    border-bottom: 8px solid #1c6159;
    animation-delay: .6s;
}
section#minakami .inner .btn{
    background-color:#ed7a81;
    border-bottom: 8px solid #c6474f;
    animation-delay: .8s;
}
section#numata .inner .btn{
    background-color:#5cc16b;
    border-bottom: 8px solid #3ca44c;
    animation-delay: 1s;
}
section .inner h4{
    font-size:20px;
    margin:0 auto 10px;
}
section .inner div.ac{
    width: 100%!important;
    margin-top: 20px;
    padding: 20px 0;
}
@media screen and (max-width: 650px) {
    section.place .inner .info{
        display:block;
    }
}

section.place .inner .info div:not(.splide__track){
    width:calc(100%/2 - 20px);
}
@media screen and (max-width: 650px) {
    section.place .inner .info div{
        width:100%;
    }
}

section.place .inner .info .photo{
    overflow: hidden;
}
@media screen and (max-width: 650px) {
    section.place .inner .info .photo{
        margin-bottom:20px;
    }
    section.place .inner .info div:not(.splide__track){
        width: 100%!important;
    }
}

section.place .inner .info .photo img{
    width:100%;
    height: fit-content;
    border-radius: 20px;
    object-fit: cover;
    height: 100%;
}

/* ===== footer ==== */
footer{
    background: #a9d06b;
    width: 100%;
    box-sizing: border-box;
    color: #FFF;
    padding: 0;
    padding-top: 50px;
}

footer .wrap {
    width: 100%;
    margin: auto;
    text-align: center;
    padding-bottom: 40px;
}

/* animation */
.inner{
    opacity: 0;
}
.fadeIn{
    animation-name:fadeInAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
}
    
@keyframes fadeInAnime{
    from{
        opacity: 0;
    }
    
    to{
        opacity: 1;
    }
}

.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
}
    
@keyframes fadeUpAnime{
    from{
        opacity: 0;
        transform: translateY(100px);
    }
    
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/* slide */
.splide__slide img {
    width: 100%;
    height: auto;
}
.splide__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.splide__arrow{
    top: 42%!important;
}
section .inner .info .photo,.splide__track{
    height: 100%;
}
.thumbnails {
    display: flex;
    margin: 1rem auto 0;
    padding: 0;
    justify-content: center;
}
.thumbnail {
    width: 70px;
    height: 70px;
    overflow: hidden;
    list-style: none;
    margin: 0 0.2rem;
    cursor: pointer;
}
.thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 10px!important;
    filter: brightness(.5);
    transition:ease .3s
}
.thumbnail.is-active img{
    filter: brightness(1);
    transition:ease .3s
}

/* map */
.map{
    width:100%;
    background-color: #FBE088;
    margin: auto;
}
.map_inner{
    max-width:1000px;
    margin:0 auto;
    height: fit-content;
    opacity: 0;
    width: 100%;
}
svg,object{
    width:100%;
}
svg a{
    transition:ease .2s;
}
svg a:hover{
    opacity:.7;
    transition:ease .2s;
}
/* tablet slide */
@media screen and (max-width: 768px) {
    .splide__arrow{
        top: 35%!important;
    }
}
/* sp slide and map */
@media screen and (max-width: 650px) {
    .splide__arrow{
        top: 36%!important;
    }
    section.place .inner{
        padding: 35px 20px 20px!important;
    }
    .splide__arrow--next{
        right:.5em!important;
    }
    .splide__arrow--prev{
        left:.5em!important;
    }
    nav{
        padding-bottom: 0!important;
    }
    nav ul{
        margin: 0 auto!important;
    }
}