:root {
  --color-primary: #ff6a1a; --color-primary-hover: #e95a0b; --color-primary-soft: #fff0e4;
  --color-brown: #3f2a1d; --color-brown-soft: #6f5a4d; --color-cream: #fffaf2;
  --color-cream-deep: #f9ecd8; --color-gold: #dca94b; --color-white: #fff;
  --color-border: #ead8bd; --color-border-light: #f2e7d7; --color-error: #b42318;
  --color-focus: #1b64da; --shadow-card: 0 8px 24px rgba(77,49,27,.08);
  --shadow-cta: 0 6px 14px rgba(229,90,11,.24); --radius-sm: 10px;
  --radius-md: 16px; --radius-lg: 24px; --radius-pill: 999px;
  --container-width: 1120px; --section-space-pc: 96px; --section-space-sp: 64px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;color:var(--color-brown);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;font-size:16px;line-height:1.8;background:#fff}
img{max-width:100%} a{color:inherit} button,input{font:inherit}
:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.container{width:min(100% - 48px,var(--container-width));margin-inline:auto}
.container--narrow{max-width:900px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sp-only{display:none}.lp-header{height:60px;background:#fff}.lp-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.lp-header__logo{width:auto;max-width:230px;max-height:44px}.lp-header p{margin:0;font-size:14px;font-weight:700}.lp-header p span{color:var(--color-primary);font-size:18px}
.fv img{display:block;width:100%;height:auto}.section{padding-block:var(--section-space-pc)}
.section-title{margin:0;text-align:center;font-size:clamp(30px,3vw,38px);line-height:1.45;letter-spacing:.02em}.section-title--left{text-align:left}.section-lead{margin:20px 0 0;font-size:17px}.eyebrow{margin:0 0 8px;color:var(--color-primary);font-weight:800;letter-spacing:.05em}
.top-cta{padding:32px 0 76px}.cta-panel{padding:44px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-cream);box-shadow:var(--shadow-card)}.cta-panel__copy h2{margin:0;font-size:30px;line-height:1.45}.cta-panel__copy>p:last-child{margin:12px 0 0;font-size:16px;line-height:1.7}.button-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:66px;padding:12px 20px;border:0;border-radius:var(--radius-md);background:var(--color-primary);box-shadow:var(--shadow-cta);color:#fff;font-size:18px;font-weight:800;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.button-primary span{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:#fff;color:var(--color-primary)}.button-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.form-free{margin:12px 0 0;text-align:center;font-size:13px;font-weight:700}.cta-panel__note{margin:16px 0 0;text-align:center;font-size:12px;color:var(--color-brown-soft)}
.trust-points{display:grid;grid-template-columns:repeat(3,1fr);max-width:900px;margin:34px auto 0}.trust-point{display:flex;align-items:center;justify-content:center;gap:14px;min-height:72px;padding:8px 24px;border-right:1px solid var(--color-border)}.trust-point:last-child{border:0}.trust-point p{margin:0;line-height:1.5}.trust-point strong{color:var(--color-primary);font-size:20px}.line-icon,.flow-card__icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border:2px solid var(--color-primary);border-radius:50%;color:var(--color-primary);font-weight:800}
.worries{background:var(--color-cream)}.worries__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-top:40px}.worries__cards{display:grid;gap:20px}.worry-card{padding:26px 30px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.worry-card h3{display:inline-block;margin:0 0 12px;padding:4px 16px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:18px}.worry-card ul{margin:0;padding-left:1.4em}.worry-card li+li{margin-top:5px}.solution h3{margin:22px 0 8px;font-size:23px;line-height:1.55}.solution p{margin:0}.image-placeholder{position:relative;display:grid;place-items:center;overflow:hidden;min-height:270px;border:1px dashed #d5b485;border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff 0 40%,#f7e5cb 40% 60%,#fff7eb 60%);color:var(--color-brown-soft);font-weight:700}.image-placeholder::before{content:"";position:absolute;width:150px;height:95px;border:7px solid #fff;border-radius:50%;background:#e9b56c;box-shadow:0 5px 15px #8c5e2929}.image-placeholder span{position:absolute;bottom:14px;padding:2px 10px;border-radius:99px;background:#ffffffd9;font-size:12px}.image-placeholder--brochure{min-height:390px}.image-placeholder--brochure::before{width:190px;height:240px;border:8px solid white;border-radius:5px;background:linear-gradient(#f5d8ac 0 25%,#fff 25%);transform:rotate(-5deg);box-shadow:15px 10px 0 #efc587,0 12px 24px #744a2222}
.comparison__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:13px 24px;margin:30px 0;padding:0;list-style:none}.check-list li{position:relative;padding-left:30px;font-weight:700}.check-list li::before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-size:20px;font-weight:900}.comparison__conclusion{margin:0 0 28px;padding:13px 18px;border-left:4px solid var(--color-primary);background:var(--color-primary-soft);font-weight:800}.comparison .button-primary{max-width:440px}
.services{background:var(--color-cream)}.price-callout{display:flex;align-items:baseline;justify-content:center;gap:14px;margin:18px 0 34px}.price-callout strong{color:var(--color-primary);font-size:25px}.price-callout span,.note{font-size:12px}.logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.logo-card{display:flex;align-items:center;justify-content:center;height:92px;padding:18px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:#fff}.logo-card img{display:block;width:100%;height:52px;object-fit:contain}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.benefits p{margin:0;padding:18px;border-radius:var(--radius-md);background:#fff;text-align:center;font-weight:700;line-height:1.55}.benefits span{color:var(--color-primary);margin-right:8px}.services>.container>.note,.flow>.container>.note,.voices>.container>.note{text-align:center;margin:14px 0 0}.section-action{max-width:440px;margin:36px auto 0}
.voices__track{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}.voice-card{display:flex;gap:22px;padding:28px;border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.avatar-placeholder{display:grid;place-items:end center;flex:0 0 82px;width:82px;height:82px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#f4d0ad 0 18%,transparent 19%),radial-gradient(ellipse at 50% 110%,#d69b70 0 50%,#f7e8d8 51%);color:transparent}.voice-card__label{display:inline-block;padding:2px 12px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:13px;font-weight:800}.voice-card blockquote{margin:12px 0}.voice-card blockquote p{margin:0}.voice-card__meta{margin:8px 0 0;color:var(--color-brown-soft);font-size:14px;font-weight:700}
.flow{background:var(--color-cream)}.flow__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.flow-card{position:relative;padding:30px 24px;text-align:center;border-radius:var(--radius-lg);background:#fff}.flow-card__number{display:block;color:var(--color-primary);font-weight:900;letter-spacing:.08em}.flow-card__icon{margin:16px auto;width:56px;height:56px}.flow-card h3{margin:0;font-size:20px}.flow-card p{margin:8px 0 0}.faq-list{display:grid;gap:16px;margin-top:40px}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.faq-item h3{margin:0}.faq-item button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:72px;padding:18px 24px;border:0;background:#fff;color:var(--color-brown);font-size:17px;font-weight:700;text-align:left;cursor:pointer}.faq-item button b,.faq-answer b{color:var(--color-primary);font-size:20px}.faq-item i{position:relative;width:20px;height:20px;flex:none}.faq-item i::before,.faq-item i::after{content:"";position:absolute;top:9px;left:2px;width:16px;height:2px;background:var(--color-primary);transition:transform .2s}.faq-item i::after{transform:rotate(90deg)}.faq-item button[aria-expanded=true] i::after{transform:rotate(0)}.faq-answer{padding:0 24px 20px;background:#fff}.faq-answer p{margin:0;padding-top:18px;border-top:1px solid var(--color-border-light)}
.final-cta{background:var(--color-primary-soft)}.cta-panel--bottom{background:#fff}.cta-panel--bottom .cta-panel__copy h2{font-size:28px}.lp-footer{padding:44px 0;background:var(--color-brown);color:#fff;text-align:center}.lp-footer__company{margin:0 0 16px;font-size:18px;font-weight:700}.lp-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-bottom:22px}.lp-footer a{font-size:14px}.lp-footer small{color:#e6dbd4}.sticky-cta{display:none}
@media (max-width:1023px) and (min-width:768px){.logo-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:767px){html{scroll-padding-top:10px}.container{width:min(100% - 36px,var(--container-width))}.sp-only{display:block}.pc-only{display:none}.lp-header{height:52px}.lp-header__logo{max-width:175px;max-height:34px}.lp-header p{font-size:11px;line-height:1.25;text-align:right}.lp-header p span{font-size:15px}.section{padding-block:var(--section-space-sp)}.section-title{font-size:27px;line-height:1.5}.section-title--left{text-align:left}.top-cta{padding:20px 0 52px}.cta-panel{padding:30px 22px 24px;border-radius:20px}.cta-panel__copy h2,.cta-panel--bottom .cta-panel__copy h2{font-size:24px}.cta-panel__copy>p:last-child{font-size:15px}.cta-panel__action{margin-top:26px}.button-primary{min-height:62px;padding:11px 14px;font-size:17px}.button-primary span{width:25px;height:25px}.cta-panel__note{margin-top:16px;line-height:1.55}.trust-points{margin-top:26px}.trust-point{display:block;min-width:0;padding:6px 7px;text-align:center}.line-icon{width:31px;height:31px;margin:0 auto 7px;font-size:12px}.trust-point p{font-size:13px;line-height:1.45}.trust-point strong{font-size:16px}.worries__grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.worry-card{padding:22px 20px}.worry-card h3{font-size:17px}.image-placeholder{min-height:220px}.solution h3{font-size:20px}.comparison__grid{display:flex;flex-direction:column;gap:26px;align-items:stretch}.comparison__content{display:contents}.comparison__content .section-title{order:1}.comparison__content .section-lead{order:2;margin-top:-10px}.comparison .image-placeholder{order:3;min-height:250px}.check-list{order:4;gap:12px 10px;margin:0;font-size:15px}.check-list li{padding-left:24px}.comparison__conclusion{order:5;margin:0}.comparison .button-primary{order:6}.price-callout{display:block;margin:15px 0 28px;text-align:center}.price-callout strong{display:block;font-size:23px}.price-callout span{display:block}.logo-grid{grid-template-columns:repeat(3,1fr);gap:9px}.logo-card{height:72px;padding:11px}.logo-card img{height:44px}.benefits{gap:8px;margin-top:24px}.benefits p{padding:13px 5px;font-size:13px}.benefits span{display:block;margin:0}.voices__track{display:flex;gap:16px;width:calc(100% + 18px);margin-top:30px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;scrollbar-width:none}.voices__track::-webkit-scrollbar{display:none}.voice-card{flex:0 0 84vw;max-width:355px;scroll-snap-align:start;display:block;padding:22px}.avatar-placeholder{width:72px;height:72px;margin-bottom:14px}.flow__grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.flow-card{padding:24px 20px}.flow-card__icon{width:50px;height:50px;margin:10px auto}.faq-list{margin-top:30px}.faq-item button{min-height:70px;padding:16px;font-size:16px;line-height:1.6}.faq-answer{padding:0 16px 18px}.final-cta{padding-bottom:76px}.lp-footer{padding:40px 0 112px}.sticky-cta{position:fixed;z-index:20;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));left:14px;display:flex;min-height:58px;border:0;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);box-shadow:0 8px 24px #3f2a1d40;font-size:16px;font-weight:800;text-decoration:none;align-items:center;justify-content:center;gap:12px;transition:opacity .2s,visibility .2s,transform .2s}.sticky-cta span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:var(--color-primary)}.sticky-cta.is-hidden{opacity:0;visibility:hidden;transform:translateY(12px);pointer-events:none}}
@media (max-width:350px){.trust-points{grid-template-columns:1fr}.trust-point{display:flex;text-align:left;border-right:0;border-bottom:1px solid var(--color-border)}.line-icon{margin:0}.logo-grid{grid-template-columns:repeat(2,1fr)}.benefits{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button-primary,.sticky-cta,.faq-item i::before,.faq-item i::after{transition:none!important}}

/* 初稿レビュー後の読みやすさ・CV導線調整 */
.lp-header__brand{font-size:19px!important;line-height:1.3!important;color:var(--color-brown);font-weight:800!important;letter-spacing:.02em}
.cta-panel--top{display:flex;flex-direction:column;align-items:center;padding:44px 56px 40px;text-align:center}
.cta-panel--top .cta-panel__copy{max-width:760px;margin-inline:auto}
.cta-panel--top .cta-panel__action{width:min(100%,420px);margin:28px auto 0}
.cta-panel--top .cta-panel__note{margin-top:16px}
.section-action .button-primary,.comparison .button-primary{min-width:320px;min-height:60px}
.worries__flow{margin-top:38px}
.worries__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.worry-card{display:flex;flex-direction:column;justify-content:flex-start;min-height:168px}
.worries__bridge{display:flex;flex-direction:column;align-items:center;gap:2px;margin:26px 0;color:var(--color-primary);text-align:center;font-weight:800}
.worries__bridge span{font-size:28px;line-height:1}.worries__bridge p{margin:0;font-size:18px}
.solution{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.35fr);gap:42px;align-items:center;padding:34px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-primary-soft);box-shadow:var(--shadow-card)}
.solution .image-placeholder{width:100%;min-height:0;aspect-ratio:4/3}
.solution h3{margin:0 0 12px;font-size:25px}.solution p{font-size:17px}
.image-placeholder,.image-placeholder img{width:100%;aspect-ratio:4/3;border-radius:var(--radius-lg);object-fit:cover}
.image-placeholder--brochure,.image-placeholder--brochure img{aspect-ratio:4/5;object-fit:cover}
.voice-card{align-items:flex-start;min-height:238px}
.avatar-placeholder,.voice-card__avatar{flex:0 0 78px;width:78px;height:78px;border-radius:50%;object-fit:cover}
.voice-card__body{min-width:0}.voice-card__label{font-size:14px}.voice-card blockquote p{font-size:16px;line-height:1.85}.voice-card__meta{font-size:15px}
.flow-card,.faq-item button{font-size:17px}

@media (max-width:767px){
  .lp-header__brand{max-width:180px;font-size:16px!important}
  .section{padding-block:60px}.section-title{margin-bottom:0}
  .cta-panel--top{padding:32px 22px 26px}.cta-panel--top .cta-panel__copy h2{font-size:25px}
  .cta-panel--top .cta-panel__action{width:100%;margin-top:26px}.cta-panel--top .cta-panel__note{margin-top:16px}
  .trust-point{display:block;min-height:94px;padding:8px 4px;border-right:1px solid var(--color-border);border-bottom:0;text-align:center}
  .trust-point:last-child{border-right:0}.trust-point p{font-size:15px}.trust-point strong{font-size:16px;white-space:nowrap}
  .line-icon{width:34px;height:34px;margin:0 auto 8px;font-size:13px}
  .worries__flow{margin-top:28px}.worries__cards{grid-template-columns:1fr;gap:16px}
  .worry-card{min-height:0}.worries__bridge{margin:26px 0}.worries__bridge p{font-size:16px}
  .solution{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:22px 20px}
  .solution .image-placeholder{min-height:0;aspect-ratio:4/3}.solution h3{font-size:21px}.solution p{font-size:16px}
  .comparison .button-primary,.section-action .button-primary{width:100%;min-width:0}
  .voice-card{flex:0 0 84vw;max-width:355px;min-height:0;padding:22px}
  .avatar-placeholder,.voice-card__avatar{width:76px;height:76px;margin-bottom:14px}
  .voice-card__label{font-size:14px}.voice-card blockquote p{font-size:16px}.voice-card__meta{font-size:15px}
  .cta-panel--bottom .cta-panel__action{width:100%;margin-top:26px}.cta-panel--bottom .button-primary{width:100%}
  .final-cta{padding-bottom:64px}.lp-footer{padding-bottom:48px}
  .sticky-cta{padding-bottom:env(safe-area-inset-bottom)}
}
@media (max-width:350px){
  .trust-points{grid-template-columns:repeat(3,minmax(0,1fr))}
  .trust-point{display:block;text-align:center}.trust-point strong{font-size:14px}.line-icon{margin:0 auto 7px}
}

/* FV直下の掲載サービスロゴ帯 */
.logo-marquee{overflow:hidden;padding:26px 0 28px;background:var(--color-cream)}
.logo-marquee h2{margin:0 0 16px;text-align:center;font-size:17px;line-height:1.5;color:var(--color-brown-soft)}
.logo-marquee__viewport{overflow:hidden}
.logo-marquee__track{display:flex;width:max-content;gap:16px;animation:logo-marquee 40s linear infinite;will-change:transform}
.logo-marquee__group{display:flex;gap:16px;padding-left:16px}
.logo-marquee__card{display:flex;align-items:center;justify-content:center;width:154px;height:72px;padding:12px 16px;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);background:#fff}
.logo-marquee__card img{display:block;width:100%;height:46px;object-fit:contain}
.logo-marquee__viewport:hover .logo-marquee__track{animation-play-state:paused}
@keyframes logo-marquee{to{transform:translateX(calc(-50% - 8px))}}

/* 共通見出し装飾 */
.section-kicker{width:max-content;margin:0 auto 8px;padding:3px 14px;border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary);font-size:14px;font-weight:800;letter-spacing:.05em}
.section-title--decorated::after{content:"";display:block;width:58px;height:3px;margin:15px auto 0;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--color-gold),var(--color-primary))}
.section-title--left.section-title--decorated::after{margin-left:0}
.section-title--voice::before{content:"“";margin-right:10px;color:var(--color-gold);font-family:Georgia,serif;font-size:.9em}
.section-title--flow::before,.section-title--flow::after{border-radius:var(--radius-pill)}
.section-title--faq::after{width:42px;height:2px}

/* 悩みから宅配弁当のメリットへの流れ */
.worry-card ul{padding:0;list-style:none}
.worry-card li{position:relative;padding-left:28px;line-height:1.75}
.worry-card li::before{content:"✓";position:absolute;left:0;top:.05em;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);font-size:12px;font-weight:900}
.worry-card li+li{margin-top:9px}
.worries__bridge{position:relative;display:block;margin:28px 0 38px;padding:19px 28px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-primary-soft);box-shadow:0 4px 14px rgba(77,49,27,.05)}
.worries__bridge::after{content:"";position:absolute;bottom:-13px;left:50%;width:24px;height:24px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-primary-soft);transform:translateX(-50%) rotate(45deg)}
.worries__bridge p{position:relative;z-index:1;margin:0;color:var(--color-brown);font-size:28px;line-height:1.5;text-align:center}
.worries__bridge strong{color:var(--color-primary)}
.meal-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.meal-benefit{position:relative;min-height:220px;padding:28px 28px 26px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-card)}
.meal-benefit>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:15px;border:2px solid var(--color-primary);border-radius:50%;color:var(--color-primary);font-weight:900}
.meal-benefit h3{margin:0 0 9px;color:var(--color-brown);font-size:21px;line-height:1.55}
.meal-benefit p{margin:0;font-size:16px;line-height:1.8}
.meal-benefit small{display:block;margin-top:7px;color:var(--color-brown-soft);font-size:12px}
.meal-benefits__note{margin:14px 0 0;text-align:center}

/* 比較サイトの価値と特典 */
.more-label{display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;padding:4px 18px;border-radius:var(--radius-pill);background:var(--color-primary);color:#fff;font-size:15px;font-weight:900;letter-spacing:.08em}
.comparison{padding-block:104px}.comparison__grid{grid-template-columns:1fr 1.08fr;gap:64px}.comparison .image-placeholder--brochure{width:100%;max-width:460px;justify-self:center}
.comparison .section-lead{font-size:17px;line-height:1.85}.check-list{font-size:17px}
.offer-box{margin-top:36px;overflow:hidden;border:1px solid var(--color-gold);border-radius:var(--radius-lg);background:#fff}
.offer-box__heading{padding:20px 24px 16px;background:var(--color-primary-soft);text-align:center}
.offer-box__heading .section-kicker{margin-bottom:5px;background:#fff}
.offer-box__heading h3{margin:0;font-size:23px}
.offer-box .benefits{margin:0;padding:24px}
.offer-box .benefits p{border:1px solid var(--color-border-light);background:var(--color-cream)}
.offer-box .benefits span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 8px;border:2px solid var(--color-primary);border-radius:50%;font-size:14px}
.offer-box>.note{margin:0;padding:0 24px 20px;text-align:center}

@media (max-width:767px){
  .logo-marquee{padding:21px 0 23px}.logo-marquee h2{margin-bottom:13px;font-size:16px}
  .logo-marquee__track{animation-duration:40s;gap:10px}.logo-marquee__group{gap:10px;padding-left:10px}
  .logo-marquee__card{width:128px;height:62px;padding:9px 12px}.logo-marquee__card img{height:40px}
  .section-title--decorated::after{width:46px;margin-top:12px}.section-title--voice::before{display:none}
  .worry-card{padding:22px 20px}.worry-card li{font-size:16px}
  .worries__bridge{margin:26px 0 34px;padding:17px 18px}.worries__bridge p{font-size:23px;line-height:1.55}
  .meal-benefits{grid-template-columns:1fr;gap:16px}.meal-benefit{min-height:0;padding:22px 20px}
  .meal-benefit>span{width:38px;height:38px;margin-bottom:11px}.meal-benefit h3{font-size:20px}.meal-benefit p{font-size:16px}
  .comparison{padding-block:72px}.comparison__grid{gap:0}.comparison .image-placeholder{order:1;margin-bottom:28px}.comparison__content .more-label{order:2;justify-self:start;width:max-content;margin-bottom:12px}.comparison__content .section-title{order:3}.comparison__content .section-lead{order:4;margin:18px 0 0}.comparison .check-list{order:5;margin-top:26px}.comparison__conclusion{order:6;margin-top:24px}.comparison .button-primary{order:7;margin-top:28px}
  .offer-box{margin-top:28px}.offer-box__heading{padding:18px 16px 14px}.offer-box__heading h3{font-size:21px}
  .offer-box .benefits{grid-template-columns:1fr;gap:12px;padding:18px}.offer-box .benefits p{padding:16px;font-size:16px}.offer-box>.note{padding:0 18px 18px}
}
@media (prefers-reduced-motion:reduce){
  .logo-marquee__viewport{overflow-x:auto;scrollbar-width:thin}.logo-marquee__track{animation:none;will-change:auto}.logo-marquee__group[aria-hidden="true"]{display:none}
}

/* 第2回レビュー：お悩み全体の吹き出し化と番号主体メリット */
.logo-marquee{background:linear-gradient(180deg,#fffaf4 0%,#fff 100%)}
.logo-marquee h2{display:flex;align-items:center;justify-content:center;gap:13px;margin-bottom:15px;color:var(--color-brown);font-size:19px;font-weight:800}
.logo-marquee h2::before,.logo-marquee h2::after{content:"";width:28px;height:2px;border-radius:2px;background:var(--color-primary)}
.logo-marquee__card{border-color:#f1e8dd;background:rgba(255,255,255,.86)}

.worries{padding-block:104px 112px;background:var(--color-cream)}
.worries__bubble{position:relative;padding:44px 44px 38px;border-radius:32px;background:#6b4d39;color:#fff}
.worries__bubble::after{content:"";position:absolute;bottom:-20px;left:50%;width:40px;height:40px;background:#6b4d39;transform:translateX(-50%) rotate(45deg)}
.section-kicker--dark{position:relative;z-index:1;background:#fff4e9;color:var(--color-primary)}
.worries__bubble>.section-title{position:relative;z-index:1;color:#fff}
.worries__bubble .worries__cards{position:relative;z-index:1;margin-top:36px}
.worries__bubble .worry-card{min-height:200px;padding:26px 28px;border:0;background:var(--color-cream);box-shadow:none;color:var(--color-brown)}
.worries__bubble .worries__bridge{position:relative;z-index:1;margin:30px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.worries__bubble .worries__bridge::after{display:none}
.worries__bubble .worries__bridge p{color:#fff8ec;font-size:29px;font-weight:800}
.worries__bubble .worries__bridge strong{color:#ffb04f}
.meal-benefits-section{margin-top:92px}
.meal-benefits-section__heading{display:grid;grid-template-columns:1.3fr .7fr;gap:44px;align-items:center;margin-bottom:42px}
.meal-benefits-section__heading .section-kicker{margin-left:0}
.meal-benefits-section__heading .section-title{text-align:left}
.meal-benefits-section__heading .section-title::after{margin-left:0}
.image-placeholder--benefits{min-height:0;aspect-ratio:16/10;border-radius:18px}
.image-placeholder--benefits::before{width:115px;height:72px;border-width:5px}
.image-placeholder--benefits span{text-align:center;line-height:1.4}
.meal-benefits{gap:0}
.meal-benefit{display:grid;grid-template-columns:88px 1fr;column-gap:22px;align-content:start;min-height:230px;padding:34px 38px;border:0;border-radius:0;background:transparent;box-shadow:none}
.meal-benefit:nth-child(odd){border-right:1px solid var(--color-border)}
.meal-benefit:nth-child(n+3){border-top:1px solid var(--color-border)}
.meal-benefit>span{display:block;grid-row:1/3;width:auto;height:auto;margin:0;border:0;border-radius:0;color:var(--color-gold);font-family:Georgia,"Times New Roman",serif;font-size:52px;line-height:1;font-weight:700}
.meal-benefit>span::after{content:"";display:block;width:44px;height:2px;margin-top:12px;background:var(--color-primary)}
.meal-benefit h3{grid-column:2;margin:1px 0 10px;font-size:22px}
.meal-benefit p,.meal-benefit small{grid-column:2}
.meal-benefits__note{margin-top:18px}

/* 宅配弁当から比較サイトの価値へ接続 */
.comparison{padding-block:112px}
.comparison__intro{margin-bottom:42px;text-align:center}
.comparison__connector{margin:6px 0 4px;color:var(--color-brown-soft);font-size:18px;font-weight:700}
.comparison__intro h2{margin:0;font-size:clamp(32px,3.2vw,40px);line-height:1.45}
.comparison__intro h2 span{color:var(--color-primary)}
.comparison__subtitle{margin:18px 0 0;color:var(--color-brown-soft);font-size:20px;font-weight:800}
.comparison__grid{grid-template-columns:1fr 1.1fr;gap:64px}
.comparison__content{align-self:center}.comparison__content .section-lead{margin-top:0}

/* 特典と最終CTAの後押し */
.offer-box{border:2px solid #e5a848}
.offer-box__heading{padding:24px 24px 19px}
.offer-box__heading h3{font-size:26px}
.offer-box .benefits span{width:46px;height:46px;border-color:var(--color-gold);font-size:16px}
.offer-box .benefits p{font-size:17px;font-weight:800}
.voice-card.is-placeholder{border-style:dashed}
.cta-panel--bottom{display:flex;flex-direction:column;align-items:center;padding:54px 48px 48px;text-align:center}
.cta-panel--bottom .cta-panel__copy{max-width:780px}
.cta-panel--bottom .cta-panel__copy .section-kicker{margin:0 auto 10px}
.cta-panel--bottom .cta-panel__action{width:min(100%,440px);margin-top:30px}
.final-cta__support{margin-top:10px!important;color:var(--color-primary);font-weight:800}
.final-assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}
.final-assurance span{display:flex;align-items:center;justify-content:center;min-height:50px;padding:7px;border-radius:10px;background:var(--color-cream);font-size:13px;line-height:1.4;text-align:center;font-weight:700}

@media (max-width:767px){
  .logo-marquee h2{font-size:17px}.logo-marquee h2::before,.logo-marquee h2::after{width:18px}
  .worries{padding-block:64px 72px}.worries__bubble{padding:30px 20px 28px;border-radius:24px}
  .worries__bubble::after{bottom:-14px;width:28px;height:28px}
  .worries__bubble .worries__cards{margin-top:28px}.worries__bubble .worry-card{min-height:0;padding:22px 20px}
  .worries__bubble .worries__bridge{margin-top:28px}.worries__bubble .worries__bridge p{font-size:23px}
  .meal-benefits-section{margin-top:68px}.meal-benefits-section__heading{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin-bottom:24px}
  .meal-benefits-section__heading .section-kicker{margin-inline:auto}.meal-benefits-section__heading .section-title{text-align:center}.meal-benefits-section__heading .section-title::after{margin-inline:auto}
  .image-placeholder--benefits{order:2;aspect-ratio:16/9}
  .meal-benefits{display:block}.meal-benefit{display:block;min-height:0;padding:27px 0;border:0!important;border-bottom:1px solid var(--color-border)!important}
  .meal-benefit:first-child{padding-top:8px}.meal-benefit:last-child{border-bottom:0!important}
  .meal-benefit>span{font-size:45px}.meal-benefit>span::after{margin-top:8px}.meal-benefit h3{margin-top:14px;font-size:20px}.meal-benefit p,.meal-benefit small{font-size:16px}
  .comparison{padding-block:72px}.comparison__intro{margin-bottom:30px}.comparison__connector{font-size:16px}.comparison__intro h2{font-size:28px}.comparison__subtitle{margin-top:14px;font-size:17px}
  .comparison__grid{display:flex;flex-direction:column;gap:0}.comparison .image-placeholder{order:1;margin-bottom:26px}.comparison__content{order:2;display:block}.comparison__content .section-lead{margin:0}
  .comparison .check-list{margin-top:24px}.comparison .comparison__conclusion{margin-top:24px}.comparison .button-primary{margin-top:28px}
  .offer-box__heading h3{font-size:23px}.offer-box .benefits p{border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:#fff}.offer-box .benefits p:last-child{border-bottom:0}
  .cta-panel--bottom{padding:36px 22px 30px}.cta-panel--bottom .cta-panel__copy .section-kicker{margin:0 auto 10px}.cta-panel--bottom .cta-panel__copy{text-align:center}
  .final-assurance{gap:5px;margin-top:18px}.final-assurance span{min-height:54px;padding:6px 3px;font-size:12px}
  .cta-panel--bottom .cta-panel__action{margin-top:26px}
}

/* 質感・画像・縦リズムの最終調整 */
.section{padding-block:72px}
.top-cta{padding:24px 0 64px}
.worries{padding-block:88px 92px}
.comparison{padding-block:88px}
.voices,.flow,.faq{padding-block:68px}
.final-cta{padding-block:68px}

.cta-panel{border-radius:18px;box-shadow:none}
.cta-panel--top{padding-block:38px 34px}
.cta-panel--bottom{padding-block:42px 38px;background:rgba(255,255,255,.72)}
.button-primary{border-radius:12px;box-shadow:0 2px 5px rgba(117,65,28,.13);transition:background .18s ease,transform .18s ease}
.button-primary:hover{transform:translateY(-1px)}
.button-primary .button-primary__arrow{display:inline;color:inherit;width:auto;height:auto;border-radius:0;background:transparent;font-size:21px;line-height:1}
.sticky-cta .sticky-cta__arrow{display:inline;width:auto;height:auto;border-radius:0;background:transparent;color:inherit;font-size:20px}

.logo-marquee__card{width:178px;height:76px;padding:6px 9px}
.logo-marquee__card img{width:100%;height:60px;max-width:160px;object-fit:contain}
.logo-card{padding:8px 10px}
.logo-card img{height:68px;max-width:100%;object-fit:contain}

.section-photo{display:block;width:100%;object-fit:cover;border-radius:18px}

.section-photo--brochure{align-self:center;aspect-ratio:4/5;max-height:430px;object-position:center;box-shadow:0 3px 14px rgba(77,49,27,.1)}

.section-kicker--simple{position:relative;padding:0 0 5px;border-radius:0;background:transparent;color:var(--color-primary)}
.section-kicker--simple::after{content:"";display:block;width:26px;height:2px;margin:4px auto 0;background:var(--color-gold)}
.meal-benefits-section__heading .section-kicker--simple{margin-left:0}
.meal-benefits-section__heading .section-kicker--simple::after{margin-left:0}

.offer-box{margin-top:28px;box-shadow:none}
.offer-box__heading{padding-block:20px 16px}
.offer-box .benefits{display:block;padding:20px 28px 18px}
.benefits__primary{display:grid;grid-template-columns:repeat(2,1fr)}
.offer-box .benefits__primary p{display:grid;grid-template-columns:52px 1fr;align-items:center;justify-items:start;min-height:92px;margin:0;padding:13px 28px;border:0;border-right:1px solid var(--color-border);border-radius:0;background:#fff;text-align:left}
.offer-box .benefits__primary p:last-child{border-right:0}
.offer-box .benefits__primary span{grid-row:1/3;margin:0 14px 0 0}
.offer-box .benefits__primary strong{display:block;font-size:20px;line-height:1.35}
.offer-box .benefits__supplement{display:flex;align-items:center;justify-content:center;min-height:auto;margin:10px 0 0;padding:14px;border:0;border-top:1px solid var(--color-border-light);border-radius:0;background:transparent;font-size:15px}
.offer-box .benefits__supplement span{display:inline-grid;width:34px;height:34px;margin:0 10px 0 0}

.flow__grid{margin-top:30px}
.flow-card{padding:22px 22px 24px;border-radius:14px;background:rgba(255,255,255,.62);box-shadow:none}
.flow-card__number{font-size:18px}
.flow-card__icon{width:50px;height:50px;margin:11px auto}
.faq-list{margin-top:30px}
.faq-item button{min-height:66px;background:var(--color-cream)}
.faq-answer{background:var(--color-cream)}

@media (max-width:767px){
  .section{padding-block:60px}.top-cta{padding:20px 0 52px}.worries{padding-block:64px 72px}.comparison{padding-block:72px}.voices,.flow,.faq{padding-block:60px}.final-cta{padding-block:52px}
  .cta-panel--top{padding-block:30px 26px}.cta-panel--bottom{padding-block:34px 30px}
  .logo-marquee__card{width:150px;height:68px;padding:5px 7px}.logo-marquee__card img{height:54px;max-width:138px}
  .logo-card{height:78px;padding:6px}.logo-card img{height:60px}
  .meal-benefits-section__heading .section-kicker--simple{margin-inline:auto}.meal-benefits-section__heading .section-kicker--simple::after{margin-inline:auto}
  .offer-box .benefits{padding:16px 18px}.benefits__primary{display:block}
  .offer-box .benefits__primary p{grid-template-columns:48px 1fr;min-height:82px;padding:12px 8px;border-right:0;border-bottom:1px solid var(--color-border)}
  .offer-box .benefits__primary p:last-child{border-bottom:0}.offer-box .benefits__primary strong{font-size:18px}
  .offer-box .benefits__supplement{font-size:15px;text-align:left}
  .flow-card{padding-block:20px 22px}.faq-item button{min-height:64px}
}

/* 横長画像・フラットCTA・PC縦リズム調整 */
@media (min-width:768px){
  .fv{background:var(--color-cream)}
  .fv__inner{width:min(100%,1440px);margin-inline:auto}
  .fv__picture{display:block}
  .fv__picture img{width:auto;max-width:100%;max-height:calc(100vh - 60px);margin-inline:auto;object-fit:contain}

  .section{padding-block:64px}
  .top-cta{padding:18px 0 52px}
  .worries{padding-block:82px 86px}
  .comparison{padding-block:82px}
  .voices,.flow,.faq{padding-block:60px}
  .final-cta{padding-block:56px}
  .services .logo-grid+.offer-box{margin-top:24px}

  .worries .container{width:min(100% - 32px,1200px)}
  .worries__bubble{padding-inline:50px}
  .worries__bubble::after{bottom:-23px;width:46px;height:46px}
  .worries__bubble .worries__bridge p{font-size:31px}
}

.meal-benefits-section__heading{display:block;margin-bottom:32px}
.meal-benefits-section__heading>div:first-child{max-width:850px;margin-inline:auto;text-align:center}
.meal-benefits-section__heading .section-kicker--simple{margin-inline:auto}
.meal-benefits-section__heading .section-kicker--simple::after,.meal-benefits-section__heading .section-title::after{margin-inline:auto}
.meal-benefits-section__heading .section-title{text-align:center}
.meal-benefits{margin-top:32px}

.comparison__bridge-copy{margin:12px 0 0;color:var(--color-brown-soft);font-size:16px}
.section-photo--brochure{box-shadow:none}

.top-cta{background:var(--color-cream)}
.cta-panel,.cta-panel--top,.cta-panel--bottom{border:0;border-radius:0;background:transparent;box-shadow:none}
.cta-panel--top{padding-block:32px 28px}
.cta-panel--bottom{padding-block:28px 24px}
.button-primary{box-shadow:none}

.offer-box .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:18px 24px}
.offer-box .benefits>p{display:grid;grid-template-columns:50px 1fr;align-items:center;justify-items:start;min-height:94px;margin:0;padding:14px 22px;border:0;border-right:1px solid var(--color-border);border-radius:0;background:#fff;text-align:left;font-size:16px;line-height:1.55}
.offer-box .benefits>p:last-child{border-right:0}
.offer-box .benefits>p span{grid-row:1/3;width:42px;height:42px;margin:0 10px 0 0}
.offer-box .benefits>p strong{display:block;font-size:18px}

@media (max-width:767px){
  .fv__inner,.fv__picture,.fv__picture img{display:block;width:100%;max-height:none}
  .meal-benefits-section__heading{margin-bottom:26px}
  .section-photo--benefits{margin-top:18px;aspect-ratio:5/2;border-radius:10px;object-position:center 54%}
  .meal-benefits{margin-top:26px}
  .meal-benefit{padding-block:25px}.meal-benefit p{font-size:17px;line-height:1.85}.meal-benefit>span::after{width:34px}
  .section-photo--brochure{aspect-ratio:5/2;object-fit:cover;object-position:center 55%;box-shadow:none}
  .comparison__bridge-copy{margin-top:10px;font-size:15px;line-height:1.7}
  .cta-panel,.cta-panel--top,.cta-panel--bottom{border:0;border-radius:0;background:transparent;box-shadow:none}
  .top-cta{background:var(--color-cream)}
  .cta-panel--top{padding-block:26px 22px}.cta-panel--bottom{padding-block:24px 20px}
  .offer-box .benefits{display:block;padding:0 18px}
  .offer-box .benefits>p{grid-template-columns:48px 1fr;min-height:0;padding:18px 8px;border-right:0;border-bottom:1px solid var(--color-border);font-size:16px}
  .offer-box .benefits>p:last-child{border-bottom:0}
  .offer-box .benefits>p span{width:40px;height:40px;margin-right:8px}
  .offer-box .benefits>p strong{font-size:18px}
}

/* CTA renewal: orange section, clear two-column conversion path */
.cta-panel,
.cta-panel--top,
.cta-panel--bottom{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr);
  grid-template-areas:
    "copy conversion"
    "note conversion";
  column-gap:clamp(36px,5vw,68px);
  row-gap:14px;
  align-items:center;
  padding:40px 46px;
  border:0;
  border-radius:20px;
  background:linear-gradient(135deg,#ff8125 0%,#f35c0b 100%);
  color:#fff;
  box-shadow:none;
  overflow:hidden;
}
.cta-panel--top{padding-block:34px}
.cta-panel--bottom{padding-block:42px}
.cta-panel .cta-panel__copy{grid-area:copy;min-width:0;max-width:none;margin:0;text-align:left}
.cta-panel .cta-panel__copy h2{margin:0;color:#fff;font-size:clamp(28px,2.5vw,38px);line-height:1.35;letter-spacing:.01em}
.cta-panel__copy>p:not(.eyebrow){margin:14px 0 0;color:#fff;font-size:17px;line-height:1.75}
.cta-panel .eyebrow{
  display:inline-flex;
  width:max-content;
  margin:0 0 14px;
  padding:7px 14px;
  border-radius:999px;
  background:#fff7e8;
  color:#c94700;
  font-size:16px;
  font-weight:800;
  line-height:1.35;
}
.cta-panel__conversion{
  grid-area:conversion;
  min-width:0;
  padding-left:clamp(32px,4vw,56px);
  border-left:1px solid rgba(255,255,255,.42);
}
.cta-panel .cta-panel__action{width:100%;margin:0}
.cta-panel .button-primary{
  width:100%;
  min-height:68px;
  padding:16px 24px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:16px;
  background:#fff;
  color:#d94d00;
  box-shadow:none;
  font-size:clamp(17px,1.5vw,21px);
}
.cta-panel .button-primary:hover{background:#fffaf2;transform:translateY(-1px);box-shadow:none}
.cta-panel .button-primary__arrow{
  display:inline;
  width:auto;
  height:auto;
  margin-left:12px;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:1.25em;
  line-height:1;
}
.cta-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.cta-feature{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  padding:0 9px;
  border-right:1px solid rgba(255,255,255,.36);
  color:#fff9ed;
  text-align:center;
  font-size:14px;
  line-height:1.4;
}
.cta-feature:last-child{border-right:0}
.cta-feature__icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#fff7e8;
  color:#d94d00;
  font-size:15px;
  font-weight:900;
}
.cta-panel__note{
  grid-area:note;
  align-self:start;
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:12px;
  line-height:1.65;
  text-align:left;
}
.section-photo--brochure{
  width:100%;
  aspect-ratio:4/1;
  max-height:none;
  object-fit:cover;
  object-position:center 55%;
}

@media (max-width:767px){
  .cta-panel,
  .cta-panel--top,
  .cta-panel--bottom{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "conversion"
      "note";
    row-gap:0;
    padding:28px 20px 24px;
    border-radius:16px;
  }
  .cta-panel--top,.cta-panel--bottom{padding-block:28px 24px}
  .cta-panel .cta-panel__copy{text-align:left}
  .cta-panel .cta-panel__copy h2{font-size:27px;line-height:1.4}
  .cta-panel__copy>p:not(.eyebrow){margin-top:12px;font-size:16px;line-height:1.7}
  .cta-panel .eyebrow{margin:0 0 12px;padding:6px 12px;font-size:15px}
  .cta-panel__conversion{margin-top:20px;padding:0;border-left:0}
  .cta-panel .button-primary{min-height:62px;padding:14px 16px;font-size:17px}
  .cta-features{margin-top:18px}
  .cta-feature{gap:6px;padding-inline:5px;font-size:13px}
  .cta-feature__icon{width:36px;height:36px;font-size:14px}
  .cta-panel__note{margin-top:16px;font-size:12px}
  .section-photo--brochure{aspect-ratio:4/1;object-position:center 55%}
  .section-photo--benefits{aspect-ratio:4/1;object-fit:cover;object-position:center 54%}
}
/* ========================================
   画像比率の最終指定
   - 食卓画像：PC/SPともに4:1
   - 資料イメージ：PCは元画像、SPは4:1
======================================== */

/* ------------------------------
   食卓画像（benefits-meal）
   PC / SP ともに 4:1
------------------------------ */
img.section-photo.section-photo--benefits {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 1 !important;
  object-fit: cover !important;
  object-position: center 54% !important;
  border-radius: 10px;
}

@media screen and (min-width: 768px) {
  img.section-photo.section-photo--benefits {
    margin-top: 24px !important;
  }
}

@media screen and (max-width: 767px) {
  img.section-photo.section-photo--benefits {
    margin-top: 18px !important;
  }
}


/* ------------------------------
   資料イメージ（comparison-brochures）
   PC：元画像の比率そのまま
------------------------------ */
@media screen and (min-width: 768px) {
  .photo-crop--brochure {
    width: 100% !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    border-radius: 10px;
  }

  .photo-crop--brochure > img.section-photo.section-photo--brochure {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 10px !important;
  }
}


/* ------------------------------
   資料イメージ（comparison-brochures）
   SP：4:1
------------------------------ */
@media screen and (max-width: 767px) {
  .photo-crop--brochure {
    width: 100% !important;
    aspect-ratio: 4 / 1 !important;
    overflow: hidden !important;
    border-radius: 10px;
  }

  .photo-crop--brochure > img.section-photo.section-photo--brochure {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center 55% !important;
    border-radius: 0 !important;
  }
}

/* ========================================
   CTA背景の単色オレンジ化
   - CTAカードのグラデーションを廃止
   - CTAセクション背景もオレンジに統一
======================================== */

/* CTAセクション全体の背景色 */
.top-cta,
.final-cta {
  background: var(--color-primary) !important;
}

/* CTA本体も単色オレンジに変更 */
.cta-panel,
.cta-panel--top,
.cta-panel--bottom {
  background: var(--color-primary) !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}

/* SPでは少しだけ角丸を抑える */
@media screen and (max-width: 767px) {
  .cta-panel,
  .cta-panel--top,
  .cta-panel--bottom {
    border-radius: 18px !important;
  }
}

/* ========================================
   CTA 配色・視認性の最終調整
======================================== */

.top-cta,
.final-cta {
  background: #ed5d0b !important;
}

/* CTA全体 */
.top-cta .cta-panel,
.final-cta .cta-panel {
  background: #ed5d0b !important;
  color: #fff;
}

/* 小見出しラベル */
.cta-panel .eyebrow {
  padding: 7px 15px;
  border: 2px solid rgba(255, 255, 255, 0.9);
  background: #fff8ec;
  color: #b83d00;
  font-size: 16px;
  font-weight: 900;
}

/* メイン見出し */
.cta-panel .cta-panel__copy h2 {
  color: #fff;
  font-weight: 900;
  text-shadow: 0 1px 1px rgba(95, 32, 0, 0.18);
}

/* 説明文 */
.cta-panel .cta-panel__copy > p:not(.eyebrow) {
  color: #fffaf2;
  font-size: 17px;
  font-weight: 600;
}

/* 左右を分ける線 */
.cta-panel__conversion {
  border-left-color: rgba(255, 255, 255, 0.55);
}

/* CTAボタン */
.cta-panel .button-primary {
  border: 2px solid #fff;
  background: #fff;
  color: #b83d00;
  font-weight: 900;
  box-shadow: 0 4px 0 rgba(113, 36, 0, 0.18);
}

.cta-panel .button-primary:hover {
  background: #fff8ec;
  color: #a93800;
  transform: translateY(-1px);
  box-shadow: 0 5px 0 rgba(113, 36, 0, 0.18);
}

/* 3つの特徴 */
.cta-feature {
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  border-right-color: rgba(255, 255, 255, 0.5);
}

.cta-feature__icon {
  width: 42px;
  height: 42px;
  border: 2px solid #fff;
  background: #fff8ec;
  color: #b83d00;
  font-size: 16px;
  font-weight: 900;
}

/* 注意書き */
.cta-panel .cta-panel__note {
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 6px;
  background: #fff3df;
  color: #5a2d18;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.6;
}

/* スマートフォン */
@media screen and (max-width: 767px) {
  .cta-panel .eyebrow {
    font-size: 15px;
  }

  .cta-panel .cta-panel__copy h2 {
    font-size: 27px;
  }

  .cta-panel .cta-panel__copy > p:not(.eyebrow) {
    font-size: 16px;
  }

  .cta-panel__conversion {
    border-left: 0;
  }

  .cta-feature {
    padding-inline: 4px;
    font-size: 13px;
  }

  .cta-feature__icon {
    width: 38px;
    height: 38px;
    font-size: 14px;
  }

  .cta-panel .cta-panel__note {
    width: 100%;
    margin-top: 18px;
    font-size: 12px;
    text-align: left;
  }
}


/* ========================================
   CTA：スマートフォン版の情報整理
======================================== */

@media screen and (max-width: 767px) {

  /* CTA全体 */
  .top-cta,
  .final-cta,
  .cta-panel,
  .cta-panel--top,
  .cta-panel--bottom {
    background: #ed5d0b !important;
  }

  .cta-panel,
  .cta-panel--top,
  .cta-panel--bottom {
    padding: 24px 18px 20px !important;
  }

  /* ラベル */
  .cta-panel .eyebrow {
    margin-bottom: 10px;
    padding: 5px 11px;
    font-size: 14px;
    border-width: 1px;
  }

  /* 見出し */
  .cta-panel .cta-panel__copy h2 {
    font-size: 25px;
    line-height: 1.4;
    letter-spacing: 0;
  }

  .cta-panel--bottom .cta-panel__copy h2 {
    font-size: 24px;
  }

  /* SPでは説明文を非表示にして情報量を整理 */
  .cta-panel .cta-panel__copy > p:not(.eyebrow) {
    display: none;
  }

  /* ボタンエリア */
  .cta-panel__conversion {
    margin-top: 18px;
  }

  /* CTAボタンを主役として残す */
  .cta-panel .button-primary {
    min-height: 66px;
    padding: 14px 12px;
    border-radius: 14px;
    font-size: 18px;
    line-height: 1.45;
    box-shadow: 0 4px 0 rgba(106, 35, 0, 0.22);
  }

  .cta-panel .button-primary__arrow {
    margin-left: 6px;
  }

  /* 3つの特徴を小さな補足情報に変更 */
  .cta-features {
    gap: 6px;
    margin-top: 12px;
  }

  .cta-feature {
    min-height: 38px;
    padding: 7px 3px;
    border: 0;
    border-radius: 8px;
    background: rgba(103, 34, 0, 0.2);
    color: #fff;
    font-size: 12px;
    line-height: 1.35;
  }

  /* 丸アイコンはSPでは非表示 */
  .cta-feature__icon {
    display: none;
  }

  /* 注意書きはボタンと競合させない */
  .cta-panel .cta-panel__note {
    width: 100%;
    margin-top: 12px;
    padding: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.55;
  }
}

/* CTA注意書き：背景なし */
.cta-panel .cta-panel__note {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .cta-panel .cta-panel__note {
    width: 100%;
    margin-top: 14px;
    padding: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    font-size: 11px;
  }
}

/* スマホ版：下部CTAを上部CTAと同じサイズに統一 */
@media screen and (max-width: 767px) {
  .final-cta {
    padding: 20px 0 52px !important;
  }

  .cta-panel--bottom {
    padding: 24px 18px 20px !important;
  }

  .cta-panel--bottom .cta-panel__copy h2 {
    font-size: 25px !important;
  }
}

/* サービスロゴ：詳細ページへのリンク */
.logo-card--link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease,
    background-color 0.2s ease;
}

/* カーソルを当てたとき */
.logo-card--link:hover,
.logo-card--link:focus-visible {
  border-color: #ed5d0b;
  background-color: #fffaf2;
  box-shadow: 0 5px 14px rgba(77, 49, 27, 0.12);
  transform: translateY(-2px);
}

/* キーボード操作時の視認性 */
.logo-card--link:focus-visible {
  outline: 3px solid rgba(237, 93, 11, 0.35);
  outline-offset: 3px;
}

/* スマホでは浮き上がりを無効化 */
@media screen and (max-width: 767px) {
  .logo-card--link:hover,
  .logo-card--link:focus-visible {
    transform: none;
  }
}


/* ========================================
   スマホ用・画像追従CTA
======================================== */

.sticky-cta {
  display: none;
}

@media screen and (max-width: 767px) {
  .sticky-cta {
    position: fixed;
    z-index: 100;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 12px;

    display: block;
    width: auto;
    max-width: 520px;
    margin-inline: auto;
    padding: 0;

    appearance: none;
    border: 0;
    border-radius: 18px;
    background: transparent;
    box-shadow: 0 8px 20px rgba(63, 42, 29, 0.28);

    cursor: pointer;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;

    transition:
      opacity 0.2s ease,
      visibility 0.2s ease,
      transform 0.2s ease;
  }

  .sticky-cta img {
    display: block;
    width: 100%;
    height: auto;
    pointer-events: none;
  }

  .sticky-cta:active {
    transform: translateY(1px);
  }

  .sticky-cta.is-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    pointer-events: none;
  }
}

/* ========================================
   スマホ用・PNG画像追従CTA
======================================== */

.sticky-cta {
  display: none;
}

@media screen and (max-width: 767px) {
  .sticky-cta {
    position: fixed;
    z-index: 100;
    right: 10px;
    left: 10px;
    bottom: calc(8px + env(safe-area-inset-bottom));

    display: block;
    width: auto;
    max-width: 520px;
    margin-inline: auto;
    padding: 0;

    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    line-height: 0;

    cursor: pointer;
    overflow: visible;
    -webkit-tap-highlight-color: transparent;

    transition:
      opacity 0.2s ease,
      visibility 0.2s ease,
      transform 0.2s ease;
  }

  .sticky-cta img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;

    border: 0;
    border-radius: 0;
    box-shadow: none;

    pointer-events: none;
  }

  .sticky-cta:active {
    transform: translateY(1px);
  }

  .sticky-cta.is-hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    pointer-events: none;
  }
}

/* ========================================
   共通ヘッダー・ハンバーガーメニュー
======================================== */
html {
  scroll-padding-top: 80px;
}

body.is-menu-open {
  overflow: hidden;
}

.lp-header {
  position: sticky;
  top: 0;
  z-index: 500;
  border-bottom: 1px solid rgba(234, 216, 189, 0.7);
  box-shadow: 0 2px 10px rgba(77, 49, 27, 0.05);
}

.lp-header__inner {
  position: relative;
}

.lp-header__actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: none;
}

.lp-header__free {
  flex: none;
}

.menu-toggle {
  position: relative;
  z-index: 1002;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 12px;
  background: var(--color-cream);
  color: var(--color-brown);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}

.menu-toggle:hover,
.menu-toggle:focus-visible {
  border-color: var(--color-primary);
  background: var(--color-primary-soft);
}

.menu-toggle__lines {
  display: grid;
  gap: 5px;
  width: 22px;
}

.menu-toggle__lines > span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transform-origin: center;
  transition: transform 0.25s ease, opacity 0.2s ease;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines > span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines > span:nth-child(2) {
  opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__lines > span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.global-menu__backdrop {
  position: fixed;
  z-index: 998;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(45, 29, 19, 0.48);
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.global-menu {
  position: fixed;
  z-index: 999;
  top: 0;
  right: 0;
  width: min(88vw, 390px);
  height: 100dvh;
  padding: 88px 28px 32px;
  overflow-y: auto;
  background: var(--color-cream);
  box-shadow: -16px 0 42px rgba(63, 42, 29, 0.2);
  transform: translateX(102%);
  visibility: hidden;
  transition: transform 0.28s ease, visibility 0.28s ease;
}

body.is-menu-open .global-menu__backdrop {
  opacity: 1;
  visibility: visible;
}

body.is-menu-open .global-menu {
  transform: translateX(0);
  visibility: visible;
}

.global-menu__nav {
  display: grid;
  gap: 0;
}

.global-menu__nav a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 60px;
  padding: 14px 42px 14px 4px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-brown);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.2s ease, padding-left 0.2s ease;
}

.global-menu__nav a:not(.global-menu__cta)::after {
  content: "›";
  position: absolute;
  right: 10px;
  color: var(--color-primary);
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
}

.global-menu__nav a:not(.global-menu__cta):hover,
.global-menu__nav a:not(.global-menu__cta):focus-visible {
  padding-left: 10px;
  color: var(--color-primary);
}

.global-menu__nav .global-menu__cta {
  justify-content: center;
  min-height: 64px;
  margin-top: 22px;
  padding: 15px 44px 15px 22px;
  border: 2px solid var(--color-primary);
  border-radius: 14px;
  background: var(--color-primary);
  color: #fff;
  text-align: center;
  font-size: 17px;
}

.global-menu__nav .global-menu__cta::after {
  content: "→";
  position: absolute;
  right: 20px;
  font-size: 21px;
  line-height: 1;
}

.global-menu__nav .global-menu__cta:hover,
.global-menu__nav .global-menu__cta:focus-visible {
  background: #fff;
  color: var(--color-primary);
}

@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 68px;
  }

  .lp-header__actions {
    gap: 10px;
  }

  .menu-toggle {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border-radius: 10px;
  }

  .global-menu {
    width: min(90vw, 360px);
    padding: 78px 22px 28px;
  }

  .global-menu__nav a {
    min-height: 58px;
    font-size: 16px;
  }
}

@media screen and (max-width: 420px) {
  .lp-header__free {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-toggle,
  .menu-toggle__lines > span,
  .global-menu,
  .global-menu__backdrop,
  .global-menu__nav a {
    transition: none !important;
  }
}



/* ========================================
   ヘッダー：文字入り横長ロゴ
======================================== */

.lp-header {
  height: 70px;
}

.lp-header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.lp-header__brand {
  display: flex;
  align-items: center;
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  color: inherit;
  text-decoration: none;
}

/* 横長ロゴなので、幅を基準に指定 */
.lp-header__brand-logo {
  display: block;
  width: 220px;
  height: auto;
  max-height: 52px;
  object-fit: contain;
  object-position: left center;
}

/* ロゴ画像内に文字が入っているため非表示 */
.lp-header__brand-text {
  display: none;
}

.lp-header__brand:hover,
.lp-header__brand:focus-visible {
  opacity: 0.9;
}

/* スマートフォン */
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 74px;
  }

  .lp-header {
    height: 70px;
  }

  .lp-header__inner {
    gap: 10px;
  }

  .lp-header__brand {
    flex: 1 1 auto;
    max-width: calc(100% - 60px);
  }

  .lp-header__brand-logo {
    width: 185px;
    height: auto;
    max-height: 46px;
  }

  .menu-toggle {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
  }

  .global-menu {
    padding-top: 90px;
  }
}

/* 幅が狭いスマホ */
@media screen and (max-width: 420px) {
  .lp-header__brand-logo {
    width: 165px;
    max-height: 42px;
  }
}

/* ========================================
   運営者情報・利用規約
======================================== */

.legal-page {
  padding: 64px 0 88px;
  background: var(--color-cream);
}

.legal-card {
  padding: 48px 52px;
  border: 1px solid var(--color-border-light);
  border-radius: 18px;
  background: #fff;
}

.legal-card h1 {
  margin: 0 0 40px;
  padding-bottom: 18px;
  border-bottom: 3px solid var(--color-primary);
  color: var(--color-brown);
  font-size: 34px;
  line-height: 1.4;
}

.legal-section + .legal-section {
  margin-top: 42px;
}

.legal-card h2 {
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 4px solid var(--color-primary);
  color: var(--color-brown);
  font-size: 23px;
  line-height: 1.5;
}

.legal-card p {
  margin: 0;
  line-height: 1.9;
}

.legal-card p + p {
  margin-top: 16px;
}

.legal-card ul {
  margin: 0;
  padding-left: 1.5em;
}

.legal-card li {
  line-height: 1.9;
}

.legal-card li + li {
  margin-top: 8px;
}

.legal-card a {
  color: var(--color-primary);
  text-underline-offset: 3px;
}

.legal-table {
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.legal-table dl {
  margin: 0;
}

.legal-table dl > div {
  display: grid;
  grid-template-columns: 190px 1fr;
}

.legal-table dl > div + div {
  border-top: 1px solid var(--color-border);
}

.legal-table dt,
.legal-table dd {
  margin: 0;
  padding: 18px 20px;
}

.legal-table dt {
  background: var(--color-primary-soft);
  font-weight: 800;
}

.legal-table dd {
  background: #fff;
}

.legal-note {
  margin-top: 28px;
}

@media screen and (max-width: 767px) {
  .legal-page {
    padding: 36px 0 64px;
  }

  .legal-card {
    padding: 28px 20px;
    border-radius: 14px;
  }

  .legal-card h1 {
    margin-bottom: 30px;
    font-size: 28px;
  }

  .legal-card h2 {
    font-size: 20px;
  }

  .legal-section + .legal-section {
    margin-top: 34px;
  }

  .legal-table dl > div {
    display: block;
  }

  .legal-table dt {
    padding: 12px 16px;
  }

  .legal-table dd {
    padding: 14px 16px 18px;
  }
}

/* ========================================
   改行
======================================== */
.cta-panel__note span {
  display: block;
}

.cta-panel__note span + span {
  margin-top: 3px;
}