@charset "utf-8";
/* CSS Document */

.sp-only {
    display: none;
}


@media screen and (max-width: 767px) {
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
}




/* ---------------------------------
kv
----------------------------------*/
.kv {
    overflow: hidden;
    position: relative;
    border-bottom: 8px solid #D5BE8B;
}

@media screen and (max-width: 767px) {
    .kv {
        margin: 0;
    }

    .about__title {
        text-align: right;
        margin-right: 19.9vw;
        margin-bottom: 4.8vw;
    }

    .about__title img {
        width: 40%;
    }
}
/* =========================================== */
/*	slider
/* =========================================== */
.swiper-container {
    position: relative;
    width: 100%;
    height: 78vh;
}
.swiper-wrapper {
    position: absolute;
    top: 0;
    right: 0;
}

.swiper-slide {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.slide-img__img {
    display: block;
    margin: 0 auto;
    align-self: center;
    height: 86vh;
    width: 100vw;
    object-fit: cover;
}

.slide-img__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    max-width: 600px;
    padding: 0 20px;
    transform-origin: 50% 50%;
}

.slider-btn__wrapper {
    position: relative;
    z-index: 2;
    bottom: 60px;
    right: 0;
    max-width: 1080px;
    padding: 0 40px;
    margin: 0 auto;
    text-align: right;
}

.slider-btn__link {
    background-color: #fff;
    display: inline-block;
    padding: 14px 20px 12px;
    min-width: 200px;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 25px;
    text-align: center;
    cursor: pointer;
}

@media screen and (max-width: 767px) {
    .swiper-container {
        height: 40vh;
    }

    .slide-img__img {
        height: 46vh;
    }

    .slide-img__text {
        width: 100%;
    }

    .slider-btn__wrapper {
        bottom: 30px;
        right: -10px;
    }
    .slider-btn__link {
        padding: 0px;
        min-width: 105px;
        width:20%;
        
    }
    .slider-btn__link img {
        width:70%;
    }

}

@keyframes zoomDown {
    0% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes FadeInZoomDown {
    0% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

.swiper-slide-active .slide-img__img,
.swiper-slide-duplicate-active .slide-img__img,
.swiper-slide-prev .slide-img__img{
    animation: zoomDown 10s linear 0s 1 normal both;  
    transform-origin: 50% 50%;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.swiper-slide-active .slide-img__text,
.swiper-slide-duplicate-active .slide-img__text,
.swiper-slide-prev .slide-img__text{
    animation: FadeInZoomDown 8s linear 1s 1 normal both;
    will-change: opacity;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;  
}


/* btn */


.mv__images{position:absolute;width:100%;height:100%}
.mv__image{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;filter:brightness(200%);opacity:0;transition:opacity 2s,filter 2s;will-change:filter}.mv__image img{width:100%;height:100%;transition:transform .1s linear 2s;transform:scale(1.1);-o-object-fit:cover;object-fit:cover}
.mv__image.is-current{filter:brightness(100%);opacity:1;transition:opacity 2s,filter 1.7s .3s}
.mv__image.is-current img{transition:transform 5s cubic-bezier(.215,.61,.355,1);transform:scale(1)}



/* =========================================== */
/*	scroll down
/* =========================================== */
.scrolling {
    width: 16px;
    height: 220px;
    background: url(../images/scroll-down.svg) no-repeat center top/contain;
    position: absolute;
    bottom: 118px;
    left: 48px;
    z-index: 2;
}

.scrolling::after {
    content: '';
    display: block;
    width: 1px;
    position: absolute;
    top: 114px;
    bottom: 0;
    left: 34%;
    background-color: #fff;
    transform-origin: center top;
    animation: scrolldown 3s infinite;
}

@media screen and (max-width: 767px) {
    .scrolling {
        display: none;
    }
}

@keyframes scrolldown {
    0% {
        transform: scaleY(0);
        opacity: 1;
    }
    30% {
        transform: scaleY(1);
        opacity: 1;
    }
    90% {
        transform: scaleY(1);
        opacity: 1;
    }
    100% {
        transform: scaleY(1);
        opacity: 0;
    }
}

/* =========================================== */
/*	about
/* =========================================== */
.about {
    background: url(../images/about-bg3.jpg), url(../images/about-bg.png);
    background-position: right bottom 192px, center bottom;
    background-size: 50%, cover;
    background-repeat: no-repeat, no-repeat;
}

.inner_about {
    background: url(../images/about-bg2.jpg) no-repeat left 53%/25%;
    padding: 42px 0 868px;
}

.about .basha_wrap {
    margin-bottom: 20px;
    padding-top: 40px;
    height: 124px;
}

.about .d-flex {
    justify-content: center;
}

.about__description {
    font-size: 18px;
    font-weight: 700;
    line-height: 2.8;
    margin-left: 93px;
}

.about__description .more__link {
    padding-right: 100px;
    margin-top: 24px;
}



@media screen and (max-width: 767px) {
    .about {
        background: url(../images/about-bg5_sp.jpg), url(../images/about-bg3.jpg), url(../images/about-bg.png);
        background-position: left bottom, left -8vw top 188vw, center bottom;
        background-size: 70%, 100%, cover;
        background-repeat: no-repeat, no-repeat, no-repeat;
    }

    .inner_about {
        background: url(../images/about-bg2.jpg) no-repeat top 80% right 21%/35%;
        padding: 16vw 0 213vw;
        max-width: none;
    }
    .about .d-flex {
        flex-direction: column;
    }

    .about__description {
        margin-left: 6.2vw;
        font-size: 3.4vw;
    }

    .about__description .more__link {
        padding-right: 8.2vw;
        margin-top: 2.4vw;
    }
}
/* =========================================== */
/*	news
/* =========================================== */

.news {
    padding: 63px 0;
}

.inner_news {
    max-width: 740px;
}

.news .h2_serif {
    margin-bottom: 24px;
}

.news__block {
    margin-bottom: 60px;
}

.news__block dt,
.news__block dd {
    border-bottom: 1px solid #c5c5c5;
    font-size: 14px;
    padding: 1.2em 0.5em 1.2em 1.2em;
    line-height: 1.6;
}

.news__block dt:first-of-type,  
.news__block dd:first-of-type  {
    border-top: 1px solid #C5C5C5;
}

.news__block dt {
    font-family: futura-pt, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", sans-serif;
    font-weight: normal;
    letter-spacing: 0.1em;
    width: 27%;
}

.news__block dd {
    width: 73%;
}

@media screen and (max-width: 767px) {
    .news {
        padding: 20vw 0;
    }

    .news .h2_serif {
        margin-bottom: 3vw;
    }

    .news__block {
        margin-bottom: 6vw;
        flex-direction: column;
    }

    .news__block dt, 
    .news__block dd {
        width: 100%;
        padding: 0.2em 0.5em 1.2em 1.2em;
    }

    .news__block dt {
        border-bottom: none;
        padding: 1.2em 0.5em .2em 1.2em;
    }

    .news__block dd {
        padding: .2em 0.5em 1.2em 1.2em;
    }

    .news__block dd:first-of-type  {
        border-top: none;
    }
    
}

/* =========================================== */
/*	information
/* =========================================== */

.information {
    padding: 52px 0 82px;
}

.inner_information {
    max-width: 810px;
    padding: 0 30px;
}

.information .h2_serif {
    margin-bottom: 51px;
}

.information__text {
    font-size: 19px;
    margin-bottom: 24px;
    text-align: center;
    letter-spacing: .1em;
    line-height: 2;
}

@media screen and (max-width: 767px) {
    .information {
        padding: 10px 0 10vw;
    }
    
    .information .h2_serif {
        margin-bottom: 6vw;
    }
    
    .information__text {
        font-size: 3.8vw;
        margin-bottom: 7vw;
        text-align: left;
    }
}

/* =========================================== */
/*	access
/* =========================================== */

.access {
    background: url("../images/access-bg.jpg") no-repeat top/auto;
    position: relative;
    overflow: hidden;
}

.inner_access {
    padding: 118px 0 50px;
    max-width: 670px;
}

.access .h2_serif {
    margin-right: 65px;
}

.access__name {
    margin-bottom: 28px;
}

.access__detail {
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
    padding: 30px 0;
    margin-bottom: 82px;
}

.access__content-title, .access__content-text {
    display: inline-block;
}

.access__content-title {
    vertical-align: top;
    margin-right: 70px;
    font-weight: 700;
}

.access__content-text {
    line-height: 2;
}

.map {
    margin-bottom: 22px;
}

.animation {
    position: absolute;
    bottom: -20px;
    left: -280px;
    -webkit-animation: move 120s 1;
    animation: move 120s 1;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
}

@keyframes move {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(122vw);
    }
}

@media screen and (max-width: 767px) {
    .inner_access {
        padding: 11vw 15px 29vw;
    }
    
    .access .d-flex {
        flex-direction: column;
    }

    .access .h2_serif {
        margin-right: 0;
        margin-bottom: 14vw;
    }
    
    .access__name {
        margin-bottom: 5.3vw;
    }
    
    .access__detail {
        padding: 5.3vw 0;
        margin-bottom: 12vw;
    }
    
    .access__content-title {
        margin-right: 10vw;
    }
    
    .map {
        margin-bottom: 9vw;
    }

    .animation {
        -webkit-animation: move 60s 1;
        animation: move 90s 1;
        animation-fill-mode: forwards;
        animation-iteration-count: infinite;
        left: -55vw;
    }

    .animation img {
        width: 70%;
    }

    @keyframes move {
        0% {
            transform: translateX(0);
        }
        100% {
            transform: translateX(166vw);
        }
    }
    
}

/* =========================================== */
/*	馬車
/* =========================================== */
.basha_wrap {
    background: url(../images/access-bg.jpg) no-repeat top/auto;
}

.about .basha_wrap {
    background: none;
}