.header {
    font-family: var(--font-family-ja);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 7.1875rem;
    transition: background-color .3s ease;
}

.header.is-bg {
    background-color: #FCF2F0;
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - clamp(3rem, 6.6vw, 6rem));
    max-width: 84rem;
}

.header__logo {
    position: relative;
    z-index: 10;
    width: clamp(14.625rem, 17.7vw, 15.9375rem);
}

.header__logo img {
    width: 100%;
}

.header__content {
    position: relative;
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 3.88vw, 3.5rem);
}

.header__menu {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 1rem;
}

.header__nav-list {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 1.94vw, 1.75rem);
}

.header__nav-item--toggle {
    display: none;
}

.header__nav-link {
    display: flex;
    align-items: center;
    gap: .375rem;
    line-height: 1;
    letter-spacing: .04em;
}

.header__nav-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: #EA8181;
}

.header__nav-arrow svg {
    width: .3125rem;
    height: auto;
}

.header__recruit {
    display: flex;
    gap: .625rem;
}

.header__recruit-link {
    display: flex;
    align-items: center;
    gap: .375rem;
    color: #94736A;
    font-size: .875rem;
    line-height: 1;
    letter-spacing: .08em;
}

.header__recruit-arrow {
    width: .8125rem;
}

.header__sns,
.header__links,
.header__cta {
    display: none;
}

.header__tel {
    display: flex;
    flex-direction: column;
    gap: .6875rem;
}

.header__tel-number {
    display: flex;
    align-items: center;
    gap: .6875rem;
    font-family: var(--font-family-en);
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .04em;
}

.header__tel-icon {
    width: 1.75rem;
}

.header__tel-icon img {
    width: 100%;
}

.header__tel-hours {
    color: #94736A;
    font-size: .875rem;
    line-height: 1;
    letter-spacing: .02em;
}

.header__toggle {
    display: none;
}


@media screen and (max-width:1200px) {
    .header__inner {
        width: calc(100% - 3rem);
    }

    .header__logo {
        width: 17.7vw;
    }

    .header__content {
        gap: 1rem;
    }

    .header__tel-number {
        font-size: 1.125rem;
    }

    .header__tel-hours {
        font-size: .75rem;
    }
}

@media screen and (max-width:1024px) {
    .header {
        height: 5.875rem;
    }

    .header__logo {
        width: 14.625rem;
    }

    .header__menu {
        position: fixed;
        top: 0;
        left: 0;
        align-items: flex-start;
        flex-direction: column;
        padding-top: calc(5.875rem + 5.5rem);
        padding-bottom: calc(7rem + 4.5rem);
        gap: 2rem;
        width: 100%;
        height: 100dvh;
        overflow-y: auto;
        background-color: #FCF2F0;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transition:
            opacity .3s ease,
            visibility .3s ease;
    }

    .header__menu.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .header__contact {
        display: none;
    }

    .header__nav {
        margin: 0 auto;
        width: calc(100% - 3rem);
        max-width: 36.125rem;
    }

    .header__nav-list {
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem 1.5rem;
    }

    .header__nav-item {
        width: 10.25rem;
    }

    .header__nav-item--toggle {
        display: flex;
    }

    .header__nav-link {
        flex-direction: row-reverse;
        justify-content: flex-end;
        padding-bottom: .75rem;
        width: 100%;
        font-size: 1.125rem;
        border-bottom: 2px solid #E5D1CD;
    }

    .header__nav-arrow {
        width: .9375rem;
        height: .9375rem;
    }

    .header__nav-arrow svg {
        display: none;
    }

    /* .header__recruit {
        justify-content: center;
        gap: 1.5rem;
        margin: 0 auto;
        width: calc(100% - 3rem);
        max-width: 36.125rem;
    }

    .header__recruit-link {
        flex-direction: row-reverse;
        justify-content: flex-end;
        padding-bottom: .75rem;
        width: 10.25rem;
        color: var(--text-color);
        font-size: 1.125rem;
        border-bottom: 2px solid #E5D1CD;
    }

    .header__recruit-arrow {
        width: .9375rem;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background-color: #EA8181;
        width: .9375rem;
    }

    .header__recruit-arrow svg {
        display: none;
    } */

    .header__recruit {
        display: none;
    }

    .header__sns {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 1.5rem auto 0;
        padding: 1.25rem 1.5rem;
        width: calc(100% - 3rem);
        max-width: 36.125rem;
        background-color: #F7E2DE;
    }

    .header__sns-title {
        font-size: .875rem;
        line-height: 1.5;
    }

    .header__sns-links {
        display: flex;
        gap: 1.625rem;
    }

    .header__sns-link {
        display: flex;
        align-items: center;
        gap: .25rem;
    }

    .header__sns-image {
        width: 3.25rem;
    }

    .header__sns-image img {
        width: 100%;
    }

    .header__sns-text {
        font-size: .75rem;
        line-height: 1;
        letter-spacing: .04em;
    }

    .header__links {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        margin: 0 auto;
    }

    .herader__link {
        display: flex;
        align-items: center;
        gap: .5rem;
        margin: 0 auto
    }

    .herader__link-icon {
        width: 1rem;
    }

    .herader__link-icon img {
        width: 100%;
    }

    .herader__link-text {
        font-size: .8125rem;
        line-height: 1;
    }

    .header__cta {
        position: fixed;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
    }

    .header__cta-links {
        display: flex;
    }

    .header__cta-item {
        position: relative;
        flex: 1;
    }

    .header__cta-item--tel {
        background-image: linear-gradient(135deg, #F2909E, #E47081);
    }

    .header__cta-item--line {
        background-image: linear-gradient(135deg, #7BE8B0, #48B67D);
    }

    .header__cta-item--form {
        background-image: linear-gradient(135deg, #E9BB83, #DAA667);
    }

    .header__cta-link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: .625rem;
        height: 6.25rem;
        margin: .375rem;
        border: 1px solid;
    }

    .header__cta-item--tel .header__cta-link {
        border-color: #FFBEC8;
    }

    .header__cta-item--line .header__cta-link {
        border-color: #CBFFE4;
    }

    .header__cta-item--form .header__cta-link {
        border-color: #FFEDD8;
    }

    .header__cta-link--text {
        color: var(--white-color);
        font-size: .9375rem;
        font-weight: bold;
        line-height: 1.32;
        text-align: center;
    }

    .header__cta-link--arrow {
        width: 2.1875rem;
    }

    .header__cta-link--arrow img {
        width: 100%;
    }

    .header__toggle {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .8rem;
    }

    .header__toggle-box {
        position: relative;
        width: 2.75rem;
        height: 1.25rem;
    }

    .header__toggle-box span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #865B45;
        border-radius: .5rem;
        transition:
            top .3s ease,
            transform .3s ease,
            opacity .3s ease;
    }

    .header__toggle-box span:nth-child(1) {
        top: 0;
    }

    .header__toggle-box span:nth-child(2) {
        top: 50%;
        transform: translateY(-50%);
    }

    .header__toggle-box span:nth-child(3) {
        top: 100%;
    }

    .header__toggle.is-open .header__toggle-box span:nth-child(1) {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }

    .header__toggle.is-open .header__toggle-box span:nth-child(2) {
        opacity: 0;
    }

    .header__toggle.is-open .header__toggle-box span:nth-child(3) {
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
    }

    .header__toggle-text {
        color: #865B45;
        font-family: var(--font-family-num);
        font-weight: 400;
        line-height: 1.2;
    }
}

@media screen and (max-width:768px) {
    .header__sns-link {
        flex-direction: column;
    }
}

@media screen and (max-width:480px) {

    .header__nav-item {
        width: calc((100% - 1.5rem)/2);
    }

    .header__sns {
        padding: 1.25rem 1rem;
    }

    .header__sns-links {
        gap: .625rem;
    }
}