@charset "utf-8";

body{
    width: 100%;
    font-weight: 400;
    font-family: "Inter", sans-serif;
}

a{
    text-decoration: none;
}

.wrapper{
    max-width: 767px;
    padding: 0 40px;
}

.pc-br{
    display: none;
}

h2{
    font-weight: normal;
}

#header{
    width: 100%;
    height: 150px;
    background-color: #FFFFFF;
    border-bottom: solid 1px #000000;
    position: fixed;
    top: 0px;
    z-index: 10;
}

#header .box{
    width: 100%;
    height: 100%;
    position: relative;
}

#header .sns{
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: absolute;
    top: 75px;
    left: 10px;
}

#header .sns a img{
    width: 25px;
}

#header .visual{
    font-size: 5.1vw;
    color: #956134;
    text-align: center;
    position: absolute;
    transform: translate(-50% ,0%);
    left: 50%;
    top: 10px;
}


#header .visual img{
    width: 150px;
}

#header .visual .pc{
    display: none;
}

#header .visual dl{
    display: flex;
    font-family: "Zen Antique",serif;
}

#header .menu{
    background-color: #65D3FF;
    height: 60px;
    width: 55px;
    border-radius: 5px;
    position: absolute;
    top: 75px;
    right: 20px;
    z-index: 10;
}

#header .menu span{
    display: block;
    color: white;
    background-color: white;
    height: 1px;
    width: 40px;
    transition: 0.4s;
}

#header .menu span:nth-of-type(1){
    position: relative;
    top: 12px;
    left: 7px;
}

#header .menu span:nth-of-type(2){
    position: relative;
    top: 22px;
    left: 7px;
}

#header .menu span:nth-of-type(3){
    position: relative;
    top: 32px;
    left: 7px;
}

#header .menu p{
    font-size: 2.5vw;
    color: white;
    position: absolute;
    top: 40px;
    left: 7px;
}

#header .menu-list{
    background-color: #65D3FF;
    width: 100%;
    height: 485px;
    position: fixed;
    top: 151px;
    left: 100%;
    z-index: 100;
    transition: 0.4s;
}

#header .active.menu-list {
    left: 0%;
}

#header .menu-list ul{
    width: 100%;
}

#header .menu-list ul li{
    height: 80px;
    border-bottom: 1px solid #FFFFFF;
}

#header .menu-list ul li a{
    color: #FFFFFF;
    font-size: 6.4vw;
    display: block;
    width: 100%;
    height: 36px;
    padding: 22px 40px;
}

#header .active span:nth-of-type(1){
    transform: translateY(10px) rotate(45deg);
}

#header .active span:nth-of-type(2){
    opacity: 0;
}

#header .active span:nth-of-type(3){
    transform: translateY(-10px) rotate(-45deg);
}

#header .pulldown{
    display: none;
    z-index: 101;
    position: relative;
}
 
#footer{
    color: white;
    width: 100%;
    background-color: #65D3FF;
    padding-top: 50px;
    margin-top: 45px;
}

#footer .logo-pc{
    display: none;
}

#footer a{
    color: inherit;
}

#footer .out-ul{
    padding: 0px 85px 0px 40px;
    margin-bottom: 19px;
}

#footer .out-ul .out-li{
    margin-bottom: 30px;
    list-style: none;
}

#footer .out-ul .out-li .in-ul{
    padding: 0px;
}

#footer .out-ul .out-li .tub{
    font-size: 5.1vw;
    display: block;
    padding-bottom: 10px;
}

#footer .out-ul .out-li .in-ul .in-li{
    margin-bottom: 10px;
    list-style: none;
}

#footer .out-ul .out-li .in-ul .in-li a{
    font-size: 4.1vw;
    display: block;
}

#footer .contents{
    font-size: 4.1vw;
    display: flex;
    justify-content: space-between;
    align-items: end;
    padding-right: 20px;
}

#footer .contents .logo-sp{
    width: 137px;
}

#footer .contents .logo-sp img{
    width: 100%;
}

#footer .contents div{
    text-align: end;
    padding-bottom: 15px;
}

#footer .contents div dl{
    display: flex;
    justify-content: end;
}

#footer .contents div .num2{
    margin-bottom: 10px;
}

#footer .contents div .copyright{
    font-size: 2.5vw;
}

#footer .contents div .address{
    margin-bottom: 5px;
}

@media screen and (min-width:768px){

    body{
        width: 100vw;
    }

    .wrapper{
        max-width: 100vw;
        padding: 0  100px;
    }

    .pc{
        display: block;
    }

    #header{
        width: 100vw;
        height: 128.45px;
        border-bottom: 0px;
    }

    #header .pc{
        position: relative;
    }

    #header .pc .sns{
        position: absolute;
        /* bottom: 15px;
        right: 30px; */
        flex-direction: row-reverse;
        gap: 25px;
        top: 66px;
        right: 30px;
    }

    #header .sns a img{
        width: 50px;
    }

    #header .visual{
        position: static;
        display: flex;
        transform: translate(0,0);
        justify-content: space-around;
    }

    #header .visual .pc{
        display: block;
        width: 451px;
        position: absolute;
        top: 13px;
        left: 0px;
    }

    #header .visual .sp{
        display: none;
    }

    #header .visual dl{
        font-size: 32px;
        position: absolute;
        top: 17px;
        right: 30px;
    }

    #header .menu{
        display: none;
    }

    #header .pulldown{
        width: 100%;
        display: block;
        z-index: 10;
        position: absolute;
        top: 128.45px;
    }

    #header .pulldown .out-ul{
        display: flex;
    }

    #header .pulldown .out-ul .out-li{
        width: 20%;
        display: flex;
        flex-direction: column;
    }

    #header .pulldown .out-ul .out-li .in-ul{
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    #header .pulldown .out-ul .out-li .in-li-1{
        font-size: 25px;
        color: white;
        height: 67px;
        border-right: 1px solid #FFFFFF;
        border-bottom: 1px solid #FFFFFF;
        background-color: #65D3FF;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #header .pulldown .out-ul .out-li .in-ul .in-li{
        display: none;
    } 

    #header .pulldown .out-ul .out-li .in-ul .in-li a{
        color: white;
        display: block;
        height: 100%;
        font-size: 20px;
        text-align: center;
        height: 60px;
        border-left: 1px solid #FFFFFF;
        border-right: 1px solid #FFFFFF;
        border-bottom: 1px solid #FFFFFF;
        background-color: #65D3FF;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #header .pulldown .out-ul .out-li:hover .in-ul  .in-li{
        display: block;
        background-color: white;
    }

    #footer .logo-pc{
        display: block;
        width: 199.71px;
        margin: 0 auto;
        margin-bottom: 35px;
    }

    #footer .logo-pc img{
        width: 100%;
    }

    #footer .out-ul{
        display: flex;
        padding: 0;
    }

    #footer .out-ul .out-li{
        width: 20%;
        text-align: center;
        margin: 0 auto;
        border-right: 1px solid #FFFFFF;
    }

    #footer .out-ul .out-li:last-child{
        border-right: 0;
    }

    #footer .out-ul .out-li .tub{
        font-size: 24px;
        margin-bottom: 25px;
    }

    #footer .out-ul .out-li .in-ul .in-li{
        margin-bottom: 10px;
    }

    #footer .out-ul .out-li .in-ul .in-li a{
        font-size: 20px;
    }

    #footer .out-ul .out-li .tub:hover,
    #footer .out-ul .out-li .in-ul .in-li a:hover{
        color: #956134;
    }

    #footer .contents{
        display: block;
    }

    #footer .contents .logo-sp{
        display: none;
    } 

    #footer .contents div{
    text-align: center ;
    align-items: center;
    padding-bottom: 15px;
    }

    #footer .contents div dl{
        display: flex;
        justify-content: center;
    }

    #footer .contents div .num1{
        font-size: 30px;
        margin-bottom: 60px;
    }

    #footer .contents div .copyright{
        font-size: 20px;
    }

    #footer .contents div .address{
        font-size: 30px;
        padding-top: 60px;
        margin-bottom: 24px;
    }

    #footer .contents div .address .sp{
        display: none;
    }

    #first,
    #info,
    #address,
    #stuff,
    #links,
    #what,
    #area,
    #price{
        margin-top:-195px;
        padding-top:195px;
    }


}
