@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");

/*======================================
セッティング
======================================*/
.sp {
    display: none;
}

.tabOnly {
    display: none !important;
}

.pcNone {
    display: block !important;
}

@-webkit-keyframes zoom-fade {
    0% {
        /*transform: scale(1.05);*/
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        /*transform: scale(1);*/
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }
}

@keyframes zoom-fade {
    0% {
        /*transform: scale(1.05);*/
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    100% {
        /*transform: scale(1);*/
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }
}

html {
    scroll-behavior: smooth;
    height: -webkit-fill-available;
    font-size: 62.5%;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

body {
    width: 100%;
    font-size: clamp(1.4rem, 1.1111111111vw, 1.6rem);
    font-weight: 400;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    color: #262626;
    min-height: 100vh;
    min-height: -webkit-fill-available;
    background-color: #fff;
}

body.fixed {
    position: fixed;
}

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

a {
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

a:hover {
    opacity: 0.5;
}

p {
    line-height: 2.25;
    letter-spacing: 0.2em;
}

.preparation {
    text-align: center;
    font-size: clamp(3rem, 5.2631578947vw, 6rem);
    font-weight: 900;
}

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

.l-wrapper {
    overflow: hidden;
}

/*======================================
　共通ボタン
======================================*/
.c-btn {
    width: clamp(18rem, 17.5438596491vw, 20rem);
}

.c-btn a {
    display: block;
}

/*======================================
　アニメーション : fade
======================================*/
@-webkit-keyframes fadeUp {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

.fadeUp {
    -webkit-animation: fadeUp 0.5s ease;
    animation: fadeUp 0.5s ease;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.fade {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
}

.delay-1 {
    animation-delay: 0.2s;
    -moz-animation-delay: 0.2s;
    -webkit-animation-delay: 0.2s;
    -o-animation-delay: 0.2s;
}

.delay-2 {
    animation-delay: 0.35s;
    -moz-animation-delay: 0.35s;
    -webkit-animation-delay: 0.35s;
    -o-animation-delay: 0.35s;
}

.delay-3 {
    animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
    -webkit-animation-delay: 0.5s;
    -o-animation-delay: 0.5s;
}

.delay-4 {
    animation-delay: 0.65s;
    -moz-animation-delay: 0.65s;
    -webkit-animation-delay: 0.65s;
    -o-animation-delay: 0.65s;
}

.delay-5 {
    animation-delay: 0.8s;
    -moz-animation-delay: 0.8s;
    -webkit-animation-delay: 0.8s;
    -o-animation-delay: 0.8s;
}

/*======================================
　追従ボタン
======================================*/
.floatingBtn_pc {
    position: fixed;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 6.5rem;
    z-index: 10;
}

.floatingBtn_pc a {
    display: block;
}

.floatingBtn_sp {
    display: none;
}

/*======================================
フッター
======================================*/
footer {
    background-image: url(../img/footer_bg@2x.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 1;
}

footer .scrollTop {
    width: clamp(3rem, 4.5138888889vw, 6.5rem);
    position: absolute;
    top: 3.5rem;
    right: clamp(2rem, 8.3333333333vw, 12rem);
}

footer .l-inner {
    padding-top: 5rem;
}

footer .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 5rem;
}

/* logo */
footer .logo {
    width: 24rem;
    margin: 0 auto;
}

/* nav */
footer nav {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    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;
    gap: clamp(2rem, 3.8194444444vw, 5.5rem);
    margin-bottom: 2.5rem;
}

footer nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(2rem, 2.7777777778vw, 4rem);
}

footer nav ul a {
    font-size: clamp(1.4rem, 1.1111111111vw, 1.6rem);
    font-weight: bold;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    letter-spacing: 0.13em;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
}

footer .iconBox {
    display: grid;
    grid-template-columns: repeat(2, clamp(4.5rem, 3.8194444444vw, 5.5rem));
    gap: clamp(1.5rem, 1.7361111111vw, 2.5rem);
}

footer small {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: bold;
    color: #0084b3;
    line-height: 1;
    letter-spacing: 0.1em;
    background-color: #fff;
    padding-block: 2rem;
    margin-inline: calc(50% - 50vw);
    width: 100vw;
}

/*======================================
　ヘッダー
======================================*/
.l-wrapper>header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 2rem;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 0 clamp(2rem, 5.5555555556vw, 8rem) 0 clamp(2rem, 6.5972222222vw, 9.5rem);
    width: 100%;
    height: 13rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.l-wrapper>header h1 {
    width: clamp(10rem, 11.4583333333vw, 16.5rem);
    line-height: 1;
}

.l-wrapper>header .gnav {
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(2rem, 3.4722222222vw, 5rem);
    padding-top: 6.5rem;
}

.pageHeader {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: initial;
    padding: 2rem;
}

.pageHeader .gnav {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/*======================================
　nav
======================================*/
ul.gnav-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: clamp(2rem, 2.7777777778vw, 4rem);
}

ul.gnav-menu>li {
    font-weight: bold;
    white-space: nowrap;
    text-align: center;
    font-size: clamp(1.4rem, 1.1111111111vw, 1.6rem);
    line-height: 1;
    letter-spacing: 0.1em;
    position: relative;
}

ul.gnav-menu>li.current::before {
    content: "";
    background-color: #519aef;
    width: clamp(2rem, 2.0833333333vw, 3rem);
    height: auto;
    aspect-ratio: 30/25;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: clamp(-4rem, -2.7777777778vw, -3rem);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -1;
}

.pageHeader ul.gnav-menu>li {
    -webkit-writing-mode: initial;
    -ms-writing-mode: initial;
    writing-mode: initial;
}

ul.gnav-menu>li>a {
    display: block;
    position: relative;
    color: #262626;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: bold;
    line-height: 1;
}

header .gnav .iconBox {
    display: grid;
    grid-template-columns: repeat(2, clamp(2.5rem, 3.125vw, 4.5rem));
    gap: 2rem;
}

/*======================================
　hamburger
======================================*/
.gnav-sp {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: -1;
    opacity: 0;
    background-color: #e08c82;
}

.gnav-sp .wrap {
    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;
    height: 100%;
}

.gnav-sp .wrap .icon {
    display: block;
    width: 3rem;
    margin: 0 auto;
}

.gnav-sp-menu {
    margin-bottom: 5rem;
}

.gnav-sp-menu li {
    font-size: 1.8rem;
    text-align: center;
    font-weight: bold;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    line-height: 1.4;
}

.gnav-sp-menu li span {
    display: block;
    font-weight: normal;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    color: rgba(255, 255, 255, 0.4);
    font-size: 1.2rem;
}

.gnav-sp-menu li a {
    display: block;
    padding: 1.2rem 0;
    white-space: nowrap;
    color: #fff;
}

.gnav-sp-menu li .fa-brands {
    font-size: 3.5rem;
}

.gnav-sp .iconBox {
    display: grid;
    grid-template-columns: repeat(2, 4rem);
    gap: 2rem;
}

/* toggle */
.toggle-btn {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 6rem;
    height: 6rem;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100000;
    background-color: #e08c82;
}

.toggle-btn span {
    display: block;
    position: absolute;
    left: 2rem;
    width: 2rem;
    height: 0.2rem;
    background-color: #fff;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

.toggle-btn span:nth-child(1) {
    top: 1.9rem;
}

.toggle-btn span:nth-child(2) {
    top: 2.7rem;
}

.toggle-btn span:nth-child(3) {
    top: 3.5rem;
}

/* open */
.open .gnav-sp {
    top: 0;
    opacity: 1;
    z-index: 99999;
}

.open .toggle-btn span {
    background-color: #fff;
}

.open .toggle-btn span:nth-child(1) {
    -webkit-transform: translateY(0.8rem) rotate(-45deg);
    transform: translateY(0.8rem) rotate(-45deg);
}

.open .toggle-btn span:nth-child(2) {
    opacity: 0;
}

.open .toggle-btn span:nth-child(3) {
    -webkit-transform: translateY(-0.8rem) rotate(45deg);
    transform: translateY(-0.8rem) rotate(45deg);
}

/*======================================
　KV : 下層ページタイトル
======================================*/
.pageMv_inner {
    width: 100%;
    height: clamp(30rem, 34.7222222222vw, 50rem);
    background-image: url(../img/page_mv@2x.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    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;
    position: relative;
    z-index: 1;
}

.pageMv_inner::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.pageMv h1 {
    font-size: clamp(3rem, 3.6603221083vw, 5rem);
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    z-index: 3;
    margin-top: 8rem;
}

.parallax {
    height: clamp(20rem, 27.7777777778vw, 40rem);
    padding-bottom: 1.5rem;
    overflow: hidden;
}

.parallax::before {
    content: "";
    background-image: url(../img/parallax_photo@2x.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -10;
}

/*============================
	hero
============================*/
.top-kv {
    position: relative;
    z-index: 2;
    height: 100vh;
}

.top-kv .heading2 {
    width: clamp(30rem, 97.2222222222vw, 140rem);
    position: absolute;
    bottom: clamp(-11rem, -7.6388888889vw, -2rem);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2;
}

.top-kv-slider>* {
    height: 100vh;
}

.top-kv-slider>*:nth-of-type(1) {
    background: url(../img/mv_photo01@2x.jpg) no-repeat center/cover;
}

.top-kv-slider>*:nth-of-type(2) {
    background: url(../img/mv_photo02@2x.jpg) no-repeat center/cover;
}

.top-kv-slider>*:nth-of-type(3) {
    background: url(../img/mv_photo03@2x.jpg) no-repeat center/cover;
}

.scroll {
    font-size: 1.2rem;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 900;
    position: absolute;
    left: clamp(2rem, 4.5138888889vw, 6.5rem);
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
    color: #fff;
    letter-spacing: 0;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}

.scroll span {
    width: 0.1rem;
    height: 7.5rem;
    background: #fff;
    -webkit-animation: scroll infinite 1s;
    animation: scroll infinite 1s;
}

@-webkit-keyframes scroll {
    0% {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }

    100% {
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
}

@keyframes scroll {
    0% {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }

    100% {
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0);
        -webkit-transform-origin: bottom;
        transform-origin: bottom;
    }
}

/*======================================
　こだわりページ
======================================*/
.pageSub .about_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(8rem, 10.5263157895vw, 12rem);
}

.pageSub .about_item:not(:last-child) {
    margin-bottom: 10rem;
}

.pageSub .about h2 {
    font-size: clamp(2rem, 2.6315789474vw, 3rem);
    font-weight: 900;
    color: #519aef;
    padding-bottom: 2rem;
    margin-bottom: clamp(3rem, 4.3859649123vw, 5rem);
    position: relative;
    line-height: 1.3;
}

.pageSub .about h2::before {
    content: "";
    width: clamp(10rem, 26.3157894737vw, 30rem);
    height: 0.3rem;
    background-color: #519aef;
    position: absolute;
    bottom: -0.15rem;
    left: 0;
    z-index: 2;
}

.pageSub .about h2::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    background-color: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.pageSub .about_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(2rem, 4.3859649123vw, 5rem);
}

.pageSub .about_content .photo {
    width: clamp(30rem, 35.0877192982vw, 40rem);
}

.pageSub .about_content .detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.pageSub .about_content .read {
    color: #000;
    line-height: 2;
}

/*======================================
店舗情報
======================================*/
.pageSub .information_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(8rem, 10.5263157895vw, 12rem);
}

.pageSub .information h3 {
    font-size: clamp(2rem, 2.6315789474vw, 3rem);
    font-weight: 900;
    color: #519aef;
    padding-bottom: 2rem;
    margin-bottom: clamp(3rem, 4.3859649123vw, 5rem);
    position: relative;
    line-height: 1.3;
}

.pageSub .information h3::before {
    content: "";
    width: clamp(10rem, 26.3157894737vw, 30rem);
    height: 0.3rem;
    background-color: #519aef;
    position: absolute;
    bottom: -0.15rem;
    left: 0;
    z-index: 2;
}

.pageSub .information h3::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    background-color: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.pageSub .information_table {
    margin-bottom: 5rem;
}

.pageSub .information_table dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1.5rem;
}

.pageSub .information_table dl:not(:last-child) {
    border-bottom: solid 1px rgba(0, 0, 0, 0.2);
}

.pageSub .information_table dt,
.pageSub .information_table dd,
.pageSub .information_table a {
    line-height: 1.5;
    color: #000;
}

.pageSub .information_table dt {
    width: 30%;
    font-weight: bold;
}

.pageSub .information_table dd {
    width: 70%;
    font-weight: 400;
}

.pageSub .information_table a {
    text-decoration: underline;
}

.pageSub .information_table a[href^="tel:"] {
    text-decoration: none;
}

.pageSub .information_map {
    height: 50rem;
    margin-bottom: 10rem;
}

.pageSub .information_map iframe {
    width: 100%;
    height: 100%;
}

.pageSub .information_form {
    margin-bottom: clamp(5rem, 6.9444444444vw, 10rem);
}

.pageSub .information_form .CMS-FORM-GROUP>input,
.pageSub .information_form .CMS-FORM-GROUP>textarea {
    width: 100%;
    border: solid 0.1rem #bbb;
    border-radius: 0.4rem;
}

.pageSub .information_form .CMS-FORM-GROUP>input {
    height: 4rem;
}

.pageSub .information_form .CMS-FORM-GROUP>input[type=submit] {
    width: 30rem;
    text-align: center;
    background-color: #519aef;
    border: none;
    color: #fff;
    font-size: 1.8rem;
    height: 6rem;
}

.pageSub .information_form .CMS-FORM-GROUP>textarea {
    height: 10rem;
}

.pageSub .information_form .CMS-FORM-GROUP>label {
    display: block;
    font-weight: bold;
    margin-bottom: 1rem;
}

.pageSub .information_form .CMS-FORM-GROUP:not(:last-child) {
    margin-bottom: 3rem;
}

.pageSub .information_form .CMS-FORM-RADIO input {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0.5rem 0.3rem 0;
}

.pageSub .information_form .CMS-FORM-RADIO label {
    margin-right: 3rem;
}

.pageSub .information_form .CMS-FORM-GROUP:has(input[type=submit]) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 6rem;
}

.pageSub .information_form .CMS-FORM-GROUP:has(input[type=submit]) input {
    background-color: #e08c82;
}

.pageSub .information_privacy .read {
    line-height: 1.7;
    margin-bottom: 3rem;
}

.pageSub .information_privacy .privacyBox {
    height: clamp(30rem, 34.7222222222vw, 50rem);
    overflow: scroll;
    border: 0.2rem solid #000000;
    padding: 2rem;
    background-color: #fff;
}

.pageSub .information_privacy .privacyBox p {
    color: #000;
    line-height: 1.7;
}

.pageSub .information_privacy .privacyBox strong {
    display: block;
    font-size: clamp(1.8rem, 2.1929824561vw, 2.5rem);
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.pageSub .information_privacy .privacyBox ol {
    padding-left: 2rem;
}

.pageSub .information_privacy .privacyBox ol li {
    line-height: 1.7;
}

/*======================================
ギャラリー
======================================*/
.pageSub .galleryBox_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(8rem, 10.5263157895vw, 12rem);
}

.pageSub .galleryBox_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: clamp(1rem, 1.3888888889vw, 2rem);
}

.pageSub .galleryBox_item {
    list-style-type: none;
}

.pageSub .galleryBox_item img {
    width: clamp(8rem, 12.1527777778vw, 17.5rem);
    height: clamp(8rem, 12.1527777778vw, 17.5rem);
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}

/*======================================
商品一覧
======================================*/
.pageSub .menu_inner {
    padding-top: clamp(8rem, 10.1694915254vw, 12rem);
    padding-bottom: clamp(8rem, 10.1694915254vw, 12rem);
}

.pageSub .menu_category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: clamp(1rem, 1.7543859649vw, 2rem);
    margin-bottom: clamp(5rem, 8.7719298246vw, 10rem);
}

.pageSub .menu_category li {
    width: calc((100% - clamp(1rem, 1.7543859649vw, 2rem) * 2) / 2);
    list-style-type: none;
}

.pageSub .menu_category a {
    display: block;
    width: 100%;
    padding: clamp(2rem, 2.6315789474vw, 3rem);
    font-size: clamp(1.6rem, 1.7543859649vw, 2rem);
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: bold;
    color: #262626;
    text-align: center;
    background-color: #fff;
}

.pageSub .menu_category a.active {
    background-color: #519aef;
    color: #fff;
}

.pageSub .menu .menu_list:not(:last-child) {
    margin-bottom: 15rem;
}

.pageSub .menu .menu_list li {
    list-style-type: none;
}

.pageSub .menu .menu_list li:not(:has(.read)) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 3rem;
}

.pageSub .menu .menu_list li:has(.photo) {
    display: grid;
    grid-template-columns: clamp(10rem, 17.5438596491vw, 20rem) 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
}

.pageSub .menu .menu_list li.alineStart:has(.photo) {
    grid-template-columns: clamp(20rem, 30.701754386vw, 35rem) 1fr;
}

.pageSub .menu .menu_list li:has(.photo) .detailBox {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
}

.pageSub .menu .menu_list li:has(:not(.photo)) .detailBox {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: clamp(2rem, 7.0175438596vw, 8rem);
    width: 100%;
}

.pageSub .menu .menu_list li:has(.photo) .detailBox:has(.desc) .desc {
    grid-column: 1/3;
}

.pageSub .menu .menu_list li:has(.photo).alineStart {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.pageSub .menu .menu_list li:has(.photo).alineStart .detailBox {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.pageSub .menu .menu_list li:not(:has(h3)) {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: dashed 0.1rem #bbb;
}

.pageSub .menu .menu_list li.space {
    height: 3rem;
    border-bottom: none;
}

.pageSub .menu .menu_list h3 {
    font-size: 2.5rem;
    border-left: solid 0.5rem #e08c82;
    color: #e08c82;
    padding-left: 1rem;
    margin-bottom: 2rem;
}

.pageSub .menu .menu_list h4 {
    font-size: 1.6rem;
    color: #e08c82;
}

.pageSub .menu .menu_list .read {
    line-height: 1.5;
    margin-bottom: 3rem;
}

.pageSub .menu .menu_list .desc {
    line-height: 1.5;
    padding: 1rem 0;
}

.pageSub .menu .menu_list .desc p {
    font-size: clamp(1.3rem, 1.3157894737vw, 1.5rem);
}

.pageSub .menu .menu_list .desc strong {
    font-size: clamp(2rem, 2.1929824561vw, 2.5rem);
    font-weight: bold;
}

.pageSub .menu .menu_list .name {
    font-size: clamp(1.6rem, 2.1929824561vw, 2.5rem);
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-weight: bold;
    line-height: 1.5;
}

.pageSub .menu .menu_list .name strong {
    display: block;
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 2rem;
}

.pageSub .menu .menu_list .name small {
    display: block;
    font-size: clamp(1.2rem, 1.2280701754vw, 1.4rem);
    font-weight: 300;
    line-height: 1.5;
    margin-top: 1rem;
}

.pageSub .menu .menu_list .name small.fontSmall {
    font-size: 0.9em;
}

.pageSub .menu .menu_list .name small.list {
    font-size: 0.8em;
    line-height: 1.5;
    margin-top: 1rem;
}

.pageSub .menu .menu_list .price {
    font-size: clamp(2rem, 2.1929824561vw, 2.5rem);
    font-weight: bold;
    width: auto;
    line-height: 1.5;
}

.pageSub .menu .menu_list .price small {
    display: block;
    font-size: 0.7em;
}

.pageSub .menu .menu_list .photo img {
    width: 100%;
}

/*======================================
お知らせ
======================================*/
.pageSub .articleBox_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(15rem, 17.5438596491vw, 20rem);
}

.pageSub .articleBox .CMS-NEWS-INDEX {
    max-width: 110rem;
    gap: 2.5rem;
    padding: 0;
}

.pageSub .articleBox .CMS-NEWS-ITEM {
    width: calc((100% - 5rem) / 3);
    margin: 0;
}

.pageSub .articleBox .CMS-NEWS-THUMBNAIL {
    height: 20rem;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    margin-bottom: 3rem;
    overflow: hidden;
}

.pageSub .articleBox .CMS-NEWS-ITEM a {
    padding: 0;
}

.pageSub .articleBox .CMS-NEWS-TIME {
    font-size: 1.4rem;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 500;
    color: #000;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 1rem;
}

.pageSub .articleBox .CMS-NEWS-LINK {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    color: #000;
}

.pageSub .articleBox .CMS-NEWS-MORE-READ {
    display: block;
    bottom: -10rem;
    background-color: #e08c82;
}

/*======================================
お知らせ詳細
======================================*/
.pageSub .newsDetail_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(8rem, 10.5263157895vw, 12rem);
}

.pageSub .newsDetail .CMS-NEWS-TITLE {
    border-bottom: solid 1px #ccc;
    color: #519aef;
}

.pageSub .newsDetail .CMS-NEWS-TITLE:after {
    border-bottom: solid 3px #519aef;
}

.pageSub .newsDetail .CMS-NEWS-CONTENT {
    line-height: 1.7;
    color: #000;
}

/*======================================
　こだわりページ
======================================*/
.pageSub .recruit_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(8rem, 10.5263157895vw, 12rem);
}

.pageSub .recruit_item:not(:last-child) {
    margin-bottom: 10rem;
}

.pageSub .recruit .heading2 {
    text-align: center;
    font-size: clamp(2rem, 2.6315789474vw, 3rem);
    line-height: 1.5;
}

.pageSub .recruit_item h3 {
    font-size: clamp(2rem, 2.6315789474vw, 3rem);
    font-weight: 900;
    color: #519aef;
    padding-bottom: 2rem;
    margin-bottom: clamp(3rem, 4.3859649123vw, 5rem);
    position: relative;
    line-height: 1.3;
}

.pageSub .recruit_item h3::before {
    content: "";
    width: clamp(10rem, 26.3157894737vw, 30rem);
    height: 0.3rem;
    background-color: #519aef;
    position: absolute;
    bottom: -0.15rem;
    left: 0;
    z-index: 2;
}

.pageSub .recruit_item h3::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    background-color: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.pageSub .recruit_item p.title {
    font-size: clamp(1.8rem, 1.7543859649vw, 2rem);
    font-weight: bold;
    margin-bottom: 3rem;
    color: #e08c82;
}

.pageSub .recruit_item dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1.5rem;
}

.pageSub .recruit_item dl:not(:last-child) {
    border-bottom: solid 1px rgba(0, 0, 0, 0.2);
}

.pageSub .recruit_item dt,
.pageSub .recruit_item dd,
.pageSub .recruit_item a {
    line-height: 1.5;
    color: #000;
}

.pageSub .recruit_item dt {
    width: 30%;
    font-weight: bold;
}

.pageSub .recruit_item dd {
    width: 70%;
    font-weight: 400;
}

.pageSub .recruit_item a {
    text-decoration: underline;
}

.pageSub .recruit_item a[href^="tel:"] {
    text-decoration: none;
}

.pageSub .recruit_form {
    margin-bottom: clamp(5rem, 6.9444444444vw, 10rem);
}

.pageSub .recruit_form h3 {
    font-size: clamp(2rem, 2.6315789474vw, 3rem);
    font-weight: 900;
    color: #519aef;
    padding-bottom: 2rem;
    margin-bottom: clamp(3rem, 4.3859649123vw, 5rem);
    position: relative;
    line-height: 1.3;
}

.pageSub .recruit_form h3::before {
    content: "";
    width: clamp(10rem, 26.3157894737vw, 30rem);
    height: 0.3rem;
    background-color: #519aef;
    position: absolute;
    bottom: -0.15rem;
    left: 0;
    z-index: 2;
}

.pageSub .recruit_form h3::after {
    content: "";
    width: 100%;
    height: 0.1rem;
    background-color: #ccc;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.pageSub .recruit_form .CMS-FORM-GROUP>input,
.pageSub .recruit_form .CMS-FORM-GROUP>select,
.pageSub .recruit_form .CMS-FORM-GROUP>textarea {
    width: 100%;
    border: solid 0.1rem #bbb;
    border-radius: 0.4rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP>input,
.pageSub .recruit_form .CMS-FORM-GROUP>select {
    height: 4rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP>input[type=submit] {
    width: 30rem;
    text-align: center;
    background-color: #519aef;
    border: none;
    color: #fff;
    font-size: 1.8rem;
    height: 6rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP>textarea {
    height: 10rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP>label {
    display: block;
    font-weight: bold;
    margin-bottom: 1rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP:not(:last-child) {
    margin-bottom: 3rem;
}

.pageSub .recruit_form .CMS-FORM-RADIO input {
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 0.5rem 0.3rem 0;
}

.pageSub .recruit_form .CMS-FORM-RADIO label {
    margin-right: 3rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP:has(input[type=submit]) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 6rem;
}

.pageSub .recruit_form .CMS-FORM-GROUP:has(input[type=submit]) input {
    background-color: #e08c82;
}

.pageSub .recruit_privacy .read {
    line-height: 1.7;
    margin-bottom: 3rem;
}

.pageSub .recruit_privacy .privacyBox {
    height: clamp(30rem, 34.7222222222vw, 50rem);
    overflow: scroll;
    border: 0.2rem solid #000000;
    padding: 2rem;
}

.pageSub .recruit_privacy .privacyBox p {
    line-height: 1.7;
}

.pageSub .recruit_privacy .privacyBox strong {
    display: block;
    font-size: clamp(1.8rem, 2.1929824561vw, 2.5rem);
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.pageSub .recruit_privacy .privacyBox ol {
    padding-left: 2rem;
}

.pageSub .recruit_privacy .privacyBox ol li {
    line-height: 1.7;
}

/*======================================
　こだわりページ
======================================*/
.pageSub .store_inner {
    padding-top: clamp(8rem, 10.5263157895vw, 12rem);
    padding-bottom: clamp(8rem, 10.5263157895vw, 12rem);
}

.pageSub .store_listItem:not(:last-child) {
    padding-bottom: 6rem;
    margin-bottom: 6rem;
    border-bottom: dotted clamp(0.3rem, 0.5263157895vw, 0.6rem) #519aef;
}

.pageSub .store_listItem .innerBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(2rem, 5.2631578947vw, 6rem);
    margin-bottom: 2rem;
}

.pageSub .store_listItem .photoBox {
    width: clamp(30rem, 32.8947368421vw, 37.5rem);
}

.pageSub .store_listItem .detailBox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.pageSub .store_listItem dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2rem 0;
    border-bottom: solid 0.1rem #0084b3;
}

.pageSub .store_listItem dl:first-child {
    padding-top: 0;
}

.pageSub .store_listItem dt,
.pageSub .store_listItem dd,
.pageSub .store_listItem a {
    font-size: clamp(1.4rem, 1.4035087719vw, 1.6rem);
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 400;
    color: #262626;
    letter-spacing: 0.05em;
    line-height: 1.625;
}

.pageSub .store_listItem dt {
    width: clamp(10rem, 11.8421052632vw, 13.5rem);
    font-weight: bold;
    padding-left: 1.5rem;
}

.pageSub .store_listItem dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.pageSub .store_listItem .gmap {
    height: clamp(25rem, 35.0877192982vw, 40rem);
}

.pageSub .store_listItem .gmap iframe {
    width: 100%;
    height: 100%;
}

.pageSub .thanks_inner {
    padding: clamp(5rem, 10.5263157895vw, 12rem) 2rem;
    max-width: 102rem;
    margin: 0 auto;
}

.pageSub .thanks h2 {
    text-align: center;
    font-size: clamp(2rem, 2.6315789474vw, 3rem);
    margin-bottom: 3rem;
}

.pageSub .thanks .read {
    text-align: center;
    font-weight: 300;
    margin-bottom: 6rem;
    letter-spacing: 0;
}

.pageSub .thanks .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.pageSub .thanks .btn a {
    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;
    background-color: #519aef;
    color: #fff;
    width: clamp(25rem, 26.3157894737vw, 30rem);
    height: clamp(5rem, 5.2631578947vw, 6rem);
    font-size: clamp(1.8rem, 1.7543859649vw, 2rem);
}

/*======================================
TOPページ
======================================*/
.pageTop .topNews {
    background-image: url(../img/news_bg@2x.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom center;
    position: relative;
    z-index: 1;
}

.pageTop .topNews::before {
    content: "";
    background-image: url(../img/policy_bt_top@2x.png);
    background-repeat: repeat-x;
    background-size: cover;
    background-position: left top;
    width: 100%;
    height: clamp(5rem, 13.8888888889vw, 20rem);
    aspect-ratio: 1440/200;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.pageTop .topNews_inner {
    padding-top: clamp(12rem, 14.4736842105vw, 16.5rem);
    padding-bottom: 17rem;
}

.pageTop .topNews_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: clamp(2rem, 11.4035087719vw, 13rem);
    margin-bottom: clamp(5rem, 5.2631578947vw, 6rem);
}

.pageTop .topNews .heading2 {
    width: 14rem;
    margin-top: 4.5rem;
}

.pageTop .topNews .detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.pageTop .topNews .CMS-NEWS-INDEX {
    max-width: 100%;
    gap: 2.5rem;
    padding: 0;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.pageTop .topNews .CMS-NEWS-ITEM {
    width: calc((100% - 2.5rem) / 3);
    margin: 0;
}

.pageTop .topNews .CMS-NEWS-THUMBNAIL {
    height: 15rem;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    margin-bottom: 2rem;
    overflow: hidden;
}

.pageTop .topNews .CMS-NEWS-ITEM a {
    padding: 0;
}

.pageTop .topNews .CMS-NEWS-TIME {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 0 0.5rem;
}

.pageTop .topNews .CMS-NEWS-LINK {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    color: #fff;
}

.pageTop .topNews .CMS-NEWS-MORE-READ {
    display: none;
}

.pageTop .topNews .c-btn {
    margin-left: auto;
    margin-right: clamp(0rem, 11.4035087719vw, 13rem);
}

.pageTop .topPolicy {
    position: relative;
    z-index: 2;
}

.pageTop .topPolicy::before {
    content: "";
    background-image: url(../img/policy_decora01@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(12rem, 21.0526315789vw, 24rem);
    height: auto;
    aspect-ratio: 240/250;
    position: absolute;
    top: clamp(-20rem, -17.5438596491vw, -5rem);
    left: -5rem;
    z-index: -1;
}

.pageTop .topPolicy::after {
    content: "";
    background-image: url(../img/policy_decora02@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(14rem, 29.8245614035vw, 34rem);
    height: auto;
    aspect-ratio: 340/220;
    position: absolute;
    top: clamp(2rem, 4.3859649123vw, 5rem);
    right: -6rem;
    z-index: -1;
}

.pageTop .topPolicy .heading2 {
    width: 22rem;
    margin-bottom: 3rem;
    margin-left: clamp(0rem, 6.1403508772vw, 7rem);
}

.pageTop .topPolicy_listItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.pageTop .topPolicy_listItem:nth-child(1) {
    gap: clamp(2rem, 4.8245614035vw, 5.5rem);
}

.pageTop .topPolicy_listItem:nth-child(1) .detailBox {
    padding-top: 1rem;
}

.pageTop .topPolicy_listItem:nth-child(1) h3 {
    width: clamp(19rem, 34.2105263158vw, 39rem);
    margin-left: -1.5rem;
}

.pageTop .topPolicy_listItem:nth-child(2) {
    gap: clamp(2rem, 10.9649122807vw, 12.5rem);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin-top: -3rem;
}

.pageTop .topPolicy_listItem:nth-child(2) .detailBox {
    padding-top: clamp(3rem, 10.5263157895vw, 12rem);
}

.pageTop .topPolicy_listItem:nth-child(2) h3 {
    width: clamp(21rem, 44.7368421053vw, 51rem);
    margin-left: -1.5rem;
}

.pageTop .topPolicy_listItem .detailBox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.pageTop .topPolicy_listItem h4 {
    font-size: clamp(1.6rem, 2.2807017544vw, 2.6rem);
    line-height: 1.6923076923;
    letter-spacing: 0.2em;
    margin-top: -1.8rem;
    margin-bottom: clamp(2rem, 3.9473684211vw, 4.5rem);
}

.pageTop .topPolicy_listItem h4 strong {
    font-size: clamp(2.5rem, 3.0701754386vw, 3.5rem);
    font-weight: bold;
    line-height: 1.2571428571;
}

.pageTop .topPolicy_listItem .photoBox {
    width: clamp(30rem, 47.3684210526vw, 54rem);
}

.pageTop .topPolicy .decoraPhoto {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.pageTop .topPolicy .decoraPhoto .photo01 {
    width: clamp(20rem, 74.1228070175vw, 84.5rem);
    margin-left: clamp(-32.5rem, -28.5087719298vw, 0rem);
}

.pageTop .topPolicy .decoraPhoto .photo02 {
    width: clamp(15rem, 64.0350877193vw, 73rem);
    margin-top: clamp(4rem, 6.5789473684vw, 7.5rem);
    margin-right: clamp(-7rem, -6.1403508772vw, 0rem);
    margin-left: clamp(-8.5rem, -7.4561403509vw, 0rem);
}

.pageTop .secPhoto {
    position: relative;
    z-index: 1;
    margin-top: clamp(-15rem, -13.1578947368vw, 0rem);
}

.pageTop .secPhoto::before {
    content: "";
    background-image: url(../img/policy_bg_bottom@2x.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1440/200;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.pageTop .secPhoto::after {
    content: "";
    background-image: url(../img/menu_bg_top@2x.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1440/200;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.pageTop .topMenu {
    background-image: url(../img/menu_bg@2x.jpg);
    background-repeat: repeat-y;
    background-size: 100%;
    background-position: center;
    position: relative;
    z-index: 1;
}

.pageTop .topMenu::before {
    content: "";
    background-image: url(../img/menu_decora01@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(14rem, 29.8245614035vw, 34rem);
    height: auto;
    aspect-ratio: 340/370;
    position: absolute;
    top: -2rem;
    right: -11rem;
    z-index: -1;
}

.pageTop .topMenu::after {
    content: "";
    background-image: url(../img/menu_decora02@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(14rem, 29.8245614035vw, 34rem);
    height: auto;
    aspect-ratio: 340/370;
    position: absolute;
    top: clamp(2.9rem, 42.9824561404vw, 49rem);
    left: -13rem;
    z-index: -1;
}

.pageTop .topMenu_inner {
    padding-bottom: clamp(12rem, 14.9122807018vw, 17rem);
    position: relative;
    z-index: 2;
}

.pageTop .topMenu .heading2 {
    width: 14rem;
    margin-left: auto;
    margin-right: clamp(0rem, 16.6666666667vw, 19rem);
}

.pageTop .topMenu_list {
    margin-top: -2.5rem;
    margin-bottom: clamp(8rem, 11.4035087719vw, 13rem);
}

.pageTop .topMenu_listItem {
    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;
}

.pageTop .topMenu_listItem:nth-child(1) {
    gap: clamp(2rem, 8.3333333333vw, 9.5rem);
    margin-bottom: 6rem;
    padding-left: clamp(0rem, 2.6315789474vw, 3rem);
    padding-right: clamp(0rem, 2.6315789474vw, 3rem);
}

.pageTop .topMenu_listItem:nth-child(1) .detailBox {
    padding-top: clamp(5rem, 14.4736842105vw, 16.5rem);
}

.pageTop .topMenu_listItem:nth-child(1) .photoBox {
    width: clamp(30rem, 50.4385964912vw, 57.5rem);
}

.pageTop .topMenu_listItem:nth-child(2) {
    gap: clamp(2rem, 7.0175438596vw, 8rem);
    margin-bottom: 3.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: clamp(0rem, 7.0175438596vw, 8rem);
}

.pageTop .topMenu_listItem:nth-child(3) {
    gap: clamp(2rem, 8.7719298246vw, 10rem);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: clamp(0rem, 2.6315789474vw, 3rem);
    padding-right: clamp(0rem, 2.6315789474vw, 3rem);
}

.pageTop .topMenu_listItem:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.pageTop .topMenu_listItem .detailBox {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.pageTop .topMenu_listItem .detailBox .infoBox {
    margin-bottom: 3rem;
}

.pageTop .topMenu_listItem .detailBox h3 {
    display: inline-block;
    font-size: clamp(2rem, 3.0701754386vw, 3.5rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.2em;
    color: #fff;
    border-bottom: solid 0.1rem #fff;
    padding-bottom: 1.5rem;
    padding-right: 1.5rem;
    margin-bottom: 1.5rem;
    white-space: nowrap;
}

.pageTop .topMenu_listItem .detailBox .price {
    font-size: clamp(1.4rem, 1.5789473684vw, 1.8rem);
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

.pageTop .topMenu_listItem .detailBox .read {
    color: #fff;
    margin-bottom: clamp(4rem, 6.1403508772vw, 7rem);
}

.pageTop .topMenu_listItem .photoBox {
    width: clamp(30rem, 49.5614035088vw, 56.5rem);
    position: relative;
    z-index: 1;
}

.pageTop .topAccess {
    background-color: #f9f5e9;
    position: relative;
    z-index: 1;
}

.pageTop .topAccess::before {
    content: "";
    background-image: url(../img/access_bg_top@2x.png);
    background-repeat: repeat-x;
    background-size: contain;
    background-position: left top;
    width: 100%;
    height: clamp(10rem, 13.8888888889vw, 20rem);
    aspect-ratio: 1440/200;
    position: absolute;
    top: clamp(-20rem, -13.8888888889vw, -5rem);
    left: 0;
    z-index: 1;
}

.pageTop .topAccess::after {
    content: "";
    background-image: url(../img/access_decora01@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: clamp(17rem, 32.4561403509vw, 37rem);
    height: auto;
    aspect-ratio: 370/420;
    position: absolute;
    top: clamp(-48rem, -42.1052631579vw, -10rem);
    right: -12rem;
    z-index: 2;
}

.pageTop .topAccess_inner {
    padding-top: 5.5rem;
    padding-bottom: clamp(22rem, 28.0701754386vw, 32rem);
}

.pageTop .topAccess_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 2rem;
    padding-left: clamp(0rem, 11.4035087719vw, 13rem);
    margin-bottom: clamp(8rem, 14.0350877193vw, 16rem);
}

.pageTop .topAccess_head .heading2 {
    width: 19rem;
}

.pageTop .topAccess_head .read {
    max-width: 52rem;
}

.pageTop .topAccess_listItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: clamp(2rem, 5.2631578947vw, 6rem);
    padding-left: 3.5rem;
}

.pageTop .topAccess_listItem:not(:last-child) {
    border-bottom: dotted clamp(0.2rem, 0.5263157895vw, 0.6rem) #0084b3;
    margin-bottom: 7rem;
    padding-bottom: 7rem;
}

.pageTop .topAccess_listItem .photo {
    width: clamp(30rem, 39.0350877193vw, 44.5rem);
}

.pageTop .topAccess_listItem .detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    z-index: 1;
    padding-top: 5rem;
}

.pageTop .topAccess_listItem .detail .inner {
    margin-bottom: 2.5rem;
}

.pageTop .topAccess_listItem .detail dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 2rem 0;
    border-bottom: solid 0.1rem #0084b3;
}

.pageTop .topAccess_listItem .detail dl:first-child {
    padding-top: 0;
}

.pageTop .topAccess_listItem .detail dt,
.pageTop .topAccess_listItem .detail dd,
.pageTop .topAccess_listItem .detail a {
    font-size: clamp(1.4rem, 1.4035087719vw, 1.6rem);
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
    font-weight: 400;
    color: #262626;
    letter-spacing: 0.05em;
    line-height: 1.625;
}

.pageTop .topAccess_listItem .detail dt {
    width: clamp(10rem, 11.8421052632vw, 13.5rem);
    font-weight: bold;
    padding-left: 1.5rem;
}

.pageTop .topAccess_listItem .detail dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.pageTop .topAccess_listItem .detail .c-btn {
    margin-left: auto;
}

.pageTop .topRecruit {
    position: relative;
    z-index: 1;
    margin-top: clamp(-20rem, -13.8888888889vw, -5rem);
}

.pageTop .topRecruit::before {
    content: "";
    background-image: url(../img/recruit_bg_top@2x.png);
    background-repeat: repeat-x;
    background-size: contain;
    background-position: left top;
    width: 100%;
    height: clamp(10rem, 13.8888888889vw, 20rem);
    aspect-ratio: 1440/200;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.pageTop .topRecruit::after {
    content: "";
    background-image: url(../img/recruit_bg_decora@2x.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: top center;
    width: 100%;
    height: auto;
    aspect-ratio: 1440/500;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.pageTop .topRecruit_inner {
    padding-top: 10rem;
    padding-bottom: clamp(15rem, 28.5087719298vw, 32.5rem);
    position: relative;
    z-index: 2;
}

.pageTop .topRecruit .heading2 {
    width: 20rem;
    margin-left: auto;
    margin-right: clamp(0rem, 8.7719298246vw, 10rem);
    margin-bottom: 5rem;
}

.pageTop .topRecruit_content {
    max-width: 52rem;
    margin-left: clamp(0rem, 21.0526315789vw, 24rem);
}

.pageTop .topRecruit_content h3 {
    font-size: clamp(1.6rem, 2.2807017544vw, 2.6rem);
    font-weight: 400;
    line-height: 1.6923076923;
    letter-spacing: 0.2em;
    margin-bottom: 3rem;
}

.pageTop .topRecruit_content h3 strong {
    font-size: clamp(2.5rem, 3.0701754386vw, 3.5rem);
    font-weight: bold;
    line-height: 1.2571428571;
}

.pageTop .topRecruit_content .read {
    margin-bottom: 4rem;
}

.pageTop .topRecruit_content .c-btn {
    margin-left: auto;
}

@media (min-width: 767px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

@media screen and (min-width: 768px) {
    .pcNone {
        display: none !important;
    }
}

@media (min-width: 821px) and (max-width: 1023px) {
    .tabOnly {
        display: block !important;
    }
}

@media screen and (max-width: 900px) {
    ul.gnav-menu>li {
        font-size: 1.2rem;
    }

    ul.gnav-menu>li:not(:last-child)::after {
        height: 1rem;
    }
}

@media screen and (max-width: 820px) {
    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    .l-wrapper>header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding: 0;
        height: 6rem;
    }

    .l-wrapper>header h1 {
        width: 8rem;
    }

    .l-wrapper>header::after {
        background-position: top center;
    }

    .pageHeader {
        padding: 0;
        height: 6rem;
    }

    .pageHeader h1 {
        margin-top: 0;
    }
}

@media screen and (max-width: 767px) {
    .spNone {
        display: none !important;
    }

    body {
        font-size: 15px;
    }

    .floatingBtn_pc {
        display: none;
    }

    .floatingBtn_sp {
        width: 100%;
        height: 6rem;
        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;
        background-color: #262626;
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 10;
    }

    .floatingBtn_sp a {
        display: block;
        width: 100%;
        text-align: center;
    }

    .floatingBtn_sp a img {
        max-width: 37.5rem;
    }

    footer .l-inner {
        padding-top: 8rem;
        padding-bottom: 6rem;
    }

    footer .scrollTop {
        width: 5rem;
        top: 1rem;
        right: 1rem;
    }

    footer .wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0;
    }

    footer .logo {
        width: 25rem;
        padding-top: 0;
    }

    /* nav */
    footer nav {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 3rem;
    }

    footer nav ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 3rem;
    }

    footer nav ul li {
        text-align: center;
    }

    footer nav ul li:not(:last-child) {
        padding-right: 0;
        border: none;
    }

    footer nav ul li:not(:last-child)::after {
        display: none;
    }

    footer nav ul li a {
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
        font-size: 1.6rem;
    }

    footer small {
        font-size: 1.2rem;
    }

    .top-kv {
        height: 40vh;
    }

    .top-kv-slider>* {
        height: 40vh;
    }

    .scroll span {
        height: 4rem;
    }

    .pageSub .about_content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .pageSub .about_content .photo {
        width: 100%;
    }

    .pageSub .information_table dl {
        padding: 1.5rem 1rem;
        gap: 1rem;
    }

    .pageSub .information_table dt {
        width: 100%;
    }

    .pageSub .information_table dd {
        width: 100%;
    }

    .pageSub .information_table a[href^="tel:"] {
        text-decoration: underline;
    }

    .pageSub .information_map {
        height: 25rem;
    }

    .pageSub .galleryBox_item img {
        width: clamp(10rem, 19.556714472vw, 15rem);
        height: clamp(10rem, 19.556714472vw, 15rem);
    }

    .pageSub .menu_category {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .pageSub .menu_category a {
        padding: 1.5rem 1rem;
    }

    .pageSub .menu .menu_list li:has(.photo) {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .pageSub .menu .menu_list li.alineStart:has(.photo) {
        grid-template-columns: auto;
    }

    .pageSub .menu .menu_list li:has(.photo) .detailBox {
        grid-template-columns: auto;
    }

    .pageSub .menu .menu_list li:has(:not(.photo)) .detailBox {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }

    .pageSub .menu .menu_list li:has(.photo) .detailBox:has(.desc) .desc {
        grid-column: initial;
    }

    .pageSub .articleBox .CMS-NEWS-INDEX {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 3rem;
    }

    .pageSub .articleBox .CMS-NEWS-ITEM {
        width: 100%;
    }

    .pageSub .articleBox .CMS-NEWS-THUMBNAIL {
        margin-bottom: 1rem;
    }

    .pageSub .recruit_item dl {
        padding: 1.5rem 1rem;
        gap: 1rem;
    }

    .pageSub .recruit_item dt {
        width: 100%;
    }

    .pageSub .recruit_item dd {
        width: 100%;
    }

    .pageSub .recruit_item a[href^="tel:"] {
        text-decoration: underline;
    }

    .pageSub .store_listItem .innerBox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2rem;
        margin-bottom: 4rem;
    }

    .pageSub .store_listItem .photoBox {
        width: 100%;
    }

    .pageSub .store_listItem .detailBox {
        width: 100%;
    }

    .pageSub .store_listItem dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .pageSub .store_listItem dl:first-child {
        padding-top: 2.5rem;
    }

    .pageSub .store_listItem dt,
    .pageSub .store_listItem dd,
    .pageSub .store_listItem a {
        line-height: 1.7;
    }

    .pageSub .store_listItem dt {
        width: 100%;
        padding-left: 0;
    }

    .pageSub .store_listItem a {
        text-decoration: underline;
    }

    .pageSub .thanks .read {
        line-height: 1.7;
    }

    .pageTop .topNews_inner {
        padding-top: 8rem;
    }

    .pageTop .topNews_content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .pageTop .topNews .detail {
        width: 100%;
    }

    .pageTop .topNews .CMS-NEWS-INDEX {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 3rem;
    }

    .pageTop .topNews .CMS-NEWS-ITEM {
        width: 100%;
    }

    .pageTop .topNews .CMS-NEWS-THUMBNAIL {
        margin-bottom: 1rem;
    }

    .pageTop .topNews .c-btn {
        margin: 0 auto;
    }

    .pageTop .topPolicy::before {
        top: -10rem;
        left: -2rem;
    }

    .pageTop .topPolicy::after {
        right: -2rem;
    }

    .pageTop .topPolicy_inner {
        padding-top: 8rem;
        padding-bottom: 4rem;
    }

    .pageTop .topPolicy .heading2 {
        width: 20rem;
        margin-left: 0;
    }

    .pageTop .topPolicy_listItem {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .pageTop .topPolicy_listItem:nth-child(1) {
        margin-bottom: 5rem;
    }

    .pageTop .topPolicy_listItem:nth-child(2) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-top: 0;
    }

    .pageTop .topPolicy_listItem:nth-child(2) .detailBox {
        padding-top: 0;
    }

    .pageTop .topPolicy_listItem h4 {
        font-size: 2.2rem;
    }

    .pageTop .topPolicy_listItem h4 strong {
        font-size: 3rem;
    }

    .pageTop .topPolicy_listItem .photoBox {
        width: 100%;
    }

    .pageTop .topPolicy .decoraPhoto {
        margin-top: 5rem;
    }

    .pageTop .topMenu::before {
        right: -5rem;
    }

    .pageTop .topMenu::after {
        left: -5rem;
    }

    .pageTop .topMenu_inner {
        padding-top: 5rem;
    }

    .pageTop .topMenu .heading2 {
        margin-left: initial;
        margin-right: 0;
        margin-bottom: 5rem;
    }

    .pageTop .topMenu_list {
        margin-top: 0;
    }

    .pageTop .topMenu_listItem {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .pageTop .topMenu_listItem:nth-child(1) {
        margin-bottom: 10rem;
        padding-left: 0;
        padding-right: 0;
    }

    .pageTop .topMenu_listItem:nth-child(1) .detailBox {
        padding-top: 0;
    }

    .pageTop .topMenu_listItem:nth-child(1) .photoBox {
        width: 100%;
    }

    .pageTop .topMenu_listItem:nth-child(2) {
        margin-bottom: 10rem;
        padding-left: 0;
    }

    .pageTop .topMenu_listItem:nth-child(3) {
        padding-left: 0;
        padding-right: 0;
    }

    .pageTop .topMenu_listItem:nth-child(even) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .pageTop .topMenu_listItem .detailBox .c-btn {
        margin: 0 auto;
    }

    .pageTop .topMenu_listItem .photoBox {
        width: 100%;
    }

    .pageTop .topAccess::after {
        right: -5rem;
    }

    .pageTop .topAccess_inner {
        padding-bottom: 15rem;
    }

    .pageTop .topAccess_head {
        padding-left: 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        margin-bottom: 5rem;
    }

    .pageTop .topAccess_listItem {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-left: 0;
    }

    .pageTop .topAccess_listItem:not(:last-child) {
        padding-bottom: 0;
        margin-bottom: 10rem;
        border-bottom: none;
    }

    .pageTop .topAccess_listItem .photo {
        width: 100%;
        margin-left: 0;
    }

    .pageTop .topAccess_listItem .detail {
        width: 100%;
        padding-top: 0;
    }

    .pageTop .topAccess_listItem .detail .inner {
        margin-bottom: 5rem;
    }

    .pageTop .topAccess_listItem .detail dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .pageTop .topAccess_listItem .detail dl:first-child {
        padding-top: 2.5rem;
    }

    .pageTop .topAccess_listItem .detail dt,
    .pageTop .topAccess_listItem .detail dd,
    .pageTop .topAccess_listItem .detail a {
        line-height: 1.7;
    }

    .pageTop .topAccess_listItem .detail dt {
        width: 100%;
        padding-left: 0;
    }

    .pageTop .topAccess_listItem .detail a {
        text-decoration: underline;
    }

    .pageTop .topAccess_listItem .detail .c-btn {
        margin: 0 auto;
    }

    .pageTop .topRecruit .heading2 {
        margin-right: 0;
        margin-left: initial;
    }

    .pageTop .topRecruit_content {
        margin-left: 0;
    }

    .pageTop .topRecruit_content .c-btn {
        margin: 0 auto;
    }
}