/* =========================================
Reset
========================================= */

/**{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;
}

img{
    max-width:100%;
    height:auto;
    display:block;
}

ul{
    list-style:none;
}

a{
    text-decoration:none;
}*/

body.menu-open{
    overflow:hidden;
}


/* =========================================
Header
========================================= */

.site-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
}

.site-header .inner{
    max-width:1200px;
    margin:0 auto;
    padding:0 30px;
}


/* =========================================
Header Top
========================================= */

.header-top{
    height:50px;
    background:#fff;
    border-bottom:1px solid #e5e5e5;
}

.header-top .inner{
    height:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.company-logo img{
    height:26px;
    width:auto;
}

.header-subnav{
    display:flex;
    align-items:center;
    gap:24px;
}

.header-subnav a{
    display:flex;
    align-items:center;
    gap:8px;

    color:#333;
    font-size:13px;
}

.header-subnav span{
    width:18px;
    height:18px;

    background:#b9975b;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:12px;
    padding-bottom: 3px;
}


/* =========================================
Header Main
========================================= */

.header-main{
    height:80px;

    background:rgba(255,255,255,.25);

    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);

    transition:.3s;

    background:transparent;



}

.header-main .inner{
    height:100%;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.project-logo img{
    height:38px;
    width:auto;
}


/* =========================================
PC Navigation
========================================= */

.global-nav ul{
    display:flex;
    gap:40px;
}

.global-nav a{

    color:#000;

    font-size:14px;
    letter-spacing:.08em;

    position:relative;

    padding-bottom:10px;
}

.global-nav a:hover{
    opacity:.7;
}

.global-nav a.current::after{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:2px;

    background:#fff;
}

.sp-nav a.current{
    color:#c39a62;
}

/* =========================================
Scroll
========================================= */

/*.site-header.is-scrolled .header-main{
    background:rgba(0,0,0,.85);
}
*/

/* =========================================
Hamburger
========================================= */

.hamburger{

    display:none;

    width:40px;
    height:40px;

    background:none;
    border:none;

    cursor:pointer;

    position:relative;
}

.hamburger span{

    position:absolute;

    left:50%;

    width:26px;
    height:2px;

    background:#fff;

    transform:translateX(-50%);

    transition:.3s;
}

.hamburger span:nth-child(1){
    top:12px;
}

.hamburger span:nth-child(2){
    top:19px;
}

.hamburger span:nth-child(3){
    top:26px;
}

.hamburger.active span:nth-child(1){
    top:19px;
    transform:translateX(-50%) rotate(45deg);
}

.hamburger.active span:nth-child(2){
    opacity:0;
}

.hamburger.active span:nth-child(3){
    top:19px;
    transform:translateX(-50%) rotate(-45deg);
}


/* =========================================
SP Navigation
========================================= */

/*
右から出す場合
.sp-nav{

    position:fixed;

    top:110px;
    left:100%;

    width:100%;
    height:calc(100vh - 170px);

    background:#111;

    transition:.4s;

    z-index:9990;
}

.sp-nav.active{
    left:0;
}
*/

.sp-nav{

    position:fixed;

    top:108px;
    left:0;

    width:100%;

    height:calc(100vh - 168px);

    background:#1e143c;

    transform:translateY(-100%);

    opacity:0;

    visibility:hidden;

    transition:.4s;

    z-index:9990;
}

.sp-nav.active{

    transform:translateY(0);

    opacity:1;

    visibility:visible;
}


.sp-nav ul{
    padding:30px;
}

.sp-nav li{
    border-bottom:1px solid rgba(255,255,255,.1);
}

.sp-nav a{

    display:block;

    color:#fff;

    padding:18px 0;

    font-size:15px;
}

.sp-nav-bottom{
    margin-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
}

.sp-nav-bottom a{
    padding:18px 30px;
}


/* =========================================
PC Side CTA
========================================= */

.side-cta{

    position:fixed;

    right:0;
    top:180px;

    z-index:9000;
}

.side-cta a{

    width:70px;
    height:160px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    color:#fff;
}

.side-cta img{
    margin-bottom: 12px;
    width: 14px;
}

.cta-request{
    background:#1e143c;
}

.cta-reserve{
    background:#c39a62;
}

.side-cta svg{
    width:22px;
    height:22px;

    fill:#fff;

    margin-bottom:15px;
}

.side-cta span{
    writing-mode:vertical-rl;
    letter-spacing:.15em;
}


/* =========================================
SP Bottom CTA
========================================= */

.bottom-cta{
    display:none;
}


/* =========================================
Main Visual Sample
========================================= */

.mv{

    height:100vh;

    background:url(../img/mv.jpg)
    center center / cover no-repeat;

    position:relative;
}

.mv::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.25);
}


/* =========================================
Responsive
========================================= */

@media (max-width:768px){

    .site-header .inner{
        padding:0 20px;
    }

    .header-top{
        height:44px;
    }

    .company-logo img{
        height:22px;
    }

    .header-subnav{
        display:none;
    }

    .header-main{
        height:64px;
            backdrop-filter:blur(0px);
    -webkit-backdrop-filter:blur(0px);
    }

    .project-logo img{
        height:28px;
    }

    .global-nav{
        display:none;
    }

    .hamburger{
        display:block;
    }

    .sp-nav{
        top:108px;
        height:calc(100vh - 168px);
    }

    .side-cta{
        display:none;
    }

    .bottom-cta{

        display:flex;

        position:fixed;

        left:0;
        bottom:0;

        width:100%;
        height:60px;

        z-index:9999;
    }

    .bottom-cta a{

        flex:1;

        display:flex;
        justify-content:center;
        align-items:center;

        color:#fff;

        font-size:14px;
        font-weight:700;
    }

    .bottom-cta a:first-child{
        background:#35265d;
    }

    .bottom-cta a:last-child{
        background:#c39a62;
    }
}