/* 米 LIFE フェス 2026 */
.kome2026{
    --kome-green:#48684e;
    --kome-green-dark:#2f4c37;
    --kome-gold:#b88a2d;
    --kome-gold-light:#efe2bd;
    --kome-red:#b44b3f;
    --kome-ink:#2f2a24;
    --kome-bg:#faf8f1;
    --kome-line:#e4ded0;
    color:var(--kome-ink);
}
.kome2026-page-title ruby{ruby-position:over}
.kome2026-page-title rt{
    color:var(--kome-green);
    font-size:.42em;
    font-weight:700;
    letter-spacing:.08em;
}
.kome2026-hero{
    overflow:hidden;
    border-radius:14px;
    background:#f4f0e4;
}
.kome2026-hero img{
    display:block;
    width:100%;
    height:auto;
}
.kome2026-tagline{
    margin:26px auto 0;
    text-align:center;
    color:var(--kome-green-dark);
    font-size:clamp(1.08rem,.96rem + .5vw,1.4rem);
    font-weight:700;
    line-height:1.7;
}
.kome2026-intro{
    max-width:980px;
    margin:26px auto 0;
    padding:clamp(22px,3vw,34px);
    border:1px solid var(--kome-line);
    border-radius:14px;
    background:var(--kome-bg);
    line-height:1.95;
}
.kome2026-intro>p{margin:0}
.kome2026-meta{
    margin:24px 0 0;
    padding-top:18px;
    border-top:1px solid var(--kome-line);
}
.kome2026-meta>div{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:12px;
    margin-top:8px;
}
.kome2026-meta>div:first-child{margin-top:0}
.kome2026-meta dt{
    color:var(--kome-green);
    font-weight:700;
}
.kome2026-meta dd{margin:0}
.kome2026-block{
    margin-top:clamp(52px,7vw,84px);
    padding-top:clamp(34px,5vw,56px);
    border-top:1px solid var(--kome-line);
}
.kome2026-heading{
    display:flex;
    align-items:flex-end;
    gap:18px;
    margin-bottom:28px;
}
.kome2026-no{
    color:var(--kome-gold);
    font-size:clamp(3.2rem,5vw,5rem);
    font-weight:800;
    line-height:.82;
    letter-spacing:-.04em;
}
.kome2026-label{
    margin:0 0 4px;
    color:var(--kome-green);
    font-size:.78em;
    font-weight:800;
    letter-spacing:.16em;
}
.kome2026-heading h4{
    margin:0;
    font-size:clamp(1.35rem,1.12rem + .75vw,1.9rem);
    line-height:1.45;
}
.kome2026-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:0 0 26px;
}
.kome2026-badges span{
    display:inline-flex;
    padding:.55em 1em;
    border-radius:999px;
    background:var(--kome-green-dark);
    color:#fff;
    font-weight:700;
}
.kome2026-badges span:last-child{background:var(--kome-red)}
.kome2026-media-copy{
    display:grid;
    grid-template-columns:minmax(0,48%) minmax(0,52%);
    gap:clamp(30px,4vw,52px);
    align-items:start;
}
.kome2026-photo img,
.kome2026-omusubi-photo img{
    display:block;
    width:100%;
    height:auto;
    border-radius:12px;
    background:#fbf8ef;
}
.kome2026-copy{line-height:1.95}
.kome2026-copy>p{margin:0}
.kome2026-omusubi-photo{
    width:100%;
    max-width:none;
    margin-top:22px;
}
.kome2026-sponsors{
    margin-top:32px;
    padding:20px;
    border-radius:12px;
    background:#fff;
    border:1px solid var(--kome-line);
}
.kome2026-small-title{
    margin:0 0 14px;
    color:var(--kome-green);
    font-size:1.18em;
    font-weight:800;
}
.kome2026-sponsor-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.kome2026-sponsor-grid img{
    display:block;
    width:100%;
    height:auto;
}
.kome2026-menu-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:28px;
}
.kome2026-menu-card{
    position:relative;
    padding:24px 22px 22px;
    border:1px solid var(--kome-line);
    border-radius:12px;
    background:#fff;
}
.kome2026-menu-num{
    display:none;
}
.kome2026-menu-card h5{
    margin:0 0 14px;
    font-size:1.18em;
    font-weight:800;
    line-height:1.75;
}
.kome2026-menu-card p{
    margin:0;
    font-size:.94em;
    line-height:1.85;
}
.kome2026-note{
    margin:20px 0 0;
    text-align:center;
    font-size:1.15em;
    font-weight:800;
    line-height:1.7;
}
.kome2026-profile{
    margin-top:26px;
    padding:22px 24px;
    border-left:5px solid var(--kome-gold);
    background:var(--kome-bg);
    line-height:1.85;
}
.kome2026-profile p{margin:10px 0 0}
.kome2026-profile p:first-child{margin-top:0}
.kome2026-profile-name{
    color:var(--kome-green-dark);
    font-size:1.08em;
    font-weight:800;
}
.kome2026-profile-name span{font-size:.88em}
.kome2026-lead,
.kome2026-sublead{
    line-height:1.9;
}
.kome2026-sublead{
    color:var(--kome-green-dark);
    font-weight:700;
}
.kome2026-chef{
    margin-top:32px;
    padding:clamp(24px,3vw,34px);
    border:1px solid var(--kome-line);
    border-radius:14px;
    background:#fff;
}
.kome2026-chef-head{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:20px;
    align-items:center;
    margin-bottom:24px;
}
.kome2026-chef-head img{
    display:block;
    width:110px;
    height:110px;
    object-fit:cover;
    border-radius:50%;
}
.kome2026-chef-head p{
    margin:0 0 5px;
    color:#666;
    font-size:.9em;
}
.kome2026-chef-head h5{
    margin:0;
    font-size:clamp(1.25rem,1.08rem + .5vw,1.55rem);
}
.kome2026-chef-head h5 span{
    color:var(--kome-green);
    font-size:.65em;
}
.kome2026-dish-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.kome2026-dish-card{
    border-radius:11px;
    background:var(--kome-bg);
}
.kome2026-dish-card img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:contain;
    background:#fbf8ef;
    border-radius:11px 11px 0 0;
}
.kome2026-dish-card.is-portrait img{
    aspect-ratio:3/4;
    object-fit:contain;
    background:#fbf8ef;
}
.kome2026-dish-card.is-portrait h6,
.kome2026-dish-card.is-portrait .kome2026-price{
    margin-left:16px;
    margin-right:16px;
}

.kome2026-dish-card h6{
    margin:0;
    padding:16px 22px 6px;
    font-size:1.03em;
    line-height:1.55;
}
.kome2026-dish-card .kome2026-price{
    margin:0;
    padding:0 22px 20px;
    color:var(--kome-red);
    font-size:1.05em;
    font-weight:800;
}
.kome2026-dish-copy h6{
    margin:16px 18px 6px;
    font-size:1.03em;
    line-height:1.55;
}
.kome2026-price{
    color:var(--kome-red);
    font-size:1.05em;
    font-weight:800;
}
.kome2026-single-dish{
    display:grid;
    grid-template-columns:minmax(260px,48%) 1fr;
    gap:26px;
    align-items:center;
}
.kome2026-single-dish img{
    display:block;
    width:100%;
    height:auto;
    border-radius:11px;
    background:#fbf8ef;
}
.kome2026-single-dish h6{
    margin:0 0 10px;
    font-size:1.15em;
    line-height:1.6;
}
.kome2026-single-dish .kome2026-price{margin:0; padding:0}
.kome2026-dish-copy{
    margin-top:18px;
    padding:18px 20px;
    background:var(--kome-bg);
    border-radius:10px;
    line-height:1.8;
}
.kome2026-dish-copy h6{margin:0 0 6px}
.kome2026-dish-copy .kome2026-price{margin:0 0 8px; padding:0}
.kome2026-dish-copy p:last-child{margin:0}
.kome2026-setprice{
    margin:18px 0 0;
    padding:12px 16px;
    text-align:center;
    border-radius:9px;
    background:var(--kome-green-dark);
    color:#fff;
    font-weight:700;
}
.kome2026-company-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}
.kome2026-company-list span{
    display:inline-flex;
    padding:.55em .9em;
    border-radius:999px;
    background:var(--kome-bg);
    border:1px solid var(--kome-line);
}
.kome2026-timeline{
    margin-top:26px;
}
.kome2026-time-item{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:22px;
    align-items:start;
    padding:20px 0;
    border-top:1px solid var(--kome-line);
}
.kome2026-time-item:last-child{border-bottom:1px solid var(--kome-line)}
.kome2026-time-item time{
    color:var(--kome-gold);
    font-size:1.25em;
    font-weight:800;
}
.kome2026-time-item h5{
    margin:0 0 6px;
    font-size:1.06em;
}
.kome2026-time-item p{
    margin:0;
    line-height:1.7;
}

@media(max-width:767px){
    .kome2026-tagline{
        margin-top:20px;
        font-size:1.05rem;
    }
    .kome2026-meta>div{
        grid-template-columns:64px 1fr;
        gap:8px;
    }
    .kome2026-heading{
        gap:12px;
        align-items:center;
    }
    .kome2026-no{font-size:3rem}
    .kome2026-media-copy,
    .kome2026-single-dish{
        display:block;
    }
    .kome2026-photo{
        max-width:300px;
        margin:0 auto 20px;
    }
    .kome2026-omusubi-photo{
        margin-left:auto;
        margin-right:auto;
    }
    .kome2026-sponsor-grid{
        grid-template-columns:1fr;
    }
    .kome2026-sponsor-grid img{
        max-width:340px;
        margin:0 auto;
    }
    .kome2026-menu-grid,
    .kome2026-dish-grid{
        grid-template-columns:1fr;
    }

    .kome2026-chef-head{
        grid-template-columns:84px 1fr;
        gap:14px;
    }
    .kome2026-chef-head img{
        width:84px;
        height:84px;
    }
    .kome2026-single-dish img{
        margin-bottom:18px;
    }
    .kome2026-time-item{
        grid-template-columns:84px 1fr;
        gap:14px;
    }
}

@media(min-width:768px){
    .kome2026-media-copy .kome2026-photo img{
        width:100%;
        height:auto;
    }
}


/* 冨澤氏：1商品だけをカード表示し、右半分は余白で見せる */
.kome2026-single-dish.is-cardlike{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    align-items:start;
}
.kome2026-single-dish.is-cardlike .kome2026-dish-card{
    border-radius:11px;
    background:var(--kome-bg);
}
.kome2026-single-dish.is-cardlike .kome2026-dish-card img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:contain;
    background:#fbf8ef;
    border-radius:11px 11px 0 0;
}
.kome2026-single-dish-spacer{
    min-height:100%;
}
@media(max-width:767px){
    .kome2026-single-dish.is-cardlike{
        grid-template-columns:1fr;
    }
    .kome2026-single-dish-spacer{
        display:none;
    }
}


/* 料理カードの比較調整：画像の下角を丸めず、テキストに明確な内側余白を付与 */
.kome2026-single-dish.is-cardlike .kome2026-dish-card img{
    border-radius:11px 11px 0 0;
}


/* 冨澤氏の1商品カード：価格の左右余白を明示 */
.kome2026-single-dish.is-cardlike .kome2026-dish-card .kome2026-price{
    margin:0;
    padding:0 22px 20px;
}


.kome2026-text-red{
    color:var(--kome-red);
    font-weight:700;
}
