/* ページ内リンク　ここから */
[id]:not(body) {
    scroll-margin-top: 120px;
}

@media (max-width: 1199px) {
    [id]:not(body) {
        scroll-margin-top: 85px;
    }
}

/* ページ内リンク　ここまで */

/* ヘッダー　ここから */
.new_header {
    display: block;
    margin: 0;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
}

.new_header,
.new_header *:not(i) {
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7em;
    letter-spacing: 0.11em;
    word-break: break-all;
    font-feature-settings: "palt";
    text-align: left;
}

.new_header .logo a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.new_header .menu_link {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
    background: none;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    z-index: auto;
}

@media (min-width: 1200px){
    #new_header {
        position: sticky;
        top: 0;
        z-index: 100;
        width: 100%;
        margin: 0;
        padding: 0;
        max-width: 100vw;
    }

    body.is-home #new_header {
        position: fixed;
        left: 0;
    }

    .new_header_box {
        width: 100%;
        height: 100px;
        background-color: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .new_header_box .hamburger {
        display: none;
    }

    .new_header_box .sp-header-group {
        max-width: 20%;
        max-height: 80px;
        margin-left: clamp(10px, -12.86px + 2.232vw, 30px);
    }

    .new_header_box .logo {
        width: auto;
        max-height: 80px;
        aspect-ratio: 177 / 50;
        padding: 15px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .logo img {
        aspect-ratio: 177 / 50;
        width: 100%;
        height: auto;
        max-height: 80px;
    }

    .new_header_box .navigation_box {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        width: 80%;
    }

    .new_header_box .navigation_box .menu_link {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .new_header_box .navigation_box .menu_link ul {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: clamp(10px, -35.71px + 4.464vw, 50px);
        margin-right: clamp(10px, -35.71px + 4.464vw, 50px);
    }

    .new_header_box .navigation_box .menu_link ul li a {
        color: #153368;
        font-size: clamp(10px, -1.42px + 1.116vw, 20px);
        font-weight: 600;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu a.menu-toggle {
        padding-bottom: 6px;
        border-bottom: solid 2px transparent;
        transition: color 0.3s ease, border-color 0.3s ease;
        position: relative;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu a.menu-toggle::after {
        font: var(--fa-font-solid);
        content: "\f078";
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%);
        font-size: 10px;
        transition: opacity 0.3s ease;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu.is-current .menu-toggle,
    .new_header_box .navigation_box .menu_link ul li.has-submenu:has(.submenu.is-open) .menu-toggle {
        font-weight: 600;
        position: relative;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu:has(.submenu.is-open) .menu-toggle::after {
        font: var(--fa-font-solid);
        content: "\f078";
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%) rotate(180deg);
        font-size: 10px;
        opacity: 1;
    }

    .new_header_box .navigation_box .menu_link ul:has(.submenu.is-open) li.has-submenu.is-current:not(:has(.submenu.is-open)) .menu-toggle {
        font-weight: 400;
        border-bottom-color: transparent;
    }

    .new_header_box .navigation_box .menu_link ul:has(.submenu.is-open) li.has-submenu.is-current:not(:has(.submenu.is-open)) .menu-toggle::after {
        opacity: 0;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open {
        display: block;
        position: absolute;
        top: 100%;
        left: 0;
        background-color: #E9ECF1;
        width: 100%;
        max-height: calc(100vh - 100px);
        overflow-y: scroll;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-inner {
        width: 94%;
        max-width: 1100px;
        margin-inline: auto;
        padding: clamp(15.01px, -1.04px + 1.616vw, 30px) 0;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: clamp(15.01px, -1.04px + 1.616vw, 30px);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl .nav-ttl {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: clamp(5.01px, -0.35px + 0.539vw, 10px);
        font-size: clamp(20px, 13.33px + 0.556vw, 24px);
        color: #153368;
        font-weight: 600;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl .nav-ttl i {
        color: #153368;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl button.submenu-close {
        position: relative;
        border: solid 2px #153368;
        border-radius: 100vmax;
        background-color: #153368;
        width: clamp(30px, 19.31px + 1.078vw, 40px);
        height: clamp(30px, 19.31px + 1.078vw, 40px);
        cursor: pointer;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl button.submenu-close::before,
    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl button.submenu-close::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: clamp(15.01px, 9.65px + 0.539vw, 20px);
        height: 2px;
        background: #e9ecf1;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl button.submenu-close::before {
        transform: translate(-50%, -50%) rotate(45deg);
        }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl button.submenu-close::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-ttl button.submenu-close:hover {
        opacity: 0.8;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: stretch;
        gap: 20px 15px;
        margin-right: 0;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li {
        width: calc((100% - 30px) / 3);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a {
        position: relative;
        display: block;
        width: 100%;
        border: solid 1px #153368;
        background-color: #fff;
        padding: 16px 0;
        color: #153368;
        text-align: center;
        font-size: clamp(14px, 4px + 0.833vw, 16px);
        font-weight: 600;
        overflow: hidden;
        z-index: 1;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a i {
        color: #153368;
        margin-right: 10px;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a::before {
        content: '';
        background: #153368;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
        z-index: -1;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a::after {
        content: "";
        position: absolute;
        top: calc(50% - 3px);
        right: 15px;
        display: inline-block;
        width: 6px;
        height: 6px;
        border-top: 2px solid #153368;
        border-right: 2px solid #153368;
        transform: rotate(45deg);
        margin-left: 8px;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a:hover,
    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a:hover i {
        color: #fff;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a:hover::before {
        transform: scale(1, 1);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group ul li a:hover::after {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-open .submenu-group:last-of-type {
        margin-bottom: 0;
    }

    .new_header_box .navigation_box .header_menu_list_btn {
        min-width: clamp(450px, 278.58px + 16.741vw, 600px);
        height: 100px;
        display: flex;
        justify-content: flex-end;
        align-items: stretch;
    }

    .new_header_box .navigation_box .header_menu_list_btn a {
        width: calc(100% / 3);
        min-width: 130px;
		padding: 10px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel {
        background-color: #30947B;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel p {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span {
        display: block;
        color: #fff;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.4;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:first-of-type {
        font-size: clamp(13.01px, 7.28px + 0.558vw, 18px);
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:nth-of-type(2) {
        font-size: clamp(16px, 9.14px + 0.67vw, 22px);
        margin-bottom: 3px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:last-of-type {
        font-size: clamp(8.9px, 5.36px + 0.346vw, 12px);
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:nth-of-type(2)::before {
        font: var(--fa-font-solid);
        content: "\f098";
        margin-right: 5px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web {
        background-color: #153368;
        border: solid 1px #153368;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web p {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web span {
        display: block;
        color: #fff;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.4;
        font-size: clamp(15.01px, 9.28px + 0.558vw, 20px);
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web span em {
        display: block;
        color: #fff;
        font-size: clamp(10px, 7.71px + 0.223vw, 12px);
        font-style: normal;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web p::before {
        font: var(--fa-font-solid);
        content: "\f390";
        color: #fff;
        font-size: clamp(20px, 8.58px + 1.116vw, 30px);
        margin-right: 8px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_reserve {
        background-color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_reserve span {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #153368;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.2;
        font-size: clamp(14px, 9.42px + 0.446vw, 18px);
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_reserve span::before {
        font: var(--fa-font-solid);
        content: "\f328";
        color: #153368;
        font-size: clamp(20px, 8.58px + 1.116vw, 30px);
        margin-right: 8px;
    }

    .submenu {
        display: none;
        position: relative;
        z-index: 100;
    }

    .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb(1 1 33 / 70%);
        z-index: 99;
    }

    .overlay.is-active {
        display: block;
    }
}

@media (max-width: 1199px){
    #new_header {
        position: sticky;
        top: 0;
        z-index: 100;
        width: 100%;
        margin: 0;
    }

    .new_header_box .sp-header-group {
        width: 100%;
        height: 65px;
        background-color: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
        z-index: 300;
    }

    .new_header_box .logo {
        width: auto;
        height: 45px;
        aspect-ratio: 177 / 50;
        margin: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .logo img {
        aspect-ratio: 177 / 50;
        width: 100%;
        height: auto;
    }

    .new_header_box .hamburger {
        display: block;
        width: 45px;
        height: 48px;
        position: relative;
        background-color: #000034;
        border: none;
        cursor: pointer;
        z-index: 201;
        margin-right: 10px;
        transition: background-color 0.3s ease, width 0.3s ease, height 0.3s ease, margin-right 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
    }

    .new_header_box .hamburger span {
        position: absolute;
        left: 5px;
        width: 35px;
        height: 1px;
        background: #fff;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .new_header_box .hamburger span:nth-child(1) {
        top: 9px;
    }

    .new_header_box .hamburger span:nth-child(2) {
        top: 16px;
    }

    .new_header_box .hamburger span:nth-child(3) {
        top: 23px;
    }

    .new_header_box .hamburger em {
        position: absolute;
        left: 5px;
        bottom: 3px;
        width: 35px;
        color: #fff;
        letter-spacing: initial;
        font-size: 10px;
        font-style: normal;
        font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
        text-align: center;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .new_header_box .hamburger em::before {
        content: "MENU";
    }

    /* ×に変形 */
    .new_header_box .hamburger.is-active {
        background-color: #000034;
        width: 45px;
        height: 48px;
        margin-right: 10px;
    }

    .new_header_box .hamburger.is-active span {
        background: #fff;
        left: 5px;
    }

    .new_header_box .hamburger.is-active span:nth-child(1) {
        top: 10px;
        transform: translateY(5px) rotate(-20deg);
    }

    .new_header_box .hamburger.is-active span:nth-child(2) {
        opacity: 0;
    }

    .new_header_box .hamburger.is-active span:nth-child(3) {
        bottom: auto;
        top: 22px;
        transform: translateY(-8px) rotate(20deg);
    }

    .new_header_box .hamburger.is-active em::before {
        content: "CLOSE";
    }

    .new_header_box .navigation_box {
        position: fixed;
        top: 65px;
        left: 0;
        width: 100%;
        max-height: calc(100vh - 50px);
        background: #fff;
        visibility: hidden;
        opacity: 0;
        transition: .3s;
        z-index: 200;
        overflow-y: auto;
    }

    .new_header_box .navigation_box.is-open {
        opacity: 1;
        visibility: visible;
        border-top: solid 1px #153368;
        box-shadow: 0 3px 6px rgb(0 0 0 / 16%);
        overflow-y: scroll;
    }

    .new_header_box .navigation_box .menu_link .has-submenu .menu-toggle,
    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl button.submenu-close {
        display: none;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl .nav-ttl {
        background-color: #fff;
        color: #153368;
        padding: 12px 15px;
        font-size: 16px;
        font-weight: 500;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl .nav-ttl i {
        color: #153368;
        font-size: 24px;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu {
        display: block;
        position: static;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl {
        position: relative;
        cursor: pointer;
        border-bottom: solid 1px #153368;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl::before,
    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl::after {
        content: "";
        position: absolute;
        right: 15px;
        top: 50%;
        width: 16px;
        height: 2px;
        background: #153368;
        transition: transform 0.3s ease;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-ttl::after {
        transform: rotate(90deg);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-sp-open .submenu-ttl::after {
        transform: rotate(0deg);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-group {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.8s ease;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu.is-sp-open .submenu-group {
        max-height: 1000px;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .nav-ttl {
        cursor: pointer;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-group ul li a {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        padding: 15px 20px;
        color: #153368;
        font-weight: 600;
        border-bottom: solid 1px #153368;
        background-color: #E9ECF1;
        font-size: clamp(13.01px, 10.96px + 0.656vw, 16px);
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-group ul li a::before {
        font: var(--fa-font-solid);
        color: #153368;
        margin-right: 8px;
    }

    .new_header_box .navigation_box .menu_link ul li.menu_treatments.has-submenu .submenu .submenu-group ul li a::before {
        content: "\f5c9";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_about.has-submenu .submenu .submenu-group ul li:first-of-type a::before {
        content: "\f0f0";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_about.has-submenu .submenu .submenu-group ul li:nth-of-type(2) a::before {
        content: "\f3c5";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_about.has-submenu .submenu .submenu-group ul li:nth-of-type(3) a::before {
        content: "\e05c";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_about.has-submenu .submenu .submenu-group ul li:nth-of-type(4) a::before {
        content: "\f1ea";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_sns.has-submenu .submenu .submenu-group ul li:first-of-type a::before {
        font: var(--fa-font-brands);
        content: "\e055";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_sns.has-submenu .submenu .submenu-group ul li:nth-of-type(2) a::before {
        font: var(--fa-font-brands);
        content: "\f082";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_sns.has-submenu .submenu .submenu-group ul li:nth-of-type(3) a::before {
        font: var(--fa-font-brands);
        content: "\f167";
    }

    .new_header_box .navigation_box .menu_link ul li.menu_sns.has-submenu .submenu .submenu-group ul li a i {
        display: none;
    }

    .new_header_box .navigation_box .menu_link ul li.has-submenu .submenu .submenu-group ul li a::after {
        content: "";
        position: absolute;
        top: calc(50% - 3px);
        right: 20px;
        display: inline-block;
        width: 6px;
        height: 6px;
        border-top: 2px solid #153368;
        border-right: 2px solid #153368;
        transform: rotate(45deg);
    }

    .new_header_box .navigation_box .menu_link ul li.menu_sns.has-submenu .submenu .submenu-group ul li a::after {
        font: var(--fa-font-solid);
        color: #153368;
        content: "\f35d";
        position: absolute;
        top: 50%;
        right: 14px;
        display: inline-block;
        border: none;
        width: 16px;
        height: 16px;
        transform: translateY(-50%);
    }

    .new_header_box .navigation_box .menu_link .menu_cost a,
    .new_header_box .navigation_box .menu_link .menu_case a,
    .new_header_box .navigation_box .menu_link .menu_blog a {
        position: relative;
        cursor: pointer;
        border-bottom: solid 1px #153368;
        background-color: #fff;
        color: #153368;
        padding: 12px 15px;
        font-size: 16px;
        font-weight: 500;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
    }

    .new_header_box .navigation_box .menu_link .menu_cost a::before {
        font: var(--fa-font-solid);
        content: "\f51e";
        color: #153368;
        font-size: 20px;
        margin-right: 3px;
        padding-left: 4px;
    }

    .new_header_box .navigation_box .menu_link .menu_case a::before {
        font: var(--fa-font-solid);
        content: "\f030";
        color: #153368;
        font-size: 20px;
        margin-right: 3px;
        padding-left: 4px;
    }

    .new_header_box .navigation_box .menu_link .menu_blog a::before {
        font: var(--fa-font-solid);
        content: "\f305";
        color: #153368;
        font-size: 20px;
        margin-right: 3px;
        padding-left: 4px;
    }

    .new_header_box .navigation_box .menu_link .menu_cost a::after,
    .new_header_box .navigation_box .menu_link .menu_case a::after,
    .new_header_box .navigation_box .menu_link .menu_blog a::after {
        content: "";
        position: absolute;
        top: calc(50% - 3px);
        right: 20px;
        display: inline-block;
        width: 6px;
        height: 6px;
        border-top: 2px solid #153368;
        border-right: 2px solid #153368;
        transform: rotate(45deg);
    }

    .new_header_box .navigation_box.is-open .header_menu_list_btn {
        background-color: #E9ECF1;
        padding: 15px 20px 30px;
    }

    .new_header_box .navigation_box .header_menu_list_btn {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
    }

    .new_header_box .navigation_box .header_menu_list_btn a {
        width: 100%;
        max-width: 350px;
        border-radius: 100vmax;
        min-height: 70px;
		padding: 10px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel {
        background-color: #30947B;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel p {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        height: 100%;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel::before {
        font: var(--fa-font-solid);
        content: "\f098";
        font-size: 36px;
        color: #fff;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span {
        display: block;
        color: #fff;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.4;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:first-of-type {
        font-size: 20px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:nth-of-type(2) {
        display: none;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_tel span:last-of-type {
        font-size: 13px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web {
        background-color: #153368;
        border: solid 1px #153368;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web p {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web span {
        display: block;
        color: #fff;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.4;
        font-size: 20px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web span em {
        display: block;
        color: #fff;
        font-size: 13px;
        font-style: normal;
        text-align: center;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_web p::before {
        font: var(--fa-font-solid);
        content: "\f390";
        color: #fff;
        font-size: 32px;
        margin-right: 8px;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_reserve {
        background-color: #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        border: solid 2px #153368;
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_reserve span {
        display: flex;
        justify-content: center;
        align-items: center;
        color: #153368;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 1.2;
        font-size: clamp(16px, 14.64px + 0.438vw, 18px);
    }

    .new_header_box .navigation_box .header_menu_list_btn .menu_list_btn_reserve span::before {
        font: var(--fa-font-solid);
        content: "\f328";
        color: #153368;
        font-size: 32px;
        margin-right: 8px;
    }
}
/* ヘッダー　ここまで */

/* フッター　ここから */
.yoyaku_wrap_btn_box {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 20px;
    margin: 20px auto;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn {
    width: calc((100% - 40px) / 3);
    padding: 10px 30px;
    border-radius: 10px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel {
    background-color: #30947B;
    border: solid 1px #30947B;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel p {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel span {
    display: block;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.4;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel span:first-of-type {
    font-size: 18px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel span:nth-of-type(2) {
    font-size: 22px;
    margin-bottom: 3px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel span:last-of-type {
    font-size: 12px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel span:nth-of-type(2)::before {
    font: var(--fa-font-solid);
    content: "\f098";
    margin-right: 5px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.web {
    background-color: #153368;
    border: solid 1px #153368;
    display: flex;
    justify-content: center;
    align-items: center;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.web p {
    display: flex;
    justify-content: center;
    align-items: center;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.web span {
    display: block;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.4;
    font-size: 20px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.web span em {
    display: block;
    color: #fff;
    font-size: 12px;
    font-style: normal;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.web p::before {
    font: var(--fa-font-solid);
    content: "\f390";
    color: #fff;
    font-size: 30px;
    margin-right: 8px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.reserve {
    background-color: #fff;
    border: solid 1px #153368;
    display: flex;
    justify-content: center;
    align-items: center;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.reserve span {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #153368;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2;
    font-size: 18px;
}
.yoyaku_wrap_btn_box .yoyaku_wrap_btn.reserve span::before {
    font: var(--fa-font-solid);
    content: "\f328";
    color: #153368;
    font-size: 30px;
    margin-right: 8px;
}
@media screen and (max-width: 767px) {
    .yoyaku_wrap_btn_box {
        flex-direction: column;
    }
    .yoyaku_wrap_btn_box .yoyaku_wrap_btn {
        width: 100%;
        border-radius: 100vmax;
        min-height: 70px;
    }
    .yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel::before {
        font: var(--fa-font-solid);
        content: "\f098";
        margin-right: 8px;
        font-size: 28px;
        color: #fff;
    }
    .yoyaku_wrap_btn_box .yoyaku_wrap_btn.tel span:nth-of-type(2) {
        display: none;
    }
}
/* フッター　ここまで */

/* フローティングボタン　ここから */
.sp_floating_btn,
.sp_floating_btn *:not(i) {
    color: #000;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7em;
    letter-spacing: 0.11em;
    text-align: left;
}

@media (min-width: 1200px){
    .sp_floating_btn {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .sp_floating_btn {
        display: block;
        position: fixed;
        top: 30%;
        transform: translateY(-30%);
        right: 0;
    }

    .sp_floating_btn a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 100px;
        height: 100px;
        margin-bottom: 10px;
    }

    .sp_floating_btn a.btn_tel {
        background-color: #30947B;
        color: #fff;
    }

    .sp_floating_btn a.btn_contact {
        background-color: #fff;
        color: #153368;
        border: solid 1px #153368;
        border-right: none;
    }

    .sp_floating_btn a.btn_web {
        background-color: #153368;
        color: #fff;
    }

    .sp_floating_btn a.btn_tel span.btn_txt,
    .sp_floating_btn a.btn_web span.btn_txt,
    .sp_floating_btn a.btn_contact span.btn_txt {
        display: none;
    }

    .sp_floating_btn a .btn_content {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 5px;
    }

    .sp_floating_btn a.btn_tel .btn_content i,
    .sp_floating_btn a.btn_tel .btn_content span,
    .sp_floating_btn a.btn_web .btn_content i,
    .sp_floating_btn a.btn_web .btn_content span {
        color: #fff;
    }

    .sp_floating_btn a.btn_contact .btn_content i,
    .sp_floating_btn a.btn_contact .btn_content span {
        color: #153368;
    }

    .sp_floating_btn a.btn_tel .btn_content i,
    .sp_floating_btn a.btn_web .btn_content i,
    .sp_floating_btn a.btn_contact .btn_content i {
        font-size: 24px;
        line-height: 1.0;
    }

    .sp_floating_btn a.btn_tel .btn_content span,
    .sp_floating_btn a.btn_web .btn_content span,
    .sp_floating_btn a.btn_contact .btn_content span {
        font-size: 15px;
        line-height: 1.2;
        letter-spacing: 0;
        font-weight: 600;
        text-align: center;
    }

    .sp_floating_btn a.btn_tel .btn_content span::after {
        content: "092-738-8028";
        font-size: 14px;
        display: block;
    }
}

@media (max-width: 767px){
    .sp_floating_btn {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
    }

    .sp_floating_btn a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: calc(100% / 3);
        height: 65px;
        position: relative;
    }

    .sp_floating_btn a.btn_tel {
        background-color: #30947B;
        color: #fff;
    }

    .sp_floating_btn a.btn_contact {
        background-color: #fff;
        color: #153368;
        border-top: solid 1px #153368;
    }

    .sp_floating_btn a.btn_web {
        background-color: #153368;
        color: #fff;
    }

    .sp_floating_btn a span.btn_txt {
        background-color: #fff;
        border-radius: 100vmax;
        font-size: clamp(11.01px, 8.96px + 0.656vw, 14px);
        font-weight: 600;
        letter-spacing: 0;
        text-align: center;
        padding: 2px 9px;
        position: absolute;
        top: -12px;
        width: 80%;
        min-width: 95px;
    }

    .sp_floating_btn a.btn_tel span.btn_txt {
        color: #30947B;
        border: solid 1px #30947B;
    }

    .sp_floating_btn a.btn_web span.btn_txt {
        color: #153368;
        border: solid 1px #153368;
    }

    .sp_floating_btn a.btn_contact span.btn_txt {
        color: #153368;
        border: solid 1px #153368;
    }

    .sp_floating_btn a .btn_content {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 10px;
    }

    .sp_floating_btn a.btn_tel .btn_content i,
    .sp_floating_btn a.btn_tel .btn_content span,
    .sp_floating_btn a.btn_web .btn_content i,
    .sp_floating_btn a.btn_web .btn_content span {
        color: #fff;
    }

    .sp_floating_btn a.btn_contact .btn_content i,
    .sp_floating_btn a.btn_contact .btn_content span {
        color: #153368;
    }

    .sp_floating_btn a.btn_tel .btn_content i,
    .sp_floating_btn a.btn_web .btn_content i,
    .sp_floating_btn a.btn_contact .btn_content i {
        font-size: clamp(18px, 13.94px + 1.313vw, 24px);
        line-height: 1.0;
    }

    .sp_floating_btn a.btn_tel .btn_content span,
    .sp_floating_btn a.btn_web .btn_content span,
    .sp_floating_btn a.btn_contact .btn_content span {
        font-size: clamp(13px, 10.96px + 0.656vw, 16px);
        line-height: 1.2;
        letter-spacing: 0;
        font-weight: 600;
    }
}
/* フローティングボタン　ここまで */

/* 施術ページ、料金表：CTAボタンとページ内リンク　ここから */
.list_cta_box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.list_cta_box_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: calc(50% - 10px);
    border-radius: 20px;
    padding: 20px 0;
    font-family: 游明朝体, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
}

.list_cta_box_btn::after {
    position: absolute;
    font: var(--fa-font-solid);
    content: "\f054";
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
}

.list_cta_box_btn:first-of-type {
    border: solid 2px #30947B;
    background-color: #30947B;
    color: #fff;
}

.list_cta_box_btn:last-of-type {
    border: solid 2px #153368;
    background-color: #fff;
    color: #153368;
}

.list_cta_box_btn:hover:first-of-type {
    border: solid 2px #30947B;
    background-color: #fff;
    color: #30947B;
    transition : all 0.5s ease 0s;
    opacity: 1.0;
}

.list_cta_box_btn:hover:last-of-type {
    border: solid 2px #153368;
    background-color: #153368;
    color: #fff;
    transition : all 0.5s ease 0s;
    opacity: 1.0;
}

.list_pagelink_box {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 96%;
    margin-inline: auto;
}

.list_pagelink_box a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc((100% - 40px) / 3);
    height: auto;
    min-height: 64px;
    border: solid 1px #153368;
    background-color: #fff;
    color: #153368;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    padding: 10px 20px;
}

.list_pagelink_box a span {
    color: #153368;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.list_pagelink_box a span em {
    display: block;
    color: #153368;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.list_pagelink_box a::before {
    font: var(--fa-font-solid);
    content: "\f5c9";
    font-size: 16px;
}

.list_pagelink_box a::after {
    font: var(--fa-font-solid);
    content: "\f078";
    font-size: 10px;
}

.list_pagelink_box a:hover {
    background-color: #153368;
    color: #fff;
    opacity: 1.0;
}

@media screen and (max-width: 767px) {
    .list_cta_box {
        flex-direction: column;
    }

    .list_cta_box_btn {
        width: 100%;
        font-size: 18px;
        padding: 16px 0;
    }

    .list_pagelink_box {
        gap: 10px;
    }

    .list_pagelink_box a {
        width: calc((100% - 10px) / 2);
        padding: 10px 5px 10px 10px;
        font-size: 14px;
        min-height: 50px;
    }

    .list_pagelink_box a span em {
        font-size: 10px;
    }
}
/* 施術ページ、料金表：CTAボタンとページ内リンク　ここまで */

/* 目次（Easy Table of Contents）プラグイン調整　ここから */
#ez-toc-container a {
    font-size: 14px !important;
}
/* 目次（Easy Table of Contents）プラグイン調整　ここまで */

/* ブログ、一覧に戻るボタン追加　ここから */
.back_to_top {
    margin-top:2.5rem
}
/* ブログ、一覧に戻るボタン追加　ここまで */

/* コラム記事ページ：監修者情報　ここから */
.supervisor_box {
    background-color: #FBFBFB;
    border: solid 2px #153368;
    padding: 25px 30px;
}

.supervisor_box h2 {
    font-family: "Noto Sans JP", sans-serif;
    background-color: #153368;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    padding: 10px 20px;
    margin: 0;
}

.supervisor_box .contents {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 40% auto;
    grid-template-rows: auto auto 1fr;
    gap: 0 30px;
}

.supervisor_box .contents figure {
    grid-row: span 3 / span 3;
    width: 100%;
    height: 100%;
}

.supervisor_box .contents img {
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

.supervisor_box .contents h3 {
    width: 100%;
    margin: 0;
    border-bottom: solid 1px #000034;
    border-left: none;
    padding-left: 0;
}

.supervisor_box .contents h3 span {
    display: block;
    background-color: inherit;
    color: #000034;
    padding: 0;
}

.supervisor_box .contents h3 span:first-of-type {
    font-size: 14px;
    font-weight: 600;
}

.supervisor_box .contents h3 span:nth-of-type(2) {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.0;
    margin: 4px 0 14px;
}

.supervisor_box .contents a {
    grid-column-start: 2;
    display: block;
    position: relative;
    margin: auto 0 0 auto;
    font-weight: 500;
    border-bottom: solid 1px #000034;
    padding: 0 16px 8px 0;
}

.supervisor_box .contents a::after {
    position: absolute;
    content: "";
    top: calc(50% - 6px);
    margin: auto;
    right: 0;
    border-top: 1px solid #000034;
    border-right: 1px solid #000034;
    width: 6px;
    height: 6px;
    transform: rotate(45deg);
}

.supervisor_box .contents dl {
    width: 100%;
    margin: 20px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px 20px;
}

.supervisor_box .contents dt {
    display: inline-block;
    width: 5rem;
    line-height: 1.6;
}

.supervisor_box .contents dd {
    display: inline-block;
    width: calc(100% - 5rem - 20px);
    line-height: 1.6;
}

.supervisor_box .contents + .contents {
    padding-top: 30px;
    border-top: 1px solid #000034;
}

/* アイキャッチ未設定時のプレースホルダ */
.supervisor_box .contents figure.noimage {
    background-color: #b8b8cc;
    aspect-ratio: 1 / 1;
}

@media screen and (max-width: 767px) {
    .supervisor_box {
        padding: 20px;
    }

    .supervisor_box h2 {
        font-size: 18px;
    }

    .supervisor_box .contents h3 {
        font-size: 14px;
        margin-bottom: 10px;
    }

    .supervisor_box .contents h3 span {
        word-break: keep-all;
        line-height: 1.4;
    }

    .supervisor_box .contents h3 span:nth-of-type(2) {
        font-size: 20px;
    }

    .supervisor_box .contents h3 span:nth-of-type(2) em {
        margin-left: 14px;
        font-size: 12px;
        font-weight: 500;
    }

    .supervisor_box .contents a {
        font-size: 14px;
        padding: 0 10px 8px 0;
    }

    .supervisor_box .contents a::after {
        top: calc(50% - 5px);
        width: 5px;
        height: 5px;
    }

    .supervisor_box .contents {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .supervisor_box .contents h3 {
        margin-bottom: 0;
    }

    .supervisor_box .contents dl {
        flex-direction: column;
        gap: 5px;
        margin: 0;
    }

    .supervisor_box .contents dt {
        font-size: 14px;
        font-weight: 600;
        width: 100%;
    }

    .supervisor_box .contents dd {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 10px;
        width: 100%;
        word-break: keep-all;
    }

    .supervisor_box .contents dd:last-of-type {
        margin-bottom: 0;
    }
}
/* コラム記事ページ：監修者情報　ここまで */