/* 支給キャラクターの淡い線と落ち着いた表情に合わせた別テーマ */
:root{--ink:#493e37;--paper:#fcfbf8;--gold:#965d4e;--muted:#70675f;--sage:#edf1eb;--olive:#566753;--line:#e0dbd1;--font-display:"Zen Maru Gothic","Noto Sans JP",sans-serif;--fw-display:700;--ls-display:.025em}
body{background:var(--paper)}
h2{letter-spacing:.025em;font-size:clamp(28px,3vw,40px);line-height:1.65}
h3{font-weight:700;letter-spacing:.02em}
.portal-header{position:relative;inset:auto;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fcfbf8;border-bottom:1px solid #eee9df;gap:30px}
.portal-brand{position:static;width:auto;height:auto;padding:0;font-size:25px;letter-spacing:.04em;color:#5c5849}
.mobile-brand-mark{display:none}
.portal-nav{position:static;display:flex;gap:34px;height:auto;margin-left:auto;align-items:center}
.portal-nav a{font-size:15px}
.search-icon{position:static;width:44px;height:44px;flex:0 0 44px}
.search-icon svg{width:23px;height:23px}
.hero{aspect-ratio:auto;background:#f6f4ef;overflow:hidden;padding:0;border-bottom:1px solid #e7e3d8}
.hero__stage{position:relative;inset:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:0 38px;width:calc(100% - 100px);max-width:1320px;margin:auto;padding:65px 0 0}
.hero__copy{position:static;inset:auto;grid-column:1;grid-row:1;width:auto;padding:0;align-self:end}
.hero h1{position:static;width:auto;max-width:none;font-family:var(--font-display);font-size:clamp(35px,3.6vw,52px);line-height:1.55;font-weight:700;letter-spacing:.015em;color:var(--ink);margin:0}
.hero__lead{position:static;width:auto;font-family:var(--font-body);font-size:16px;line-height:1.95;font-weight:400;letter-spacing:.02em;color:var(--muted);margin:22px 0 0}
.hero-actions{position:static;inset:auto;grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:12px;pointer-events:auto;margin:28px 0 16px;align-self:start}
.hero-actions a{position:static;top:auto;left:auto;width:auto;height:auto;min-height:54px;padding:14px 20px;font-size:14px;gap:7px;border-radius:10px;letter-spacing:.015em}
.hero-primary{background:#965d4e;color:white}.hero-primary:hover{background:#804c40}
.hero-secondary{background:#fcfbf8;color:#566753;border:1px solid #a7b09e}
.hero__photo-wrap{display:block;position:relative;grid-column:2;grid-row:1/3;align-self:center;width:100%;margin:0;border-radius:24px;overflow:hidden;transform:none!important;box-shadow:none}
.hero__photo-wrap:before{display:none}
.hero__photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;animation:none!important}
.hero-next{position:static;left:auto;top:auto;grid-column:1/-1;grid-row:3;width:100%;height:auto;margin:36px 0 0;padding:23px 0;font-size:20px;font-weight:500;line-height:1.8;background:none;border-top:1px solid #deded2}
.eyebrow{color:#66765e;letter-spacing:.13em}
.split figure img,.scene-row img,.rest-panel figure img{border-radius:18px;border:1px solid #ede7dc}
.pause-section{background:#fcfbf8}.scene-section{background:#f7f6f1}
.meals-intro-section{background:#edf1eb}
.search-section{background:#fcfbf8}
.need-entry,.filter-panel{background:#f1f2ec;border:1px solid #e0e2d8;border-radius:16px}
.need-buttons button{border-color:#c0c8b9;background:#fffefa}
.need-buttons button:hover,.need-buttons button[aria-pressed=true]{background:#5c6d57}
.meal-card,.compare-card{border-color:#dedfd5;background:#fffefa;border-radius:16px;box-shadow:none}
.meal-type-card{border-color:#dce2d6;background:#fffefa;border-radius:16px}
.meal-type-card h4{font-size:25px;line-height:1.65;font-weight:700}
.meal-type-card .meal-type-label{font-size:14px}
.meal-type-illustration{opacity:.93}
.action-button{background:#965d4e;border-color:#965d4e}
.action-button:hover{background:#804c40;border-color:#804c40}
.outline-button,.text-link{color:#566753}
.guide-section{background:#fcfbf8}.compare-section{background:#f2f3ed}
.rest-section{background:#f2efe8}
.faq{background:#fcfbf8}.faq summary{font-weight:500}
.about-section{background:#eeefe8}
.site-footer{background:#575f50}
.meal-types-heading h3{font-size:23px}
@media(max-width:1040px){
 .portal-header{height:78px;padding:0 30px}.portal-brand{font-size:23px}.portal-nav,.search-icon{display:none}
 .mobile-menu:not([hidden]){background:#fcfbf8}
 .hero__stage{display:flex;flex-direction:column;width:100%;max-width:none;padding:38px 40px 0;gap:0}
 .hero__copy{order:0;width:100%;align-self:stretch}.hero h1{font-size:clamp(34px,5.1vw,45px);line-height:1.5}
 .hero__lead{font-size:16px;margin-top:20px}.hero-actions{order:1;margin:26px 0 30px;align-self:stretch}
 .hero__photo-wrap{order:2;align-self:stretch;max-width:850px;margin:auto;width:100%;border-radius:20px}
 .hero-next{order:3;width:100%;font-size:20px;margin:28px 0 0;padding:22px 0}
}
@media(max-width:600px){
 .portal-header{height:70px;padding:0 21px;gap:10px}.portal-brand{font-size:20px}
 .hero__stage{padding:30px 22px 0}.hero h1{font-size:31px;line-height:1.5;letter-spacing:.01em}
 .hero__lead{font-size:15px;line-height:1.85}.hero__lead br{display:none}
 .hero-actions{flex-direction:column;gap:10px;margin:24px 0 26px}.hero-actions a{width:100%;font-size:14px;min-height:51px;padding:12px 14px}
 .hero__photo-wrap{border-radius:15px}.hero-next{font-size:17px;text-align:left;margin-top:24px;padding:20px 0}
 h2{font-size:28px}.meals-intro-top h2{font-size:28px}.scene-row h3{font-size:25px}
 .meal-type-card h4{font-size:24px}.meal-types-heading h3{font-size:22px}
 .split figure img,.scene-row img,.rest-panel figure img{border-radius:14px}
}

/* v2: 本人の暮らしと宅食を使った実感 */
.personal-story-section{background:#f6f3ee}
.personal-story-section .section__head{max-width:1030px;margin-bottom:36px}
.personal-story-section h2{font-size:clamp(27px,2.8vw,38px)}
.personal-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.personal-story-card{min-width:0;background:#fffefa;border:1px solid #e3ded4;border-radius:16px;padding:28px 25px}
.personal-story-card .personal-story-number{font-size:14px;color:#66765e;font-weight:500;margin-bottom:16px}
.personal-story-card h3{font-size:23px;line-height:1.7;margin-bottom:18px}
.personal-story-card p{font-size:15px;line-height:1.95}.personal-story-card p:last-child{margin-bottom:0}
.personal-story-change{margin-top:42px;padding:36px 34px 26px;background:#eaf0e7;border:1px solid #dce4d7;border-radius:18px}
.personal-story-change-head h3{font-size:27px;margin-bottom:28px;line-height:1.7}
.personal-story-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.personal-story-benefits article{min-width:0}
.personal-story-benefits h4{font:700 21px/1.7 var(--font-display);color:var(--ink);margin:0 0 18px}
.personal-story-benefits p{font-size:15px;line-height:1.95}
.personal-story-closing{border-top:1px solid #cdd8c8;padding-top:24px;margin:12px 0 14px;font-weight:500}
.personal-story-note{font-size:14px!important;color:var(--muted);margin:0}
@media(max-width:1040px){.personal-story-grid{grid-template-columns:1fr;gap:18px}.personal-story-card h3 br{display:none}.personal-story-benefits{grid-template-columns:1fr;gap:18px}}
@media(max-width:600px){.personal-story-section h2{font-size:27px}.personal-story-section .section__lead br{display:none}.personal-story-card{padding:24px 21px}.personal-story-card h3{font-size:22px}.personal-story-change{padding:26px 21px 23px;margin-top:28px;border-radius:15px}.personal-story-change-head h3{font-size:23px}.personal-story-benefits h4{font-size:21px}.personal-story-closing br{display:none}}

/* v3: 3つの感情に寄り添う生活イラストを同じ位置へ */
.personal-story-image{margin:0 0 22px}
.personal-story-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:11px}
@media(min-width:601px) and (max-width:1040px){.personal-story-image{max-width:520px}}

/* v4: 悩みから安心と余裕へ変わる場面を、見出しと並べて紹介 */
.personal-story-change-head{display:grid;grid-template-columns:.95fr 1.05fr;column-gap:30px;align-items:center;margin-bottom:32px}
.personal-story-change-head>.eyebrow{grid-column:1;grid-row:1;align-self:end;margin:0 0 16px}
.personal-story-change-head>h3{grid-column:1;grid-row:2;align-self:start;margin:0}
.personal-story-happy-image{grid-column:2;grid-row:1/3;margin:0}
.personal-story-happy-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
#story-change{scroll-margin-top:26px}
@media(max-width:800px){.personal-story-change-head{display:flex;flex-direction:column;align-items:stretch;gap:0;margin-bottom:28px}.personal-story-change-head>.eyebrow{align-self:auto;margin-bottom:16px}.personal-story-change-head>h3{align-self:auto;margin-bottom:22px}.personal-story-happy-image{width:100%}}

.personal-story-change-head>h3,.personal-story-benefits h4{text-wrap:balance}
@media(max-width:600px){.personal-story-change-head>h3{font-size:22px;letter-spacing:.01em}}

/* v5: 親サイトの特集表記を小さく添え、ページのタイトルを主役へ */
.portal-header{height:auto;min-height:132px;padding-top:18px;padding-bottom:18px;gap:28px}
.portal-identity{min-width:0;max-width:680px}
.feature-heading{display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;margin:0 0 5px;font-size:13px;line-height:1.8;color:#70675f}
.feature-presenter{text-decoration:none;display:inline-block;text-underline-offset:3px}
.feature-presenter:hover{text-decoration:underline}
.feature-name{font-weight:500}
.portal-identity .portal-brand{display:inline-flex;font-size:28px;line-height:1.55;letter-spacing:.025em;font-weight:700;color:#493e37}
.feature-tagline{font-size:13px;line-height:1.8;margin:5px 0 0;color:#70675f;letter-spacing:.01em}
.portal-nav{flex-shrink:0}
.footer-brand{font-size:clamp(22px,2.2vw,30px)}
@media(max-width:1040px){.portal-header{min-height:126px;padding:16px 30px;gap:18px;align-items:center}.portal-identity{flex:1}.portal-identity .portal-brand{font-size:25px}.mobile-menu:not([hidden]){top:100%}.menu-toggle{flex:0 0 46px}}
@media(max-width:600px){.portal-header{padding:14px 21px;gap:12px;align-items:flex-start}.portal-identity .portal-brand{font-size:clamp(17px,5vw,21px);letter-spacing:.01em}.feature-heading{display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:12px;line-height:1.65;margin-bottom:6px}.feature-tagline{font-size:12px;line-height:1.85;margin-top:6px}.menu-toggle{margin-top:27px;flex-basis:44px}.mobile-menu:not([hidden]){top:100%}}
