/* ============== .head ============== */
.head
{
    position: fixed;
    z-index: 8888;
    top: 0;
    left: 0;

    width: 100%;
    height: 100px;
    margin: 0 auto;

    -webkit-transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
            transition: opacity 1.2s ease, -webkit-transform 1.2s ease;
            transition: opacity 1.2s ease, transform 1.2s ease;
            transition: opacity 1.2s ease, transform 1.2s ease, -webkit-transform 1.2s ease;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);

    opacity: 0;
    background-color: #f6f4ee;
}

.head.is-show
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}

@media print, screen and (max-width: 1920px)
{
    .head
    {
        height: 5.20833vw;

        -webkit-transform: translateY(-1.04167vw);
                transform: translateY(-1.04167vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .head
    {
        height: 11.71875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head
    {
        height: 17.33333vw;

        -webkit-transform: translateY(-2.66667vw);
                transform: translateY(-2.66667vw);
    }
}

.head--open .head__inner
{
    border-bottom: 1px solid #9d754d;
}

.head__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    padding: 0 50px;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .head__inner
    {
        padding: 0 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__inner
    {
        padding: 0 3.90625vw 0 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__inner
    {
        padding: 0 4vw 0 5.33333vw;
    }
}

.head__logo
{
    width: 158px;
}

@media print, screen and (max-width: 1920px)
{
    .head__logo
    {
        width: 8.22917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__logo
    {
        width: 15.42969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__logo
    {
        width: 21.06667vw;
    }
}

.head__logoLink
{
    display: block;

    width: 100%;
}

.head__logoLink > img
{
    display: block;

    width: 100%;
}

.head__logoLink:hover
{
    opacity: .8;
}

.head__nav
{
    height: 100%;
}

@media print, screen and (max-width: 1025px)
{
    .head__nav
    {
        display: none;
    }
}

.head__listBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    height: 100%;
    margin: auto 0;

    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.head__list
{
    height: 100%;
    margin-right: 3.59375vw;
}

.head__list:last-child
{
    margin-right: 0;
}

.head__link
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    height: 100%;
    margin: auto 0;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media (any-hover: hover)
{
    .head__link:hover .head__linkTxt
    {
        color: #e5b276;
    }
    .head__link:hover .head__linkTxt:before
    {
        opacity: 1;
    }
}

.head__linkTxt
{
    font-weight: 500;

    position: relative;

    -webkit-transition: .15s ease-out;
            transition: .15s ease-out;
    letter-spacing: 0;
}

.head__linkTxt:before
{
    position: absolute;
    bottom: -41px;
    left: 0;

    width: 100%;
    height: 3px;

    content: '';
    -webkit-transition: opacity .3s ease-out;
            transition: opacity .3s ease-out;

    opacity: 0;
    background: -webkit-gradient(linear, left top, right top, from(#afcb9f), color-stop(#e2d39c), to(#e5b276));
    background: linear-gradient(to right, #afcb9f, #e2d39c, #e5b276);
}

@media print, screen and (max-width: 1920px)
{
    .head__linkTxt:before
    {
        bottom: -2.13542vw;

        height: .15625vw;
    }
}

.head__spNav
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav
    {
        position: relative;
        z-index: 1;

        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 8.79785vw;
        height: 8.8877vw;

        cursor: pointer;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav
    {
        width: 12.012vw;
        height: 12.13467vw;
    }
}

.head__spNav::before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: none;

    width: 59.225px;
    height: 63.82px;
    margin: 0 auto;

    content: '';
    -webkit-transition: .3s;
            transition: .3s;

    background-image: url(../images/img_head_sp_nav_icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav::before
    {
        display: block;

        width: 5.78369vw;
        height: 6.23242vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav::before
    {
        display: block;

        width: 7.89667vw;
        height: 8.50933vw;
    }
}

.head__spNav--open::before
{
    width: 59.225px;
    height: 59.225px;

    background-image: url(../images/img_head_sp_nav_close_icon.svg);
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav--open::before
    {
        width: 5.78369vw;
        height: 5.78369vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav--open::before
    {
        width: 7.89667vw;
        height: 7.89667vw;
    }
}

.head__spNavTxt
{
    width: 100%;
    height: -webkit-fit-content;
    height:    -moz-fit-content;
    height:         fit-content;
    margin-top: auto;
}

.head__spNavTxt > img
{
    display: block;

    width: 100%;
}

.head__spMenu
{
    position: fixed;
    z-index: 11;
    top: 0;
    right: 0;

    overflow: scroll;

    width: 100%;
    height: 100vh;

    -webkit-transition: all .2s;
            transition: all .2s;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);

    opacity: 0;
    background-color: #f6f4ee;

    -webkit-overflow-scrolling: touch;
}

.head__spMenu--open
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuContent
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        height: auto;
        min-height: 100vh;
        padding: 20.50781vw 19.78516vw 7.86133vw 19.84375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuContent
    {
        padding: 28vw 13.36vw 10.73333vw 13.44vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuList
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 4.39453vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuList
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 6vw;
    }
}

.head__spMenuItem
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    list-style-type: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuItem
    {
        padding: 0 10.05859vw 4.39453vw;

        border-bottom: .09766vw dashed #9d754d;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuItem
    {
        padding: 0 13.73333vw 6vw;

        border-bottom: .13333vw dashed #9d754d;
    }
}

.head__spMenuLink
{
    display: block;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink
    {
      
        color: #39342e;
        font-weight: 400;

        position: relative;

        width: -webkit-fit-content;
        width:    -moz-fit-content;
        width:         fit-content;

        letter-spacing: .1em;

    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink > p
    {
        color: #39342e;
        font-weight: 400;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuLink > p
    {
        color: #39342e;
        font-weight: 400;
        font-size: 3.73333vw;
    }
}

.head__spMenuLink::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: -67.95px;

    display: none;

    width: 44.95px;
    height: 44.95px;
    margin: auto 0;

    content: '';

    background-image: url(../images/img_head_sp_nav_link_icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink::before
    {
        left: -6.63574vw;

        display: block;

        width: 4.38965vw;
        height: 4.38965vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuLink::before
    {
        left: -9.06vw;

        width: 5.99333vw;
        height: 5.99333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuTxt
    {
        font-family: 'Sorts Mill Goudy', serif;
        font-size: 1.36719vw;

        position: absolute;
        right: 0;
        bottom: .97656vw;
        left: 0;

        margin: 0 auto;

        text-align: center;

        color: #fff;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuTxt
    {
        font-size: 2.66667vw;

        bottom: 1.75781vw;

        letter-spacing: .08em;
    }
}

.head__spBtn
{
    font-weight: 400;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    margin-top: 50px;
    padding: 27px 0;

    color: #fff;
    border-radius: 15px;
    background-color: #8ea78d;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

@media print, screen and (max-width: 1025px)
{
    .head__spBtn
    {
        margin-top: 4.88281vw;
        padding: 2.63672vw 0;

        border-radius: 1.46484vw;

        gap: 1.95312vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spBtn > p
    {
        color: #fff;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spBtn
    {
        font-size: 4.26667vw;

        margin-top: 6.66667vw;
        padding: 3.6vw 0;

        border-radius: 2vw;

        gap: 2.66667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spBtn > p
    {
        font-size: 4.26667vw;
        font-weight: 400;
        color: #fff;
    }
}

.head__spBtn:last-child
{
    margin-top: 30px;

    background-color: #e5b276;
}

@media print, screen and (max-width: 1025px)
{
    .head__spBtn:last-child
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spBtn:last-child
    {
        margin-top: 4vw;
    }
}

.head__spBtnIco
{
    width: 43.92px;
}

@media print, screen and (max-width: 430px)
{
    .head__spBtnIco
    {
        width: 5.856vw;
    }
}

.head__spBtnIco > img
{
    display: block;

    width: 100%;
}

/* JSが動かない環境（smooooth管理画面など）では最初から表示 */
.head:not(.is-anim)
{
    -webkit-transform: none;
            transform: none;

    opacity: 1;
}

/* 非表示状態に切り替わる瞬間はトランジションさせない（フェードアウト防止） */
.head.is-anim:not(.is-show)
{
    -webkit-transition: none;
            transition: none;
}