header {
    position: fixed;
    z-index: 100;
    width: 100%;
}

.header-logo-img {
    width: 263px;
    height: auto;
    margin-left: 90px;
    margin-bottom: 15px;
}

.header-logo-title {
    font-size: 16px;
    margin-top: 21px;
    margin-bottom: 11px;
    margin-left: 97px;
}

.header-flex {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}

.header-info-flex {
    display: flex;
    align-items: center;
    -moz-column-gap: 50px;
         column-gap: 50px;
}

.header-info {
    font-size: 15px;
    line-height: 1.8em;
}

.header-tel {
    font-size: 25px;
    margin-top: 23px;
    margin-right: 42px;
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
}

.header-nav {
    background-color: #005BAB;
}

.header-nav-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    font-size: 16px;
    color: #FFFFFF;
    height: 74px;
    max-width: 1143px;
    background-color: #005BAB;
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
}

.header-nav-flex li {
    width: 229px;
    height: 100%;
    text-align: center;
}

.header-nav-flex a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: relative;
    transition: all 0.3s;
}

.header-nav-flex a:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.header-nav-flex a::before {
    content: "";
    display: inline-block;
    height: 27px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-left: solid 1px #FFFFFF;
}

.header-nav-flex li:last-child a::before {
    border-right: solid 1px #FFFFFF;
    right: 0;
}

.header__under-margin {
    height: 15px;
}

/* ---------------------------------------------- */
/* ハンバーガーメニュー */
/* ------------------------- */
#header-hamburger {
    display: none;
    position: relative;
    cursor: pointer;
    width: 30px;
    aspect-ratio: 30 / 12;
    border-radius: 3px;
    margin-right: 3%;
    margin-left: auto;
    z-index: 10;
}

/*ボタン内側*/
#header-hamburger span {
    display: inline-block;
    /*アニメーションの設定*/
    transition: all .4s;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    /* バーガー線の位置 */
    height: 1px;
    /* バーガー線の太さ */
    background: #000;
    width: 100%;
}

/* ------------------------------------- */
/* 三本線 */
/* ----------------- */
/* バーガー線それぞれのY方向位置 */
#header-hamburger span:nth-of-type(1) {
    top: 0;
}

#header-hamburger span:nth-of-type(2) {
    top: 50%;
    /* 数値が半端＝バーの太さがずれるのを防ぐ処置 */
}

#header-hamburger span:nth-of-type(3) {
    top: 100%;
}

/* ----------------------------------- */
/* ×印 */
/* ------------------ */
/*activeクラスが付与されると線が回転して×になる*/
#header-hamburger.active span:nth-of-type(1) {
    top: 50%;
    left: 25%;
    transform: rotate(-45deg);
    width: 50%;
}

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

#header-hamburger.active span:nth-of-type(3) {
    top: 50%;
    left: 25%;
    transform: rotate(45deg);
    width: 50%;
}

/* ----------------------------------------------- */
/* メニューウィンドウ */
/* -------------------------- */
#hamburger-window {
    /* 初期状態は非表示 */
    visibility: hidden;
    position: fixed;
    right: -100vw;
    z-index: 1000;
    width: 100%;
    height: 100vh;
    transition: 0.3s;
    /* 見た目のCSS */
    text-align: center;
    background-color: #fff;
}

#hamburger-window.open {
    visibility: visible;
    right: 0;
}

/* ---------------------- */
/* 見た目のCSS */
/* ----------------------- */
.header {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    background-color: rgba(255, 255, 255, 1);
    width: 100%;
    z-index: 1000;
}

.hamburger-window--link {
    display: block;
    padding: 26px calc((48 / 480) * 100vw);
    margin: 0 auto;
    text-align: left;
    border-bottom: 1px solid #727171;
}

.hamburger-window--link:last-child {
    border: none;
}

.hamburger-window--title {
    color: #727171;
}

.hamburger-window__link-flex {
    white-space: nowrap;
    display: flex;
    align-items: center;
    -moz-column-gap: calc((80 / 480) * 100vw);
         column-gap: calc((80 / 480) * 100vw);
}

.hamburger-window__mini-link-flex {
    display: flex;
    align-items: center;
    -moz-column-gap: calc((30 / 480) * 100vw);
         column-gap: calc((30 / 480) * 100vw);
}

.hamburger-window__main-link {
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
    font-size: 18px;
}

.hamburger-window__mini-link {
    font-size: 12px;
}

.hambuerger__tel {
    margin: 0 auto 25px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 215px;
    height: 45px;
    border: 1px solid #009D8E;
    border-radius: 999px;
    font-size: 20px;
    font-family: "ヒラギノ角ゴ Pro W6", "HiraKakuPro-W6", "myfontHiraW6", sans-serif;
}

.hambuerger__contact-detail {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.hambuerger__contact-detail p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
    line-height: 1.7em;
    font-size: 15px;
}

@media screen and (max-width: 1221px) {
    .header-logo-img {
        width: calc((263 / 1220) * 100vw);
        margin-left: calc((50 / 1220) * 100vw);
        margin-bottom: calc((15 / 1220) * 100vw);
    }

    .header-logo-title {
        font-size: clamp(12px, calc((16 / 1220) * 100vw), 16px);
        margin-top: calc((21 / 1220) * 100vw);
        margin-bottom: calc((11 / 1220) * 100vw);
        margin-left: calc((54 / 1220) * 100vw);
    }

    .header-info-flex {
        -moz-column-gap: calc((20 / 1220) * 100vw);
             column-gap: calc((20 / 1220) * 100vw);
    }

    .header-info {
        font-size: clamp(11px, calc((15 / 1220) * 100vw), 15px);
    }

    .header-tel {
        font-size: clamp(16px, calc((25 / 1220) * 100vw), 25px);
        margin-top: calc((23 / 1220) * 100vw);
        margin-right: calc((42 / 1220) * 100vw);
    }

    .header-nav-flex {
        font-size: clamp(12px, calc((16 / 1220) * 100vw), 16px);
        height: calc((74 / 1220) * 100vw);
        width: calc((1143 / 1220) * 100vw);
    }

    .header-nav-flex li {
        width: calc((229 / 1220) * 100vw);
    }

    .header-nav-flex a::before {
        height: calc((27 / 1220) * 100vw);
    }

    .header__under-margin {
        height: calc((15 / 1220) * 100vw);
    }
}

@media screen and (max-width:750px) {
    .header-flex {
        align-items: center;
        height: calc((80 / 750) * 100vw);
    }

    .header-logo-title {
        display: none;
    }

    .header-nav {
        display: none;
    }

    .header-info-flex {
        display: none;
    }

    /* ---------------------------------------------- */
    /* ハンバーガーメニュー */
    /* ------------------------- */
    #header-hamburger {
        display: block;
    }

    #hamburger-window {
        top: calc((80 / 750) * 100vw);
    }
}

@media screen and (max-width:750px) {
    .header-logo-img {
        margin-bottom: 0;
    }
}

@media screen and (max-width:480px) {
    .header-flex {
        height: 37px;
    }

    #hamburger-window {
        top: 37px;
    }

    .header-logo-img {
        margin-bottom: 0;
        width: 100%;
        max-width: 103px;
    }
}