@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&display=swap");

html {
    --txt-font-00: "Noto Serif JP", serif;
    --txt-color-00: #622909;
    --txt-color-01: #00afcc;
    --txt-color-02: #f5feff;
    --txt-color-03: #fff;
    --txt-color-04: #f8a841;
    --txt-color-05: #cae1e5;
    --back-color-00: #622909;
    --back-color-01: #00afcc;
    --back-color-02: #f5feff;
    --back-color-03: #fff;
    --back-color-04: #f8a841;
    --back-color-05: #cae1e5;
    --ttl-color-00: #622909;
    --ttl-color-01: #00afcc;
    --ttl-color-02: #f5feff;
    --ttl-color-03: #fff;
    --ttl-color-04: #f8a841;
    --ttl-color-05: #cae1e5;
    --btn-color-00: #622909;
    --btn-color-01: #00afcc;
    --btn-color-02: #f5feff;
    --btn-color-03: #fff;
    --btn-color-04: #f8a841;
    --btn-color-05: #cae1e5;
}

.wrapper {
    min-width: 420px;
}

/* ==========基本設定========== */
html {
    font-family: var(--txt-font-00);
    font-weight: 400;
    font-size: 16px;
    color: var(--txt-color-00);
    letter-spacing: 0.15em;
}

/* トップぺージパララックスのために必要 */
.index section {
    background-color: #fff;
}

.up-py-200 {
    padding-top: 200px;
    padding-bottom: 200px;
}

.section__larger_m {
    margin-top: 200px;
    margin-bottom: 200px;
}

@media(max-width:599px) {
    .up-py-200 {
        padding-top: 0;
        padding-bottom: 0;
    }

    .section__larger_m {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

@media(max-width:599px) {
    .sp-inner {
        width: 96%;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ==========共通パーツ========== */
.bg-parent.opa01 .bg-image img {
    -webkit-filter: opacity(0.2);
    filter: opacity(0.2);
}

.line-container a {
    display: block;
    font-size: 100px;
    color: #fff;
    text-align: center;
}

.line-container a::after {
    content: "\f3c0";
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    line-height: 1;
}

.reserve-popup .box .box-inner .line-container {
    font-size: 90px;
    color: #00b900;
    line-height: 1;
    text-align: center;
}

.tel-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.1em;
}

.tel-wrap .tel a {
    padding-left: 1.5em;
    position: relative;
}

.tel-wrap .tel a::before {
    content: "";
    width: 40px;
    height: 40px;
    display: block;
    border-radius: 100%;
    background-image: url("/import/tenant_1/153.121.54.81/html/images/tel-icon.webp");
    background-size: 70%;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: var(--back-color-01);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.tel-wrap.bigger {
    font-size: 60px;
}

.tel-wrap.bigger .tel a::before {
    width: 60px;
    height: 60px;
    background-size: 60%;
}

@media (max-width: 1024px) {
    .tel-wrap {
        font-size: 22px;
    }

    .tel-wrap .tel a::before {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 599px) {
    footer .tel-wrap {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .tel-wrap.bigger {
        font-size: 28px;
    }

    .tel-wrap.bigger .tel a::before {
        width: 36px;
        height: 36px;
        background-size: 60%;
    }
}

.reserve-btn a,
.reserve-btn span {
    width: 100%;
    min-width: 320px;
    height: 100%;
    display: block;
    padding: 1em;
    font-size: 1.2em;
    color: var(--txt-color-03);
    letter-spacing: 0.25em;
    text-align: center;
    border-radius: 10px;
    background-color: var(--back-color-04);
}

@media (max-width: 1024px) {
    .reserve-btn a,
    .reserve-btn span {
        min-width: 320px;
        font-size: 1em;
    }
}

.reserve-btn-deco {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 10px;
    font-size: 1.2em;
    letter-spacing: 0.5em;
}

.reserve-btn-deco::before {
    content: "";
    width: 2px;
    height: 20px;
    display: block;
    margin-right: 1em;
    background-color: var(--back-color-00);
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
}

.reserve-btn-deco::after {
    content: "";
    width: 2px;
    height: 20px;
    display: block;
    margin-left: 1em;
    background-color: var(--back-color-00);
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
}

/* 予約ボタン押した時のポップアップ */
.reserve-popup {
    width: 100%;
    height: 100%;
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
}

.reserve-popup .box {
    width: 100%;
    height: 100%;
    position: relative;
}

.reserve-popup .box .box-inner {
    width: 80%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.reserve-popup .box .box-inner .list-inner {
    height: 205px;
    padding: 30px;
    border-radius: 10px;
    background: #fff;
}

.reserve-popup .box .box-inner .img-wrap {
    max-width: 300px;
    margin: auto;
}

.reserve-btn-container.appeared .reserve-popup {
    display: block;
    opacity: 1;
    z-index: 2;
}

@media (max-width: 599px) {
    .reserve-popup .box .box-inner .list-inner {
        height: auto;
    }
}

/* SNSアイコン */

.instagram-wrap a,
.facebook-wrap a,
.contact-wrap a,
.line-wrap a {
    width: 100%;
    width: 100%;
    height: 100%;
    height: 100%;
    display: inline-block;
    font-size: 36px;
    color: var(--txt-color-03);
    border-radius: 100%;
    background-color: var(--back-color-01);
    -webkit-filter: drop-shadow(0px 0px 4px #fff)drop-shadow(0px 0px 4px #fff);
    filter: drop-shadow(0px 0px 4px #fff)drop-shadow(0px 0px 4px #fff);
    position: relative;
}

.instagram-wrap a::after {
    content: "\f16d";
    margin-top: 1px;
    margin-left: 1px;
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    line-height: 1;
}

.facebook-wrap a::after {
    content: "\f09a";
    margin-top: 1px;
    margin-left: 1px;
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    line-height: 1;
}

.line-wrap a::after {
    content: "\f3c0";
    margin-top: 1px;
    margin-left: 1px;
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    line-height: 1;
}

.contact-wrap a::after {
    content: "";
    width: 36px;
    height: 36px;
    display: inline-block;
    background-image: url("/import/tenant_1/153.121.54.81/html/images/mail-icon.webp");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

.sns-wrap a::after {
    display: inline-block;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.text {
    line-height: 2;
}

/* タイトル */
.title_01 {
    font-size: 28px;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
}

@media (max-width: 1024px) {
    .title_01 {
        font-size: 22px;
    }
}

@media (max-width: 599px) {
    .title_01 {
        font-size: 20px;
    }
}

.title_02 {
    letter-spacing: 0.1em;
}

.title_03 {
    font-family: "Dancing Script", cursive;
    font-weight: 700;
    font-size: 70px;
    color: var(--txt-color-00);
}

.title_03.pos {
    position: absolute;
    top: -50px;
    left: -220px;
}

@media (max-width: 1024px) {
    .title_03 {
        font-size: 56px;
    }
}

@media (max-width: 599px) {
    .title_03 {
        font-size: 36px;
    }

    .title_03.num {
        font-size: 32px;
    }

    .title_03.pos {
        position: initial;
    }
}

.marker {
    display: inline;
    padding: 0.1em 0;
    padding-left: 10px;
    line-height: 2.5;
    background-color: var(--back-color-02);
    box-decoration-break: clone;

    -webkit-box-decoration-break: clone;
}

.title_04 {
    font-size: 26px;
    color: var(--txt-color-01);
    letter-spacing: 0.5em;
}

@media (max-width: 1024px) {
    .title_04 {
        font-size: 20px;
    }
}

@media (max-width: 599px) {
    .title_04 {
        font-size: 18px;
    }
}

.title_05 {
    font-family: "Dancing Script", cursive;
    font-weight: 700;
    font-size: 28px;
    color: var(--txt-color-01);
}

.title_06 {
    font-size: 70px;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
}

.title_06.mini {
    font-size: 48px;
}

@media (max-width: 1024px) {
    .title_06 {
        font-size: 56px;
    }

    .title_06.mini {
        font-size: 36px;
    }
}

@media (max-width: 599px) {
    .title_06 {
        font-size: 36px;
    }

    .title_06.mini {
        font-size: 30px;
    }
}

.title_07 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 96px;
    color: var(--txt-color-01);
    position: relative;
}

.title_07::before {
    content: "";
    width: 80px;
    height: 2px;
    background-color: var(--back-color-01);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.title_08 {
    padding-top: 5em;
    font-size: 18px;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
    -ms-writing-mode: tb-lr;
    -webkit-writing-mode: vertical-lr;
    writing-mode: vertical-lr;
    position: relative;
}

.title_08::before {
    content: "";
    width: 2px;
    height: 4em;
    background-color: var(--back-color-01);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    position: absolute;
    top: 0;
    left: 50%;
}



/* ボタン */
.btn_01 a,
.btn_01 button {
    width: 100%;
    max-width: 180px;
    height: 100%;
    display: inline-block;
    padding: 1em;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
    letter-spacing: 0.3em;
    text-align: center;
    border: 1.5px solid var(--btn-color-01);
    border-radius: 10px;
}

.btn_01 button {
    min-width: 180px;
    background-color: #fff;
}

.btn_01.tac a,
.btn_01.tac button {
    margin-left: auto;
    margin-right: auto;
}

.btn_01.tar a,
.btn_01.tar button {
    margin-left: auto;
}

.btn_01.middle a {
    max-width: 250px;
}

.btn_01.middle.tac a {
    margin-left: auto;
    margin-right: auto;
}

.btn_01.bigger a {
    max-width: 400px;
}

.btn_01.bigger.new a {
    max-width: 415px;
}

.btn_01.bigger.tac a {
    margin-left: auto;
    margin-right: auto;
}

.btn_01.white a {
    color: #fff;
    border: 1.5px solid #fff;
}

@media (max-width: 599px) {
    .btn_01 a {
        padding: 0.5em;
    }

    .btn_01.bigger a {
        max-width: 400px;
    }

    .btn_01.bigger.new a {
        max-width: 100%;
    }
}

/* 装飾 */
.deco-wrap-02 {
    position: absolute;
    bottom: -20px;
    right: -20px;
}

.deco-wrap-03 {
    position: absolute;
    bottom: 50px;
    right: 50px;
}

.deco-wrap-04 {
    position: absolute;
    bottom: 0px;
    right: 50px;
}

.deco-wrap-05 {
    position: absolute;
    bottom: -65px;
    right: 70px;
}

.deco-wrap-06 {
    position: absolute;
    bottom: 50px;
    left: 50px;
}

.deco-wrap-07 {
    position: absolute;
    bottom: -80px;
    left: 50px;
    z-index: 1;
}

.deco-wrap-08 {
    display: none;
    position: absolute;
    bottom: 50px;
    right: 50px;
}

.deco-wrap-09 {
    display: none;
    position: absolute;
    bottom: 80px;
    right: 70px;
}

.deco-wrap-10 {
    position: absolute;
    top: -30px;
    left: 50px;
}

.deco-wrap-11 {
    position: absolute;
    bottom: -30px;
    right: 50px;
}

.deco-wrap-12 {
    position: absolute;
    bottom: -50px;
    left: 70px;
}

.deco-wrap-13 {
    position: absolute;
    bottom: -280px;
    left: 50px;
}

.deco-wrap-14 {
    position: absolute;
    bottom: -130px;
    right: 50px;
}

.lower-deco-wrap-01 {
    -webkit-filter: opacity(0.3);
    filter: opacity(0.3);
    position: absolute;
    bottom: -50px;
    right: 50px;
}

.lower-deco-wrap-02 {
    -webkit-filter: opacity(0.3);
    filter: opacity(0.3);
    position: absolute;
    bottom: -100px;
    left: 50px;
}

.lower-deco-wrap-03 {
    -webkit-filter: opacity(0.3);
    filter: opacity(0.3);
    position: absolute;
    bottom: -100px;
    right: 50px;
}

.lower-deco-wrap-04 {
    position: absolute;
    bottom: -100px;
    right: 50px;
}

@media(max-width:599px) {
    .deco-wrap-02 {
        top: 45%;
        bottom: auto;
        right: 5px;
        z-index: 1;
    }

    .deco-wrap-03 {
        right: 5px;
    }

    .deco-wrap-04 {
        bottom: -50px;
        right: 5px;
    }

    .deco-wrap-05 {
        right: 5px;
    }

    .deco-wrap-06 {
        bottom: 250px;
        left: auto;
        right: 60px;
    }

    .deco-wrap-07 {
        bottom: -130px;
        left: 5px;
    }

    .deco-wrap-08 {
        bottom: -120px;
        right: 5px;
    }

    .deco-wrap-09 {
        right: 5px;
    }

    .deco-wrap-10 {
        left: 5px;
    }

    .deco-wrap-11 {
        right: 5px;
    }

    .deco-wrap-12 {
        display: none;
        left: 5px;
    }

    .deco-wrap-13 {
        bottom: -130px;
        left: 5px;
    }

    .lower-deco-wrap-01 {
        right: 5px;
    }

    .lower-deco-wrap-02 {
        left: 5px;
    }

    .lower-deco-wrap-03 {
        right: 5px;
    }

    .lower-deco-wrap-04 {
        bottom: -80px;
        right: 5px;
    }
}

/* ==========共通化要素========== */
/* h1 */
h1 {
    padding-left: 0.5rem;
    font-size: 12px;
    position: relative;
    z-index: 9;
}

@media(max-width:599px) {
    h1 {
        width: calc(100% - 60px);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 3;
    }
}

.pagenation li a,
.pagenation li .now {
    color: #622909;
}

/* 共通化要素：header */
header {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #fff;
    position: relative;
    z-index: 8;
}

.index header::before {
    content: "";
    width: 300px;
    height: 100%;
    display: block;
    background-color: var(--back-color-01);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}

header .left,
header .right {
    position: relative;
    z-index: 3;
}

header .left {
    z-index: 11;
}

header .right .tel-wrap {
    -webkit-box-pack: start;
    -webkit-box-pack: center;
    -ms-flex-pack: start;
    -ms-flex-pack: center;
    justify-content: flex-start;
    justify-content: center;
}

header .sns-wrap {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50vh;
    right: 20px;
    z-index: 5;
}

header .sns-wrap li,
nav .sns-wrap li {
    width: 60px;
    height: 60px;
}

nav .sns-wrap li {
    margin: 0 0.5em;
}

header .sns-wrap li+li {
    margin-top: 20px;
}

@media(max-width:1024px) {
    header .sns-wrap {
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        position: absolute;
        top: 35%;
        right: 10px;
        z-index: 5;
    }

    .index header::before {
        width: 200px;
    }
}

@media(max-width:599px) {
    header {
        margin-top: 0;
        margin-bottom: 0;
    }

    header .sns-wrap {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        position: fixed;
        top: 70px;
        right: 17px;
    }

    header .sns-wrap li {
        width: 40px;
        height: 40px;
    }

    header .sns-wrap li a {
        font-size: 25px;
    }

    header .instagram-wrap a::after {
        margin-top: 0px;
    }

    header .facebook-wrap a::after {
        margin-top: 0px;
    }

    header .line-wrap a::after {
        margin-top: 0px;
    }

    header .contact-wrap a::after {
        width: 25px;
        height: 25px;
    }

    .index header::before {
        width: 100px;
    }
}

/* 共通化要素：nav */
nav {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    overflow-y: scroll;
    padding: 50px;
    background-color: rgba(59, 23, 3, 0.6);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    /*-webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
    position: fixed;
    top: 0;
    right: 0;*/
    z-index: 5;
}

nav .nav-list li {
    color: var(--txt-color-03);
}

nav .nav-list li a {
    width: 100%;
    height: 100%;
    display: block;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-size: 1.2em;
}

.new-nav-box {
    width: 50%;
    height: 100%;
    display: block;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
}

.modal-appeared .new-nav-box {
    z-index: 5;
}

.new-nav-box-inner {
    width: 100%;
    height: 100%;
    position: relative;
}

.active .new-nav-box {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    right: 0;
}

.active nav {
    -webkit-box-shadow: -2px 0px 15px -5px #000;
    box-shadow: -2px 0px 15px -5px #000;
}

.hamburger {
    width: 60px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 5px;
    -webkit-filter: drop-shadow(0px 0px 4px #fff)drop-shadow(0px 0px 4px #fff);
    filter: drop-shadow(0px 0px 4px #fff)drop-shadow(0px 0px 4px #fff);
    cursor: pointer;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: absolute;
    top: 35px;
    left: -80px;
    z-index: 5;
}

/*.active .hamburger {
    right: calc(50% + 25px);
}*/

.hamburger .menu-trigger {
    width: 100%;
    height: 100%;
    position: relative;
}

.hamburger .menu-trigger,
.hamburger .menu-trigger span {
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.hamburger .menu-trigger span {
    width: 65%;
    height: 3px;
    background-color: var(--back-color-01);
    position: absolute;
    left: 15%;
    right: 15%;
}

.hamburger .menu-trigger span:nth-of-type(1) {
    top: 3px;
}

.hamburger .menu-trigger span:nth-of-type(2) {
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
    top: 50%;
}

.hamburger .menu-trigger span:nth-of-type(3) {
    bottom: 5px;
}

.hamburger span.close {
    display: none;
}

.hamburger span.menu {
    background-color: transparent;
    bottom: 0;
}

.hamburger span.menu::before {
    content: "MENU";
    display: block;
    font-size: 12px;
    color: var(--txt-color-01);
    text-align: center;
}

.active .hamburger .menu-trigger {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

.active .hamburger .menu-trigger span {
    background-color: var(--back-color-00);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.active .hamburger .menu-trigger span:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
}

.active .hamburger .menu-trigger span:nth-of-type(2) {
    opacity: 0;
}

.active .hamburger .menu-trigger span:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 50%;
}

.active .hamburger span.close {
    display: block;
    background-color: transparent;
    bottom: 0;
}

.active .hamburger span.close::before {
    content: "CLOSE";
    display: block;
    font-size: 11px;
    color: var(--txt-color-00);
    text-align: center;
}

.active .hamburger span.menu {
    display: none;
}

.active .overlay {
    display: block;
}

.overlay {
    width: 100%;
    height: 100%;
    display: none;
    background-color: rgba(77, 66, 62, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
}


@media(max-width:599px) {
    .new-nav-box {
        width: 85%;
    }

    nav {
        padding: 30px;
    }

    .hamburger {
        top: 5px;
        left: -60px;
    }


    nav .nav-list li a {
        font-size: 1em;
    }
}

/* 共通化要素：footer */
.foot-nav li a {
    width: 100%;
    height: 100%;
    display: block;
}

.foot-nav li {
    margin-bottom: 1em;
}

.foot-nav li:first-child {
    margin-bottom: 1em;
    padding-bottom: 1em;
    font-size: 1.2em;
    color: var(--txt-color-01);
    letter-spacing: 0.25em;
    border-bottom: 1px solid var(--txt-color-05);
}

.foot-map .map:after {
    content: "";
    display: block;
    padding-top: 30%;
}


@media(max-width:1024px) {
    footer .reserve-btn a,
    .reserve-btn span {
        min-width: 220px;
    }
}


@media(max-width:599px) {
    .foot-map .map:after {
        padding-top: 80%;
    }
}

/* fixedがついた時 */
.fixed header .reserve-btn {
    position: fixed;
    bottom: 85px;
    right: 5px;
    z-index: 2;
}

.fixed header .tel-wrap {
    min-width: 320px;
    padding: 10px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 10px 5px var(--txt-color-05);
    box-shadow: 0px 0px 10px 5px var(--txt-color-05);
    position: fixed;
    bottom: 10px;
    right: 5px;
    z-index: 5;
}

.head-eigyou-teikyu-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flx-img01 {
    margin-top: -60px;
    margin-right: -5%;
    -webkit-box-shadow: 0px 0px 10px 1px #fff;
    box-shadow: 0px 0px 10px 1px #fff;
}

.flx-img02 {
    margin-top: 60px;
    margin-left: -5%;
    -webkit-box-shadow: 0px 0px 10px 1px #fff;
    box-shadow: 0px 0px 10px 1px #fff;
}

.category-new.js-split-tag>span {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 5px 15px;
    font-family: "Noto Serif JP", serif;
    font-size: 15px;
    color: #fff;
    background-color: #00afcc;
    position: relative;
}

.category-new.js-split-tag>span::after {
    content: "";
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    display: inline-block;
    border: 1px solid #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.new-price>span {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 5px 15px;
    font-family: "Noto Serif JP", serif;
    font-size: 15px;
    color: #fff;
    text-align: center;
    background-color: #622909;
    position: relative;
}

.new-price>span::after {
    content: "";
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    display: inline-block;
    border: 1px solid #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

@media(max-width:1024px) {
    .fixed header .reserve-btn span {
        min-width: 320px;
    }
}


@media(max-width:599px) {
    .header-inner {
        display: none;
    }

    .fixed .header-inner {
        display: block;
    }

    .header-inner .head-eigyou-teikyu-wrap {
        display: none;
    }

    .fixed header .tel {
        width: 100%;
        display: inline-block;
        text-align: center;
    }

    .fixed header .tel-wrap {
        width: calc(50% - 10px);
        min-width: 150px;
        font-size: 16px;
    }

    .fixed header .tel-wrap .tel a::before {
        width: 20px;
        height: 20px;
    }

    .fixed header .reserve-btn {
        width: calc(50% - 10px);
        bottom: 10px;
        left: 5px;
        right: auto;
    }

    .fixed header .reserve-btn span {
        min-width: 180px;
        padding: 10px;
        letter-spacing: 0.15em;
    }
}

/* ==========メインビジュアル========== */
.index-main-visual {
    position: relative;
    z-index: 1;
}

.index-main-visual__cont {
    width: 100%;
    height: 100%;
    font-weight: 600;
    font-size: 32px;
    text-shadow: 0px 0px 4px rgba(255, 255, 255, 1), 0px 0px 4px rgba(255, 255, 255, 1), 0px 0px 4px rgba(255, 255, 255, 1);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 4;
}

.index-main-visual__cont .subcopy {
    font-size: 70%;
}

.index-main-visual__cont .logo {
    -webkit-filter: drop-shadow(0px 0px 4px #fff)drop-shadow(0px 0px 4px #fff);
    filter: drop-shadow(0px 0px 4px #fff)drop-shadow(0px 0px 4px #fff);
}

.index-main-visual {
    position: relative;
    z-index: 1;
}

.index-main-visual::before {
    content: "";
    width: 300px;
    height: calc(100% + 180px);
    display: block;
    background-color: var(--back-color-01);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.index-main-visual .deco-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
}

@media(max-width:1024px) {
    .index-main-visual::before {
        width: 200px;
    }


    .index-main-visual__cont {
        font-size: 24px;
    }
}

@media (max-width: 599px) {
    .index-main-visual__cont {
        font-size: 20px;
    }

    .index-main-visual::before {
        width: 100px;
    }
}

/* ==========メインビジュアル（下層）========== */
.lower-main-visual-img {
    overflow: hidden;
    border-radius: 0 0 10vw 0;
}

.lower-main-visual-img-inner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
    opacity: 0.8;
    -webkit-filter: contrast(0.5);
    filter: contrast(0.5);
    position: absolute;
    top: 0;
    left: 0;
}

.lower-main-visual-img-inner::after {
    content: "";
    display: block;
    padding-top: 25%;
}

.lower-main-visual-cont {
    width: 100%;
    font-size: 48px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
}

.lower-main-visual-cont .sub {
    font-size: 30%;
}

@media(max-width:1024px) {
    .lower-main-visual-img-inner::after {
        padding-top: 40%;
    }
}

@media(max-width:599px) {
    .lower-main-visual-img-inner::after {
        padding-top: 50vh;
    }

    .lower-main-visual-cont {
        font-size: 42px;
    }
}

/* TOP各セクション */
.information {
    position: relative;
    z-index: 1;
}

.information::before {
    content: "";
    width: 450px;
    height: 100%;
    background-color: var(--back-color-02);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}

@media(max-width:599px) {
    .information::before {
        width: 300px;
    }
}

.information-inner {
    position: relative;
    z-index: 3;
}

.holistic {
    padding-top: 300px;
    padding-bottom: 220px;
}

.holistic .img-wrap {
    position: absolute;
    bottom: -220px;
    right: 0;
}

@media(max-width:599px) {
    .holistic {
        padding-bottom: 120px;
    }

    .holistic .img-wrap {
        -webkit-box-shadow: 0px 0px 4px #fff;
        box-shadow: 0px 0px 4px #fff;
        bottom: -80px;
        left: 20px;
        right: auto;
    }
}

/* list-news */
.list-news a {
    width: 100%;
    height: 100%;
    display: block;
}

.list-news .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 1.5em;
    border-bottom: 1px solid var(--txt-color-05);
    border-radius: 10px;
}

.list-news .list-inner .date {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
}

.list-news .list-inner .category {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
}

.list-news .list-inner .category span {
    display: inline-block;
    padding: 0.1em 0.5em;
    font-size: 0.8em;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
    border: 1px solid var(--btn-color-01);
    border-radius: 5px;
}

.list-news .list-inner .title {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-news li+li {
    margin-top: 1.5em;
}

/* list-news02 */
.list-news02 a {
    width: 100%;
    height: 100%;
    display: block;
}

.list-news02 .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px;
}

.list-news02 .list-inner .img-wrap {
    width: 100px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    overflow: hidden;
    margin-right: 30px;
    border-radius: 100%;
}

.list-news02 .list-inner .text-wrap {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-news02 .list-inner .date {
    display: inline-block;
    margin-right: 10px;
}

.list-news02 .list-inner .category {
    display: inline-block;
}

.list-news02 .list-inner .category span {
    display: inline-block;
    padding: 0.1em 0.5em;
    font-size: 0.8em;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
    border: 1px solid var(--btn-color-01);
    border-radius: 5px;
}

.list-news02 .list-inner .title {
    margin-top: 0.5em;
}

.list-news02 li {
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 10px 1px #ccc;
    box-shadow: 0px 0px 10px 1px #ccc;
}

.list-news02 li+li {
    margin-top: 1em;
}

/* newsblog-detail */
.newsblog-detail .date {
    display: inline-block;
    margin-right: 10px;
}

.newsblog-detail .category {
    display: inline-block;
}

.newsblog-detail .category span {
    display: inline-block;
    padding: 0.1em 0.5em;
    font-size: 0.8em;
    color: var(--txt-color-01);
    letter-spacing: 0.1em;
    border: 1px solid var(--btn-color-01);
    border-radius: 5px;
}

.newsblog-detail .title {
    margin-bottom: 1.5em;
    padding: 0.5em 0;
    font-size: 1.2em;
    border-bottom: 1px solid var(--txt-color-00);
}

/* list-menu */
.list-menu .list-inner {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px;
    background-color: #fff;
}

.list-giji-section {
    position: relative;
}

.list-giji-section::before {
    content: "";
    width: 90%;
    height: 400px;
    background-color: var(--back-color-02);
    position: absolute;
    bottom: 0px;
    left: 5%;
    right: 5%;
}

/* 傾きのデザイン */
.translate-parent-r {
    padding-top: 3em;
    padding-bottom: 3em;
    -webkit-transform: skew(0, 10deg);
    transform: skew(0, 10deg);
}

.translate-child-r {
    -webkit-transform: skew(0, -10deg);
    transform: skew(0, -10deg);
}

@media(max-width:599px) {
    .translate-parent-r {
        padding-top: 0em;
        padding-bottom: 0em;
    }
}

/* list-style */
.list-style .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-style02 .title {
    margin: 0.5em 0;
    font-size: 1.2em;
}

/* style-detail */
.style-detail .box .title {
    margin-bottom: 1em;
    padding-bottom: 1em;
    font-size: 1.2em;
    border-bottom: 1px solid var(--txt-color-00);
}

.style-detail .category {
    position: absolute;
    bottom: 0;
    left: 0;
}

.style-detail .category span {
    padding: 0.25em;
    font-family: "Dancing Script",
    cursive;
    font-weight: 700;
    font-size: 70px;
    color: var(--txt-color-00);
}

/* list-product */
.list-product .list-inner {
    padding: 1em;
    border-radius: 10px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 10px 5px var(--txt-color-05);
    box-shadow: 0px 0px 10px 5px var(--txt-color-05);
}

.list-product .list-inner .img-wrap {
    margin-bottom: 20px;
}

.list-product .list-inner .title {
    margin-bottom: 10px;
    font-size: 18px;
    color: var(--txt-color-01);
    text-align: center;
}

/* faq-qa-list */
.faq-qa-list .faq-qa {
    background-color: var(--back-color-02);
    position: relative;
}

.faq-qa-list .faq-qa::before {
    content: "";
    width: 1em;
    height: 3px;
    display: block;
    background-color: var(--back-color-01);
    position: absolute;
    top: 2em;
    right: 1.25em;
}

.faq-qa-list .faq-qa::after {
    content: "";
    width: 1em;
    height: 3px;
    display: block;
    background-color: var(--back-color-01);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    position: absolute;
    top: 2em;
    right: 1.25em;
}

.faq-qa-list .faq-qa.action::after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.faq-qa-list .faq-qa+.faq-qa {
    margin-top: 1.5em;
}

.faq-qa-list .faq-qa .faq-q,
.faq-qa-list .faq-qa .faq-a {
    display: block;
    padding: 1.25em 4em 1.25em 3.5em;
    position: relative;
}

.faq-qa-list .faq-qa .faq-q::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    border-radius: 100%;
    background-color: var(--back-color-01);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 1em;
}

.faq-qa-list .faq-qa .faq-q::after {
    content: "Q";
    display: block;
    font-size: 1em;
    color: #fff;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 1.6em;
}

.faq-qa-list .faq-qa .faq-a::before {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    border-radius: 100%;
    background-color: var(--back-color-01);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 1em;
}

.faq-qa-list .faq-qa .faq-a::after {
    content: "A";
    display: block;
    font-size: 1em;
    color: #fff;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 1.6em;
}

/* list-access */
.list-access .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 1.2em;
    border-bottom: 1px solid var(--txt-color-05);
}

.list-access .item dt {
    width: 20%;
}

.list-access .item dd {
    width: 75%;
}

.list-access .item+.item {
    margin-top: 1.2em;
}

@media(max-width:1024px) {
    .list-access .item dt {
        width: 30%;
    }

    .list-access .item dd {
        width: 65%;
    }
}

/* list-check */
.list-check {
    margin: 50px 0;
    padding: 1.5em;
    border-radius: 10px;
    -webkit-box-shadow: 0px 0px 10px 5px var(--txt-color-05);
    box-shadow: 0px 0px 10px 5px var(--txt-color-05);
}

.list-check li {
    padding-left: 1em;
    line-height: 2.0;
    text-indent: -1em;
    position: relative;
}

.list-check li::before {
    content: "\f058";
    margin-right: 0.5em;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}


@media(max-width:599px) {
    .list-check {
        margin: 20px 0;
    }
}

/* list-cross */
.list-cross .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-cross .item:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.list-cross .item+.item {
    margin-top: 80px;
}

.list-cross .item .img-wrap {
    width: 48%;
}

.list-cross .item .img-wrap>div {
    overflow: hidden;
    border-radius: 0 10px 10px 0;
}

.list-cross .item:nth-child(odd) .img-wrap>div {
    overflow: hidden;
    border-radius: 10px 0 0 10px;
}

.list-cross .item .text-wrap {
    width: 48%;
}

.list-cross .item .text-wrap-inner {
    max-width: 500px;
}

.list-cross .item:nth-child(odd) .text-wrap-inner {
    margin-left: auto;
}


@media (max-width: 1024px) {
    .list-cross .item .text-wrap-inner {
        max-width: 360px;
    }
}

@media (max-width: 599px) {
    .list-cross .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .list-cross .item+.item {
        margin-top: 40px;
    }

    .list-cross .item .img-wrap {
        width: 96%;
        margin: 0 auto;
    }

    .list-cross .item .text-wrap {
        width: 90%;
        margin: 0 auto;
        padding: 0;
    }

    .list-cross .item .img-wrap>div {
        border-radius: 10px;
    }

    .list-cross .item:nth-child(odd) .img-wrap>div {
        border-radius: 10px;
    }
}

/* banner-container */
.banner-container {
    border-radius: 10px;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 0px 10px #622909);
    filter: drop-shadow(0px 0px 10px #622909);
    position: relative;
    z-index: 4;
}

.banner-container a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 0.5em;
}

.banner-container a .btn-wrap {
    padding: 1em 1.5em 1em 1em;
    border: 1px solid var(--ttl-color-00);
    border-radius: 10px;
    position: relative;
}

.banner-container a .btn-wrap::after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 1em;
}

/* list-price01 */
.list-price01 dl:first-child {
    margin-bottom: 1.5em;
    font-size: 1.5em;
    border-bottom: 2px solid var(--txt-color-00);
}

.list-price01 dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-price01 dt {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-price01 dt .sub {
    font-size: 0.7em;
    color: rgba(98, 41, 9, 0.5);
}

.list-price01 dd {
    width: 30%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    text-align: right;
}

.list-price01 dl+dl {
    margin-top: 1em;
}

.list-price01-parent li+li {
    margin-top: 50px;
}

/* list-price02 */
.list-price02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-price02 .item {
    width: 48%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1em;
    -webkit-box-shadow: 0px 0px 10px 1px var(--txt-color-00);
    box-shadow: 0px 0px 10px 1px var(--txt-color-00);
}

.list-price02 .item .sub {
    font-size: 0.7em;
    color: rgba(98, 41, 9, 0.5);
}

.list-price02 .item .price {
    font-weight: bold;
    font-size: 14px;
    text-align: right;
}

.list-price02.pattern_a .item {
    width: 100%;
}

@media(max-width:599px) {
    .list-price02 .item {
        width: 100%;
    }
}

/* .list-price03 */
.list-price03 .item .title {
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-size: 1.2em;
    border-bottom: 1px solid var(--txt-color-00);
}

.list-price03 .item .price {
    font-size: 1.2em;
    text-align: right;
}

.list-price03 .item .price .ja {
    display: inline-block;
    margin-right: 10px;
    padding: 0.25em 0.5em;
    font-size: 16px;
    color: #fff;
    background-color: var(--back-color-00);
}

.list-price03 .item .content {
    margin: 1em 0;
    padding: 1em;
    border: 1px solid;
    border-radius: 10px;
}

.list-price03-parent {
    padding-bottom: 80px;
    border-bottom: 1px solid rgba(98, 41, 9, 0.5);
}

.list-price03-parent+.list-price03-parent {
    margin-top: 80px;
}

/* list-btn */
.list-btn .item a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 50px;
    font-size: 1.2em;
    color: var(--txt-color-00);
    text-align: center;
    border: 1px solid var(--txt-color-00);
    border-radius: 10px;
}

@media(max-width:599px) {
    .list-btn .item a {
        padding: 20px;
        font-size: 1em;
    }
}

/* list-owner */
.list-owner .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-owner .item+.item {
    margin-top: 1em;
}

.list-owner .item dt {
    width: 30%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding-bottom: 1em;
    font-weight: bold;
    border-bottom: 1px solid var(--txt-color-00);
}

.list-owner .item dd {
    width: 65%;
    padding-bottom: 1em;
    border-bottom: 1px solid var(--txt-color-00);
}

@media(max-width:599px) {
    .list-owner .item dt {
        width: 100%;
        border-bottom: none;
    }

    .list-owner .item dd {
        width: 100%;
    }
}

/* list-salon-gallery */
.list-salon-gallery {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-salon-gallery li {
    width: calc((100% - 12px) / 6);
    margin: 1px;
}

.list-salon-gallery li:hover {
    cursor: pointer;
}

@media(max-width:599px) {
    .list-salon-gallery li {
        width: calc((100% - 6px) / 3);
    }
}

/* list-table01 */
.list-table01 .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 1em;
    border-bottom: 1px solid var(--txt-color-00);
}

.list-table01 .item dt {
    width: 20%;
    text-align: center;
}

.list-table01 .item dd {
    width: 75%;
}

.list-table01 .item+.item {
    margin-top: 1em;
}

@media(max-width:599px) {
    .list-table01 .item dt {
        width: 100%;
        font-weight: bold;
        text-align: left;
    }

    .list-table01 .item dd {
        width: 100%;
    }
}

/* list-category */
.list-category li {
    padding: 0.75em;
    font-size: 14px;
}

@media(max-width:599px) {
    .list-category li {
        padding: 0.5em;
    }
}

/* list-item */
.list-item .list-inner .name,
.list-item .list-inner .amount,
.list-item .list-inner .category {
    text-align: center;
}

.list-item .list-inner .name {
    font-weight: bold;
}

/* items-detail */
.items-detail .item dt {
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
    font-weight: bold;
    border-bottom: 1px solid var(--txt-color-00);
}

.items-detail .item+.item {
    margin-top: 1.5em;
}

/* list-course */
.list-course li+li {
    margin-top: 30px;
}

/* list-flow */
.list-flow .item>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px;
    position: relative;
}

.list-flow .item>*::before {
    content: "";
    width: 2px;
    height: 0%;
    background: var(--back-color-01);
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 100%;
    left: 50%;
}


.list-flow .item.mv>*::before {
    height: 100%;
}

.list-flow .item:last-child>*::before {
    content: none;
}

.list-flow .item:nth-of-type(even)>* {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.list-flow .item .num {
    width: 100px;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-bottom: 10px;
    font-size: 80px;
    color: #fff;
    line-height: 1;
    border-radius: 50%;
    background: var(--back-color-01);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.list-flow .item .imgbox {
    width: 35%;
}

.list-flow .item .txtbox {
    width: 35%;
}

.list-flow .item .txtbox .tit {
    font-size: 110%;
}

.list-flow .item .txtbox .txt {
    line-height: 1.8;
}

@media(max-width:599px) {
    .list-flow .item .num {
        width: 70px;
        height: 70px;
        padding-bottom: 0;
        font-size: 50px;
    }
}

/* list-requirements */
.list-requirements .list-inner {
    height: 100%;
    padding: 1.5em;
    -webkit-box-shadow: 0px 0px 10px 5px var(--txt-color-05);
    box-shadow: 0px 0px 10px 5px var(--txt-color-05);
}

.list-requirements .list-inner a {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #fff;
}

/* .list-recrit */
.list-recruit li {
    margin-bottom: 1.5em;
    padding-bottom: 0.5em;
    border-bottom: 1px solid var(--txt-color-00);
}

.list-recruit li:last-child {
    padding-bottom: 1.5em;
}

/* recruit-contact-banner */
.recruit-contact-banner a {
    width: 100%;
    height: 100%;
    display: block;
    padding: 100px;
    text-align: center;
    border: 5px double var(--txt-color-00);
}

.form-rec .rec-01 dd input {
    width: 90px;
    margin-right: 10px;
    padding: 20px;
    border: 1px solid #bfbfbf;
    border-radius: 5px;
}

@media(max-width:599px) {
    .form-rec .rec-01 dd input {
        padding: 10px 20px;
    }
}

.form-rec {
    padding: 15px;
    background-color: #eee;
}


/* ぺージネーションデザイン変更 */
.pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* ==========fead========== */
/* fead-text */
.fead-text .str.mv {
    opacity: 1;
    -webkit-animation: fadeInRight 0.7s;
    animation: fadeInRight 0.7s;
}

.fead-text .str {
    min-width: 15px;
    display: inline-block;
    opacity: 0;
}

@-webkit-keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate(20px, 30px);
        transform: translate(20px, 30px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    0% {
        opacity: 0;
        -webkit-transform: translate(20px, 30px);
        transform: translate(20px, 30px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

/* fead-zoom */
.fead-zoom img {
    will-change: animation;
}

.fead-zoom [class*=up-ofi] {
    overflow: hidden;
}

.fead-zoom.mv img {
    -webkit-animation: zoom 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation: zoom 1.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@-webkit-keyframes zoom {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes zoom {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/* base.cssを上書き */
.fead-mv.mv {
    opacity: 1;
    -webkit-transition: 0.9s ease-out;
    transition: 0.9s ease-out;
}

.fead-up.mv {
    opacity: 1;
    -webkit-transition: 0.7s ease-out;
    transition: 0.7s ease-out;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

/* ==========パララックス========== */
.long-img-box {
    width: 100%;
    height: 400px;
    overflow: hidden;
    background-color: transparent !important;
    -webkit-transform: none !important;
    transform: none !important;
}

.long-img {
    width: 100vw;
    height: 110vh;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
    transition: 0.3s linear;
}

.motion .long-img {
    opacity: 0.5;
    z-index: -1;
}

.long-img>img {
    width: 100%;
    min-width: 420px;
    max-width: none;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    font-family: "object-fit: cover; object-position: 50% 50%;";
}

.nico .long-img>img {
    -o-object-position: right;
    object-position: right;
}

@media(max-width:599px) {
    .long-img-box.long {
        height: 500px;
    }
}

/* ABテストのきらきら */
.reflection {
    overflow: hidden;
    position: relative;
}

.reflection::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    animation: reflection 2s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    z-index: 1;
}

@-webkit-keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

/* ==========スライダー========== */

.slick-prev,
.slick-next {
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 100%;
    background-color: var(--back-color-01);
    -webkit-box-shadow: 0px 0px 4px #fff;
    box-shadow: 0px 0px 4px #fff;
}


.slick-prev:before,
.slick-next:before {
    opacity: 1;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: #fff;
    outline: initial;
    background: var(--back-color-01);
}

.slick-prev {
    left: -100px;
    z-index: 1;
}

.slick-next {
    right: -100px;
    z-index: 1;
}

.slide00 .slick-list {
    border-radius: 10px;
    background-color: #fff;
    -webkit-box-shadow: 0px 0px 10px 5px var(--txt-color-05);
    box-shadow: 0px 0px 10px 5px var(--txt-color-05);
}

.slide01 .slick-slide {
    padding: 20px;
}

.slick-slider .slick-track {
    width: 100%;
    margin-left: 0;
}


@media (max-width: 1024px) {
    .slick-prev {
        left: -10px;
    }

    .slick-next {
        right: -10px;
    }
}

@media (max-width: 599px) {
    .slick-prev {
        left: 0;
    }

    .slick-next {
        right: 0;
    }
}

/* PC・TB・SPで表示切替 */
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

[data-element-id].hide\@pc {
    display: block;
    padding-top: 2em;
    border: 1px solid green;
    position: relative;
}

[data-element-id].hide\@pc:before {
    content: "モバイルで表示";
    width: 100%;
    font-size: 14px;
    color: #fff;
    text-align: center;
    background-color: green;
    position: absolute;
    top: 0;
    left: 0;
}

/* こちらは改行 */
[data-element-id] span.hide\@pc {
    width: 1px;
    height: 1.5em;
    display: inline-block;
    margin: 0 0.2em;
    padding: 0;
    border: 1px solid blue;
    position: relative;
}

[data-element-id] span.hide\@pc:before {
    content: "SP\A改行";
    width: auto;
    display: inline-block;
    padding: 0.25em;
    font-size: 10px;
    color: #fff;
    line-height: 1;
    text-align: center;
    white-space: pre;
    background-color: blue;
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
    position: absolute;
    top: 0;
    left: -1px;
}

[data-element-id] nav {
    height: auto;
    -webkit-transform: none;
    transform: none;
    position: absolute;
    top: 0;
    right: 0;
}

[data-element-id] .lower main {
    margin-top: 80vh;
}

[data-element-id].long-img-box {
    height: auto;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow: initial;
}

[data-element-id] .long-img {
    opacity: 1;
    position: initial;
}

[data-element-id] .long-img-box .bg-content {
    -webkit-transform: none;
    transform: none;
    position: initial;
}

[data-element-id] header .left,
header .right {
    position: initial;
}

[data-element-id] .reserve-btn-container .reserve-popup {
    width: 900px;
    height: auto;
    display: block;
    padding: 30px;
    opacity: 1;
    position: static;
}

[data-element-id].reserve-popup .box .box-inner {
    width: 100%;
    -webkit-transform: unset;
    transform: unset;
    position: static;
}

[data-element-id].reserve-btn {
    width: 300px;
    margin: auto;
}


[data-element-id].list-cross .item+.item {
    margin-top: 350px;
}

/* 09/26追記 */
.title-left-deco {
    margin-bottom: 15px;
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 24px;
    border-bottom: solid 3px #f7e7d6;
    position: relative;
}

.title-left-deco::before {
    content: "";
    width: 50px;
    height: 3px;
    display: block;
    background-color: var(--txt-color-01);
    position: absolute;
    bottom: -3px;
    left: 0;
}

.title-left-deco02 {
    margin-bottom: 15px;
    padding-left: 1.5rem;
    font-size: 18px;
    position: relative;
}

.title-left-deco02::before {
    content: "";
    width: 15px;
    height: 15px;
    display: block;
    border-radius: 5px;
    background-color: var(--txt-color-01);
    position: absolute;
    top: 6px;
    left: 0;
}

.before-discount {
    -webkit-text-decoration-line: line-through;
    text-decoration-line: line-through;
}

.con-re-btn .line-container {
    font-size: 80px;
    color: #00b900;
    line-height: 1;
    text-align: center;
}

.con-re-btn .img-wrap {
    max-width: 250px;
    margin: auto;
}

.gallery-c {
    padding: 30px;
    border: solid 1px #00afcc;
    border-radius: 10px;
}

.gallery-c .ttl {
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 24px;
    color: var(--txt-color-01);
}

.gallery-l {
    padding: 30px;
    border: solid 1px #64d2e8;
    border-radius: 10px;
}


/*2023/09/28追記*/
@media(max-width:1024px) {
    .index-main-visual_inner .uk-slidenav-position {
        background-color: #fff;
    }

    .index-main-visual_inner .uk-slidenav-position img {
        opacity: 0.4;
    }
}

@media(max-width:599px) {
    .list-news .list-inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .list-news .list-inner .title {
        width: 100%;
        padding-top: 10px;
    }

    .holistic {
        padding-top: 80px;
        padding-bottom: 50px;
    }

    .deco-wrap-04 {
        z-index: 5;
    }

    .list-cross .item .text-wrap-inner {
        max-width: 100%;
    }

    .list-cross .item .text-wrap {
        width: 96%;
    }

    .slick-prev,
    .slick-next {
        width: 40px;
        height: 40px;
    }

    .slick-prev {
        left: 5px;
    }

    .slick-next {
        right: 5px;
    }



    .title_07 {
        padding-left: 5px;
    }

    .title_07::before {
        content: "";
        width: 2px;
        height: 100%;
    }

    .list-flow .item>*,
    .list-flow .item:nth-of-type(even)>* {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 30px;
        border-radius: 10px;
        background-color: #fff;
        -webkit-box-shadow: 0px 0px 4px #cae1e5;
        box-shadow: 0px 0px 4px #cae1e5;
    }

    .list-flow .item .txtbox {
        width: 100%;
        /* autoprefixer: ignore next */
        display: contents;
    }

    .list-flow .item .txtbox .tit {
        width: 100%;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        margin-bottom: 15px;
        padding-left: 60px;
        font-size: 18px;
        text-align: left;
    }

    .list-flow .item .imgbox {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-bottom: 15px;
    }

    .list-flow .item .txtbox .txt {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .list-flow .item>*::before {
        display: none;
    }

    .list-flow .item .num {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        top: -20px;
        left: 10px;
    }

    .sp-noir {
        display: block !important;
    }
}

.section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap {
    min-height: 800px;
    max-height: 800px;
}

.pp-img {
    min-height: 800px;
    max-height: 800px;
}

@media(max-width:599px) {
    .pp-img {
        min-height: 0;
        max-height: 900vh;
    }

    .section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap {
        min-height: 0;
        max-height: 900vh;
    }
}

.section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap .title_03.pos {
    width: 95vw;
    text-align: right;
    left: auto;
    right: 0;
}

.nine-list li:last-child {
    display: none;
}

.nine-list.ver02 li:last-child {
    display: block;
}

.koyoukeitai {
    display: inline-block;
    margin: 10px 0;
    padding: 5px 15px;
    font-family: "Noto Serif JP", serif;
    font-size: 15px;
    color: #fff;
    text-align: center;
    background-color: #622909;
    position: relative;
}

.koyoukeitai::after {
    content: "";
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    display: inline-block;
    border: 1px solid #fff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

@media(max-width:599px) {
    .section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap {
        min-height: 500px;
        padding: 0 20px;
    }

    .section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap .title_03.pos {
        text-align: left;
    }

    header .sns-wrap {
        display: none;
    }

    .header-inner {
        display: block;
    }

    header .reserve-btn {
        width: calc(50% - 10px);
        position: fixed;
        bottom: 10px;
        left: 5px;
        right: auto;
    }

    header .reserve-btn span {
        min-width: 180px;
        padding: 10px;
        letter-spacing: 0.15em;
    }

    header .tel-wrap {
        width: calc(50% - 10px);
        min-width: 150px;
        font-size: 16px;
    }

    header .tel-wrap {
        padding: 10px;
        border-radius: 10px;
        background-color: #fff;
        -webkit-box-shadow: 0px 0px 10px 5px var(--txt-color-05);
        box-shadow: 0px 0px 10px 5px var(--txt-color-05);
        position: fixed;
        bottom: 10px;
        right: 5px;
        z-index: 5;
    }


    header .tel {
        width: 100%;
        display: inline-block;
        text-align: center;
    }

    header .tel-wrap .tel a::before {
        width: 20px;
        height: 20px;
    }

    .reserve-btn-deco {
        position: fixed;
        bottom: 45px;
        left: 25px;
    }

    .text {
        padding-left: 10px;
        padding-right: 10px;
    }

    .nine-list li:last-child {
        display: list-item;
    }
}

[data-element-id].title_03.pos {
    position: absolute;
}

[data-element-id].title_03.pos.hide\@pc {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    position: relative;
    top: 0;
    left: 0;
}

[data-element-id].up-h-100\% {
    height: auto !important;
}

[data-element-id].up-ofi-130.up-h-100\%.fead-zoom {
    height: auto !important;
}

[data-element-id] header .left {
    width: auto;
}

[data-element-id].header-inner {
    height: auto;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

[data-element-id].lower .reserve-btn-container .reserve-popup {
    width: 900px;
    height: 0;
    position: relative;
    top: 300px;
}

[data-element-id].list-product.slide01>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
}

[data-element-id].list-product.slide01>*>* {
    width: 15%;
}

[data-element-id].section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap .title_03.pos {
    width: 100%;
    text-align: left;
}

[data-element-id].section__larger_m>.up-d-flex.up-jc-sb.up-fxw-wrap .title_03.pos.show\@pc {
    width: 90vw;
    margin: -60px 90px 0 90px;
    text-align: left;
}

[data-element-id].index-main-visual_inner {
    z-index: 999;
}

[data-element-id].hamburger {
    top: 150px;
}

[data-element-id] header .sns-wrap {
    -webkit-transform: none;
    transform: none;
    position: initial;
}

[data-ab-test-block] [data-ab-test-contents] + [data-ab-test-contents] {
    display: none;
}

[data-element-id] .title_03 {
    font-size: 42px;
}

/* プレビュー画面調整 */
.preview-only .hamburger{
  top: 150px;
}

/* display:contents;で見たまま編集画面を綺麗に */
@media(max-width:599px) {
    .contents {
        display: contents;
    }

    .order1 {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .order2 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .order3 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .order4 {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }

    .order5 {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
    }

    .order6 {
        -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
        order: 6;
    }
}

/* お問い合わせ「その他」を押したらアコーディオン */
#etc_content {
    display: none;
}

/* 2026/06/16 */

.box-inner.jc-c{
  justify-content: center !important;
}
