@charset "UTF-8";
/*-------------
vars
-------------*/
:root{
    /* font */
    --font-sans-serif: 'Noto Sans JP', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    --font-en: 'Raleway', sans-serif;
    --font-en2: 'Poppins', sans-serif;
    --font-en--serif: Garamond, Baskerville, Baskerville Old Face, Hoefler Text, Times New Roman, serif;
    
    /* color */
    --main-white: #fff;
    --main-black: #19191c;
    --sub-black: #1a1a1a;
    --main-gray: #505050;
    --sub-gray: #999;
    --sub-gray2: #666;
    --main-lightgray: #ccc;
    --bg-black: var(--main-black);
    --bg-black--100: #000;
    --bg-orange: #ff860d;
    --bg-gray: #f7f7f7;
    --bg-gray2:#303033;
    --border-gray: var(--main-gray);
    --border-white: var(--main-white);
    --main-green: #72b02d;
    
    /* text */
    --text-white: var(--main-white);
    --text-gray: var(--sub-gray);
    --text-gray2: #808080;
    --text-red: #e01b22;
    --text-red2: #ff3333;
    --text-blue:#00ccff;
    --text-green: #cfff5d;
    --text-frame--white: #fff 0 0, #fff 0 1px, #fff 0 -1px, #fff 1px 0, #fff 1px 1px, #fff 1px -1px, #fff -1px 0, #fff -1px 1px, #fff -1px -1px;
    
    /* size */
    --inner-width--pc: 1200px;
    --inner-width--sp: 90.625%;
    --inner-width--sp_vw: 90.625vw;
    --inner-width: var(--inner-width--pc);
    --inner-sidespace--sp: 4.6875vw;
    
    /* other */
    --trans-ease: .3s ease;
}
@media screen and (max-width:768px){
    :root{
        --inner-width: var(--inner-width--sp);
    }
}

/*-------------
color
-------------*/
.bgWhite{
    --border-white: var(--main-gray);
    --text-white: var(--sub-black);
    --text-gray: var(--main-gray);
}
.bgWhite{
    background: var(--main-white);
    color: var(--sub-black);
}
.bgBlack{
    --border-gray: var(--main-white);
    --text-white: var(--main-white);
    --text-gray: var(--sub-gray);
}
.bgBlack{
    background: var(--main-black);
    color: var(--text-white);
}
.bgGray{
    --border-white: var(--main-gray);
    --text-white: var(--sub-black);
    --text-gray: var(--main-gray);
}
.bgGray{
    background: var(--bg-gray);
    color: var(--sub-black);
}
.bgWhite :is(.invert--white,.invert--white_before::before,.invert--white_after::after),
.bgBlack :is(.invert--black,.invert--black_before::before,.invert--black_after::after),
.bgGray :is(.invert--black,.invert--black_before::before,.invert--black_after::after){
    filter: invert(1);
}

/*-------------
base
-------------*/
html{
    font-size: 62.5%;
}
body{
    width: 100%;
    min-width: 1200px;
    background: var(--bg-black);
    color: var(--text-white);
    font-family: var(--font-sans-serif);
    font-size: 14px;
    font-size: 1.4rem;
    line-height: normal;
    text-align: left;
    word-wrap: break-word;
}
*{
    letter-spacing: .04em;
}
.sp{
    display: none;
}
a[href^="tel:"]{
    pointer-events: none;
}
  
/*--- sp ---*/
@media screen and (max-width:768px){
    body{
        min-width: 320px;
    }
    body.is--min_win-height{
        position: relative;
    }
    body.is--min_win-height .footer{
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
    }
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
    a[href^="tel:"]{
        pointer-events: auto;
    }
    img{
        width: 100%;
        height: auto;
    }
}

/*-------------
common
-------------*/
.clearfix::after,
.cf::after{
    content: "";
    display: block;
    clear: both;
}
.preload *,
.preload *::before,
.preload *::after{
    transition: none!important;
}
.pre{
    display: none;
}
.txtBold,
.txt_b{
    font-weight: bold;
}
.textCenter,
.txt_c{
    text-align: center;
}
.textRight,
.txt_r{
    text-align: right;
}
.textIndent,
.txt_ind {
    text-indent: -1em;
    padding-left: 1em;
}
.textRed,
.txtRed{
    color: var(--text-red);
}
.textGreen,
.txtGreen{
    color: var(--text-green);
}
.textNowrap{
    white-space: nowrap;
}
@media screen and (min-width:769px){
    .textLink:not(:hover){
        text-decoration: underline;
    }
}
@media screen and (max-width:768px){
    .textLink:not(:active){
        text-decoration: underline;
    }
}
.textSmall{
    font-size: .7em;
}
.mB5,
.m_b5{
	margin-bottom: 5px!important;
}
.mB10,
.m_b10{
	margin-bottom: 10px!important;
}
.mB15,
.m_b15{
	margin-bottom: 15px!important;
}
.mB20,
.m_b20{
	margin-bottom: 20px!important;
}
.mB30,
.m_b30{
	margin-bottom: 30px!important;
}
.mR10,
.m_r10{
	margin-right: 10px!important;
}
.mT10{
    margin-top: 10px!important;
}
.mT5{
    margin-top: 5px!important;
}
.mT8{
    margin-top: 8px!important;
}
.mT20{
    margin-top: 20px!important;
}
.mL5{
    margin-left: 5px!important;
}
.floatL,
.l{
    float: left;
}
.floatR,
.r{
    float: right;
}

/*-------------
accordion
-------------*/
/* .accordion-btn:not(.is--ready){
    pointer-events: none;
} */
.accordion-btn{
    cursor: pointer;
}
/* @media screen and (max-width:768px){
    .accordion-btn--sp:not(.is--ready){
        pointer-events: none;
    }
} */
.accordion-btn:not(.accordion--open):not([data-target-class]) + *:not(.accordion-container),
.accordion-content{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
@media screen and (max-width:768px){
    .accordion-btn--sp:not(.accordion--open):not([data-target-class]) + *:not(.accordion-container),
    .accordion-content--sp{
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }
}
.accordion-container{
    overflow: hidden;
    transition: height .3s ease;
}
.accordion-container.is--hit_low{
    transition: height .2s ease;
}
/* .accordion-container:not(.is--open){
    height: 0;
} */
@media screen and (min-width:769px){
    .accordion-container.is--limit_sp{
        height: auto!important;
    }
}

/*-------------
custom-scroll
-------------*/
.custom-scroller{
    --scrollbar-heghit: 10px; /* バーの高さ */
    --scrollbar-gap: calc(var(--scrollbar-heghit) + 10px); /* バーとの間隔 +00pxの部分 */
    position: relative;
    overflow: hidden;
}
.custom-scroll-container{
    position: relative;
    overflow: auto;
    scrollbar-width: none;
}
.custom-scroll-container.is--scrollable{
    padding-bottom: var(--scrollbar-gap);
}
.custom-scroll-container::-webkit-scrollbar{
    display: none;
}
@media screen and (min-width:769px){
    .custom-scroll-container.is--scrollable{
        cursor: grab;
    }  
    .custom-scroll-container.is--scrollable:active{
        cursor: grabbing;
    }  
}
.custom-scroll-container.is--scrolling a,
.custom-scroll-container.is--scrolling img{
    pointer-events: none;
}
.custom-scrollbar{
    display: block;
    position: relative;
    width: 100%;
    height: var(--scrollbar-heghit);
    margin-top: calc(-1 * var(--scrollbar-heghit));
    overflow: hidden;
    border-radius: 99px;
    background-color: rgba(100,100,100,.25);
}
.custom-scrollbar__thumb{
    opacity: .5;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 100%;
    border-radius: 99px;
    background-color: rgba(0,0,0,.5);
    pointer-events: auto;
    transition: opacity .3s ease;
}
@media screen and (min-width:769px){
    .custom-scrollbar__thumb:hover{
        opacity: .75;
    }
    .custom-scrollbar__thumb:active{
        opacity: 1;
    }
}
.custom-scroller .shadow{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - var(--scrollbar-gap));
    content: "";
    pointer-events: none;
}

/*-------------
header
-------------*/
.header{
    width: 100%;
    min-width: 1200px;
    display: flex;
    align-items: center;
    position: absolute;
    z-index: 99;
    height: 100px;
    background: #fff;
}
.header:before{
    content: "";
    background: var(--bg-black--100);
    position: absolute;
    width: calc(50% - 216px);
    height: 100%;
    top: 0;
    right: 0;
    z-index: 0;
}
body:not(.home) .header{
    background: #fff;
}
.header.hd-fix {
    position: fixed;
    height: 64px;
    background: #fff;
}
.header-logo{
    padding-left: 45px;
}
.page--default .header{
    background: var(--bg-black--100);
}
@media screen and (min-width:769px){
    .header-nav-btn--sp{
        display: none;
    }   
}
.header-nav{
    display: block;
    margin-left: auto;
    height: 100%;
    padding-right: 15px;
    background: var(--bg-black--100);
    position: relative;
    z-index: 1;
}
.header-nav-list{
    display: flex;
    height: 100%;
}
.header-nav-list-item__link{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 15px;
    font-weight: bold;
    line-height: calc(1em + 8px);
    color: #fff;
}
.is--contact .header-nav-list-item__link:before{
    content: "";
    background: no-repeat center / auto,transparent;
    background-image: url(../images/icon_mail_white.svg);
    background-size: 20px 15px;
    margin-right: 10px;
    width: 45px;
    height: 45px;
    min-width: 45px;
    border-radius: 50%;
    border: solid 1px #fff;
}
.header-nav-tel{
    display: flex;
    align-items: center;
    padding: 0 15px;
    box-sizing: border-box;
}
.header-nav-tel-inner{
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    min-height: 45px;
    padding-left: 55px;
}
.header-nav-tel-inner::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    margin: auto;
    background: no-repeat center / auto,transparent;
    border: solid 1px #fff;
    content: "";
}
.header-nav-tel-inner[data-type="TEL"]::after{
    background-image: url(../images/icon_tel_white.svg);
    background-size: 20px;
}
.header-nav-tel__text{
    color: #fff;
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.header-nav-tel__text2{
    color: #fff;
    display: block;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
    margin-top: 5px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .header{
        height: 45px;
        min-width: inherit;
    }
    .header.hd-fix {
        position: fixed;
        height: 45px;
    }
    .header-logo{
        padding-left: var(--inner-sidespace--sp);
    }
    .header-logo img{
        width: auto;
        height: 33px;
    }
    .header-nav-btn--sp{
        position: absolute;
        top: 0;
        right: 0;
        width: 45px;
        height: 45px;
        background: linear-gradient(to bottom,#fff 0,#fff 0 1px) no-repeat top 16px left 12px / 21px 1px,
        linear-gradient(to bottom,#fff 0,#fff 0 1px) no-repeat bottom 16px left 12px / 21px 1px,
        #000;
        cursor: pointer;
        transition: background var(--trans-ease);
    }
    .header-nav-btn--sp.menu--open{
        background: linear-gradient(to bottom,#fff 0,#fff 0 1px) no-repeat top 16px left 114px / 21px 1px,
        linear-gradient(to bottom,#fff 0,#fff 0 1px) no-repeat bottom 16px left 57px / 21px 1px,
        var(--bg-black);
    }
    .header-nav-btn--sp::before,
    .header-nav-btn--sp::after{
        position: absolute;
        top: 22px;
        left: 12px;
        width: 21px;
        height: 1px;
        background: #fff;
        content: "";
        transition: all var(--trans-ease);
    }
    .header-nav-btn--sp.menu--open::before,
    .header-nav-btn--sp.menu--open::after{
        width: 25px;
        left: 10px;
    }
    .header-nav-btn--sp.menu--open::before{
        transform: rotate(-30deg);
    }
    .header-nav-btn--sp.menu--open::after{
        transform: rotate(30deg);
    }
    .header-nav{
        position: absolute;
        top: 45px;
        left: 0;
        width: 100%;
        height: calc(100vh - 45px);
        margin: 0;
        padding: 15px var(--inner-sidespace--sp) calc(50px + env(safe-area-inset-bottom));
        box-shadow: 0 10px 10px rgba(0,0,0,.9);
        background: rgba(0,0,0,.9);
        overflow: auto;
        transition: opacity var(--trans-ease);
    }
    .header-nav:not(.is--active){
        display: none;
    }
    .header-nav:not(.is--show){
        opacity: 0;
    }
    .header:has(.header-nav.is--show) ~ *{
        filter: blur(3px);
    }
    .header-nav-list{
        display: block;
        height: auto;
    }
    .header-nav-list-item{
        border-bottom: solid 1px var(--border-gray);
    }
    .header-nav-list-item__link{
        display: block;
        height: auto;
        padding: 10px 0 12px;
    }

    .header-nav-list-item.contact{
        border-bottom: none;
        margin-top: 20px;
    }
    .is--contact .header-nav-list-item__link {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        min-height: 54px;
        padding: 10px;
        color: var(--bg-black--100);
        font-weight: bold;
        background: #fff;
    }
    .is--contact .header-nav-list-item__link:before{
        content: "メールでの";
        min-width: inherit;
        background: none;
        border: none;
        margin-right: 0;
        display: inline-block;
        width: auto;
        height: auto;
    }
    .header-nav-tel{
        justify-content: center;
        margin-top: 20px;
    }
    .is--contact .header-nav-list-item__link img{
        display: none;
    }
}
/*-------------
main
-------------*/
.main{
    padding-top: 120px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .main{
        padding-top: 45px;
    }
}
/*-------------
footer
-------------*/
.footer{
    background: var(--bg-black--100);
    position: relative;
}
.footer-inner{
    display: flex;
    flex-direction: column;
    position: relative;
    min-height: 360px;
    padding: 63px 50% 36px calc(50% - (var(--inner-width--pc) / 2));
}
.footer-main{
    margin-bottom: 40px;
    color: var(--main-lightgray);
}
.footer-address{
    display: block;
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
.footer-nav{
    display: block;
    margin-top: 35px;
}
.footer-nav-list{
    display: flex;
    flex-wrap: wrap;
    gap: 15px 10px;
    margin-bottom: 15px;
}
.footer-nav-list-item{
    flex: 0 0 200px;
}
.footer-nav-list-item__link{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 54px;
    padding: 10px;
    border: solid 1px #fff;
    color: #fff;
    font-weight: bold;
}
.footer-gmap{
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: var(--main-gray);
}
.footer-gmap iframe{
    width: 100%!important;
    height: 100%!important;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}
.footer-copy{
    display: block;
    margin-top: auto;
    color: var(--text-gray);
    font-size: inherit;
    line-height: calc(1em + 2px);
}
.footer-logo{
    margin-bottom: 20px;
}
.footer-nav_link a{
    text-decoration: underline;
}
/* footer-pagetop-btn */
.footer-pagetop-btn{
    position: absolute;
    top: -80px;
    right: 15px;
    bottom: calc(40px + env(safe-area-inset-bottom));
    transition: all ease .3s;
}
.footer-pagetop-btn__link{
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: url(../images/page-top-arrow.svg) no-repeat center / auto,var(--bg-black--100);
}
.footer-pagetop-btn:not(.active) {
    opacity: 0;
    pointer-events: none;
    transition: all ease .3s;
}
.footer-pagetop-btn.active {
    position: fixed;
    top: auto;
    bottom: 15px;
}
.footer-pagetop-btn.active.absolute{
    position: absolute;
    bottom: auto;
    top: -80px;
}
.footer-name{
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 5px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .footer-inner{
        display: block;
        min-height: 0;
        padding: 54px 0 calc(15px + env(safe-area-inset-bottom));
    }
    .footer-main{
        margin-bottom: 30px;
        padding: 0 var(--inner-sidespace--sp);
    }
    .footer-nav{
        margin-top: 24px;
    }
    .footer-nav-list{
        gap: 12px 6px;
    }
    .footer-nav-list-item{
        flex: 0 0 calc(50% - 3px);
    }
    .footer-gmap{
        position: static;
        width: 100%;
        height: auto;
        aspect-ratio: 5 / 4;
    }
    .footer-copy{
        margin-top: 29px;
        padding: 0 var(--inner-sidespace--sp);
        font-size: 1.3rem;
    }
    /* footer-pagetop-btn */
    .footer-pagetop-btn{
        right: var(--inner-sidespace--sp);
        bottom: calc(15px + env(safe-area-inset-bottom));
    }
    .footer-pagetop-btn__link{
        width: 40px;
        height: 40px;
    }
    .footer-pagetop-btn.active.absolute {
        position: absolute;
        bottom: auto;
        top: -50px;
    }
    .footer-logo{
        width: 60%;
    }
}
.footer__info-address{
    font-size: 1.5rem;
    line-height: calc(1em + 5px);
}
.footer__info-address:last-child{
    margin-top: 56px;
}
.footer__info-address:not(:last-child){
    margin-bottom: 28px;
}
.footer__info-address-item:not(:last-child){
    margin-bottom: 7px;
}
.footer__info-address-item a{
    text-decoration: underline;
}
.footer__info-address-item a[href^="tel:"] {
    text-decoration: none;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .footer__info-address{
        font-size: 1.4rem;
        line-height: calc(1em + 7px);
    }
    .footer__info-address:last-child{
        margin-top: 36px;
    }
}
/*-------------
top
-------------*/
.top-page{
    counter-reset: top-section-num;
}
.top-section-title{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 15px;
    position: relative;
    margin-bottom: 50px;
    padding-top: calc(2rem + 5px);
    color: var(--text-white);
}
.top-section-title::before{
    display: block;
    font-family: var(--font-en);
    font-size: 50px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .1em;
    content: attr(data-title-en);
}
.top-section-title::after{
    position: absolute;
    top: 0;
    left: -10px;
    font-family: var(--font-en--serif);
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    content: counter(top-section-num,decimal-leading-zero);
    counter-increment: top-section-num;
}
.top-section-title-inner{
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: calc(1em + 2px);
}
.top-section-title-inner::before{
    width: 40px;
    min-width: 20px;
    margin-right: 20px;
    height: 1px;
    background: var(--main-gray);
    content: "";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .header:has(.header-nav-btn--sp.menu--open){
        /* background: var(--bg-black--100); */
        transition: background var(--trans-ease);
    }
    .top-section-title{
        display: block;
        margin-bottom: 24px;
        padding-top: calc(1.3rem + 5px);
    }
    .top-section-title::before{
        display: block;
        margin-bottom: 8px;
        font-size: 30px;
    }
    .top-section-title::after{
        left: -5px;
        font-size: 1.3rem;
    }
    .top-section-title-inner{
        font-size: 1.5rem;
    }
    .top-section-title-inner::before{
        width: 30px;
        min-width: 15px;
        margin-right: 10px;
    }
}
/* top-mainvisual */
.top-mainvisual{
    position: relative;
    z-index: 0;
    height: calc(100vh - 100px);
    margin-bottom: 45px;
}
.top-mainvisual::before{
    position: absolute;
    top: -100px;
    right: 0;
    z-index: -1;
    width: calc(50% - 216px);
    height: 100vh;
    background: var(--bg-black--100);
    content: "";
}
@media screen and (min-width:769px){
    @keyframes scroll-mes-move{
        0% {
            background-size: 1px 100px;
        }
        25% {
            background-position: top center;
            background-size: 1px 0;
        }
        50% {
            background-position: top 100px center;
            background-size: 1px 0;
        }
        75% {
            background-position: top center;
            background-size: 1px 100px;
        }
    }
    .top-mainvisual::after{
        position: absolute;
        bottom: 0;
        /* right: calc(50% - (var(--inner-width--pc) / 2)); */
        right: 7%;
        transform: rotate(180deg);
        width: 14px;
        height: 210px;
        background: linear-gradient(to right,var(--text-gray) 0 0,var(--text-gray) 0px 1px) no-repeat top center / 1px 100px;
        color: var(--text-gray);
        font-family: var(--font-en);
        font-weight: 500;
        letter-spacing: .4em;
        text-align: right;
        writing-mode: vertical-lr;
        content: "SCROLL";
        animation: scroll-mes-move 2.5s infinite;
    }
}
.top-mainvisual-slider{
    position: relative;
    /* width: calc(50% + 580px); */
    width: 85%;
    left: 0;
    height: calc(100% - 100px);
    background: var(--main-gray);
}
.top-mainvisual-slider__slide{
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.top-mainvisual-slider:not(.is--ready) .top-mainvisual-slider__slide:not(:first-child){
    display: none;
}
.top-mainvisual-slider__slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.top-mainvisual-catch{
    position: absolute;
    top: calc(50% - 70px);
    right: calc(50% - (var(--inner-width--pc) / 2));
    transform: translateY(-50%);
    z-index: 2;
    margin-right: -.04em;
    color: #fff;
    font-size: 48px;
    font-weight: bold;
    line-height: calc(1em + 14px);
    letter-spacing: .04em;
    text-shadow: 0 0 5px rgba(0,0,0,.75);
}
.top-mainvisual-catch2{
    position: absolute;
    left: 20px;
    /* top: calc(100% - 270px); */
    top: 40px;
    z-index: 2;
    margin-right: -.04em;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: calc(1em + 20px);
    letter-spacing: .04em;
    text-shadow: 0 0 5px rgba(0,0,0,.75);
}
.top-mainvisual-catch2 strong{
    color: var(--text-red);
    text-shadow: var(--text-frame--white),0 0 5px rgba(0,0,0,.75);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .top-mainvisual{
        height: 100vw;
        margin-bottom: 20px;
    }
    .top-mainvisual::before{
        top: -45px;
        width: calc(var(--inner-sidespace--sp) * 6);
        height: calc(100% + 45px);
    }
    .top-mainvisual-slider{
        width: calc(100% - (var(--inner-sidespace--sp) * 2));
        height: auto;
        aspect-ratio: 1 / 1;
    }
    .top-mainvisual-catch{
        width: var(--inner-width);
        box-sizing: border-box;
        /* top: calc(50% - 40px); */
        /* bottom: var(--inner-sidespace--sp); */
        /* right: var(--inner-sidespace--sp); */
        top: auto;
        left: var(--inner-sidespace--sp);
        bottom: calc(var(--inner-sidespace--sp) + 70px);
        transform: none;
        margin: 0 -.04em -4px 0;
        font-size: 2.4rem;
        line-height: calc(1em + 10px);
    }
    .top-mainvisual-catch2{
        width: var(--inner-width);
        box-sizing: border-box;
        font-size: 1.6rem;
        top: auto;
        left: var(--inner-sidespace--sp);
        bottom: calc(var(--inner-sidespace--sp) - 20px);
        line-height: calc(1em + 10px);
    }
}
/* top-contact */
.top-contact{
    position: relative;
    width: calc((var(--inner-width--pc) / 2) + 410px);
    margin: 0 auto 0 calc(50% - ((var(--inner-width--pc) / 2)));
}
.top-contact-inner{
    /* position: absolute;
    top: -45px;
    left: 0; */
    transform: translateY(-41%);
    width: 100%;
    padding: 30px 40px;
}
.top-contact-title{
    display: flex;
    align-items: center;
    margin-bottom: 33px;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1;
}
.top-contact_link{
    text-align: center;
    margin-top: 10px;
    text-decoration: underline;
}
.top-contact-title::after{
    flex: 1 1 auto;
    height: 1px;
    margin-left: 10px;
    background: var(--main-lightgray);
    content: "";
}
.top-contact-list{
    display: flex;
    align-items: center;
}
.top-contact-list-item{
    flex: 0 0 300px;
}
.top-contact-list-item-inner{
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    min-height: 60px;
    padding-left: 75px;
}
.top-contact-list-item-inner::before{
    display: block;
    color: var(--sub-gray);
    font-family: var(--font-en);
    font-size: 1.6rem;
    font-weight: 800;
    left: 1;
    /* content: attr(data-type); */
    content: none;
}
.top-contact-list-item-inner::after{
    position: absolute;
    top: calc(50% - 30px);
    left: 0;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: no-repeat center / auto,#fff;
    border: solid 1px var(--main-black);
    content: "";
}
.top-contact-list-item-inner[data-type="TEL"]::after{
    background-image: url(../images/icon_tel_black.svg);
    background-size: 30px;
}
.top-contact-list-item-inner[data-type="MAIL"]::after{
    background-image: url(../images/icon_mail_gray.svg);
}
.top-contact-list-item-inner[data-type="FAX"]::after{
    background-image: url(../images/icon_fax_black.svg);
    background-size: 40px;
}
.top-contact-list-item-inner__text{
    display: block;
    font-size: 2.7rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
}
.top-contact-list-item-inner__text2{
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: calc(1em + 5px);
    margin-top: 5px;
}
p.top-contact-list-item-inner__text2{
    display: flex;
}
p.top-contact-list-item-inner__text2 span:nth-child(2){
    text-align: right;
}
.top-contact_btn{
    width: 300px;
    height: 54px;
}
.top-contact_btn-inner{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 54px;
    padding: 10px;
    color: #fff;
    font-weight: bold;
    background: var(--bg-black--100);
}
@media screen and (min-width:769px){
    a:hover .top-contact-list-item-inner__text{
        text-decoration: underline;
    }   
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .top-contact{
        width: var(--inner-width);
        margin: 0 auto 20px;
    }
    .top-contact-inner{
        position: static;
        transform: none;
        width: 100%;
        padding: 0;
    }
    .top-contact-title{
        display: block;
        margin-bottom: 0;
        padding: 10px var(--inner-sidespace--sp) 12px;
        font-size: 1.8rem;
        border-bottom: solid 1px var(--main-lightgray);
        line-height: calc(1em + 8px);
    }
    .top-contact-title::after{
        content: none;
    }
    .top-contact-list{
        display: block;
        padding: 15px var(--inner-sidespace--sp) 20px;
        margin-bottom: 0;
    }
    .top-contact-list-item:not(:last-child){
        margin-bottom: 10px;
        padding-bottom: 11px;
        border-bottom: dashed 1px var(--main-lightgray);
    }
    .top-contact-list-item-inner{
        min-height: 50px;
        padding-left: 65px;
    }
    .top-contact-list-item-inner::before{
        margin: 0 0 1px;
        font-size: 1.4rem;
    }
    .top-contact-list-item-inner::after{
        top: calc(50% - 25px);
        width: 50px;
        height: 50px;
    }
    .top-contact-list-item-inner__text{
        font-size: 2rem;
    }
    .top-contact_btn {
        width: 100%;
        height: 54px;
        padding: 0;
    }
}
/* top-hall */
.top-hall{
    padding-bottom: 80px;
    overflow: hidden;
    color: #fff;
}
.top-hall-lead{
    position: relative;
    padding: 100px 50% 75px calc(50% - (var(--inner-width--pc) / 2));
}
.top-hall-lead::before{
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: calc(50% + 120px);
    height: calc(100% + 250px);
    background: var(--bg-black--100);
    content: "";
}
.top-hall-lead-pic{
    position: absolute;
    bottom: -40px;
    right: calc(50% - (var(--inner-width--pc) / 2));
    z-index: 1;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .hall{
        padding-bottom: 35px;
    }
    .top-hall-lead{
        width: calc(100% - (var(--inner-sidespace--sp) * 2));
        margin-right: auto;
        padding: 20px var(--inner-sidespace--sp) 20px;
    }
    .top-hall-lead::before{
        width: 100%;
        height: calc(100% + (var(--inner-sidespace--sp) * 2));
    }
    .top-hall-lead-pic{
        float: right;
        position: static;
        width: 40vw;
        margin: 6px calc(-1 * (var(--inner-sidespace--sp) * 3)) 5px 15px;
    }
}
/* top-reserve */
.top-reserve{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 100px 0 120px;
}
.top-reserve-cal{
    position: relative;
    margin-top: 110px;
    padding: 50px 100px 90px;
    background: var(--bg-black--100);
    overflow: hidden;
}
.top-reserve-cal::before{
    position: absolute;
    top: -56px;
    left: 0;
    color: var(--main-gray);
    font-family: var(--font-en);
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: .4em;
    content: attr(data-cal-title);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .top-reserve{
        padding: 50px 0 80px;
    }
    .top-reserve-cal{
        margin-top: 59px;
        padding: 15px 15px 20px;
    }
    .top-reserve-cal::before{
        top: -35px;
        font-size: 1.5rem;
    }
}

/*top-price*/
.top-section-title2{
    text-align: center;
    font-size: 3.6rem;
    font-weight: bold;
    line-height: calc(1em + 9px);
    margin-bottom: 20px;
}
.top-price {
    padding: 80px 0;
}
.top-price-wrapper {
    width: 800px;
    margin: 0 auto;
}
.top-price-items{
    display: flex;
    justify-content: space-between;
}
.top-price-item{
    flex: 0 0 calc((100% - 40px) / 3);
    padding: 0;
    box-sizing: border-box;
}
.top-price-item__title{
    font-size: 2rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
    margin-bottom: 5px;
    text-align: center;
}
.top-price-item__img{
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 130px;
}
.top-price-item__text dt{
    text-align: center;
}
.top-price-item__text dt span{
    font-size: 2.4rem;
    font-family: var(--font-en2);
    font-weight: bold;
}
.top-price-item__text dd{
    text-align: center;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .top-price {
        padding: 35px 0;
    }
    .top-price-wrapper{
        width: var(--inner-width);
    }
    .top-section-title2 {
        font-size: 2.4rem;
        margin-bottom: 15px;
    }
    .top-price-items {
        display: block;
    }
    .top-price-item__img{
        min-height: inherit;
    }
    .top-price-item__img img{
        height: 100px;
    }
    .top-price-item__img:nth-of-type(2){
        height: 90px;
    }
    .top-price-item{
        padding: 0 var(--inner-sidespace--sp);
    }
    .top-price-item:not(:last-of-type){
        margin-bottom: 20px;
    }
}
/*-------------
hall
-------------*/
.hall__text{
    margin-top: -6px;
    color: var(--main-lightgray);
    line-height: calc(1em + 11px);
}
.hall__sect{
    position: relative;
    max-width: var(--inner-width--pc);
    margin: 0 auto;
}
@media screen and (min-width:769px){
    .hall__sect:has(.hall__sect-body-pic){
        min-height: 640px;
    }
}
.hall__sect:not(:last-of-type){
    margin-bottom: 75px;
}
.hall__sect.is--align_right{
    margin-left: calc(50% - 480px);
}
.hall__sect-pic{
    width: 100%;
    height: 500px;
    margin-bottom: -66px;
    overflow: hidden;
}
.hall__sect-pic img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hall__sect-title{
    display: inline-block;
    max-width: calc((var(--inner-width--pc) / 2) + 40px);
    margin-bottom: 36px;
    padding: 25px 40px 0 0;
    background: var(--bg-black);
    font-size: 36px;
    font-weight: bold;
    line-height: calc(1em + 9px);
}
.hall__sect-body{
    padding-right: calc(var(--inner-width--pc) / 2);
}
.hall__sect-body-pic{
    position: absolute;
    top: 400px;
    right: 60px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .hall__sect:not(:last-of-type){
        margin-bottom: 35px;
    }
    .hall__sect.is--align_right{
        margin-left: calc(var(--inner-sidespace--sp) * 2);
    }
    .hall__sect-pic{
        height: auto;
        margin-bottom: -33px;
    }
    .hall__sect-title{
        max-width: calc(100% - (var(--inner-sidespace--sp) * 2));
        margin-bottom: 20px;
        padding: 10px var(--inner-sidespace--sp) 0 0;
        font-size: 1.8rem;
    }
    .hall__sect-body{
        padding-right: var(--inner-sidespace--sp);
    }
    .hall__sect:not(.is--align_right) :is(.hall__sect-title,.hall__sect-body){
        padding-left: var(--inner-sidespace--sp);
    }
    .hall__sect-body-pic{
        float: left;
        position: static;
        width: 37.5vw;
        margin: 6px 15px 10px 0;
    }
}
/* hall-info */
.hall-info-contents{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 80px 0 120px;
}
.top-page:has(.top-reserve) .hall-info-contents:last-child{
    padding-bottom: 80px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .hall-info-contents{
        padding: 35px 0 50px;
    }
    .hall-info-contents:last-child{
        padding-bottom: 60px;
    }
    .top-page:has(.top-reserve) .hall-info-contents:last-child{
        padding-bottom: 35px;
    }
}
/* hall-intro */
.hall-intro{
    display: flex;
    flex-wrap: wrap;
    gap: 0 30px;
    border-top: solid 1px var(--border-gray);
    border-bottom: solid 1px var(--border-gray);
}
.hall-intro:not(:last-of-type){
    border-bottom: none;
}
.hall-intro-item{
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    width: calc((100% - 60px) / 3);
    padding: 55px 0 60px;
}
.hall-intro-item-title{
    margin-bottom: 24px;
    font-size: 2rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
.hall-intro-item__text{
    color: var(--text-gray);
    line-height: calc(1em + 14px);
}
.hall-intro-item__text:not(:last-child){
    margin-bottom: 33px;
}
.hall-intro-item-btn{
    align-self: flex-start;
    width: 100%;
}
.hall-intro-item-btn:not(:last-of-type){
    margin-bottom: 15px;
}
.hall-intro-item-btn__link{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 50px;
    padding: 10px;
    border: solid 1px var(--border-gray);
    font-weight: bold;
}
.hall-intro-item-btn__link.is--file_pdf::before{
    flex: 0 0 17px;
    height: 20px;
    margin-right: 8px;
    background: url(../images/icon_pdf_black.svg) no-repeat center / contain;
    content: "";
}
.hall-intro-item-btn__link.is--file_file::before{
    flex: 0 0 20px;
    height: 20px;
    margin-right: 8px;
    background: url(../images/icon_file.svg) no-repeat center / contain;
    content: "";
}
.hall-intro-item-btn__link .link_icon{
    margin-left: 5px;
}
.hall-intro-item-btn__link .link_icon img{
    width: 30px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .hall-intro{
        display: block;
        padding-top: 30px;
        border-bottom: none;
    }
    .hall-intro:not(:last-of-type){
        border-bottom: none;
    }
    .hall-intro-item{
        min-width: 0;
        width: 100%;
        padding: 0 0 31px;
        border-bottom: solid 1px var(--border-gray);
    }
    .hall-intro:not(:last-of-type) .hall-intro-item:last-child{
        border-bottom: none;
    }
    .hall-intro-item:not(:last-child){
        margin-bottom: 26px;
    }
    .hall-intro-item-title{
        margin-bottom: 10px;
    }
    .hall-intro-item__text{
        line-height: calc(1em + 11px);
    }
    .hall-intro-item__text:not(:last-child){
        margin-bottom: 25px;
    }
    .hall-intro-item-btn__link .link_icon img{
        width: 30px;
    }
}
/* hall-file-list */
.hall-file-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
.hall-file-list-item{
    flex: 0 0 calc((100% - 60px) / 3);
}
.hall-file-list-item__link{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 54px;
    padding: 10px 5px;
    border: solid 1px var(--border-gray);
    font-weight: bold;
    line-height: calc(1em + 2px);
    text-align: center;
}
.hall-file-list-item-inner .is--small{
    display: inline-block;
    font-size: 1.2rem;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .hall-file-list{
        gap: 10px 6px;
    }
    .hall-file-list-item{
        flex: 0 0 calc(50% - 3px);
    }
    .hall-file-list-item__link{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        height: 100%;
        min-height: 54px;
        padding: 10px 5px;
        border: solid 1px var(--border-gray);
        font-weight: bold;
        line-height: calc(1em + 2px);
        text-align: center;
    }
    .hall-file-list-item-inner .is--small{
        display: inline-block;
        font-size: 1.2rem;
    }
}

/*-------------
top-price__hall-intro
-------------*/
.top-price__hall-intro{
    display: flex;
    gap: 30px;
    width: var(--inner-width);
    margin: 60px auto 0;
    padding-top: 60px;
    border-top: solid 1px var(--border-gray);
}
.top-price__hall-intro .hall-intro-item-btn{
    flex: 0 0 auto;
    width: calc((100% - 60px) / 3);
    margin: 0;
}
.top-price__hall-intro .hall-intro-item-btn__link{
    background: #fff;
    font-size: 1.8rem;
    font-weight: bold;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .top-price__hall-intro{
        display: block;
        margin-top: 35px;
        padding-top: 35px;
    }
    .top-price__hall-intro .hall-intro-item-btn{
        width: 100%;
    }
    .top-price__hall-intro .hall-intro-item-btn:not(:last-child){
        margin-bottom: 15px;
    }
    .top-price__hall-intro .hall-intro-item-btn__link{
        font-size: 1.6rem;
    }
}

/*----------------------
page-header
------------------------*/
.page-header{
    padding: 60px 0;
    box-sizing: border-box;
    background: var(--bg-black--100);
}
.page-header-inner{
    width: var(--inner-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    position: relative;
    padding-top: 30px;
}
.page-header-inner::before{
    content: "";
    background: #fff;
    width: 40px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 0;
}
.page-header-title::before {
    display: block;
    font-family: var(--font-en);
    font-size: 5.0rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .1em;
    content: attr(data-title-en);
    margin-bottom: 20px;
}
.page-header-title__main{
    font-size: 1.6rem;
    font-weight: bold;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .page-header{
        padding: 20px 0;
    }
    .page-header-inner{
        padding-top: 20px;
    }
    .page-header-title::before {
        font-size: 3.0rem;
        margin-bottom: 15px;
    }
    .page-header-title__main{
        font-size: 1.5rem;
    }
}
/*--------------------
content
--------------------*/
/*section-title1*/
.section-title1{
    color: #fff;
    max-width: var(--inner-width);
    font-size: 2.6rem;
    font-weight: bold;
    margin: 0 auto 30px;
    padding-left: 15px;
    border-left: solid 6px #fff;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .section-title1{
        font-size: 2.0rem;
        border-left: solid 4px #fff;
        margin-bottom: 20px;
    }
}
/*--------------------
about
--------------------*/
.about .top-hall-lead::before{
    width: 100%;
}
.about-title{
    margin-bottom: 60px;
    position: relative;
}
.about-title::before {
    content: "";
    background: #fff;
    width: 40px;
    height: 1px;
    position: absolute;
    top: -45px;
    left: 0;
}
.about-title-inner {
    font-size: 1.6rem;
    font-weight: bold;
}
.about-title-main::before {
    display: block;
    font-family: var(--font-en);
    font-size: 5.0rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .1em;
    content: attr(data-title-en);
    margin-bottom: 20px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .about .top-hall-lead{
        width: 100%;
    }
    .about .top-hall-lead-pic {
        margin: 6px calc(-1 * (var(--inner-sidespace--sp) * 2)) 5px 15px;
    }
    .about-title{
        margin-bottom: 20px;
        padding-top: 20px;
    }
    .about-title::before {
        top: 0;
    }
    .about-title-inner {
        font-size: 1.5rem;
    }
    .about-title-main::before {
        font-size: 3.0rem;
        margin-bottom: 15px;
    }
}
/*--------------------
contact
--------------------*/
body.contact .mw_wp_form{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 120px;
    box-sizing: border-box;
}
body.contact .section-title1 span.confirm{
    display: none;
    color: var(--text-green);
}
body.contact .section-title1 span.confirm:before{
    content: "-";
    color: #fff;
}
.contact-text{
    margin-bottom: 30px;
}
.contact-text p{
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
.contact-text p.text_confirm{
    display: none;
}
.contact-text p a{
    color: var(--text-green);
    text-decoration: underline;
}
.contact-text p .required{
    width: 40px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    color: var(--text-green);
    font-size: 1.4rem;
    font-weight: bold;
    margin-right: 4px;
    border: solid 1px var(--text-green);
}
.mw_wp_form_preview .contact-tb .code.none{
    display: none;
}
.contact-main{
    padding: 60px 100px 90px;
    box-sizing: border-box;
    border: solid 1px var(--main-gray);
}
.contact-tb{
    width: 100%;
    border-top: solid 1px var(--main-gray);
}
.contact-tb tr{
    border-bottom: solid 1px var(--main-gray);
}
.contact-tb tr th{
    width: 220px;
    padding: 35px 0;
    box-sizing: border-box;
    position: relative;
    font-size: 1.6rem;
}
.contact-tb tr th span{
    width: 40px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    color: var(--text-green);
    font-size: 1.4rem;
    font-weight: bold;
    border: solid 1px var(--text-green);
    position: absolute;
    top: 35px;
    right: 0;
}
.contact-tb tr td{
    padding: 20px 0 20px 20px;
    box-sizing: border-box;
    font-size: 1.6rem;
}
.contact-tb tr td input{
    color: var(--sub-black);
    width: 100%;
    height: 50px;
    padding: 5px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
}
.contact-tb tr td textarea{
    color: var(--sub-black);
    width: 100%;
    height: 150px;
    padding: 5px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
}
.contact-tb tr td input#zip {
    width: 240px;
}
.contact-main .contact-tb .code{
    margin-bottom: 15px;
}
.contact-btn{
    margin-top: 40px;
}
.contact-btn input{
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid 1px #fff;
    width: 100%;
    height: 60px;
    margin: 0 auto;
}
.contact-btn_send{
    width: 400px;
    margin: 0 auto;
    position: relative;
}
.contact-btn_send:before {
    content: "";
    background: url(../images/icon_btn_white.svg) no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    margin-left: 15px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 95px;
    margin: auto;
}
/*mw_wp_form_confirm*/
.mw_wp_form_confirm .contact-tb tr th {
    color: var(--sub-gray);
    padding: 30px 0;
}
.mw_wp_form_confirm .contact-tb tr td{
    padding: 30px 0 30px 20px;
}
.mw_wp_form_confirm .contact-tb tr th span{
    display: none;
}
.mw_wp_form_confirm .contact-main .contact-tb .code{
    margin-bottom: 5px;
}
.mw_wp_form_confirm .contact-btn{
    display: flex;
    justify-content: space-between;
    width: 615px;
    margin: 40px auto 0;
}
.mw_wp_form_confirm .contact-btn_back{
    flex: 0 1 200px;
    width: 200px;
}
.mw_wp_form_confirm .contact-btn_back input{
    border: solid 1px var(--sub-gray);
    color: var(--sub-gray);
}
.mw_wp_form_confirm .contact-btn_send{
    flex: 0 1 400px;
    width: 400px;
}
.mw_wp_form_confirm .contact-btn_send input{
    border: solid 1px var(--text-green);
    color: var(--text-green);
}
.mw_wp_form_confirm .contact-btn_send:before {
    content: "";
    background: url(../images/icon_btn_yellow.svg) no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    margin-left: 15px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 95px;
    margin: auto;
}
.mw_wp_form_confirm .text_input{
    display: none;
}
.mw_wp_form_confirm .contact-text p.text_confirm{
    display: block;
}
body.contact .mw_wp_form_confirm .section-title1 span.confirm {
    display: inline-block;
    color: var(--text-green);
}
.contact-complete__btn{
    width: 400px;
    height: 60px;
    margin-top: 50px;
}
.contact-complete__btn a{
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    height: 100%;
    padding: 10px;
    border: solid 1px #fff;
    color: #fff;
    font-weight: bold;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    body.contact .mw_wp_form{
        width: 100%;
    }
    .contact-text {
        width: 100%;
        margin: 0 auto;
        padding: 0 var(--inner-sidespace--sp) 30px;
        border-bottom: solid 1px var(--main-gray);
    }
    .contact-text .section-title1{
        width: 100%;
        margin: 0 0 20px;
    }
    .contact-main {
        padding: 0;
        box-sizing: border-box;
        border: none;
    }
    .contact-tb{
        width: var(--inner-width);
        margin: 0 auto;
        border-top: none;
    }
    .contact-tb tr th {
        width: 100%;
        padding: 20px 0 5px;
        display: block;
        font-size: 1.5rem;
    }
    .contact-tb tr th span {
        width: 40px;
        height: 20px;
        display: inline-flex;
        margin-right: 8px;
        color: var(--text-green);
        font-size: 1.3rem;
        position: static;
    }
    .contact-tb tr td {
        display: block;
        padding: 5px 0 20px;
        box-sizing: border-box;
        font-size: 1.5rem;
    }
    .contact-btn_send {
        width: var(--inner-width);
        margin: 0 auto;
        position: relative;
    }
    .contact-btn input {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        font-weight: bold;
        border: solid 1px #fff;
        width: 100%;
        height: 55px;
        margin: 0 auto;
    }
    .contact-btn_send:before {
        right: 22%;
    }
    .mw_wp_form_confirm .contact-tb tr th {
        padding: 20px 0 5px;
    }
    .mw_wp_form_confirm .contact-tb tr td {
        padding: 5px 0 20px;
    }
    .mw_wp_form_confirm .contact-btn {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        width: var(--inner-width);
        margin: 10px auto 0;
        flex-flow: column-reverse;
    }
    .mw_wp_form_confirm .contact-btn_send {
        flex: 0 1 55px;
        width: 100%;
        margin-bottom: 15px;
    }
    .mw_wp_form_confirm .contact-btn_back {
        flex: 0 1 55px;
        width: 50%;
    }
    .mw_wp_form_confirm .contact-btn_send:before {
        right: 23%;
    }
    .contact-complete__btn {
        width: 100%;
        height: 55px;
        margin-top: 35px;
    }
    .contact-complete__btn a {
        font-size: 1.5rem;
    }
    .mw_wp_form_complete .contact-text{
        border-bottom: none;
        padding-bottom: 0;
    }
}
/*--------------------
event-list
--------------------*/
.event-list{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 100px;
    box-sizing: border-box;
}
.event-list_filter{
    margin-bottom: 30px;
}
.event-list_filter form{
    display: flex;
}
.select_category,
.select_date{
    width: 200px;
    position: relative;
}
.select_category{
    margin-right: 20px;
}
.select_category label,
.select_date label{
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
}
.select_category select,
.select_date select{
    width: 100%;
    height: 100%;
    border: solid 1px var(--main-gray);
    padding: 10px 15px;
    box-sizing: border-box;
    height: 45px;
}
.select_category option,
.select_date option{
    background: var(--bg-black--100);
    border-radius: 0;
}
.select_category::after,
.select_date::after {
    content: "";
    position: absolute;
    right: 15px;
    bottom: 18px;
    margin: auto;
    width: 7px;
    height: 7px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    pointer-events: none;
}
.event-list_main{
    border-top: solid 1px var(--border-gray);
}
.event-list_main .post{
    border-bottom: solid 1px var(--border-gray);
}
.event-list_link{
    padding: 25px 90px;
    box-sizing: border-box;
}
.event-list_link_wrapper{
    display: flex;
}
.event-list_image{
    width: 200px;
    flex: 0 0 200px;
    margin-right: 40px;
}
.event-list_image img{
    width: 100%;
    height: auto;
    /* aspect-ratio: 5 / 7; */
    /* object-fit: cover; */
}
.event-list_content{
    flex: 0 1 100%;
    padding: 0 20px;
}
.event-list_image + .event-list_content{
    padding: 10px 0 0 0;
}
.event-list_dates{
    border-bottom: solid 1px var(--border-gray);
    padding-bottom: 20px;
    margin-bottom: 30px;
    display: flex;
}
.event-list_dates:not(:last-of-type) {
    padding-bottom: 0;
    margin-bottom: 5px;
    border-bottom: none;
}
.event-list_start-date_year{
    display: block;
    font-family: var(--font-en--serif);
    font-size: 1.6rem;
    font-weight: bold;
}
.event-list_start-date_md{
    display: flex;
    align-items: center;
}
.event-list_date_text{
    font-family: var(--font-en--serif);
    font-size: 3.6rem;
    font-weight: bold;
}
.event-list_date_text.date-day:before{
    content: "";
    background: #fff;
    width: 1px;
    height: 24px;
    display: inline-block;
    transform: rotate(20deg);
    margin: 0 10px 0 8px;
}
.event-list_end-date{
    position: relative;
    padding-left: 30px;
    margin-left: 10px;
}
.event-list_end-date:before{
    content: "～";
    font-family: var(--font-sans-serif);
    font-size: 2.0rem;
    font-weight: bold;
    position: absolute;
    left: 0;
    bottom: 6px;
}
.event-list_content-info{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.event-list_content-info p:nth-of-type(2){
    border-left: solid 1px var(--border-gray);
    margin-left: 12px;
    padding-left: 12px;
}
.event-list_facility{
    font-size: 1.6rem;
}
.event-list_time{
    color: var(--text-green);
    font-size: 1.6rem;
}
.event-list_title{
    font-size: 2.6rem;
    font-weight: bold;
}
.event-list_text{
    margin-top: 5px;
}
.event-list_nav{
    margin-top: 30px;
}
.event-list_date_week{
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: solid 1px #fff;
    border-radius: 50%;
    margin-left: 8px;
}
.pagination-links{
    height: 60px;
    width: 100%;
    position: relative;
}
.pagination-links a{
    position: absolute;
    top: 0;
    font-size: 1.5rem;
}
.pagination-links a span{
    color: var(--sub-gray);
    font-family: var(--font-en);
    font-size: 1.3rem;
    font-weight: normal;
    display: block;
    margin-top: 10px;
}
.pagination-links .prev{
    left: 0;
    padding-left: 80px;
    box-sizing: border-box;
}
.pagination-links .next{
    right: 0;
    text-align: right;
    padding-right: 80px;
    box-sizing: border-box;
}
.pagination-links .next:before{
    content: "";
    background: url(../images/icon_y.svg) no-repeat;
    background-size: cover;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.pagination-links .prev:before{
    content: "";
    background: url(../images/icon_y.svg) no-repeat;
    background-size: cover;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(180deg);
}

/*--- sp ---*/
@media screen and (max-width:768px){
    .event-list {
        width: 100%;
        padding: 40px 0 100px;
    }
    .event-list_filter form{
        display: block;
    }
    .event-list_filter{
        border-bottom: solid 1px var(--border-gray);
        margin-bottom: 0;
        padding: 0 var(--inner-sidespace--sp) 30px;
        box-sizing: border-box;
    }
    .event-list_main {
        border-top: none;
    }
    .select_category, .select_date {
        width: 100%;
        display: flex;
        align-items: center;
    }
    .select_date {
        margin-top: 10px;
    }
    .event-list_filter form > div label{
        width: 70px;
        margin-bottom: 0;
    }
    .event-list_link {
        padding: 25px var(--inner-sidespace--sp);
        box-sizing: border-box;
        display: block;
    }
    .event-list_image {
        width: 80px;
        flex: 0 0 80px;
        margin-right: 12px;
    }
    .event-list_content{
        padding: 0;
    }
    .event-list_image + .event-list_content {
        padding-top: 0;
    }
    .event-list_image + .event-list_content .event-list_dates {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 10px;
        display: block;
    }
    .event-list_content .event-list_dates{
        display: flex;
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .event-list_start-date_year {
        font-size: 1.4rem;
    }
    .event-list_date_text {
        font-size: 3.0rem;
    }
    .event-list_start-date:has(+ .event-list_end-date){
        position: relative;
    }
    .event-list_start-date:has(+ .event-list_end-date) .event-list_start-date_md:after {
        content: "～";
        font-family: var(--font-sans-serif);
        font-size: 1.3rem;
        font-weight: bold;
        margin-left: 8px;
    }
    .event-list_end-date:before {
        content: none;
    }
    .event-list_end-date{
        padding-left: 0;
    }
    .event-list_image + .event-list_content .event-list_end-date {
        position: relative;
        padding-left: 0;
        margin-left: 0;
    }
    .event-list_date_text.date-day:before{
        height: 20px;
    }
    .event-list_content-info {
        display: flex;
        align-items: flex-start;
        margin-bottom: 0;
        flex-flow: column-reverse;
    }
    .event-list_content-info p:nth-of-type(2) {
        border-left: none;
        margin-left: 0;
        padding-left: 0;
    }
    .event-list_facility{
        border: solid 1px var(--border-gray);
        padding: 3px 10px;
        box-sizing: border-box;
    }
    .event-list_facility + .event-list_time{
        margin-bottom: 10px;
    }
    .event-list_link_wrapper{
        margin-bottom: 15px;
    }
    .event-list_title {
        font-size: 2.0rem;
        font-weight: bold;
    }
    .pagination-links {
        height: auto;
        width: var(--inner-width);
        position: relative;
        margin: 0 auto;
    }
    .pagination-links .prev:before {
        width: 50px;
        height: 50px;
    }
    .pagination-links .next:before {
        width: 50px;
        height: 50px;
        top: 15px;
    }
    .pagination-links a {
        position: relative;
        display: block;
    }
    .pagination-links .prev {
        left: 0;
        padding-left: 65px;
        box-sizing: border-box;
    }
    .pagination-links .prev + .next{
        border-top: solid 1px var(--border-gray);
        padding-top: 20px;
        margin-top: 20px;
    }
    .pagination-links .next {
        right: 0;
        text-align: right;
        padding-right: 65px;
        box-sizing: border-box;
    }
}
.no-event{
    padding: 30px 0 20px;
    box-sizing: border-box;
}
.top-price-text{
    text-align: center;
    margin-bottom: 30px;
}
.top-price-text span{
    padding: 0;
    color: var(--text-red);
    font-size: 2.7rem;
    font-weight: bold;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .top-price-text{
        text-align: center;
    }
    .top-price-text span{
        font-size: 1.8rem;
    }
    .no-event{
        padding: 30px var(--inner-sidespace--sp) 20px;
        box-sizing: border-box;
    }
}
/*------------------------
reservation
-------------------------*/
#contents.reservation{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 120px;
    box-sizing: border-box;
}
.contact-tb.confirm tr th {
    color: var(--sub-gray);
    padding: 30px 0;
}
.contact-tb.confirm tr td{
    padding: 30px 0 30px 20px;
}
.form-basic__btnlist{
    display: flex;
    align-items: center;
    min-height: 50px;
}
.form-basic__btnlist li:not(:last-child){
    margin-right: 20px;
}
.contact-tb tr td input[type="radio"] {
    width: 15px;
    height: 15px;
    padding: 0;
    background: none;
    border-radius: 0;
    margin-right: 5px;
}
.contact-tb tr td input[type="date"]{
    width: 300px;
}
.use-period li:not(:last-child){
    margin-bottom: 10px;
}
.use-period li label{
    margin-right: 8px;
}
.use-period2{
    display: flex;
    align-items: center;
}
.use-period2 li:first-child:after{
    content: "～";
    margin: 0 8px;
}
.form-consent{
    margin-top: 40px;
    text-align: center;
    font-size: 1.6rem;
}
.form-consent p:not(:last-child){
    margin-bottom: 15px;
}
.form-consent p a{
    color: var(--text-green);
    text-decoration: underline;
}
.form-consent p input {
    width: 15px;
    height: 15px;
    padding: 0;
    background: none;
    border-radius: 0;
    margin-right: 5px;
}
.form-basic-btn-block{
    display: flex;
    justify-content: center;
    margin-top: 30px;
}
.form-basic-submit-btn{
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid 1px #fff;
    width: 400px;
    height: 60px;
    margin: 0 auto;
}
.form-basic-submit-btn-inner{
    display: flex;
    align-items: center;
    text-align: center;
    font-size: 1.6rem;
}
.form-basic-submit-btn-inner:after{
    content: "";
    background: url(../images/icon_btn_white.svg) no-repeat;
    background-size: auto;
    background-size: cover;
    width: 20px;
    height: 20px;
    margin-left: 8px;
    display: inline-block;
}
.confirm .use-period li{
    display: flex;
}
.form-basic-btn-block.confirm{
    justify-content: center;
    flex-flow: row-reverse;
}
.confirm .form-basic-submit-btn {
    color: var(--text-green);
    border: solid 1px var(--text-green);
    margin: 0;
}
.confirm .form-basic-submit-btn-inner:after {
    content: "";
    background: url(../images/icon_btn_yellow.svg) no-repeat;
}
.form-basic-submit-btn.is-back{
    width: 200px;
    margin: 0 10px 0 0;
    border: solid 1px var(--sub-gray);
    color: var(--sub-gray);
}
.form-basic-submit-btn.is-back span:after{
    content: none;
}
#calendar-error1 a{
    text-decoration: underline;
}
#calendar-error1 a:hover{
    text-decoration: none;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    #contents.reservation{
        width: 100%;
    }
    .use-period li{
        display: flex;
        align-items: center;
    }
    .contact-tb tr td input[type="date"]{
        width: 100%;
    }
    .use-period li label{
        flex: 0 0 auto;
    }
    .use-period li input[type="date"]{
        flex: 0 1 100%;
    }
    .use-period2{
        display: block;
        align-items: center;
    }
    .confirm .use-period2{
        display: flex;
        align-items: center;
    }
    .use-period2 li:after{
        display: inline;
    }
    .use-period2 li:first-child{
        margin-bottom: 10px;
    }
    .confirm .use-period2 li:first-child{
        margin-bottom: 0;
    }
    .use-period2 li input{
        width: 80%!important;
    }
    .form-basic-btn-block{
        display: block;
        width: var(--inner-width);
        margin: 30px auto 0;
    }
    .form-basic-submit-btn{
        width: 100%;
        height: 55px;
    }
    .form-basic-submit-btn-inner{
        font-size: 1.5rem;
    }
    .contact-tb.confirm tr th {
        padding: 20px 0 5px;
    }
    .contact-tb.confirm tr td {
        padding: 5px 0 20px;
    }
    .confirm .form-basic-submit-btn{
        margin-bottom: 15px;
    }
    .form-basic-btn-block.confirm{
        margin-top: 30px;
    }
}
/*privacy-policy*/
.privacy-policy .top-section-title2{
    margin: 120px 0 50px;
}
.privacy-policy .privacy-sect a{
    text-decoration: underline;
}
.privacy-footer a{
    text-decoration: underline;
}
.privacy-footer a[href^="tel:"]{
    pointer-events: none;
    text-decoration: none;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .privacy-policy .top-section-title2{
        margin: 40px 0;
    }
    .privacy-footer a[href^="tel:"]{
        pointer-events:all;
        text-decoration: underline;
    }
}
/*-------------
event-detail
-------------*/
.page-header.event{
    padding-bottom: 100px;
}
.event .page-header-inner {
    padding-top: 0;
}
.event .page-header-inner::before {
    content: none;
}
.event .page-header-title::before{
    font-size: 1.6rem;
    padding-left: 60px;
    letter-spacing: 0.2rem;
}
.event .page-header-title::after {
    content: "";
    background: #fff;
    width: 40px;
    height: 1px;
    position: absolute;
    top: 6px;
    left: 0;
}
.event .page-header-title__main {
    font-size: 4.0rem;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .page-header.event{
        padding-bottom: 30px;
    }
    .event .page-header-title::before {
        font-size: 1.3rem;
        padding-left: 60px;
    }
    .event .page-header-title__main {
        font-size: 2.4rem;
    }
    .event-detail-content{
        margin-top:20px;
    }
}
/*event-detail-main*/
.event-detail-main-tb td span.end:before{
    content: "～";
    margin-right: 8px;
}
.event-detail{
    width: var(--inner-width);
    padding: 45px 0 100px;
    margin: 0 auto;
}
.event-detail-main{
    display: flex;
    padding-bottom: 100px;
    border-bottom: solid 1px var(--main-gray);
}
.event-detail-main-left{
    margin-right: 40px;
    flex: 0 0 480px;
}
.event-detail-main__image{
    margin-top: 0;
    margin-bottom: 8px;
}
.event-detail-main__image img{
    width: 100%;
}
.event-detail-main__file{
    width: 100%;
    height: 55px;
}
.event-detail-main__file a{
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    border: solid 1px #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.event-detail-main__file a:before{
    content: "";
    background: url(../images/icon_pdf_white.svg) no-repeat;
    background-size: cover;
    width: 17px;
    height: 20px;
    margin-right: 10px;
}
.event-detail-main-tb{
    margin-bottom: 50px;
}
.event-detail-main-tb tr:not(:last-child){
    border-bottom: solid 1px var(--main-gray);
}
.event-detail-main-tb tr th{
    width: 135px;
    color: var(--sub-gray);
    font-weight: bold;
    padding: 20px 15px 20px 0;
    box-sizing: border-box;
    font-size: 1.5rem;
}
.event-detail-main-tb tr td{
    padding: 20px 15px;
    box-sizing: border-box;
    position: relative;
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
.event-detail-main-tb tr td:before{
    content: "";
    background: var(--main-gray);
    width: 1px;
    height: calc(100% - 40px);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
.event-detail-main-tb tr td a{
    text-decoration: underline;
}
.event-detail-main-sns{
    display: flex;
    justify-content: flex-end;
}
.event-detail-main-sns li:not(:last-child){
    margin-right: 15px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .event-detail {
        padding: 0 0 100px;
        margin: 0 auto;
    }
    .event-detail-main {
        display: block;
        padding-bottom: 60px;
    }
    .event-detail-main-left {
        width: 55.1724%;
        margin: 0 auto;
    }
    .event-detail-main{
        margin-top: 0;
    }
    .event-detail-main__image {
        margin-top: 0;
        position: relative;
    }
    .event-detail-main__image:before{
        content: "";
        background: var(--bg-black--100);
        width: 100vw;
        height: calc(50% + 25px);
        position: absolute;
        top: -25px;
        left: -25VW;
        z-index: 0;
    }
    .event-detail-main__image img{
        position: relative;
        z-index: 1;
    }
    .event-detail-main-tb tr th {
        width: 100%;
        padding: 20px 0 5px;
        font-size: 1.4rem;
        display: block;
    }
    .event-detail-main-tb tr td{
        padding: 5px 0 20px;
        font-size: 1.4rem;
        display: block;
        line-height: calc(1em + 12px);
    }
    .event-detail-main-tb tr{
        border-bottom: solid 1px var(--main-gray);
    }
    .event-detail-main__file{
        margin-bottom: 25px;
    }
    .event-detail-main-sns li img{
        width: 32px;
    }
}

/*-------------
calendar
-------------*/
.calendars-lead{
    max-width: var(--inner-width);
    margin: 0 auto 40px;
}
.calendars-lead__text,
.calendars-lead__info{
    font-size: 1.5rem;
    line-height: calc(1em + 10px);
}
.calendars-lead__info{
    margin-top: 17px;
    padding: 14px 0 16px;
    border-top: solid 1px var(--border-gray);
    border-bottom: solid 1px var(--border-gray);
}
.calendars-container{
    position: relative;
}
.calendars-changer{
    position: relative;
    width: 200px;
    height: 45px;
    margin-bottom: 20px;
}
.calendars-changer::after{
    position: absolute;
    top: calc(50% - 3.5px);
    right: 15px;
    width: 7px;
    height: 7px;
    background-color: var(--sub-gray);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    pointer-events: none;
}
.calendars-changer__select{
    width: 100%;
    height: 100%;
    padding: 10px 15px;
    border: solid 1px var(--main-gray);
    font-size: 1.5rem;
}
.calendars-changer__select option{
    background: var(--bg-black--100);
    border-radius: 0;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .calendars-lead{
        margin-bottom: 20px;
    }
    .calendars-container{
        position: relative;
        padding: 20px var(--inner-sidespace--sp) 40px;
        background: var(--bg-black--100);
    }
    .calendars-changer{
        display: block;
        position: absolute;
        top: 20px;
        right: var(--inner-sidespace--sp);
        z-index: 2;
        width: 122px;
        height: 42px;
    }
    .calendars-changer::after {
        position: absolute;
        top: calc(50% - 4px);
        right: 10px;
        width: 8px;
        height: 8px;
    }
    .calendars-changer__select{
        padding: 10px;
        font-size: 1.4rem;
    }
    .calendars-changer__select option{
        background: var(--bg-black--100);
        border-radius: 0;
    }
}
/* calendar */
.calendars-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 8px;
    position: relative;
}   
.calendar{
    flex: 0 0 596px;
    position: relative;
    padding: 19px 15px 40px;
    background: var(--bg-black--100);
}
.calendar:not(.is--show){
    display: none;
}
.calendar-head{
    display: flex;
    align-items: flex-end;
    margin-bottom: 10px;
    font-family: var(--font-en--serif);
    line-height: 1;
    white-space: nowrap;
}
.calendar-head__year{
    min-width: 60px;
    padding-bottom: 8px;
    font-size: 2rem;
    font-weight: bold;
}
.calendar-head__month{
    flex: 0 0 auto;
    min-width: 49px;
    margin-left: 2px;
    font-size: 42px;
    font-weight: normal;
    text-align: center;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .calendars-wrapper{
        display: block;
    }   
    .calendar{
        padding: 0;
    }
    .calendar-head{
        margin-bottom: 15px;
    }
}
/* calendar-table */
.calendar-table{
    width: 100%;
    color: #fff;
    table-layout: fixed;
}
.calendar:not(.is--ready) .calendar-table{
    opacity: 0;
}
.calendar-table__week th{
    padding-bottom: 5px;
    font-family: var(--font-en);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}
.calendar-table__week th:first-child{
    color: var(--text-red2);
}
.calendar-table__week th:last-child{
    color: var(--text-blue);
}
.calendar-table__week + tr{
    border-top: solid 1px var(--sub-gray);
}
.calendar-table td{
    position: relative;
    border-bottom: solid 1px var(--sub-gray);
}
.calendar-table td:not(:first-child){
    border-left: solid 1px var(--sub-gray);
}
.calendar-table__day{
    display: flex;
    flex-direction: column;
    position: relative;
    aspect-ratio: 1 / 1;
}
.calendar-table td.is--empty::before{
    content: "";
}
.calendar-table td.is--empty::before,
.calendar-table__day-head{
    display: flex;
    flex-direction: column;
    min-height: 25px;
    padding: 2px;
    border-bottom: dotted 1px var(--sub-gray2);
}
.calendar-table__day-head-inner{
    display: flex;
    flex: 1;
    align-items: center;
    height: 100%;
    padding: 0 5px;
    font-family: var(--font-en2);
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
}
td:first-child .calendar-table__day-head-inner,
td[data-holiday] .calendar-table__day-head-inner{
    color: var(--text-red2);
}
td:not([data-holiday]):last-child .calendar-table__day-head-inner{
    color: var(--text-blue);
}
td.is--current .calendar-table__day-head-inner{
    background: var(--bg-orange);
    color: #fff!important;
}
td.is--gone .calendar-table__day-head-inner{
    opacity: .4;
}
td.is--gone .calendar-table__day::after{
    content: "";
}
td.is--gone .calendar-table__day::after,
.calendar-table__day-status{
    flex: 1 1 auto;
    position: relative;
}
.calendar.is--ready td:not(.is--reserved) .calendar-table__day-status::before{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 18px;
    height: 18px;
    border: solid 1px #fff;
    border-radius: 50%;
    content: "";
}
.calendar.is--ready td:is(.is--extra,.is--soon) .calendar-table__day-status::before{
    content: none;
}
td.is--reserved .calendar-table__day-status::after{
    opacity: .4;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    width: 19px;
    height: 19px;
    background: linear-gradient(to right,#fff,#fff) no-repeat top center / 1px 100%,
    linear-gradient(to top,#fff,#fff) no-repeat left center / 100% 1px;
    content: "";
}
td:not(.is--extra) .calendar-table__day-status__hidden-text{
    opacity: 0;
    position: absolute;
    pointer-events: none;
}
.calendar.is--ready td.is--extra .calendar-table__day-status__hidden-text{
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    position: static;
    width: 100%;
    height: 100%;
    padding: 4px 5px 6px;
    font-size: 1.2rem;
}
.calendar.is--ready td.is--soon .calendar-table__day-status::after{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 19px;
    height: 1px;
    background: #fff;
    content: "";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .calendar-table td.is--empty::before,
    .calendar-table__day-head{
        min-height: 23px;
    }
    .calendar-table__day-head-inner{
        font-size: 1.2rem;
    }
    td.is--gone .calendar-table__day::after,
    .calendar-table__day-status{
        min-height: 36px;
    }
    .calendar.is--ready td:not(.is--reserved) .calendar-table__day-status::before{
        width: 16px;
        height: 16px;
    }
    td.is--reserved .calendar-table__day-status::after{
        width: 17px;
        height: 17px;
    }
    .calendar.is--ready td.is--extra .calendar-table__day-status__hidden-text{
        padding: 3px;
        font-size: 1rem;
    }
}
/* calendar-loading */
.calendar-loading{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}
.calendar-loading::after{
    position: absolute;
    top: calc(50% - .5em);
    left: calc(50% - .5em);
    width: 1em;
    height: 1em;
    border-radius: 50%;
    font-size: 10px;
    animation: loading 1s infinite ease;
    content: "";
}
@keyframes loading{
    0%,
    100% {
    box-shadow: 0em -2.6em 0em 0em #ffffff, 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.5), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7);
    }
    12.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.7), 1.8em -1.8em 0 0em #ffffff, 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5);
    }
    25% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.5), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.7), 2.5em 0em 0 0em #ffffff, 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    37.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.5), 2.5em 0em 0 0em rgba(255, 255, 255, 0.7), 1.75em 1.75em 0 0em #ffffff, 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    50% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.5), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.7), 0em 2.5em 0 0em #ffffff, -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.2), -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    62.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.5), 0em 2.5em 0 0em rgba(255, 255, 255, 0.7), -1.8em 1.8em 0 0em #ffffff, -2.6em 0em 0 0em rgba(255, 255, 255, 0.2), -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    75% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.5), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.7), -2.6em 0em 0 0em #ffffff, -1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2);
    }
    87.5% {
    box-shadow: 0em -2.6em 0em 0em rgba(255, 255, 255, 0.2), 1.8em -1.8em 0 0em rgba(255, 255, 255, 0.2), 2.5em 0em 0 0em rgba(255, 255, 255, 0.2), 1.75em 1.75em 0 0em rgba(255, 255, 255, 0.2), 0em 2.5em 0 0em rgba(255, 255, 255, 0.2), -1.8em 1.8em 0 0em rgba(255, 255, 255, 0.5), -2.6em 0em 0 0em rgba(255, 255, 255, 0.7), -1.8em -1.8em 0 0em #ffffff;
    }
}

/*--------------------
reserve
--------------------*/
.reserve{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 90px;
    box-sizing: border-box;
}
.reserve-lead{
    width: var(--inner-width);
    margin: 0 auto 30px;
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .reserve{
        width: 100%;
        padding: 40px 0 60px;
    }
}

/*-------------
privacy
-------------*/
.page--privacy .main{
    padding-bottom: 100px;
}
.page--privacy .page-header-inner{
    padding-bottom: 60px;
}
.privacy{
    width: var(--inner-width);
    margin: -60px auto 0;
    padding: 53px 60px 60px;
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
.privacy-lead{
    margin-bottom: 60px;
    padding-bottom: 55px;
    border-bottom: solid 1px var(--main-lightgray);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .page--privacy .main{
        padding-bottom: 60px;
    }
    .page--privacy .page-header-inner{
        padding-bottom: 30px;
    }
    .privacy{
        margin-top: -30px;
        padding: 0;
        font-size: 1.3rem;
        line-height: calc(1em + 11px);
    }
    .privacy-body{
        padding: 24px var(--inner-sidespace--sp) 60px;
    }
    .privacy-lead{
        margin-bottom: 30px;
        padding-bottom: 25px;
    }
}
/* .privacy-sect */
.privacy-sect:not(:last-child){
    margin-bottom: 45px;
}
.privacy-sect-title{
    margin-bottom: 23px;
    padding: 0 0 2px 12px;
    border-left: solid 6px var(--main-lightgray);
    font-size: 2.6rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
.privacy-sect p:not(:last-child){
    margin-bottom: 10px;
}
.privacy-sect__list:not(:first-child){
    margin-top: 21px;
}
.privacy-sect__list:not(:last-child){
    margin-bottom: 20px;
}
.privacy-sect__list-item{
    position: relative;
    padding-left: 17px;
    line-height: calc(1em + 7px);
}
.privacy-sect__list-item:not(:last-child){
    margin-bottom: 11px;
}
.privacy-sect__list-item::before{
    position: absolute;
    top: .5em;
    left: 3px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--sub-gray);
    content: "";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .privacy-sect:not(:last-child){
        margin-bottom: 35px;
    }
    .privacy-sect-title{
        margin-bottom: 14px;
        padding-left: 9px;
        border-left-width: 4px;
        font-size: 1.8rem;
    }
    .privacy-sect p:not(:last-child){
        margin-bottom: 9px;
    }
    .privacy-sect__list:not(:first-child){
        margin-top: 15px;
    }
    .privacy-sect__list:not(:last-child){
        margin-bottom: 16px;
    }
    .privacy-sect__list-item:not(:last-child){
        margin-bottom: 8px;
    }
    .privacy-sect__list-item::before{
        top: calc(.5em + .5px);
    }
}
/* privacy-footer */
.privacy-footer{
    width: 50%;
    margin-top: 55px;
    padding: 22px 29px 24px;
    border: solid 1px var(--main-lightgray);
}
.privacy-footer p:not(:last-child){
    margin-bottom: 18px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .privacy-footer{
        width: 100%;
        margin-top: 0;
        padding: 19px var(--inner-sidespace--sp) 25px;
        border: none;
        border-top: solid 1px var(--main-lightgray);
    }
    .privacy-footer p:not(:last-child){
        margin-bottom: 9px;
    }
}

/*-------------
faq
-------------*/
.faq-contents{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 100px;
}
.faq-group-nav{
    margin-bottom: 75px;
    padding-bottom: 40px;
    border-bottom: solid 1px var(--border-gray);
}
.faq-group-nav-list{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.faq-group-nav-list-item{
    min-width: 150px;
}
.faq-group-nav-list-item__link{
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 100%;
    min-height: 55px;
    padding: 5px 22px 7px 19px;
    border: solid 1px var(--border-white);
    color: var(--text-white);
    font-size: 1.5rem;
    line-height: calc(1em + 6px);
}
.faq-group-nav-list-item__link::after{
    transform: rotate(45deg);
    width: 7px;
    height: 7px;
    margin: 2px 0 0 5px;
    border-top: solid 2px var(--border-white);
    border-right: solid 2px var(--border-white);
    content: "";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .faq-contents{
        padding: 40px 0 60px;
    }
    .faq-group-nav{
        margin-bottom: 45px;
        padding-bottom: 20px;
    }
    .faq-group-nav-list{
        gap: 8px 5px;
    }
    .faq-group-nav-list-item{
        min-width: 130px;
    }
    .faq-group-nav-list-item__link{
        min-height: 39px;
        padding: 5px 12px 7px 9px;
        font-size: 1.3rem;
    }
    .faq-group-nav-list-item__link::after{
        margin: 1px 0 0 6px;
    }
}
/* faq-group */
.faq-group:not(:last-child){
    margin-bottom: 75px;
}
.faq-group-title{
    margin-bottom: 30px;
    padding-bottom: 12px;
    border-bottom: solid 1px var(--border-white);
    color: var(--text-white);
    font-size: 2.6rem;
    font-weight: bold;
    line-height: calc(1em + 8px);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .faq-group:not(:last-child){
        margin-bottom: 45px;
    }
    .faq-group-title{
        margin-bottom: 20px;
        font-size: 2rem;
    }
}
/* faq-list */
.faq-list-item{
    border: solid 1px var(--border-white);
}
.faq-list-item:not(:last-child){
    margin-bottom: 15px;
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .faq-list-item:not(:last-child){
        margin-bottom: 10px;
    }
}
/* faq-list-item__q */
.faq-list-item__q{
    display: flex;
    align-items: center;
    position: relative;
    min-height: 68px;
    position: relative;
    padding: 19px 79px 21px;
    font-size: 1.8rem;
    line-height: calc(1em + 10px);
    cursor: pointer;
}
.faq-list-item__q::before{
    position: absolute;
    top: min(calc(50% - .5em),27px);
    left: 19px;
    width: 40px;
    font-size: 40px;
    font-family: var(--font-en);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    content: "Q";
}
.faq-list-item__q::after{
    position: absolute;
    top: calc(50% - 10px);
    right: 19px;
    transform: rotate(135deg);
    width: 20px;
    height: 20px;
    border: solid 1px var(--border-white);
    border-radius: 50%;
    background: linear-gradient(to top,#fff,#fff) no-repeat top 7px right 7px / 6px 1px,
    linear-gradient(to left,#fff,#fff) no-repeat top 7px right 7px / 1px 6px;
    content: "";
    transition: transform .3s ease;
}
.faq-list-item__q._open::after{
    transform: rotate(-45deg);
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .faq-list-item__q{
        min-height: 58px;
        padding: 11px 39px 13px 44px;
        font-size: 1.4rem;
        line-height: calc(1em + 6px);
    }
    .faq-list-item__q::before{
        top: min(calc(50% - .5em),16px);
        left: 9px;
        width: 30px;
        font-size: 30px;
    }
    .faq-list-item__q::after{
        top: calc(50% - 8px);
        right: 14px;
        width: 16px;
        height: 16px;
        background: linear-gradient(to top,#fff,#fff) no-repeat top 6px right 6px / 4px 1px,
        linear-gradient(to left,#fff,#fff) no-repeat top 6px right 6px / 1px 4px;
    }
}
/* faq-list-item__a */
.faq-list-item__a-wrap{
    overflow: hidden;
    transition: height .3s ease;
}
.faq-list-item__a-wrap:not(._open){
    height: 0!important;
}
.faq-list-item__a{
    padding: 0 19px;
}
.faq-list-item__a-inner{
    display: flex;
    align-items: center;
    position: relative;
    min-height: 89px;
    padding: 23px 0 25px 60px;
    border-top: solid 1px var(--border-gray);
    font-size: 1.5rem;
    line-height: calc(1em + 12px);
}
.faq-list-item__a-inner::before{
    position: absolute;
    top: min(calc(50% - .5em),30px);
    left: 0;
    width: 40px;
    color: var(--text-gray);
    font-size: 39px;
    font-family: var(--font-en);
    font-weight: bold;
    line-height: 1;
    text-align: center;
    content: "A";
}
@media screen and (max-width:768px){
    /*--- sp ---*/
    .faq-list-item__a{
        padding: 0 14px;
    }
    .faq-list-item__a-inner{
        min-height: 69px;
        padding: 17px 0 18px 30px;
        font-size: 1.3rem;
        line-height: calc(1em + 13px);
    }
    .faq-list-item__a-inner::before{
        top: min(calc(50% - .5em),20px);
        left: -5px;
        width: 30px;
        font-size: 29px;
    }
}
/*---------------
sin-header
------------------*/
.header.sin-header{
    background: var(--bg-black--100)!important;
}
.sin-header.hd-fix .header-logo img{
    width: 151px;
}
.header-nav-tretas{
    display: flex;
    align-items: center;
}
.sin-header.hd-fix .header-nav-tretas img{
    width: 104px;
}
.sin-header .header-nav-list-item__link{
    padding: 15px 10px;
}
@media screen and (max-width:768px){
    .sin-header.hd-fix .header-logo img{
        width: auto;
    }
    .header-nav-tretas{
        width: 90%;
        display: block;
        margin: 20px auto 0;
    }
    .header-nav-tretas img,
    .sin-header.hd-fix .header-nav-tretas img{
        width: 50%;
        height: auto;
    }
    .header-nav-tretas a{
        background: #fff;
        display: block;
        width: 100%;
        border-radius: 5px;
        text-align: center;
    }
}
/*------------------------
simulation
-------------------------*/
#contents.simulation{
    width: 1000px;
    margin: 0 auto;
    padding: 60px 0 120px;
    box-sizing: border-box;
}
#contents.simulation .contact-main {
    padding: 50px;
}
#contents.simulation .contact-text{
    color: var(--main-lightgray);
    position: relative;
}
#contents.simulation .contact-text p:not(:last-of-type){
    margin-bottom: 15px;
}
#contents.simulation .note{
    font-size: 1.5rem;
}
#contents.simulation .note span{
    color: var(--text-red);
}
#contents.simulation .note:not(:last-child){
    margin-bottom: 10px;
}
.simulation-text{
    color: #fff;
}
.simulation-text:before{
    content: "";
    width: 14px;
    height: 14px;
    background: var(--main-green);
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    #contents.simulation{
        width: 100%;
    }
    #contents.simulation .contact-main {
        width: 100%;
        margin: 0 auto 20px;
        padding: 0 var(--inner-sidespace--sp);
        box-sizing: border-box;
        border: none;
        border-bottom: solid 1px var(--sub-gray2);
        padding-bottom: 30px;
    }
    #contents.simulation .contact-text{
        margin-bottom: 30px;
    }
}
/*simulation-sec*/
.simulation-sec:not(:last-of-type){
    margin-bottom: 40px;
}
.simulation-sec__title{
    font-size: 2.0rem;
    color: #fff;
    font-weight: bold;
    margin-bottom: 20px;
}
.simulation-btn{
    position: absolute;
    top: 37px;
    right: 0;
}
.simulation-btn a{
    width: 240px;
    height: 50px;
    color: #fff;
    border: solid 1px var(--sub-gray);
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
}
.simulation-btn a:before{
    content: "";
    background: url(../images/icon_link.svg) no-repeat center / contain;
    width: 16px;
    height: 16px;
    margin-right: 8px;
}
.simulation-btn a:hover {
    cursor: pointer;
}
.simulation-btn.reset{
    top: 100px;
    right: 0;
}
.simulation-sec__text{
    color: var(--main-lightgray);
    margin-bottom: 25px;
}
#backBtns {
    display: flex;
    justify-content: center;
}

#backBtns .back-btn {
    margin: 20px 5px 0;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .simulation-sec__title{
        font-size: 1.8rem;
    }
    .simulation-btn{
        position: static;
        display: block;
        width: 82.76%;
        margin-bottom: 20px;
    }
}
/*facility-sec*/
.facility-sec{
    background: var(--bg-gray2);
    border-radius: 5px;
}
.facility-sec:not(:last-of-type){
    margin-bottom: 10px;
}
.facility-sec-check{
    pointer-events: none;
}
.facility-sec-check label{
    pointer-events: all!important;
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
    transition: all ease .3s;
}
/*facility-sec-check*/
.facility-sec-check{
    box-sizing: border-box;
    margin-top: 10px;
}
.facility-sec-check label{
    user-select: none;
    font-size: 1.4rem;
    width: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
    line-height: 1.2em;
    position: relative;
}
.facility-sec-check label span {
    user-select: none;
}
.facility-sec-check input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 18px;
    width: 18px;
    min-width: 18px;
    vertical-align: -0.8rem;
    transition: all .15s ease-out 0s;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    margin: 0 10px 0 0;
    outline: none;
    border-radius: 3px;
    border: solid 1px #fff;
    transition: all ease .3s;
    pointer-events: none;
}
.facility-sec-check input[type=checkbox]:before, 
.facility-sec-check input[type=checkbox]:after {
    position: absolute;
    content: "";
    background: #fff;
    transition: all .2s ease-in-out;
}
.facility-sec-check input[type=checkbox]:checked, 
.facility-sec-check input[type=checkbox]:indeterminate,
.facility-sec-check input[type=checkbox]:checked:before {
    background: #72b02d;
    border: solid 1px #72b02d;
}
.facility-sec-check input[type=checkbox]:before {
    left: 2px;
    top: 6px;
    width: 0;
    height: 2px;
    transform: rotate(45deg);
}
.facility-sec-check input[type=checkbox]:checked:before {
    left: 2px;
    top: 10px;
    width: 5px;
    height: 3px;
    background: #fff;
    border: solid 1px #fff;
}
.facility-sec-check input[type=checkbox]:after {
    right: 9px;
    bottom: 3px;
    width: 2px;
    height: 0;
    transform: rotate(40deg);
    transition-delay: .2s;
}
.facility-sec-check input[type=checkbox]:checked:after {
    right: 5px;
    bottom: 1px;
    width: 3px;
    height: 13px;
}
.date-list + .facility-sec-check.single-checkbox{
    margin-top: 10px;
    margin-left: 55px;
    min-width: 240px;
}
.facility-sec-check.single-checkbox label{
    background: #303033;
    padding: 15px;
    border-radius: 5px;
    display: flex;
    align-items: center;
}
.facility-price{
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
}
.datetime-clear__button {
    width: 80px;
    height: 50px;
    margin-left: 10px;
    color: #fff;
    border: solid 1px var(--sub-gray);
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    font-weight: normal;
    background: #222;
}
@media screen and (max-width:768px) {
    .datetime-clear__button {
        height: 36px;
        margin:  15px 0 0 0;
    }
}

/*pc*/
@media screen and (min-width:769px) {
    .facility-sec-check label:hover,
    .facility-sec-check.single-checkbox label:hover{
        background: #4a4a4d;
        transition: all ease .3s;
        border-radius: 5px;
    }
    .facility-sec-check label:hover input[type=checkbox]{
        border-color: #72b02d;
        background: #364d1f;
        transition: all ease .3s;
    }
}
/*facility-sec-content__tb*/
.facility-sec-content__tb{
    width: 100%;
    border-top: solid 1px var(--sub-gray2);
}
.facility-sec-content__tb tr:not(:last-of-type){
    border-bottom: solid 1px var(--sub-gray2);
}
.facility-sec-content__tb tr th {
    width: 220px;
    padding: 25px 10px 25px 20px;
    box-sizing: border-box;
    position: relative;
    font-size: 1.6rem;
    font-weight: normal;
}
.facility-sec-content__tb.pt2 tr th {
    padding: 25px 0;
}
.facility-sec-content__tb tr th span {
    width: 40px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    color: var(--text-green);
    font-size: 1.4rem;
    font-weight: bold;
    border: solid 1px var(--text-green);
    position: absolute;
    top: 27px;
    right: 0;
}
.facility-sec-content__tb tr td {
    padding: 10px 15px 10px;
    box-sizing: border-box;
    font-size: 1.6rem;
}
.facility-sec-content__tb.pt2 tr td {
    padding: 10px 0 10px;
}
.facility-sec-content__tb tr td span{
    color: var(--main-lightgray);
}
.facility-sec-content__tb tr td span:not(:last-of-type){
    margin-right: 7px;
}
.facility-sec-content__tb tr td input {
    color: var(--sub-black);
    width: 100%;
    height: 50px;
    padding: 5px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
}
.facility-sec-content__tb tr td input[type="date"] {
    width: 175px;
    margin: 0 5px;
}
.facility-sec-content__tb tr td input[type="date"]:disabled{
    background: var(--bg-gray2);
    border-color: var(--bg-gray2);
    color: #fff;
}
input.error,
input.error-support {
    background: #ffddde!important;
    border:solid 1px #e01b22!important;
    color: var(--sub-black)!important;
}
select.error,
select.error-support {
    background: #ffddde!important;
    border:solid 1px #e01b22!important;
    color: var(--sub-black)!important;
}
.facility-sec-content__tb tr td select{
    color: var(--sub-black);
    width: 80px;
    height: 50px;
    padding: 5px 10px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
    margin-right: 5px;
}
.selectbox_area{
    position: relative;
}
.selectbox_area:after {
    font-size: 1.2rem;
    pointer-events: none; /*矢印部分をクリックを可能にする*/
    position: absolute;
    color: #404040;
    top: 50%;
    right:15px;
    transform: translateY(-50%); /*▼を上に移動*/
    content: "▼";
  }
  /*--- sp ---*/
@media screen and (max-width:768px){
    .facility-sec-check label{
        padding: 15px;
    }
    .facility-sec-content__tb tr th {
        width: 100%;
        padding: 20px 15px 5px;
        display: block;
        font-size: 1.4rem;
        box-sizing: border-box;
    }
    .facility-sec-content__tb tr td {
        display: block;
        padding: 5px 15px 20px;
        box-sizing: border-box;
        font-size: 1.4rem;
    }
    .facility-sec-content__tb.pt2 tr th {
        width: 100%;
        padding: 20px 0 5px;
        display: block;
        font-size: 1.4rem;
        box-sizing: border-box;
    }
    .facility-sec-content__tb.pt2 tr td {
        display: block;
        padding: 5px 0 20px;
        box-sizing: border-box;
        font-size: 1.4rem;
    }
    .facility-sec-content__tb tr th span {
        width: 40px;
        height: 20px;
        display: inline-flex;
        margin-right: 0;
        margin-left: 8px;
        color: var(--text-green);
        font-size: 1.3rem;
        position: static;
    }
    .facility-sec-content__tb tr td input{
        height: 44px;
    }
    .facility-sec-content__tb tr td input[type="date"]{
        width: 62.5%;
        margin: 0 5px 0 0;
    }
    .facility-sec-content__tb tr td select{
        width: 100%;
        height: 44px;
    }
    #contents.simulation .note{
        text-indent: -1em;
        padding-left: 1em;
    }
    .facility-sec-content__tb tr td input{
        font-size: 1.4rem;
    }
    .facility-sec-content__tb tr td select{
        font-size: 1.4rem;
    }
    .facility-sec-check.single-checkbox label{
        padding: 10px;
    }
    .date-list + .facility-sec-check.single-checkbox{
        margin-top: 10px;
        margin-left: 0;
        min-width: inherit;
    }
    .facility-sec-content__tb.pt2 .note{
        margin-left: 10.34%;
    }
    .facility-sec-content__tb.pt2 .add-btn {
        width: 89.66%;
        margin-left: 10.34%;
    }
}
/*day-time*/
.day-time:not(:last-child){
    margin-bottom: 10px;
}
.day-time li{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.day-time li:not(:last-of-type){
    margin-bottom: 10px;
}
.day-time.line-in li{
    border-bottom: solid 1px var(--sub-gray2);
    padding-bottom: 10px;
    flex-flow: row wrap;
}
.day-time li label{
    margin-right: 5px;
    color: var(--main-lightgray);
}
.day-time_text{
    width: 210px;
    margin-right: 5px;
    padding: 10px;
    color: #666666;
}
.day-time .time-error {
    width: 100%;
    padding: 5px 0 0;
    margin-left: 60px;
}
.day-time .time-error .errorTxt {
    color: #e01b22;
    font-size: 1.4rem;
    margin-bottom: 5px;
}
.day-time .time-error .errorTxt::before {
    content: "※";
    color: #e01b22;
    font-size: 1.4rem;
    margin-right: 3px;
}
p.errorSupTxt {
    width: 100%;
    margin-left: 50px;
    color: #e01b22;
    font-size: 1.4rem;
}
p.errorSupTxt::before {
    content: "※";
    color: #e01b22;
    font-size: 1.4rem;
    margin-right: 3px;
}

@media screen and (max-width:768px) {
    .day-time .time-error {
        width: 100%;
        padding: 5px 0 0;
        margin-left: 0;
    }
}
.date-list{
    display: flex;
    align-items: center;
}
/*add-btn*/
.add-btn{
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: bold;
    border: solid 1px #fff;
    width: 100%;
    height: 48px;
    background: var(--bg-gray2);
    margin: 0 auto 5px;
}
.day-time + .add-btn{
    margin-top: 15px;
}
.add-btn:before{
    content: "";
    background: url(../images/plus_btn.svg)  no-repeat center / contain;
    width: 16px;
    height: 16px;
    margin-right: 5px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .day-time li {
        display: block;
    }
    .day-time li label{
        display: block;
        margin-right: 0;
        margin-bottom: 10px;
    }
    .selectbox_area {
        position: relative;
        width: 27.34%;
        margin-right: 5px;
    }
    .day-time li > span{
        display: block;
        width: 62.5%;
        text-align: center;
        margin: 5px 0;
    }
    .date-list span{
        width: auto!important;
    }
    .day-time li:not(:last-of-type){
        margin-bottom: 20px;
    }
    .day-time.line-in li{
        margin-left: 10.34%;
    }
}
/*.wid*/
.wid100{
    width: 100px!important;
}
.wid200{
    width: 200px!important;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .wid100{
        width: 100%!important;
    }
}
/*total-price*/
.total-price{
    background: rgba(0,0,0,.85);
    width: 100%;
    height: 70px;
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.total-price p{
    font-size: 1.6rem;
    text-align: center;
    color: #fff;
}
.total-price p span{
    color: var(--main-green);
}
.total-price p strong{
    font-size: 3.4rem;
}
.total-price p .slash{
    font-size: 3.4rem;
    font-weight: normal;
    margin-right: 5px;
    color: #fff;
}
/*simulation-body*/
.simulation-body .footer-pagetop-btn.active.absolute{
    top: -140px;
}
.simulation-body .footer-pagetop-btn.active{
    bottom: 85px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .total-price{
        height: auto;
        flex-wrap: wrap;
        padding: 0 0 8px;
    }
    .facility-body .total-price{
        height: auto;
        flex-flow: row wrap;
        padding-bottom: 10px;
    }
    .total-price p{
        font-size: 1.5rem;
        flex: 0 1 100%;
    }
    .total-price p strong{
        font-size: 3.0rem;
    }
    .total-price .subtotal{
        font-size: 1.1rem;
        flex: 0 1 100%;
    }
    .total-price .subtotal strong {
        font-size: 1.4rem;
    }
    /*simulation-body*/
    .simulation-body .footer-pagetop-btn.active.absolute{
        top: -110px;
    }
    .simulation-body.facility-body .footer-pagetop-btn.active.absolute{
        top: -130px;
    }
    .simulation-body .footer-pagetop-btn.active{
        bottom: 65px;
    }
    .simulation-body.facility-body .footer-pagetop-btn.active{
        bottom: 85px;
    }
    .total-price p .slash{
        display: none;
    }
}
/*------------------------------
equipment
------------------------------*/
.equipment-main{
    padding: 50px;
    box-sizing: border-box;
    border: solid 1px var(--main-gray);
    border-top: none;
}
.equipment-main:first-child{
    border-top: solid 1px var(--main-gray)!important;
}
.equipment-main select{
    color: var(--sub-black);
    width: 80px;
    height: 50px;
    padding: 5px 10px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
    margin-right: 5px;
}
.equipment-main input {
    color: var(--sub-black);
    width: 80px;
    height: 50px;
    padding: 5px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 5px;
}
.equipment-main .selectbox_area{
    width: 80px;
    margin-right: 3px;
}
.equipment-list{
    display: flex;
    justify-content: space-between;
    flex-flow: row wrap;
}
.equipment-list:after{
    content: none;
}
.equipment-list__item:nth-of-type(-n + 2){
    border-top: solid 1px var(--sub-gray2);
}
.equipment-list__item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 1 49.45%;
    width: 49.45%;
    padding: 10px;
    box-sizing: border-box;
    border-bottom: solid 1px var(--sub-gray2);
}
.equipment-list__item_fee {
    font-size: 1.2rem;
    color: var(--main-lightgray);
    display: block;
    text-align: right;
    margin-right: 5px;
    flex-shrink: 0;
}
.equipment-list__item_fee--num{
    font-size: 1.6rem;
    color: #FFF;
}
.equipment-list__item_input{
    min-width: 105px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    margin-left: 10px;
}
.equipment-list__item_input-inner {
    display: flex;
    align-items: center;
}
/*simulation-sec__title2*/
.simulation-sec__title2{
    font-size: 1.8rem;
    padding-left: 15px;
    margin-bottom: 30px;
    border-left: solid 6px var(--main-green);
    position: relative;
    box-sizing: border-box;
}
.simulation-sec__title2:before{
    content: "";
    background: var(--sub-gray2);
    width: calc(100% + 6px);
    height: 1px;
    position: absolute;
    left: -6px;
    bottom: -10px;
}
.simulation-sec__title2.underline-none{
    margin-bottom: 10px;
}
.simulation-sec__title2.underline-none:before{
    content: none;
}
/*equipment-tb*/
.simulation-sec__title2 + .equipment-tb tr th,
.simulation-sec__title2 + .equipment-tb tr td{
    padding-top: 5px;
}
.equipment-tb{
    width: 100%;
}
.simulation-sec table.equipment-tb:not(:first-of-type){
    border-top: solid 1px var(--sub-gray2);
}
.equipment-tb tr th{
    width: 300px;
    padding: 20px 0 20px 10px;
    box-sizing: border-box;
    position: relative;
    font-size: 1.6rem;
    font-weight: normal;
    vertical-align: middle;
}
.equipment-tb tr td{
    padding: 20px 10px;
    box-sizing: border-box;
    font-size: 1.6rem;
    line-height: calc(1em + 15px);
}
.form-basic-btn-block.next-btn {
    justify-content: center;
    flex-flow: row-reverse;
}
.next-btn .form-basic-submit-btn{
    margin: 0;
}
.next-btn .form-basic-submit-btn.is-back{
    width: 80px;
    margin-right: 12px;
}
.equipment-list__item_text span{
    margin-left: 5px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    #contents.simulation .contact-text.equipment-text{
        margin-bottom: 0;
    }
    .equipment-main {
        width: 100%;
        margin: 0 auto;
        padding: 30px var(--inner-sidespace--sp);
        box-sizing: border-box;
        border-right: none;
        border-left: none;
    }
    .equipment-main:first-child{
        border-top: none!important;
    }
    .equipment-list {
        display: block;
    }
    .equipment-list__item:nth-of-type(-n + 2) {
        border-top: none;
    }
    .equipment-list__item:first-child {
        border-top: solid 1px var(--sub-gray2);
    }
    .equipment-list__item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 10px 0;
        box-sizing: border-box;
        border-bottom: solid 1px var(--sub-gray2);
    }
    .equipment-list__item_fee--num{
        font-size: 1.4rem;
    }
    .equipment-main select {
        width: 100%;
        height: 44px;
        margin: 0;
    }
    .equipment-main input {
        width: 70px;
        height: 44px;
    }
    .equipment-main .selectbox_area {
        width: 70px;
    }
    .equipment-list__item_input {
        min-width: 95px;
        flex-shrink: 0;
        margin-left: 5px;
    }
    .equipment-list__item_input-inner {
        display: flex;
        align-items: center;
    }
    .equipment-list__item_input-inner-unit {
        font-size: 1.2rem;
        letter-spacing: 0;
        white-space: nowrap;
    }
    .simulation-sec__title2 {
        font-size: 1.6rem;
    }
    .equipment-tb tr th {
        width: 100%;
        display: block;
        vertical-align: middle;
        padding: 0 0 5px;
    }
    .equipment-tb tr td {
        width: 100%;
        padding: 5px 0 20px;
        box-sizing: border-box;
        font-size: 1.4rem;
        display: block;
        line-height: calc(1em + 14px);
    }
    .equipment-list__item_text span img{
        width: 20px;
    }
    .next-btn .form-basic-submit-btn.is-back{
        width: 51.72%;
        margin: 12px auto 0;
    }
}
/*question-content*/
.question-content-textbox{
    box-sizing: border-box;
    padding: 45px;
}
.question-content-textbox.image{
    padding: 20px;
}
.question-content-textbox.image img{
    max-width: 760px;
}
.question-content-textbox dl dt{
    color: #fff;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 30px;
    padding-left: 25px;
    display: block;
    box-sizing: border-box;
    position: relative;
}
.question-content-textbox dl dt:before{
    content: "";
    background: var(--main-green);
    width: 14px;
    height: 14px;
    position: absolute;
    top: 7px;
    left: 0;
    border-radius: 50%;
}
.question-content-textbox dl dd{
    line-height: calc(1em + 12px);
    font-size: 1.6rem;
    color: var(--main-lightgray);
}
.question-content-textbox--about-timespan ul {
    margin-left: 20px;
}
.question-content-textbox--about-timespan ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
}
.question-content-textbox--about-timespan ul li:before {
    content: "";
    background: var(--main-green);
    width: 6px;
    height: 6px;
    position: absolute;
    top: 12px;
    left: 0;
    border-radius: 50%;
}
.question-content-textbox--about-timespan ul li a {
    text-decoration: underline;
    color: #FFF;
}
.question-content-textbox--about-timespan ul li a:hover {
    text-decoration: none;
}
.question-content-textbox dl .equip-modal__name {
    margin-bottom: 10px;
}
.question-content-textbox dl .equip-modal__remarks {
    margin-bottom: 20px;
}
.question-content-textbox dl .equip-modal__image img {
    max-width: 100%;
    height: auto;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .question-content-textbox{
        box-sizing: border-box;
        padding: 30px 20px;
    }
    .question-content-textbox.image{
        padding: 20px;
    }
    .question-content-textbox.image img{
        max-width: inherit;
    }
    .question-content-textbox dl dt{
        margin-bottom: 15px;
    }
    .question-content-textbox dl dd{
        font-size: 1.4rem;
    }
    .question-content-textbox dl .equip-modal__remarks {
        word-break: break-all;
    }
}
/*header-simulation-menu*/
.header-simulation-menu{
    width: 100%;
    position: absolute;
    top: 64px;
    left: 0;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility:hidden;
    transition: all ease .3s;
    background: rgba(0,0,0,.8);
}
.header-simulation-menu.active{
    opacity: 1;
    visibility: visible;
    transition: all ease .3s;
}
.header-simulation-menu ul{
    display: flex;
    justify-content: center;
}
.header-simulation-menu ul li {
    width: 120px;
    margin: 0 5px;
}
.header-simulation-menu ul li a{
    color: #fff;
    background: #0d0d0d;
    width: 100%;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    border: solid 1px #fff;
    transition: all ease .3s;
}
.header-simulation-menu ul li a:after{
    content: "";
    width: 5px;
    height: 5px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(135deg);
    margin-left: 5px;
}
/*pc*/
@media screen and (min-width:769px){
    .header-simulation-menu ul li a:hover{
        border-color: var(--main-green);
        transition: all ease .3s;
    }
}
.header-simulation-menu ul li.current a{
    background: var(--main-green);
    color: #000000;
    border: solid 1px var(--main-green);
}
.header-simulation-menu ul li.current a:after{
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .header-simulation-menu{
        width: 100%;
        top: 45px;
        height: 50px;
    }
    .header-simulation-menu-wrapper{
        width: 100%;
        margin: 0 auto;
        overflow-x: auto;
    }
    .header-simulation-menu ul{
        padding: 0 11px;
        box-sizing: border-box;
        width: 500px;
    }
    .header-simulation-menu ul li {
        width: 93px;
        margin: 0 3px;
    }
    .header-simulation-menu ul li a{
        height: 34px;
    }
    .header-simulation-menu ul li.simulation-cate5{
        width: 110px;
    }
    .header-simulation-menu ul li.simulation-cate5 a{
        font-size: 1.3rem;
    }
}
/*------------------------
document
-------------------------*/
body.document {
    width: 100%;
    min-width: 1200px;
    background: transparent;
    color: #000;
    font-family: var(--font-sans-serif);
    font-size: 14px;
    font-size: 1.4rem;
    line-height: normal;
    text-align: left;
    word-wrap: break-word;
}
.document-content{
    width: 1000px;
    padding:  60px 0;
    margin: 0 auto;
}
.document-content-header{
    margin-bottom: 40px;
}
.download-btn{
    width: 200px;
    height: 50px;
    margin: 0 0 0 auto;
}
.download-btn a{
    width: 100%;
    height: 100%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-weight: bold;
    background: #19191c;
}
.document-content-header h1{
    text-align: center;
    font-size: 3.2rem;
    font-weight: 500;
    line-height: calc(1em + 9px);
}
.document-main{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 50px;
}
.document-main:after{
    content: none;
}
.document-company{
    border: solid 1px #505050;
    box-sizing: border-box;
    padding: 15px;
}
.document-company dt{
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 10px;
}
.document-info__name{
    font-size: 2.4rem;
}
.document-info__name2{
    font-size: 1.8rem;
    margin-bottom: 20px;
}
.document-info_text{
    margin-bottom: 20px;
}
.document-date{
    text-align: right;
    font-size: 1.8rem;
    margin-bottom: 20px;
}
/*document-info_tb*/
.document-info_tb{
    border-top: solid 1px #505050;
    border-left: solid 1px #505050;
}
.document-info_tb tr th{
    width: 120px;
    background: #72b02d;
    color: #fff;
    font-weight: bold;
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    border-right: solid 1px #505050;
    border-bottom: solid 1px #505050;
}
.document-info_tb tr td{
    padding: 10px;
    border-right: solid 1px #505050;
    border-bottom: solid 1px #505050;
    box-sizing: border-box;
}
.document-info_tb tr td.price{
    font-size: 2.1rem;
}
.document-info_tb tr td.price strong{
    font-size: 2.8rem;
    font-weight: 500;
}
/*document-info_tb2*/
.document-info_tb2{
    width: 100%;
    border-left: solid 1px #505050;
    border-top: solid 1px #505050;
    margin-bottom: 50px;
}
.document-info_tb2 tr th{
    background: #72b02d;
    color: #fff;
    font-weight: bold;
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    border-right: solid 1px #505050;
    border-bottom: solid 1px #505050;
}
.document-info_tb2 tr td{
    padding: 10px;
    border-right: solid 1px #505050;
    border-bottom: solid 1px #505050;
    box-sizing: border-box;
}
.document-info_tb2 tr.space{
    height: 50px;
}
.document-info_tb2 .wid1{
    min-width: 500px;
}
.document-info_tb2 .wid2{
    width: 70px;
}
.document-info_tb2 .wid3{
    width: 130px;
}
.document-info_tb2 .tit1{
    font-weight: bold;
    background: #fff2cc;
}
/*document-info_tb3*/
.document-info_tb3{
    width: 100%;
    border-left: solid 1px #505050;
    border-top: solid 1px #505050;
}
.document-info_tb3 tr th{
    background: #72b02d;
    color: #fff;
    font-weight: bold;
    padding: 10px;
    vertical-align: middle;
    text-align: center;
    border-right: solid 1px #505050;
    border-bottom: solid 1px #505050;
}
.document-info_tb3 tr td{
    padding: 10px;
    border-right: solid 1px #505050;
    border-bottom: solid 1px #505050;
    box-sizing: border-box;
}

/*------------------------
 # Simurator
-------------------------*/
#contents.simulation .disabled-area {
    display: none;
}
#contents.simulation #terraceText {
    border-top: solid 1px var(--sub-gray2);
    padding: 20px;
}
#contents.simulation #pantryText {
    border-top: solid 1px var(--sub-gray2);
    padding: 20px;
}
#contents.simulation .facility-sec__textarea {
    border-top: solid 1px var(--sub-gray2);
    padding: 20px;
}
#contents.simulation .facility-sec__textarea.map-text{
    padding: 10px 18px;
}
.facility-sec__text + .facility-sec__text.map-link{
    margin-top: 10px;
}
#contents.simulation .facility-sec__text.map-link img{
    margin-right: 5px;
    width: 20px;
}
#contents.simulation .validation-error {
    display: block;
    align-items: center;
    justify-content: space-between;
}
#contents.simulation .validation-error_text {
    text-align: center;
    display: block;
    width: 100%;
    margin-bottom: 10px;
}
#contents.simulation .validation-error_btn {
    border-color: var(--text-red);
}
#contents.simulation .facility-sec__textare--caution {
    border-top: solid 1px var(--sub-gray2);
    padding: 20px;
}

/*back-btn*/
.back-btn{
    font-size: 1.6rem;
    width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: 54px;
    padding: 10px;
    color: #fff;
    font-weight: bold;
    background: var(--bg-black--100);
    margin: 20px auto 0;
}
@media print{
    .print_none{
        display: none;
    }
}
/*--------------------
up-header
----------------------*/
.header.up-header{
    height: 120px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .header.up-header{
        height: 45px;
    }
}
/*--------------------
sin-header-nav
---------------------*/
/*pc*/
@media screen and (min-width:769px){
    .sin-header-nav .sp{
        display: none;
    }
    .hd-fix .sin-header-nav .header-nav-list.pc{
        display: none;
    }
    .header.hd-fix.up-header{
        height: 64px;
    }
    .sin-header-nav .header-nav-list:not(.pc) .header-nav-list-item__link{
        padding: 5px 10px;
    }
    .header.hd-fix .sin-header-nav .header-nav-list:not(.pc) .header-nav-list-item__link {
        padding: 15px 10px;
        height: 100%;
    }
    .sin-header-nav .header-nav-list{
        justify-content: flex-end;
    }
    .sin-header-nav .header-nav-list,
    .sin-header-nav .header-nav-list-item__link{
        height: auto!important;
    }
    .header.hd-fix .sin-header-nav .header-nav-list,
    .header.hd-fix .sin-header-nav .header-nav-list-item__link{
        height: 100%!important;
    }
    .is--schedule .header-nav-list-item__link{
        padding: 0 20px 5px 10px!important;
        margin-top: -2px;
        position: relative;
    }
    .header.hd-fix .is--schedule .header-nav-list-item__link{
        padding: 16px 20px 14px 10px!important;
    }
    .is--schedule .header-nav-list-item__link:after{
        content: "";
        background: #fff;
        width: 1px;
        height: 20px;
        position: absolute;
        right: 5px;
        top: -4px;
        bottom: 0;
        margin: auto;
    }
    .header.hd-fix .is--schedule .header-nav-list-item__link:after{
        top: 2px;
    }
}
.is--schedule .header-nav-list-item__link{
    position: relative;
}
.is--schedule .header-nav-list-item__link:before {
    content: "";
    background: url(../images/icon_calender.svg) no-repeat center / auto,#009929;
    background-size: 18px 20px;
    margin-right: 10px;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .is--schedule {
        border-bottom: solid 1px #fff;
    }
    .is--schedule .header-nav-list-item__link:before {
        content: "";
        background: url(../images/icon_calender.svg) no-repeat center / auto;
        background-size: contain;
        margin-right: 10px;
        width: 18px;
        height: 20px;
        min-width: inherit;
        border-radius: 0;
    }
    .sin-header-nav .header-nav-list.pc{
        display: none;
    }
    .sin-header-nav .header-nav-list-item__link{
        display: flex;
        justify-content: flex-start;
        padding: 15px 0;
    }
    .sin-header-nav .is--contact .header-nav-list-item__link{
        justify-content: center;
    }
    .header-nav-list-item.brder_none{
        border-bottom: none;
    }
    .is--360 {
        margin-bottom: 25px;
        border-bottom: none;
    }
    .is--360 .header-nav-list-item__link {
        background: #009929;
        border-radius: 25px;
        height: 50px;
        display: flex;
        justify-content: center;
        position: relative;
    }
    .is--360 .header-nav-list-item__link:after{
        content: "";
        background: url(../images/360_y.svg) no-repeat;
        background-size: cover;
        width: 6px;
        height: 10px;
        position: absolute;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    .is--360 .header-nav-list-item__link img{
        width: 120px;
    }
}
/*----------------------
footer-nav__bnr
----------------------*/
.footer-nav__bnr{
    display: flex;
    align-items: center;
}
.footer-nav__bnr a{
    margin-right: 15px;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .footer-nav__bnr{
        display: flex;
        align-items: center;
    }
    .footer-nav__bnr a.treta_img img{
        width: 140px;
    }
    .footer-nav__bnr a img{
        width: auto;
    }
}
/*---------------
top-package
----------------*/
.top-package{
    width: 1000px;
    display: flex;
    gap: 50px;
    margin: 40px auto 0;
}
.top-package-item{
    width: 300px;
    min-width: 300px;
}
.top-package-item-title{
    font-family: var(--font-en2);
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: 800;
    text-align: center;
    margin: 10px auto;
    line-height: 1em;
}
.top-package-item-title span{
    display: block;
    color: #18883c;
    font-family: var(--font-en);
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 800;
    text-align: center;
}
.top-package-item-price{
    color: #18883c;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}
.top-package-item-price span{
    font-family: var(--font-en2);
    font-weight: 900;
    font-size: 28px;
    font-size: 2.8rem;
}
.top-package-item:nth-of-type(2) .top-package-item-title span,
.top-package-item:nth-of-type(2) .top-package-item-price{
    color: #0768ab;
}
.top-package-item:nth-of-type(3) .top-package-item-title span,
.top-package-item:nth-of-type(3) .top-package-item-price{
    color: #ee8036;
}
.top-package-item-list{
    margin-top: 10px;
}
.top-package-item-list li{
    position: relative;
    font-size: 14px;
    font-size: 1.4rem;
    position: relative;
    padding-left: 12px;
}
.top-package-item-list li::before {
    position: absolute;
    top: calc(.5em + 2px);
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #000;
    content: "";
}
.top-package-item-list li:not(:last-child){
    margin-bottom: 5px;
}
.top-package-item-info{
    width: 90%;
    display: block;
    margin: 0 auto;
}
.top-package-item-info img{
    width: 100%;
}
.readmore {
    position: relative;
    margin: 20px auto 0;
    display: block;
    color: #666;
    border: none;
    outline: 0;
    cursor: pointer;
    background: none;
    letter-spacing: 0.1em;
}
.readmore:before {
    content: "";
    width: 50px;
    height: 50px;
    text-align: center;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto .5em;
    background-color: #fff;
    transition: .3s;
    position: relative;
}
.readmore:after {
    content: "";
    width: 12px;
    height: 12px;
    border-left: 2px solid #555;
    border-bottom: 2px solid #555;
    transform: rotate(-45deg);
    position: absolute;
    top: 16px;
    left: 0;
    right: 0;
    margin: auto;
    transition: all ease .3s;
}
.readmore.on-click:after{
    transform: rotate(135deg);
    top: 21px;
    transition: all ease .3s;
}
.readmore{
    font-family: var(--font-en2);
    font-weight: bold;
}
.readmore .open {
    display: block;
}
.readmore.on-click .open {
    display: none;
}
.readmore .close {
    display: none;
}
.readmore.on-click .close {
    display: block;
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .top-package{
        width: var(--inner-width);
        display: flex;
        gap: 30px;
        margin: 25px auto 0;
        flex-flow: column;
    }
    .top-package-item{
        width: 100%;
        min-height: inherit;
    }
    .top-package-item-title {
        font-family: var(--font-en2);
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 800;
        text-align: center;
        margin: 10px auto;
        line-height: 1em;
    }
    .top-package-item-title span{
        font-size: 16px;
        font-size: 1.6rem;
    }
    .top-package-item-price span {
        font-family: var(--font-en2);
        font-weight: 900;
        font-size: 21px;
        font-size: 2.1rem;
    }
    .top-package-item-price {
        font-size: 14px;
        font-size: 1.4rem;
    }
    .top-package-item-info {
        width: 80%;
        display: block;
        margin: 10px auto 0;
    }
}

/*-------------
single
-------------*/
.single-header{
    padding: 60px 0;
    box-sizing: border-box;
    background: var(--bg-black--100);
}
.single-header-inner{
    width: var(--inner-width);
    margin: 0 auto;
}
.single-header-title::before {
    display: block;
    margin-bottom: 20px;
    padding-left: 60px;
    background: linear-gradient(to top, var(--bg-black--100) 0 1px, #fff 1px) no-repeat center left / 40px 2px;
    font-family: var(--font-en);
    font-size: 1.6rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .2rem;
    content: attr(data-title-en);
}
.single-header-title__main{
    font-size: 4rem;
    font-weight: bold;
    line-height: calc(1em + 18px);
}
/*--- sp ---*/
@media screen and (max-width:768px){
    .single-header{
        padding: 20px 0;
    }
    .single-header-title::before {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }
    .single-header-title__main{
        font-size: 2.4rem;
        line-height: calc(1em + 11px);
    }
}

/*-------------
case
-------------*/
@media screen and (min-width:769px){
    .case-archive .main{
        --inner-width: 1000px;
    }
}
.case-list-container{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 100px;
}
@media screen and (max-width:768px){
    .case-list-container{
        padding: 30px 0 80px;
    }
}
.case-list-item{
    padding-bottom: 40px;
    border-bottom: solid 1px #5c5c66;
}
.case-list-item:not(:last-child){
    margin-bottom: 40px;
}
.case-list-item a{
    display: flex;
    align-items: flex-start;
    gap: 0 40px;
}
@media screen and (max-width:768px){
    .case-list-item a{
        flex-direction: column;
        align-items: stretch;
        gap: 20px 0;
    }
}
.case-list-thumb{
    flex: 0 0 auto;
    width: 360px;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    background: #ccc;
}
@media screen and (max-width:768px){
    .case-list-thumb{
        width: 100%;
        aspect-ratio: 3 / 2;
        overflow: hidden;
        background: #ccc;
    }
}
.case-list-thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.case-list-body{
    flex: 1 1 auto;
}
.case-list-title{
    display: flex;
    align-items: flex-end;
    min-height: calc(1em + 20px);
    margin: -7px 0 13px;
    color: #fff;
    font-size: 2.6rem;
    font-weight: bold;
    line-height: calc(1em + 13px);
    pointer-events: none;
}
@media screen and (max-width:768px){
    .case-list-title{
        display: block;
        min-height: 0;
        margin: 0 0 12px;
        font-size: 2rem;
        line-height: calc(1em + 9px);
        pointer-events: auto;
    }
}
.case-list-desc{
    color: #d9d9d9;
    line-height: calc(1em + 11px);
}
.case-list-desc:not(:last-child){
    margin-bottom: 25px;
}
@media screen and (max-width:768px){
    .case-list-desc{
        font-size: 1.3rem;
        line-height: calc(1em + 8px);
    }
    .case-list-desc:not(:last-child){
        margin-bottom: 21px;
    }
}

/* case-equipment 詳細と共通 */
.case-equipment{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.case-equipment-item{
    flex: 0 0 auto;
    padding: 5px 8px 6px;
    border-radius: 2px;
    background: #404047;
    color: #fff;
    line-height: calc(1em + 1px);
}
@media screen and (max-width:768px){
    .case-equipment{
        gap: 5px;
    }
    .case-equipment-item{
        padding: 4px 6px;
        font-size: 1.2rem;
        line-height: calc(1em + 2px);
    }
}
.case-equipment-item:empty{
    display: none;
}

/* case-list-pager */
.case-list-pager{
    display: flex;
    justify-content: center;
    gap: 0 5px;
    margin-top: 40px;
}
@media screen and (max-width:768px){
    .case-list-pager{
        margin-top: 20px;
    }
}
.case-list-pager .page-numbers{
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    transition: background .3s ease;
}
@media screen and (max-width:768px){
    .case-list-pager .page-numbers{
        width: 44px;
        height: 44px;
    }
    .case-list-pager .page-numbers:not(.dots){
        border: solid 1px #fff;
    }
}
.case-list-pager .page-numbers.current{
    background: #fff;
    color: #333;
}
@media (any-hover: hover){
    .case-list-pager a.page-numbers:not(:is(.prev,.next)):hover{
        background: #2e2e33;
    }    
}
.case-list-pager .page-numbers.dots{
    width: 50px;
}
@media screen and (max-width:768px){
    .case-list-pager .page-numbers.dots{
        width: 20px;
    }
}
.case-list-pager .page-numbers:is(.prev,.next){
    position: relative;
    border: solid 1px #fff;
    color: rgba(255,255,255,0);
    font-size: 0;
}
.case-list-pager .page-numbers.prev{
    margin-right: 55px;
}
.case-list-pager .page-numbers.next{
    transform: rotate(180deg);
    margin-left: 55px;
}
@media screen and (max-width:768px){
    .case-list-pager .page-numbers:is(.prev,.next){
        display: none;
    }
}
.case-list-pager .page-numbers:is(.prev,.next)::before{
    position: absolute;
    top: 25px;
    left: 27px;
    transform: rotate(-45deg);
    width: 8px;
    height: 8px;
    border-top: solid 2px #fff;
    border-left: solid 2px #fff;
    content: "";
}

/*-------------
case-dtl
-------------*/
@media screen and (min-width:769px){
    .case-single .main{
        --inner-width: 960px;
    }
}
.case-dtl-equip{
    margin-top: 28px;
}
@media screen and (max-width:768px){
    .case-dtl-equip{
        margin-top: 20px;
        padding-bottom: 10px;
    }
}
.case-dtl-equip:not(:has(.case-equipment)){
    display: none;
}
.case-dtl-equip-head{
    position: relative;
    margin-bottom: 12px;
    padding-left: 16px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .02em;
}
.case-dtl-equip-head::before{
    position: absolute;
    top: calc(.5em - 4px);
    left: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--text-green);
    content: "";
}
@media screen and (max-width:768px){
    .case-dtl-equip-head{
        margin-bottom: 10px;
        padding-left: 14px;
        font-size: 1.3rem;
    }
    .case-dtl-equip-head::before{
        top: calc(.5em - 4.5px);
        width: 9px;
        height: 9px;
    }
}

/* case-dtl-container */
.case-dtl-container{
    width: var(--inner-width);
    margin: 0 auto;
    padding: 60px 0 100px;
}
@media screen and (max-width:768px){
    .case-dtl-container{
        padding: 30px 0 80px;
    }
}
.case-dtl-visual{
    margin-bottom: 60px;
}
@media screen and (max-width:768px){
    .case-dtl-visual{
        margin-bottom: 40px;
    }
}
.case-dtl-slide{
    max-height: 540px;
}
@media screen and (max-width:768px){
    .case-dtl-slide{
        max-height: var(--inner-width--sp_vw);
    }
}
.case-dtl-slide img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.case-dtl-visual .keen-slider-wrapper{
    background: #555559;
}
.case-dtl-visual .keen-slider-arrow{
    opacity: .7;
    top: calc(50% - 25px);
    transform: rotate(-45deg);
    width: 50px;
    height: 50px;
    border: solid 1px #000;
    border-radius: 50%;
    background: none;
    background: linear-gradient(to top, #000, #000) no-repeat 21px 21px / 8px 2px,
    linear-gradient(to right, #000, #000) no-repeat 21px 21px / 2px 8px, 
    #fff;
    transition: opacity .3s ease;
}
@media (any-hover: hover){
    .case-dtl-visual .keen-slider-arrow:hover{
        opacity: 1;
    }
}
@media screen and (max-width:768px){
    .case-dtl-visual .keen-slider-arrow{
        display: none;
    }
}
.case-dtl-visual .keen-slider-arrow--left{
    left: -25px;
}
.case-dtl-visual .keen-slider-arrow--right{
    right: -25px;
    transform: rotate(135deg);
}
.case-dtl-visual .keen-slider-dots{
    padding: 20px 0 0;
}
.case-dtl-visual .keen-slider-dot{
    padding: 0;
    background: #555559;
}
.case-dtl-visual .keen-slider-dot--active{
    background: #fff;
}
@media screen and (max-width:768px){
    .case-dtl-visual .keen-slider-dots{
        padding-top: 15px;
    }
    .case-dtl-visual .keen-slider-dot{
        margin: 0 4px;
        width: 8px;
        height: 8px;
    }
}
