/* お弁当ページ：メニュー部分のデザイン
   各区分をカードにし、明朝体の見出し・点線の行・右そろえの価格で構成する。
   「ダブル弁当」は 通常／ダブル の2列にし、ダブル列だけ薄く色を敷く。
   page_lunch.php から layout.css のあとに読み込む。 2026-11-08 */

#lunch-page .lunch-menu {
    --ink: #241f1a;
    --muted: #7a6e5e;
    --wine: #8c1d22;
    --navy: #27337a;
    --gold: #a8864c;
    --line: #cfc2a3;
    --mincho: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Noto Serif JP", "MS PMincho", serif;
}

/* ---------- 全体：左右の列に余白をとる ---------- */
#lunch-page .lunch-menu .container {
    padding: 30px 40px 24px;
}
#lunch-page .lunch-menu .lunch-menu-main {
    margin-left: -14px;
    margin-right: -14px;
}
#lunch-page .lunch-menu .lunch-menu-main > div.col-sm-6,
#lunch-page .lunch-menu .lunch-menu-main > div.lunch-menu-single {
    padding: 0 14px;
}
#lunch-page .lunch-menu .lunch-menu-main > div.lunch-menu-single {
    clear: both;
}

/* ---------- カード ---------- */
#lunch-page .lunch-menu .lunch-menu-main > div > dl {
    position: relative;
    margin: 44px 0 0;
    padding: 0 22px 18px;
    background: rgba(255, 252, 246, 0.88);
    border: 1px solid rgba(120, 96, 56, 0.22);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(60, 40, 15, 0.08);
}
#lunch-page .lunch-menu .lunch-menu-main > div > dl:first-child {
    margin-top: 34px;
}

/* ---------- 見出し ---------- */
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dt {
    position: relative;
    height: auto;
    margin: 0;
    padding: 22px 124px 14px 0;
    background: none;
    border-bottom: 3px double var(--gold);
    color: var(--ink);
    font-family: var(--mincho);
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.35;
}
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dt::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 0.95em;
    margin-right: 12px;
    background: var(--wine);
    border-radius: 1px;
    vertical-align: -0.1em;
}
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dt span {
    margin-left: 0.7em;
    color: var(--muted);
    font-family: var(--mincho);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.06em;
}
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dt span.block {
    display: block;
    margin: 4px 0 0 17px;
}
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dt img,
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dt img.long {
    position: absolute;
    top: -34px;
    right: -8px;
    width: auto;
    height: 96px;
    filter: drop-shadow(0 5px 6px rgba(40, 25, 10, 0.22));
}
#lunch-page .lunch-menu .lunch-menu-main > div > dl > dd {
    padding: 12px 0 0;
}

/* ---------- 一覧の共通 ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price {
    margin: 0;
    padding: 0;
    list-style: none;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    border-bottom: 1px dotted var(--line);
    color: var(--ink);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    background-position: 0 50%;
    background-size: 24px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li:last-child {
    border-bottom: 0;
}
/* DXマークの列をあける */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.dxcol li,
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.has-w li {
    padding-left: 32px;
}

/* 商品名 */
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .nm {
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 10px 10px 0;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .nm small.sub {
    display: block;
    margin-top: 1px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .nm small.sub.w {
    color: var(--navy);
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .nm small.recommend {
    margin-left: 0.6em;
    color: #c8161d;
    font-size: 12px;
    font-weight: 700;
}

#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .nm .nw {
    white-space: nowrap;
}

/* 価格 */
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .pr,
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .pw {
    flex: 0 0 76px;
    padding: 9px 0;
    font-family: var(--mincho);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
    text-align: right;
    white-space: nowrap;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .pr {
    color: var(--wine);
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li small.yen {
    margin-left: 2px;
    font-family: inherit;
    font-size: 0.58em;
    font-weight: 700;
}

/* ---------- 通常／ダブル の2列 ---------- */
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .pr {
    flex-basis: 74px;
    padding-right: 10px;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .pw {
    flex-basis: 86px;
    padding-right: 10px;
    background: rgba(39, 51, 122, 0.085);
    color: var(--navy);
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .pw.na {
    color: #b9ae9a;
    font-weight: 400;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .pw small.w-sub {
    display: block;
    margin-top: -3px;
    color: #c2467d;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .nm {
    font-size: 16px;
}
/* 列の見出し行 */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.cols {
    border-bottom: 0;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.cols .pr,
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.cols .pw {
    padding-top: 4px;
    padding-bottom: 4px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.25em;
    color: var(--muted);
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.cols .pw {
    border-radius: 6px 6px 0 0;
    color: var(--navy);
}

/* ---------- 見出し行（人気NO.〇など） ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.note-row {
    border-bottom: 0;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.note-row .nm {
    padding: 12px 0 2px;
    color: var(--wine);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

/* ---------- 親の行＋追加行を同じくくりにする（炙りチャーシュー丼＋マヨネーズ追加） ----------
   区切りの点線は、くくりの最後（マヨネーズ追加の下）にだけ引く */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.grp-head {
    border-bottom: 0;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.grp-head .nm {
    padding-bottom: 2px;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.grp-head .pr {
    padding-bottom: 2px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.note-row.grp-tail {
    border-bottom: 1px dotted var(--line);
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.note-row.grp-tail .nm {
    padding: 0 10px 10px 0;
    letter-spacing: 0.02em;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.note-row.grp-tail .pr {
    padding: 0 0 10px;
    color: var(--wine);
    font-size: 15px;
}

/* ---------- 日替り弁当 ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.lead {
    padding-bottom: 2px;
    border-bottom: 1px solid var(--line);
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.lead .nm {
    font-family: var(--mincho);
    font-size: 18px;
    letter-spacing: 0.1em;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.lead .pr {
    font-size: 26px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.menu-day {
    display: block;
    padding: 9px 0;
    font-size: 16px;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.menu-day .day {
    display: inline-block;
    min-width: 4.4em;
    margin-right: 12px;
    padding: 1px 8px;
    background: var(--ink);
    border-radius: 2px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.menu-day:nth-child(6) .day {
    background: #2f5d9b;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.menu-day:nth-child(7) .day {
    background: #b2262c;
}

/* ---------- カレーのトッピング：2列 ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd h4 {
    margin: 14px 0 4px;
    padding: 0;
    color: var(--wine);
    font-family: var(--mincho);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.sub {
    column-count: 2;
    column-gap: 22px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.sub li {
    break-inside: avoid;
    font-size: 14px;
    font-weight: 600;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.sub li .nm {
    padding: 7px 6px 7px 0;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.sub li .pr {
    flex-basis: 56px;
    padding: 6px 0;
    font-size: 16px;
}

/* ---------- 丼：ライスはチップで ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 .info-option {
    position: static;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin: 16px 0 2px;
    padding: 0;
    background: none;
    color: var(--ink);
    font-size: 13px;
    font-weight: 700;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 .info-option strong {
    margin-right: 4px;
    color: var(--wine);
    font-family: var(--mincho);
    font-size: 15px;
    letter-spacing: 0.1em;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 .info-option span {
    padding: 2px 11px;
    background: rgba(168, 134, 76, 0.16);
    border: 1px solid rgba(168, 134, 76, 0.42);
    border-radius: 999px;
}

/* 一緒に／トッピング */
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf {
    width: auto;
    margin: 18px 0 0;
    padding: 14px 12px 8px;
    background: rgba(168, 134, 76, 0.1);
    border: 1px solid rgba(168, 134, 76, 0.28);
    border-radius: 6px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf dl,
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf dl.col-sm-5,
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf dl.col-sm-7 {
    float: none;
    width: 100%;
    margin: 0 0 8px;
    padding: 0 8px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf dd ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf dt {
    margin: 0 0 6px;
    padding: 0 0 6px;
    border-bottom: 1px solid rgba(168, 134, 76, 0.45);
    color: var(--wine);
    font-family: var(--mincho);
    font-size: 14px;
    letter-spacing: 0.08em;
}
#lunch-page .lunch-menu .lunch-menu-main dd .topping-board.cf dd ul li {
    padding: 2px 0;
    color: var(--ink);
    font-size: 13.5px;
    font-weight: 600;
}

/* ---------- 単品：全幅のカードに3列 ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.compact {
    column-count: 3;
    column-gap: 36px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.compact li {
    break-inside: avoid;
    font-size: 15px;
    font-weight: 600;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.compact li .nm {
    padding: 8px 8px 8px 0;
}
#lunch-page .lunch-menu .lunch-menu-main ul.menu-price.compact li .pr {
    flex-basis: 62px;
    padding: 7px 0;
    font-size: 17px;
}

/* ---------- 注意書き・DXの説明 ---------- */
#lunch-page .lunch-menu .lunch-menu-main dd .attention {
    padding: 4px 0 0;
}
#lunch-page .lunch-menu .lunch-menu-main dd .attention p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.7;
}
#lunch-page .lunch-menu .lunch-menu-main dd .info-dx {
    margin-bottom: 10px;
    padding: 12px 14px 8px;
    background: rgba(168, 134, 76, 0.12);
    border-radius: 6px;
}
#lunch-page .lunch-menu .lunch-menu-main dd .info-dx p {
    color: var(--ink);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.6;
}
#lunch-page .lunch-menu .menu-attention p {
    color: var(--muted);
    font-size: 14px;
}

/* ---------- ダブル弁当の説明 ---------- */
#lunch-page .lunch-menu .lunch-menu-main .w-tag {
    display: inline-block;
    padding: 2px 10px;
    background: var(--navy);
    border-radius: 3px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}
/* 肉だらけガッツリ弁当の写真（左）＋ダブル弁当の説明（右）。チラシと同じ並び */
#lunch-page .lunch-menu .lunch-menu-main .w-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 18px 0 0;
    padding: 0;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri {
    flex: 0 0 46%;
    min-width: 0;
    margin: 0;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri img {
    display: block;
    float: none;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
}
/* ガッツリ弁当の大きさ・重さ（チラシの文言。元は画像に書いてあった文字なので、文字で出す）
   矢印は、容器の手前の縁（写真の左の角 → 手前の角）と同じ角度・同じ長さで、縁のすぐ下に置く。
   位置は写真 menu_gatsuri_hd.png（640×366）に対する割合: 左端 x=8 → 1.25%、縁の少し下 y=232 → 63.4%、長さ 458px → 71.6%、角度 19.4度。写真を差し替えたら測り直す */
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-photo {
    position: relative;
    container-type: inline-size;
    margin-bottom: 9%;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-measure {
    position: absolute;
    left: 1.25%;
    top: 63.4%;
    width: 71.6%;
    transform: rotate(19.4deg);
    transform-origin: 0 0;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-arrow {
    position: relative;
    display: block;
    height: 2px;
    background: #333;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-arrow::before,
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-arrow::after {
    content: "";
    position: absolute;
    top: -4px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-arrow::before {
    left: -2px;
    border-right: 8px solid #333;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-arrow::after {
    right: -2px;
    border-left: 8px solid #333;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-size {
    margin: 3px 0 0;
    text-align: center;
    font-size: 11px;
    font-size: clamp(9px, 5cqw, 14px);
    font-weight: 700;
    line-height: 1.3;
    color: #c8161d;
    white-space: nowrap;
}
#lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri .gatsuri-size b {
    font-size: 1.35em;
}
#lunch-page .lunch-menu .lunch-menu-main .w-note {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    padding: 12px 12px 10px;
    background: rgba(39, 51, 122, 0.07);
    border: 1px solid rgba(39, 51, 122, 0.2);
    border-radius: 8px;
}
#lunch-page .lunch-menu .lunch-menu-main .w-note p {
    margin: 0;
    padding: 0;
    color: var(--ink);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.8;
}
#lunch-page .lunch-menu .lunch-menu-main .w-note .w-pic {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0;
}
#lunch-page .lunch-menu .lunch-menu-main .w-note .w-pic span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.45;
    text-align: left;
}
#lunch-page .lunch-menu .lunch-menu-main .w-note .w-pic img {
    float: none;
    flex: 0 0 auto;
    width: 82px;
    max-width: none;
    height: auto;
    margin: 0;
}

/* ---------- スマホ ---------- */
@media only screen and (max-width: 767px) {
    #lunch-page .lunch-menu .container {
        padding: 10px 14px 14px;
    }
    #lunch-page .lunch-menu .lunch-menu-main {
        margin-left: 0;
        margin-right: 0;
    }
    #lunch-page .lunch-menu .lunch-menu-main > div.col-sm-6 {
        padding: 0;
    }
    #lunch-page .lunch-menu .lunch-menu-main > div > dl,
    #lunch-page .lunch-menu .lunch-menu-main > div > dl:first-child {
        margin-top: 40px;
        padding: 0 16px 14px;
    }
    #lunch-page .lunch-menu .lunch-menu-main > div > dl > dt {
        padding: 18px 92px 10px 0;
        font-size: 19px;
        line-height: 1.4;
    }
    #lunch-page .lunch-menu .lunch-menu-main > div > dl > dt img,
    #lunch-page .lunch-menu .lunch-menu-main > div > dl > dt img.long {
        top: -28px;
        right: -4px;
        height: 70px;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li {
        font-size: 14.5px;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.dxcol li,
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.has-w li {
        padding-left: 30px;
    }
    #lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .pr,
    #lunch-page .lunch-menu .lunch-menu-main ul.menu-price li .pw {
        flex-basis: 64px;
        font-size: 16px;
    }
    #lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .pr {
        flex-basis: 66px;
        padding-right: 6px;
    }
    #lunch-page .lunch-menu .lunch-menu-main ul.menu-price.has-w li .pw {
        flex-basis: 76px;
        padding-right: 6px;
    }
    #lunch-page .lunch-menu .lunch-menu-main ul.menu-price li.lead .pr {
        font-size: 22px;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.sub {
        column-count: 1;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.sub li {
        font-size: 14px;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price li.menu-day {
        font-size: 14px;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.compact {
        column-count: 1;
    }
    #lunch-page .lunch-menu .lunch-menu-main dd .type-column1 ul.menu-price.compact li {
        font-size: 14px;
    }
    #lunch-page .lunch-menu .lunch-menu-main > div.lunch-menu-single {
        padding: 0;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-row {
        gap: 10px;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-note {
        padding: 10px 8px 8px;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-note p {
        font-size: 12.5px;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-note .w-pic img {
        width: 64px;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-note .w-pic span {
        font-size: 10px;
    }
}
/* 幅がせまいスマホは、写真と説明を縦に並べる */
@media only screen and (max-width: 420px) {
    #lunch-page .lunch-menu .lunch-menu-main .w-row {
        flex-direction: column;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-row .pic-gatsuri {
        flex: none;
        width: 74%;
    }
    #lunch-page .lunch-menu .lunch-menu-main .w-note {
        width: 100%;
        flex: none;
    }
}


/* =====================================================================
   上部：肉屋の自信作（ステーキ御膳・焼肉重・すき焼き・ローストビーフ）と
   オーダーカット弁当。黒地に金の細線のカードで構成する。 2026-11-08
   ===================================================================== */
#lunch-page .lunch-desc .box-desc.second,
#lunch-page .lunch-desc .box-desc.third {
    --gold: #c9a96a;
    --gold-soft: #e8cf9a;
    --mincho: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "Noto Serif JP", "MS PMincho", serif;
}

/* ---------- 黒いパネル全体 ---------- */
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top {
    padding: 70px 46px 26px;
    background: linear-gradient(180deg, #0a0908 0%, #131110 100%);
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box,
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box.right {
    padding: 0 14px;
}

/* ---------- カード ---------- */
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl {
    position: relative;
    margin: 48px 0 0;
    padding: 0 24px 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(201, 169, 106, 0.34);
    border-radius: 8px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45);
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl:first-child {
    margin-top: 40px;
}

/* ---------- 見出し ---------- */
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt {
    position: relative;
    margin: 0;
    padding: 22px 120px 14px 0;
    border-bottom: 3px double rgba(201, 169, 106, 0.7);
    color: #fff;
    font-family: var(--mincho);
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.35;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 0.95em;
    margin-right: 12px;
    background: #b32a2f;
    border-radius: 1px;
    vertical-align: -0.1em;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt span.kind {
    margin-left: 0.6em;
    color: #d8d0c0;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.06em;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt span.unit {
    display: inline-block;
    margin-left: 0.8em;
    padding: 1px 10px;
    border: 1px solid rgba(201, 169, 106, 0.7);
    border-radius: 999px;
    color: var(--gold-soft);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    vertical-align: 3px;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt img.menu_steakgozen,
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt img.menu_sukiyaki {
    position: absolute;
    top: -40px;
    right: -6px;
    bottom: auto;
    width: auto;
    height: 98px;
    margin: 0;
    filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.6));
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd {
    padding: 8px 0 0;
}

/* ---------- 行 ---------- */
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price {
    margin: 0;
    padding: 0;
    list-style: none;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 11px 0;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.24);
    color: #f4eee3;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li:last-child {
    border-bottom: 0;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li .nm {
    flex: 1 1 auto;
    min-width: 0;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li .nm small.sub {
    display: block;
    margin-top: 2px;
    color: #b9ad98;
    font-size: 12.5px;
    font-weight: 500;
    letter-spacing: 0.03em;
}
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li .pr {
    flex: 0 0 auto;
    color: var(--gold-soft);
    font-family: var(--mincho);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
    text-align: right;
    white-space: nowrap;
}
.lunch-menu-top small.yen,
.lunch-menu-cut small.yen {
    margin-left: 2px;
    font-family: inherit;
    font-size: 0.58em;
    font-weight: 700;
}

/* 産地タグ */
#lunch-page .origin {
    flex: 0 0 auto;
    display: inline-block;
    min-width: 3.9em;
    margin-top: 3px;
    padding: 1px 6px;
    border-radius: 2px;
    color: #fff;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.5;
    text-align: center;
}
#lunch-page .origin.miya {
    background: #a3262a;
}
#lunch-page .origin.wagyu {
    background: #8f6428;
}

/* カード内の注意書き */
#lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd p.top-note {
    margin: 6px 0 0;
    color: #a99d88;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.7;
}

/* ---------- オーダーカット ---------- */
#lunch-page .lunch-desc .box-desc.third {
    padding: 10px 46px 40px;
    background: #131110;
}
#lunch-page .lunch-desc .box-desc.third .innr-desc {
    margin: 52px 14px 0;
    padding: 46px 40px 34px;
    background: #faf5ea;
    border-radius: 4px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5);
}

/* 見出しの旗をカードの色に合わせる */
#lunch-page .lunch-desc .box-desc.third h3.bg-image {
    background-image: url("../img/lunch/bg_cut_cream.png");
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .left {
    padding-right: 30px;
    border-right: 1px solid rgba(168, 134, 76, 0.55);
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .left ul.attention {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .left ul.attention li {
    padding: 0 0 0 1em;
    color: #6f6354;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.8;
    text-indent: -1em;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right {
    padding-left: 32px;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price {
    margin: 0;
    padding: 0;
    list-style: none;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px dotted #cfc2a3;
    color: #241f1a;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li:first-child {
    padding-top: 2px;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li .origin {
    align-self: center;
    margin-top: 0;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li .nm {
    flex: 1 1 auto;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li small.unit {
    margin-left: 0.6em;
    color: #8a7d68;
    font-size: 12.5px;
    font-weight: 600;
}
#lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li .pr {
    flex: 0 0 auto;
    color: #8c1d22;
    font-family: var(--mincho);
    font-size: 21px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

@media only screen and (max-width: 767px) {
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top {
        padding: 6px 14px 14px;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box,
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box.right {
        padding: 0;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl,
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl:first-child {
        margin-top: 44px;
        padding: 0 16px 14px;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt {
        margin-top: 0;
        padding: 18px 92px 10px 0;
        font-size: 19px;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt img.menu_steakgozen,
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dt img.menu_sukiyaki {
        top: -32px;
        right: -4px;
        width: auto;
        height: 72px;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd {
        padding-left: 0;
        font-size: 14px;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li {
        gap: 8px;
        font-size: 14.5px;
    }
    #lunch-page .lunch-desc .box-desc.second .lunch-menu-top .menu-box dl dd ul.top-price li .pr {
        font-size: 17px;
    }
    #lunch-page .origin {
        min-width: 3.6em;
        font-size: 10.5px;
    }
    #lunch-page .lunch-desc .box-desc.third {
        padding: 6px 14px 24px;
    }
    #lunch-page .lunch-desc .box-desc.third .innr-desc {
        margin: 40px 0 0;
        padding: 34px 18px 22px;    }
    #lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .left {
        padding-right: 0;
        border-right: 0;
        border-bottom: 1px solid rgba(168, 134, 76, 0.45);
        padding-bottom: 14px;
        margin-bottom: 12px;
    }
    #lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right {
        padding-left: 0;
    }
    #lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li {
        gap: 8px;
        font-size: 14.5px;
    }
    #lunch-page .lunch-desc .box-desc.third .lunch-menu-cut .right ul.cut-price li .pr {
        font-size: 17px;
    }
}
