@charset "UTF-8";
.main-container {
    /* font */
    --lp-f-mincho: "Zen Old Mincho", serif;
    --lp-f-gothic: "Yu Gothic", "YuGothic", "Zen Kaku Gothic New", sans-serif;
    --lp-f-en: "Bodoni Moda", serif;
    --lp-f-shippori: "Shippori Mincho B1", serif;

    /* color */
    --lp-c-black: #222;
    --lp-c-white: #fff;
    --lp-c-accent: #df740b;
    --lp-c-accent-sub: #cd9c4a;
    --lp-c-koji: #d07b17;
    --lp-c-kyoen: #799905;
    --lp-c-takumi-koji: #463861;
    --lp-c-takumi-shiro: #964e37;

    --lp-sec-bg: rgba(221, 196, 142, 0.2); /* #ddc48e */
    --lp-sec-bg-02: rgba(183, 144, 81, 0.2); /* #b79051 */
    --lp-shadow-006: rgba(0, 0, 0, 0.06) 0 0 calc(10 / var(--lp-font) * 1em);
    --lp-font: 16;
    --lp-transition: all .3s ease;
    --hover-animation-A: scale(1.1);
    --hover-animation-B: translateX(calc(4 / var(--lp-font) * 1em));
    --hover-animation-E: 0.6;
}

/* ==========================================================================
COMMON
========================================================================== */
.main-container {
    color: var(--lp-c-black);
    font-size: 16px;
    overflow: hidden;
}
@media all and (min-width: 768px), print {
    .main-container {
        background: url("../img/common/bg_paper.png") repeat-y top center / calc(2560 / var(--lp-font) * 1em);
        max-width: calc(2560 / var(--lp-font) * 1em);
        margin: auto;
    }
    .gfooter__inner {
        margin-top: 0;
    }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
    /* 14px */
    .main-container {
        font-size: 14px;
    }
}
@media all and (max-width: 767px) {
    body {
        background: url("../img/common/bg_paper_sp.png") repeat-y top center / 100vw;
        margin: auto;
    }
    .mc-breadcrumb {
        margin-top: -70px;
    }
}
/* --------------------------------------------------------------------------
非表示
-------------------------------------------------------------------------- */
/* PC、タブレットで非表示 */
@media all and (min-width: 768px), print {
    .u-hide-pc {
        display: none;
    }
}
/* SPで非表示 */
@media all and (max-width: 767px) {
    .u-hide-sp {
        display: none;
    }
}
/* --------------------------------------------------------------------------
縦書き
-------------------------------------------------------------------------- */
.u-vertical {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.u-horizontal {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}
.u-mincho {
    font-family: var(--lp-f-mincho) !important;
}
.u-gothic {
    font-family: var(--lp-f-gothic) !important;
}
.u-en {
    font-family: var(--lp-f-en) !important;
}
.u-shippori {
    font-family: var(--lp-f-shippori) !important;
}
.u-main-color {
    color: var(--lp-c-main);
    font-weight: bold;
}
.u-bold {
    font-weight: bold;
}
.u-center {
    text-align: center;
}
@media all and (min-width: 768px), print {
    .u-center--pc {
        text-align: center;
    }
}

/* --------------------------------------------------------------------------
L-SECTION
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .l-section {
    }
    .l-section__inner {
        max-width: calc(1064 / var(--lp-font) * 1em);
        padding: 0 calc(20 / var(--lp-font) * 1em);
        margin: auto;
    }
    .l-section__body {
    }
    .l-section:last-child .l-section__body {
        padding-bottom: calc(160 / var(--lp-font) * 1em);
    }
    .l-section__column {
        display: flex;
        align-items: start;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .l-section__header {
    }
    .l-section__content {
    }
}
@media all and (max-width: 767px) {
    .l-section {
    }
    .l-section__inner {
        padding: 0 calc(40 / 750 * 100vw);
        margin: auto;
    }
    .l-section__body {
    }
    .l-section:last-child .l-section__body {
        padding-bottom: calc(220 / 750 * 100vw);
    }
    .l-section__column {
        display: flex;
        align-items: start;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .l-section__header {
    }
    .l-section__content {
    }
}

/* --------------------------------------------------------------------------
SECTION-HEADING-LV2
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .section-heading-lv2 {
    }
    .section-heading-lv2__inner {
        display: flex;
        gap: min(18px, calc(18 / 1366 * 100vw));
    }
    .section-heading-lv2--reverse .section-heading-lv2__inner {
        flex-direction: row-reverse;
    }
    .section-heading-lv2-sub {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .section-heading-lv2-sub::before {
        content: "";
        display: block;
        background: var(--lp-c-main);
        width: 1px;
        padding-top: calc(32 / var(--lp-font) * 1em);
        margin-bottom: calc(8 / var(--lp-font) * 1em);
    }
    .section-heading-lv2-sub__label {
        color: var(--lp-c-main);
        font-family: var(--lp-f-en);
        font-size: calc(14 / var(--lp-font) * 1em);
        font-weight: bold;
        font-feature-settings: "palt";
        letter-spacing: calc(200 / 1000 * 1em);
        line-height: 1;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }
    .section-heading-lv2-text {
        display: inline-flex;
    }
    .section-heading-lv2-text__label {
        font-family: var(--lp-f-mincho);
        font-size: clamp(30px, calc(40 / 1366 * 100vw), 40px);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(60 / 1000 * 1em);
        line-height: 1.2;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        margin: 0;
    }
    /* read */
    .l-section__header:has(.section-heading-read) {
        display: flex;
        flex-direction: row-reverse;
    }
    .l-section__header:has(.section-heading-read) .section-heading-lv2 {
        margin-left: min(40px, calc(40 / 1366 * 100vw));
    }
    .l-section__header--reverse:has(.section-heading-read) {
        display: flex;
        flex-direction: row;
    }
    .l-section__header--reverse:has(.section-heading-read) .section-heading-lv2 {
        margin-left: 0;
    }
    .l-section__header.l-section__header--column:has(.section-heading-read) {
        flex-direction: column;
        align-items: start;
    }
    .l-section__header.l-section__header--column:has(.section-heading-read) .section-heading-lv2 {
        margin-left: 0;
        margin-bottom: calc(80 / var(--lp-font) * 1em);
    }
    .section-heading-read {
        margin-top: calc(80 / var(--lp-font) * 1em);
    }
    .section-heading-read-text {
        display: inline-flex;
    }
    .section-heading-read-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(16 / var(--lp-font) * 1em);
        font-weight: 600;
        line-height: 1.5;

        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        margin: 0;
    }
}
@media all and (max-width: 767px) {
    .section-heading-lv2 {
    }
    .section-heading-lv2__inner {
        display: flex;
        gap: min(18px, calc(18 / 1366 * 100vw));
    }
    .section-heading-lv2--reverse .section-heading-lv2__inner {
        flex-direction: row-reverse;
    }
    .section-heading-lv2-sub {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .section-heading-lv2-sub::before {
        content: "";
        display: block;
        background: var(--lp-c-main);
        width: calc(2 / 750 * 100vw);
        padding-top: calc(48 / 750 * 100vw);
        margin-bottom: calc(11 / 750 * 100vw);
    }
    .section-heading-lv2-sub__label {
        color: var(--lp-c-main);
        font-family: var(--lp-f-en);
        font-size: calc(24 / 750 * 100vw);
        font-weight: bold;
        font-feature-settings: "palt";
        letter-spacing: calc(200 / 1000 * 1em);
        line-height: 1;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }
    .section-heading-lv2-text {
        display: inline-flex;
    }
    .section-heading-lv2-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(56 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(50 / 1000 * 1em);
        line-height: 1.3;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        margin: 0;
    }
    /* read */
    .l-section__header:has(.section-heading-read) {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    .l-section__header:has(.section-heading-read) .section-heading-lv2 {
        margin-left: calc(40 / 750 * 100vw);
    }
    .l-section__header--reverse:has(.section-heading-read) {
        flex-direction: row;
    }
    .l-section__header--reverse:has(.section-heading-read) .section-heading-lv2 {
        margin-left: 0;
    }
    .l-section__header.l-section__header--column:has(.section-heading-read) .section-heading-lv2 {
        margin-left: 0;
    }
    .section-heading-read {
        margin-top: calc(125 / 750 * 100vw);
    }
    .section-heading-read-text {
        display: inline-flex;
    }
    .section-heading-read-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(30 / 750 * 100vw);
        font-weight: 600;
        line-height: calc(64 / 30);

        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        margin: 0;
    }
    .section-heading-read-text__label--no-sp {
        line-height: calc(54 / 30);
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }
}

/* --------------------------------------------------------------------------
C-TXT
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .c-txt {
        --line-height: calc(26 / 14);
        --font-size: 16;
        font-family: var(--lp-f-gothic);
        font-size: calc(var(--font-size) / var(--lp-font) * 1em);
        font-weight: 400;
        font-feature-settings: "palt";
        line-height: var(--line-height);
    }
    .c-txt--s {
        --font-size: 14;
    }
}
@media all and (max-width: 767px) {
    .c-txt {
        --line-height: 1.6;
        --font-size: 28;
        font-family: var(--lp-f-gothic);
        font-size: calc(var(--font-size) / 750 * 100vw);
        font-weight: 400;
        font-feature-settings: "palt";
        line-height: var(--line-height);
    }
    .c-txt--s {
        --line-height: 1.5;
        --font-size: 26;
    }
}

/* --------------------------------------------------------------------------
C-NOTE
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .c-note {
        --note-size: 12;
        --note-position: start;
    }
    .c-note-text {
        font-size: calc(var(--note-size) / var(--font) * 1rem);
        font-feature-settings: "palt";
        line-height: 1.6;
        display: flex;
        justify-content: var(--note-position);
    }
    .c-note-text__num {
        flex-shrink: 0;
    }
    .c-note-text::before {
        content: "※";
    }
    .c-note-text__label {
    }
    
    /* CENTER */
    .c-note--center {
        --note-position: center;
    }
    .c-note--end {
        --note-position: end;
    }

    /* l */
    .c-note--xl {
        --note-size: 14;
    }
    .c-note--l {
        --note-size: 13;
    }
    /* S */
    .c-note--s {
        --note-size: 11;
    }
    .c-note--xs {
        --note-size: 10;
    }
}
@media all and (max-width: 767px) {
    .c-note {
        --note-size: 24;
        --note-position: start;
    }
    .c-note-text {
        font-family: var(--lp-f-gothic);
        font-size: calc(var(--note-size) / 750 * 100vw);
        font-feature-settings: "palt";
        line-height: 1.6;
        display: flex;
        justify-content: var(--note-position);
    }
    .c-note-text__num {
        flex-shrink: 0;
    }
    .c-note-text::before {
        content: "※";
    }
    .c-note-text__label {
    }
    
    /* CENTER */
    .c-note--center {
        --note-position: center;
    }
    .c-note--end {
        --note-position: end;
    }

    /* l */
    .c-note--xl {
        --note-size: 14;
    }
    .c-note--l {
        --note-size: 13;
    }
    /* S */
    .c-note--s {
        --note-size: 11;
    }
    .c-note--xs {
        --note-size: 10;
    }
}

/* --------------------------------------------------------------------------
C-BTN
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .c-btn {
        --lp-transition-btn: all .5s ease;
        --btn-bg: var(--lp-c-black);
        --btn-border: var(--lp-c-black);
        --btn-color: var(--lp-c-white);

        background: var(--btn-bg);
        border: solid 1px var(--btn-border);
        display: block;
        min-height: calc(64 / var(--lp-font) * 1em);
        height: 0;
        transition: var(--lp-transition-btn);
    }
    .c-btn:hover {
        --btn-bg: var(--lp-c-white);
        --btn-color: var(--lp-c-black);
    }
    /* 色 */
    .c-btn--koji {
        --btn-bg: var(--lp-c-koji);
        --btn-border: var(--lp-c-koji);
    }
    .c-btn--kyoen {
        --btn-bg: var(--lp-c-kyoen);
        --btn-border: var(--lp-c-kyoen);
    }
    .c-btn--takumi {
        --btn-bg: var(--lp-c-takumi-koji);
        --btn-border: var(--lp-c-takumi-koji);
    }
    .c-btn--takumi-shiro {
        --btn-bg: var(--lp-c-takumi-shiro);
        --btn-border: var(--lp-c-takumi-shiro);
    }
    .c-btn--koji:hover {
        --btn-color:  var(--lp-c-koji);
    }
    .c-btn--kyoen:hover {
        --btn-color:  var(--lp-c-kyoen);
    }
    .c-btn--takumi:hover {
        --btn-color:  var(--lp-c-takumi-koji);
    }
    .c-btn--takumi-shiro:hover {
        --btn-color:  var(--lp-c-takumi-shiro);
    }
    .c-btn__inner {
        height: 100%;
    }
    .c-btn__body {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        position: relative;
    }
    .c-btn-text {
        text-align: center;
    }
    .c-btn-text__label {
        color: var(--btn-color);
        font-family: var(--lp-f-mincho);
        font-size: calc(16 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        line-height: 1.25;
        letter-spacing: calc(90 / 1000 * 1em);
        transition: var(--lp-transition-btn);
    }
    .c-btn-text__label--sub {
        display: inline-block;
        font-size: calc(12 / var(--lp-font) * 1em);
        line-height: 1;
    }
    .c-btn-ico {
        width: calc(12 / var(--lp-font) * 1em);
        height: calc(12 / var(--lp-font) * 1em);
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        margin-right: calc(20 / var(--lp-font) * 1em);
    }
    .c-btn-ico::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        mask: url("../img/common/ico_arrow.svg") no-repeat center / contain;
        -webkit-mask: url("../img/common/ico_arrow.svg") no-repeat center / contain;
        background: var(--btn-color);
        transition: var(--lp-transition-btn);
    }
    /* TOPへ戻るボタン */
    .c-btn--back .c-btn-ico {
        right: auto;
        left: 0;
        margin-right: 0;
        margin-left: calc(20 / var(--lp-font) * 1em);
    }
    .c-btn--back .c-btn-ico::before {
        transform: rotate(180deg);
    }
    /* 別タブ */
    .c-btn--window .c-btn-ico::before {
        transform: rotate(-25deg);
    }
}
@media all and (max-width: 767px) {
    .c-btn {
        --btn-bg: var(--lp-c-black);
        --btn-border: var(--lp-c-black);
        --btn-color: var(--lp-c-white);

        background: var(--btn-bg);
        border: solid 1px var(--btn-border);
        display: block;
        min-height: calc(120 / 750 * 100vw);
        height: 0;
    }
    /* 色 */
    .c-btn--koji {
        --btn-bg: var(--lp-c-koji);
        --btn-border: var(--lp-c-koji);
    }
    .c-btn--kyoen {
        --btn-bg: var(--lp-c-kyoen);
        --btn-border: var(--lp-c-kyoen);
    }
    .c-btn--takumi {
        --btn-bg: var(--lp-c-takumi-koji);
        --btn-border: var(--lp-c-takumi-koji);
    }
    .c-btn--takumi-shiro {
        --btn-bg: var(--lp-c-takumi-shiro);
        --btn-border: var(--lp-c-takumi-shiro);
    }
    .c-btn__inner {
        height: 100%;
        padding: 0 calc(85 / 750 * 100vw);
        position: relative;
    }
    .c-btn__body {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        padding: calc(20 / 750 * 100vw) 0;
    }
    .c-btn-text {
        text-align: center;
    }
    .c-btn-text__label {
        color: var(--btn-color);
        font-family: var(--lp-f-mincho);
        font-size: calc(30 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        line-height: 1.6;
        letter-spacing: calc(90 / 1000 * 1em);
    }
    .c-btn-text__label--sub {
        display: inline-block;
        font-size: calc(26 / 750 * 100vw);
        line-height: 1;
        margin-left: calc(16 / 750 * 100vw);
    }
    .c-btn-ico {
        width: calc(33 / 750 * 100vw);
        height: calc(33 / 750 * 100vw);
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        margin-right: calc(44 / 750 * 100vw);
    }
    .c-btn-ico::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        mask: url("../img/common/ico_arrow.svg") no-repeat center / contain;
        -webkit-mask: url("../img/common/ico_arrow.svg") no-repeat center / contain;
        background: var(--btn-color);
    }
    /* TOPへ戻るボタン */
    .c-btn--back .c-btn-ico {
        right: auto;
        left: 0;
        margin-right: 0;
        margin-left: calc(44 / 750 * 100vw);
    }
    .c-btn--back .c-btn-ico::before {
        transform: rotate(180deg);
    }
    /* 別タブ */
    .c-btn--window .c-btn-ico::before {
        transform: rotate(-25deg);
    }
}

/* --------------------------------------------------------------------------
C-TXT-BTN
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .c-txt-btn {
        --btn-color: var(--lp-c-black);
    }
    .c-txt-btn__inner {
        display: flex;
        align-items: center;
        gap: calc(16 / var(--lp-font) * 1em);
    }
    .c-txt-btn-txt {
    }
    .c-txt-btn-txt__label {
        color: var(--btn-color);
        font-family: var(--lp-f-mincho);
        font-size: calc(16 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(100 / 1000 * 1em);
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    .c-txt-btn-ico {
        display: block;
        background: var(--btn-color);
        width: calc(55 / var(--lp-font) * 1em);
        padding-top: calc(55 / var(--lp-font) * 1em);
        border-radius: 50%;
        position: relative;
        margin-left: calc(18 / var(--lp-font) * 1em);
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    .c-txt-btn-ico::before {
        content: "";
        display: block;
        width: calc(12 / var(--lp-font) * 1em);
        padding-top: calc(12 / var(--lp-font) * 1em);
        background: url("../img/common/txt_btn_ico_arrow.svg") no-repeat center / contain;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50% , -50%);
    }
    .c-txt-btn-ico-line {
        display: block;
        background: var(--btn-color);
        width: calc(36 / var(--lp-font) * 1em);
        height: 1px;
        overflow: hidden;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(-50% , -50%);
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    .c-txt-btn-ico-line::after {
        content: "";
        display: block;
        background: var(--lp-c-white);
        width: 50%;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    /* hover時 */
    .c-txt-btn:hover {
        --btn-color: var(--lp-c-accent-sub);
    }
    .c-txt-btn:hover .c-txt-btn-ico {
        transform: translateX(calc(6 / var(--lp-font) * 1em));
    }
    .c-txt-btn:hover .c-txt-btn-ico-line {
        margin-left: calc(3 / var(--lp-font) * 1em);
    }
    .c-txt-btn:hover .c-txt-btn-ico-line::after {
        width: calc(50% + (3 / var(--lp-font) * 1em));
    }
}
@media all and (max-width: 767px) {
    .c-txt-btn {
        --btn-color: var(--lp-c-black);
    }
    .c-txt-btn__inner {
        display: flex;
        align-items: center;
        gap: calc(16 / 750 * 100vw);
    }
    .c-txt-btn-txt {
    }
    .c-txt-btn-txt__label {
        color: var(--btn-color);
        font-family: var(--lp-f-mincho);
        font-size: calc(24 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(100 / 1000 * 1em);
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    .c-txt-btn-ico {
        display: block;
        background: var(--btn-color);
        width: calc(88 / 750 * 100vw);
        padding-top: calc(88 / 750 * 100vw);
        border-radius: 50%;
        position: relative;
        margin-left: calc(18 / 750 * 100vw);
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    .c-txt-btn-ico::before {
        content: "";
        display: block;
        width: calc(19 / 750 * 100vw);
        padding-top: calc(19 / 750 * 100vw);
        background: url("../img/common/txt_btn_ico_arrow.svg") no-repeat center / contain;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50% , -50%);
    }
    .c-txt-btn-ico-line {
        display: block;
        background: var(--btn-color);
        width: calc(56 / 750 * 100vw);
        height: calc(3 / 750 * 100vw);
        overflow: hidden;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(-50% , -50%);
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
    .c-txt-btn-ico-line::after {
        content: "";
        display: block;
        background: var(--lp-c-white);
        width: 50%;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0;
        transition: .3s cubic-bezier(.4,.4,0,1);
    }
}

/* ==========================================================================
GLOBAL
========================================================================== */
@media all and (min-width: 1025px), print {
    .page-menu {
        top: calc(156 / var(--font) * 1rem);
    }
}
@media all and (min-width: 768px) and (max-width: 1024px) {
    .page-menu {
        top: calc(91.7 / var(--lp-font) * 1em);
    }
}
@media all and (min-width: 768px), print {
    .page-menu {
        position: fixed;
        right: 0;
        z-index: 30;
        transition: var(--lp-transition);
        width: 100%;
    }
    body:has(.js-gheader-hide) .page-menu {
        top: 0;
    }
    .page-menu__in {
    }
    .page-menu__body {
    }
    .menu-trigger-ico {
        width: calc(44 / var(--lp-font) * 1em);
        height: calc(38 / var(--lp-font) * 1em);
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        position: absolute;
        top: 0;
        right: 0;
        margin-top: calc(20 / var(--lp-font) * 1em);
        margin-right: calc(15 / var(--lp-font) * 1em);
        margin-right: min(22px, calc(22 / 1366 * 100vw));
        z-index: 1;
        cursor: pointer;
    }
    .menu-trigger-ico__inner {
        position: relative;
        height: calc(19 / var(--lp-font) * 1em);
    }
    .menu-trigger-ico__inner::before,
    .menu-trigger-ico__inner::after,
    .menu-trigger-ico-line::before {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background: var(--lp-c-black);
        transition: var(--lp-transition);
        position: absolute;
        top: 50%;
        left: 50%;
    }
    .menu-trigger-ico__inner::before {
        margin-top: calc(-8 / var(--lp-font) * 1em);
        transform: translate(-50% , -50%);
    }
    .menu-trigger-ico__inner::after {
        margin-top: calc(8 / var(--lp-font) * 1em);
        transform: translate(-50% , -50%);
    }
    .menu-trigger-ico-line::before {
        width: calc(35 / var(--lp-font) * 1em);
        left: 0;
    }
    .menu-trigger-ico-line {
        width: 100%;
    }
    .menu-trigger-ico-text {
        text-align: center;
    }
    .menu-trigger-ico-text__label {
        display: block;
        font-family: var(--lp-f-en);
        font-size: calc(12 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(100 / 1000 * 1em);
        line-height: 1;
        margin-top: calc(5 / var(--lp-font) * 1em);
    }
    .menu-trigger-ico-text__label::before {
        content: "MENU";
    }

    /* コンテンツ */
    .lp-menu-content {
        width: 100%;
        max-width: calc(650 / var(--lp-font) * 1em);
        height: 100vh;
        background: #faf8f5;
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: var(--lp-transition);
    }
    .lp-menu-content__inner {
        padding: 0 calc(20 / var(--lp-font) * 1em);
        margin: auto;
        height: 100%;
    }
    .lp-menu-content__body {
        padding-top: calc(160 / var(--lp-font) * 1em);
        padding-bottom: calc(20 / var(--lp-font) * 1em);
        /* 高さがあったらスクロール */
        overflow-y: scroll;
        height: 100%;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    body:has(.js-gheader-hide) .lp-menu-content__body {
        padding-top: calc(48 / var(--lp-font) * 1em);
    }
    .lp-menu-heading {
    }
    .lp-menu-heading-img {
        width: calc(182 / var(--lp-font) * 1em);
        margin: auto;
    }
    .lp-menu-list__container {
        margin-top: calc(56 / var(--lp-font) * 1em);
    }
    .lp-menu-list {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        grid-template-rows: repeat(4, 1fr);
        gap: min(22px, calc(22 / 1366 * 100vw)) min(78px, calc(78 / 1366 * 100vw));
        justify-content: center;
    }
    .lp-menu-list-item {
    }
    .lp-menu-list-item--top {
    }
    .lp-menu-list-item--lineup {
        grid-row: span 4 / span 4;
        position: relative;
    }
    .lp-menu-list-item--lineup::before {
        content: "";
        display: block;
        background: #d5d5d5;
        width: 1px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        margin-left: max(-39px, calc(-39 / 1366 * 100vw));
    }
    .lp-menu-list-item--about {
    }
    .lp-menu-list-item--recipe {
        grid-row-start: 3;
    }
    .lp-menu-list-item--whats {
        grid-row-start: 4;
    }
    .lp-menu-card {
    }
    .lp-menu-card-heading,
    .lp-menu-card-detail-text {
        transition: var(--lp-transition);
    }
    a.lp-menu-card-heading:hover,
    a.lp-menu-card-detail-text:hover {
        opacity: var(--hover-animation-E);
    }
    .lp-menu-card-heading-sub {
        margin-bottom: calc(6 / var(--lp-font) * 1em);
    }
    .lp-menu-card-heading-sub__label {
        color: var(--lp-c-accent);
        font-family: var(--lp-f-mincho);
        font-size: calc(12 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(90 / 1000 * 1em);
        line-height: 1;
    }
    .lp-menu-card-heading-text {
    }
    .lp-menu-card-heading-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(20 / var(--lp-font) * 1em);
        font-weight: 600;
    }
    .lp-menu-card-detail {
        margin-top: calc(18 / var(--lp-font) * 1em);
        margin-left: calc(12 / var(--lp-font) * 1em);
    }
    .lp-menu-card-detail-list {
    }
    .lp-menu-card-detail-list-item {
    }
    .lp-menu-card-detail-list-item + .lp-menu-card-detail-list-item {
        margin-top: calc(20 / var(--lp-font) * 1em);
    }
    .lp-menu-card-detail-text {
        display: flex;
    }
    .lp-menu-card-detail-text::before {
        content: "";
        display: block;
        background: var(--lp-c-accent);
        width: calc(8 / var(--lp-font) * 1em);
        height: 1px;
        margin-top: calc(12 / var(--lp-font) * 1em);
        margin-right: calc(8 / var(--lp-font) * 1em);
    }
    .lp-menu-card-detail-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(16 / var(--lp-font) * 1em);
        font-weight: 500;
        font-feature-settings: "palt";
        letter-spacing: calc(90 / 1000 * 1em);
        line-height: 1.5;
    }
    .lp-menu-bnr__container {
        margin-top: calc(54 / var(--lp-font) * 1em);
    }
    .lp-menu-bnr {
        display: block;
        max-width: calc(420 / var(--lp-font) * 1em);
        width: 100%;
        margin: auto;
    }
    .lp-menu-bnr {
        transition: var(--lp-transition);
    }
    .lp-menu-bnr:hover {
        opacity: var(--hover-animation-E);
    }
    /* ハンバーガーメニュー開いた時 */
    .is-lp-menu-open {
        overflow: hidden;
    }
    .is-lp-menu-open .menu-trigger-ico-text {
        margin-top: calc(8 / var(--lp-font) * 1em);;
    }
    .is-lp-menu-open .menu-trigger-ico-line::before {
        display: none;
    }
    .is-lp-menu-open .menu-trigger-ico__inner::before {
        margin-top: 0;
        transform: translate(-50% , -50%) rotate(45deg);
    }
    .is-lp-menu-open .menu-trigger-ico__inner::after {
        margin-top: 0;
        transform: translate(-50% , -50%) rotate(-45deg);
    }
    .is-lp-menu-open .menu-trigger-ico-text__label::before {
        content: "CLOSE";
    }
    .is-lp-menu-open .lp-menu-content {
        visibility: visible;
        transform: translate(0);
    }
    .menu-bg {
        transition: var(--lp-transition);
        opacity: 0;
    }
    .is-lp-menu-open .menu-bg {
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        opacity: 1;
    }
}
@media all and (max-width: 767px) {
    .page-menu {
        position: fixed;
        right: 0;
        z-index: 10;
        transition: var(--lp-transition);
        width: 100%;
    }
    body:has(.js-gheader-hide) .page-menu {
        top: 0;
    }
    .page-menu__in {
    }
    .page-menu__body {
    }
    .menu-trigger-ico {
        width: calc(61 / 750 * 100vw);
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        position: absolute;
        top: 0;
        right: 0;
        margin-top: calc(32 / 750 * 100vw);
        margin-right: calc(24 / 750 * 100vw);
        z-index: 1;
        cursor: pointer;
    }
    .menu-trigger-ico__inner {
        position: relative;
        height: calc(28 / 750 * 100vw);
    }
    .menu-trigger-ico__inner::before,
    .menu-trigger-ico__inner::after,
    .menu-trigger-ico-line::before {
        content: "";
        display: block;
        width: 100%;
        height: calc(2 / 750 * 100vw);
        background: var(--lp-c-black);
        transition: var(--lp-transition);
        position: absolute;
        top: 50%;
        left: 50%;
    }
    .menu-trigger-ico__inner::before {
        margin-top: calc(-13 / 750 * 100vw);
        transform: translate(-50% , -50%);
    }
    .menu-trigger-ico__inner::after {
        margin-top: calc(13 / 750 * 100vw);
        transform: translate(-50% , -50%);
    }
    .menu-trigger-ico-line::before {
        width: calc(48 / 750 * 100vw);
        left: 0;
        transform: translateY(-50%);
    }
    .menu-trigger-ico-line {
        width: 100%;
    }
    .menu-trigger-ico-text {
        text-align: center;
    }
    .menu-trigger-ico-text__label {
        display: block;
        font-family: var(--lp-f-en);
        font-size: calc(20 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(100 / 1000 * 1em);
        line-height: 1;
        margin-top: calc(12 / 750 * 100vw);
    }
    .menu-trigger-ico-text__label::before {
        content: "MENU";
    }

    /* コンテンツ */
    .lp-menu-content {
        width: 100%;
        height: 100%;
        background: #faf8f5;
        position: fixed;
        top: 0;
        bottom: 0;
        right: 0;
        visibility: hidden;
        transform: translateX(100%);
        transition: var(--lp-transition);
    }
    .lp-menu-content__inner {
        padding: 0 calc(40 / 750 * 100vw);
        height: 100%;
    }
    .lp-menu-content__body {
        padding-top: calc(183 / 750 * 100vw);
        padding-bottom: calc(100 / 750 * 100vw);
        /* 高さがあったらスクロール */
        height: 100%;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    body:has(.js-gheader-hide) .lp-menu-content__body {
        padding-top: calc(80 / 750 * 100vw);
    }
    .lp-menu-heading {
    }
    .lp-menu-heading-img {
        width: calc(320 / 750 * 100vw);
        margin: auto;
    }
    .lp-menu-list__container {
        margin-top: calc(78 / 750 * 100vw);
    }
    .lp-menu-list {
        display: grid;
        grid-template-columns: repeat(2, max-content);
        grid-template-rows: auto;
        gap: 0 calc(64 / 750 * 100vw);
        justify-content: space-between;
    }
    .lp-menu-list-item {
    }
    .lp-menu-list-item--top {
    }
    .lp-menu-list-item--lineup {
        grid-row: span 4 / span 4;
        position: relative;
    }
    .lp-menu-list-item--lineup::before {
        content: "";
        display: block;
        background: #d5d5d5;
        width: 1px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        margin-left: max(-35px, calc(-35 / 750 * 100vw));
    }
    .lp-menu-list-item--about {
    }
    .lp-menu-list-item--recipe {
        grid-row-start: 3;
    }
    .lp-menu-list-item--whats {
        grid-row-start: 4;
    }
    .lp-menu-card {
    }
    .lp-menu-card-heading,
    .lp-menu-card-detail-text {
        transition: var(--lp-transition);
    }
    a.lp-menu-card-heading:hover,
    a.lp-menu-card-detail-text:hover {
        opacity: var(--hover-animation-E);
    }
    .lp-menu-card-heading-sub {
        margin-bottom: calc(12 / 750 * 100vw);
    }
    .lp-menu-card-heading-sub__label {
        color: var(--lp-c-accent);
        font-family: var(--lp-f-mincho);
        font-size: calc(20 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(90 / 1000 * 1em);
        line-height: 1;
    }
    .lp-menu-card-heading-text {
    }
    .lp-menu-card-heading-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(32 / 750 * 100vw);
        font-weight: 600;
        line-height: 1.2;
    }
    .lp-menu-card-detail {
        margin-top: calc(42 / 750 * 100vw);
    }
    .lp-menu-card-detail-list {
    }
    .lp-menu-card-detail-list-item {
    }
    .lp-menu-card-detail-list-item + .lp-menu-card-detail-list-item {
        margin-top: calc(36 / 750 * 100vw);
    }
    .lp-menu-card-detail-text {
        display: flex;
    }
    .lp-menu-card-detail-text::before {
        content: "";
        display: block;
        background: var(--lp-c-accent);
        width: calc(14 / 750 * 100vw);
        height: calc(3 / 750 * 100vw);
        margin-top: calc(20 / 750 * 100vw);
        margin-right: calc(14 / 750 * 100vw);
    }
    .lp-menu-card-detail-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(28 / 750 * 100vw);
        font-weight: 500;
        font-feature-settings: "palt";
        letter-spacing: calc(90 / 1000 * 1em);
        line-height: 1.6;
    }
    .lp-menu-bnr__container {
        margin-top: calc(72 / 750 * 100vw);
    }
    .lp-menu-bnr {
        display: block;
        width: 100%;
    }
    /* ハンバーガーメニュー開いた時 */
    .is-lp-menu-open {
        overflow: hidden;
        touch-action: none;
    }
    .is-lp-menu-open .menu-trigger-ico {
        width: calc(72 / 750 * 100vw);
        height: calc(66 / 750 * 100vw);
    }
    .is-lp-menu-open .menu-trigger-ico-text {
        margin-top: calc(8 / 750 * 100vw);;
    }
    .is-lp-menu-open .menu-trigger-ico-line::before {
        display: none;
    }
    .is-lp-menu-open .menu-trigger-ico__inner::before {
        margin-top: 0;
        transform: translate(-50% , -50%) rotate(45deg);
        width: calc(50 / 750 * 100vw);
    }
    .is-lp-menu-open .menu-trigger-ico__inner::after {
        margin-top: 0;
        transform: translate(-50% , -50%) rotate(-45deg);
        width: calc(50 / 750 * 100vw);
    }
    .is-lp-menu-open .menu-trigger-ico-text__label::before {
        content: "CLOSE";
    }
    .is-lp-menu-open .lp-menu-content {
        visibility: visible;
        transform: translate(0);
    }
    .menu-bg {
    }
    .is-lp-menu-open .menu-bg {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        overflow: hidden;
    }
}

/* --------------------------------------------------------------------------
C-HERO
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .c-hero {
        position: relative;
        padding-bottom: calc(280 / var(--lp-font) * 1em);
        margin-bottom: calc(120 / var(--lp-font) * 1em);
    }
    .c-hero__inner {
        max-width: calc(1064 / var(--lp-font) * 1em);
        margin: auto;
        padding: calc(46 / var(--lp-font) * 1em) calc(20 / var(--lp-font) * 1em) calc(48 / var(--lp-font) * 1em);
    }
    .c-hero-ttl {
    }
    .c-hero-ttl__inner {
        height: calc(38 / var(--lp-font) * 1em);
    }
    .c-hero-ttl__inner img {
        width: auto;
        height: 100%;
        margin: auto;
        display: block;
    }
    .c-hero-img {
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 100%;
        height: calc(280 / var(--lp-font) * 1em);
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}
@media all and (max-width: 767px) {
    .c-hero {
        position: relative;
        padding-bottom: calc(280 / 750 * 100vw);
        margin-bottom: calc(66 / 750 * 100vw);
    }
    .c-hero__inner {
        margin: auto;
        padding: calc(51 / 750 * 100vw) calc(20 / 750 * 100vw) calc(52 / 750 * 100vw);
    }
    .c-hero-ttl {
    }
    .c-hero-ttl__inner {
        height: calc(52 / 750 * 100vw);
    }
    .c-hero-ttl__inner img {
        width: auto;
        height: 100%;
        margin: auto;
        display: block;
    }
    .c-hero-img {
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        width: 100%;
        height: calc(280 / 750 * 100vw);
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}
/* --------------------------------------------------------------------------
PAGE
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .page-section {
        background: var(--lp-sec-bg-02);
    }
    .page-section__inner {
    }
    .page-section__body {
        padding-top: calc(64 / var(--lp-font) * 1em);
        padding-bottom: calc(64 / var(--lp-font) * 1em);
    }
    .page-bnr {
        display: block;
        width: calc(640 / var(--lp-font) * 1em);
        margin: 0 auto 0;
        transition: var(--lp-transition);
    }
    .page-bnr:hover {
        opacity: var(--hover-animation-E);
    }
    .page-bnr + .page-btn-list__container {
        margin-top: calc(48 / var(--lp-font) * 1em);
    }
    .page-btn-list__container {
    }
    .page-btn-list {
        display: flex;
        justify-content: center;
        gap: calc(41 / var(--lp-font) * 1em);
    }
    .page-btn-list-item {
        width: calc(261 / var(--lp-font) * 1em);
    }
}
@media all and (max-width: 767px) {
    .page-section {
        background: var(--lp-sec-bg-02);
    }
    .page-section__inner {
    }
    .l-section:last-child .page-section__body {
        padding-top: calc(120 / 750 * 100vw);
        padding-bottom: calc(150 / 750 * 100vw);
    }
    .page-bnr {
        display: block;
        width: calc(640 / 750 * 100vw);
        margin: 0 auto 0;
        transition: var(--lp-transition);
    }
    .page-bnr:hover {
        opacity: var(--hover-animation-E);
    }
    .page-bnr + .page-btn-list__container {
        margin-top: calc(64 / 750 * 100vw);
    }
    .page-btn-list__container {
    }
    .page-btn-list {
    }
    .page-btn-list-item {
    }
    .page-btn-list-item + .page-btn-list-item {
        margin-top: calc(32 / 750 * 100vw);
    }
}