@charset "UTF-8";
.is-tab-pc {
    display: block;
}
.is-tab-sp {
    display: none;
}
.c-flex_contents {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.c-flex_contents.reverse {
    flex-direction: row-reverse;
}
.c-flex_contents_txt h2 {
    font-size: 47px;
    font-weight: bold;
    margin: 40px 0 50px;
    line-height: 170%;
}
.c-flex_contents_txt p {
    line-height: 280%;
}
.c-wave_title {
    text-align: center;
    color: #fff;
    position: relative;
    font-size: 36px;
    font-weight: bold;
}
.c-wave_title::after {
    content: "";
    background: url(../img/page/titile-zabuton.svg) no-repeat center/cover;
    height: 140px;
    width: 573px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}
.p-sauna_why::before, .p-sauna_entry.wave::before, .p-sauna_entry.wave::after {
    content: "";
    background: url(../img/page/bg-mizu.png) no-repeat center/cover;
    height: 684px;
    width: 100%;
    position: absolute;
}
.js-scroll-up.boing.is-show {
    transition: opacity 0.3s ease, transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.js-scroll-up.slide-fwd-center {
    transform: translateY(0) scale(0);
    transition: all 0.7s;
}
.js-scroll-up.slide-fwd-center.is-show {
    transform: translateY(0) scale(1);
}
header {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 2;
}
.p-sauna_mv {
    padding: 140px 0 170px;
    width: 100%;
    min-height: 735px;
    position: relative;
    background: url(../img/page/MV.jpg) no-repeat center/cover;
}
.p-sauna_mv h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    min-width: 1048px;
}
.p-sauna_mv::before {
    content: "";
    background: url(../img/page/catchcopy-yuge.png) no-repeat center/contain;
    max-width: 1460px;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.c-mv_entry_link {
    position: fixed;
    bottom: -35px;
    right: -65px;
    max-width: 290px;
    transition: 0.3s;
    z-index: 999;
}
@media (min-width: 601px) {
    .c-mv_entry_link:hover {
        transform: scale(0.95);
        transform-origin: right bottom;
    }
}
.p-sauna_mv .p-sauna_mv_l_yuge {
    background: url(../img/page/yuge-left.png) no-repeat center/contain;
    height: 90vw;
    width: 170%;
    position: absolute;
    top: 50%;
    left: -390px;
    transform: translateY(-50%);
    z-index: 90;
    transform-origin: left bottom;
    animation: mvFadeOut1 5s linear forwards;
    animation-delay: 1s;
}
.p-sauna_mv .p-sauna_mv_r_yuge {
    background: url(../img/page/yuge-right.png) no-repeat center/contain;
    height: 90vw;
    width: 170%;
    position: absolute;
    top: 50%;
    right: -390px;
    transform: translateY(-50%);
    z-index: 90;
    transform-origin: right bottom;
    animation: mvFadeOut2 5s linear forwards;
    animation-delay: 1s;
}
@keyframes mvFadeOut1 {
    0% {
        opacity: 1;
        rotate: 0deg;
        translate: 0 0;
    }
    100% {
        opacity: 0;
        rotate: -45deg;
        translate: -30px -30px;
    }
}
@keyframes mvFadeOut2 {
    0% {
        opacity: 1;
        rotate: 0deg;
        translate: 0 0;
    }
    100% {
        opacity: 0;
        rotate: 45deg;
        translate: 30px 30px;
    }
}
.p-sauna_about {
    margin-top: 130px;
}
.p-sauna_about .c-flex_contents {
    flex-wrap: nowrap;
}
.p-sauna_about .c-flex_contents_image, .p-sauna_how .c-flex_contents_image {
    max-width: 631px;
    width: 100%;
    position: relative;
    margin-right: -55px;
}
.p-sauna_about .c-flex_contents_image_main {
    position: relative;
}
.p-sauna_about .c-flex_contents_image_main::after {
    content: "";
    background: url(../img/page/rotenburo.png) no-repeat center/cover;
    height: 360px;
    width: 360px;
    position: absolute;
    bottom: -200px;
    right: -130px;
    z-index: 2;
}
.p-sauna_about .c-flex_contents_image .c-flex_contents_image_sub {
    position: absolute;
    top: -20px;
    left: 70px;
    z-index: 2;
}
.p-sauna_about .c-flex_contents_txt, .p-sauna_why .c-flex_contents_txt, .p-sauna_how .c-flex_contents_txt {
    max-width: 518px;
    width: 100%;
}
.p-sauna_why {
    margin-top: 240px;
    position: relative;
}
.p-sauna_why::before {
    top: -200px;
    left: 0;
    z-index: -1;
}
.p-sauna_why .c-flex_contents, .p-sauna_flow .c-flex_contents, .p-sauna_how .c-flex_contents {
    align-items: center;
}
.p-sauna_why .c-flex_contents {
    flex-wrap: nowrap;
    gap: 0 30px;
}
.p-sauna_why .c-flex_contents_image {
    max-width: 668px;
    width: 100%;
    position: relative;
    margin-left: -103px;
}
.p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub {
    position: absolute;
    top: -140px;
    left: 300px;
    z-index: 2;
}
.p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub02 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub03 {
    position: absolute;
    bottom: -120px;
    right: 60px;
    z-index: 2;
}
.c-flex_contents_txt_add {
    margin-top: 20px;
    justify-content: center;
}
.c-flex_contents_txt_add figure {
    max-width: 252px;
    width: 100%;
}
.c-flex_contents_txt_add p {
    max-width: 280px;
    width: 100%;
}
.p-sauna_flow {
    margin-top: 150px;
}
.p-sauna_flow .l-container {
    border: 4px solid var(--color-base02);
    border-radius: 10px;
    background: #fff;
    position: relative;
    z-index: 2;
}
.p-sauna_flow .l-container {
    border: 4px solid var(--color-base02);
    border-radius: 10px;
    background: #fff;
    position: relative;
    z-index: 2;
}
.p-sauna_flow .c-wave_title {
    margin-top: -30px;
}
.p-sauna_flow .c-flex_contents {
    flex-wrap: nowrap;
    gap: 0 50px;
}
.p-sauna_flow ul {
    padding: 180px 0 140px;
}
.p-sauna_flow ul li {
    position: relative;
}
.p-sauna_flow ul li::after {
    content: "";
    width: 242px;
    border: 2px #39d0db dashed;
    position: absolute;
    bottom: 0;
    z-index: -1;
}
.p-sauna_flow ul li:nth-child(1):after, .p-sauna_flow ul li:nth-child(3):after {
    left: 340px;
    transform: rotate(36deg);
}
.p-sauna_flow ul li:nth-child(2):after {
    left: 340px;
    transform: rotate(140deg);
}
.p-sauna_flow ul li:nth-child(4):after {
    display: none;
}
.p-sauna_flow ul li .p-sauna_flow_img {
    max-width: 360px;
    width: 100%;
    margin-left: 40px;
    position: relative;
}
.p-sauna_flow .step_ico_box {
    width: 137px;
    position: absolute;
    z-index: 2;
}
.p-sauna_flow ul li:nth-child(1) .step_ico_box {
    top: 0;
    left: -50px;
}
.p-sauna_flow ul li:nth-child(2) .step_ico_box {
    top: 37px;
    right: -54px;
}
.p-sauna_flow ul li:nth-child(3) .step_ico_box {
    top: 37px;
    left: -38px;
}
.p-sauna_flow ul li:nth-child(4) .step_ico_box {
    top: 13px;
    right: -54px;
}
.p-sauna_flow ul li.reverse .p-sauna_flow_img {
    margin-left: 0;
    margin-right: 50px;
}
.p-sauna_flow ul li .p-sauna_flow_txt {
    max-width: 440px;
    width: 100%;
}
.p-sauna_flow ul li .p-sauna_flow_txt strong {
    font-size: 22px;
    font-weight: bold;
    display: block;
    margin-bottom: 40px;
}
.p-sauna_entry {
    background-color: #ed6d46;
    color: #fff;
    padding: 260px 0;
    text-align: center;
    position: relative;
}
.p-sauna_entry.wave::before {
    top: -300px;
    left: 0;
    z-index: 0;
}
.p-sauna_entry.wave::after {
    bottom: -510px;
    left: 0;
    z-index: 0;
}
.c-sauna_entry_title {
    color: var(--color-base02);
    position: relative;
    font-size: 38px;
    font-weight: bold;
    line-height: 160%;
    z-index: 1;
    margin-bottom: 230px;
}
.c-sauna_entry_title::after {
    content: "";
    background: url(../img/page/kyoumi-ahiru.png) no-repeat center/cover;
    height: 380px;
    width: 570px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -33%);
    z-index: -1;
}
.c-sauna_entry_title_txt {
    position: relative;
}
.c-sauna_entry_title_txt::before, .c-sauna_entry_title_txt::after {
    content: "";
    background: url(../img/page/yuge01.png) no-repeat center/cover;
    height: 397px;
    width: 618px;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    animation: yugeUpdown 3s linear infinite;
}
.c-sauna_entry_title_txt::after {
    animation-delay: 2s;
}
@keyframes yugeUpdown {
    0% {
        opacity: 0;
        scale: 0.9;
        translate: 0 0;
    }
    50% {
        opacity: 1;
        scale: 0.98;
        translate: 0 -100px;
    }
    100% {
        opacity: 0;
        translate: 0 -200px;
        scale: 1;
    }
}
.p-sauna_entry.wave .c-sauna_entry_title_txt::before {
    top: -250px;
    left: -130px;
}
.p-sauna_entry.wave .c-sauna_entry_title_txt::after {
    bottom: -460px;
    right: -170px;
}
.p-sauna_entry.form .c-sauna_entry_title_txt::before {
    top: -330px;
    left: -130px;
}
.p-sauna_entry.form .c-sauna_entry_title_txt::after {
    bottom: -120px;
    right: -170px;
}
.c-sauna_entry_title_txt strong {
    font-size: 56px;
    font-weight: bold;
    margin-bottom: 50px;
    display: block;
}
.c-sauna_entry_title_txt a, .c-btn_wrap .c-form_btn {
    font-size: 32px;
    border-radius: 80px;
    font-weight: bold;
    position: relative;
    max-width: 580px;
    width: 100%;
    display: block;
    margin: 40px auto 90px;
    background-color: var(--color-base02);
    padding: 40px 15px 40px 30px;
    transition: 0.3s;
    color: #fff;
}
.c-sauna_entry_title_txt a:hover, .c-btn_wrap .c-form_btn:hover {
    background-color: #0044ae;
}
.c-sauna_entry_title_txt a::before, .c-btn_wrap .c-form_btn::before {
    content: "";
    background: url(../img/page/onsen-oubo.svg) no-repeat center/cover;
    width: 42px;
    height: 35px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 40px;
}
.p-sauna_share strong {
    font-size: 20px;
    display: block;
    margin-bottom: 30px;
}
.p-sauna_share .c-sauna_share_icon {
    max-width: 260px;
    width: 100%;
    margin: auto;
}
.p-sauna_share .c-sauna_share_icon li {
    max-width: 50px;
    width: 100%;
    transition: 0.3s;
}
.p-sauna_share .c-sauna_share_icon li:hover {
    transform: scale(0.9);
}
.success-msg, .success-msg02 {
    display: none;
    margin: 10px 0;
}
.p-sauna_share .c-sauna_share_tag {
    flex-wrap: wrap;
    max-width: 518px;
    width: 100%;
    margin: 40px auto 0;
}
.p-sauna_share .c-sauna_share_tag li {
    flex-basis: 158px;
    width: 100%;
    transition: 0.3s;
}
.p-sauna_share .c-sauna_share_tag li span {
    display: block;
    text-align: center;
    padding: 15px 10px;
    border: 2px solid #fff;
    border-radius: 50px;
    transition: 0.3s;
}
.p-sauna_share .c-sauna_share_tag li a {
    display: block;
    cursor: pointer;
}
.c-flex_contents_title_image {
    display: block;
}
.p-sauna_how {
    position: relative;
    z-index: 2;
    margin-top: 12px;
}
.p-sauna_how .c-flex_contents {
    flex-wrap: nowrap;
    gap: 0 30px;
}
.p-sauna_how .c-flex_contents_title_image {
    margin-bottom: 60px;
}
.p-sauna_how .c-flex_contents_title_image img {
    max-width: 147px;
    width: 100%;
}
.p-sauna_how a {
    display: block;
    padding: 15px 10px;
    border: 2px solid var(--color-base02);
    border-radius: 80px;
    transition: 0.3s;
    max-width: 350px;
    width: 100%;
    margin-top: 70px;
    text-align: center;
    position: relative;
}
.p-sauna_how a::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: 2px solid var(--color-base02);
    border-right: 2px solid var(--color-base02);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    transform: rotate(45deg);
    transition: 0.3s;
    z-index: 10;
}
.p-sauna_how a:hover {
    border: 2px solid #0044ae;
    background-color: #0044ae;
    color: #fff;
}
.p-sauna_how a:hover::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.p-sauna_company {
    margin: 170px 0 260px;
}
.p-sauna_company .c-flex_contents {
    margin-top: 120px;
}
.p-sauna_company .c-flex_contents li {
    max-width: 360px;
    width: 100%;
}
.p-sauna_company .c-flex_contents li strong {
    font-size: 22px;
    margin: 50px 0 40px;
    display: block;
}
.p-sauna_entry.form::before {
    content: "";
    background: url(../img/page/wave.png) no-repeat center/cover;
    height: 684px;
    width: 100%;
    position: absolute;
    top: -65px;
    left: 0;
    z-index: -1;
}
.p-sauna_entry.form {
    background: none;
    padding: 0;
}
.p-sauna_entry.form .c-bg_box {
    background-color: #ed6d46;
    padding-bottom: 260px;
}
.p-sauna_contact {
    background-color: #fff;
    border-radius: 15px;
    padding: 80px 0 100px;
    margin: 50px auto 60px;
}
.p-sauna_contact .c-form {
    color: #333;
}
.p-sauna_entry.form .c-form dt, .p-sauna_entry.form .c-form dd {
    text-align: left;
}
.p-sauna_entry.form .c-form dd, .p-sauna_entry.form .day_addbox {
    margin-bottom: 40px;
}
.p-sauna_entry.form .c-form_label {
    background-color: #ed6d46;
    padding: 2px 13px;
    margin: 0 12px 0 0;
    border-radius: 60px;
}
.p-sauna_entry.form .c-form select, .c-form option, .p-sauna_entry.form .c-form textarea, .p-sauna_entry.form .c-form input[type="text"], .p-sauna_entry.form .c-form input[type="tel"], .p-sauna_entry.form .c-form input[type="email"], .p-sauna_entry.form .c-form input[type="search"], .p-sauna_entry.form .c-form input[type="url"], .p-sauna_entry.form .c-form input[type="text"], .p-sauna_entry.form .c-form input[type="number"] {
    padding: 10px;
    border: 1px solid #d1d1d1;
}
.p-sauna_entry.form .c-form label:has(input[type="radio"]), .p-sauna_entry.form form#mailformpro label.mfp_checked, .p-sauna_entry.form form#mailformpro label.mfp_not_checked {
    font-weight: initial;
}
.p-sauna_entry.form .c-form textarea:disabled {
    display: none;
}
.p-sauna_entry.form .c-form_agreement {
    background: #eef5f8;
}
.p-sauna_entry.form .c-form .day_radio label:has(input[type="radio"]) {
    display: block;
}
.p-sauna_entry.form .c-form_agreement a {
    text-decoration: none;
}
.p-sauna_entry.form form#mailformpro label.mfp_not_checked {
    border: none;
}
.p-sauna_entry.form form#mailformpro label.mfp_checked {
    border: none;
    box-shadow: none;
}
.p-sauna_entry.form .c-form textarea {
    width: 100% !important;
    height: 100px !important;
}
.p-sauna_entry.form .c-form input[type="number"] {
    text-align: left !important;
}
.p-contact_thanks {
    padding: 150px 20px 200px;
    background-color: #ed6d46;
}
.p-contact_thanks .l-container_wide {
    text-align: center;
    background-color: #fff;
    border-radius: 15px;
    padding: 80px 20px 100px;
    margin: 50px auto 60px;
}
.p-contact_thanks .p-lp-contact_title {
    font-size: 3.2rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    margin-bottom: 60px;
}
.p-contact_thanks h4 {
    font-size: 2.4rem;
    color: var(--color-black);
    letter-spacing: 0.06em;
    margin-bottom: 30px;
}
.p-contact_thanks p {
    color: var(--color-black);
    line-height: 2;
}
.p-privacy {
    background-color: #ed6d46;
}
.p-privacy a:not([class]) {
    color: var(--color-base02);
}
.p-privacy a:not([class]):hover {
    text-decoration: underline;
}
.p-privacy .p-lp-privacy {
    padding: 200px 20px 250px;
}
.p-privacy .p-lp-privacy .l-container {
    padding: 60px 20px;
    color: var(--color-black);
    background-color: #fff;
    border-radius: 15px;
}
.p-privacy .p-lp-privacy .l-container .l-inner {
    max-width: var(--w-solid-short);
}
.p-privacy .p-lp-privacy_title {
    font-size: 3.2rem;
    font-weight: bold;
    color: var(--color-base02);
    margin-bottom: 40px;
}
.p-privacy .p-lp-privacy_intro {
    margin-bottom: 50px;
}
.p-privacy .p-lp-privacy_contents + .p-lp-privacy_contents {
    margin-top: 50px;
}
.p-privacy .p-lp-privacy_contents h2 {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 20px;
}
.p-privacy .c-btn_wrap {
    margin-top: 50px;
}
@media (max-width: 600px) {
    .p-privacy {
    }
    .p-privacy .p-lp-privacy {
        padding: 120px 20px 150px;
    }
    .p-privacy .p-lp-privacy .p-lp-privacy_title {
        font-size: 2.4rem;
        margin-bottom: 20px;
    }
    .p-privacy .p-lp-privacy .p-lp-privacy_intro {
        margin-bottom: 40px;
    }
    .p-privacy .p-lp-privacy .p-lp-privacy_contents + .p-lp-privacy_contents {
        margin-top: 40px;
    }
    .p-privacy .p-lp-privacy .p-lp-privacy_contents h2 {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }
    .p-privacy .p-lp-privacy .c-btn_wrap {
        margin-top: 30px;
    }
}
footer {
    position: relative;
}
footer::before {
    content: "";
    background: url(../img/page/bg-mizu02.png) no-repeat center/cover;
    height: 314px;
    width: 100%;
    position: absolute;
    bottom: 48px;
    left: 0;
    z-index: 0;
}
footer .l-container {
    position: relative;
    z-index: 2;
    text-align: center;
    background-color: var(--color-base02);
    color: #fff;
    padding: 12px 0;
}
.p-back_top {
    position: relative;
    z-index: 1;
}
.p-back_top a {
    display: block;
    max-width: 106px;
    width: 100%;
    text-align: center;
}
.p-404 {
    background: #f7f6f2;
    padding: 90px 0 60px;
}
.p-404 .p-404-mv {
    width: 100%;
    min-height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.p-404 .p-404-mv .c-title_l {
    text-align: center;
    font-weight: bold;
}
.p-404 .p-404-mv .c-title_l span {
    font-size: 32px;
    color: #99b521;
}
.p-404 .p-404-mv .c-title_l h1 {
    margin: 30px 0;
    font-size: 32px;
    color: #000000;
}
.p-404 .p-404-mv p {
    text-align: center;
    font-size: 16px;
    line-height: 2;
}
.p-404 .p-404-mv .c-btn_wrap {
    margin: 96px auto 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
    header {
        top: 10px;
        left: 10px;
    }
    header figure {
        width: 60%;
    }
    .c-flex_contents_txt h2 {
        font-size: 22px;
        margin: 0 0 30px;
    }
    .p-sauna_about {
        margin-top: 110px;
    }
    .c-mv_entry_link {
        position: fixed;
        bottom: -35px;
        right: -35px;
        max-width: 100%;
        transition: 0.3s;
        z-index: 999;
        width: 22%;
    }
    .p-sauna_about .c-flex_contents_image, .p-sauna_how .c-flex_contents_image {
        max-width: 100%;
        width: 41%;
        margin-right: 0;
    }
    .p-sauna_about .c-flex_contents_txt, .p-sauna_why .c-flex_contents_txt, .p-sauna_how .c-flex_contents_txt {
        max-width: 100%;
        width: 55%;
    }
    .p-sauna_about .c-flex_contents_image_main::after {
        height: 23vw;
        width: 23vw;
        bottom: -30%;
        right: -8%;
    }
    .p-sauna_about .c-flex_contents_image .c-flex_contents_image_sub {
        top: -4%;
        left: 8%;
        width: 26%;
    }
    .p-sauna_why .c-flex_contents_image {
        max-width: 100%;
        width: 41%;
        margin-left: 0;
    }
    .p-sauna_why .c-flex_contents, .p-sauna_how .c-flex_contents {
        align-items: flex-start;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub {
        top: -28%;
        left: 41%;
        width: 36%;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub02 {
        top: -8%;
        left: 0%;
        width: 30%;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub03 {
        bottom: -20%;
        right: 1%;
        width: 40%;
    }
    .c-flex_contents_txt_add figure {
        max-width: 100%;
        width: 55%;
    }
    .p-sauna_flow ul li .p-sauna_flow_img {
        max-width: 100%;
        width: 38%;
        margin-left: 0;
    }
    .p-sauna_flow ul li .p-sauna_flow_txt {
        max-width: 100%;
        width: 54%;
    }
    .p-sauna_flow .step_ico_box {
        width: 43%;
    }
    .p-sauna_flow ul li:nth-child(1) .step_ico_box {
        top: -5%;
        left: -14%;
    }
    .p-sauna_flow ul li:nth-child(2) .step_ico_box {
        top: 9%;
        right: -17%;
    }
    .p-sauna_flow ul li:nth-child(3) .step_ico_box {
        top: 4%;
        left: -15%;
    }
    .p-sauna_flow ul li:nth-child(4) .step_ico_box {
        top: -2%;
        right: -18%;
    }
    .p-sauna_flow ul li.reverse .p-sauna_flow_img {
        margin-left: 0;
        margin-right: 0;
    }
    .p-sauna_flow ul li .p-sauna_flow_txt strong {
        font-size: 2.5vw;
        margin-bottom: 20px;
    }
    .p-sauna_flow .c-flex_contents {
        margin-bottom: 50px;
    }
    .p-sauna_flow ul li::after {
        width: 33vw;
        bottom: -16%;
    }
    .p-sauna_flow ul li:nth-child(1):after, .p-sauna_flow ul li:nth-child(3):after {
        left: 25%;
        transform: rotate(34deg);
    }
    .p-sauna_flow ul li:nth-child(2):after {
        left: 26%;
        transform: rotate(149deg);
        bottom: -8%;
    }
    .p-sauna_flow ul {
        padding: 110px 0 30px;
    }
    .c-wave_title {
        font-size: 3.3vw;
    }
    .c-wave_title::after {
        height: 14vw;
        width: 50vw;
    }
    .c-sauna_entry_title {
        font-size: 3.8vw;
        margin-bottom: 180px;
    }
    .c-sauna_entry_title::after {
        background: url(../img/page/kyoumi-ahiru.png) no-repeat center/contain;
        height: 40vw;
        width: 60vw;
    }
    .c-sauna_entry_title_txt strong {
        font-size: 4vw;
        margin-bottom: 30px;
    }
    .c-sauna_entry_title_txt a, .c-btn_wrap .c-form_btn {
        font-size: 3.2vw;
        max-width: 100%;
        width: 59%;
        margin: 40px auto 60px;
        padding: 30px 15px 30px 45px;
    }
    .c-btn_wrap .c-form_btn {
        width: 70%;
    }
    .p-sauna_company .c-flex_contents {
        margin-top: 90px;
        justify-content: center;
    }
    .p-sauna_company .c-flex_contents li {
        max-width: 100%;
        width: 44%;
        margin: 0 3% 40px;
    }
}
@media (max-width: 1024px) {
    body {
        font-size: 1.4rem;
    }
    .is-tab-pc {
        display: none;
    }
    .is-tab-sp {
        display: block;
    }
    .p-sauna_mv {
        padding: 0;
        background: url(../img/page/sp/MV.jpg) no-repeat center/cover;
        background-position-y: -10vw;
        height: 134vw;
        overflow: hidden;
    }
    .p-sauna_mv h1 {
        min-width: 58%;
    }
    .p-sauna_mv h1 img {
        width: 100%;
    }
    .p-sauna_mv::before {
        display: none;
    }
    .p-sauna_mv .p-sauna_mv_l_yuge {
        background: url(../img/page/sp/yuge-up.png) no-repeat center/cover;
        max-width: 105%;
        height: 500vw;
        width: 105%;
        top: -90%;
        left: 50%;
        transform: translateX(-50%);
        transform-origin: left bottom;
        animation: mvFadeOut1 3s linear forwards;
        animation-delay: 1s;
    }
    .p-sauna_mv .p-sauna_mv_r_yuge {
        background: url(../img/page/sp/yuge-down.png) no-repeat center/cover;
        max-width: 105%;
        height: 360vw;
        width: 105%;
        top: auto;
        bottom: -110%;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        transform-origin: right bottom;
        animation: mvFadeOut2 3s linear forwards;
        animation-delay: 1s;
    }
    @keyframes mvFadeOut1 {
        0% {
            opacity: 1;
            rotate: 0deg;
            translate: 0 0;
        }
        100% {
            opacity: 0;
            rotate: 0deg;
            translate: 0 -300vw;
        }
    }
    @keyframes mvFadeOut2 {
        0% {
            opacity: 1;
            rotate: 0deg;
            translate: 0 0;
        }
        100% {
            opacity: 0;
            rotate: 0deg;
            translate: 0 300vw;
        }
    }
}
@media (max-width: 768px) {
    header {
        top: 8px;
        left: 3%;
    }
    header figure {
        width: 60%;
    }
    .p-sauna_mv {
        padding: 161% 0 0;
        height: auto;
        min-height: auto;
    }
    .p-sauna_mv h1 {
        min-width: 81%;
    }
    .c-mv_entry_link {
        max-width: 100%;
        width: 100%;
        right: 0;
        bottom: 0;
    }
    .p-sauna_why::before, .p-sauna_entry.wave::before, .p-sauna_entry.wave::after {
        height: 90vw;
        width: 100%;
        background-position-x: 20%;
    }
    .c-wave_title {
        font-size: 7.5vw;
    }
    .c-wave_title::after {
        background: url(../img/page/sp/titile-zabuton-sp.svg) no-repeat center/contain;
        height: 33vw;
        width: 82vw;
    }
    .p-sauna_about {
        margin-top: 20%;
    }
    .p-sauna_about .c-flex_contents {
        flex-wrap: wrap;
    }
    .p-sauna_about .c-flex_contents_image {
        order: 2;
        margin: 20% 2% 0 -2%;
    }
    .c-flex_contents_txt h2 {
        font-size: 9vw;
        font-weight: bold;
        margin: 0 0 6%;
        line-height: 170%;
    }
    .p-sauna_about .c-flex_contents_title_image {
        width: 75%;
    }
    .c-flex_contents_txt p {
        line-height: 230%;
    }
    .p-sauna_about .c-flex_contents_image .c-flex_contents_image_sub {
        position: absolute;
        top: -2%;
        left: 11%;
        z-index: 2;
        width: 25%;
    }
    .p-sauna_about .c-flex_contents_image_main {
        width: 106%;
    }
    .p-sauna_about .c-flex_contents_image_main::after {
        content: "";
        background: url(../img/page/rotenburo.png) no-repeat center/contain;
        height: 53vw;
        width: 53vw;
        position: absolute;
        bottom: -36%;
        right: -5%;
        z-index: 2;
    }
    .p-sauna_why .c-flex_contents {
        flex-wrap: wrap;
    }
    .p-sauna_why .c-flex_contents_image {
        margin-left: -3%;
        margin-right: -2%;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_main {
        width: 106%;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub {
        top: -19%;
        left: 50%;
        width: 27%;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub02 {
        left: 0%;
        width: 26%;
    }
    .p-sauna_why .c-flex_contents_image .c-flex_contents_image_sub03 {
        position: absolute;
        bottom: -15%;
        right: 4%;
        z-index: 2;
        width: 44%;
    }
    .p-sauna_why .c-flex_contents_txt {
        margin-top: 25%;
    }
    .p-sauna_why .c-flex_contents_txt .c-flex_contents_title_image {
        width: 73%;
    }
    .c-flex_contents_txt_add figure {
        max-width: 100%;
        width: 75%;
    }
    .p-sauna_flow .c-flex_contents {
        flex-wrap: wrap;
    }
    .p-sauna_flow ul {
        padding: 28% 0 30%;
    }
    .p-sauna_flow ul li .p-sauna_flow_img {
        max-width: 100%;
        width: 100%;
        margin-left: 0;
    }
    .p-sauna_flow ul li .p-sauna_flow_txt {
        max-width: 100%;
        width: 100%;
        margin-top: 10%;
    }
    .p-sauna_flow .step_ico_box {
        width: 25vw;
    }
    .p-sauna_flow ul li:nth-child(1) .step_ico_box {
        top: -2%;
        left: -4%;
    }
    .p-sauna_flow ul li:nth-child(2) .step_ico_box {
        top: -2%;
        right: -1%;
    }
    .p-sauna_flow ul li:nth-child(3) .step_ico_box {
        top: -1%;
        left: -3%;
    }
    .p-sauna_flow ul li:nth-child(4) .step_ico_box {
        top: -9%;
        right: 0%;
    }
    .p-sauna_flow ul li.reverse .p-sauna_flow_img {
        margin-right: 0;
    }
    .p-sauna_flow ul li {
        margin-bottom: 55%;
    }
    .p-sauna_flow ul li:last-child {
        margin-bottom: 0;
    }
    .p-sauna_flow ul li .p-sauna_flow_txt strong {
        font-size: 4.3vw;
        margin-bottom: 8%;
    }
    .p-sauna_flow ul li .p-sauna_flow_txt p {
        line-height: 200%;
        font-size: 3.13vw;
    }
    .p-sauna_flow ul li:nth-child(1):after, .p-sauna_flow ul li:nth-child(2):after, .p-sauna_flow ul li:nth-child(3):after {
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
    }
    .p-sauna_flow ul li::after {
        width: 23vw;
        bottom: -15%;
    }
    .p-sauna_flow ul li:nth-child(2):after {
        bottom: -15%;
    }
    .c-sauna_entry_title {
        font-size: 6.9vw;
        line-height: 120%;
        margin-bottom: 37%;
    }
    .c-sauna_entry_title::after {
        background: url(../img/page/kyoumi-ahiru.png) no-repeat center/contain;
        height: 57vw;
        width: 86vw;
    }
    .c-sauna_entry_title_txt strong {
        font-size: 11vw;
        margin-bottom: 8%;
    }
    .c-sauna_entry_title_txt a, .c-btn_wrap .c-form_btn {
        font-size: 4.5vw;
        max-width: 76.9%;
        margin: 11% auto 17%;
        padding: 8% 15px 8% 10%;
    }
    .c-sauna_entry_title_txt a::before, .c-btn_wrap .c-form_btn::before {
        content: "";
        background: url(../img/page/onsen-oubo.svg) no-repeat center/cover;
        width: 6vw;
        height: 5vw;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 6%;
    }
    .p-sauna_share .c-sauna_share_icon {
        max-width: 65%;
    }
    .p-sauna_share .c-sauna_share_icon li {
        max-width: 20%;
    }
    .p-sauna_share .c-sauna_share_tag {
        max-width: 89.7%;
        margin: 10% auto 0;
        justify-content: center;
        gap: 15px;
    }
    .p-sauna_share .c-sauna_share_tag li {
        flex-basis: 158px;
    }
    .p-sauna_share .c-sauna_share_tag li span {
        padding: 10px 5px;
    }
    .p-sauna_share .c-sauna_share_tag li a {
        width: 100%;
        padding: 0;
        font-size: 2.8vw;
    }
    .p-sauna_entry {
        padding: 40% 0 66%;
    }
    .p-sauna_entry.wave::before {
        top: -9%;
        background-position-x: 68%;
    }
    .p-sauna_entry.wave::after {
        bottom: -18%;
        background-position-x: 31%;
    }
    .c-sauna_entry_title_txt::before, .c-sauna_entry_title_txt::after {
        background: url(../img/page/yuge01.png) no-repeat center/contain;
        height: 44vw;
        width: 70vw;
    }
    .p-sauna_entry.wave .c-sauna_entry_title_txt::before {
        top: -30%;
        left: -30%;
    }
    .p-sauna_entry.wave .c-sauna_entry_title_txt::after {
        bottom: -102%;
        right: -24%;
    }
    .p-sauna_entry.form .c-sauna_entry_title_txt::before {
        top: -20%;
        left: -30%;
    }
    .p-sauna_entry.form .c-sauna_entry_title_txt::after {
        bottom: -26%;
        right: -22%;
    }
    .p-sauna_how {
        margin-top: 56%;
    }
    .p-sauna_how .c-flex_contents {
        flex-wrap: wrap;
    }
    .p-sauna_how .c-flex_contents_image {
        order: 2;
        margin-right: 0;
        margin-top: 17%;
    }
    .p-sauna_how .c-flex_contents_title_image img {
        max-width: 43%;
        width: 100%;
    }
    .p-sauna_how .c-flex_contents_title_image {
        margin-bottom: 12%;
    }
    .p-sauna_how a {
        padding: 4%;
        max-width: 100%;
        width: 100%;
        margin-top: 12%;
        font-size: 4.2vw;
    }
    .p-sauna_company {
        margin: 32% 0 15%;
    }
    .p-sauna_company .c-wave_title::after {
        background: url(../img/page/sp/titile-zabuton-02.svg) no-repeat center/contain;
        height: 47vw;
        width: 83vw;
    }
    .p-sauna_company .c-flex_contents {
        margin-top: 29%;
        padding: 0 6.4%;
    }
    .p-sauna_company .c-flex_contents li {
        max-width: 100%;
        width: 100%;
        margin-bottom: 22%;
    }
    .p-sauna_company .c-flex_contents li strong {
        font-size: 4.7vw;
        margin: 8% 0 6%;
    }
    .p-sauna_contact {
        padding: 17% 0 3%;
    }
    .p-sauna_entry.form .c-bg_box {
        padding-bottom: 33%;
        margin-bottom: -10%;
    }
    .p-sauna_entry.form::before {
        height: 90vw;
        width: 100%;
        top: 1.5%;
        left: 0;
        z-index: -1;
        background-position-x: 10%;
    }
    .p-sauna_entry.form .c-form dt.required {
        position: relative;
        padding-left: 20%;
    }
    .p-sauna_entry.form dt.required .c-form_label {
        padding: 1px 3%;
        margin: 0 12px 0 0;
        position: absolute;
        top: 0;
        left: 0;
    }
    .p-sauna_entry.form .c-form dd {
        font-size: 3.5vw;
    }
    .p-sauna_entry.form .c-form select, .c-form option, .p-sauna_entry.form .c-form textarea, .p-sauna_entry.form .c-form input[type="text"], .p-sauna_entry.form .c-form input[type="tel"], .p-sauna_entry.form .c-form input[type="email"], .p-sauna_entry.form .c-form input[type="search"], .p-sauna_entry.form .c-form input[type="url"], .p-sauna_entry.form .c-form input[type="text"], .p-sauna_entry.form .c-form input[type="number"] {
        font-size: 3.8vw;
    }
    .c-btn_wrap .c-form_btn {
        max-width: 100%;
    }
    .p-sauna_entry.form .c-form_agreement {
        max-width: 100%;
        margin: 10% auto;
        padding: 6%;
    }
    .p-sauna_entry.form .c-form_agreement a {
        font-size: 4vw;
    }
    footer::before {
        height: 31vw;
        width: 100%;
        bottom: 82%;
        background-position-x: 28%;
    }
    .p-back_top a p {
        font-size: 3.5vw;
        margin-bottom: 5%;
    }
    .p-back_top a figure {
        max-width: 31%;
        width: 100%;
        margin: auto;
    }
    .p-404 .p-404-mv .c-title_l {
        font-size: 20px;
    }
    .p-404 .p-404-mv .c-title_l span {
        font-size: 20px;
    }
    .p-404 .p-404-mv .c-title_l h1 {
        font-size: 18px;
    }
    .p-404 .p-404-mv p {
        font-size: 14px;
    }
    .p-404 .p-404-mv p .is_sp {
        display: block;
    }
    .p-404 .p-404-mv .c-link_btn {
        width: 100%;
    }
    .p-404 .p-404-mv .c-link_btn a {
        font-size: 1.6rem;
    }
}

/* 240124 */
.schedule_box {
    padding: 10px 20px;
    margin-bottom: 20px;
    display: inline-block;
    background: #eef5f8;
    font-weight: normal;
}

@media (min-width: 769px) {
    .schedule_box small {
        font-size: 1.6rem;
    }
}

@media (max-width: 768px) {
    .schedule_box {
        padding: 10px;
    }

    /* 260423 */
    .cf-turnstile .main-wrapper {
        width: 80%!important;
    }
}