@charset "UTF-8";

a{
    color: inherit;
    text-decoration: unset;
}

@font-face {
	font-family: 'Noto Serif jp';
	src: url(../fonts/NotoSerifJP-Medium.ttf);
}

body{
    background-color: #F7F7F7;
}

main{
    /* max-width: 1440px; */
    margin: 0 auto;
    position: relative;
    color: #242424;
    padding-top: 37px;
    padding-bottom: 60px;
}

img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.tikaiti{
    width: 136px;
    position: absolute;
    right: 24px;
    top: 24px;
}

.offhover{
    position: absolute;
    opacity: 1;
}

.onhover{
    position: absolute;
    left: 0;
    opacity: 0;
    transition: 0.4s;
}

.tikaiti.pc_only768:hover .onhover{
    opacity: 1;
    transition: 0.4s;
}

body{
    font-family: "noto-sans-cjk-jp", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.top-info{
    font-family: "montserrat", sans-serif;
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.1em;
}

.top-info span{
    border-left: 1px solid #E0E0E0;
}

.fv{
    margin-top: 50px;
    position: relative;
}

.fv__video{
    text-align: center;
}

.fv__main{
    position: absolute;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.fv__main--logo{
    width: 140px;
}

.fv__main--nav{
    margin-top: 220px;
}

.fv__main--item{
    list-style: none;
    font-weight: 400;
    font-size: 14px;
    line-height: 2.5;
    transition: 0.4s;
}

.fv__main--item a{
    transition: 0.4s;
    color: inherit;
    text-decoration: unset;
}

.fv__main--item a:hover{
    opacity: 0.6;
    transition: 0.4s;
}

.fv__main--right{
    position: relative;
    font-family: "montserrat", sans-serif;
    font-size: 12px;
    color: #CCCCCC;
    letter-spacing: 0.1em;
}

.fv__main--right::after{
    content: "";
    position: absolute;
    height: 140px;
    width: 1px;
    background-color: #CCCCCC;
    right: -12px;
}

@keyframes ijDDGz{0%{transform: translate3d(0px, -100%, 0px);}to{transform: translate3d(0px, 100%, 0px);}}

.fv__main--right::before{
    content: "";
    position: absolute;
    height: 140px;
    width: 1px;
    background-color: #F7F7F7;
    right: -12px;
    z-index: 1;
    animation: 2.5s cubic-bezier(0.39, 0.575, 0.565, 1) 0s infinite normal none running ijDDGz;
}

.introduce{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    margin-top: 335px;
}

.introduce__block{
    display: flex;
    gap: 64px;
    margin-top: 64px;
    max-width: 1090px;
}

.introduce__block.right{
    margin: 64px 0 0 auto;
}

.introduce__block.cross{
    margin-top: -200px;
}

.introduce__block.witdh_980{
    max-width: 980px;
    margin: 0 auto;
    margin-top: 64px;
}

.introduce__block.witdh_980.cross{
    margin-top: -100px;
}

.introduce__block--left{
    width: 59%;
}

.introduce__block--left.cross{
    margin-top: 250px;
}

.introduce__block--left.right{
    margin-right: 8.3vw;
}

.introduce__txt,.introduce__title{
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    font-family: 'Noto Serif jp', sans-serif;
    letter-spacing: 0.2em;
    font-weight: 500;
    white-space: nowrap;
}

.introduce__txt{
    font-size: 18px;
    margin-top: 64px;
    line-height: 2;
}

.introduce__block--img.taxt-right{
    margin: -128px 0 0 auto;
}

.introduce__block--img.bottom{
    margin-top: 64px;
}

.introduce__txt.right{
    margin: 64px 0 0 auto;
}

.introduce__txt.left{
    margin: 64px 0 0 110px;
}

.introduce__txt.eright{
    margin: 214px 110px 0 auto;
}

.introduce__txt.toptxt{
    margin-top: 0;
    margin-bottom: 64px;
}

.introduce__txt.center{
    margin: 64px auto 0 auto;
}

.introduce__title{
    font-size: 40px;
    margin-top: -150px;
    letter-spacing: 0.5em;
}

.introduce__block--right{
    width: 41%;
}

.introduce__block.witdh_980 .introduce__block--right{
    width: 50.1%;
}

.introduce__block--right-top{
    display: flex;
    justify-content: space-between;
}

.banner{
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
    margin-top: 120px;
}

.banner_2{
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    margin-top: 185px;
}

.business{
    max-width: 980px;
    width: 90%;
    margin: 0 auto;
    margin-top: 180px;
}

.section__title{
    font-family: 'Noto Serif jp', sans-serif;
    font-size: 40px;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.business__pre{
    margin-top: 120px;
    padding: 48px;
    border-radius: 8px;
    background-color: #ffffff;
    position: relative;
    z-index: 0;
}

.business__pre--title{
    font-weight: 500;
    color: #DE5D00;
    font-size: 32px;
}

.business__pre--subtitle{
    color: #DE5D00;
    margin-top: 5px;
    font-size: 20px;
}

.business__pre--gray{
    margin-top: 45px;
    color: #707070;
    font-size: 14px;
    letter-spacing: 0.1em;
}

.business__pre--big-time{
    font-size: 24px;
    margin-top: 20px;
    letter-spacing: 0.1em;
}

.business__pre--time-list{
    font-size: 16px;
    letter-spacing: 0.15em;
    margin-top: 15px;
    line-height: 2;
}

.business__pre--time-list dt{
    float: left;
}

.business__pre--time-list dd{
    margin-left: 135px;
}

.orenge{
    color: #DE5D00;
}

.business__pre--txt{
    margin-top: 22px;
    font-size: 16px;
    line-height: 1.8;
}

.business__pre--txt.under{
    margin-top: 8px;
}

.business__pre--blue{
    margin: 8px 0;
    font-size: 20px;
    color: #ffffff;
    line-height: 2.2;
}

.business__pre--blue span{
    padding: 4px 12px;
    background-color: #005BAC;
    border-radius: 2px;
    margin-right: 10px;
}

.pre__map{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 60%;
    z-index: -1;
}

.business__time{
    display: flex;
    margin-top: 64px;
    padding-bottom: 64px;
    border-bottom: 1px solid #E0E0E0;
}

.business__time--half{
    width: 50%;
}

.business__time--title{
    color: #707070;
    font-size: 14px;
    margin-bottom: 50px;
    letter-spacing: 0.1em;
}

.business__time--content{
    font-size: 18px;
    letter-spacing: 0.08em;
}

.business div:last-child{
    border-bottom: unset;
}

.business__money{
    width: 80%;
}

.business__money--item{
    display: flex;
    justify-content: space-between;
    margin-bottom: 25px;
}

.business__money div:last-child{
    margin-bottom: 0;
}

.business__money--item p{
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.business__money--item p.price{
    font-weight: 500;
}

.business__money--item p span{
    font-size: 12px;
    color: #707070;
    margin-left: 5px;
}

.guide{
    max-width: 980px;
    width: 90%;
    margin: 0 auto;
    margin-top: 180px;
}

.guide__wrap{
    display: flex;
    gap: 40px;
    margin-top: 120px;
}

.guide__item--title{
    margin-top: 32px;
    font-size: 18px;
    line-height: 2.5;
    letter-spacing: 0.1em;
}

.guide__item--txt{
    font-size: 14px;
    line-height: 2;
    color: #707070;
    font-weight: 400;
    margin-top: 16px;
    letter-spacing: 0.1em;
}

.guide__item{
    width: 33%;
}

@keyframes bg-slider{0%{background-position:0 0}to{background-position:-3770px 0}}

.slide__banner{
    margin-top: 180px;
    width: 100%;
}

.slide_banner--img{
    animation: bg-slider 80s linear infinite;
    background: url(../img/roll_banner.png) repeat-x 50%;
    background-size: auto 500px;
    height: 500px;
    width: 100%;
}

.access{
    max-width: 980px;
    width: 90%;
    margin: 0 auto;
    margin-top: 120px;
}

.access__wrap{
    display: flex;
}

.access__info,.access__img{
    width: 50%;
}

.access__info--txt{
    margin-top: 120px;
    margin-bottom: 32px;
    font-size: 14px;
    font-weight: 400;
    color: #707070;
    line-height: 2;
    letter-spacing: 0.1em;
}

.access__info p:last-child{
    margin: 0;
}

.map__wrap{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    border-radius:16px;
    overflow: hidden;
    margin-top: 120px;
}

.map__wrap iframe{
    width: 100%;
    height: auto;
    aspect-ratio: 20 / 9;
}

.access__info--txt.relationship-txt{
    margin-top: 33px;
    margin-bottom: 0;
}

.relationship{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    margin-top: 184px;
}

.relationship__top{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 1090px;
    margin: 0 0 0 auto;
}

.relationship__top--img,.relationship__top--info{
    width: 50%;
}

.relationship__bottom{
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    margin-top: 120px;
}

.relationship__bottom--item{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 20px;
    border-bottom: 1px solid #E0E0E0;
    margin-top: 16px;
}

.relationship__bottom div:first-child{
    margin-top: 0;
}

.relationship__bottom--left{
    font-family: toppan-bunkyu-mincho-pr6n, serif;
}

.relationship__bottom--subtitle{
    font-size: 14px;
    color: #999999;
    font-weight: 400;
}

.relationship__bottom--title{
    font-size: 20px;
    color: #424242;
    line-height: 22px;
    letter-spacing: 0.1em;
}

.relationship__bottom--right{
    font-size: 14px;
    color: #999999;
    padding-right: 26px;
    position: relative;
    line-height: 22px;
    font-weight: 100;
    transition: 0.4s;
    letter-spacing: 0.1em;
}

.relationship__bottom--right:hover{
    opacity: 0.6;
    transition: 0.4s;
}

.relationship__bottom--right::after{
    content: "";
    position: absolute;
    background-image: url(../img/link.png);
    width: 13.5px;
    height: 13.5px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    right: 0;
    top: calc(50% - 6.25px);
}

.banner_3{
    margin-top: 184px;
}

.end-txt{
    margin-top: 128px;
}

.end-txt__item{
    line-height: 2;
    font-size: 18px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: 'Noto Serif jp', sans-serif;
    letter-spacing: 0.5em;
    font-weight: 500;
    margin: 0 auto;
}

.bottom__wrap{
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 200px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.bottom__wrap span{
    left: 0;
    bottom: 0;
    color: #999999;
    font-size: 12px;
    width: 242px;
}

.bottom__logo{
    width: 280px;
    margin: 0 auto;
}

.batsu{
    position: absolute;
    background-image: url(../img/batsu.png);
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    right: 32px;
    top: 32px;
    cursor: pointer;
    z-index: 1;
    opacity: 0.4;
    transition: 0.4s;
}

.batsu:hover{
    opacity: 1;
    transition: 0.4s;
}

/*modal*/

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.modal__item .business__pre{
    margin-top: 0;
}

body.no-scroll {
    overflow: hidden; /* スクロールを無効にする */
}

.sp_only1024{
    display: none;
}

.sp_only768{
    display: none;
}

.introduce__sp{
    display: none;
}

.modal__item--wrap{
    position: absolute;
    max-width: 980px;
    margin: 0 auto;
    width: 90%;
    box-shadow: 0 16px 32px 0 rgba(0, 0, 0, 0.08);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    border-radius: 8px;
    overflow: hidden;
}

.guide__exp{
    margin-top: 32px;
    font-weight: 400;
    line-height: 2.3;
    font-size: 16px;
    letter-spacing: 0.08em;
}

.bottom__sns{
    display: flex;
    gap: 24px;
}

.bottom__sns--item{
    display: block;
    width: 24px;
    opacity: 1;
    transition: 0.4s;
}

.bottom__sns--item:hover{
    opacity: 0.7;
    transition: 0.4s;
}

.bottom__sns--txt{
    font-size: 18px;
    color: #424242;
    position: relative;
    font-family: 'Noto Serif jp', sans-serif;
    padding-right: 20px;
    line-height: 22.5px;
    opacity: 0.7;
    transition: 0.4s;
}

.bottom__sns--txt:hover{
    opacity: 1;
    transition: 0.4s;
}

.bottom__sns--txt::after{
    content: "";
    position: absolute;
    background-image: url(../img/link_2.png);
    width: 13.5px;
    height: 13.5px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    right: 0;
    top: calc(50% - 6.25px);
}

.only_500{
    display: none;
}

@media (max-width: 1200px){

    .introduce__txt.eright{
        margin: 64px 0 0 auto;
    }

}

@media (max-width: 1024px){
    .sp_only1024{
        display: block;
    }

    .pc_only1024{
        display: none;
    }

    .fv__video{
        width: 75%;
        margin: 0 auto;
    }

    .fv__video video{
        width: 100%;
    }

    .tikaiti{
        width: 100px;
        right: 18px;
        top: 18px;
    }

    .fv{
        margin-top: 50px;
    }

    .fv__main{
        position: static;
        margin-bottom: 40px;
        transform:unset;
        -webkit-transform:unset;
    }

    .fv__main--left{
        margin: 0 auto;
    }

    .top-info{
        text-align: left;
        width: 90%;
        margin: 0 auto;
        margin-top: 60px;
        position: relative;
        color: #999999;
        line-height: 2.2;
    }

    .top-info span{
        border-left: unset;
        position: absolute;
        right: 0;
        top: 0;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-orientation: sideways;
    }

    .fv__main--right::after{
        top: 0;
    }
}

@media (max-width: 768px){

    .introduce__pc{
        display: none;
    }

    .introduce__sp{
        display: block;
    }

    .introduce__block{
        display: block;
        max-width: 500px;
        margin: 0 auto;
    }

    .introduce__txt.toptxt{
        margin-bottom: 0;
    }

    .introduce__block--img.width70{
        width: 70%;
    }

    .introduce__block--img.width55{
        width: 55%;
    }

    .sp-introduce__block--left.width55{
        width: 55%;
    }

    .sp-introduce__block.flexend.left{
        margin: 36px 0 0 0;
    }

    .introduce__block--img{
        margin-top: 48px;
    }

    .introduce__block--img.right{
        width: auto;
        margin: 48px 0 0 calc(50vw - 250px);
    }

    .introduce{
        width: 100%;
        margin-top: 120px;
    }

    .introduce__txt.right{
        margin: 48px 0 0 auto;
    }

    .sp-introduce__block{
        display: flex;
        gap: 24px;
        margin-top: 140px;
        justify-content: space-between;
    }

    .sp-introduce__block.flexend{
        width: 90%;
        margin: 0 0 0 auto;
        align-items: flex-end;
    }

    .sp-introduce__block--right{
        margin-top: -55px;
        display: -webkit-flex;
    }

    .introduce__txt.eright{
        margin: 48px calc(50vw - 250px) 0 auto;
    }

    .sp_only768{
        display: block;
    }

    .pc_only768{
        display: none;
    }

    .end-txt__item{
        writing-mode: unset;
        width: 90%;
    }

    .business__time{
        display: block;
    }

    .business__time--half{
        width: 100%;
    }

    .business__time--title{
        margin-bottom: 16px;
    }

    .business__time--half{
        margin-bottom: 48px;
    }

    .business__time{
        margin-top: 48px;
        padding-bottom: 10px;
    }

    .business__money{
        width: 100%;
    }


    .banner_2{
        margin-top: 80px;
    }

    .section__title{
        font-size: 32px;
    }

    .section__title.width90{
        width: 90%;
        margin: 0 auto;
    }

    .guide__exp{
        width: 90%;
        margin: 0 auto;
        margin-top: 32px;
    }

    .guide{
        margin-top: 90px;
    }

    .guide__wrap{
        margin-top: 70px;
    }

    .guide{
        width: 100%;
    }

    .guide__wrap--scroll{
        overflow-x: auto;
    }

    .guide__wrap{
        max-width: 700px;
        width: max-content;
        padding: 0 5%;
        padding-bottom: 5%;
        gap: 30px;
    }

    .slide_banner--img{
        background-size: auto 300px;
        height: 300px;
    }

    .access__wrap{
        display: block;
    }

    .access__info, .access__img{
        width: 100%;
    }

    .access__img{
        margin-top: 70px;
    }

    .access__info--txt{
        margin-top: 48px;
        margin-bottom: 24px;
    }

    .map__wrap{
        margin-top: 48px;
    }

    .map__wrap{
        width: 100%;
        overflow: unset;
    }

    .map__wrap iframe{
        aspect-ratio: 3 / 4;
    }

    .relationship{
        margin-top: 150px;
    }

    .relationship__top{
        display: block;
    }

    .relationship__top--img, .relationship__top--info{
        width: 100%;
    }

    .relationship__top--img{
        margin-top: 64px;
    }

    .relationship__bottom--item{
        display: block;
    }

    .relationship__bottom--title{
        font-size: 16px;
        margin: 10px 0;
    }

    .relationship__bottom--subtitle{
        font-size: 12px;
    }

    .relationship__bottom--right{
        font-size: 12px;
    }

    .banner_3{
        margin-top: 90px;
    }

    .end-txt{
        margin-top: 70px;
    }

    .end-txt__item{
        font-size: 13px;
        letter-spacing: 0.3em;
    }

    .bottom__logo{
        width: 220px;
    }

    .bottom__wrap span{
        position: static;
        text-align: center;
        margin-top: 30px;
        width: auto;
        line-height: 2;
    }

    .bottom__wrap.sp_only768{
        display: flex;
        width: 90%;
        justify-content: space-between;
        margin-top: 87px;
    }

    .bottom__wrap{
        margin-top: 120px;
    }

    .fv__main--right::after{
        right: -5px;
    }

    .fv__main--right::before{
        right: -5px;
    }

    .introduce__title{
        font-size: 32px;
        margin-top: -40px;
    }

    .introduce__txt{
        font-size: 16px;
    }

    .fv__main--left{
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        width: 90%;
    }

    .fv{
        margin-top: 0;
    }

    main{
        padding-top: 20px;
        padding-bottom: 30px;
    }

    .tikaiti{
        position: static;
    }

    .fv__main--logo{
        width: 58px;
    }
}

@media (max-width: 500px){


    .sponly_500{
        display: none;
    }

    .only_500{
        display: block;
    }

    .bottom__sns--txt{
        font-size: 14px;
    }
    .bottom__wrap.sp_only768{
        align-items: flex-end;
    }

    .bottom__sns{
        gap: 15px;
    }

    .batsu{
        width: 14px;
        height: 14px;
        top: 15px;
        right: 15px;
    }

    .business{
        margin-top: 100px;
    }

    .business__pre{
        margin-top: 70px;
        padding: 20px;
    }

    .business__pre--title{
        font-size: 21px;
    }

    .business__pre--subtitle{
        font-size: 14px;
    }

    .business__pre--big-time{
        font-size: 16px;
        margin-top: 16px;
    }

    .business__pre--time-list{
        font-size: 12px;
        line-height: 1.8;
        margin-top: 16px;
    }

    .business__pre--time-list dd{
        margin-left: 100px;
    }

    .business__pre--gray{
        margin-top: 30px;
    }

    .business__pre--txt{
        margin-top: 20px;
        font-size: 14px;
    }

    .business__pre--blue{
        font-size: 15px;
    }

    .introduce__block{
        width: 80%;
    }

    .introduce__block--img.right{
        margin: 48px 0 0 7.5%;
    }

    .introduce__txt.eright{
        margin: 48px 5% 0 auto;
    }

    .pre__map{
        width: 70%;
    }

}