.factory-story{position:relative;min-height:570px;display:flex;align-items:center;overflow:hidden;background:#252b2c;color:#fff}
.factory-story>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%}
.factory-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,22,32,.86) 0%,rgba(8,22,32,.56) 42%,rgba(8,22,32,.11) 100%),linear-gradient(0deg,rgba(7,18,25,.25),transparent 45%)}
.factory-story-inner{position:relative;z-index:1;padding-block:86px}
.factory-story .section-kicker{color:#ffc476}
.factory-story h2{font-size:clamp(34px,4.5vw,59px);line-height:1.37;letter-spacing:-.06em;margin:0 0 22px;font-weight:900;max-width:730px}
.factory-story p:not(.section-kicker){font-size:15px;line-height:2;max-width:550px;margin:0;color:#e5eaeb}
.factory-story .image-note{position:absolute;right:0;bottom:24px;font-size:11px;color:#dce4e5}
.pain-section{background:#faf8f5}
.pain-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:85px}
.pain-layout h2{color:var(--navy);font-size:clamp(28px,3.3vw,42px);line-height:1.45;letter-spacing:-.05em;margin:0;max-width:420px}
.pain-list{border-top:1px solid #dcd7d0}
.pain-list>div{display:grid;grid-template-columns:66px 1fr;gap:20px;border-bottom:1px solid #dcd7d0;padding:25px 0}
.pain-list>div>span{font-size:28px;line-height:1.1;color:#dc9c59;font-weight:900}
.pain-list h3{font-size:17px;color:var(--navy);margin:0 0 5px}
.pain-list p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}
.scene-section{background:#faf8f5}
.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.scene-card{background:#fff;box-shadow:0 15px 42px rgba(25,42,48,.06)}
.scene-card>img{width:100%;height:330px;object-fit:cover}
.scene-card>div{padding:30px 34px 27px}
.scene-card span{color:var(--orange-deep);font-size:11px;letter-spacing:.12em;font-weight:900}
.scene-card h3{font-size:22px;color:var(--navy);margin:12px 0 9px}
.scene-card p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 18px}
.scene-card small{font-size:11px;color:#849194}
.voice-section{background:#fff}
.voice-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:64px}
.voice-copy h2{font-size:clamp(30px,3.4vw,47px);line-height:1.4;letter-spacing:-.055em;color:var(--navy);margin:0 0 24px;font-weight:900}
.voice-copy p:not(.section-kicker){font-size:14px;line-height:2;color:var(--muted);margin:0 0 12px}
.voice-photo{margin:0}
.voice-photo img{width:100%;height:auto;box-shadow:0 15px 42px rgba(25,42,48,.1)}
.voice-photo figcaption{text-align:right;font-size:11px;color:#849194;margin-top:9px}
.voice-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:42px}
.voice-feature{border-top:2px solid var(--orange);background:#f7f8f5;padding:22px 24px 23px}
.voice-feature>span{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--orange-deep)}
.voice-feature h3{font-size:18px;color:var(--navy);margin:13px 0 8px}
.voice-feature p{font-size:13px;line-height:1.9;color:var(--muted);margin:0}
.voice-notes{border-left:4px solid var(--orange);background:#faf8f5;margin-top:24px;padding:18px 24px}
.voice-notes p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}
.voice-notes p+p{margin-top:5px}
.bluetooth-section{background:#faf8f5}
.bluetooth-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:64px}
.bluetooth-intro h2{font-size:clamp(29px,3vw,42px);line-height:1.45;letter-spacing:-.055em;color:var(--navy);margin:0;font-weight:900}
.bluetooth-copy{border-left:1px solid var(--line);padding-left:38px}
.bluetooth-copy p{font-size:14px;line-height:2;color:var(--muted);margin:0}
.bluetooth-copy p+p{margin-top:14px}
@media(max-width:720px){.bluetooth-layout{grid-template-columns:1fr;gap:25px}.bluetooth-intro h2{font-size:26px}.bluetooth-copy{padding-left:19px}}
.gift-section{background:#fff}
.gift-panel{border:1px solid #ead7b8;background:#fff9ee;padding:43px 50px 28px}
.gift-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--orange-deep);font-size:11px;font-weight:900;letter-spacing:.12em}
.gift-topline span:last-child{border:1px solid #e5c18c;border-radius:999px;padding:5px 12px;letter-spacing:0}
.gift-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;margin-top:19px}
.gift-intro .section-kicker{font-size:25px;font-weight:900;letter-spacing:.06em;line-height:1.5}
.gift-intro h2{color:var(--navy);font-size:clamp(30px,4.1vw,54px);line-height:1.45;letter-spacing:-.055em;margin:0;font-weight:900}
.gift-copy p{font-size:14px;line-height:1.95;color:var(--muted);margin:0}
.gift-copy p+p{margin-top:13px}
.gift-copy .gift-highlight{color:var(--navy);font-size:clamp(25px,3.27vw,40px);font-weight:900}
.gift-note{border-top:1px solid #ead7b8;padding-top:18px;margin:29px 0 0;color:var(--muted);font-size:12px;line-height:1.8}
@media(max-width:720px){.gift-panel{padding:27px 24px 22px}.gift-layout{grid-template-columns:1fr;gap:21px;margin-top:16px}.gift-intro .section-kicker{font-size:20px}.gift-intro h2{font-size:29px}.gift-copy .gift-highlight{font-size:25px}.gift-note{margin-top:23px}}
.plan-card .plan-note{font-size:13px}
.guide-intro,.support-intro{background:#faf8f5}
.page-intro{padding:86px 0 74px}
.page-intro h1{font-size:clamp(34px,4.5vw,55px);line-height:1.35;letter-spacing:-.055em;color:var(--navy);margin:0 0 22px;max-width:790px}
.page-intro>p:not(.section-kicker){font-size:15px;line-height:1.95;max-width:660px;color:var(--muted);margin:0}
.guide-step{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;padding:65px 0;border-top:1px solid var(--line)}
.guide-step:nth-child(even){grid-template-columns:1.2fr .8fr}
.guide-step:nth-child(even) .guide-step-copy{order:2}
.guide-step:nth-child(even) .guide-step-media{order:1}
.guide-step-copy .step-number{display:inline-block;padding:0;margin-bottom:23px}
.guide-step-copy h2{font-size:clamp(23px,2.8vw,34px);line-height:1.45;color:var(--navy);margin:0 0 15px}
.guide-step-copy p{font-size:14px;color:var(--muted);line-height:2;margin:0}
.guide-step-copy .guide-voice{margin-top:14px}
@media(max-width:720px){.guide-step-media .vehicle-loading{object-position:right center}}
.guide-step-media{position:relative;background:#e6e9e8;border-radius:6px;overflow:hidden;min-height:310px;display:grid;place-items:center}
.guide-step-media img{width:100%;height:100%;min-height:310px;max-height:420px;object-fit:cover}
.guide-step-media img.contain{object-fit:contain;background:#e9eeef;padding:20px}
.guide-step-media small{position:absolute;right:14px;bottom:12px;background:rgba(13,36,54,.82);color:#fff;padding:5px 8px;font-size:10px}
.guide-note{background:#f3f5f4;border-left:4px solid var(--orange);padding:22px 26px;margin:20px 0 80px;color:var(--muted);font-size:13px;line-height:1.9}
.support-jump{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px}
.mobile-break{display:none}
.support-jump a{color:var(--navy);font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.support-jump a:hover{color:var(--orange-deep)}
.faq-section{background:#fff;padding:82px 0 95px}
.faq-wrap{max-width:840px}
.faq-wrap h2,.support-contact h2{font-size:clamp(27px,3vw,38px);color:var(--navy);letter-spacing:-.04em;margin:0 0 31px}
.faq-item{border:1px solid var(--line);background:#fff;margin-top:12px}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:15px;padding:20px 24px;font-size:15px;font-weight:800;color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.faq-q-mark{color:var(--orange-deep);font-size:13px}
.faq-icon{margin-left:auto;color:var(--orange-deep);font-size:21px;font-weight:400;line-height:1;transition:transform .2s}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-a{padding:0 24px 22px 54px;font-size:13px;color:var(--muted);line-height:1.95}
.faq-a a{color:var(--navy);font-weight:800}
.support-contact{background:#faf8f5;padding:82px 0 95px}
.contact-panel{max-width:840px;background:#fff;border:1px solid var(--line);padding:36px 40px}
.contact-panel p{font-size:14px;line-height:1.95;color:var(--muted);margin:0 0 21px}
.contact-panel .button{background:var(--orange);color:var(--navy)}
.contact-panel small{display:block;margin-top:22px;color:var(--muted);font-size:12px}
@media(max-width:960px){.pain-layout{gap:48px}.guide-step{gap:30px}}
@media(max-width:720px){.mobile-break{display:inline}.factory-story{min-height:525px}.factory-story>img{object-position:62% center}.factory-shade{background:linear-gradient(90deg,rgba(8,22,32,.83),rgba(8,22,32,.39)),linear-gradient(0deg,rgba(8,22,32,.45),transparent 65%)}.factory-story-inner{padding-block:70px 95px}.factory-story h2{font-size:37px}.factory-story p:not(.section-kicker){font-size:13px}.factory-story .image-note{right:0;bottom:16px}.pain-layout{grid-template-columns:1fr;gap:30px}.pain-list>div{grid-template-columns:45px 1fr;gap:13px}.scene-grid{grid-template-columns:1fr;gap:15px}.scene-card>img{height:250px}.scene-card>div{padding:25px}.voice-layout{grid-template-columns:1fr;gap:24px}.voice-copy h2{font-size:32px;margin-bottom:18px}.voice-feature-grid{grid-template-columns:1fr;gap:12px;margin-top:28px}.voice-feature{padding:20px 23px}.voice-feature h3{margin:8px 0 5px}.voice-notes{padding:16px 18px}.page-intro{padding:62px 0 54px}.guide-step,.guide-step:nth-child(even){grid-template-columns:1fr;gap:23px;padding:46px 0}.guide-step:nth-child(even) .guide-step-copy,.guide-step:nth-child(even) .guide-step-media{order:initial}.guide-step-media,.guide-step-media img{min-height:250px}.guide-step-media img{max-height:325px}.guide-note{margin:10px 0 55px}.faq-section,.support-contact{padding:60px 0 68px}.faq-item summary{padding:17px;font-size:14px}.faq-a{padding:0 17px 18px 41px}.contact-panel{padding:26px 23px}}
@media(prefers-reduced-motion:reduce){.faq-icon{transition:none}}

/* 工場写真をトップに据える。 */
.hero{background:linear-gradient(90deg,rgba(8,22,32,.91) 0%,rgba(8,22,32,.76) 36%,rgba(8,22,32,.31) 78%,rgba(8,22,32,.18) 100%),linear-gradient(0deg,rgba(8,22,32,.5),transparent 40%),url("assets/factory-hero-optimized.jpg") center 53%/cover no-repeat}
.hero-grid{grid-template-columns:minmax(0,1fr);min-height:600px}
.hero-copy{max-width:730px}
.hero h1,.hero-lead{text-shadow:0 2px 18px rgba(0,0,0,.24)}
.hero-lead strong{white-space:nowrap}
.hero-bottom{position:relative;z-index:1}
.workflow-grid{align-items:start}
.workflow-intro{position:relative}
.workflow-visual{height:175px;margin-top:18px;position:relative;display:grid;place-items:center;isolation:isolate}
.workflow-visual .phone-shell{width:82px;height:155px;padding:10px 4px 5px;border-width:3px;border-radius:16px;transform:rotate(5deg) translate(12px,2px)}
.workflow-visual .phone-shell img{border-radius:12px}
.workflow-visual .phone-speaker{top:4px;width:27px;height:2px}
.workflow-visual .app-tile{left:calc(50% - 70px);bottom:18px;width:49px;padding:0;background:transparent;border-radius:0;box-shadow:none;transform:rotate(-7deg)}
.workflow-visual .app-tile img{display:block;border-radius:10px;margin:0;box-shadow:0 10px 20px rgba(22,38,48,.22)}
@media(min-width:1100px){
  .workflow-intro{min-height:390px}
  .workflow-visual{position:absolute;top:165px;right:0;width:180px;height:225px;margin:0}
  .workflow-visual .phone-shell{width:111px;height:212px;padding:12px 5px 6px;border-width:3px;border-radius:18px}
  .workflow-visual .phone-speaker{width:31px}
  .workflow-visual .app-tile{left:3px;bottom:24px;width:57px}
}
@media(max-width:720px){
  .hero{background-image:linear-gradient(90deg,rgba(8,22,32,.86),rgba(8,22,32,.49)),linear-gradient(0deg,rgba(8,22,32,.57),transparent 62%),url("assets/factory-hero-optimized.jpg");background-position:88% center}
  .hero-grid{min-height:560px}
  .hero-copy{padding:68px 0 72px}
  .hero-bottom{display:flex;height:43px;font-size:9px}
  .workflow-visual{height:240px;margin-top:24px}
  .workflow-visual .phone-shell{width:119px;height:220px;padding:12px 5px 6px;border-radius:19px}
  .workflow-visual .app-tile{left:calc(50% - 93px);bottom:28px;width:62px}
}
