@charset "UTF-8";

/* Box sizing rules */

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}


/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul[role=list],
ol[role=list] {
    list-style: none;
}


/* Set core root defaults */

html:focus-within {
    scroll-behavior: smooth;
}


/* Set core body defaults */

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    /* 文字を滑らかに、少し細くする */
}


/* A elements that don't have a class get default styles */

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}


/* Make images easier to work with */

img,
picture {
    max-width: 100%;
    display: block;
}


/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
    font: inherit;
}


/* Remove all animations and transitions for people that prefer not to see them */
/*
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        -webkit-animation-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
} */


/* base */

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    scroll-padding-top: 16.3rem;
}

@media screen and (max-width: 1080px) {
    html {
        scroll-padding-top: 15rem;
    }
}

@media screen and (max-width: 768px) {
    html {
        scroll-padding-top: 7rem;
    }
}

body {
    /* font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 400; */
    font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 2.375;
    color: #111;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 1.4rem;
        line-height: 2.1428571429;
    }
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}


/* l-body */

.l-body.noScroll {
    overflow: hidden;
}


/* l-header */

.l-header {
    width: 100%;
    padding: 0 0 2.8rem;
    background-color: rgba(255, 255, 255, 0.9);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
}

@media screen and (max-width: 768px) {
    .l-header {
        height: 7rem;
        padding: 0 1rem;
    }
}

.l-header__outer {
    width: 100%;
    max-width: 128rem;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .l-header__outer {
        height: 100%;
    }
}

.l-header__inner {
    margin-left: 10.9375%;
    position: relative;
}

@media screen and (max-width: 1080px) {
    .l-header__inner {
        margin-left: 0;
        padding: 0 0 0 2%;
    }
}

@media screen and (max-width: 768px) {
    .l-header__inner {
        height: 100%;
    }
}

.l-header__logo {
    width: 17.5rem;
    position: absolute;
    top: 3rem;
}

.l-header__logo .img {
    fill: red;
}

@media screen and (max-width: 1080px) {
    .l-header__logo {
        width: 13.8rem;
        top: 1rem;
    }
}

.l-header__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.l-header__contactArea {
    width: 40rem;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 0px;
    margin-left: auto;
}

@media screen and (max-width: 1080px) {
    .l-header__contactArea {
        margin-left: auto;
        padding-top: 0;
    }
}

.l-header__contact {
    width: 20rem;
    margin-left: auto;
}

.l-header__txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 1.1rem;
    letter-spacing: 0.22em;
}

.l-header__txt span {
    display: inline-block;
}

.l-header__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (max-width: 1080px) {
    .l-header__bottom {
        margin-top: 1rem;
    }
}

@media screen and (max-width: 768px) {
    .l-header__bottom {
        height: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 0;
    }
}

.l-header__gnav {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 2%;
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    .l-header__gnav {
        display: none;
        margin-left: 0;
        overflow-y: scroll;
        width: 100%;
        height: 100%;
        padding: 0 2rem 6rem;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 8;
        color: #fff;
        background-color: #EE8091;
        margin: 0;
    }
}

.l-header__gnavLogo {
    display: none;
}

@media screen and (max-width: 768px) {
    .l-header__gnavLogo {
        height: 7rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 1.8rem;
    }
}

@media screen and (max-width: 768px) {
    .l-header__gnav.menu_isOpen {
        display: block;
    }
}

.l-header__btn {
    display: none;
}

@media screen and (max-width: 768px) {
    .l-header__btn {
        display: block;
        position: absolute;
        top: 1rem;
        right: 0.5rem;
        z-index: 99;
        background-image: url(../images/menu_bg_button.svg);
        background-size: contain;
        background-repeat: no-repeat;
    }
}

.l-header__menuBtnArea {
    margin-top: 4.6rem;
}

.l-header__menuTel {
    width: 27rem;
    margin: 3.2rem auto 0;
}

.l-header__gnav .l-header__menuTel:nth-child(4) {
    padding-top: 3rem;
    margin-top: 3rem;
    margin-bottom: 5rem;
    border-top: 1px solid rgb(255 255 255 / 27%);
}



/* ==========================================================
p-about
========================================================== */
.p-about {
    padding: 10rem 0;
    background-color: #fff;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .p-about {
        padding: 6rem 0;
    }
}

.p-about__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .p-about__inner {
        flex-direction: column;
        /* スマホは縦並び */
    }
}

/* テキストコンテンツ */
.p-about__content {
    width: 48%;
    order: 2;
    text-align: center;
    /* PCでは右側 */
}

@media screen and (max-width: 768px) {
    .p-about__content {
        width: 100%;
        order: 1;
        /* スマホでは一番上 */
        text-align: center;
        margin-bottom: 4rem;
    }
}

.p-about__content .c-sectionHeader {
    text-align: center;
    margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
    .p-about__content .c-sectionHeader {
        text-align: center;
        margin-bottom: 3rem;
    }
}

.p-about__heading {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 2.5rem;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .p-about__heading {
        font-size: 2.2rem;
        margin-bottom: 2rem;
    }
}

.p-about__txt {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
    .p-about__txt {
        font-size: 1.4rem;
        margin-bottom: 0;
    }
}

/* 画像エリアと装飾のピンクボックス */
.p-about__img {
    width: 46%;
    order: 1;
    /* PCでは左側 */
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-about__img {
        width: 100%;
        order: 2;
        /* スマホではテキストの下 */
        margin-bottom: 4rem;
        padding: 0 5%;
    }
}

.p-about__imgDeco {
    position: relative;
    z-index: 1;
}

/* 背後の薄ピンクの装飾ボックス */
.p-about__imgDeco::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10%;
    transform: translateY(-50%);
    width: 40%;
    height: 70%;
    background-color: #FCF3F3;
    /* 薄ピンク */
    border-radius: 15px;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    .p-about__imgDeco::before {
        left: 0;
        width: 30%;
        height: 60%;
    }
}

.p-about__imgDeco img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

/* ボタンエリア */
.p-about__btn {
    width: 100%;
    order: 3;
    /* PC/スマホ共にコンテンツの下 */
    margin-top: 4rem;
    display: flex;
    justify-content: center;
    /* PCは右寄せ */
}

@media screen and (max-width: 768px) {
    .p-about__btn {
        justify-content: center;
        /* スマホは中央 */
        margin-top: 0;
    }
}

/* 共通ボタンパーツ：詳しく見る */
.c-btnMore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #EE8091;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    /* 右側のパディングを広げてアイコン分のスペースを確保 */
    padding: 1.5rem 4rem 1.5rem 4rem;
    border-radius: 100px;
    text-decoration: none;
    transition: opacity 0.3s;
    position: relative;
    /* absoluteの基準点 */
    letter-spacing: 0.05em;
    width: 33.1rem;
    box-sizing: border-box;
}

.c-btnMore:hover {
    opacity: 0.8;
}

/* 矢印アイコン（絶対配置で右端に固定） */
.c-btnMore::after {
    content: "";
    display: block;
    /* inline-blockからblockへ */
    width: 3.8rem;
    height: 3.8rem;
    background: url("../images/i_arrow05.svg") center / contain no-repeat;
    filter: brightness(0) invert(1);
    /* 白いアイコンにする */

    /* 位置を固定 */
    position: absolute;
    top: 50%;
    right: 3.5rem;
    /* 角丸が始まる位置あたりに調整 */
    transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
    .c-btnMore {
        width: 100%;
        max-width: 320px;
        font-size: 1.6rem;
        /* スマホ版も右パディングを調整 */
        padding: 1.6rem 2rem 1.6rem 2rem;
    }

    .c-btnMore::after {
        /* スマホ版でのアイコン位置とサイズの微調整 */
        width: 3.8rem;
        height: 3.8rem;
        right: 2.5rem;
    }
}




/* ==========================================================
c-sectionHeader (共通タイトルコンポーネント)
========================================================== */
.c-sectionHeader {
    text-align: center;
    margin-bottom: 6rem;
}

.c-sectionHeader__en {
    font-family: "Futura PT", "Poppins", sans-serif;
    /* デザインに合わせフォント指定 */
    font-size: 4.6rem;
    /* PC: 46px */
    color: #EE8091;
    font-weight: 200;
    line-height: 1.1;
    letter-spacing: 0.05em;
    margin-bottom: 0rem;
}

.c-sectionHeader__ja {
    font-size: 1.4rem;
    /* PC: 14px */
    color: #111;
    font-weight: 500;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
    .c-sectionHeader {
        margin-bottom: 3rem;
    }

    .c-sectionHeader__en {
        font-size: 3.1rem;
        /* SP: 31px */
    }

    .c-sectionHeader__ja {
        font-size: 1.2rem;
        /* SP: 12px */
    }
}




/* ==========================================================
SALON MENU セクション
========================================================== */
.p-menu {
    padding: 10rem 0;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-menu {
        padding: 6rem 0;
    }
}

.p-menu__list {
    display: flex;
    flex-direction: column;
    gap: 10rem;
    /* アイテム間の余白 */
}

@media screen and (max-width: 768px) {
    .p-menu__list {
        gap: 6rem;
    }
}

.p-menu__item {
    display: flex;
    justify-content: space-between;
    align-items: top;
}

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

/* 画像エリア */
.p-menu__imgWrap {
    flex: 0 0 32%;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-menu__imgWrap {
        width: 100%;
        margin-bottom: 3.5rem;
    }
}

.p-menu__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    /* XDの青い枠線がある場合は border: 2px solid #64BDB8; 等を追加 */
}

/* 連番SVG */
.p-menu__num {
    position: absolute;
    top: 41%;
    right: -4rem;
    transform: translateY(-50%);
    width: 6rem;
    height: 6rem;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .p-menu__num {
        top: auto;
        bottom: -2.5rem;
        right: 50%;
        transform: translateX(50%);
    }
}

/* テキストエリア */
.p-menu__body {
    flex: 0 0 61%;
}

@media screen and (max-width: 768px) {
    .p-menu__body {
        width: 100%;
        text-align: center;
    }
}

.p-menu__tags {
    margin-bottom: 1.5rem;
    display: flex;
    gap: 1rem;
}

@media screen and (max-width: 768px) {
    .p-menu__tags {
        justify-content: center;
    }
}

.p-menu__ttl {
    font-size: 2.1rem;
    font-weight: 700;
    margin-bottom: 2rem;
    letter-spacing: 0.05em;
    line-height: 1;
}

.p-menu__txt {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 3rem;
    text-align: justify;
}

@media screen and (max-width: 768px) {
    .p-menu__txt {
        text-align: left;
    }
}

/* ボタンと矢印アイコン（i_arrow05.svg） */
.p-menu__btn {
    text-align: right;
}

.c-linkMore {
    display: inline-flex;
    align-items: center;
    color: #EE8091;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    transition: opacity 0.3s;
}

.c-linkMore::after {
    content: "";
    display: inline-block;
    width: 3.2rem;
    height: 3.2rem;
    margin-left: 1.2rem;
    /* 指示通り i_arrow05.svg を使用 */
    background: url("../images/i_arrow05.svg") center / contain no-repeat;
}

.c-linkMore:hover {
    opacity: 0.7;
}

/* 店舗タグ共通 */
.c-tagShop {
    display: inline-block;
    padding: 0.2rem 2rem;
    border-radius: 100px;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
}

.c-tagShop--ohashi {
    background-color: #44B7B1;
}

.c-tagShop--higashiyama {
    background-color: #EE8091;
}



/* ==========================================================
p-insta
========================================================== */
.p-insta {
    padding: 10rem 0;
    background-color: #FBF7F7;
    /* 非常に淡いピンクベージュ */
}

@media screen and (max-width: 768px) {
    .p-insta {
        padding: 6rem 0;
    }
}

.p-insta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
}

@media screen and (max-width: 768px) {
    .p-insta__inner {
        flex-direction: column;
        /* SPは縦並び */
        gap: 3rem;
    }
}

/* テキストエリア */
.p-insta__content {
    flex: 0 0 45%;
    /* PC版の幅調整 */
}

@media screen and (max-width: 768px) {
    .p-insta__content {
        order: 2;
        /* SPではギャラリーの下に配置 */
        text-align: center;
    }
}

.p-insta__content .c-sectionHeader {
    text-align: left;
    margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
    .p-insta__content .c-sectionHeader {
        text-align: center;
        margin-bottom: 3rem;
    }
}

.p-insta__txt {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 5rem;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .p-insta__txt {
        font-size: 1.4rem;
        margin-bottom: 3rem;

    }
}

/* ギャラリーエリア */
.p-insta__gallery {
    flex: 0 0 43%;
}

@media screen and (max-width: 768px) {
    .p-insta__gallery {
        order: 1;
        /* SPではギャラリーを上に */
        width: 100%;
    }
}

.p-insta__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    /* 画像間の細い隙間 */
}

.p-insta__item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.p-insta__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.p-insta__item:hover img {
    transform: scale(1.1);
}

/* ボタン */
.c-btnInsta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #EE8091;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    padding: 1.2rem 4rem;
    border-radius: 100px;
    transition: opacity 0.3s ease;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(238, 128, 145, 0.3);
}

.c-btnInsta:hover {
    opacity: 0.8;
}

.c-btnInsta__icon {
    width: 2.4rem;
    margin-right: 1.5rem;
}

@media screen and (max-width: 768px) {
    .c-btnInsta {
        width: 100%;
        /* SPでは全幅に */
        font-size: 1.4rem;
        padding: 1.8rem 2rem;
    }
}


/* ==========================================================
p-reserve (SALON INFO 拡張版)
========================================================== */
.p-reserve {
    padding: 10rem 0;
    background-color: #FCF3F3;
}

@media screen and (max-width: 768px) {
    .p-reserve {
        padding: 6rem 0;
    }
}

.p-reserve__list {
    display: flex;
    justify-content: space-between;
    gap: 8rem;
}

@media screen and (max-width: 1080px) {
    .p-reserve__list {
        gap: 2rem;
    }
}

@media screen and (max-width: 768px) {
    .p-reserve__list {
        display: block;
    }
}

.p-reserve__card {
    flex: 1;
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 768px) {
    .p-reserve__card:not(:last-child) {
        margin-bottom: 4rem;
    }
}

.p-reserve__img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.p-reserve__body {
    padding: 3rem 2rem;
    text-align: center;
}

.p-reserve__shopName {
    font-size: 2.1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: #333;
}

/* 登録番号と住所 */
.p-reserve__info {
    margin-bottom: 2rem;
}

.p-reserve__license {
    font-size: 1.2rem;
    color: #666;
    margin-bottom: 0.2rem;
}

.p-reserve__address {
    font-size: 1.4rem;
    font-weight: 500;
}

/* サービスアイコン一覧
   修正：justify-contentをflex-startにし、左寄せで並ぶように変更
*/
.p-reserve__tasks {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    /* 中央寄せから左寄せに変更 */
    gap: 1.5rem 0;
    /* 横のgapを0にし、width: 50%で計算しやすくする */
    max-width: 32rem;
    /* カード内でのリストの横幅を制限して中央に寄せる */
    margin: 2rem auto 3rem;
    padding: 0 0 0 2rem;
    /* 全体を左寄せにした分、左側にパディングを入れて視覚的に中央に配置 */
    list-style: none;
}

.p-reserve__taskItem {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 500;
    text-align: left;
    width: 50%;
    /* PC・スマホ共に2列並びを維持 */
}

.p-reserve__taskIcon {
    width: 3.5rem;
    height: 3.5rem;
    margin-right: 0.5rem;
}

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

    /* 非常に幅が狭い場合のみ、崩れないようマージンなどを微調整 */
    .p-reserve__tasks {
        padding-left: 0.5rem;
    }
}

/* ボタン・電話番号周り（既存ベース） */
.p-reserve__category {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    color: #fff;
    font-weight: 700;
    font-size: 1.6rem;
    width: 68%;
    height: 3.4rem;
    margin: 0 auto 1.5rem;
}

.p-reserve__category--teal {
    background-color: #0ABAB5;
}

.p-reserve__category--pink {
    background-color: #EE8091;
}

.p-reserve__tel {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.2rem;
    font-weight: 700;
    color: #0ABAB5;
    line-height: 1;
    margin-bottom: 0.5rem;
    font-family: "Futura PT", "Helvetica Neue", sans-serif;
    text-decoration: none;
}

.p-reserve__card:last-child .p-reserve__tel {
    color: #EE8091;
}

.p-reserve__telIcon {
    width: 3.2rem;
    margin-right: 0rem;
}

.p-reserve__time {
    font-size: 1.3rem;
    color: #333;
    font-weight: 500;
}

@media screen and (max-width: 1080px) {
    .p-reserve__tel {
        font-size: 3.2rem;
    }
}

@media screen and (max-width: 768px) {
    .p-reserve__body {
        padding: 2rem 1.5rem 3rem;
    }

    .p-reserve__shopName {
        font-size: 2rem;
    }

    .p-reserve__tel {
        font-size: 3.4rem;
    }

    /* スマホ版のアイコンリスト幅調整 */
    .p-reserve__tasks {
        max-width: 100%;
        padding-left: 0.2rem;
        margin: 1.75rem auto 3rem;
    }
}


/* l-footer*/
/* ==========================================================
l-footer 修正決定版
========================================================== */

.l-footer {
    background-color: #EE8091;
    color: #fff;
    padding: 0;
}

/* 上部画像ギャラリー */
.l-footer__galleryList {
    display: flex;
}

.l-footer__galleryItem {
    width: 25%;
}

.l-footer__galleryItem img {
    width: 100%;
    height: auto;
    display: block;
}

/* コンテンツ全体 */
.l-footer__content {
    padding: 8.8rem 0 3rem;
}

@media screen and (max-width: 768px) {
    .l-footer__content {
        padding: 4.8rem 0 2rem;
    }
}

@media (max-width: 768px) {
    .l-footer__content .l-inner {
        display: flex;
        flex-direction: column-reverse;

    }
}


/* 上段：ナビとインスタバナー */
.l-footer__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8rem;
}

@media screen and (max-width: 768px) {
    .l-footer__top {
        flex-direction: column-reverse;
        /* バナーを上に、ナビを下に */
        align-items: center;
        margin-bottom: 4rem;
    }
}

/* ナビゲーションの並び（PCで2列） */
.l-footer__navWrap {
    flex: 1;
    max-width: 60rem;
}

.l-footer__navGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* PC版：2列並び */
    gap: 0 6rem;
}

@media screen and (max-width: 768px) {
    .l-footer__navGrid {
        display: block;
        /* SP版：縦1列 */
        width: 100%;
    }
}

/* 各リンクのスタイル */
.l-footer__navLink,
.l-footer__navTtl {
    display: block;
    color: #fff;
    font-size: 1.6rem;
    /* PC版 16px */
    font-weight: 500;
    padding: 1.2rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    position: relative;
    letter-spacing: 0.05em;
}

.l-footer__navLink::after {
    content: "→";
    position: absolute;
    right: 0.5rem;
}

/* サブメニュー（大橋・東山店） */
.l-footer__navSub {
    margin-bottom: 2rem;
}

.l-footer__navLink.sub {
    font-size: 1.5rem;
    padding-left: 1.5rem;
}

.l-footer__navLink.sub::before {
    content: "-";
    position: absolute;
    left: 0;
}

/* 店舗情報の見出し（スマホ版でボーダーをつけるための調整） */
@media screen and (max-width: 768px) {
    .l-footer__navTtl {
        border-bottom: none;
        padding-bottom: 0;
    }
}

/* Instagramバナー */
.l-footer__insta {
    width: 32rem;
}

@media screen and (max-width: 768px) {
    .l-footer__insta {
        width: 30rem;
        margin-bottom: 5rem;
    }
}


.l-footer__logo {
    width: 42%;
    margin: 0 auto;
}

.l-footer__shopGroup {
    display: flex;
    justify-content: center;
    gap: 6rem;
}

@media screen and (max-width: 768px) {
    .l-footer__shopGroup {
        flex-direction: column;
        gap: 0;
        margin: 0 auto;
        width: 90%;
        max-width: 90%;
    }
}

@media (max-width: 768px) {
    .l-footer__shopGroup .l-footer__shopBlock:last-child {
        border-bottom: none;
    }
}

@media screen and (max-width: 768px) {
    .l-footer__shopBlock {
        text-align: left;
        padding: 3rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
        width: 100%;
    }
}




.l-footer__shopName {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.l-footer__shopAddress,
.l-footer__shopTel {
    font-size: 1.4rem;
    line-height: 1.6;
}

/* コピーライト */
.l-footer__copy {
    text-align: center;
    font-size: 1.2rem;
    margin-top: 6rem;
    opacity: 0.7;
}

@media (max-width: 768px) {
    .l-footer__copy {
        margin-top: 0rem;
    }
}

/* SP版 下部犬画像 */
.l-footer__bottomImg {
    margin: 2rem auto 0;
    width: 70%;
}



/* --- ナビゲーション全体のエリア --- */
.l-footer__navArea {
    display: flex;
    gap: 0 4.5rem;
    /* 左右カラムの間の余白 */
    flex: 1;
    max-width: 68rem;
}

@media screen and (max-width: 768px) {
    .l-footer__navArea {
        display: block;
        /* SPでは縦並び */
        width: 90%;
        max-width: 90%;
    }
}

/* 左右のカラム */
.l-footer__navCol {
    flex: 1;
}

/* リンク共通設定 */
.l-footer__navLink,
.l-footer__navTtl {
    display: block;
    color: #fff;
    font-size: 1.6rem;
    /* PC版 16px */
    font-weight: 500;
    padding: 2rem 0 2rem 2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    position: relative;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

/* 矢印のデザイン */
.l-footer__navLink::after {
    content: "→";
    position: absolute;
    right: 0.5rem;
    font-size: 1.4rem;
}

/* 「店舗情報」の文字（ここはリンクではない見出し） */
.l-footer__navTtl {
    border-bottom: none;
    padding-bottom: 0.5rem;
    margin-top: 1.5rem;
    /* 「について」との間の隙間 */
}

@media screen and (max-width: 768px) {
    .l-footer__navTtl {
        margin-top: 0;
    }
}

/* 店舗名サブメニュー */
.l-footer__navSub {
    margin-bottom: 1rem;
}

.l-footer__navSub .l-footer__navLink {
    font-size: 1.4rem;
    padding: 2rem 0 2rem 4rem;
    /* インデント */
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.l-footer__navSub .l-footer__navLink::before {
    content: "-";
    position: absolute;
    left: 2.5rem;
}

/* Instagramバナー */
.l-footer__insta {
    width: 21.8rem;
    margin-left: auto;
}

@media screen and (max-width: 768px) {
    .l-footer__insta {
        width: 30rem;
        margin: 0 auto 5rem;
    }
}

/* --- 下段の調整 --- */
.l-footer__infoArea {
    display: flex;
    justify-content: space-between;
    margin-top: 0rem;
    /* 上段ナビとの余白 */
    padding-top: 0rem;
    align-items: center;

}

@media screen and (max-width: 768px) {
    .l-footer__infoArea {
        border-top: none;
        margin-top: 0;
        margin-bottom: 2.5rem;
        flex-wrap: wrap;
    }
}


/* l-inner */

.l-inner {
    width: 104rem;
    max-width: 100%;
    padding: 0 2rem;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .l-inner--maxSP {
        width: 37.5rem;
    }
}

@media screen and (max-width: 768px) {
    .l-inner--noPaddingSP {
        padding: 0;
    }
}

@media screen and (max-width: 768px) {
    .l-inner--mvUnder {
        padding: 0rem;
    }
}













/* c-site */

.c-site {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    padding-top: 16.7rem;
}

@media screen and (max-width: 1080px) {
    .c-site {
        padding-top: 15rem;
    }
}

@media screen and (max-width: 768px) {
    .c-site {
        padding-top: 7rem;
    }
}

.c-site__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}


/* c-gnav*/

@media screen and (max-width: 768px) {
    .c-gnav {
        width: 100%;
        max-width: 68vw;
        margin: auto;
    }
}

.c-gnav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: right;
    -ms-flex-pack: right;
    justify-content: right;
    margin-right: 10rem;
}

@media screen and (max-width: 1080px) {
    .c-gnav__list {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (max-width: 768px) {
    .c-gnav__list {
        display: block;
        margin-right: 0rem;
        margin-bottom: 5rem;
    }
}

.c-gnav__item {
    margin-left: 4.8rem;
    position: relative;
}

@media screen and (max-width: 1080px) {
    .c-gnav__item {
        margin-left: 2rem;
    }
}

@media screen and (max-width: 768px) {
    .c-gnav__item {
        margin-left: 0;
    }
}

.c-gnav__link {
    display: block;
    padding: 1rem 0;
    color: #111;
    font-size: 1.6rem;
    letter-spacing: 0.14em;
    line-height: 1.7142857143;
    font-weight: 600;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-gnav__link {
        color: #fff;
        letter-spacing: 0;
        padding: 1.8rem 4rem 1.8rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.27);
        background: url(../../assets/images/i_arrow03.svg) right 20px center/4.5px auto no-repeat;
    }
}

.c-gnav__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #EE8091;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

@media screen and (max-width: 768px) {
    .c-gnav__link::after {
        display: inline-block;
        width: 4px;
        height: 9px;
        background: url(../images/i_arrow.svg) no-repeat center/contain;
        left: auto;
        right: 18px;
        top: calc(50% - 4px);
        -webkit-transform: none;
        transform: none;
    }
}

.c-gnav__link:hover::after,
.c-gnav__link.is_current::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.c-gnav__btn {
    height: 44px;
    width: 100%;
    display: block;
    padding: 0 1.8rem 0 0;
    color: #111;
    font-size: 1.6rem;
    line-height: 1.7142857143;
    letter-spacing: 0.14em;
    line-height: 1.7142857143;
    font-weight: 600;
    position: relative;
    border-color: transparent;
    background-color: transparent;
}

@media screen and (max-width: 768px) {
    .c-gnav__btn {
        height: auto;
        color: #fff;
        letter-spacing: 0;
        padding: 1.8rem 4rem 1.8rem 0;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.27);
    }
}

.c-gnav__btn::before {
    content: "";
    display: inline-block;
    width: 1.4rem;
    height: 4.4rem;
    background: url(../../assets/images/i_arrow.svg) center/contain no-repeat;
    position: absolute;
    top: -3px;
    right: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

@media screen and (max-width: 768px) {
    .c-gnav__btn::before {
        background-image: none;
    }
}

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

    .c-gnav__btn::before,
    .c-gnav__btn::after {
        content: "";
        display: inline-block;
        width: 1.3rem;
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: 50%;
        right: 0.8rem;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}

@media screen and (max-width: 768px) {
    .c-gnav__btn::after {
        -webkit-transform: translateX(-50%) rotate(-90deg);
        transform: translateX(-50%) rotate(-90deg);
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
    }
}

.c-gnav__btn.is_active::before {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

@media screen and (max-width: 768px) {
    .c-gnav__btn.is_active::before {
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .c-gnav__btn.is_active::after {
        background-color: transparent;
    }
}

.c-gnav__subList {
    display: none;
    width: 26.3rem;
    padding: 1.2rem 2.2rem;
    position: absolute;
    top: 5.5rem;
    left: 0;
    background-color: #fff;
    -webkit-box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
    .c-gnav__subList {
        width: 100%;
        position: initial;
        top: initial;
        left: initial;
        background-color: transparent;
        -webkit-box-shadow: none;
        box-shadow: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.27);
        padding-right: 0;
    }
}

@media screen and (max-width: 374px) {
    .c-gnav__subList {
        padding-left: 1rem;
    }
}

.c-gnav__subList.is_active {
    display: block;
}

@media screen and (max-width: 768px) {
    .c-gnav__subListItem:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.27);
    }
}

.c-gnav__subLink {
    display: block;
    color: #111;
    font-size: 1.4rem;
    padding: 1rem 0;
    padding-left: 2rem;
    background: url(../../assets/images/i_arrow02.svg) left center/13.5px auto no-repeat;
}

@media screen and (max-width: 768px) {
    .c-gnav__subLink {
        color: #fff;
        padding: 1.6rem 3rem 1.6rem 0;
        background: url(../../assets/images/i_arrow03.svg) right 20px center/4.5px auto no-repeat;
    }
}

.c-gnav__subLink span {
    font-size: 1.2rem;
}


/* c-btnMenu*/

.c-btnMenu {
    width: 5rem;
    height: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    background-color: transparent;
    border-color: transparent;
}

.c-btnMenu span {
    display: inline-block;
    width: 50%;
    height: 1px;
    background-color: #FFF;
    position: relative;
}

.c-btnMenu span::before,
.c-btnMenu span::after {
    content: "";
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #FFF;
    position: absolute;
    left: 0px;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.c-btnMenu span::before {
    top: 7px;
}

.c-btnMenu span::after {
    top: -7px;
}


/* btnMenu_isOnがついた時のスタイル */

.c-btnMenu.btnMenu_isOn span {
    background-color: transparent;
}

.c-btnMenu.btnMenu_isOn span::before,
.c-btnMenu.btnMenu_isOn span::after {
    top: 0;
    background-color: #fff;
}

.c-btnMenu.btnMenu_isOn span::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.c-btnMenu.btnMenu_isOn span::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


/* c-btn*/

.c-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    background-color: #EE8091;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 4;
    text-align: center;
    border-radius: 0 0 20px 20px;
    padding: 4px;
}

.c-btn__icon {
    margin-right: 4px;
}


/* c-btnCommon*/

.c-btnCommon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 40px;
    padding: 1.65rem 1rem;
    background: #EE8091 url(../../assets/images/i_btn.svg) center right 3.4rem/4.325rem auto no-repeat;
}

.c-btnCommon--contact {
    font-size: 2.1rem;
    padding: 3rem 1rem;
    background-color: #D13843;
    border-radius: 60px;
    background-size: 6.74rem auto;
    background-position: center right 5.4rem;
}

@media screen and (max-width: 768px) {
    .c-btnCommon--contact {
        font-size: 1.4rem;
        padding: 2.1rem 1rem;
        background-size: 4.325rem auto;
        background-position: center right 3.4rem;
    }
}


/* c-ttl*/

@media screen and (max-width: 768px) {
    .c-ttl {
        padding-left: 0.5rem;
    }
}

.c-ttl--relative {
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .c-ttl--small .c-ttl__ja {
        font-size: 2.1rem;
    }
}

.c-ttl--center {
    text-align: center;
}

.c-ttl--center .c-ttl__en::after {
    display: none;
}

.c-ttl--center .c-ttl__ja {
    margin-top: 1rem;
}

@media screen and (max-width: 768px) {
    .c-ttl--center .c-ttl__ja {
        margin-top: 0;
    }
}

.c-ttl--contact {
    text-align: center;
}

.c-ttl--contact .c-ttl__en::after {
    display: none;
}

.c-ttl--contact .c-ttl__ja {
    margin-top: 0.8rem;
}

@media screen and (max-width: 768px) {
    .c-ttl--contact .c-ttl__ja {
        margin-top: 0;
    }
}

.c-ttl--white .c-ttl__en {
    color: #fff;
}

.c-ttl--white .c-ttl__ja {
    color: #fff;
}

.c-ttl--noBorder .c-ttl__en:after {
    display: none;
}

.c-ttl__en {
    font-family: "rift", sans-serif;
    font-weight: 500;
    font-size: 2.25rem;
    color: #999999;
    text-transform: uppercase;
    line-height: 1.1;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
    .c-ttl__en {
        font-size: 1.6rem;
    }
}

.c-ttl__en::after {
    content: "";
    display: inline-block;
    width: 6.3rem;
    height: 1px;
    background-color: #999999;
    margin-left: 1rem;
    position: relative;
    top: -0.8rem;
}

@media screen and (max-width: 768px) {
    .c-ttl__en::after {
        top: -0.4rem;
    }
}

.c-ttl__ja {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 3.2rem;
    letter-spacing: 0.01em;
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    .c-ttl__ja {
        font-size: 2.4rem;
        line-height: 1.6;
    }
}


/* c-ttl02*/

.c-ttl02 {
    font-size: 1.8rem;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    background-color: #EE8091;
    border-radius: 100px;
    padding: 0.4rem 4.6rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-ttl02 {
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
    }
}

.c-ttl02::before {
    content: "";
    display: inline-block;
    width: 2.575rem;
    height: 2.575rem;
    background-color: #fff;
    border-radius: 50%;
    position: absolute;
    top: 1rem;
    left: 1rem;
}

@media screen and (max-width: 768px) {
    .c-ttl02::before {
        top: 1.4rem;
    }
}


/* c-list01*/

.c-list01 {
    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;
}

@media screen and (max-width: 768px) {
    .c-list01 {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
    }
}

.c-list01__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 30.95%;
    border-radius: 15px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .c-list01__item {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .c-list01__item:not(:first-child) {
        margin-top: 4rem;
    }
}

.c-list01__img {
    width: 100%;
}

.c-list01__imgInner {
    width: 100%;
    padding-top: 57.6298701299%;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-list01__imgInner {
        padding-top: 53.2233883058%;
    }
}

.c-list01__imgInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.c-list01__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    color: #fff;
    padding: 1.2rem 8% 3rem;
    background: #EE8091;
}

@media screen and (max-width: 768px) {
    .c-list01__desc {
        padding-bottom: 2rem;
    }
}

.c-list01__ttl {
    font-size: 2.1rem;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .c-list01__ttl {
        font-size: 1.6rem;
    }
}

.c-list01__txt {
    margin-top: 1.2rem;
    line-height: 2.0625;
}

@media screen and (max-width: 768px) {
    .c-list01__txt {
        margin-top: 0.5rem;
    }
}


/* c-list02*/

.c-list02 {
    padding-right: 7.7rem;
}

@media screen and (max-width: 768px) {
    .c-list02 {
        padding-right: 0;
    }
}

.c-list02__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) {
    .c-list02__item {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
    }
}

.c-list02__item:not(:first-child) {
    margin-top: 4.2rem;
}

@media screen and (max-width: 768px) {
    .c-list02__item:not(:first-child) {
        margin-top: 6.6rem;
    }
}

.c-list02__img {
    width: 36.6rem;
    max-width: 50%;
}

@media screen and (max-width: 768px) {
    .c-list02__img {
        width: 100%;
        max-width: 100%;
    }
}

.c-list02__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 6%;
    padding-top: 3.6rem;
}

@media screen and (max-width: 768px) {
    .c-list02__desc {
        padding-left: 0;
    }
}

.c-list02__ttl {
    font-size: 2.1rem;
    font-weight: 700;
    color: #000;
    letter-spacing: 0.01em;
    line-height: 1;
    padding-left: 2.4rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-list02__ttl {
        font-size: 1.8rem;
        padding-left: 2.8rem;
    }
}

.c-list02__ttl::before {
    content: "";
    display: inline-block;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    background-color: #EE8091;
    position: absolute;
    top: 0.2rem;
    left: 0;
}

@media screen and (max-width: 768px) {
    .c-list02__ttl::before {
        top: 0;
    }
}

.c-list02__txt {
    margin-top: 1.6rem;
    letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
    .c-list02__txt {
        line-height: 2;
        margin-top: 2.2rem;
    }
}


/* c-list03*/

.c-list03 {
    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;
}

@media screen and (max-width: 768px) {
    .c-list03 {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
    }
}

.c-list03__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 30.95%;
    border-radius: 15px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .c-list03__item {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .c-list03__item:not(:first-child) {
        margin-top: 4rem;
    }
}

.c-list03__img {
    width: 100%;
}

.c-list03__imgInner {
    width: 100%;
    padding-top: 71.6298701299%;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-list03__imgInner {
        padding-top: 71.2233883058%;
    }
}

.c-list03__imgInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.c-list03__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    color: #fff;
    padding: 1.2rem 8% 1.2rem;
    background: #EE8091;
}

@media screen and (max-width: 768px) {
    .c-list03__desc {
        padding-bottom: 2rem;
    }
}

.c-list03__ttl {
    font-size: 2.1rem;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .c-list03__ttl {
        font-size: 1.6rem;
    }
}

.c-list03__txt {
    margin-top: 1.2rem;
    line-height: 2.0625;
}

@media screen and (max-width: 768px) {
    .c-list03__txt {
        margin-top: 0.5rem;
    }
}


/* c-list04*/

.c-list04 {
    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;
}

@media screen and (max-width: 768px) {
    .c-list04 {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
}

.c-list04__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 30.95%;
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 40px;
}

.c-list04__item .ic_number {
    position: absolute;
    bottom: 50px;
    left: 20px;
}

.c-list04__item .ic_number img {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .c-list04__item .ic_number img {
        width: 25%;
    }
}

@media screen and (max-width: 768px) {
    .c-list04__item {
        width: 48%;
    }
}

@media screen and (max-width: 768px) {
    .c-list04__item:not(:first-child) {
        margin-top: 0rem;
    }
}

.c-list04__img {
    width: 100%;
}

.c-list04__imgInner {
    width: 100%;
    padding-top: 71.6298701299%;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-list04__imgInner {
        padding-top: 71.2233883058%;
    }
}

.c-list04__imgInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.c-list04__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    color: #fff;
    padding: 1.2rem 8% 1.2rem;
    background: #EE8091;
}

@media screen and (max-width: 768px) {
    .c-list04__desc {
        padding-bottom: 2rem;
    }
}

.c-list04__ttl {
    font-size: 2.1rem;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .c-list04__ttl {
        font-size: 1.4rem;
    }
}

.c-list04__txt {
    margin-top: 1.2rem;
    line-height: 2.0625;
}

@media screen and (max-width: 768px) {
    .c-list04__txt {
        margin-top: 0.5rem;
    }
}


/* c-tel*/

.c-tel {
    display: block;
    color: #111;
    padding-left: 2.8rem;
    background: url(../../assets/images/i_tel.svg) top left/2.3rem auto no-repeat;
    padding-top: 4px;
}

@media screen and (max-width: 768px) {
    .c-tel {
        padding-top: 0;
    }
}

.c-tel--menuSP {
    color: #fff;
    padding-left: 3.6rem;
    background: url(../../assets/images/i_tel_w.svg) top left/2.8rem auto no-repeat;
}

.c-tel__ttl {
    font-size: 1.45rem;
    padding: 0;
    color: #E66276;
    background-color: #FFF;
    text-align: center;
    width: 100%;
    margin-bottom: 7px;
    display: block;
    border-radius: 9999px;
}

.c-tel__shopname {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 0px;
    text-align: center;
}

.c-tel--menuSP .c-tel__num {
    font-size: 2.95rem;
}

.c-tel--menuSP .c-tel__opening {
    font-size: 1.3rem;
    margin-top: 1rem;
    margin-left: 0.5rem;
}

.c-tel__num {
    display: block;
    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    line-height: 1;
}

.c-tel__opening {
    display: block;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0em;
    line-height: 1.65;
    margin-top: 0.5rem;

}


/* c-newsBar*/

.c-newsBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 60px;
    overflow: hidden;
    background-color: #fff;
}

.c-newsBar__header {
    width: 12rem;
    color: #EE8091;
    background-color: #FCF3F3;
    font-family: "Futura PT", sans-serif;
    font-weight: 300;
    font-size: 2.0rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .c-newsBar__header {
        width: 6.85rem;
        font-size: 1.35rem;
        padding: 5px;
    }
}

.c-newsBar__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.c-newsBar__link {
    color: #111;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.1rem;
    letter-spacing: 0.22em;
    padding: 1.4rem 2rem;
}

@media screen and (max-width: 768px) {
    .c-newsBar__link {
        font-size: 1.15rem;
        letter-spacing: 0.05em;
        padding: 1.2rem 2rem 1.2rem 0.8rem;
    }
}

.c-newsBar__txt {
    margin-left: 2rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

@media screen and (max-width: 768px) {
    .c-newsBar__txt {
        margin-left: 1.2rem;
    }
}

.c-newsBar__swiper {
    width: 47.2rem;
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    .c-newsBar__swiper {
        width: 29.1rem;
    }
}


/* c-btnList*/

.c-btnList__item:not(:first-child) {
    margin-top: 2rem;
}

.c-btnList__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    width: 30.5rem;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 40px;
    border: 1px solid #fff;
    padding: 2.2rem 1rem;
    background: url(../../assets/images/i_btn.svg) center right 3.4rem/4.325rem auto no-repeat;
}


/* c-card*/

.c-card {
    position: relative;
    padding-top: 47.5%;
}

@media screen and (max-width: 768px) {
    .c-card {
        padding-top: 0;
    }
}

.c-card__img {
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

@media screen and (max-width: 768px) {
    .c-card__img {
        position: initial;
    }
}

.c-card__imgInner {
    width: 100%;
    padding-top: 54.4554455446%;
    position: relative;
    border-radius: 15px;
    overflow: hidden;
}

.c-card__imgInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.c-card__desc {
    width: 40.6rem;
    max-width: 96%;
    background-color: #fff;
    padding: 2.2rem 0 2.2rem 5%;
    border-radius: 20px 0 0 0;
    margin: 0 0 0 auto;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-card__desc {
        max-width: 100%;
        padding: 0;
        margin-top: 1.6rem;
    }
}

.c-card__ttl {
    color: #000;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

@media screen and (max-width: 768px) {
    .c-card__ttl {
        text-align: center;
    }
}

.c-card__txt {
    color: #292828;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    line-height: 2;
    margin-top: 0.6rem;
}

.c-card__linkArea {
    line-height: 1;
    text-align: right;
}

.c-card__link {
    display: inline-block;
    color: #000;
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
    padding: 8px 4px;
}

@media screen and (max-width: 768px) {
    .c-card__link {
        padding: 1rem 0 1rem 1rem;
    }
}

.c-card__link::before {
    content: "";
    display: inline-block;
    width: 2.9rem;
    height: 0.4rem;
    background: url(../../assets/images/i_arrow04.svg) center/contain no-repeat;
    margin-right: 1.5rem;
    position: relative;
    top: -2px;
}


/* c-card02*/

.c-card02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) {
    .c-card02 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.c-card02 a:link,
.c-card02 a:visited {
    display: flex;
    opacity: 1.0;
}

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

    .c-card02 a:link,
    .c-card02 a:visited {
        display: block;
        opacity: 1.0;
    }
}

.c-card02 a:hover {
    display: flex;
    opacity: 0.8;
}

.c-card02__figure {
    width: 20rem;
}

@media screen and (max-width: 768px) {
    .c-card02__figure {
        width: 100%;
    }
}

.c-card02__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 0.8rem 6.5% 0;
}

@media screen and (max-width: 768px) {
    .c-card02__body {
        padding: 0;
        margin-top: 1rem;
    }
}

.c-card02__figureInner {
    width: 100%;
    padding-top: 100.75%;
    border-radius: 15px;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-card02__figureInner {
        padding-top: 99.2957746479%;
    }
}

.c-card02__figureInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.c-card02__ttl {
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    margin-top: 0.5rem;
}

@media screen and (max-width: 768px) {
    .c-card02__ttl {
        margin-top: 0.1rem;
    }
}

.c-card02__txt {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    color: #292828;
    line-height: 1.8214285714;
    margin-top: 1rem;
}

@media screen and (max-width: 768px) {
    .c-card02__txt {
        font-size: 1.2rem;
        line-height: 1.7083333333;
        margin-top: 0;
    }
}


/* c-tag*/

.c-tag {
    display: inline-block;
    color: #EE8091;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    padding: 0.8rem 1.5rem;
    border-radius: 30px;
    border: 1px solid #EE8091;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
    .c-tag {
        padding: 0.6rem 1rem;
    }
}

.c-tag--news {
    padding: 0.8rem 2rem;
}

@media screen and (max-width: 768px) {
    .c-tag--large {
        padding: 0.8rem 1.6rem;
    }
}


/* c-news*/

.c-news {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #111;
    padding: 3rem 0;
}

@media screen and (max-width: 768px) {
    .c-news {
        padding: 0;
    }
}

.c-news__figure {
    width: 10.85rem;
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    .c-news__figure {
        width: 10.25rem;
    }
}

.c-news__figureInner {
    width: 100%;
    padding-top: 100%;
    border-radius: 5px;
    overflow: hidden;
    position: relative;
}

.c-news__figureInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.c-news__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 5%;
}

@media screen and (max-width: 768px) {
    .c-news__body {
        margin-left: 3%;
    }
}

.c-news__date {
    margin-left: 1rem;
}

@media screen and (max-width: 768px) {
    .c-news__date {
        margin-left: 0.5rem;
    }
}

.c-news__txt {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.8214285714;
    color: #292828;
    margin-top: 0.7rem;
}

@media screen and (max-width: 768px) {
    .c-news__txt {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        margin-top: 1.7rem;
    }
}


/* c-date*/

.c-date {
    color: #919191;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.12em;
}

@media screen and (max-width: 768px) {
    .c-date {
        font-size: 1.2rem;
    }
}


/* c-footerNav*/

.c-footerNav {
    width: 34rem;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .c-footerNav {
        width: 27rem;
        margin: auto;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.c-footerNav__item {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .c-footerNav__item {
        width: 40%;
    }
}

.c-footerNav__link {
    display: block;
    font-size: 1.4rem;
    color: #000;
    padding: 0.6rem 2rem 0.6rem;
    background: url(../../assets/images/i_arrow03_color.svg) center left/4px auto no-repeat;
}

@media screen and (max-width: 768px) {
    .c-footerNav__link {
        padding: 0.7rem 0 0.7rem 2rem;
    }
}

.c-footerNav__link:hover {
    text-decoration: underline;
}


/* c-breadcrumb*/

.c-breadcrumb {
    padding: 1.6rem 0;
}

@media screen and (max-width: 768px) {
    .c-breadcrumb {
        padding: 2.8rem 0 0;
    }
}

.c-breadcrumb__list {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
}

.c-breadcrumb__item {
    font-size: 1.2rem;
}

.c-breadcrumb__item:not(:first-child) {
    padding-left: 2rem;
    background: url(../../assets/images/i_arrow03_color.svg) center left/6px auto no-repeat;
    margin-left: 0.8rem;
}

.c-breadcrumb__link {
    color: #000;
    font-size: 1.2rem;
}


/* c-borderTop */

.c-borderTop {
    border-top: 2px solid #CCCCCC;
    position: relative;
}

.c-borderTop::before {
    content: "";
    display: inline-block;
    width: 9.8rem;
    height: 2px;
    background-color: #EE8091;
    position: absolute;
    top: -2px;
    left: 0;
}

@media screen and (max-width: 768px) {
    .c-borderTop::before {
        width: 6.8rem;
    }
}


/* c-linkList*/

.c-linkList {
    padding: 5.6rem 0 7.2rem;
}

@media screen and (max-width: 768px) {
    .c-linkList {
        padding: 2.4rem 0 4.6rem;
    }
}

.c-linkList__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.c-linkList__item {
    position: relative;
}

.c-linkList__item:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 3.2rem;
    background-color: #EE8091;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%) rotate(22deg);
    transform: translateY(-50%) rotate(22deg);
}

@media screen and (max-width: 768px) {
    .c-linkList__item:not(:first-child)::before {
        height: 2rem;
        -webkit-transform: translateY(-50%) rotate(28deg);
        transform: translateY(-50%) rotate(28deg);
    }
}

.c-linkList__link {
    display: block;
    color: #000;
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 0 1.6rem;
}

@media screen and (max-width: 768px) {
    .c-linkList__link {
        font-size: 1.6rem;
        padding: 0 1.2rem;
    }
}


/* c-table*/

.c-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
    line-height: 2.25;
}

.c-table tbody tr {
    border-top: 1px solid #CCCCCC;
}

.c-table tbody tr:first-child {
    border-top: none;
}



.c-table tbody th {
    width: 16rem;
    text-align: left;
    vertical-align: top;
    font-weight: 500;
    padding: 2.3rem 0 1rem;
}

@media screen and (max-width: 768px) {
    .c-table tbody th {
        width: 8rem;
    }
}

.c-table tbody td {
    padding: 2.3rem 1.6rem 2.3rem;
}

@media screen and (max-width: 768px) {
    .c-table tbody td {
        padding-right: 0;
        line-height: 2;
    }
}

@media screen and (max-width: 768px) {
    .c-table--history tbody th {
        width: 9.4rem;
    }
}


/* c-sectionBg*/

.c-sectionBg {
    width: 100%;
    height: 43.7rem;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .c-sectionBg {
        height: 22.5rem;
    }
}

.c-sectionBg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}


/* c-accessBg*/

.c-accessBg {
    width: 100%;
    height: 43.7rem;
    overflow: hidden;
    position: relative;
    margin-bottom: 7rem;
}

@media screen and (max-width: 768px) {
    .c-accessBg {
        height: 22.5rem;
    }
}

.c-accessBg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}


/* p-mv*/

.p-mv {
    max-height: 68.1rem;
    height: 53.203125vw;
    color: #000;
}

@media screen and (max-width: 768px) {
    .p-mv {
        height: 52.2rem;
        position: relative;
    }

    .p-mv::before {
        content: "";
        display: inline-block;
        width: 100%;
        height: 95.5%;
        background-color: #EE8091;
        position: absolute;
        bottom: 0;
        left: 0;
    }
}

.p-mv__outer {
    width: 100%;
    max-width: 128rem;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .p-mv__outer {
        height: 100%;
    }
}

.p-mv__copyArea {
    width: 10.9375%;
    font-size: 1.1rem;
    font-weight: 100;
    letter-spacing: 0.1em;
    line-height: 2.3181818182;
    padding-left: 2%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.p-mv__copy {
    color: #111;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    padding-bottom: 7rem;
}

.p-mv__body {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mv__body {
        height: 100%;
    }
}

.p-mv__desc {
    padding-top: 18%;
    padding-left: 3%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .p-mv__desc {
        padding: 0;
        bottom: 21%;
        right: 0px;
        top: unset;
        left: unset;
    }
}

.p-mv__txt {
    font-size: clamp(1rem, 1.796875vw, 2.3rem);
    font-weight: 700;
    letter-spacing: 0.37em;
    padding-left: 0.8rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mv__txt {
        padding-left: 0;
    }
}

.p-mv__txt::after {
    content: "";
    display: inline-block;
    width: 9.8rem;
    height: 1px;
    background-color: #1D1D1D;
    position: relative;
    top: -0.8rem;
    margin-left: 0.4rem;
}

@media screen and (max-width: 768px) {
    .p-mv__txt::after {
        width: 4.5rem;
        top: -0.2rem;
        margin-left: 0.8rem;
    }
}

.p-mv__ttl {
    font-family: "Poppins", sans-serif;
    font-weight: 500;
    font-size: clamp(4.7rem, 7.265625vw, 9.3rem);
    letter-spacing: -0.01em;
    line-height: 1.0053763441;
    margin-top: 0.8rem;
    width: 48.85rem;
}

@media screen and (max-width: 768px) {
    .p-mv__ttl {
        font-size: 3.5rem;
        margin-top: 1rem;
        line-height: 1.1714285714;
        text-transform: capitalize;
        width: 30rem;
    }
}

.p-mv__img {
    width: 60%;
    margin-bottom: 5.4rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mv__img {
        width: 94.6666666667%;
    }
}

.p-mv__img::before {
    content: "";
    display: inline-block;
    width: calc(100% + 51.2rem);
    height: 95%;
    background-color: #EE8091;
    border-radius: 20px 0 0 20px;
    position: absolute;
    left: -51.2rem;
    bottom: -5.4rem;
}

@media screen and (max-width: 768px) {
    .p-mv__img::before {
        display: none;
    }
}

.p-mv__imgInner {
    width: 100%;
    padding-top: 86.88%;
    border-radius: 20px 0 0 20px;
    overflow: hidden;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mv__imgInner {
        /* padding-top: 429px; */
        padding-top: 386px;
    }
}

.p-mv__imgInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.p-mv__news {
    width: 59rem;
    max-width: 96%;
    position: absolute;
    left: 3.8rem;
    bottom: 20%;
}

@media screen and (max-width: 768px) {
    .p-mv__news {
        width: 35.95rem;
        bottom: 3rem;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
}


/* p-mvUnder*/

.p-mvUnder {
    height: 40rem;
    color: #fff;
    padding-top: 17rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mvUnder {
        padding-top: 5.4rem;
        height: 16.8rem;
    }
}

@media screen and (max-width: 374px) {
    .p-mvUnder {
        margin-bottom: 2.3rem;
    }
}

.p-mvUnder::before {
    content: "";
    display: inline-block;
    width: calc((100% - 100rem) / 2 + 21.5rem);
    height: calc(100% + 5rem);
    background-color: #EE8091;
    border-radius: 0 0 120px 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

@media screen and (max-width: 768px) {
    .p-mvUnder::before {
        width: 50%;
        height: calc(100% + 2.3rem);
        border-radius: 0 0 40px 0;
    }
}

.p-mvUnder__bg {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.p-mvUnder__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.p-mvUnder__desc {
    position: relative;
    z-index: 2;
}

@media (max-width: 768px) {
    .p-mvUnder__desc {
        width: 50%;
        text-align: center;
    }
}


.p-mvUnder__en {
    display: inline-block;
    font-family: "Futura PT", sans-serif;
    font-weight: 300;
    font-size: 4.7rem;
    line-height: 1;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid #fff;
    text-transform: uppercase;
    letter-spacing: 0.07em;
}

@media screen and (max-width: 768px) {
    .p-mvUnder__en {
        font-size: 3.2rem;
        border-bottom-width: 1.5px;
        padding-bottom: 0.6rem;
    }
}

.p-mvUnder__ttl {
    font-size: 1.4rem;
    font-weight: 300;
    letter-spacing: 0.14em;
    margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
    .p-mvUnder__ttl {
        font-size: 1.2rem;
        margin-top: 0.5rem;
        margin-left: 0.5rem;
    }
}





/* ==========================================================
p-about-intro (ワールドワンについて 導入セクション)
========================================================== */
.p-about-intro {
    padding: 10rem 0;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-about-intro {
        padding: 3rem 0 0;
    }
}

.p-about-intro__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6rem;
}

@media screen and (max-width: 768px) {
    .p-about-intro__container {
        flex-direction: column;
        text-align: center;
        gap: 3rem;
    }
}

/* 画像エリア */
.p-about-intro__img {
    flex: 0 0 50%;
}

@media screen and (max-width: 768px) {
    .p-about-intro__img {
        width: 100%;
    }
}

.p-about-intro__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    /* 角丸指定 */
    object-fit: cover;
}

/* テキストエリア */
.p-about-intro__content {
    flex: 1;
}

/* キャッチ上のピンク文字 (Futura PT) */
.p-about-intro__sub {
    font-family: "Futura PT", sans-serif;
    color: #EE8091;
    /* ピンク色 */
    font-size: 2.1rem;
    /* PC: 21px */
    line-height: 1;
    margin-bottom: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.07em;
}

@media screen and (max-width: 768px) {
    .p-about-intro__sub {
        font-size: 1.4rem;
        /* SP: 14px */
        margin-bottom: 1rem;
    }
}

/* キャッチコピー */
.p-about-intro__catch {
    font-weight: 700;
    line-height: 1.5;
    font-size: 2.4rem;
    /* PC: 24px */
}

@media screen and (max-width: 768px) {
    .p-about-intro__catch {
        font-size: 1.8rem;
        /* SP: 18px */
    }
}

/* リード文 */
.p-about-intro__lead {
    font-size: 1.6rem;
    /* PC/SP共通: 16px */
    line-height: 1.875;
    margin-top: 3.5rem;
    /* PCマージン: 35px */
}

@media screen and (max-width: 768px) {
    .p-about-intro__lead {
        margin-top: 3.0rem;
        /* SPマージン: 30px */
        text-align: left;
        /* SPでも文章自体は左寄せが見やすいため。中央寄せにするなら center に変更 */
        font-size: 1.4rem;
    }
}




/* ==========================================================
p-about-loop (ワールドワンについて 無限ループ画像セクション) 修正決定版
========================================================== */
.p-about-loop {
    width: 100%;
    overflow: hidden;
    background-color: transparent;
    padding: 0;
    position: relative;
    z-index: 5;

}

.p-about-loop__inner {
    display: flex;
    width: max-content;
    flex-wrap: nowrap;
    /* ハードウェア加速を強制（カクつき防止） */
    will-change: transform;
}

.p-about-loop__list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    /* 強制停止設定を打ち消すための!important */
    animation: infinity-scroll-left 30s linear infinite !important;
    flex-shrink: 0;
}

.p-about-loop__item {
    flex-shrink: 0;
    padding: 0 10px;
}

.p-about-loop__item img {
    /* PCサイズ固定 */
    width: 262px !important;
    height: 165px !important;
    object-fit: cover;
    border-radius: 15px;
    /* デザインに合わせた角丸 */
    display: block;
    /* 画像の選択防止（動きを邪魔しないため） */
    pointer-events: none;
}

@keyframes infinity-scroll-left {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

/* スマホ版の調整 */
@media screen and (max-width: 768px) {
    .p-about-loop {
        padding: 4rem 0 0;
    }

    .p-about-loop__item img {
        width: 180px !important;
        height: 114px !important;
    }
}


/* ==========================================================
p-greeting (代表挨拶セクション) 修正版
========================================================== */
.p-greeting {
    padding: 15rem 0;
    position: relative;
    background-color: transparent;
    z-index: 1;
    /* 背景をループの下に潜り込ませる基準 */
}

/* 背景色の潜り込み設定 */
.p-greeting::before {
    content: "";
    position: absolute;
    top: -10rem;
    /* 前のセクション（ループ）の下半分を覆う */
    left: 0;
    width: 100%;
    height: calc(100% + 10rem);
    background-color: #FCF3F3;
    z-index: -1;
    /* セクション内のコンテンツより背面、かつループセクションより背面に配置 */
}

@media screen and (max-width: 768px) {
    .p-greeting {
        padding: 6rem 0;
    }

    .p-greeting::before {
        top: -6rem;
        height: calc(100% + 6rem);
    }
}

.p-greeting__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6rem;
}

@media screen and (max-width: 768px) {
    .p-greeting__container {
        flex-direction: column;
        align-items: center;
        gap: 4rem;
    }
}

/* 写真エリア */
.p-greeting__figure {
    flex: 0 0 38.5%;
}

@media screen and (max-width: 768px) {
    .p-greeting__figure {
        width: 100%;
        max-width: 32rem;
        order: 2;
        /* スマホでは文章の下に配置 */
    }
}

.p-greeting__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    /* 修正：濃いピンクの背景(::before等)を削除 */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.p-greeting__name {
    margin-top: 2rem;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.1em;
}

.p-greeting__name span {
    font-size: 1.8rem;
    font-weight: 500;
    margin-left: 1rem;
}

/* 文章エリア */
.p-greeting__content {
    flex: 1;
}

@media screen and (max-width: 768px) {
    .p-greeting__content {
        order: 1;
        /* スマホでは一番上に配置 */
        width: 100%;
    }
}

/* キャッチコピー：PC 24px / SP 18px */
.p-greeting__catch {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 3.5rem;
    /* キャッチとリードの間隔：PC 35px */
    letter-spacing: 0.05em;
    color: #111;
}

@media screen and (max-width: 768px) {
    .p-greeting__catch {
        font-size: 1.8rem;
        margin-bottom: 3.0rem;
        /* SP 30px */
        text-align: center;
    }
}

/* リード文：16px */
.p-greeting__lead {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 2rem;
    text-align: justify;
}

@media screen and (max-width: 768px) {
    .p-greeting__lead {
        text-align: left;
        font-size: 1.4rem;
    }
}



/* ==========================================================
p-about-philosophy (理念セクション)
========================================================== */
.p-about-philosophy {
    padding: 12.5rem 0;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-about-philosophy {
        padding: 6rem 0;
    }
}

.p-about-philosophy__list {
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    /* PC版カード間の余白 */
}

@media screen and (max-width: 768px) {
    .p-about-philosophy__list {
        flex-direction: column;
        align-items: center;
        gap: 2rem;
        /* スマホ版カード間の余白 */
    }
}

/* 個別の約束カード */
.p-about-philosophy__item {
    flex: 1;
    background-color: #FCF3F3;
    padding: 4rem 2rem;
    border-radius: 15px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-about-philosophy__item {
        width: 100%;
        padding: 4.5rem 2rem;
    }
}

/* 約束タイトル（ピンクの文字）：PC/SP共に39px */
.p-about-philosophy__ttl {
    font-size: 3.9rem;
    color: #E66276;
    font-weight: 700;
    margin-bottom: 0rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

@media screen and (max-width: 768px) {
    .p-about-philosophy__ttl {
        font-size: 3.9rem;
        /* スマホで画面が狭い場合は少しだけ調整（要確認） */
        margin-bottom: 0rem;
    }
}

/* 各項目のリード文：16px */
.p-about-philosophy__lead {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 500;
    color: #111;
}

@media screen and (max-width: 768px) {
    .p-about-philosophy__lead {
        font-size: 1.4rem;
        /* 本文テキストと合わせた調整 */
    }
}



/* ==========================================================
p-salon-intro (店舗別 導入セクション)
========================================================== */
.p-salon-intro {
    padding: 10rem 0 13rem;
    /* 修正：下部の余白を about-intro より少し広めに調整 */
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-salon-intro {
        padding: 3rem 0 5rem;
        /* スマホ版の下部余白も調整 */
    }
}

.p-salon-intro__container {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 6rem;
}

@media screen and (max-width: 768px) {
    .p-salon-intro__container {
        flex-direction: column;
        text-align: center;
        gap: 3rem;
    }
}

/* 画像エリア */
.p-salon-intro__img {
    flex: 0 0 50%;
}

@media screen and (max-width: 768px) {
    .p-salon-intro__img {
        width: 100%;
    }
}

.p-salon-intro__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    object-fit: cover;
}

/* テキストエリア */
.p-salon-intro__content {
    flex: 1;
}

/* サブタイトル (Futura PT) */
.p-salon-intro__sub {
    font-family: "Futura PT", sans-serif;
    color: #EE8091;
    font-size: 2.1rem;
    line-height: 1;
    margin-bottom: 1.5rem;
    font-weight: 300;
    letter-spacing: 0.07em;
}

@media screen and (max-width: 768px) {
    .p-salon-intro__sub {
        font-size: 1.4rem;
        margin-bottom: 1rem;
    }
}

/* キャッチコピー */
.p-salon-intro__catch {
    font-weight: 700;
    line-height: 1.5;
    font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
    .p-salon-intro__catch {
        font-size: 1.8rem;
    }
}

/* リード文 */
.p-salon-intro__lead {
    font-size: 1.6rem;
    line-height: 1.875;
    margin-top: 2.5rem;
    /* キャッチとの間隔 35px */
}

@media screen and (max-width: 768px) {
    .p-salon-intro__lead {
        margin-top: 2.0rem;
        /* SP間隔 30px */
        text-align: left;
        font-size: 1.4rem;
    }
}


/* ==========================================================
p-shop-detail (店舗詳細情報セクション)
========================================================== */
.p-shop-detail {
    padding: 10rem 0;
    background-color: #FBF7F7;
    /* 淡いピンクベージュ背景 */
}

@media screen and (max-width: 768px) {
    .p-shop-detail {
        padding: 6rem 0;
    }
}

.p-shop-detail__container {
    display: flex;
    justify-content: space-between;
    gap: 8rem;
}

@media screen and (max-width: 1080px) {
    .p-shop-detail__container {
        gap: 4rem;
    }
}

@media screen and (max-width: 768px) {
    .p-shop-detail__container {
        flex-direction: column;
        gap: 6rem;
    }
}

/* 左側・右側エリアの幅調整 */
.p-shop-detail__main {
    flex: 0 0 44%;
}

.p-shop-detail__sub {
    flex: 1;
}

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

    .p-shop-detail__main,
    .p-shop-detail__sub {
        width: 100%;
    }
}

/* 足跡アイコン付きタイトル */

.c-titleWithIcon {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    /* 21px */
    font-weight: 700;
    margin-bottom: 1.5rem;
    color: #0abab5;
}

@media screen and (max-width: 768px) {
    .c-titleWithIcon {
        font-size: 1.8rem;
        /* 18px */
        justify-content: center;
        /* タイトル自体も中央寄せ */
    }
}

#higashiyama .c-titleWithIcon,
#ohashi .c-titleWithIcon {
    color: #111;
}


.c-titleWithIcon__icon {
    width: 2.5rem;
    height: auto;
    margin-right: 0.7rem;
}

@media screen and (max-width: 768px) {
    .c-titleWithIcon__icon {
        width: 2rem;
    }
}

/* 店舗写真の調整 */
.p-shop-detail__img {
    margin-bottom: 3rem;
}

.p-shop-detail__img img {
    width: 100%;
    height: auto;
    border-radius: 0px;
}

/* テーブル情報のサイズ指定 */
.p-shop-detail__table.c-table tbody th,
.p-shop-detail__table.c-table tbody td {
    font-size: 1.4rem;
    padding: 1.8rem 1rem;
    border-top: none;
    border-bottom: 1px solid #CCCCCC;
    line-height: 1.6;
}

.p-shop-detail__table.c-table tbody th {
    width: 13rem;
    padding-left: 0;
}

@media screen and (max-width: 768px) {
    .p-shop-detail__table.c-table tbody th {
        width: 10rem;
    }
}

/* サービスアイコンリスト */
.p-shop-detail__tasks {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem 2rem;
    margin-top: 3rem;
    list-style: none;
    padding: 0;
}

@media (max-width: 768px) {
    .p-shop-detail__tasks {
        flex-wrap: wrap;
    }
}

#higashiyama .p-shop-detail__tasks {
    flex-wrap: wrap;
}



.p-shop-detail__taskItem {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    /* 指示通り 12px */
    font-weight: 500;
}

.p-shop-detail__taskIcon {
    width: 3.5rem;
    height: 3.5rem;
    margin-right: 0.8rem;
}



/* ==========================================================
p-shop-access (アクセスセクション)
========================================================== */
.p-shop-access {
    padding: 10rem 0;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-shop-access {
        padding: 6rem 0;
    }
}

/* マップエリア */
.p-shop-access__map {
    width: 100%;
    margin-bottom: 4rem;
}

.p-shop-access__mapInner {
    position: relative;
    width: 100%;
    padding-top: 50%;
    /* PC版のマップ比率 */
}

@media screen and (max-width: 768px) {
    .p-shop-access__mapInner {
        padding-top: 75%;
        /* スマホ版は少し縦長にする */
    }
}

.p-shop-access__mapInner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 下部テキスト */
.p-shop-access__notes {
    text-align: center;
}

.p-shop-access__note {
    font-size: 1.6rem;
    /* 池尻大橋駅... */
    font-weight: 500;
    line-height: 1.8;
}

.p-shop-access__note:not(:first-child) {
    margin-top: 2rem;
    font-size: 1.4rem;
    /* 渋谷駅... */
}

@media screen and (max-width: 768px) {
    .p-shop-access__note {
        font-size: 1.4rem;
        margin-top: 1.5rem;
    }

    .p-shop-access__note:not(:first-child) {
        font-size: 1.3rem;
    }
}




/* ==========================================================
p-menu-nav (ページ内アンカーリンク)
========================================================== */
.p-menu-nav {
    padding: 4rem 0;
    background-color: #fff;
}

.p-menu-nav__list {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

@media (max-width: 768px) {
    .p-menu-nav {
        padding: 3rem 0;
    }

    .p-menu-nav__list {
        flex-wrap: wrap;
        gap: 1.5rem;
    }
}

.p-menu-nav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #EE8091;
    color: #fff;
    font-size: 1.4rem;
    /* 14px */
    font-weight: 700;
    padding: 1.2rem 5rem;
    border-radius: 100px;
    text-decoration: none;
    position: relative;
    transition: opacity 0.3s;
}

.p-menu-nav__link::after {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(45deg);
    margin-left: 1.2rem;
    margin-top: -0.4rem;
    position: absolute;
    right: 13%;
}

.p-menu-nav__link:hover {
    opacity: 0.8;
}

@media (max-width: 768px) {
    .p-menu-nav__link {
        padding: 1rem 2rem;
        width: 16rem;
        font-size: 1.2rem;
    }
}

/* ==========================================================
p-menu-trimming (トリミングセクション)
========================================================== */
.p-menu-trimming {
    padding-bottom: 10rem;
}

/* ヘッダーエリア */
.p-menu-trimming__header {
    text-align: center;
    margin-bottom: 2rem;
}

/* タイトル：PC 32px / SP 24px */
.p-menu-trimming__ttl {
    font-size: 3.2rem;
    font-weight: 700;
    margin-top: 1rem;
    line-height: 1.4;
}

.p-menu-trimming__en {
    display: block;
    font-family: "Futura PT", sans-serif;
    font-size: 1.8rem;
    color: #EE8091;
    font-weight: 500;
    letter-spacing: 0.05em;
}

@media (max-width: 768px) {
    .p-menu-trimming__en {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .p-menu-trimming__ttl {
        font-size: 2.4rem;
    }
}

/* 導入コンテンツ */
.p-menu-trimming__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6rem;
    margin-bottom: 10rem;
}

@media (max-width: 768px) {
    .p-menu-trimming__content {
        flex-direction: column;
        gap: 3.5rem;
    }
}

.p-menu-trimming__img {
    flex: 0 0 44.5%;
}

.p-menu-trimming__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

.p-menu-trimming__desc {
    flex: 1;
}

.p-menu-trimming__subTtl {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 2rem;
}

.p-menu-trimming__txt {
    font-size: 1.6rem;
    line-height: 2;
}

/* トリミングの流れボックス */
.p-menu-trimming__flow {
    background-color: #FBF7F7;
    border-radius: 40px;
    padding: 8rem 5%;
}

@media (max-width: 768px) {
    .p-menu-trimming__flow {
        border-radius: 30px;
    }
}

.p-menu-trimming__flowHeader {
    text-align: center;
    margin-bottom: 6rem;
    position: relative;
}

@media (max-width: 768px) {
    .p-menu-trimming__flowHeader {
        margin-bottom: 3rem;
    }
}


.p-menu-trimming__flowIcon {
    width: 6.5rem;
    margin-bottom: 1rem;
    position: absolute;
    right: 25%;
    top: -65%;
}

@media (max-width: 768px) {
    .p-menu-trimming__flowIcon {
        width: 3.2rem;

        position: absolute;
        right: 10%;
        top: -65%;
    }
}

/* タイトル：PC 24px / SP 18px */
.p-menu-trimming__flowTtl {
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.p-menu-trimming__flowSub {
    font-family: "Futura PT", sans-serif;
    font-size: 1.4rem;
    color: #EE8091;
    margin-top: 0.5rem;
    letter-spacing: 0.07em;
}

@media (max-width: 768px) {
    .p-menu-trimming__flow {
        padding: 7rem 2rem;
    }

    .p-menu-trimming__flowTtl {
        font-size: 1.8rem;
    }
}

/* ステップリスト */
.p-menu-trimming__flowList {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    max-width: 80rem;
    margin: 0 auto;
}

.p-menu-trimming__flowItem {
    display: flex;
    align-items: center;
    gap: 6.5rem;
}

@media (max-width: 768px) {
    .p-menu-trimming__flowItem {
        flex-direction: column;
        gap: 0;
    }
}

.p-menu-trimming__flowStep {
    flex: 0 0 45%;
    position: relative;
}

.p-menu-trimming__flowImg img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

/* 番号SVGの配置 */
.p-menu-trimming__num {
    position: absolute;
    top: 35%;
    right: -4.25rem;
    transform: translateY(-50%);
    width: 6rem;
    height: 6rem;
    z-index: 2;
}

@media (max-width: 768px) {
    .p-menu-trimming__num {
        top: auto;
        bottom: -4rem;
        left: -3%;
        right: unset;
        transform: translateX(50%);
    }
}

.p-menu-trimming__flowBody {
    flex: 1;
}

.p-menu-trimming__flowStepTtl {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
}

@media (max-width: 768px) {
    .p-menu-trimming__flowBody {
        text-align: center;
        margin-top: 1.8rem;
    }
}

.p-menu-trimming__flowTxt {
    font-size: 1.4rem;
    line-height: 1.7;
}

@media (max-width: 767px) {
    .p-menu-trimming__flowTxt {
        text-align: left;
    }
}

.p-menu-trimming__note {
    font-size: 1.3rem;
    text-align: center;
    margin-top: 4rem;
}



/* ==========================================================
p-menu-hotel (ペットホテルセクション)
========================================================== */
.p-menu-hotel {
    padding: 10rem 0;
    background-color: #FBF7F7;
    /* 淡いピンクベージュ背景 */
}

@media screen and (max-width: 768px) {
    .p-menu-hotel {
        padding: 6rem 0;
    }
}

.p-menu-hotel__header {
    text-align: center;
    margin-bottom: 4rem;
}

@media (max-width: 768px) {
    .p-menu-hotel__header {
        text-align: center;
        margin-bottom: 2rem;
    }
}

.p-menu-hotel__tags {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.p-menu-hotel__ttl {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.3;
}

.p-menu-hotel__en {
    font-family: "Futura PT", sans-serif;
    font-size: 1.8rem;
    color: #EE8091;
    margin-top: 0rem;
}

@media screen and (max-width: 768px) {
    .p-menu-hotel__en {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 768px) {
    .p-menu-hotel__ttl {
        font-size: 2.4rem;
    }
}

/* コンテナ設定 */
.p-menu-hotel__container {
    display: flex;
    justify-content: space-between;
    gap: 7rem;
}

@media screen and (max-width: 768px) {
    .p-menu-hotel__container {
        flex-direction: column;
        gap: 4rem;
    }
}

/* 画像エリア */
.p-menu-hotel__imgArea {
    flex: 0 0 45%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.p-menu-hotel__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

@media screen and (max-width: 768px) {
    .p-menu-hotel__imgArea {
        width: 100%;
    }
}

/* コンテンツエリア */
.p-menu-hotel__content {
    flex: 1;
}

.p-menu-hotel__subTtl {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 2.5rem;
}

.p-menu-hotel__txt {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
    .p-menu-hotel__subTtl {
        text-align: center;
    }

    .p-menu-hotel__txt {
        font-size: 1.4rem;
    }
}

/* おすすめボックス */

.p-menu-hotel__recommend {
    border: 2px solid #EE8091;
    border-radius: 0px;
    padding: 4rem 4rem 3rem;
    position: relative;
    background-color: transparent;
    margin-top: 4rem;
}

@media (max-width: 767px) {
    .p-menu-hotel__recommend {
        border: 2px solid #EE8091;
        border-radius: 0px;
        padding: 4rem 2rem 3rem;
        position: relative;
        background-color: transparent;
        margin-top: 4rem;
    }
}

.p-menu-hotel__recommendHeader {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #FBF7F7;
    /* 枠線を隠すための背景色 */
    padding: 0 4.5rem 0 1.5rem;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.p-menu-hotel__recommendIcon {
    width: 2.5rem;
    margin-right: 0.3rem;
    margin-top: -0.5rem;
}

.p-menu-hotel__recommendTtl {
    color: #EE8091;
    font-size: 2.0rem;
    font-weight: 700;
}

.p-menu-hotel__recommendGroup:not(:last-child) {
    margin-bottom: 2.5rem;
}

.p-menu-hotel__recommendShop {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

/* チェックリスト */
.p-menu-hotel__checkList {
    list-style: none;
    padding: 0;
}

.p-menu-hotel__checkItem {
    font-size: 1.6rem;
    font-weight: 700;
    position: relative;
    padding-left: 3.5rem;
    line-height: 1.5;
}

.p-menu-hotel__checkItem:not(:last-child) {
    margin-bottom: 1.2rem;
}

.p-menu-hotel__checkItem::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2.2rem;
    height: 2.2rem;
    background: url("../images/i_check.svg") center / contain no-repeat;
}

@media screen and (max-width: 768px) {
    .p-menu-hotel__recommendTtl {
        font-size: 1.8rem;
    }

    .p-menu-hotel__checkItem {
        font-size: 1.4rem;
    }
}


/* ==========================================================
p-menu-kindergarten (犬のようちえんセクション)
========================================================== */
.p-menu-kindergarten {
    padding: 10rem 0 15rem;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-menu-kindergarten {
        padding: 6rem 0 10rem;
    }
}

.p-menu-kindergarten__header {
    text-align: center;
    margin-bottom: 4rem;
}

@media (max-width: 768px) {
    .p-menu-kindergarten__header {
        text-align: center;
        margin-bottom: 2rem;
    }
}


.p-menu-kindergarten__tags {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
}

.p-menu-kindergarten__ttl {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1;
}

.p-menu-kindergarten__en {
    font-family: "Futura PT", sans-serif;
    font-size: 1.8rem;
    color: #EE8091;
    margin-top: 0rem;
    letter-spacing: 0.05em;
}

@media (max-width: 768px) {
    .p-menu-kindergarten__en {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 768px) {
    .p-menu-kindergarten__ttl {
        font-size: 2.4rem;
    }
}

/* レイアウトコンテナ */
.p-menu-kindergarten__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6rem;
}

@media screen and (max-width: 768px) {
    .p-menu-kindergarten__container {
        flex-direction: column;
        gap: 4rem;
    }
}

/* 画像エリア */
.p-menu-kindergarten__img {
    flex: 0 0 45%;
}

.p-menu-kindergarten__img img {
    width: 100%;
    height: auto;
    border-radius: 15px;
}

@media screen and (max-width: 768px) {
    .p-menu-kindergarten__img {
        width: 100%;
    }
}

/* コンテンツエリア */
.p-menu-kindergarten__content {
    flex: 1;
}

.p-menu-kindergarten__subTtl {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 3rem;
}

.p-menu-kindergarten__lead {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.p-menu-kindergarten__txt {
    font-size: 1.6rem;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .p-menu-kindergarten__subTtl {
        text-align: center;
        font-size: 1.8rem;
    }

    .p-menu-kindergarten__lead,
    .p-menu-kindergarten__txt {
        font-size: 1.4rem;
    }
}



/* p-mission*/

.p-mission {
    padding-top: 9.45rem;
    padding-bottom: 13rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-mission {
        padding-top: 4.8rem;
        padding-bottom: 8rem;
    }
}

.p-mission__inner {
    position: relative;
}

.p-mission__bg {
    width: 42.4rem;
    position: absolute;
    top: 8rem;
    right: calc(50% - 62.4rem);
    z-index: 3;
}

@media screen and (max-width: 1260px) {
    .p-mission__bg {
        width: 30%;
        right: 1%;
    }
}

@media screen and (max-width: 768px) {
    .p-mission__bg {
        width: 28.51rem;
        top: 5.4rem;
        right: 50%;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        z-index: 2;
    }
}

.p-mission__imgPC {
    width: 55.3rem;
    max-width: 60%;
    position: absolute;
    top: 0;
    left: -5.4rem;
    z-index: 1;
}

.p-mission__imgSP {
    width: 90.1492537313%;
    margin: 4rem auto 0;
}

.p-mission__desc {
    width: 54.2rem;
    max-width: 100%;
    position: relative;
    margin: 0 0 0 auto;
    padding-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-mission__desc {
        width: 33.5rem;
        padding-top: 0;
        margin: auto;
    }
}

.p-mission__descInner {
    padding: 5.4rem 0 2rem 12%;
    position: relative;
    z-index: 2;
    background-color: #fff;
    border-radius: 15px;
}

@media screen and (max-width: 768px) {
    .p-mission__descInner {
        padding: 0;
        background-color: transparent;
    }
}

.p-mission__subttl {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    margin-top: 3.4rem;
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .p-mission__subttl {
        font-size: 1.8rem;
        text-align: center;
    }
}

.p-mission__txt {
    margin-top: 1.2rem;
    position: relative;
    z-index: 1;
}

.p-mission__btn {
    width: 31.5rem;
    margin: 5.2rem 0 0 auto;
}

@media screen and (max-width: 768px) {
    .p-mission__btn {
        margin: 4.2rem auto 0;
    }
}


/* p-works*/

.p-works {
    padding-top: 7.4rem;
    padding-bottom: 14.4rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-works {
        padding-top: 2.8rem;
    }
}

.p-works__bg {
    width: 47.2885rem;
    position: absolute;
    top: 0;
    left: calc(50% - 7rem);
}

@media screen and (max-width: 900px) {
    .p-works__bg {
        left: auto;
        right: 0.5rem;
    }
}

@media screen and (max-width: 768px) {
    .p-works__bg {
        width: 18.2rem;
        top: 3.6rem;
    }
}

.p-works__list {
    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;
    margin-top: 4.6rem;
}

@media screen and (max-width: 768px) {
    .p-works__list {
        margin-top: 3.4rem;
    }
}

.p-works__item {
    width: 45.5rem;
    max-width: 46%;
    margin-bottom: 4.4rem;
}

@media screen and (max-width: 768px) {
    .p-works__item {
        max-width: 100%;
        margin-bottom: 5.4rem;
    }
}

.p-works__item:nth-child(2n) {
    padding-top: 3rem;
}

@media screen and (max-width: 768px) {
    .p-works__item:nth-child(2n) {
        padding-top: 0;
    }
}

.p-works__item:last-child {
    margin-bottom: 3.2rem;
}

@media screen and (max-width: 768px) {
    .p-works__item:last-child {
        margin-bottom: 0;
    }
}

.p-works__btn {
    width: 31.5rem;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .p-works__btn {
        margin-top: 4.2rem;
    }
}


/* p-works_list */

.p-works_list {}

.p-works_list .p-works_list__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 7rem 10rem 0;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .p-works_list .p-works_list__inner {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 4rem 2rem 0;
        box-sizing: border-box;
    }
}

.p-works_list .p-works_list__inner article {
    width: 44%;
    margin-bottom: 7rem;
}

@media screen and (max-width: 768px) {
    .p-works_list .p-works_list__inner article {
        width: 100%;
        margin-bottom: 7rem;
    }
}

.p-works_list .p-works_list__inner article a:link,
.p-works_list .p-works_list__inner article a:visited {
    color: #333;
    opacity: 1.0;
}

.p-works_list .p-works_list__inner article a:hover {
    opacity: 0.8;
}

.p-works_list__ttl {
    line-height: 1.8;
    font-size: 18px;
}

.p-works_list__img {
    margin-bottom: 2rem;
}

.p-works_list__txt {
    line-height: 1.8;
}


/* p-case*/

.p-case__header {
    height: 43.7rem;
    background: url(../../assets/images/case_bg.png) center/cover no-repeat;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-case__header {
        height: 23.15rem;
    }
}

.p-case__headerTxt {
    width: 82.8rem;
    position: absolute;
    bottom: 18rem;
    right: calc(50% - 63rem);
}

@media screen and (max-width: 1280px) {
    .p-case__headerTxt {
        right: 1rem;
    }
}

@media screen and (max-width: 768px) {
    .p-case__headerTxt {
        width: 31.8775rem;
        bottom: 2.2rem;
        right: 0;
    }
}

.p-case__body {
    padding: 7rem 0 8rem;
}

@media screen and (max-width: 768px) {
    .p-case__body {
        padding: 6.2rem 0 9rem;
    }
}

.p-case__listArea {
    margin-top: 4.4rem;
}

.p-case__swiperWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
    .p-case__swiperWrapper {
        -ms-flex-wrap: initial;
        flex-wrap: initial;
        -webkit-transition-timing-function: linear;
        transition-timing-function: linear;
    }
}

.p-case__slide {
    width: 50%;
    margin-bottom: 5.6rem;
}

@media screen and (max-width: 768px) {
    .p-case__slide {
        width: initial;
        margin-left: 1.15rem;
        margin-bottom: 0;
    }
}


/* p-safety*/

.p-safety {
    padding: 12rem 0 9.5rem;
    overflow: hidden;
    position: relative;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #EEEEEE), color-stop(50%, transparent), color-stop(50%, #EEEEEE));
    background: linear-gradient(transparent 50%, #EEEEEE 50%, transparent 50%, #EEEEEE 50%);
}

@media screen and (max-width: 768px) {
    .p-safety {
        padding-top: 9rem;
        padding-bottom: 7.5rem;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(10%, transparent), color-stop(10%, #EEEEEE), color-stop(10%, transparent), color-stop(10%, #EEEEEE));
        background: linear-gradient(transparent 10%, #EEEEEE 10%, transparent 10%, #EEEEEE 10%);
    }
}

.p-safety__bg {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.p-safety__bgTxt {
    width: 49.95rem;
    position: absolute;
    top: 10.6rem;
    right: calc(50% - 59rem);
}

@media screen and (max-width: 1280px) {
    .p-safety__bgTxt {
        right: 5.6rem;
    }
}

@media screen and (max-width: 768px) {
    .p-safety__bgTxt {
        width: 19.15rem;
        top: 3.6rem;
        right: 0;
    }
}

.p-safety__body {
    margin-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-safety__body {
        margin-top: 3.4rem;
    }
}

.p-safety__list {
    width: 94.35rem;
    max-width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-right: 1px solid #B1B1B1;
}

@media screen and (max-width: 768px) {
    .p-safety__list {
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        border: none;
    }
}

.p-safety__item {
    width: 33.3333333333%;
    padding: 0 4.2% 1.6rem;
    border-left: 1px solid #B1B1B1;
}

@media screen and (max-width: 768px) {
    .p-safety__item {
        width: 100%;
        padding: 0 6%;
        border: none;
        margin-bottom: 4.4rem;
    }
}

.p-safety__ttl {
    margin-top: 3rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: center;
}

.p-safety__icon {
    width: 19.9rem;
    max-width: 100%;
    margin: auto;
}

.p-safety__txt {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    line-height: 1.8214285714;
    margin-top: 1rem;
}


/* p-access*/

.p-access {
    padding: 18rem 0 16.5rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-access {
        padding: 7.4rem 0;
    }
}

#access {
    padding: 2rem 0 6.5rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    #access {
        padding: 2rem 0;
    }
}

.p-access__bg {
    width: 48.25rem;
    position: absolute;
    top: 4.8rem;
    right: calc(50% - 49rem);
    z-index: 1;
}

@media screen and (max-width: 1280px) {
    .p-access__bg {
        right: 0rem;
    }
}

@media screen and (max-width: 768px) {
    .p-access__bg {
        width: 21.97rem;
        top: 6.6rem;
        right: 0.2rem;
    }
}

.p-access__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
    .p-access__body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 4rem;
    }
}

.p-access__map {
    width: 52.2rem;
    padding-top: 1.6rem;
}

@media screen and (max-width: 768px) {
    .p-access__map {
        width: 100%;
        padding-top: 0;
    }
}

.p-access__mapInner {
    width: 100%;
    padding-top: 68.1992337165%;
    position: relative;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .p-access__mapInner {
        padding-top: 68.4992570579%;
    }
}

.p-access__mapInner iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.p-access__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-right: 3%;
}

@media screen and (max-width: 768px) {
    .p-access__desc {
        padding-right: 0;
    }
}

.p-access__name {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #292828;
    margin-top: 4.2rem;
}

@media screen and (max-width: 768px) {
    .p-access__name {
        margin-top: 3.2rem;
    }
}

.p-access__address {
    font-size: 1.4rem;
    color: #292828;
    margin-top: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    padding-left: 3.4rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-access__address {
        margin-top: 2.2rem;
    }
}

.p-access__address::before {
    content: "";
    display: inline-block;
    width: 1.8865rem;
    height: 2.5155rem;
    background: url(../../assets/images/i_map.svg) center/contain no-repeat;
    position: absolute;
    top: 0.2rem;
    left: 0;
}

@media screen and (max-width: 768px) {
    .p-access__address::before {
        top: 0;
    }
}

.p-access__tel {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    padding-left: 3.4rem;
    color: #292828;
    position: relative;
    margin-top: 1rem;
}

.p-access__tel::before {
    content: "";
    display: inline-block;
    width: 1.8865rem;
    height: 2.5155rem;
    background: url(../../assets/images/i_tel02.svg) center/contain no-repeat;
    position: absolute;
    top: 0.2rem;
    left: 0;
}

.p-access__btn {
    width: 31.05rem;
    max-width: 100%;
    margin-top: 5.2rem;
}

@media screen and (max-width: 768px) {
    .p-access__btn {
        margin: 4.4rem auto 0;
    }
}

.p-access h2.jpn {
    text-align: center;
}

.p-access .address {
    text-align: center;
    margin-bottom: 10rem;
}

@media screen and (max-width: 768px) {
    .p-access .address {
        text-align: center;
        margin-bottom: 4rem;
    }
}

.p-access__inner {
    padding-top: 4.2rem;
}

@media screen and (max-width: 768px) {
    .p-access__inner {
        padding-top: 2.6rem;
    }
}

.p-access .factory_exp {
    display: flex;
    justify-content: space-between;
    color: #FFF;
    padding: 40px 4%;
    background-color: #EE8091;
    border-radius: 15px;
    align-items: center;
    margin-bottom: 170px;
}

@media screen and (max-width: 768px) {
    .p-access .factory_exp {
        flex-wrap: wrap;
        padding: 30px 7%;
        border-radius: 10px;
        margin-bottom: 70px;
    }
}

.p-access .factory_exp figure {
    width: 35%;
}

@media screen and (max-width: 768px) {
    .p-access .factory_exp figure {
        width: 100%;
        margin-bottom: 25px;
    }
}

.p-access .factory_exp figure img {
    border-radius: 10px;
}

@media screen and (max-width: 768px) {
    .p-access .factory_exp figure img {
        border-radius: 5px;
    }
}

.p-access .factory_exp .txt {
    width: 60%;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .p-access .factory_exp .txt {
        width: 100%;
        line-height: 2;
    }
}

.c-linkList__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
}

.map-wrapper {
    position: relative;
    margin-bottom: 10px;
    margin-top: 50px;
}

.btn-large {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 10;
}

.btn-link5 a:link,
.btn-link5 a:visited {
    display: inline-block;
    box-sizing: border-box;
    background-size: 18px 18px;
    background: #023264;
    border-radius: 4px;
    padding: 12px 18px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    transition: .2s linear;
    width: 100%;
    margin-top: 20px;
    font-weight: bold;
    z-index: 9999;
}

.btn-link5 a span {
    display: inline-block;
    background: url(../images/ic_arrow_gr.svg) no-repeat left center;
    background-size: 18px 18px;
    min-height: 18px;
    padding: 3px 0 0 25px;
    font-size: 12px;
    letter-spacing: 0.1em;
}


/* p-news*/

.p-news {
    padding: 9.4rem 0 16rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-news {
        padding-top: 7.6rem;
        padding-bottom: 8rem;
        background-color: #FAFAFA;
    }
}

.p-news::before {
    content: "";
    display: inline-block;
    width: 67%;
    max-width: 80%;
    height: 100%;
    background-color: #EEEEEE;
    border-radius: 0 40px 40px 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

@media screen and (max-width: 1280px) {
    .p-news::before {
        width: 97.5rem;
    }
}

@media screen and (max-width: 768px) {
    .p-news::before {
        display: none;
    }
}

.p-news__bg {
    width: 39.55rem;
    position: absolute;
    top: 9.6rem;
    left: calc(50% - 28.6rem);
}

@media screen and (max-width: 1000px) {
    .p-news__bg {
        left: 20rem;
    }
}

@media screen and (max-width: 768px) {
    .p-news__bg {
        width: 14.8465rem;
        top: 9rem;
        left: auto;
        right: 0.6rem;
    }
}

.p-news__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10.6rem;
}

@media screen and (max-width: 768px) {
    .p-news__body {
        margin-top: 5.6rem;
    }
}

.p-news__img {
    width: 42.95rem;
    margin-right: -5rem;
}

@media screen and (max-width: 1130px) {
    .p-news__img {
        width: 30rem;
        margin-right: 0;
    }
}

.p-news__desc {
    width: 52.2rem;
    max-width: calc(100% - 45rem);
}

@media screen and (max-width: 1130px) {
    .p-news__desc {
        max-width: calc(100% - 32rem);
    }
}

@media screen and (max-width: 768px) {
    .p-news__desc {
        width: 100%;
        max-width: 100%;
    }
}

.p-news__list {
    border-bottom: 1px solid #B9B9B9;
}

@media screen and (max-width: 768px) {
    .p-news__list {
        border-bottom: none;
    }
}

.p-news__item {
    border-top: 1px solid #B9B9B9;
}

@media screen and (max-width: 768px) {
    .p-news__item {
        border-top: none;
        margin-bottom: 3.3rem;
    }
}

.p-news__btn {
    width: 31.5rem;
    margin-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-news__btn {
        margin-left: auto;
        margin-right: auto;
    }
}


/* p-contact*/

.p-contact {
    padding-top: 23.6rem;
    text-align: center;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-contact {
        padding-top: 14.2rem;
    }
}

.p-contact__bg {
    width: 61.25rem;
    position: absolute;
    top: 10.2rem;
    right: calc(50% - 59rem);
}

@media screen and (max-width: 1280px) {
    .p-contact__bg {
        right: 4.6rem;
    }
}

@media screen and (max-width: 768px) {
    .p-contact__bg {
        width: 22.8385rem;
        top: 6.8rem;
        right: 1.4rem;
    }
}

.p-contact__lead {
    font-size: 1.4rem;
    line-height: 1.9642857143;
    margin-top: 1.8rem;
}

@media screen and (max-width: 768px) {
    .p-contact__lead {
        letter-spacing: 0.124em;
    }
}

.p-contact__body {
    height: 40.85rem;
    padding-top: 14rem;
    margin-top: 6.8rem;
    background: url(../../assets/images/contact_bg.png) center/cover no-repeat;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-contact__body {
        height: 30rem;
        margin-top: 4.4rem;
        padding-top: 10rem;
        background-image: url(../../assets/images/contact_bg_sp.png);
    }
}

.p-contact__body::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 6.7rem;
    background-color: #707070;
    position: absolute;
    top: -5.4rem;
    left: 50%;
}

@media screen and (max-width: 768px) {
    .p-contact__body::before {
        top: -3.3rem;
    }
}

.p-contact__btn {
    width: 48.5rem;
    max-width: 100%;
    margin: auto;
}


/* p-works02*/

.p-works02 {
    padding-top: 8.4rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-works02 {
        padding-top: 4.4rem;
    }
}

.p-works02__bg {
    width: 45.2475rem;
    position: absolute;
    top: 4.5rem;
    right: calc(50% - 61rem);
}

@media screen and (max-width: 768px) {
    .p-works02__bg {
        width: 17.4rem;
        top: 2.6rem;
        left: auto;
        right: 0.5rem;
    }
}

.p-works02__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 768px) {
    .p-works02__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.p-works02__img {
    width: 50%;
}

@media screen and (max-width: 768px) {
    .p-works02__img {
        width: 63.2vw;
        margin: auto;
        border-radius: 15px;
        overflow: hidden;
    }
}

.p-works02__img img {
    max-width: 90%;
}

@media screen and (max-width: 768px) {
    .p-works02__img img {
        max-width: 100%;
    }
}

.p-works02__ttl {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.6;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .p-works02__ttl {
        font-size: 2.4rem;
        letter-spacing: 0.01em;
        margin-top: 0.6rem;
    }
}

.p-works02__desc {
    width: 50%;
    padding-top: 2.2rem;
}

@media screen and (max-width: 768px) {
    .p-works02__desc {
        width: 100%;
        padding-top: 0;
        margin-top: 3.4rem;
    }
}

.p-works02__txt {
    margin-top: 1.8rem;
}

@media screen and (max-width: 768px) {
    .p-works02__txt {
        margin-top: 0.3rem;
        line-height: 2;
    }
}

.p-works02__txt strong {
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
}

.p-works02__sliderArea {
    padding-top: 9.4rem;
    padding-bottom: 14.8rem;
}

@media screen and (max-width: 768px) {
    .p-works02__sliderArea {
        padding-top: 5.5rem;
        padding-bottom: 9.6rem;
    }
}

.p-works02__swiperWrapper {
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
}

.p-works02__slide {
    width: 30.8rem;
    margin-left: 3.7rem;
}

@media screen and (max-width: 768px) {
    .p-works02__slide {
        width: 18.65rem;
        margin-left: 2.2rem;
    }
}

.p-works02__card {
    border-radius: 15px;
    overflow: hidden;
    position: relative;
    padding-top: 57.6298701299%;
}

.p-works02__card img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.p-works02__process {
    padding: 13rem 0 4.5rem;
    background-color: #EEEEEE;
}

@media screen and (max-width: 768px) {
    .p-works02__process {
        padding: 8rem 0 2.8rem;
    }
}

.p-works02__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 7.4rem;
}

@media screen and (max-width: 768px) {
    .p-works02__list {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
        margin-top: 5.2rem;
    }
}

.p-works02__item {
    width: 45.45%;
    margin-bottom: 4.4rem;
}

@media screen and (max-width: 768px) {
    .p-works02__item {
        width: 100%;
        margin-bottom: 3.6rem;
    }
}

.p-works02__itemFigure {
    width: 100%;
    overflow: hidden;
    border-radius: 15px;
}

.p-works02__itemFigureInner {
    padding-top: 54.4554455446%;
    position: relative;
}

.p-works02__itemFigureInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.p-works02__itemTxt {
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.6875;
    text-align: center;
    margin-top: 2.5rem;
}


/* p-others*/

.p-others {
    color: #fff;
    padding: 7.4rem 0 5rem;
    background-color: #EE8091;
}

@media screen and (max-width: 768px) {
    .p-others {
        padding: 6.4rem 0 3.4rem;
    }
}

.p-others__list {
    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;
    margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
    .p-others__list {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
        margin-top: 4.6rem;
        padding: 0 2rem;
    }
}

@media screen and (max-width: 374px) {
    .p-others__list {
        padding: 0;
    }
}

.p-others__item {
    width: 30.8%;
    margin-bottom: 4.6rem;
}

@media screen and (max-width: 768px) {
    .p-others__item {
        width: 100%;
    }
}

.p-others__figure {
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    -o-object-fit: cover;
    object-fit: cover;
}

.p-others__figureInner {
    width: 100%;
    padding-top: 57.6298701299%;
    position: relative;
}

.p-others__figureInner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.p-others__txt {
    font-size: 1.6rem;
    text-align: center;
    margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
    .p-others__txt {
        margin-top: 1rem;
    }
}


/* p-service*/

.p-service {
    padding-bottom: 15rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-service {
        padding-bottom: 1.8rem;
    }
}

.p-service__bg {
    width: 52.3rem;
    position: absolute;
    top: 3.2rem;
    right: calc(50% - 63.5rem);
}

@media screen and (max-width: 1280px) {
    .p-service__bg {
        right: 0.6rem;
    }
}

@media screen and (max-width: 768px) {
    .p-service__bg {
        width: 20.1285rem;
        top: 4.2rem;
        right: 0;
        display: none;
    }
}

.p-service__inner {
    margin-top: 9.6rem;
    padding-top: 4.6rem;
}

@media screen and (max-width: 768px) {
    .p-service__inner {
        margin-top: 4.4rem;
        padding-top: 2.6rem;
    }
}

.p-service__box {
    margin-top: 6.4rem;
    padding-bottom: 5.6rem;
}

@media screen and (max-width: 768px) {
    .p-service__box {
        margin-top: 5.4rem;
        padding-bottom: 3.8rem;
    }
}

.p-service__lead {
    letter-spacing: 0.01em;
    margin-top: 2.6rem;
    padding: 0 2.6rem;
}

@media screen and (max-width: 768px) {
    .p-service__lead {
        padding: 0;
        margin-top: 2rem;
        line-height: 2;
    }
}

.p-service__list {
    margin-top: 5.6rem;
}

.p-service__list02 {
    margin-top: 5.6rem;
}

@media screen and (max-width: 768px) {
    .p-service__list02 {
        margin-top: 3rem;
    }
}

.p-service__boxContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: 6rem;
}

@media screen and (max-width: 768px) {
    .p-service__boxContent {
        width: 50rem;
        max-width: 100%;
        margin: auto;
        display: block;
        margin-top: 3rem;
    }
}

.p-service__boxImg {
    width: 43.25rem;
    max-width: 50%;
}

@media screen and (max-width: 768px) {
    .p-service__boxImg {
        width: 100%;
        max-width: 100%;
    }
}

.p-service__boxDesc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-right: 6%;
    letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
    .p-service__boxDesc {
        padding-right: 0;
        margin-top: 2.6rem;
        line-height: 2;
    }
}


/* p-greeting*/

.p-greeting {
    padding-bottom: 16rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-greeting {
        padding-bottom: 8.4rem;
    }
}

.p-greeting__bg {
    width: 62.25rem;
    position: absolute;
    top: 4.8rem;
    right: calc(50% - 49rem);
    z-index: 1;
}

@media screen and (max-width: 1280px) {
    .p-greeting__bg {
        right: 15.2rem;
    }
}

@media screen and (max-width: 768px) {
    .p-greeting__bg {
        width: 23.97rem;
        top: 9.6rem;
        right: 0.2rem;
    }
}

.p-greeting__inner {
    padding-top: 4.2rem;
}

@media screen and (max-width: 768px) {
    .p-greeting__inner {
        padding-top: 2.6rem;
    }
}

.p-greeting__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 0.6rem;
}

@media screen and (max-width: 768px) {
    .p-greeting__content {
        display: block;
        margin-top: 0rem;
    }
}

.p-greeting__img {
    width: 34.7rem;
    border-radius: 10px;
    position: relative;
    margin-right: 3.2rem;
    margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
    .p-greeting__img {
        width: 55.6vw;
        margin: auto;
        border-radius: 15px;
        margin-bottom: 1.8rem;
    }
}


@media screen and (max-width: 768px) {
    .p-greeting__img::before {
        right: -2.2rem;
        bottom: -1.8rem;
    }
}

.p-greeting__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    letter-spacing: 0.01em;
    padding-right: 9.5%;
    margin-top: 5.8rem;
}

@media screen and (max-width: 768px) {
    .p-greeting__desc {
        margin-top: 4.8rem;
        padding: 0;
    }
}

.p-greeting__subttl {
    font-size: 2.1rem;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .p-greeting__subttl {
        text-align: center;
    }
}

.p-greeting__message {
    margin-top: 1.4rem;
    padding-right: 5.5%;
}

@media screen and (max-width: 768px) {
    .p-greeting__message {
        font-size: 1.6rem;
        letter-spacing: 0.01em;
        line-height: 2.375;
        padding-right: 0;
    }
}

.p-greeting__name {
    margin-top: 2rem;
}

@media screen and (max-width: 768px) {
    .p-greeting__name {
        margin-top: 0rem;
    }
}

.p-greeting__name img {
    margin: 0 0 0 auto;
}


/* p-overview*/

.p-overview {
    padding-bottom: 9rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-overview {
        padding-bottom: 6rem;
    }
}

.p-overview__bg {
    width: 67.8rem;
    position: absolute;
    top: 3.6rem;
    right: calc(50% - 64rem);
    z-index: 1;
}

@media screen and (max-width: 1280px) {
    .p-overview__bg {
        right: 0.2rem;
    }
}

@media screen and (max-width: 768px) {
    .p-overview__bg {
        width: 26.112rem;
        top: 8.6rem;
        right: 0rem;
    }
}

.p-overview__inner {
    padding-top: 5rem;
}

@media screen and (max-width: 768px) {
    .p-overview__inner {
        padding-top: 2.6rem;
    }
}

.p-overview__table {
    margin-top: 7rem;
}

@media screen and (max-width: 768px) {
    .p-overview__table {
        margin-top: 7.6rem;
    }
}


/* p-history*/

.p-history {
    position: relative;
}

.p-history__bg {
    width: 48.7rem;
    position: absolute;
    top: 3.6rem;
    right: calc(50% - 62rem);
    z-index: 1;
}

@media screen and (max-width: 1280px) {
    .p-history__bg {
        right: 1.8rem;
    }
}

@media screen and (max-width: 768px) {
    .p-history__bg {
        width: 18.737rem;
        top: 3.6rem;
        right: 2rem;
    }
}

.p-history__inner {
    padding-top: 5rem;
    margin-top: 12rem;
}

@media screen and (max-width: 768px) {
    .p-history__inner {
        padding-top: 2.6rem;
        margin-top: 7.6rem;
    }
}

.p-history__table {
    margin-top: 7rem;
}

@media screen and (max-width: 768px) {
    .p-history__table {
        margin-top: 3rem;
    }
}


/* p-recruit*/

.p-recruit {
    padding-top: 9rem;
    padding-bottom: 0rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    .p-recruit {
        padding-top: 4rem;
        padding-bottom: 3rem;
    }
}

.p-recruit__bg {
    width: 49.8rem;
    position: absolute;
    top: 12.6rem;
    right: calc(50% - 64rem);
    z-index: 1;
}

@media screen and (max-width: 1280px) {
    .p-recruit__bg {
        right: 0.2rem;
    }
}

@media screen and (max-width: 768px) {
    .p-recruit__bg {
        width: 26.112rem;
        top: 8.6rem;
        right: 0rem;
        display: none;
    }
}

.p-recruit__inner {
    padding-top: 5rem;
}

@media screen and (max-width: 768px) {
    .p-recruit__inner {
        padding-top: 2.6rem;
    }
}

.p-recruit__table {
    margin-top: 5rem;
    margin-bottom: 15rem;
}

@media screen and (max-width: 768px) {
    .p-recruit__table {
        margin-top: 3.6rem;
        margin-bottom: 9.5rem;
    }
}

.p-overview__inner:last-child .p-recruit__table {
    margin-top: 5rem;
    margin-bottom: 0rem;
}

@media screen and (max-width: 768px) {
    .p-overview__inner:last-child .p-recruit__table {
        margin-top: 2rem;
        margin-bottom: 0rem;
    }
}

.p-recruit__table .c-table tbody th {
    background-color: #EE8091;
    color: #FFF;
    padding: 2.3rem 0 1rem 2rem;
}

@media screen and (max-width: 768px) {
    .p-recruit__table .c-table tbody th {
        background-color: #EE8091;
        color: #FFF;
        padding: 2.3rem 0 2.3rem 1rem;
        line-height: 2;
    }
}

.p-recruit__lead {
    letter-spacing: 0.01em;
    margin-top: 3.0rem;
    padding: 0;
}

@media screen and (max-width: 768px) {
    .p-recruit__lead {
        padding: 0;
        margin-top: 2rem;
        line-height: 2;
        box-sizing: border-box;
    }
}


/* u-align */

.u-align--center {
    text-align: center !important;
}

.u-align--right {
    text-align: right !important;
}


/* u-display */

.u-display--pcNone {
    display: none !important;
}

@media screen and (max-width: 768px) {
    .u-display--pcNone {
        display: block !important;
    }
}

@media screen and (max-width: 768px) {
    .u-display--spNone {
        display: none !important;
    }
}

.u-display--inlineBlock {
    display: inline-block;
}

.mb_0 {
    margin-bottom: 0 !important;
}

.mb_40 {
    margin-bottom: 40px !important;
}


/* ==========================================================
p-price-nav (店舗別アンカーナビ)
========================================================== */
.p-price-nav {
    padding: 6rem 0 4rem;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-price-nav {
        padding: 4rem 0 2rem;
    }
}

.p-price-nav__list {
    display: flex;
    justify-content: center;
    gap: 3rem;
    /* PC版のボタン間隔 */
}

@media screen and (max-width: 768px) {
    .p-price-nav__list {
        gap: 1.5rem;
    }
}

.p-price-nav__item {
    flex: 0 0 32rem;
    /* ボタンの幅を固定 */
    max-width: 45%;
}

@media screen and (max-width: 768px) {
    .p-price-nav__item {
        flex: 1;
        max-width: 100%;
    }
}

.p-price-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 2.5rem 1rem;
    border-radius: 15px;
    /* デザインに合わせた角丸 */
    text-decoration: none;
    position: relative;
    transition: opacity 0.3s;
    text-align: center;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .p-price-nav__link {
        padding: 2.5rem 1rem 3.5rem;
    }
}

.p-price-nav__link:hover {
    opacity: 0.8;
}

/* 右下の矢印（逆V字）装飾 */
.p-price-nav__link::after {
    content: "";
    width: 0.8rem;
    height: 0.8rem;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 2rem;
    bottom: auto;
}

/* カラーバリエーション：大橋店（緑）と東山店（ピンク） */
.p-price-nav__link--teal {
    background-color: #0ABAB5;
}

.p-price-nav__link--pink {
    background-color: #EE8091;
}

/* ボタン内テキストのサイズ設定 */
.p-price-nav__shop {
    font-size: 1.8rem;
    /* 店名部分を大きく */
    font-weight: 700;
}

.p-price-nav__service {
    font-size: 1.4rem;
    /* サービス名（括弧内）を小さく */
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .p-price-nav__shop {
        font-size: 1.4rem;
    }

    .p-price-nav__service {
        font-size: 1.1rem;
    }

    .p-price-nav__link::after {
        right: unset;
        bottom: 1.8rem;
        width: 0.6rem;
        height: 0.6rem;
    }
}

/* ==========================================================
p-price-shop (共通料金表パーツ)
========================================================== */
.p-price-shop {
    padding: 6rem 0 10rem;
    background-color: #fff;
}

.p-price-shop__header {
    text-align: center;
    margin-bottom: 6rem;
}

.p-price-shop__ttl {
    font-size: 2.4rem;
    font-weight: 700;
    color: #0ABAB5;
    /* 大橋店カラー */
    line-height: 1.4;
}

.p-price-shop__ttl span {
    font-size: 3.2rem;
    letter-spacing: 0.1em;
}

/* PC版の2カラムレイアウト用グリッド */
.p-price-shop__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 4rem;
    margin-top: 6rem;
}

@media screen and (max-width: 960px) {
    .p-price-shop__grid {
        grid-template-columns: 1fr;
        gap: 6rem 0;
    }
}

.p-price-category {
    margin-bottom: rem;
}

/* 料金テーブルの基本設定 */
.p-price-table-wrap {
    width: 100%;
    overflow-x: auto;
    /* 横スクロールを許可 */
    -webkit-overflow-scrolling: touch;
    border-radius: 10px;
}

.p-price-table {
    width: 100%;
    min-width: 500px;
    /* スマホで強制的にスクロールさせるための最小幅 */
    border-collapse: collapse;
    font-size: 1.4rem;
}

.p-price-table thead th {
    background-color: #0ABAB5;
    /* ヘッダー背景色 */
    color: #fff;
    padding: 1.5rem;
    text-align: center;
    border: 1px solid #fff;
}



.p-price-table tbody th,
.p-price-table tbody td {
    padding: 1.5rem;
    border: none;
    /* 枠線をカラーに合わせる */
    text-align: center;
}

.p-price-table tbody th {
    background-color: none;
    /* 項目列の淡い背景色 */
    text-align: left;
    font-weight: 500;
}

.p-price-table__note {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-top: 1.5rem;
    color: #333;
}

@media screen and (max-width: 768px) {
    .p-price-shop__ttl {
        font-size: 1.8rem;
    }

    .p-price-shop__ttl span {
        font-size: 2.4rem;
    }

    .p-price-table {
        min-width: 450px;
        /* SP版の調整 */
    }
}


/* ==========================================================
p-price-ohashi (大橋店 料金表)
========================================================== */
.p-price-ohashi {
    padding: 6rem 0 10rem;
    background-color: #fff;
}

.p-price-ohashi__header {
    text-align: center;
    margin-bottom: 4rem;
}

.p-price-ohashi__ttl {
    font-size: 2.4rem;
    /* PC 24px */
    font-weight: 700;
    color: #0ABAB5;
    line-height: 1.4;
}

.p-price-ohashi__ttl span {
    font-size: 3.2rem;
    /* PC 32px */
    letter-spacing: 0.1em;
}

/* PC版 2カラムレイアウト：Gridで構築 */
.p-price-ohashi__layout {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    /* 左を少し広めに設定 */
    gap: 0 6rem;
    align-items: start;
}

/* サイド（右カラム）の中身を縦に並べる */
.p-price-ohashi__side {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    /* オプションとホテルの間の縦余白 */
}

@media (max-width: 767px) {
    .p-price-ohashi__side {
        gap: 3rem;
        /* オプションとホテルの間の縦余白 */
    }
}


@media screen and (max-width: 1024px) {
    .p-price-ohashi__layout {
        grid-template-columns: 1fr;
        /* タブレット以下で1カラムに */
        gap: 3rem 0;
    }
}

/* 料金テーブル共通設定 */
.p-price-category {
    width: 100%;
}

.p-price-table-wrap {
    width: 100%;
    overflow-x: auto;
    /* スマホ版：横スクロール有効化 */
    -webkit-overflow-scrolling: touch;
    border-radius: 0px;
    border: none;
    /* 外枠をメインカラーに */
}

.p-price-table {
    width: 100%;
    min-width: 480px;
    /* スマホで強制スクロールを発生させるための最小幅 */
    border-collapse: collapse;
}

.p-price-table thead th {
    background-color: #0ABAB5;
    color: #fff;
    font-size: 1.5rem;
    padding: 1.5rem 1rem;
    border-right: 1px solid #fff;
    text-align: center;
}

@media (max-width: 767px) {
    .p-price-table thead th {
        font-size: 1.4rem;
    }
}

.p-price-table thead th:last-child {
    border-right: none;
    line-height: 1.2;
}

.p-price-table tbody th,
.p-price-table tbody td {
    font-size: 1.4rem;
    /* 14px */
    padding: 1.5rem 1rem;
    border-bottom: 1px solid #0ABAB5;
    border-right: 1px solid #0ABAB5;
    text-align: center;
}

.p-price-table tbody th {
    background-color: none;
    text-align: left;
    font-weight: 500;
    color: #111;
    padding-left: 2rem;
}

@media (max-width: 767px) {
    .p-price-table tbody th {
        padding: 0 0.5rem;
        line-height: 1.4;
        text-align: center;

    }
}


.p-price-table tbody td:last-child {
    border-right: none;
}

@media (max-width: 767px) {
    .p-price-table tbody td {
        line-height: 1.4;
        padding: 1.5rem 0.5rem;
    }
}



.p-price-table tbody tr:last-child th,
.p-price-table tbody tr:last-child td {
    border-bottom: none;
}

.p-price-table__note {
    font-size: 1.2rem;
    /* 12px */
    line-height: 1.6;
    margin-top: 1.5rem;
    color: #333;
}

/* スマホ版調整 */
@media screen and (max-width: 768px) {
    .p-price-ohashi {
        padding: 4rem 0 6rem;
    }

    .p-price-ohashi__header {
        margin-bottom: 4rem;
    }

    .p-price-ohashi__ttl {
        font-size: 1.8rem;
    }

    .p-price-ohashi__ttl span {
        font-size: 2.4rem;
        /* SP 24px */
    }

    .p-price-table {
        min-width: 100%;
        /* 小さめ画面向け調整 */
    }
}


/* ==========================================================
p-price-higashiyama (東山店 料金表)
========================================================== */
.p-price-higashiyama {
    padding: 6rem 0 10rem;
    background-color: #fff;
}

.p-price-higashiyama__header {
    text-align: center;
    margin-bottom: 4rem;
}

.p-price-higashiyama__ttl {
    font-size: 2.4rem;
    font-weight: 700;
    color: #EE8091;
    /* 東山店カラー */
    line-height: 1.4;
}

@media (max-width: 767px) {
    .p-price-higashiyama__ttl {
        font-size: 1.8rem;
    }
}

.p-price-higashiyama__ttl span {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}

@media (max-width: 767px) {
    .p-price-higashiyama__ttl span {
        font-size: 2.4rem;
        /* SP 24px */
    }
}

/* PC 2カラムグリッド（下段のホテルとDAYプラン用） */
.p-price-higashiyama__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 6rem;
    margin-top: 6rem;
}

@media screen and (max-width: 960px) {
    .p-price-higashiyama__layout {
        grid-template-columns: 1fr;
        gap: 3rem 0;
        margin-top: 3rem;
    }
}

/* 東山店専用タイトルカラー */
.c-titleWithIcon--pink {
    color: #EE8091 !important;
}

/* 東山店用テーブルカラースタイル（角丸・外枠なしを継承） */
.p-price-table--pink thead th {
    background-color: #EE8091 !important;
    line-height: 1.2;
}




.p-price-table--pink tbody th,
.p-price-table--pink tbody td {
    border-bottom: 1px solid #EE8091 !important;
    border-right: 1px solid #EE8091 !important;
}

.p-price-table--pink tbody td:last-child {
    border-right: none !important;
}

.p-price-table--pink tbody tr:last-child th,
.p-price-table--pink tbody tr:last-child td {
    border-bottom: none !important;
}



.p-price-table--pink tbody th {

    /* 淡いピンクの背景 */
}

/* ==========================================================
p-news-detail (ニュース詳細)
========================================================== */
.p-news-detail {
    padding: 6rem 0 10rem;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .p-news-detail {
        padding: 4rem 0 6rem;
    }
}

.p-news-detail__container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 8rem;
    /* メインとサイドの間の余白 */
}

@media screen and (max-width: 960px) {
    .p-news-detail__container {
        flex-direction: column;
        gap: 6rem 0;
    }
}

/* メインコンテンツエリア */
.p-news-detail__main {
    flex: 1;
    width: 100%;
}

.p-news-detail__head {
    border-bottom: 1px solid #CCCCCC;
    /* 区切り線 */
    padding-bottom: 2rem;
    margin-bottom: 4rem;
}

.p-news-detail__info {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 2rem;
}

/* 日付：12px */
.p-news-detail__date {
    font-size: 1.2rem;
    color: #333;
}

/* ニュース詳細タイトル：PC 21px / SP 16px */
.p-news-detail__title {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .p-news-detail__title {
        font-size: 1.6rem;
    }
}

/* 本文：14px */
.p-news-detail__body {
    font-size: 1.4rem;
    line-height: 2.2;
}

.p-news-detail__body p {
    margin-bottom: 3rem;
}

/* サイドバー */
.p-news-detail__side {
    width: 32rem;
    flex-shrink: 0;
}

@media screen and (max-width: 960px) {
    .p-news-detail__side {
        width: 100%;
    }
}

.p-news-detail__sideTtl {
    font-size: 1.8rem;
    font-weight: 700;
    border-bottom: 1px solid #CCCCCC;
    padding-bottom: 1.5rem;
    margin-bottom: 2.5rem;
}

.p-news-detail__sideList {
    list-style: none;
    padding: 0;
}

.p-news-detail__sideLink {
    font-size: 1.4rem;
    color: #111;
    text-decoration: none;
    display: block;
    padding: 0.5rem 0;
    transition: color 0.3s;
}

.p-news-detail__sideLink:hover {
    color: #0ABAB5;
}

/* ニュース用タグ（青枠） */
.c-tag--blue {
    display: inline-block;
    color: #0ABAB5;
    border: 1px solid #0ABAB5;
    background-color: #fff;
    padding: 0.5rem 2rem;
    border-radius: 100px;
    font-size: 1.2rem;
    font-weight: 500;
}
