@charset "utf-8";
/* base */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body{
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    background-color: #FFFAF5;
}
.sp-br{
    display: block;
}
.pc-br{
    display: none;
}
a{
    text-decoration: none;
}
ul{
    list-style: none;
}
body{
    position: relative;
}
img{
    width: 100%;
}
section{
    margin: 130px 0;
}
.inner{
    width: 77%;
    margin: auto;
}
/* font */
h2{
    font-size: 2.9rem;
    color: #A38A59;
}
p{
    font-size: 1.4rem;
    color: #707070;
}
/* header */
header{
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1));
    position: sticky;
    top: 0;
    left: 0;
    color: #fff;
    height: 85px;
    display: flex;
    z-index: 100;
}
.header-inner{
    width: 88.5%;
    margin: auto;
}
.header-group{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}
.ttl-group p{
    font-size: 1.51vw;
    margin: 0;
    color: #fff;
}
h1{
    font-size: 2.07vw;
    margin: 0;
}
.pc-nav ul{
    display: flex;
    padding: 0px;
}
.pc-nav ul a{
    color: #fff;
    font-size: 1.19vw;
}
.pc-navItem{
    border-right: 1px solid #fff;
    padding: 0 20px;
}
.pc-navItem:last-child{
    border-right: none;
    padding-right: 0px;
}
/* sp-nav */
.sp-nav{
    background-color: #D5BC6A;
    display: none;
}
.sp-navItem{
    background-color: #D5BC6A;
    border-bottom: 2px solid #fff;
}
.sp-navItem a{
    display: block;
    width: 100%;
    padding: 25px 0;
    font-size: 2rem;
    text-align: center;
    color: #fff;
}
/* btn */
.low-group{
    position: sticky;
    bottom: 0px;
    left: 0px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    z-index: 90;
}
.low-group a{
    color: #fff;
}
.form-btn{
    height: fit-content;
    background-color: #A98949;
    padding: 5px;
    position: relative;
}
.form-btn a{
    width: 330px;
    padding: 15px 25px;
    font-size: 1.8rem;
    display: block;
    text-align: center;
    border: 1px solid #fff;
}
.form-btn a::after{
    content: "";
    position: absolute;
    top: 52%;   /* 縦軸をセンタリングする */
    right: 6%;
    transform: translateY(-50%);   /* 縦軸をセンタリングする */
    border: 7px solid transparent;
    border-left: 10px solid #fff;   /* 好みで色を変えてください */
}
.top-back{
    width: 100px;
    height: 100px;
    margin-bottom: 10px;
    background-color: #A98949;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
}
.top-back a{
    font-size: 1.1rem;
    text-align: center;
    display: block;
    width: 85px;
    height: 85px;
    display: flex;
    padding-top: 15px;
    justify-content: center;
    align-items: center;
}
.top-btn-txt{
    position: absolute;
    top: 62px;
    left: 30px;
}
.top-back::before{
    content: "";
    display: block;
    width: 23px;
    height: 3px;
    background: #fff;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    position: absolute;
    top: 42%;
    left: 38%;
}
.top-back::after{
    content: "";
    display: block;
    left: 1px;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    position: absolute;
    top: 31%;
    left: 43.4%;
}
.top-back-border{
    display: block;
    width: 85px;
    height: 85px;
    border: 2px solid #fff;
    border-radius: 100%;
    color: #fff;
}
/* footer */
footer{
    background-color: #F5EBDC;
}
footer figure{
    width: 117px;
    margin: auto;
    padding: 78px 0 41px;
}
.footer-up{
    font-size: 1.6rem;
    color: #846A37;
    width: fit-content;
    margin: 0 auto;
}
.footer-low{
    font-size: 3rem;
    color: #846A37;
    width: fit-content;
    margin: 0 auto;
}
small{
    color: #707070;
    
}
.copy{
    padding: 63px 0 30px;
    width: fit-content;
    margin: auto;
}
/* main */
h2{
    width: fit-content;
    margin: auto 38px;
    margin-bottom: 30px;
    position: relative;
}
h2::before{
    content: "";
    background-image: url(../img/title_left.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    width: 36px;
    height: 32px;
    position: absolute;
    left: -38px;
}
h2::after{
    content: "";
    background-image: url(../img/title_right.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    width: 36px;
    height: 32px;
    position: absolute;
    top: 0px;
    right: -38px;
}
.all-btn{
    color: #A38A59;
    background-color: #fff;
    border: 2px solid #A38A59;
    text-align: center;
    font-size: 1.3rem;
    position: relative;
    z-index: 2;
}
.btn-back{
    position: relative;

}
.btn-back::after{
    content: "";
    display: block;
    background-color: #A38A59;
    position: absolute;
    top: 3px;
    left: 6px;
    z-index: 1;
}
@media screen and (max-width: 900px){
    .sp-br{
        display: none;
    }
    .pc-br{
        display: block;
    }
    /* low-btn */
    .low-group{
        flex-wrap: wrap;
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .form-btn a{
        width: 90%;
        margin: auto;
    }
    /* .top-back{
        right: -85vw;
    } */
    /* header */
    .ttl-group p{
        font-size: 1.3rem;
    }
    h1{
        font-size: 2.4rem;
    }
    h2{
        font-size: 2.6rem;
    }
}
@media screen and (max-width: 700px){
    .sp-nav{
        display: block;
    }
    /* .top-back{
        right: -82vw;
    } */
    .form-btn a::after{
        right: 4%;
    }
}
@media screen and (max-width: 600px){
    /* .top-back{
        right: -79vw;
    } */
}
@media screen and (max-width: 500px){
    /* .top-back{
        right: -73vw;
    } */
    .form-btn a{
        padding: 16px;
    }
}