/*-- btn --*/
.btn-content{
    margin-top:1.875rem;
}
.prim-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.938rem;
    min-width:10rem;
    max-width:15rem;
    height:3.125rem;
    padding:0 .938rem;
    line-height:3.125rem;
    background-color:var(--hex-secondary);
    color:var(--hex-alt);
    border-radius:.75rem;
    letter-spacing:.155em;
    transition:border-radius .3s ease;
}
.prim-btn .btn-icon{
    width:.625rem;
    height:.625rem;
    background-color:var(--hex-white);
    border-radius:0;
    transform:scale(1);
    transition:border-radius .4s ease-in;
}
.prim-btn:hover{
    border-radius:0;
}
.prim-btn:hover .btn-icon{
    transform:scale(1.2);
    border-radius:50%;
}
.prim-btn--alt{
    background-color:var(--hex-white);
    color:var(--hex-secondary);
}
.prim-btn--alt .btn-icon{
    background-color:var(--hex-secondary);
}
.join-btn{
    margin-top:var(--margin-xs);
    text-align:var(--text-center);
}
.join-btn .prim-btn{
    width:10rem;
    cursor:pointer;
}
/*-- header --*/
.header{
    position:fixed;
    width:100%;
    top:0;
    left:0;
    z-index:99;
    mix-blend-mode:difference;
}
.header h1{
    font-family:var(--nippon-r-font);
    font-size:1.125rem;
    line-height:1;
    letter-spacing:.125em;
}
.header h1 dl{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.625rem;
    width:100%;
}
.header h1 svg{
    width:1.563rem;
}
.header h1 svg path{
    fill:var(--hex-background);
}
.header-content{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.625rem clamp(1.25rem,2.42vi + .68rem,2.5rem) 0;
}
.add-lang--btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    width:45px;
    height:24px;
    color:var(--hex-background);
    cursor:pointer;
    border:.063rem solid var(--hex-background);
    border-radius:6.25rem;
    overflow:hidden;
}
.globe-icon{
    position:absolute;
    width:1.125rem;
    height:1.125rem;
    line-height:0;
    z-index:2;
}
.globe-icon svg path{
    fill:var(--hex-background);
}
.add-lang--btn span:not(.globe-icon){
    font-size:.625rem;
    flex:1;
    text-align:center;
    z-index:1;
    letter-spacing:.125em;
}
.add-lang--btn span:nth-of-type(2){
    opacity:0;
    visibility:hidden;
}
.add-lang--btn span:nth-of-type(3){
    opacity:1;
    visibility:visible;
}
.content-txt .jp-content{
    display:none;
}
.lang-jp .content-txt .en-content{
    display:none;
}
.lang-jp .content-txt .jp-content{
    font-family:var(--ja-font);
    display:block;
    line-height:2.4;
    letter-spacing:.125em;
}
.lang-jp .content-txt .jp-content .h2-lead{
    font-size:clamp(1rem,.24vi + .94rem,1.125rem);
    font-weight:var(--font-w-md);
    line-height:2.2;
}
.lang-jp .content-txt .jp-content p,
.lang-jp .content-txt .jp-content dl{
    font-size:clamp(.875rem,.24vi + .82rem,1rem);
    
}
.lang-jp .content-txt .jp-content dl dt{
    font-weight:var(--font-w-md);
    line-height:1.6;
}

/*-- footer --*/
.footer{
    padding:6.25rem 0 1.563rem 0;
    background-color:var(--hex-primary);
    color:var(--hex-alt);
}
.footer .h2-ttl{
    text-align:var(--text-center);
    margin-bottom:var(--margin-xs);
}
.f-bottom{
    position:relative;
    margin-top:6.25rem;
    padding-top:6.25rem;
    border-top:.125rem dashed rgba(214,211,209,.1);
}
.f-bottom .site-logo{
    position:absolute;
    width:clamp(10rem,9.06vi + 7.88rem,18.75rem);
    bottom:-1.563rem;
    left:0;
    z-index:1;
}
.f-bottom .site-logo path{
    fill:var(--hex-black);
}
.f-bottom .flex{
    position:relative;
    flex-direction:column;
    gap:1.25rem;
    z-index:2;
}
/*-- accordion --*/
.accordion-btn{
    font-size:.875rem;
    font-weight:var(--font-w-md);
    display:inline-flex;
    justify-content:space-between;
    width:100%;
    padding:1rem 0;
    letter-spacing:.125em;
    cursor:pointer;
    transition:color .2s ease;
}
.accordion-btn .chevron-down-icon{
    width:.75rem;
}
.accordion-group.is-active .chevron-down-icon{
    transform:rotate(180deg);
}
.accordion-btn .chevron-down-icon path{
    fill:var(--hex-white);
}
.accordion-body{
    overflow:hidden;
}
.accordion-body li{
    position:relative;
    padding-left:1rem;
}
.accordion-body li::before{
    content:'';
    position:absolute;
    display:inline-block;
    width:.25rem;
    height:.063rem;
    top:0;
    bottom:0;
    left:0;
    margin:auto;
    background-color:var(--hex-white);
}
.accordion-body li+li{
    margin-top:.313rem;
}
.accordion-body a{
    font-size:var(--font-sm);
    letter-spacing:.1em;
    transition:color .2s ease;
}
.accordion-body a:hover{
    color:var(--hex-secondary);
}
.f-social{
    margin-top:clamp(3.125rem,3.24vi + 2.37rem,6.25rem);
    text-align:right;
}
.f-social a{
    font-size:.875rem;
}
/*-- form --*/
.form_txt:placeholder-shown,
.form_textarea:placeholder-shown,
.form_zip input:placeholder-shown,
.form_select select:placeholder-shown{
    font-size:.75rem;
    color:var(--hex-alt);
}
.form_txt::-webkit-input-placeholder,
.form_textarea::-webkit-input-placeholder,
.form_zip input::-webkit-input-placeholder,
.form_select select::-webkit-input-placeholder{
    color:var(--hex-alt);
}
.form_txt:-moz-placeholder,
.form_textarea:-moz-placeholder,
.form_zip input:-moz-placeholder,
.form_select select:-moz-placeholder{
    color:var(--hex-alt);
}
.form_txt::-moz-placeholder,
.form_textarea::-moz-placeholder,
.form_zip input::-moz-placeholder,
.form_select select::-moz-placeholder{
    color:var(--hex-alt);
}
.form_txt:-ms-input-placeholder,
.form_textarea:-ms-input-placeholder,
.form_zip input:-ms-input-placeholder,
.form_select select:-ms-input-placeholder{
    color:var(--hex-alt);
}
.contactform-modal{
    position:fixed;
    top:0;
    left:0;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100vw;
    height:100vh;
    background-color:rgba(12,10,9,.6);
    z-index:10;
    visibility:hidden;
}
.contactform-modal .--inner{
    position:relative;
    background-color:var(--hex-white);
    color:var(--hex-primary);
    max-width:25rem;
    width:100%;
    padding:2rem;
    overflow:hidden;
}
.contactform-modal .count-down{
    right:1.25rem;
    top:1.25rem;
    color:var(--hex-alt);
}
.contactform-modal .contact-txt{
    margin-bottom:1.875rem;
    line-height:1.6;
}
.contactform-modal .lead-txt{
    font-family:var(--nippon-r-font);
    font-size:clamp(1.125rem,.97vi + .9rem,1.625rem);
    display:flex;
    justify-content:space-between;
    margin-bottom:.938rem;
    letter-spacing:.155em;
}
.form-content dl{
    display:flex;
    align-items:center;
    gap:1.25rem;
}
.form-content dl+dl{
    margin-top:1.25rem;
}
.form-content dt{
    font-size:.875rem;
    flex-shrink:0;
    width:clamp(3.75rem,3.28vi + 3rem,5.625rem);
    letter-spacing:.1em;
}
.form-content dd{
    flex-basis:auto;
    width:100%;
}
.form_txt{
    font-size:1rem;
    width:100%;
    padding:.75rem;
    border:.063rem solid var(--hex-alt);
    background-color:transparent;
}
.form_txt::placeholder{
    color:var(--hex-alt);
}
.submit-btn{
    position:relative;
    margin-top:3.125rem;
    text-align:center;
}
.submit-btn input[type="submit"]{
    width:10rem;
    padding:.75rem 2rem;
    background-color: var(--hex-secondary);
    color:var(--hex-background);
    cursor:pointer;
    letter-spacing:.1em;
    transition:transform 0.2s ease;
    border-radius:.938rem;
}
.submit-btn .wpcf7-spinner{
    position:absolute!important;
    right:0;
}
/*-- media query min60rem --*/
@media screen and (min-width:60rem){
    .footer .p-txt{
        text-align:center;
    }
    .f-bottom .flex{
        flex-direction:row;
        justify-content:space-between;
    }
    .f-pages{
        display:flex;
        flex-direction:row;
        gap:6.25rem;
    }
    .accordion-btn{
        padding:0;
        pointer-events:none;
    }
    .accordion-body{
        height:auto!important;
        margin-top:.938rem;
        opacity:1!important;
    }
    .accordion-btn .chevron-down-icon{
        display:none;
    }
}