@charset "UTF-8";
.main-container {
    --lp-c-main-sub: var(--lp-c-accent-sub);
}
.main-container--koji {
    --lp-c-main: var(--lp-c-koji);
}
.main-container--kyoen {
    --lp-c-main: var(--lp-c-kyoen);
}
.main-container--takumi {
    --lp-c-main: var(--lp-c-takumi-koji);
    --lp-c-main-02: var(--lp-c-takumi-shiro);
}

/* --------------------------------------------------------------------------
COMMON
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .main-container--takumi .section-heading-lv2-sub__label {
        color: var(--lp-c-main-02);
    }
    .main-container--takumi .section-heading-lv2-sub::before {
        background: var(--lp-c-main-02);
    }
}
@media all and (max-width: 767px) {
    .main-container--takumi .section-heading-lv2-sub__label {
        color: var(--lp-c-main-02);
    }
    .main-container--takumi .section-heading-lv2-sub::before {
        background: var(--lp-c-main-02);
    }
}

/* --------------------------------------------------------------------------
INTRO
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .lineup-hero {
        position: relative;
        margin-bottom: calc(60 / var(--lp-font) * 1em);
        min-height: calc(240 / var(--lp-font) * 1em);
        height: 0;
    }
    .lineup-hero-bg {
        display: block;
        background: var(--lp-c-main);
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0.8;
        mix-blend-mode: multiply;
    }
    .main-container--koji .lineup-hero-bg {
        background: #d3862a;
    }
    .lineup-hero__inner {
        padding: 0 calc(20 / var(--lp-font) * 1em);
        max-width: calc(1144 / var(--lp-font) * 1em);
        margin: auto;
        height: 100%;
    }
    .main-container--takumi .lineup-hero__inner {
        max-width: calc(1284 / var(--lp-font) * 1em);
    }
    .lineup-hero__inner::before,
    .lineup-hero__inner::after {
        content: "";
        display: block;
        background: var(--lp-c-white);
        width: 100%;
        height: calc(3 / var(--lp-font) * 1em);
        position: absolute;
        left: 0;
        margin: calc(12 / var(--lp-font) * 1em) 0;
        z-index: 1;
    }
    .lineup-hero__inner::before {
        top: 0;
    }
    .lineup-hero__inner::after {
        bottom: 0;
    }
    .lineup-hero__body {
        padding: calc(27 / var(--lp-font) * 1em) 0;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        position: relative;
        z-index: 2;
    }
    .lineup-hero-img {
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 1;
        margin-bottom: calc(-60 / 1104 * 100%);
    }
    .main-container--koji .lineup-hero-img {
        width: calc(230 / 1104 * 100%);
    }
    .main-container--kyoen .lineup-hero-img {
        width: calc(236 / 1104 * 100%);
    }
    .main-container--takumi .lineup-hero-img {
        display: flex;
        gap: calc(5 / 1244 * 100%);
        width: calc(380 / 1244 * 100%);
        margin-bottom: calc(-28 / 1244 * 100%);
    }
    .lineup-hero-ttl {
    }
    .lineup-hero-ttl-copy {
        margin-bottom: calc(8 / var(--lp-font) * 1em);
    }
    .main-container--takumi .lineup-hero-ttl-copy {
        margin-bottom: calc(16 / var(--lp-font) * 1em);
    }
    .lineup-hero-ttl-copy-text {
        text-align: center;
    }
    .lineup-hero-ttl-copy-text__label {
        color: var(--lp-c-white);
        font-size: calc(22 / var(--lp-font) * 1em);
        font-size: clamp(14px, calc(22 / 1366 * 100vw), 22px);
        font-family: var(--lp-f-mincho);
        font-weight: 400;
        font-feature-settings: "palt";
        letter-spacing: calc(50 / 1000 * 1em);
    }
    .lineup-hero-ttl-text {
        text-align: center;
    }
    .lineup-hero-ttl-text__label {
        color: var(--lp-c-white);
        font-family: var(--lp-f-mincho);
        font-size: clamp(30px, calc(44 / 1366 * 100vw), 44px);
        font-weight: 700;
        line-height: 1.4;
    }
    .lineup-hero-ttl-text--s .lineup-hero-ttl-text__label {
        font-size: calc(36 / var(--lp-font) * 1em);
        font-size: clamp(24px, calc(36 / 1366 * 100vw), 36px);
    }
    .lineup-hero-ttl-text-sub {
    }
    .lineup-hero-ttl-text-sub__label {
        color: var(--lp-c-white);
        font-family: var(--lp-f-mincho);
        font-size: calc(24 / var(--lp-font) * 1em);
        font-weight: 700;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .lineup-hero-ttl-text-sub-accent {
        color: var(--lp-c-white);
    }
    .lineup-hero-ttl-text-sub-accent {
        line-height: 1;
        font-weight: 700;
        position: relative;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: 1 / 1;
        width: calc(36 / 24 * 1em);
        padding-bottom: calc(3 / 24 * 1em);
        margin-left: calc(4 / 24 * 1em);
    }
    .lineup-hero-ttl-text-sub-accent::before {
        content: "";
        display: block;
        border-radius: 50%;
        border: solid 1px var(--lp-c-white);
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50% , -50%);
    }
}
@media all and (max-width: 767px) {
    .lineup-hero {
        position: relative;
        margin-bottom: calc(97 / 750 * 100vw);
        min-height: calc(482 / 750 * 100vw);
        height: 0;
    }
    .lineup-hero-bg {
        display: block;
        background: var(--lp-c-main);
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: 0.8;
        mix-blend-mode: multiply;
    }
    .main-container--koji .lineup-hero-bg {
        background: #d3862a;
    }
    .lineup-hero__inner {
        padding: 0 calc(40 / 750 * 100vw);
        margin: auto;
        height: 100%;
    }
    .main-container--takumi .lineup-hero__inner {
    }
    .lineup-hero__inner::before,
    .lineup-hero__inner::after {
        content: "";
        display: block;
        background: var(--lp-c-white);
        width: 100%;
        height: calc(4 / 750 * 100vw);
        position: absolute;
        left: 0;
        margin: calc(20 / 750 * 100vw) 0;
    }
    .lineup-hero__inner::before {
        top: 0;
    }
    .lineup-hero__inner::after {
        bottom: 0;
    }
    .lineup-hero__body {
        padding: calc(27 / 750 * 100vw) 0;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        position: relative;
        z-index: 1;
    }
    .lineup-hero-img {
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 1;
        margin-bottom: calc(-46 / 750 * 100vw);
    }
    .main-container--koji .lineup-hero-img {
        width: calc(220 / 750 * 100vw);
    }
    .main-container--kyoen .lineup-hero-img {
        width: calc(234 / 750 * 100vw);
        margin-bottom: calc(-38 / 750 * 100vw);
    }
    .main-container--takumi .lineup-hero-img {
        display: flex;
        gap: calc(6 / 750 * 100vw);
        width: calc(473 / 750 * 100vw);
        margin-bottom: calc(-105 / 750 * 100vw);
    }
    .lineup-hero-ttl {
    }
    .lineup-hero-ttl-copy {
        margin-bottom: calc(8 / 750 * 100vw);
    }
    .main-container--takumi .lineup-hero-ttl-copy {
        margin-bottom: calc(16 / 750 * 100vw);
    }
    .main-container--takumi .lineup-hero__body {
        padding-bottom: calc(82 / 750 * 100vw);
    }
    .lineup-hero-ttl-copy-text {
        text-align: center;
    }
    .lineup-hero-ttl-copy-text__label {
        color: var(--lp-c-white);
        font-size: calc(32 / 750 * 100vw);
        font-family: var(--lp-f-mincho);
        font-weight: 400;
        font-feature-settings: "palt";
        letter-spacing: calc(50 / 1000 * 1em);
        line-height: calc(48 / 32);
    }
    .lineup-hero-ttl-text {
        text-align: center;
    }
    .lineup-hero-ttl-text__label {
        color: var(--lp-c-white);
        font-family: var(--lp-f-mincho);
        font-size: calc(62 / 750 * 100vw);
        font-weight: 700;
        font-feature-settings: "palt";
        line-height: 1.4;
        letter-spacing: calc(50 / 1000 * 1em);
    }
    .lineup-hero-ttl-text--s .lineup-hero-ttl-text__label {
        font-size: calc(56 / 750 * 100vw);
        white-space: nowrap;
    }
    .lineup-hero-ttl-text-sub {
        margin-top: calc(18 / 750 * 100vw);
    }
    .lineup-hero-ttl-text-sub__label {
        color: var(--lp-c-white);
        font-family: var(--lp-f-mincho);
        font-size: calc(42 / 750 * 100vw);
        font-weight: 700;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .lineup-hero-ttl-text-sub-accent {
        color: var(--lp-c-white);
    }
    .lineup-hero-ttl-text-sub-accent {
        line-height: 1;
        font-weight: 700;
        position: relative;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: 1 / 1;
        width: calc(58 / 750 * 100vw);
        padding-bottom: calc(7 / 750 * 100vw);
        margin-left: calc(10 / 750 * 100vw);
    }
    .lineup-hero-ttl-text-sub-accent::before {
        content: "";
        display: block;
        border-radius: 50%;
        border: solid 1px var(--lp-c-white);
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50% , -50%);
        font-size: calc(40 / 750 * 100vw);
    }
}

/* --------------------------------------------------------------------------
FEATURES
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .features-section {
    }
    .features-section__inner {
    }
    .features-section__body {
        padding-bottom: calc(96 / var(--lp-font) * 1em);
    }
    .features-section .section-heading-lv2__inner {
        justify-content: end;
    }
    .features-section .l-section__content {
        position: relative;
        margin-top: calc(-74 / var(--lp-font) * 1em);
    }
    .features-list__container {
    }
    .features-list {
    }
    .features-list-item {
    }
    .features-list-item + .features-list-item {
        margin-top: calc(64 / var(--lp-font) * 1em);
    }
    .features-card {
    }
    .features-card__inner {
        display: flex;
        justify-content: space-between;
        gap: calc(20 / var(--lp-font) * 1em);
    }
    .features-list-item:nth-child(even) .features-card__inner {
        flex-direction: row-reverse;
    }
    .features-card-img {
        width: calc(50% - (20 / var(--lp-font) * 1em));
    }
    .features-card-read {
        width: calc(50% - (20 / var(--lp-font) * 1em));
    }
    .features-card-read-heading {
        margin-bottom: calc(18 / var(--lp-font) * 1em);
    }
    .features-card-read-heading-num {
        display: inline-block;
        position: relative;
        padding-right: calc(17 / var(--lp-font) * 1em);
        padding-bottom: calc(6 / var(--lp-font) * 1em);
        margin-bottom: calc(16 / var(--lp-font) * 1em);
    }
    .features-card-read-heading-num::before {
        content: "";
        display: block;
        background: var(--lp-c-main);
        width: calc(35 / var(--lp-font) * 1em);
        height: 2px;
        transform: rotate(-45deg);
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .features-card-read-heading-num__label {
        color: var(--lp-c-main);
        font-family: var(--lp-f-mincho);
        font-size: calc(18 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
        line-height: 1;
    }
    .features-card-read-heading-text {
    }
    .features-card-read-heading-text__label {
        color: var(--lp-c-main);
        font-family: var(--lp-f-mincho);
        font-size: calc(32 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        line-height: calc(42 / 32);
    }
    .features-card-read-text {
    }
    .features-card-read-text .c-txt {
        --line-height: 2;
        font-feature-settings: normal;
    }
    .features-card-read-text .c-note {
        margin-top: calc(12 / var(--lp-font) * 1em);
    }
    .features-card-read-text .c-note-text {
        line-height: 1.5;
    }
    /* 匠 */
    .main-container--takumi .features-section .l-section__content {
        margin-top: calc(-124 / var(--lp-font) * 1em);
    }
    .features-tekumi {
    }
    .features-tekumi-heading {
        margin-bottom: calc(64 / var(--lp-font) * 1em);
    }
    .features-tekumi-heading__inner {
        text-align: center;
    }
    .features-tekumi-heading__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(28 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
        line-height: calc(46 / 28);
    }
    .features-tekumi-list__container {
    }
    .features-tekumi-list {
        display: flex;
        gap: calc(40 / var(--lp-font) * 1em);
    }
    .features-tekumi-list-item {
        width: calc((100% - (40 / var(--lp-font) * 1em)) / 2);
    }
    .features-tekumi-card {
        background: var(--lp-c-white);
        height: 100%;
        box-shadow: var(--lp-shadow-006);
    }
    .features-tekumi-card__inner {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .features-tekumi-card-img {
    }
    .features-tekumi-card-read {
        flex-grow: 1;
    }
    .features-tekumi-card-read__inner {
        padding: calc(24 / var(--lp-font) * 1em) calc(32 / var(--lp-font) * 1em) calc(32 / var(--lp-font) * 1em);
        height: 100%;
    }
    .features-tekumi-card-read-heading {
        margin-bottom: calc(8 / var(--lp-font) * 1em);
    }
    .features-tekumi-card-read-heading__inner {
        text-align: center;
    }
    .features-tekumi-card-read-heading__sub {
        color: var(--lp-c-main-02);
        font-family: var(--lp-f-mincho);
        font-size: calc(20 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
    }
    .features-tekumi-card-read-heading__label {
        color: var(--lp-c-main-02);
        font-family: var(--lp-f-mincho);
        font-size: calc(32 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
        line-height: 1.25;
    }
    .features-tekumi-card-read-text {
    }
    .features-tekumi-card-read-text .c-txt {
        line-height: 2;
        font-feature-settings: normal;
    }
}
@media all and (max-width: 767px) {
    .features-section {
    }
    .features-section__inner {
    }
    .features-section__body {
        padding-bottom: calc(120 / 750 * 100vw);
    }
    .features-section .section-heading-lv2__inner {
        justify-content: end;
    }
    .features-section .l-section__content {
        position: relative;
        margin-top: calc(-128 / 750 * 100vw);
    }
    .features-list__container {
    }
    .features-list {
    }
    .features-list-item {
    }
    .features-list-item + .features-list-item {
        margin-top: calc(100 / 750 * 100vw);
    }
    .features-card {
    }
    .features-card__inner {
        display: flex;
        flex-direction: column-reverse;
        gap: calc(52 / 750 * 100vw);
    }
    .features-card-img {
        width: calc(706 / 750 * 100vw);
        margin-left: calc(-40 / 750 * 100vw);
    }
    .features-list-item:nth-child(even) .features-card-img {
        margin-left: calc(4 / 750 * 100vw);
    }
    .features-card-read {
    }
    .features-card-read-heading {
        margin-bottom: calc(36 / 750 * 100vw);
    }
    .features-card-read-heading-num {
        display: inline-block;
        position: relative;
        padding-right: calc(33 / 750 * 100vw);
        padding-bottom: calc(6 / 750 * 100vw);
        margin-bottom: calc(30 / 750 * 100vw);
    }
    .features-card-read-heading-num::before {
        content: "";
        display: block;
        background: var(--lp-c-main);
        width: calc(59 / 750 * 100vw);
        height: 1px;
        transform: rotate(-45deg);
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .features-card-read-heading-num__label {
        color: var(--lp-c-main);
        font-family: var(--lp-f-mincho);
        font-size: calc(30 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
        line-height: 1;
    }
    .features-card-read-heading-text {
    }
    .features-card-read-heading-text__label {
        color: var(--lp-c-main);
        font-family: var(--lp-f-mincho);
        font-size: calc(48 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        line-height: calc(68.02 / 54);
        letter-spacing: calc(20 / 1000 * 1em);
    }
    .features-card-read-text {
    }
    .features-card-read-text .c-txt {
        --line-height: 2;
        font-feature-settings: normal;
    }
    .features-card-read-text .c-note {
        margin-top: calc(18 / 750 * 100vw);
    }
    .features-card-read-text .c-note-text {
        line-height: 1.5;
        font-feature-settings: normal;
    }
    /* 匠 */
    .main-container--takumi .features-section .l-section__content {
        margin-top: calc(-132 / 750 * 100vw);
    }
    .features-tekumi {
    }
    .features-tekumi-heading {
        margin-bottom: calc(64 / 750 * 100vw);
    }
    .features-tekumi-heading__inner {
    }
    .features-tekumi-heading__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(40 / 750 * 100vw);
        font-weight: 600;
        letter-spacing: -0.09em;
        font-feature-settings: "palt";
        line-height: calc(72 / 40);
    }
    .features-tekumi-list__container {
    }
    .features-tekumi-list {
    }
    .features-tekumi-list-item {
    }
    .features-tekumi-list-item + .features-tekumi-list-item {
        margin-top: calc(60 / 750 * 100vw);
    }
    .features-tekumi-card {
        background: var(--lp-c-white);
        height: 100%;
        box-shadow: var(--lp-shadow-006);
    }
    .features-tekumi-card__inner {
        height: 100%;
        display: flex;
        flex-direction: column;
    }
    .features-tekumi-card-img {
    }
    .features-tekumi-card-read {
        flex-grow: 1;
    }
    .features-tekumi-card-read__inner {
        padding: calc(30 / 750 * 100vw) calc(40 / 750 * 100vw) calc(56 / 750 * 100vw);
        height: 100%;
    }
    .features-tekumi-card-read-heading {
        margin-bottom: calc(16 / 750 * 100vw);
    }
    .features-tekumi-card-read-heading__inner {
        text-align: center;
    }
    .features-tekumi-card-read-heading__sub {
        color: var(--lp-c-main-02);
        font-family: var(--lp-f-mincho);
        font-size: calc(32 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
    }
    .features-tekumi-card-read-heading__label {
        color: var(--lp-c-main-02);
        font-family: var(--lp-f-mincho);
        font-size: calc(44 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        letter-spacing: calc(20 / 1000 * 1em);
        line-height: 1.25;
    }
    .features-tekumi-card-read-text {
    }
    .features-tekumi-card-read-text .c-txt {
        line-height: 2;
        font-feature-settings: normal;
        text-align: center;
    }
}

/* --------------------------------------------------------------------------
MAIN
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .main-section {
        background: var(--lp-sec-bg-02);
    }
    .main-section__inner {
    }
    .main-section__body {
        padding-top: calc(120 / var(--lp-font) * 1em);
        padding-bottom: calc(94 / var(--lp-font) * 1em);
    }
    .main-section .l-section__column {
        flex-direction: row;
        gap: calc(20 / var(--lp-font) * 1em);
    }
    .main-section .l-section__column .l-section__content {
        max-width: calc(870 / var(--lp-font) * 1em);
        position: relative;
    }
    .main-intro {
        max-width: calc(1042 / var(--lp-font) * 1em);
        margin-right: calc(-171 / var(--lp-font) * 1em);
    }
    .main-intro__inner {
    }
    .main-intro-img {
    }
    /* こうじみそ */
    .koji-content {
        margin-top: calc(68 / var(--lp-font) * 1em);
    }
    .koji-content-read {
    }
    .koji-content-read-text {
    }
    .koji-content-read-text .c-txt {
        line-height: 2;
    }
    .koji-content-history {
        margin-top: calc(72 / var(--lp-font) * 1em);
    }
    /* 味の饗宴 */
    .kyoen-content {
        margin-top: calc(72 / var(--lp-font) * 1em);
    }
    .kyoen-content-heading {
    }
    .kyoen-content-heading__inner {
        text-align: center;
        padding-bottom: calc(38 / var(--lp-font) * 1em);
        margin-bottom: calc(32 / var(--lp-font) * 1em);
        position: relative;
    }
    .kyoen-content-heading__inner::before {
        content: "";
        display: block;
        background: url("../img/common/ico_deco.svg") no-repeat center / contain;
        width: calc(37 / var(--lp-font) * 1em);
        padding-top: calc(6 / var(--lp-font) * 1em);
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .kyoen-content-heading__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(28 / var(--lp-font) * 1em);
        font-weight: 600;
        line-height: 1.5;
    }
    .kyoen-content-read {
    }
    .kyoen-content-read-text {
    }
    .kyoen-content-read-text .c-txt {
        letter-spacing: calc(60 / 1000 * 1em);
    }
    .kyoen-content-read-text .c-txt + .c-txt {
        margin-top: calc(24 / var(--lp-font) * 1em);
    }
    .kyoen-content-read__column {
        display: flex;
        justify-content: space-between;
        gap: calc(20 / var(--lp-font) * 1em);
    }
    .kyoen-content-read__column .kyoen-content-read-text,
    .kyoen-content-read__column .kyoen-content-read-img {
        width: calc((100% - (40 / var(--lp-font) * 1em)) / 2);
    }
    .kyoen-content-read .kyoen-content-read-text + .kyoen-content-read__column {
        margin-top: calc(52 / var(--lp-font) * 1em);
    }
    .kyoen-content-read .kyoen-content-read__column + .kyoen-content-read-text {
        margin-top: calc(30 / var(--lp-font) * 1em);
    }
    .kyoen-content-read-img {
    }
    /* 匠 */
    .takumi-content {
        margin-top: calc(80 / var(--lp-font) * 1em);
    }
    .takumi-point-list {
    }
    .takumi-point-list-item {
        --thema-color: #3c3c3c;
    }
    .takumi-point-list-item + .takumi-point-list-item {
        margin-top: calc(32 / var(--lp-font) * 1em);
    }
    .takumi-point-list-item--01 {
    }
    .takumi-point-list-item--02 {
        --thema-color: var(--lp-c-takumi-koji);
    }
    .takumi-point-list-item--03 {
        --thema-color: var(--lp-c-takumi-shiro);
    }
    .takumi-point-card {
        position: relative;
        padding-top: calc(24 / var(--lp-font) * 1em);
        padding-left: calc(32 / var(--lp-font) * 1em);
    }
    .takumi-point-card__inner {
        background: var(--lp-c-white);
        padding-left: calc(48 / var(--lp-font) * 1em);
        padding-right: calc(44 / var(--lp-font) * 1em);
        min-height: calc(128 / var(--lp-font) * 1em);
        height: 0;
    }
    .takumi-point-card__body {
        padding-top: calc(48 / var(--lp-font) * 1em);
        padding-bottom: calc(20 / var(--lp-font) * 1em);
        height: 100%;
    }
    .takumi-point-card-heading {
        background: var(--thema-color);
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
    }
    .takumi-point-card-heading__inner {
        padding: calc(12 / var(--lp-font) * 1em) calc(40 / var(--lp-font) * 1em);
    }
    .takumi-point-card-heading__label {
        color: var(--lp-c-white);
        font-family: var(--lp-f-mincho);
        font-size: calc(21.5 / var(--lp-font) * 1em);
        font-weight: 600;
        font-feature-settings: "palt";
        line-height: 1.5;
    }
    .takumi-point-card-heading__label--sub {
        font-size: calc(20 / 21.5 * 1em);
        letter-spacing: calc(80 / 1000 * 1em);
    }
    .takumi-point-card-text {
    }
    .takumi-point-card-text .c-txt {
        line-height: 1.8;
        letter-spacing: calc(60 / 1000 * 1em);
    }
}
@media all and (max-width: 767px) {
    .main-section {
        background: var(--lp-sec-bg-02);
    }
    .main-section__inner {
    }
    .main-section__body {
        padding-top: calc(120 / 750 * 100vw);
        padding-bottom: calc(120 / 750 * 100vw);
    }
    .main-section .section-heading-lv2__inner {
        flex-direction: row-reverse;
        justify-content: start;
    }
    .main-section .section-heading-lv2-text__label {
        letter-spacing: calc(80 / 1000 * 1em);
    }
    .main-section .l-section__column {
        display: block;
        position: relative;
    }
    .main-intro {
        width: calc(529 / 750 * 100vw);
        margin-top: calc(120 / 750 * 100vw);
        margin-right: calc(-40 / 750 * 100vw);
        position: absolute;
        top: 0;
        right: 0;
    }
    .main-intro__inner {
    }
    .main-intro-img {
    }
    /* こうじみそ */
    .koji-content {
        margin-top: calc(68 / 750 * 100vw);
    }
    .koji-content-read {
    }
    .koji-content-read-text {
    }
    .koji-content-read-text .c-txt {
        line-height: 2;
    }
    .koji-content-history {
        margin-top: calc(72 / 750 * 100vw);
    }
    /* 味の饗宴 */
    .kyoen-content {
        margin-top: calc(72 / 750 * 100vw);
    }
    .kyoen-content-heading {
    }
    .kyoen-content-heading__inner {
        text-align: center;
        padding-bottom: calc(62 / 750 * 100vw);
        margin-bottom: calc(48 / 750 * 100vw);
        position: relative;
    }
    .kyoen-content-heading__inner::before {
        content: "";
        display: block;
        background: url("../img/common/ico_deco.svg") no-repeat center / contain;
        width: calc(63 / 750 * 100vw);
        padding-top: calc(10 / 750 * 100vw);
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .kyoen-content-heading__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(38 / 750 * 100vw);
        font-weight: bold;
        font-feature-settings: "palt";
        line-height: 1.5;
        letter-spacing: calc(40 / 1000 * 1em);
    }
    .kyoen-content-read {
    }
    .kyoen-content-read-text {
    }
    .kyoen-content-read-text .c-txt {
        line-height: 2;
        font-feature-settings: normal;
    }
    .kyoen-content-read-text .c-txt + .c-txt {
        margin-top: calc(34 / 750 * 100vw);
    }
    .kyoen-content-read__column {
        display: flex;
        flex-direction: column-reverse;
        gap: calc(38 / 750 * 100vw);
    }
    .kyoen-content-read .kyoen-content-read-text + .kyoen-content-read__column {
        margin-top: calc(52 / 750 * 100vw);
    }
    .kyoen-content-read .kyoen-content-read__column + .kyoen-content-read-text {
        margin-top: calc(30 / 750 * 100vw);
    }
    .kyoen-content-read-img {
        width: calc(700 / 750 * 100vw);
        margin-left: calc(-40 / 750 * 100vw);
    }
    /* 匠 */
    .takumi-content {
        margin-top: calc(140 / 750 * 100vw);
    }
    .takumi-point-list {
    }
    .takumi-point-list-item {
        --thema-color: #3c3c3c;
    }
    .takumi-point-list-item + .takumi-point-list-item {
        margin-top: calc(56 / 750 * 100vw);
    }
    .takumi-point-list-item--01 {
    }
    .takumi-point-list-item--02 {
        --thema-color: var(--lp-c-takumi-koji);
    }
    .takumi-point-list-item--03 {
        --thema-color: var(--lp-c-takumi-shiro);
    }
    .takumi-point-card {
        position: relative;
        padding-top: calc(40 / 750 * 100vw);
    }
    .takumi-point-card__inner {
        background: var(--lp-c-white);
        padding: 0 calc(40 / 750 * 100vw);
    }
    .takumi-point-card__body {
        padding-top: calc(100 / 750 * 100vw);
        padding-bottom: calc(58 / 750 * 100vw);
        height: 100%;
    }
    .takumi-point-list-item--02 .takumi-point-card__body,
    .takumi-point-list-item--03 .takumi-point-card__body {
        padding-top: calc(142 / 750 * 100vw);
    }
    .takumi-point-card-heading {
        background: var(--thema-color);
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
    }
    .takumi-point-card-heading__inner {
        padding: calc(21 / 750 * 100vw) calc(38 / 750 * 100vw);
        padding-left: calc(69 / 750 * 100vw);
        min-width: calc(340 / 750 * 100vw);
    }
    .takumi-point-card-heading__label {
        color: var(--lp-c-white);
        font-family: var(--lp-f-mincho);
        font-size: calc(36 / 750 * 100vw);
        font-weight: 600;
        font-feature-settings: "palt";
        line-height: 1.5;
        display: flex;
        align-items: start;
    }
    .takumi-point-card-heading__label--sub {
        font-size: calc(34 / 750 * 100vw);
        letter-spacing: calc(80 / 1000 * 1em);
    }
    .takumi-point-card-text {
    }
    .takumi-point-card-text .c-txt {
        font-feature-settings: normal;
    }
}

/* --------------------------------------------------------------------------
PRODUCT
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
    .product-section {
    }
    .product-section__inner {
    }
    .product-section__body {
        padding-top: calc(64 / var(--lp-font) * 1em);
        padding-bottom: calc(64 / var(--lp-font) * 1em);
    }
    .product-takumi-heading {
        text-align: center;
        margin-bottom: calc(32 / var(--lp-font) * 1em);
    }
    .product-takumi-heading__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(20 / var(--lp-font) * 1em);
        font-feature-settings: "palt";
        letter-spacing: calc(50 / 1000 * 1em);
    }
    .product-content-list {
        display: flex;
        gap: min(40px, calc(40 / 1366 * 100vw));
    }
    .product-content-list-item {
        width: calc((100% - min(40px, calc(40 / 1366 * 100vw))) / 2);
    }
    .product-content {
    }
    .product-content__inner {
        display: flex;
        justify-content: center;
        gap: calc(29 / var(--lp-font) * 1em);
        align-items: center;
    }
    .product-content-list .product-content__inner {
        justify-content: start;
    }
    .product-content-img {
        width: calc(169 / var(--lp-font) * 1em);
    }
    .main-container--kyoen .product-content-img {
        width: calc(193 / var(--lp-font) * 1em);
    }
    .product-content-read {
    }
    .product-content-read__inner {
    }
    .product-content-read-copy {
        margin-bottom: calc(8 / var(--lp-font) * 1em);
    }
    .product-content-read-copy-text {
    }
    .product-content-read-copy-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(16 / var(--lp-font) * 1em);
        font-weight: 400;
        line-height: 1.5;
    }
    .product-content-read-name {
    }
    .product-content-read-name-text {
    }
    .product-content-read-name-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(28 / var(--lp-font) * 1em);
        font-weight: 700;
        font-feature-settings: "palt";
        letter-spacing: calc(50 / 1000 * 1em);
        line-height: 1.4;
    }
    .product-content-read-btn {
        margin-top: calc(16 / var(--lp-font) * 1em);
        width: calc(267 / var(--lp-font) * 1em);
    }
    .product-content-read-btn .c-btn {
        min-height: calc(54 / var(--lp-font) * 1em);
    }
}
@media all and (max-width: 767px) {
    .product-section {
    }
    .product-section__inner {
    }
    .product-section__body {
        padding-top: calc(110 / 750 * 100vw);
        padding-bottom: calc(120 / 750 * 100vw);
    }
    .product-takumi-heading {
        text-align: center;
        margin-bottom: calc(50 / 750 * 100vw);
    }
    .product-takumi-heading__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(32 / 750 * 100vw);
        font-feature-settings: "palt";
        letter-spacing: calc(50 / 1000 * 1em);
    }
    .product-content-list {
    }
    .product-content-list-item {
    }
    .product-content-list-item + .product-content-list-item {
        margin-top: calc(90 / 750 * 100vw);
    }
    .product-content {
    }
    .product-content__inner {
        display: flex;
        gap: calc(46 / 750 * 100vw);
        align-items: center;
        position: relative;
        padding-top: calc(128 / 750 * 100vw);
        padding-bottom: calc(170 / 750 * 100vw);
    }
    .product-content-list .product-content__inner {
        justify-content: start;
        padding-top: 0;
    }
    .product-content-img {
        width: calc(206 / 750 * 100vw);
        flex-shrink: 0;
    }
    .main-container--kyoen .product-content-img {
        width: calc(225 / 750 * 100vw);
    }
    .main-container--kyoen .product-content__inner {
        gap: calc(34 / 750 * 100vw);
    }
    .product-content-read {
    }
    .product-content-read__inner {
    }
    .product-content-read-copy {
        width: 100%;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .product-content-read-copy-text {
        text-align: center;
    }
    .product-content-read-copy-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(32 / 750 * 100vw);
        font-weight: 400;
        line-height: 1.5;
    }
    .product-content-read-name {
    }
    .product-content-read-name-text {
    }
    .product-content-read-name-text__label {
        font-family: var(--lp-f-mincho);
        font-size: calc(44 / 750 * 100vw);
        font-weight: 700;
        font-feature-settings: "palt";
        letter-spacing: calc(10 / 1000 * 1em);
        line-height: calc(72 / 44);
    }
    .product-content-read-btn {
        width: 100%;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}