@charset "UTF-8";

/* 273210 吉野葛専用。共通CSSへ影響しないようページID配下に限定する。 */
#yoshino-kuzu-page {
    --kuzu-green: #456e5b;
    --kuzu-green-dark: #28493c;
    --kuzu-green-pale: #e7f1eb;
    --kuzu-gold: #c39a3b;
    --kuzu-gold-pale: #f7eed2;
    --kuzu-paper: #fffdf8;
    --kuzu-ink: #2c302c;
    --kuzu-muted: #667068;
    --kuzu-line: #d8dfda;
    color: var(--kuzu-ink);
    background: var(--kuzu-paper);
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

#yoshino-kuzu-page *,
#yoshino-kuzu-page *::before,
#yoshino-kuzu-page *::after {
    box-sizing: border-box;
}

#yoshino-kuzu-page img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

#yoshino-kuzu-page a {
    color: inherit;
}

#yoshino-kuzu-page .kuzu-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

#yoshino-kuzu-page .kuzu-container,
#yoshino-kuzu-page .kuzu-breadcrumb {
    width: min(1120px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}

#yoshino-kuzu-page .kuzu-breadcrumb {
    padding: 18px 0;
    color: var(--kuzu-muted);
    font-size: 14px;
}

#yoshino-kuzu-page .kuzu-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#yoshino-kuzu-page .kuzu-breadcrumb li:not(:last-child)::after {
    margin-left: 10px;
    color: #9ca69e;
    content: ">";
}

#yoshino-kuzu-page .kuzu-breadcrumb a:hover,
#yoshino-kuzu-page .kuzu-breadcrumb a:focus {
    color: var(--kuzu-green-dark);
}

#yoshino-kuzu-page .kuzu-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(820px, calc(100vh - 80px));
    padding: 0;
    overflow: hidden;
    isolation: isolate;
    background-color: #f3efe2;
    background-image: url("/jp/mn/273210/img/top.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#yoshino-kuzu-page .kuzu-hero__inner {
    position: relative;
    z-index: 2;
    width: min(700px, 100%);
    padding: 58px 48px;
    border: 1px solid rgba(69, 110, 91, .25);
    background: rgba(255, 253, 248, .83);
    box-shadow: 0 22px 65px rgba(43, 60, 48, .12);
    text-align: center;
    backdrop-filter: blur(3px);
}

#yoshino-kuzu-page .kuzu-hero__inner::before,
#yoshino-kuzu-page .kuzu-hero__inner::after {
    position: absolute;
    width: 44px;
    height: 44px;
    border-color: var(--kuzu-gold);
    content: "";
}

#yoshino-kuzu-page .kuzu-hero__inner::before {
    top: 12px;
    left: 12px;
    border-top: 2px solid var(--kuzu-gold);
    border-left: 2px solid var(--kuzu-gold);
}

#yoshino-kuzu-page .kuzu-hero__inner::after {
    right: 12px;
    bottom: 12px;
    border-right: 2px solid var(--kuzu-gold);
    border-bottom: 2px solid var(--kuzu-gold);
}

#yoshino-kuzu-page .kuzu-hero__eyebrow,
#yoshino-kuzu-page .kuzu-heading__en {
    margin: 0 0 8px;
    color: var(--kuzu-green);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .22em;
}

#yoshino-kuzu-page .kuzu-hero h1 {
    margin: 0 0 22px;
    color: var(--kuzu-green-dark);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    font-size: clamp(52px, 7.4vw, 92px);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: .18em;
    text-indent: .18em;
}

#yoshino-kuzu-page .kuzu-hero__copy {
    max-width: 570px;
    margin: 0 auto 30px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 2;
}

#yoshino-kuzu-page .kuzu-hero__copy p {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-hero__copy p + p {
    margin-top: 8px;
}

#yoshino-kuzu-page .kuzu-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 11px 27px;
    border-radius: 999px;
    color: #fff;
    background: var(--kuzu-green-dark);
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, transform .2s ease;
}

#yoshino-kuzu-page .kuzu-hero__button:hover,
#yoshino-kuzu-page .kuzu-hero__button:focus {
    background: #1f392f;
    transform: translateY(-2px);
}

#yoshino-kuzu-page .kuzu-hero__leaf {
    position: absolute;
    z-index: 1;
    top: 50%;
    width: clamp(76px, 7.2vw, 137px);
    opacity: .92;
    filter: drop-shadow(0 10px 18px rgba(31, 57, 47, .16));
}

#yoshino-kuzu-page .kuzu-hero__leaf--left {
    left: calc(50% - 260px);
    transform: translateY(-50%);
}

#yoshino-kuzu-page .kuzu-hero__leaf--right {
    right: calc(50% - 260px);
    transform: translateY(-50%);
}

#yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__leaf--left {
    animation: kuzu-leaf-left 5.2s cubic-bezier(.22,.72,.22,1) both;
}

#yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__leaf--right {
    animation: kuzu-leaf-right 5.2s cubic-bezier(.22,.72,.22,1) both;
}

#yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__inner {
    animation: kuzu-copy-in 2.1s .45s ease both;
}

@keyframes kuzu-leaf-left {
    0% { opacity: .92; transform: translateY(-50%) scale(1); }
    36% { opacity: 0; transform: translate(-88px, -112%) rotate(-5deg) scale(.88); }
    42% { opacity: 0; transform: translateY(-50%) scale(.92); }
    100% { opacity: .92; transform: translateY(-50%) scale(1); }
}

@keyframes kuzu-leaf-right {
    0% { opacity: .92; transform: translateY(-50%) scale(1); }
    36% { opacity: 0; transform: translate(88px, -112%) rotate(5deg) scale(.88); }
    42% { opacity: 0; transform: translateY(-50%) scale(.92); }
    100% { opacity: .92; transform: translateY(-50%) scale(1); }
}

@keyframes kuzu-copy-in {
    0% { opacity: 0; transform: translateY(22px); }
    100% { opacity: 1; transform: translateY(0); }
}

#yoshino-kuzu-page .kuzu-section {
    padding: 88px 0;
}

#yoshino-kuzu-page .kuzu-section--intro {
    background: #fff;
}

#yoshino-kuzu-page .kuzu-product {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
    gap: 70px;
    align-items: center;
}

#yoshino-kuzu-page .kuzu-product__copy h2,
#yoshino-kuzu-page .kuzu-heading h2,
#yoshino-kuzu-page .kuzu-caution h2,
#yoshino-kuzu-page .kuzu-section--links h2 {
    margin: 0 0 22px;
    color: var(--kuzu-green-dark);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    font-size: clamp(29px, 4vw, 44px);
    font-weight: 600;
    line-height: 1.55;
}

#yoshino-kuzu-page .kuzu-product__copy > p:not(.kuzu-heading__en) {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-product__copy > p + p {
    margin-top: 14px;
}

#yoshino-kuzu-page .kuzu-product__lead {
    color: var(--kuzu-green-dark);
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
    font-size: clamp(18px, 2.2vw, 23px);
    font-weight: 600;
    line-height: 1.9;
}

#yoshino-kuzu-page .kuzu-feature-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 30px 0 0;
    padding: 0;
    list-style: none;
}

#yoshino-kuzu-page .kuzu-feature-list li {
    padding: 17px 14px;
    border-top: 3px solid var(--kuzu-gold);
    background: var(--kuzu-gold-pale);
}

#yoshino-kuzu-page .kuzu-feature-list strong,
#yoshino-kuzu-page .kuzu-feature-list span {
    display: block;
}

#yoshino-kuzu-page .kuzu-intro__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin-top: 28px;
    padding: 11px 27px;
    border-radius: 999px;
    color: #fff;
    background: var(--kuzu-green-dark);
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, transform .2s ease;
}

#yoshino-kuzu-page .kuzu-intro__button:hover,
#yoshino-kuzu-page .kuzu-intro__button:focus {
    background: #1f392f;
    transform: translateY(-2px);
}

#yoshino-kuzu-page .kuzu-feature-list strong {
    color: var(--kuzu-green-dark);
    font-size: 14px;
}

#yoshino-kuzu-page .kuzu-feature-list span {
    margin-top: 4px;
    color: var(--kuzu-muted);
    font-size: 13px;
}

#yoshino-kuzu-page .kuzu-gallery {
    width: min(100%, 430px);
    margin: 0 auto;
}

#yoshino-kuzu-page .kuzu-gallery button {
    font: inherit;
}

#yoshino-kuzu-page .kuzu-gallery__main {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 520px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid var(--kuzu-line);
    border-radius: 22px;
    background: linear-gradient(180deg, #f0f6f2 0%, #fff 100%);
    cursor: zoom-in;
}

#yoshino-kuzu-page .kuzu-gallery__main img {
    max-height: 470px;
    object-fit: contain;
    filter: drop-shadow(0 15px 20px rgba(44, 48, 44, .14));
}

#yoshino-kuzu-page .kuzu-gallery__main > span {
    position: absolute;
    right: 16px;
    bottom: 14px;
    padding: 5px 11px;
    border-radius: 999px;
    color: #fff;
    background: rgba(40, 73, 60, .88);
    font-size: 12px;
    font-weight: 700;
}

#yoshino-kuzu-page .kuzu-gallery__thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

#yoshino-kuzu-page .kuzu-gallery__thumb {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 70px;
    padding: 7px 12px;
    border: 2px solid transparent;
    border-radius: 12px;
    color: var(--kuzu-green-dark);
    background: #edf3ef;
    cursor: pointer;
}

#yoshino-kuzu-page .kuzu-gallery__thumb img {
    width: 42px;
    height: 54px;
    object-fit: contain;
}

#yoshino-kuzu-page .kuzu-gallery__thumb span {
    font-weight: 700;
}

#yoshino-kuzu-page .kuzu-gallery__thumb.is-active,
#yoshino-kuzu-page .kuzu-gallery__thumb:hover,
#yoshino-kuzu-page .kuzu-gallery__thumb:focus {
    border-color: var(--kuzu-green);
    background: #fff;
}

#yoshino-kuzu-page .kuzu-heading {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

#yoshino-kuzu-page .kuzu-heading h2 {
    margin-bottom: 14px;
}

#yoshino-kuzu-page .kuzu-heading > p:last-child {
    margin: 0;
    color: var(--kuzu-muted);
}

#yoshino-kuzu-page .kuzu-section--recipes {
    background: var(--kuzu-green-pale);
}

#yoshino-kuzu-page .kuzu-process {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr);
    gap: 0;
    align-items: stretch;
    margin-bottom: 38px;
    overflow: hidden;
    border-radius: 24px;
    background: var(--kuzu-green-dark);
    box-shadow: 0 12px 36px rgba(40, 73, 60, .1);
}

#yoshino-kuzu-page .kuzu-process img {
    width: 100%;
    height: 100%;
    min-height: 350px;
    object-fit: cover;
}

#yoshino-kuzu-page .kuzu-process > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 38px;
    color: #fff;
}

#yoshino-kuzu-page .kuzu-process h3 {
    margin: 0 0 16px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: clamp(25px, 3.4vw, 38px);
    line-height: 1.55;
}

#yoshino-kuzu-page .kuzu-process p:last-child {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-recipe {
    overflow: hidden;
    border: 1px solid rgba(69, 110, 91, .18);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(40, 73, 60, .08);
}

#yoshino-kuzu-page .kuzu-recipe + .kuzu-recipe {
    margin-top: 30px;
}

#yoshino-kuzu-page .kuzu-recipe__visual {
    height: 360px;
    margin: 0;
    overflow: hidden;
    background: #edf2ee;
}

#yoshino-kuzu-page .kuzu-recipe__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#yoshino-kuzu-page .kuzu-recipe__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 24px 30px;
    color: #fff;
    background: var(--kuzu-green-dark);
}

#yoshino-kuzu-page .kuzu-recipe--sweet .kuzu-recipe__header {
    background: #8a6431;
}

#yoshino-kuzu-page .kuzu-recipe--sesame .kuzu-recipe__header {
    background: #526b45;
}

#yoshino-kuzu-page .kuzu-recipe__header p,
#yoshino-kuzu-page .kuzu-recipe__header h3 {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-recipe__header p {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .15em;
}

#yoshino-kuzu-page .kuzu-recipe__header h3 {
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 29px;
    line-height: 1.4;
}

#yoshino-kuzu-page .kuzu-recipe__header > span {
    padding: 5px 13px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

#yoshino-kuzu-page .kuzu-recipe__body {
    display: grid;
    grid-template-columns: minmax(240px, .78fr) minmax(0, 1.22fr);
    gap: 46px;
    padding: 34px 36px 38px;
}

#yoshino-kuzu-page .kuzu-recipe__body h4 {
    margin: 0 0 14px;
    color: var(--kuzu-green-dark);
    font-size: 18px;
}

#yoshino-kuzu-page .kuzu-recipe__ingredients dl {
    margin: 0;
    border-top: 1px solid var(--kuzu-line);
}

#yoshino-kuzu-page .kuzu-recipe__ingredients dl > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    padding: 10px 4px;
    border-bottom: 1px solid var(--kuzu-line);
}

#yoshino-kuzu-page .kuzu-recipe__ingredients dt,
#yoshino-kuzu-page .kuzu-recipe__ingredients dd {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-recipe__ingredients dd {
    font-weight: 700;
}

#yoshino-kuzu-page .kuzu-recipe__ingredients > p {
    margin: 12px 0 0;
    color: var(--kuzu-muted);
    font-size: 13px;
}

#yoshino-kuzu-page .kuzu-steps {
    display: grid;
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#yoshino-kuzu-page .kuzu-steps li {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

#yoshino-kuzu-page .kuzu-steps span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    color: #fff;
    background: var(--kuzu-gold);
    font-weight: 800;
}

#yoshino-kuzu-page .kuzu-steps p {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-mini-caution,
#yoshino-kuzu-page .kuzu-mini-note {
    margin: 24px 0 0;
    padding: 16px 20px;
    border-left: 4px solid var(--kuzu-gold);
    background: #fff8e5;
    color: var(--kuzu-muted);
    font-size: 14px;
}

#yoshino-kuzu-page .kuzu-mini-note {
    border-left-color: var(--kuzu-green);
    background: #eef5f0;
}

#yoshino-kuzu-page .kuzu-section--product {
    background: #f6f2e8;
}

#yoshino-kuzu-page .kuzu-product-table {
    max-width: 900px;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--kuzu-line);
    border-radius: 16px;
    background: #fff;
}

#yoshino-kuzu-page .kuzu-product-table > div {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    border-bottom: 1px solid var(--kuzu-line);
}

#yoshino-kuzu-page .kuzu-product-table > div:last-child {
    border-bottom: 0;
}

#yoshino-kuzu-page .kuzu-product-table dt,
#yoshino-kuzu-page .kuzu-product-table dd {
    margin: 0;
    padding: 14px 18px;
}

#yoshino-kuzu-page .kuzu-product-table dt {
    color: var(--kuzu-green-dark);
    background: #e8f0eb;
    font-weight: 700;
}

#yoshino-kuzu-page .kuzu-nutrition {
    max-width: 900px;
    margin: 24px auto 0;
    padding: 24px;
    border-radius: 16px;
    background: #fff;
}

#yoshino-kuzu-page .kuzu-nutrition h3 {
    margin: 0 0 15px;
    color: var(--kuzu-green-dark);
    font-size: 19px;
}

#yoshino-kuzu-page .kuzu-nutrition dl {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

#yoshino-kuzu-page .kuzu-nutrition dl > div {
    padding: 12px 8px;
    border-radius: 10px;
    background: var(--kuzu-paper);
    text-align: center;
}

#yoshino-kuzu-page .kuzu-nutrition dt,
#yoshino-kuzu-page .kuzu-nutrition dd {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-nutrition dt {
    color: var(--kuzu-muted);
    font-size: 12px;
}

#yoshino-kuzu-page .kuzu-nutrition dd {
    color: var(--kuzu-green-dark);
    font-weight: 800;
}

#yoshino-kuzu-page .kuzu-section--tips {
    background: #fff;
}

#yoshino-kuzu-page .kuzu-tips {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

#yoshino-kuzu-page .kuzu-tips article {
    padding: 28px 24px;
    border: 1px solid var(--kuzu-line);
    border-radius: 16px;
    background: var(--kuzu-paper);
}

#yoshino-kuzu-page .kuzu-tips span {
    display: block;
    margin-bottom: 16px;
    color: var(--kuzu-gold);
    font-family: Georgia, serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}

#yoshino-kuzu-page .kuzu-tips h3 {
    margin: 0 0 10px;
    color: var(--kuzu-green-dark);
    font-size: 19px;
    line-height: 1.5;
}

#yoshino-kuzu-page .kuzu-tips p {
    margin: 0;
}

#yoshino-kuzu-page .kuzu-section--caution {
    padding-top: 60px;
    padding-bottom: 60px;
    background: #fff8e5;
}

#yoshino-kuzu-page .kuzu-caution {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 24px;
}

#yoshino-kuzu-page .kuzu-caution__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    color: #fff;
    background: #a86c1f;
    font-size: 31px;
    font-weight: 900;
}

#yoshino-kuzu-page .kuzu-caution h2 {
    margin-bottom: 14px;
    color: #704713;
    font-size: clamp(25px, 3vw, 34px);
}

#yoshino-kuzu-page .kuzu-caution ul {
    margin: 0;
    padding-left: 1.4em;
}

#yoshino-kuzu-page .kuzu-caution li + li {
    margin-top: 7px;
}

#yoshino-kuzu-page .kuzu-section--links {
    padding-top: 62px;
    padding-bottom: 70px;
    color: #fff;
    background: var(--kuzu-green-dark);
    text-align: center;
}

#yoshino-kuzu-page .kuzu-section--links h2 {
    color: #fff;
    font-size: 31px;
}

#yoshino-kuzu-page .kuzu-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
}

#yoshino-kuzu-page .kuzu-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 11px 24px;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 999px;
    color: #fff;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition: background-color .2s ease, transform .2s ease;
}

#yoshino-kuzu-page .kuzu-links a:hover,
#yoshino-kuzu-page .kuzu-links a:focus {
    background: rgba(255,255,255,.12);
    transform: translateY(-2px);
}

#yoshino-kuzu-page .kuzu-links .kuzu-links__shop {
    border-color: #fff;
    color: var(--kuzu-green-dark);
    background: #fff;
}

body.kuzu-lightbox-open {
    overflow: hidden;
}

#yoshino-kuzu-page .kuzu-lightbox {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

#yoshino-kuzu-page .kuzu-lightbox.is-open {
    display: flex;
}

#yoshino-kuzu-page .kuzu-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(13, 24, 19, .82);
}

#yoshino-kuzu-page .kuzu-lightbox__panel {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

#yoshino-kuzu-page .kuzu-lightbox__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 18px;
    border-bottom: 1px solid var(--kuzu-line);
}

#yoshino-kuzu-page .kuzu-lightbox__header h2 {
    margin: 0;
    color: var(--kuzu-green-dark);
    font-size: 18px;
}

#yoshino-kuzu-page .kuzu-lightbox__close {
    min-height: 40px;
    padding: 7px 15px;
    border: 1px solid var(--kuzu-green);
    border-radius: 999px;
    color: var(--kuzu-green-dark);
    background: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

#yoshino-kuzu-page .kuzu-lightbox__body {
    display: flex;
    justify-content: center;
    padding: 22px;
    background: #eef3ef;
}

#yoshino-kuzu-page .kuzu-lightbox__body img {
    max-height: calc(100vh - 150px);
    object-fit: contain;
}

#yoshino-kuzu-page .js-kuzu-reveal {
    opacity: 1;
    transform: none;
}

#yoshino-kuzu-page .js-kuzu-reveal.is-reveal-ready {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .8s ease, transform .8s ease;
}

#yoshino-kuzu-page .js-kuzu-reveal.is-reveal-ready.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1000px) {
    #yoshino-kuzu-page .kuzu-hero {
        background-position: center center;
        background-size: auto 100%;
    }

    #yoshino-kuzu-page .kuzu-hero__leaf--left {
        left: calc(50% - 160px);
    }

    #yoshino-kuzu-page .kuzu-hero__leaf--right {
        right: calc(50% - 160px);
    }

    #yoshino-kuzu-page .kuzu-product {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    #yoshino-kuzu-page .kuzu-process {
        grid-template-columns: 1fr;
    }

    #yoshino-kuzu-page .kuzu-process img {
        max-height: 500px;
    }

    #yoshino-kuzu-page .kuzu-tips {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    #yoshino-kuzu-page {
        font-size: 15px;
    }

    #yoshino-kuzu-page .kuzu-container,
    #yoshino-kuzu-page .kuzu-breadcrumb {
        width: min(100% - 30px, 1120px);
    }

    #yoshino-kuzu-page .kuzu-breadcrumb {
        padding-top: 12px;
        padding-bottom: 12px;
        font-size: 12px;
    }

    #yoshino-kuzu-page .kuzu-hero {
        height: 72vh;
        height: clamp(500px, 72svh, 620px);
        min-height: 500px;
        padding: 0;
        background-attachment: scroll;
        background-position: center center;
        background-size: auto 100%;
    }

    #yoshino-kuzu-page .kuzu-hero__inner {
        padding: 44px 22px;
    }

    #yoshino-kuzu-page .kuzu-hero h1 {
        font-size: clamp(44px, 15vw, 64px);
        letter-spacing: .1em;
        text-indent: .1em;
    }

    #yoshino-kuzu-page .kuzu-hero__copy {
        font-size: 16px;
        line-height: 1.9;
    }

    #yoshino-kuzu-page .kuzu-hero__leaf {
        top: 50%;
        width: clamp(58px, 17vw, 72px);
        opacity: .72;
    }

    #yoshino-kuzu-page .kuzu-hero__leaf--left {
        left: calc(50% - 112px);
    }

    #yoshino-kuzu-page .kuzu-hero__leaf--right {
        right: calc(50% - 112px);
    }

    #yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__leaf--left {
        animation-name: kuzu-leaf-left-mobile;
    }

    #yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__leaf--right {
        animation-name: kuzu-leaf-right-mobile;
    }

    @keyframes kuzu-leaf-left-mobile {
        0% { opacity: .72; transform: translateY(-50%) scale(1); }
        36% { opacity: 0; transform: translate(-32px, -92%) rotate(-5deg) scale(.88); }
        42% { opacity: 0; transform: translateY(-50%) scale(.92); }
        100% { opacity: .72; transform: translateY(-50%) scale(1); }
    }

    @keyframes kuzu-leaf-right-mobile {
        0% { opacity: .72; transform: translateY(-50%) scale(1); }
        36% { opacity: 0; transform: translate(32px, -92%) rotate(5deg) scale(.88); }
        42% { opacity: 0; transform: translateY(-50%) scale(.92); }
        100% { opacity: .72; transform: translateY(-50%) scale(1); }
    }

    #yoshino-kuzu-page .kuzu-section {
        padding: 62px 0;
    }

    #yoshino-kuzu-page .kuzu-feature-list {
        grid-template-columns: 1fr;
    }

    #yoshino-kuzu-page .kuzu-gallery__main {
        min-height: 430px;
        padding: 20px;
    }

    #yoshino-kuzu-page .kuzu-gallery__main img {
        max-height: 390px;
    }

    #yoshino-kuzu-page .kuzu-process > div {
        padding: 28px 22px;
    }

    #yoshino-kuzu-page .kuzu-process img {
        min-height: 0;
        aspect-ratio: 4 / 3;
    }

    #yoshino-kuzu-page .kuzu-recipe__visual {
        height: auto;
        aspect-ratio: 4 / 3;
    }

    #yoshino-kuzu-page .kuzu-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    #yoshino-kuzu-page .kuzu-recipe__header {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 22px 20px;
    }

    #yoshino-kuzu-page .kuzu-recipe__header > span {
        justify-self: start;
        margin-top: 5px;
    }

    #yoshino-kuzu-page .kuzu-recipe__body {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 26px 20px 30px;
    }

    #yoshino-kuzu-page .kuzu-product-table > div {
        grid-template-columns: 1fr;
    }

    #yoshino-kuzu-page .kuzu-product-table dt {
        padding-bottom: 7px;
    }

    #yoshino-kuzu-page .kuzu-product-table dd {
        padding-top: 7px;
    }

    #yoshino-kuzu-page .kuzu-nutrition dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #yoshino-kuzu-page .kuzu-lightbox {
        padding: 12px;
    }

    #yoshino-kuzu-page .kuzu-tips {
        grid-template-columns: 1fr;
    }

    #yoshino-kuzu-page .kuzu-caution {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    #yoshino-kuzu-page .kuzu-links,
    #yoshino-kuzu-page .kuzu-links a {
        width: 100%;
    }
}

@media (max-width: 900px) and (orientation: landscape) {
    #yoshino-kuzu-page .kuzu-hero {
        height: 420px;
        min-height: 420px;
        background-size: auto 100%;
    }

    #yoshino-kuzu-page .kuzu-hero__leaf {
        top: 50%;
        width: 56px;
    }

    #yoshino-kuzu-page .kuzu-hero__leaf--left {
        left: calc(50% - 98px);
    }

    #yoshino-kuzu-page .kuzu-hero__leaf--right {
        right: calc(50% - 98px);
    }
}

@media (prefers-reduced-motion: reduce) {
    #yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__leaf,
    #yoshino-kuzu-page .kuzu-hero.is-animated .kuzu-hero__inner {
        animation: none;
    }

    #yoshino-kuzu-page .js-kuzu-reveal.is-reveal-ready {
        opacity: 1;
        transform: none;
        transition: none;
    }

    #yoshino-kuzu-page .kuzu-hero__button,
    #yoshino-kuzu-page .kuzu-links a {
        transition: none;
    }
}

@media print {
    #yoshino-kuzu-page .kuzu-breadcrumb,
    #yoshino-kuzu-page .kuzu-hero__button,
    #yoshino-kuzu-page .kuzu-section--links,
    #yoshino-kuzu-page .kuzu-lightbox {
        display: none !important;
    }

    #yoshino-kuzu-page .kuzu-hero {
        min-height: 0;
        padding: 40px 20px;
        background: #fff;
    }

    #yoshino-kuzu-page .kuzu-hero__leaf {
        display: none;
    }

    #yoshino-kuzu-page .kuzu-section {
        padding: 34px 0;
    }

    #yoshino-kuzu-page .js-kuzu-reveal.is-reveal-ready {
        opacity: 1;
        transform: none;
    }
}
