:root {
  --green: #036533;
  --green-dark: #024a29;
  --pale-green: #e6efe4;
  --mint: #edf6ef;
  --orange: #f5aa17;
  --ink: #1a1a1a;
  --black: #1a1a1a;
  --line: #d7ded7;
}

@media (max-width: 767px) {
  .solution { padding-bottom: calc(140 / 3.75 * 1cqw) !important; }
}

@media (max-width: 767px) {
  /* Preserve breathing room below the final solution arrow. */
  .solution { padding-bottom: calc(110 / 3.75 * 1cqw) !important; }
}

/* Responsive layout switches are intentionally discrete: mobile, tablet, desktop. */
@media (min-width: 768px) and (max-width: 1199px) {
  /* Keep the tablet composition stable instead of interpolating a second layout. */
  .comic-carousel__track,
  .comic-carousel__track li,
  .comic-carousel__track li::after,
  .button { transition: none !important; }
}

@media (min-width: 1200px) {
  .comic-carousel__track,
  .comic-carousel__track li,
  .comic-carousel__track li::after,
  .button { transition: none !important; }
}

/* Final CTA/recommendation geometry overrides */
.cta-panel { display:block; min-height:calc(740 / 14.4 * 1cqw); padding:calc(132 / 14.4 * 1cqw) 0 0; background:#1b1b1b; }
.cta-panel h2 { margin:0 auto; font-size:calc(42 / 14.4 * 1cqw); line-height:1.6; }
.cta-panel h2 span { display:inline; color:var(--orange); }
.cta-panel h2::after { display:block; width:calc(603 / 14.4 * 1cqw); height:calc(18 / 14.4 * 1cqw); margin:calc(8 / 14.4 * 1cqw) auto 0; border-bottom:2px solid var(--orange); content:""; }
.cta-panel .cta-buttons { display:flex; justify-content:center; gap:calc(72 / 14.4 * 1cqw); margin-top:calc(57 / 14.4 * 1cqw); }
.cta-panel .button { width:calc(480 / 14.4 * 1cqw); height:calc(114 / 14.4 * 1cqw); border-radius:5px; }
.cta-panel .button--phone { border:1px solid var(--orange); background:rgba(67,44,0,.88); }
.cta-panel .button--phone small { font-size:calc(18 / 14.4 * 1cqw); }
.cta-panel .button--phone strong { font-size:calc(51 / 14.4 * 1cqw); }
.cta-panel .button--contact { background:linear-gradient(#e3ac08,#f57200); font-size:calc(30 / 14.4 * 1cqw); }
.cta-panel > p { margin-top:calc(53 / 14.4 * 1cqw); font-size:calc(16 / 14.4 * 1cqw); font-weight:400; }
.recommendations { min-height:calc(1045 / 14.4 * 1cqw); margin:0; padding:calc(121 / 14.4 * 1cqw) 0 calc(178 / 14.4 * 1cqw); border-radius:calc(50 / 14.4 * 1cqw) calc(50 / 14.4 * 1cqw) 0 0; background:var(--green); color:#fff; }
.recommendations .section-heading h2 { color:#fff; font-size:calc(39 / 14.4 * 1cqw); }
.recommendations .section-heading h2 span { display:inline; }
.recommendations ul { grid-template-columns:repeat(3,calc(327 / 14.4 * 1cqw)); width:calc(1013 / 14.4 * 1cqw); margin-top:calc(72 / 14.4 * 1cqw); }
.recommendations li { height:calc(302 / 14.4 * 1cqw); border-radius:10px; background:#65ae89; color:#fff; font-size:calc(20 / 14.4 * 1cqw); }
.recommendations li::before { border:0; background:transparent; }
@media (max-width:767px) {
 .cta-panel { min-height:calc(746 / 3.75 * 1cqw); padding:calc(93 / 3.75 * 1cqw) 0 0; }
 .cta-panel h2 { font-size:calc(31 / 3.75 * 1cqw); }
 .cta-panel h2::after { width:calc(315 / 3.75 * 1cqw); height:calc(19 / 3.75 * 1cqw); }
 .cta-panel .cta-buttons { flex-direction:column; gap:calc(19 / 3.75 * 1cqw); margin-top:calc(46 / 3.75 * 1cqw); }
 .cta-panel .button { width:calc(323 / 3.75 * 1cqw); height:calc(105 / 3.75 * 1cqw); margin:0 auto; border-radius:5px; }
 .cta-panel .button--phone { height:calc(111 / 3.75 * 1cqw); }
 .cta-panel .button--phone small { font-size:calc(15 / 3.75 * 1cqw); }
 .cta-panel .button--phone strong { font-size:calc(37 / 3.75 * 1cqw); }
 .cta-panel .button--contact { font-size:calc(21 / 3.75 * 1cqw); }
 .cta-panel > p { margin-top:calc(19 / 3.75 * 1cqw); font-size:calc(12 / 3.75 * 1cqw); }
 .recommendations { min-height:calc(1943 / 3.75 * 1cqw); padding:calc(69 / 3.75 * 1cqw) 0 calc(90 / 3.75 * 1cqw); border-radius:calc(50 / 3.75 * 1cqw) calc(50 / 3.75 * 1cqw) 0 0; }
 .recommendations .section-heading h2 { font-size:calc(29 / 3.75 * 1cqw); }
 .recommendations .section-heading h2 span { display:block; }
 .recommendations ul { grid-template-columns:1fr; width:calc(275 / 3.75 * 1cqw); margin-top:calc(50 / 3.75 * 1cqw); }
 .recommendations li { height:calc(254 / 3.75 * 1cqw); background:#65ae89; font-size:calc(18 / 3.75 * 1cqw); }
}

@media (min-width: 768px) {
  .reasons__inner { width: calc(1028 / 14.4 * 1cqw) !important; }
  .reason-grid { grid-template-columns: repeat(4,calc(240 / 14.4 * 1cqw)) !important; grid-auto-rows: calc(240 / 14.4 * 1cqw) !important; }
  .reason-grid li { min-height:0 !important; border:2px solid #e9e9e9 !important; border-radius:5px !important; box-shadow:0 0 calc(26.5 / 14.4 * 1cqw) rgba(0,0,0,.05) !important; }
  .reason-grid__lead { background:#fff !important; color:#1a1a1a !important; text-align:center !important; }
  .reason-grid__lead > span { display:none; }
}

/* Final Figma導入事例 overrides (after base and responsive rules) */
.cases { background:#036533 url("../assets/case-study-bg.svg") center / cover no-repeat; color:#fff; }
.case-card__photo { background-image:url("../assets/case/figma-case1.png"); }
.case-card--02 .case-card__photo { background-image:url("../assets/case/figma-case2.png"); }
.case-card--03 .case-card__photo { background-image:url("../assets/case/figma-case3.png"); }
.case-card__photo::after { background:#00512f; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); }
.case-card__body { z-index:2; height:calc(484 / 14.4 * 1cqw); margin-top:calc(69 / 14.4 * 1cqw); padding:calc(29 / 14.4 * 1cqw) calc(35 / 14.4 * 1cqw); background:rgba(3,101,51,.78); border:1px solid rgba(255,255,255,.13); box-shadow:none; }
.case-card__results { color:var(--orange); }
.case-card__results span { color:#fff; font-size:.72em; }
.case-card__body ul,.case-card__body p { color:#fff; }
.case-card__body p { line-height:1.5; }
@media (max-width:767px) {
  .cases { background:#036533 url("../assets/case-study-bg.svg") center / cover no-repeat; }
  .case-card__body { height:auto; min-height:calc(620 / 3.75 * 1cqw); margin-top:0; padding:calc(27 / 3.75 * 1cqw) calc(15 / 3.75 * 1cqw); background:rgba(3,101,51,.8); }
  .case-card__body p { line-height:1.5; }
}

/* Figma導入事例レイヤー調整 */
.cases { background: #036533 url("../assets/case-study-bg.svg") center / cover no-repeat; color:#fff; }
.case-card__photo { background-image:url("../assets/case/figma-case1.png"); }
.case-card--02 .case-card__photo { background-image:url("../assets/case/figma-case2.png"); }
.case-card--03 .case-card__photo { background-image:url("../assets/case/figma-case3.png"); }
.case-card__photo::after { background:#00512f; clip-path:polygon(15% 0,100% 0,100% 100%,0 100%); }
.case-card__body { z-index:2; height:calc(484 / 14.4 * 1cqw); margin-top:calc(69 / 14.4 * 1cqw); padding:calc(29 / 14.4 * 1cqw) calc(35 / 14.4 * 1cqw); background:rgba(3,101,51,.78); border:1px solid rgba(255,255,255,.13); box-shadow:none; }
.case-card__results { color:var(--orange); }
.case-card__results span { color:#fff; font-size:.72em; }
.case-card__body ul,.case-card__body p { color:#fff; }
.case-card__body p { line-height:1.5; }

@media (max-width: 767px) {
  .solution-steps__icon { border: 0; border-radius: 0; transform: none; }
  .solution { background: #e5f1ed; }
  .section-heading--solution h2 em i { width: calc(40 / 3.75 * 1cqw); height: calc(40 / 3.75 * 1cqw); }
  .solution-steps::before { background: var(--orange); }
  .solution-steps::after { border-top-color: var(--orange); }
  .solution-steps__icon--plan { width: calc(223 / 3.75 * 1cqw); height: calc(167 / 3.75 * 1cqw); }
  .solution-steps__icon--growth { width: calc(165 / 3.75 * 1cqw); height: calc(167 / 3.75 * 1cqw); }
  .solution-steps__icon--truck { width: calc(211 / 3.75 * 1cqw); height: calc(158 / 3.75 * 1cqw); }
  .solution-steps__icon--future { width: calc(79 / 3.75 * 1cqw); height: calc(208 / 3.75 * 1cqw); }
}

/* CTA / recommendations: match Figma nodes 328:384 / 297:7287 / 328:397 / 297:7313 */
.cta-panel { position:relative; display:block; min-height:calc(740 / 14.4 * 1cqw); padding:calc(132 / 14.4 * 1cqw) 0 0; overflow:hidden; background:#1b1b1b; color:#fff; text-align:center; }
.cta-panel h2 { margin:0 auto; font-size:calc(42 / 14.4 * 1cqw); font-weight:900; letter-spacing:.04em; line-height:1.6; }
.cta-panel h2 span { display:inline; color:var(--orange); }
.cta-panel h2::after { display:block; width:calc(603 / 14.4 * 1cqw); height:calc(18 / 14.4 * 1cqw); margin:calc(8 / 14.4 * 1cqw) auto 0; border-bottom:calc(2 / 14.4 * 1cqw) solid var(--orange); content:""; }
.cta-panel .cta-buttons { display:flex; justify-content:center; gap:calc(72 / 14.4 * 1cqw); margin-top:calc(57 / 14.4 * 1cqw); }
.cta-panel .button { width:calc(480 / 14.4 * 1cqw); height:calc(114 / 14.4 * 1cqw); border-radius:5px; }
.cta-panel .button--phone { border:1px solid var(--orange); background:rgba(67,44,0,.88); }
.cta-panel .button--phone small { font-size:calc(18 / 14.4 * 1cqw); }
.cta-panel .button--phone strong { font-size:calc(51 / 14.4 * 1cqw); }
.cta-panel .button--contact { background:linear-gradient(#e3ac08,#f57200); font-size:calc(30 / 14.4 * 1cqw); }
.cta-panel > p { margin:calc(53 / 14.4 * 1cqw) 0 0; font-size:calc(16 / 14.4 * 1cqw); font-weight:400; }
.recommendations { position:relative; min-height:calc(1045 / 14.4 * 1cqw); margin:0; padding:calc(121 / 14.4 * 1cqw) 0 calc(178 / 14.4 * 1cqw); border-radius:calc(50 / 14.4 * 1cqw) calc(50 / 14.4 * 1cqw) 0 0; background:var(--green); color:#fff; }
.recommendations .section-heading h2 { color:#fff; font-size:calc(39 / 14.4 * 1cqw); letter-spacing:.06em; }
.recommendations .section-heading h2 span { display:inline; }
.recommendations ul { grid-template-columns:repeat(3,calc(327 / 14.4 * 1cqw)); gap:calc(16 / 14.4 * 1cqw); width:calc(1013 / 14.4 * 1cqw); margin:calc(72 / 14.4 * 1cqw) auto 0; }
.recommendations li { height:calc(302 / 14.4 * 1cqw); padding:calc(28 / 14.4 * 1cqw); border-radius:10px; background:#65ae89; color:#fff; font-size:calc(20 / 14.4 * 1cqw); }
.recommendations li::before { border:0; border-radius:0; background:transparent; }

@media (max-width:767px) {
  .cta-panel { min-height:calc(746 / 3.75 * 1cqw); padding:calc(93 / 3.75 * 1cqw) 0 0; }
  .cta-panel h2 { width:100%; font-size:calc(31 / 3.75 * 1cqw); line-height:1.6; }
  .cta-panel h2::after { width:calc(315 / 3.75 * 1cqw); height:calc(19 / 3.75 * 1cqw); margin-top:calc(12 / 3.75 * 1cqw); }
  .cta-panel .cta-buttons { flex-direction:column; gap:calc(19 / 3.75 * 1cqw); margin-top:calc(46 / 3.75 * 1cqw); }
  .cta-panel .button { width:calc(323 / 3.75 * 1cqw); height:calc(105 / 3.75 * 1cqw); margin:0 auto; border-radius:5px; }
  .cta-panel .button--phone { height:calc(111 / 3.75 * 1cqw); }
  .cta-panel .button--phone small { font-size:calc(15 / 3.75 * 1cqw); }
  .cta-panel .button--phone strong { font-size:calc(37 / 3.75 * 1cqw); }
  .cta-panel .button--contact { font-size:calc(21 / 3.75 * 1cqw); }
  .cta-panel > p { margin-top:calc(19 / 3.75 * 1cqw); font-size:calc(12 / 3.75 * 1cqw); }
  .recommendations { min-height:calc(1943 / 3.75 * 1cqw); padding:calc(69 / 3.75 * 1cqw) 0 calc(90 / 3.75 * 1cqw); border-radius:calc(50 / 3.75 * 1cqw) calc(50 / 3.75 * 1cqw) 0 0; }
  .recommendations .section-heading h2 { font-size:calc(29 / 3.75 * 1cqw); line-height:1.45; }
  .recommendations .section-heading h2 span { display:block; }
  .recommendations ul { grid-template-columns:1fr; gap:calc(25 / 3.75 * 1cqw); width:calc(275 / 3.75 * 1cqw); margin-top:calc(50 / 3.75 * 1cqw); }
  .recommendations li { height:calc(254 / 3.75 * 1cqw); padding:calc(25 / 3.75 * 1cqw); border-radius:10px; background:#65ae89; font-size:calc(18 / 3.75 * 1cqw); }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "Noto Sans JP", system-ui, sans-serif; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }

.lp { position: relative; width: 100%; max-width: none; margin: 0; overflow: clip; container-type: inline-size; }
.section-heading h2, .section-heading p { margin: 0; }
.section-heading h2 { color: var(--green); font-weight: 800; letter-spacing: .08em; line-height: 1.2; }
.section-heading h2 span { display: block; }
.section-heading--left { text-align: left; }

/* ---------- FV ---------- */
.hero { position: relative; min-height: calc(823 / 14.4 * 1cqw); overflow: hidden; background: #edf5ed; }
.hero::before, .hero::after { position: absolute; content: ""; pointer-events: none; }
.hero::before { inset: 0 0 0 auto; width: 64%; background: linear-gradient(130deg, transparent 0 14%, rgba(3,101,51,.77) 14% 15%, transparent 15% 58%, rgba(245,170,23,.75) 58% 59%, transparent 59%); opacity: .55; }
.hero::after { right: -8%; bottom: 0; width: 58%; height: 79%; border-radius: 55% 0 0 0; background: linear-gradient(140deg, rgba(240,245,239,.05), rgba(2,59,31,.58)); }
.hero__art { position: absolute; right: 0; bottom: 0; z-index: 0; width: 51%; height: 90%; overflow: hidden; background: linear-gradient(90deg,rgba(3,101,51,.18),transparent 42%), url("../assets/hero-truck.png") center / cover no-repeat; }
.site-header { position: relative; z-index: 2; display: flex; align-items: center; height: calc(68 / 14.4 * 1cqw); padding-left: calc(53 / 14.4 * 1cqw); background: rgba(255,255,255,.96); overflow: hidden; }
.site-header::before { position: absolute; top: 0; right: 0; bottom: 0; left: 22%; z-index: 0; background: var(--green); clip-path: polygon(1% 0,100% 0,100% 100%,0 100%); content: ""; }
.site-header__logo { position: relative; z-index: 1; display: block; width: calc(254 / 14.4 * 1cqw); }
.site-header__logo img { display: block; width: 100%; height: auto; }
.hero__content { position: relative; z-index: 2; width: calc(1200 / 14.4 * 1cqw); margin: calc(104 / 14.4 * 1cqw) 0 0 calc(120 / 14.4 * 1cqw); }
.hero h1 { position: relative; display: inline-block; margin: 0; color: var(--green); font-size: calc(72 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .04em; line-height: 1.55; text-shadow: 0 0 10px rgba(255,255,255,.7); }
.hero h1::before, .hero h1 > span::after { position: absolute; z-index: -1; left: calc(-291 / 14.4 * 1cqw); width: calc(890 / 14.4 * 1cqw); height: calc(84 / 14.4 * 1cqw); background: rgba(255,255,255,.88); content: ""; transform: skewX(-36deg); }
.hero h1::before { top: calc(12 / 14.4 * 1cqw); }
.hero h1 > span::after { bottom: calc(11 / 14.4 * 1cqw); }
.hero h1 > span { position: relative; color: #fff; text-shadow: 0 2px 4px rgba(0,50,26,.35); white-space: nowrap; }
.hero h1 > span::after { z-index: -1; left: calc(-300 / 14.4 * 1cqw); width: calc(1290 / 14.4 * 1cqw); background: var(--green); }
.sp-only { display: none; }
.hero__content > p { width: calc(980 / 14.4 * 1cqw); margin: calc(13 / 14.4 * 1cqw) 0 0 calc(18 / 14.4 * 1cqw); font-size: calc(18 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .05em; line-height: 1.7; white-space: nowrap; }
.cta-buttons { display: flex; gap: calc(72 / 14.4 * 1cqw); }
.hero__buttons { margin: calc(59 / 14.4 * 1cqw) 0 0; }
.button { display: flex; align-items: center; justify-content: center; width: calc(480 / 14.4 * 1cqw); height: calc(114 / 14.4 * 1cqw); border-radius: calc(57 / 14.4 * 1cqw); color: #fff; text-align: center; transition: transform .2s ease, filter .2s ease; }
.button:hover { filter: brightness(1.06); transform: translateY(-2px); }
.button--phone { flex-direction: column; background: var(--green); box-shadow: 0 calc(6 / 14.4 * 1cqw) calc(10 / 14.4 * 1cqw) rgba(0,62,34,.22); }
.button--phone small { font-size: calc(16 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .06em; }
.button--phone strong { margin-top: calc(-5 / 14.4 * 1cqw); font-family: Inter, sans-serif; font-size: calc(40 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .06em; line-height: 1; }
.button--contact { gap: calc(26 / 14.4 * 1cqw); background: var(--orange); font-size: calc(28 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .08em; box-shadow: 0 calc(6 / 14.4 * 1cqw) calc(10 / 14.4 * 1cqw) rgba(140,90,0,.2); }
.button--contact span { font-size: 1.3em; }
.hero__benefits { position: absolute; right: 0; bottom: 0; left: 0; z-index: 3; display: grid; grid-template-columns: 1fr 1.05fr 1fr; height: calc(81 / 14.4 * 1cqw); margin: 0; padding: 0; list-style: none; background: rgba(0,74,41,.84); color:#fff; }
.hero__benefits li { display: grid; place-content: center; min-width: 0; text-align: center; }
.hero__benefits li + li { border-left: 1px solid #d9d9d9; }
.hero__benefits b { color: #fff; font-size: calc(24 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .08em; line-height: 1.05; }
.hero__benefits small { margin-top: calc(5 / 14.4 * 1cqw); color:#fff; font-size: calc(14 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .08em; }

/* ---------- carousel ---------- */
.concerns { position: relative; height: calc(917 / 14.4 * 1cqw); overflow: hidden; background: #fff; }
.concerns::before, .concerns::after { position: absolute; border-radius: 50%; content: ""; }
.concerns::before { top: calc(-30 / 14.4 * 1cqw); left: calc(-30 / 14.4 * 1cqw); width: calc(260 / 14.4 * 1cqw); height: calc(260 / 14.4 * 1cqw); background: #e6efe4; }
.concerns::after { top: calc(-85 / 14.4 * 1cqw); right: calc(-120 / 14.4 * 1cqw); width: calc(330 / 14.4 * 1cqw); height: calc(330 / 14.4 * 1cqw); background: #e6efe4; }
.concerns h2 { position: relative; z-index: 1; margin: calc(92 / 14.4 * 1cqw) 0 0; color: var(--green); font-size: calc(50 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .1em; line-height: 1.1; text-align: center; }
.concerns h2 span { display: inline-block; margin-left: .22em; }
.concerns h2 i { color: var(--orange); font-family: Inter, sans-serif; font-size: 1.24em; font-style: normal; }
.comic-carousel { position: absolute; top: calc(211 / 917 * 100%); left: calc(121 / 1440 * 100%); z-index: 1; width: calc(1198 / 1440 * 100%); height: calc(548 / 917 * 100%); }
.comic-carousel__viewport { position: relative; z-index: 1; width: 100%; height: 100%; overflow-x: clip; overflow-y: visible; }
.comic-carousel__track { display: flex; gap: calc(189 / 14.4 * 1cqw); height: 100%; margin: 0; padding: 0; list-style: none; transition: transform 400ms ease; }
.comic-carousel__track li { position: relative; flex: 0 0 calc(308 / 14.4 * 1cqw); box-shadow: 0 calc(2 / 14.4 * 1cqw) calc(9 / 14.4 * 1cqw) rgba(0,0,0,.84); transition: transform 400ms ease; }
.comic-carousel__track img { display: block; width: 100%; height: 100%; object-fit: cover; }
.comic-carousel__track li::after { position: absolute; inset: 0; background: rgba(217,217,217,.77); content: ""; opacity: 0; transition: opacity 400ms ease; }
.comic-carousel__track li.is-prev::after, .comic-carousel__track li.is-next::after { opacity: 1; }
.comic-carousel__track li.is-prev { transform: translate(calc(2 / 14.4 * 1cqw),calc(-13 / 14.4 * 1cqw)) scale(.834416,.832117); transform-origin: right center; }
.comic-carousel__track li.is-next { transform: translateY(calc(-13 / 14.4 * 1cqw)) scale(.834416,.832117); transform-origin: left center; }
.comic-carousel__button { position: absolute; top: calc(218 / 548 * 100%); z-index: 3; width: calc(85 / 1198 * 100%); padding: 0; border: 0; background: transparent; cursor: pointer; }
.comic-carousel__button img { display: block; width: 100%; height: auto; }
.comic-carousel__button--prev { left: calc(320 / 1198 * 100%); }
.comic-carousel__button--next { left: calc(791 / 1198 * 100%); }
.comic-carousel.is-at-start .comic-carousel__button--prev { visibility: hidden; pointer-events: none; }
.comic-dots { position: absolute; top: calc(780 / 917 * 100%); left: calc(634.5 / 1440 * 100%); z-index: 2; display: flex; gap: calc(7 / 14.4 * 1cqw); align-items: center; border-radius: 999px; background: #fff; box-shadow: 0 0 0 calc(8 / 14.4 * 1cqw) #fff; }
.comic-dots__dot { width: calc(7 / 14.4 * 1cqw); height: calc(7 / 14.4 * 1cqw); border-radius: 99px; background: #d9d9d9; transition: width .2s ease, background-color .2s ease; }
.comic-dots__dot.is-active { width: calc(39 / 14.4 * 1cqw); background: var(--green); }

/* ---------- solution ---------- */
.solution { position: relative; min-height: calc(1171 / 14.4 * 1cqw); padding: calc(78 / 14.4 * 1cqw) calc(120 / 14.4 * 1cqw) calc(120 / 14.4 * 1cqw); background: #e5f1ed; }
.section-heading--solution { text-align: center; }
.section-heading--solution h2 { font-size: calc(42 / 14.4 * 1cqw); }
.section-heading--solution h2 em { display: inline-flex; margin-right: .2em; color: var(--green); font-size: calc(62 / 14.4 * 1cqw); font-style: normal; line-height: .9; }
.section-heading--solution h2 em i { display: grid; width: calc(80 / 14.4 * 1cqw); height: calc(80 / 14.4 * 1cqw); place-items: center; border: 1px solid var(--green); font-style: normal; }
.section-heading--solution h2 span { margin-top: calc(12 / 14.4 * 1cqw); font-size: calc(42 / 14.4 * 1cqw); }
.section-heading--solution p { position: relative; display: inline-block; margin-top: calc(42 / 14.4 * 1cqw); padding: calc(12 / 14.4 * 1cqw) calc(35 / 14.4 * 1cqw); font-size: calc(20 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .07em; line-height: 1.7; }
.section-heading--solution p::before, .section-heading--solution p::after { position: absolute; width: calc(87 / 14.4 * 1cqw); height: calc(16 / 14.4 * 1cqw); background: var(--green); content: ""; }
.section-heading--solution p::before { top: 0; left: 0; border-radius: 10px 0 0 0; }
.section-heading--solution p::after { right: 0; bottom: 0; border-radius: 0 0 10px 0; }
.solution-steps { position: relative; display: grid; grid-template-columns: repeat(3,1fr); grid-template-rows: repeat(2,calc(305 / 14.4 * 1cqw)); gap: calc(31 / 14.4 * 1cqw) calc(80 / 14.4 * 1cqw); width: calc(1054 / 14.4 * 1cqw); margin: calc(47 / 14.4 * 1cqw) auto 0; padding: 0; list-style: none; }
.solution-steps::before { position: absolute; top: calc(170 / 14.4 * 1cqw); right: calc(115 / 14.4 * 1cqw); left: calc(115 / 14.4 * 1cqw); height: calc(41 / 14.4 * 1cqw); border-radius: 0; background: var(--orange); content: ""; }
.solution-steps::after { position: absolute; right: calc(55 / 14.4 * 1cqw); bottom: calc(255 / 14.4 * 1cqw); border-top: calc(40 / 14.4 * 1cqw) solid transparent; border-bottom: calc(40 / 14.4 * 1cqw) solid transparent; border-left: calc(78 / 14.4 * 1cqw) solid var(--orange); content: ""; }
.solution-steps li { position: relative; z-index: 1; padding-top: calc(160 / 14.4 * 1cqw); }
.solution-steps li:nth-child(4) { grid-column: 1 / span 1; margin-left: calc(189 / 14.4 * 1cqw); }
.solution-steps li:nth-child(5) { grid-column: 2 / span 1; margin-left: calc(189 / 14.4 * 1cqw); }
.solution-steps__number { position: absolute; top: 0; left: 0; display: grid; width: calc(73 / 14.4 * 1cqw); height: calc(73 / 14.4 * 1cqw); place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-family: Inter,sans-serif; font-size: calc(29 / 14.4 * 1cqw); font-weight: 700; }
.solution-steps__icon { position: absolute; top: calc(12 / 14.4 * 1cqw); left: calc(73 / 14.4 * 1cqw); width: calc(168 / 14.4 * 1cqw); height: calc(148 / 14.4 * 1cqw); overflow: hidden; border: 0; background: transparent; }
.solution-steps__icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.solution-steps__icon::before { display: none; }
.solution-steps__icon--plan { width: calc(223 / 14.4 * 1cqw); height: calc(167 / 14.4 * 1cqw); }
.solution-steps__icon--growth { width: calc(165 / 14.4 * 1cqw); height: calc(167 / 14.4 * 1cqw); }
.solution-steps__icon--truck { width: calc(211 / 14.4 * 1cqw); height: calc(158 / 14.4 * 1cqw); }
.solution-steps__icon--future { width: calc(79 / 14.4 * 1cqw); height: calc(208 / 14.4 * 1cqw); }
.solution-steps__icon--plan, .solution-steps__icon--growth, .solution-steps__icon--truck, .solution-steps__icon--future { border: 0; border-radius: 0; transform: none; }

/* flow panels follow the stepped chevron composition in the reference */
@media (min-width: 768px) {
  .flow ol { grid-template-columns: repeat(4, 1fr); gap: 0; width: calc(1200 / 14.4 * 1cqw); margin-left: auto; margin-right: auto; }
  .flow ol::before { top: calc(330 / 14.4 * 1cqw); right: calc(-120 / 14.4 * 1cqw); left: calc(-120 / 14.4 * 1cqw); height: calc(300 / 14.4 * 1cqw); background: var(--green); }
  .flow li { min-height: calc(330 / 14.4 * 1cqw); padding: calc(30 / 14.4 * 1cqw) calc(35 / 14.4 * 1cqw); clip-path: polygon(0 0, 84% 0, 100% 50%, 84% 100%, 0 100%); background: #fff; }
  .flow li:nth-child(2) { background: #e5f1ed; }.flow li:nth-child(3) { background: #d6e9df; }.flow li:nth-child(4) { background: #c4ddcf; }
  .flow li:nth-child(n+5) { transform: translateY(calc(-1 / 14.4 * 1cqw)); }.flow li:nth-child(5) { grid-column: 2; background: #b1d1c0; }.flow li:nth-child(6) { grid-column: 3; background: #9fc5ae; }.flow li:nth-child(7) { grid-column: 4; background: #87b298; }.flow li:nth-child(8) { grid-column: 5; background: #6ea584; }
  .flow li b { width: calc(56 / 14.4 * 1cqw); height: calc(56 / 14.4 * 1cqw); border: 0; background: var(--green); color: #fff; font-size: calc(24 / 14.4 * 1cqw); }
  .flow li span { margin-top: calc(45 / 14.4 * 1cqw); font-size: calc(18 / 14.4 * 1cqw); }
}
@media (max-width: 767px) {
  .flow ol::before { display: none; }
  .flow li { min-height: calc(160 / 3.75 * 1cqw); clip-path: polygon(0 0, 100% 0, 100% 82%, 50% 100%, 0 82%); border: 1px solid #5e9b78; background: #fff; }
  .flow li:nth-child(2) { background: #e5f1ed; }.flow li:nth-child(3) { background: #d6e9df; }.flow li:nth-child(4) { background: #c4ddcf; }.flow li:nth-child(5) { background: #b1d1c0; }.flow li:nth-child(6) { background: #9fc5ae; }.flow li:nth-child(7) { background: #87b298; }.flow li:nth-child(8) { background: #6ea584; }
}
.solution-steps__icon--plan { border-radius: 50%; transform: rotate(-12deg); }.solution-steps__icon--growth { border-radius: 50% 50% 0 50%; }.solution-steps__icon--truck { border-radius: 18% 40% 18% 18%; }.solution-steps__icon--future { border-style: dashed; border-radius: 50%; }
.solution-steps li > div { min-height: calc(145 / 14.4 * 1cqw); padding: calc(25 / 14.4 * 1cqw) calc(20 / 14.4 * 1cqw); border-radius: calc(15 / 14.4 * 1cqw); background: #fff; box-shadow: 0 calc(2 / 14.4 * 1cqw) calc(6 / 14.4 * 1cqw) rgba(0,60,30,.2); text-align: center; }
.solution-steps h3 { margin: 0; color: var(--green); font-size: calc(22 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .06em; }.solution-steps p { margin: calc(13 / 14.4 * 1cqw) 0 0; font-size: calc(14 / 14.4 * 1cqw); font-weight: 500; letter-spacing: .03em; line-height: 1.6; }

/* ---------- cases ---------- */
.cases { min-height: calc(2412 / 14.4 * 1cqw); padding: calc(123 / 14.4 * 1cqw) 0 calc(120 / 14.4 * 1cqw); background: linear-gradient(122deg,#e7f0e5 0 21%,#fff 21% 77%,#e7f0e5 77%); }
.cases .section-heading { width: calc(1200 / 14.4 * 1cqw); margin: 0 auto calc(95 / 14.4 * 1cqw); }.section-heading__eyebrow { color: var(--green); font-size: calc(27 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .07em; }.cases .section-heading h2 { margin-top: calc(-2 / 14.4 * 1cqw); font-size: calc(50 / 14.4 * 1cqw); }.cases .section-heading > p:last-child { width: calc(780 / 14.4 * 1cqw); margin-top: calc(30 / 14.4 * 1cqw); font-size: calc(20 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .07em; line-height: 1.75; }
.case-list { display: flex; flex-direction: column; gap: calc(60 / 14.4 * 1cqw); }.case-card { display: grid; grid-template-columns: calc(682 / 14.4 * 1cqw) calc(692 / 14.4 * 1cqw); width: calc(1374 / 14.4 * 1cqw); min-height: calc(553 / 14.4 * 1cqw); }.case-card__photo { position: relative; overflow: hidden; background: #789081 url("../assets/case/case-01.png") center / cover no-repeat; }.case-card__photo::after { position: absolute; right: 0; bottom: 0; left: 0; height: calc(60 / 14.4 * 1cqw); background: rgba(0,64,37,.86); content: ""; }.case-card--02 .case-card__photo { background-image: url("../assets/case/case-02.png"); }.case-card--03 .case-card__photo { background-image: url("../assets/case/case-03.png"); }.case-card__photo > span { position: absolute; top: calc(5 / 14.4 * 1cqw); left: calc(590 / 14.4 * 1cqw); z-index: 1; color: #fff; font-family: Inter,sans-serif; font-size: calc(22 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .06em; white-space: nowrap; }.case-card__photo > span b { font-size: calc(47 / 14.4 * 1cqw); }.case-card__photo > div { position: absolute; right: calc(36 / 14.4 * 1cqw); bottom: calc(11 / 14.4 * 1cqw); z-index: 1; display: flex; gap: calc(22 / 14.4 * 1cqw); align-items: end; color: #fff; }.case-card__photo strong { font-size: calc(26 / 14.4 * 1cqw); letter-spacing: .05em; }.case-card__photo small { padding-bottom: calc(3 / 14.4 * 1cqw); font-size: calc(13 / 14.4 * 1cqw); font-weight: 700; }
.case-card__body { padding: calc(69 / 14.4 * 1cqw) calc(35 / 14.4 * 1cqw); background: #fff; box-shadow: 0 calc(3 / 14.4 * 1cqw) calc(14 / 14.4 * 1cqw) rgba(0,0,0,.15); }.case-card__results { display: flex; min-height: calc(110 / 14.4 * 1cqw); align-items: center; justify-content: space-between; color: var(--green); }.case-card__results strong { font-size: calc(25 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .02em; line-height: 1.15; }.case-card__results strong + strong { text-align: right; }.case-card__results span { display: block; }.case-card__body ul { display: grid; gap: calc(4 / 14.4 * 1cqw); margin: calc(10 / 14.4 * 1cqw) 0 calc(14 / 14.4 * 1cqw); padding: 0; list-style: none; font-size: calc(15 / 14.4 * 1cqw); font-weight: 700; line-height: 1.45; }.case-card__body li::before { margin-right: .45em; color: var(--orange); content: "☑"; }.case-card__body p { margin: 0; font-size: calc(14 / 14.4 * 1cqw); font-weight: 500; letter-spacing: .035em; line-height: 1.68; }

/* ---------- reasons + table ---------- */
.reasons__inner { width: calc(1028 / 14.4 * 1cqw); }
.reason-grid { grid-template-columns: repeat(4,calc(240 / 14.4 * 1cqw)); grid-auto-rows: calc(240 / 14.4 * 1cqw); }
.reason-grid li { min-height: 0; border: 2px solid #e9e9e9; border-radius: 5px; box-shadow: 0 0 calc(26.5 / 14.4 * 1cqw) rgba(0,0,0,.05); }
.reason-grid__lead { background: #fff !important; color: #1a1a1a !important; text-align: center !important; }
.reason-grid__lead > span { display: none; }
.reasons { min-height: calc(2090 / 14.4 * 1cqw); padding: calc(127 / 14.4 * 1cqw) 0 0; background: #eff5ee; }.reasons__inner { width: calc(1096 / 14.4 * 1cqw); margin: auto; }.reasons .section-heading h2 { font-size: calc(48 / 14.4 * 1cqw); }.reason-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: calc(24 / 14.4 * 1cqw); margin: calc(68 / 14.4 * 1cqw) 0 0; padding: 0; list-style: none; }.reason-grid li { display: grid; min-height: calc(240 / 14.4 * 1cqw); place-items: center; padding: calc(20 / 14.4 * 1cqw); border-radius: calc(20 / 14.4 * 1cqw); background: #fff; color: var(--green); font-size: calc(26 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .04em; line-height: 1.45; text-align: center; box-shadow: 0 calc(2 / 14.4 * 1cqw) calc(8 / 14.4 * 1cqw) rgba(5,67,34,.15); }.reason-grid li span { display: block; }.reason-grid__lead { grid-column: span 2; grid-row: span 1; position: relative; background: var(--green) !important; color: #fff !important; text-align: left !important; }.reason-grid__lead b { font-size: calc(35 / 14.4 * 1cqw); }.reason-grid__lead > span { position: absolute; right: calc(35 / 14.4 * 1cqw); bottom: calc(18 / 14.4 * 1cqw); color: var(--orange); font-size: calc(80 / 14.4 * 1cqw); line-height: 1; }.reason-grid__wide { grid-column: span 2; }
.comparison { width: calc(1206 / 14.4 * 1cqw); margin: calc(175 / 14.4 * 1cqw) auto 0; }.comparison .section-heading { text-align: center; }.comparison .section-heading h2 { font-size: calc(42 / 14.4 * 1cqw); }.comparison__scroll { margin-top: calc(50 / 14.4 * 1cqw); overflow-x: auto; padding: calc(7 / 14.4 * 1cqw); }.comparison table { width: calc(952 / 14.4 * 1cqw); min-width: 710px; border-spacing: 0; border-collapse: separate; border-radius: calc(20 / 14.4 * 1cqw); background: #fff; box-shadow: 0 0 calc(9 / 14.4 * 1cqw) rgba(0,0,0,.25); overflow: hidden; font-size: calc(16 / 14.4 * 1cqw); text-align: center; }.comparison th, .comparison td { height: calc(77 / 14.4 * 1cqw); padding: calc(8 / 14.4 * 1cqw); border-bottom: 1px solid #d9d9d9; vertical-align: middle; }.comparison thead th { height: calc(120 / 14.4 * 1cqw); background: #bdbdbd; color: #111; font-size: calc(18 / 14.4 * 1cqw); font-weight: 700; }.comparison tbody th { color: var(--green); font-size: calc(19 / 14.4 * 1cqw); }.comparison__tralico { border-right: calc(3 / 14.4 * 1cqw) solid var(--green); border-left: calc(3 / 14.4 * 1cqw) solid var(--green); background: #ecf5f0; color: var(--green); font-weight: 700; }.comparison thead .comparison__tralico { border-top: calc(3 / 14.4 * 1cqw) solid var(--green); border-radius: calc(15 / 14.4 * 1cqw) calc(15 / 14.4 * 1cqw) 0 0; }.comparison tbody tr:last-child .comparison__tralico { border-bottom: calc(3 / 14.4 * 1cqw) solid var(--green); border-radius: 0 0 calc(15 / 14.4 * 1cqw) calc(15 / 14.4 * 1cqw); }.comparison__tralico img { width: calc(159 / 14.4 * 1cqw); vertical-align: middle; }.comparison td b { display: inline-grid; width: calc(25 / 14.4 * 1cqw); height: calc(25 / 14.4 * 1cqw); margin-right: calc(7 / 14.4 * 1cqw); place-items: center; border: 1px solid currentColor; border-radius: 50%; color: #777; font-size: calc(14 / 14.4 * 1cqw); }.comparison td.comparison__tralico b { color: var(--green); }

/* ---------- CTA / recommendations ---------- */
.cta-panel { display:block; min-height:calc(740 / 14.4 * 1cqw); padding:calc(132 / 14.4 * 1cqw) 0 0; background:#1b1b1b; color:#fff; text-align:center; }.cta-panel h2 { margin:0 auto; font-size:calc(42 / 14.4 * 1cqw); font-weight:900; letter-spacing:.04em; line-height:1.6; }.cta-panel h2 span { display:inline; color:var(--orange); }.cta-panel h2::after { display:block; width:calc(603 / 14.4 * 1cqw); height:calc(18 / 14.4 * 1cqw); margin:calc(8 / 14.4 * 1cqw) auto 0; border-bottom:2px solid var(--orange); content:""; }.cta-panel > p { margin:calc(53 / 14.4 * 1cqw) 0 0; font-size:calc(16 / 14.4 * 1cqw); font-weight:400; }.cta-panel .cta-buttons { display:flex; justify-content:center; gap:calc(72 / 14.4 * 1cqw); margin-top:calc(57 / 14.4 * 1cqw); }.cta-panel .button { width:calc(480 / 14.4 * 1cqw); height:calc(114 / 14.4 * 1cqw); border-radius:5px; }.cta-panel .button--phone { border:1px solid var(--orange); background:rgba(67,44,0,.88); }.cta-panel .button--phone small { font-size:calc(18 / 14.4 * 1cqw); }.cta-panel .button--phone strong { font-size:calc(51 / 14.4 * 1cqw); }.cta-panel .button--contact { background:linear-gradient(#e3ac08,#f57200); font-size:calc(30 / 14.4 * 1cqw); }.recommendations { min-height:calc(1045 / 14.4 * 1cqw); margin:0; padding:calc(121 / 14.4 * 1cqw) 0 calc(178 / 14.4 * 1cqw); border-radius:calc(50 / 14.4 * 1cqw) calc(50 / 14.4 * 1cqw) 0 0; background:var(--green); color:#fff; }.recommendations .section-heading h2 { color:#fff; font-size:calc(39 / 14.4 * 1cqw); }.recommendations .section-heading h2 span { display:inline; }.recommendations ul { grid-template-columns:repeat(3,calc(327 / 14.4 * 1cqw)); width:calc(1013 / 14.4 * 1cqw); }.recommendations li { height:calc(302 / 14.4 * 1cqw); border-radius:10px; background:#65ae89; color:#fff; font-size:calc(20 / 14.4 * 1cqw); }.recommendations li::before { border:0; background:transparent; }

/* ---------- vehicle / flow ---------- */
.vehicle-types { display: grid; min-height: calc(647 / 14.4 * 1cqw); place-items: center; background: #ecf4ea; }.vehicle-types > div { width: calc(1201 / 14.4 * 1cqw); min-height: calc(513 / 14.4 * 1cqw); padding: calc(46 / 14.4 * 1cqw); border-radius: calc(20 / 14.4 * 1cqw); background: #fff; text-align: center; box-shadow: 0 calc(2 / 14.4 * 1cqw) calc(8 / 14.4 * 1cqw) rgba(0,55,29,.15); }.vehicle-types h2 { margin: 0; color: var(--green); font-size: calc(33 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .08em; }.vehicle-types ul { display: grid; grid-template-columns: repeat(5,1fr); gap: calc(20 / 14.4 * 1cqw); width: calc(690 / 14.4 * 1cqw); margin: calc(43 / 14.4 * 1cqw) auto 0; padding: 0; list-style: none; }.vehicle-types li { position: relative; padding-top: calc(110 / 14.4 * 1cqw); color: var(--green); font-size: calc(14 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .04em; white-space: nowrap; }.vehicle-types li::before { position: absolute; top: 0; left: 50%; width: calc(90 / 14.4 * 1cqw); height: calc(78 / 14.4 * 1cqw); border: calc(5 / 14.4 * 1cqw) solid var(--green); border-radius: 14% 23% 14% 14%; background: #edf6ef; content: ""; transform: translateX(-50%); }.vehicle-types li::after { position: absolute; top: calc(70 / 14.4 * 1cqw); left: calc(50% - 34 / 14.4 * 1cqw); width: calc(17 / 14.4 * 1cqw); height: calc(17 / 14.4 * 1cqw); border-radius: 50%; background: var(--green); box-shadow: calc(52 / 14.4 * 1cqw) 0 var(--green); content: ""; }.vehicle-types p { margin: calc(25 / 14.4 * 1cqw) 0 0; font-size: calc(14 / 14.4 * 1cqw); font-weight: 500; }
.flow { min-height: calc(1033 / 14.4 * 1cqw); padding: calc(69 / 14.4 * 1cqw) calc(120 / 14.4 * 1cqw); background: #fff; }.flow .section-heading h2 { font-size: calc(42 / 14.4 * 1cqw); }.flow ol { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: calc(100 / 14.4 * 1cqw) calc(80 / 14.4 * 1cqw); margin: calc(74 / 14.4 * 1cqw) calc(67 / 14.4 * 1cqw) 0; padding: 0; list-style: none; }.flow ol::before { position: absolute; top: calc(105 / 14.4 * 1cqw); right: calc(78 / 14.4 * 1cqw); left: calc(78 / 14.4 * 1cqw); height: calc(4 / 14.4 * 1cqw); background: var(--green); content: ""; }.flow li { position: relative; z-index: 1; display: grid; min-height: calc(225 / 14.4 * 1cqw); justify-items: center; text-align: center; }.flow li b { display: grid; width: calc(114 / 14.4 * 1cqw); height: calc(114 / 14.4 * 1cqw); place-items: center; border: calc(4 / 14.4 * 1cqw) solid var(--green); border-radius: 50%; background: #fff; color: var(--green); font-family: Inter,sans-serif; font-size: calc(40 / 14.4 * 1cqw); }.flow li span { display: grid; min-height: calc(55 / 14.4 * 1cqw); align-items: center; margin-top: calc(45 / 14.4 * 1cqw); color: var(--green); font-size: calc(20 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .05em; line-height: 1.4; }

/* ---------- FAQ ---------- */
.faq-accordion { padding: calc(125 / 14.4 * 1cqw) 0 calc(171 / 14.4 * 1cqw); background: #e5eee4; }.faq-accordion h2 { margin: 0 0 calc(105 / 14.4 * 1cqw); color: var(--green); font-size: calc(42 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .08em; line-height: 1; text-align: center; }.faq-accordion__list { display: flex; flex-direction: column; gap: calc(32 / 14.4 * 1cqw); width: calc(975 / 14.4 * 1cqw); margin: auto; }.faq-item { overflow: hidden; border-radius: calc(15 / 14.4 * 1cqw); background: #fff; box-shadow: 0 calc(1 / 14.4 * 1cqw) calc(5.6 / 14.4 * 1cqw) #8f998e; }.faq-item__question { position: relative; display: flex; width: 100%; min-height: calc(90 / 14.4 * 1cqw); align-items: center; padding: calc(24 / 14.4 * 1cqw) calc(72 / 14.4 * 1cqw) calc(24 / 14.4 * 1cqw) calc(80 / 14.4 * 1cqw); border: 0; background: transparent; color: var(--ink); font-size: calc(22 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .06em; line-height: 1.35; text-align: left; cursor: pointer; }.faq-item__mark { position: absolute; font-family: "Hind Guntur",sans-serif; font-weight: 700; line-height: 1; }.faq-item__mark--q { top: 50%; left: calc(44 / 14.4 * 1cqw); color: var(--green); font-size: calc(32 / 14.4 * 1cqw); transform: translate(-50%,-44%); }.faq-item__mark--a { top: calc(33 / 14.4 * 1cqw); left: calc(44 / 14.4 * 1cqw); color: var(--orange); font-size: calc(32 / 14.4 * 1cqw); transform: translate(-50%,-50%); }.faq-item__icon { position: absolute; top: 50%; right: calc(44 / 14.4 * 1cqw); width: calc(20 / 14.4 * 1cqw); height: calc(20 / 14.4 * 1cqw); transform: translateY(-50%); }.faq-item__icon::before,.faq-item__icon::after { position: absolute; top: 50%; left: 50%; width: 100%; height: calc(3 / 14.4 * 1cqw); background: var(--orange); content: ""; transition: transform .2s ease; }.faq-item__icon::before { transform: translate(-50%,-50%); }.faq-item__icon::after { transform: translate(-50%,-50%) rotate(90deg); }.faq-item.is-open .faq-item__icon::after { transform: translate(-50%,-50%) rotate(0); }.faq-item__answer { position: relative; padding: calc(27 / 14.4 * 1cqw) calc(60 / 14.4 * 1cqw) calc(37 / 14.4 * 1cqw) calc(80 / 14.4 * 1cqw); }.faq-item__answer::before { position: absolute; top: 0; right: calc(42 / 14.4 * 1cqw); left: calc(34 / 14.4 * 1cqw); height: 1px; background: #a6a6a6; content: ""; }.faq-item__answer p { margin: 0; font-size: calc(22 / 14.4 * 1cqw); font-weight: 400; letter-spacing: .06em; line-height: 1.55; }.faq-item:not(.is-open) .faq-item__answer { display: none; }

/* ---------- contact / footer ---------- */
.cta-panel--last { min-height: calc(646 / 14.4 * 1cqw); }.cta-panel--last h2 { margin-bottom: calc(43 / 14.4 * 1cqw); }.contact { min-height: calc(1951 / 14.4 * 1cqw); padding: calc(140 / 14.4 * 1cqw) 0 calc(120 / 14.4 * 1cqw); background: #fff; text-align: center; }.contact__eyebrow { margin: 0; color: var(--green); font-family: Inter,sans-serif; font-size: calc(20 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .25em; }.contact > h2 { margin: calc(18 / 14.4 * 1cqw) 0 calc(40 / 14.4 * 1cqw); color: var(--green); font-size: calc(48 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .1em; }.contact-form { width: calc(742 / 14.4 * 1cqw); margin: auto; padding: calc(42 / 14.4 * 1cqw) calc(57 / 14.4 * 1cqw) calc(47 / 14.4 * 1cqw); border-radius: calc(12 / 14.4 * 1cqw); background: #f7f8f5; box-shadow: 0 calc(3 / 14.4 * 1cqw) calc(12 / 14.4 * 1cqw) rgba(0,0,0,.12); text-align: left; scroll-margin-top: 20px; }.contact-form fieldset { margin: 0 0 calc(31 / 14.4 * 1cqw); padding: 0 0 calc(31 / 14.4 * 1cqw); border: 0; border-bottom: 1px solid #b4b8b0; }.contact-form fieldset:last-of-type { margin-bottom: calc(28 / 14.4 * 1cqw); }.contact-form legend { width: 100%; margin-bottom: calc(30 / 14.4 * 1cqw); color: var(--green); font-size: calc(19 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .05em; }.contact-form label { display: block; margin-top: calc(18 / 14.4 * 1cqw); font-size: calc(17 / 14.4 * 1cqw); font-weight: 700; letter-spacing: .04em; }.contact-form label:first-of-type { margin-top: 0; }.contact-form i { display: inline-block; margin-left: .35em; padding: .08em .35em; background: var(--orange); color: #fff; font-size: .8em; font-style: normal; }.contact-form input,.contact-form textarea { display: block; width: 100%; height: calc(50 / 14.4 * 1cqw); margin-top: calc(8 / 14.4 * 1cqw); padding: 0 .8em; border: 1px solid #c8cbc6; border-radius: calc(3 / 14.4 * 1cqw); background: #fff; color: var(--ink); outline-color: var(--green); }.contact-form textarea { height: calc(141 / 14.4 * 1cqw); padding-top: .7em; resize: vertical; }.contact-form__grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(43 / 14.4 * 1cqw); }.contact-form button { width: calc(450 / 14.4 * 1cqw); height: calc(50 / 14.4 * 1cqw); margin-left: calc(89 / 14.4 * 1cqw); border: 0; border-radius: 99px; background: var(--orange); color: #fff; font-size: calc(19 / 14.4 * 1cqw); font-weight: 800; letter-spacing: .08em; cursor: pointer; }.contact-form button span { margin-left: 2em; font-size: 1.2em; }.site-footer { display: flex; min-height: calc(280 / 14.4 * 1cqw); justify-content: space-between; padding: calc(36 / 14.4 * 1cqw) calc(121 / 14.4 * 1cqw); background: var(--green); color: #fff; }.site-footer img { width: calc(254 / 14.4 * 1cqw); filter: brightness(0) invert(1); }.site-footer p { margin: calc(15 / 14.4 * 1cqw) 0 0; font-size: calc(14 / 14.4 * 1cqw); font-weight: 500; letter-spacing: .04em; line-height: 1.6; }.site-footer nav { display: flex; flex-wrap: wrap; width: calc(300 / 14.4 * 1cqw); gap: calc(14 / 14.4 * 1cqw) calc(40 / 14.4 * 1cqw); align-content: end; justify-content: center; font-size: calc(15 / 14.4 * 1cqw); }.site-footer nav small { width: 100%; font-size: calc(14 / 14.4 * 1cqw); text-align: center; }

@media (max-width: 767px) {
  .lp { max-width: none; }
  /* FV */
  .hero__benefits li { background: rgba(0,74,41,.84); color:#fff; border-color:rgba(255,255,255,.85); }
  .hero__benefits li + li { border-left-color:rgba(255,255,255,.85); }
  .hero__benefits b,.hero__benefits small { color:#fff; }
  /* carousel */
  .concerns { height: calc(744 / 3.75 * 1cqw); }.concerns::before { top: calc(55 / 3.75 * 1cqw); left: calc(-55 / 3.75 * 1cqw); width: calc(130 / 3.75 * 1cqw); height: calc(130 / 3.75 * 1cqw); }.concerns::after { top: calc(50 / 3.75 * 1cqw); right: calc(-60 / 3.75 * 1cqw); width: calc(130 / 3.75 * 1cqw); height: calc(130 / 3.75 * 1cqw); }.concerns h2 { margin-top: calc(40 / 3.75 * 1cqw); font-size: calc(31 / 3.75 * 1cqw); }.concerns h2 span { display: block; margin: calc(2 / 3.75 * 1cqw) 0 0; }.comic-carousel { top: calc(166 / 744 * 100%); left: calc(60 / 375 * 100%); width: calc(256 / 375 * 100%); height: calc(455 / 744 * 100%); }.comic-carousel__track { gap: calc(24 / 3.75 * 1cqw); }.comic-carousel__track li { flex-basis: 100%; box-shadow: none; }.comic-carousel__track li.is-prev,.comic-carousel__track li.is-next { transform: none; }.comic-carousel__track li.is-prev::after,.comic-carousel__track li.is-next::after { opacity: 0; }.comic-carousel__button { top: calc(200 / 455 * 100%); width: calc(78 / 256 * 100%); }.comic-carousel__button--prev { left: calc(-60 / 256 * 100%); }.comic-carousel__button--next { left: calc(237 / 256 * 100%); }.comic-dots { top: calc(648 / 744 * 100%); left: calc(103.5 / 375 * 100%); gap: calc(7 / 3.75 * 1cqw); box-shadow: 0 0 0 calc(8 / 3.75 * 1cqw) #fff; }.comic-dots__dot { width: calc(7 / 3.75 * 1cqw); height: calc(7 / 3.75 * 1cqw); }.comic-dots__dot.is-active { width: calc(39 / 3.75 * 1cqw); }
  /* solution */
  .solution { min-height: calc(2306 / 3.75 * 1cqw); padding: calc(29 / 3.75 * 1cqw) calc(20 / 3.75 * 1cqw) calc(80 / 3.75 * 1cqw); background: linear-gradient(180deg,#fff 0 13%,#f4f8f3 13%); }.section-heading--solution h2 { font-size: calc(27 / 3.75 * 1cqw); }.section-heading--solution h2 em { font-size: calc(45 / 3.75 * 1cqw); }.section-heading--solution h2 span { margin-top: calc(7 / 3.75 * 1cqw); font-size: calc(27 / 3.75 * 1cqw); }.section-heading--solution p { margin-top: calc(52 / 3.75 * 1cqw); padding: calc(8 / 3.75 * 1cqw) calc(9 / 3.75 * 1cqw); font-size: calc(15 / 3.75 * 1cqw); line-height: 1.7; }.section-heading--solution p::before,.section-heading--solution p::after { width: calc(87 / 3.75 * 1cqw); height: calc(16 / 3.75 * 1cqw); }.solution-steps { display: flex; flex-direction: column; gap: calc(70 / 3.75 * 1cqw); width: calc(298 / 3.75 * 1cqw); margin-top: calc(52 / 3.75 * 1cqw); }.solution-steps::before { top: calc(235 / 3.75 * 1cqw); bottom: calc(10 / 3.75 * 1cqw); left: calc(100 / 3.75 * 1cqw); width: calc(41 / 3.75 * 1cqw); height: auto; }.solution-steps::after { right: auto; bottom: calc(-10 / 3.75 * 1cqw); left: calc(44 / 3.75 * 1cqw); border-top-width: calc(39 / 3.75 * 1cqw); border-bottom-width: 0; border-left: calc(75 / 3.75 * 1cqw) solid transparent; border-right: calc(75 / 3.75 * 1cqw) solid transparent; border-top-color: var(--green); }.solution-steps li { min-height: calc(305 / 3.75 * 1cqw); padding-top: calc(160 / 3.75 * 1cqw); }.solution-steps li:nth-child(4),.solution-steps li:nth-child(5) { margin-left: 0; }.solution-steps__number { width: calc(73 / 3.75 * 1cqw); height: calc(73 / 3.75 * 1cqw); font-size: calc(28 / 3.75 * 1cqw); }.solution-steps__icon { top: calc(28 / 3.75 * 1cqw); left: calc(73 / 3.75 * 1cqw); width: calc(168 / 3.75 * 1cqw); height: calc(126 / 3.75 * 1cqw); border-width: calc(6 / 3.75 * 1cqw); }.solution-steps__icon::before { border-width: calc(5 / 3.75 * 1cqw); }.solution-steps li > div { min-height: calc(145 / 3.75 * 1cqw); padding: calc(25 / 3.75 * 1cqw) calc(15 / 3.75 * 1cqw); border-radius: calc(15 / 3.75 * 1cqw); }.solution-steps h3 { font-size: calc(20 / 3.75 * 1cqw); }.solution-steps p { margin-top: calc(13 / 3.75 * 1cqw); font-size: calc(13 / 3.75 * 1cqw); }
  /* cases */
  .cases { background:#036533 url("../assets/case-study-bg.svg") center / cover no-repeat; }
  .case-card__body { height:auto; min-height:calc(620 / 3.75 * 1cqw); margin-top:0; padding:calc(27 / 3.75 * 1cqw) calc(15 / 3.75 * 1cqw); background:rgba(3,101,51,.8); }
  .case-card__body p { line-height:1.5; }
  /* reasons */
  .reasons { min-height: calc(2028 / 3.75 * 1cqw); padding-top: calc(86 / 3.75 * 1cqw); background:#fff; }.reasons__inner { width: calc(339 / 3.75 * 1cqw); }.reasons .section-heading { text-align: center; }.reasons .section-heading h2 { font-size: calc(32 / 3.75 * 1cqw); }.reason-grid { grid-template-columns: repeat(2,calc(163 / 3.75 * 1cqw)); grid-auto-rows: calc(163 / 3.75 * 1cqw); gap: calc(13 / 3.75 * 1cqw); margin-top: calc(54 / 3.75 * 1cqw); }.reason-grid li { min-height: 0; padding: calc(12 / 3.75 * 1cqw); border-radius: 5px; font-size: calc(17 / 3.75 * 1cqw); }.reason-grid__lead,.reason-grid__wide { grid-column: span 2; }.reason-grid__lead { grid-row: span 1; }.reason-grid__lead b { color:#1a1a1a; font-size: calc(25 / 3.75 * 1cqw); }.reason-grid__lead > span { display:none; }.comparison { width: 100%; margin-top: calc(100 / 3.75 * 1cqw); }.comparison .section-heading h2 { font-size: calc(27 / 3.75 * 1cqw); }.comparison__scroll { margin-top: calc(40 / 3.75 * 1cqw); padding: calc(7 / 3.75 * 1cqw) 0 calc(15 / 3.75 * 1cqw) calc(18 / 3.75 * 1cqw); }.comparison table { min-width: calc(952 / 3.75 * 1cqw); border-radius: calc(20 / 3.75 * 1cqw); font-size: calc(16 / 3.75 * 1cqw); }.comparison th,.comparison td { height: calc(77 / 3.75 * 1cqw); padding: calc(8 / 3.75 * 1cqw); }.comparison thead th { height: calc(120 / 3.75 * 1cqw); font-size: calc(16 / 3.75 * 1cqw); }.comparison tbody th { font-size: calc(19 / 3.75 * 1cqw); }.comparison__tralico { border-width: calc(3 / 3.75 * 1cqw); }.comparison thead .comparison__tralico { border-top-width: calc(3 / 3.75 * 1cqw); border-radius: calc(15 / 3.75 * 1cqw) calc(15 / 3.75 * 1cqw) 0 0; }.comparison tbody tr:last-child .comparison__tralico { border-bottom-width: calc(3 / 3.75 * 1cqw); border-radius: 0 0 calc(15 / 3.75 * 1cqw) calc(15 / 3.75 * 1cqw); }.comparison__tralico img { width: calc(159 / 3.75 * 1cqw); }.comparison td b { width: calc(25 / 3.75 * 1cqw); height: calc(25 / 3.75 * 1cqw); margin-right: calc(7 / 3.75 * 1cqw); font-size: calc(14 / 3.75 * 1cqw); }
  /* CTA / recommendation */
  .cta-panel { min-height:calc(746 / 3.75 * 1cqw); padding:calc(93 / 3.75 * 1cqw) 0 0; background:#1b1b1b; }.cta-panel h2 { margin:0 auto; font-size:calc(31 / 3.75 * 1cqw); line-height:1.6; }.cta-panel h2 span { display:inline; color:var(--orange); }.cta-panel h2::after { display:block; width:calc(315 / 3.75 * 1cqw); height:calc(19 / 3.75 * 1cqw); margin:calc(12 / 3.75 * 1cqw) auto 0; border-bottom:2px solid var(--orange); content:""; }.cta-panel .cta-buttons { flex-direction:column; gap:calc(19 / 3.75 * 1cqw); margin-top:calc(46 / 3.75 * 1cqw); }.cta-panel .button { width:calc(323 / 3.75 * 1cqw); height:calc(105 / 3.75 * 1cqw); margin:0 auto; border-radius:5px; }.cta-panel .button--phone { height:calc(111 / 3.75 * 1cqw); border:1px solid var(--orange); background:rgba(67,44,0,.88); }.cta-panel .button--phone small { font-size:calc(15 / 3.75 * 1cqw); }.cta-panel .button--phone strong { font-size:calc(37 / 3.75 * 1cqw); }.cta-panel .button--contact { font-size:calc(21 / 3.75 * 1cqw); }.cta-panel > p { margin-top:calc(19 / 3.75 * 1cqw); font-size:calc(12 / 3.75 * 1cqw); }.recommendations { min-height:calc(1943 / 3.75 * 1cqw); padding:calc(69 / 3.75 * 1cqw) 0 calc(90 / 3.75 * 1cqw); border-radius:calc(50 / 3.75 * 1cqw) calc(50 / 3.75 * 1cqw) 0 0; background:var(--green); }.recommendations .section-heading h2 { color:#fff; font-size:calc(29 / 3.75 * 1cqw); }.recommendations .section-heading h2 span { display:block; }.recommendations ul { grid-template-columns:1fr; gap:calc(25 / 3.75 * 1cqw); width:calc(275 / 3.75 * 1cqw); margin-top:calc(50 / 3.75 * 1cqw); }.recommendations li { height:calc(254 / 3.75 * 1cqw); padding:calc(25 / 3.75 * 1cqw); border-radius:10px; background:#65ae89; color:#fff; font-size:calc(18 / 3.75 * 1cqw); }.recommendations li::before { border:0; background:transparent; }
  /* vehicle and flow */
  .vehicle-types { min-height: calc(1058 / 3.75 * 1cqw); }.vehicle-types > div { width: calc(321 / 3.75 * 1cqw); min-height: calc(917 / 3.75 * 1cqw); padding: calc(30 / 3.75 * 1cqw) calc(22 / 3.75 * 1cqw); border-radius: calc(18 / 3.75 * 1cqw); }.vehicle-types h2 { font-size: calc(27 / 3.75 * 1cqw); }.vehicle-types ul { grid-template-columns: repeat(2,1fr); gap: calc(20 / 3.75 * 1cqw) calc(20 / 3.75 * 1cqw); width: 100%; margin-top: calc(34 / 3.75 * 1cqw); }.vehicle-types li { padding-top: calc(100 / 3.75 * 1cqw); font-size: calc(13 / 3.75 * 1cqw); }.vehicle-types li::before { width: calc(78 / 3.75 * 1cqw); height: calc(67 / 3.75 * 1cqw); border-width: calc(4 / 3.75 * 1cqw); }.vehicle-types li::after { top: calc(61 / 3.75 * 1cqw); left: calc(50% - 29 / 3.75 * 1cqw); width: calc(14 / 3.75 * 1cqw); height: calc(14 / 3.75 * 1cqw); box-shadow: calc(44 / 3.75 * 1cqw) 0 var(--green); }.vehicle-types p { margin-top: calc(23 / 3.75 * 1cqw); font-size: calc(11 / 3.75 * 1cqw); }.flow { min-height: calc(1840 / 3.75 * 1cqw); padding: calc(86 / 3.75 * 1cqw) calc(53 / 3.75 * 1cqw); }.flow .section-heading { text-align: center; }.flow .section-heading h2 { font-size: calc(31 / 3.75 * 1cqw); }.flow ol { grid-template-columns: 1fr; gap: calc(10 / 3.75 * 1cqw); margin: calc(53 / 3.75 * 1cqw) calc(34 / 3.75 * 1cqw) 0; }.flow ol::before { top: calc(65 / 3.75 * 1cqw); bottom: calc(65 / 3.75 * 1cqw); left: calc(50% - 2 / 3.75 * 1cqw); width: calc(4 / 3.75 * 1cqw); height: auto; }.flow li { grid-template-columns: calc(105 / 3.75 * 1cqw) 1fr; min-height: calc(195 / 3.75 * 1cqw); align-items: center; justify-items: start; text-align: left; }.flow li b { width: calc(105 / 3.75 * 1cqw); height: calc(105 / 3.75 * 1cqw); border-width: calc(4 / 3.75 * 1cqw); font-size: calc(35 / 3.75 * 1cqw); }.flow li span { min-height: auto; margin: 0 0 0 calc(28 / 3.75 * 1cqw); font-size: calc(20 / 3.75 * 1cqw); }
  /* faq */
  .faq-accordion { padding: calc(66 / 3.75 * 1cqw) 0 calc(96 / 3.75 * 1cqw); }.faq-accordion h2 { margin-bottom: calc(58 / 3.75 * 1cqw); font-size: calc(32 / 3.75 * 1cqw); }.faq-accordion__list { gap: calc(24 / 3.75 * 1cqw); width: calc(335 / 3.75 * 1cqw); }.faq-item { border-radius: calc(15 / 3.75 * 1cqw); }.faq-item__question { min-height: calc(61 / 3.75 * 1cqw); padding: calc(19 / 3.75 * 1cqw) calc(42 / 3.75 * 1cqw) calc(19 / 3.75 * 1cqw) calc(55 / 3.75 * 1cqw); font-size: calc(18 / 3.75 * 1cqw); }.faq-item__mark--q { left: calc(30 / 3.75 * 1cqw); font-size: calc(32 / 3.75 * 1cqw); }.faq-item__mark--a { top: calc(25 / 3.75 * 1cqw); left: calc(30 / 3.75 * 1cqw); font-size: calc(32 / 3.75 * 1cqw); }.faq-item__icon { right: calc(22 / 3.75 * 1cqw); width: calc(20 / 3.75 * 1cqw); height: calc(20 / 3.75 * 1cqw); }.faq-item__icon::before,.faq-item__icon::after { height: calc(3 / 3.75 * 1cqw); }.faq-item__answer { padding: calc(16 / 3.75 * 1cqw) calc(18 / 3.75 * 1cqw) calc(24 / 3.75 * 1cqw) calc(55 / 3.75 * 1cqw); }.faq-item__answer::before { right: calc(18 / 3.75 * 1cqw); left: calc(18 / 3.75 * 1cqw); }.faq-item__answer p { font-size: calc(16 / 3.75 * 1cqw); line-height: 1.55; }
  /* form and footer */
  .cta-panel--last { min-height: calc(720 / 3.75 * 1cqw); }.contact { min-height: calc(1797 / 3.75 * 1cqw); padding: calc(61 / 3.75 * 1cqw) calc(20 / 3.75 * 1cqw) calc(50 / 3.75 * 1cqw); }.contact__eyebrow { font-size: calc(15 / 3.75 * 1cqw); }.contact > h2 { margin: calc(16 / 3.75 * 1cqw) 0 calc(32 / 3.75 * 1cqw); font-size: calc(32 / 3.75 * 1cqw); }.contact-form { width: calc(336 / 3.75 * 1cqw); padding: calc(28 / 3.75 * 1cqw) calc(30 / 3.75 * 1cqw); }.contact-form fieldset { margin-bottom: calc(22 / 3.75 * 1cqw); padding-bottom: calc(22 / 3.75 * 1cqw); }.contact-form legend { margin-bottom: calc(19 / 3.75 * 1cqw); font-size: calc(16 / 3.75 * 1cqw); }.contact-form label { margin-top: calc(12 / 3.75 * 1cqw); font-size: calc(13 / 3.75 * 1cqw); }.contact-form input,.contact-form textarea { height: calc(32 / 3.75 * 1cqw); margin-top: calc(5 / 3.75 * 1cqw); }.contact-form textarea { height: calc(96 / 3.75 * 1cqw); }.contact-form__grid { column-gap: calc(15 / 3.75 * 1cqw); }.contact-form button { width: calc(276 / 3.75 * 1cqw); height: calc(49 / 3.75 * 1cqw); margin-left: 0; font-size: calc(16 / 3.75 * 1cqw); }.site-footer { display: block; min-height: calc(396 / 3.75 * 1cqw); padding: calc(43 / 3.75 * 1cqw) calc(27 / 3.75 * 1cqw); text-align: center; }.site-footer img { width: calc(184 / 3.75 * 1cqw); }.site-footer p { margin-top: calc(25 / 3.75 * 1cqw); font-size: calc(12 / 3.75 * 1cqw); line-height: 1.75; }.site-footer nav { width: 100%; gap: calc(14 / 3.75 * 1cqw) calc(31 / 3.75 * 1cqw); margin-top: calc(22 / 3.75 * 1cqw); font-size: calc(13 / 3.75 * 1cqw); }.site-footer nav small { font-size: calc(11 / 3.75 * 1cqw); }
}

@media (min-width:768px) {
 .recommendations li { display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:0 0 calc(27 / 14.4 * 1cqw); }
 .recommendations li img { display:block; width:100%; height:calc(205 / 14.4 * 1cqw); object-fit:cover; object-position:center top; }
 .recommendations li span { display:block; margin-top:auto; color:#fff; font-size:calc(20 / 14.4 * 1cqw); font-weight:800; line-height:1.4; text-align:center; }
}

/* Keep desktop Q&A prompts on one line like the Figma layout. Mobile keeps
   natural Japanese wrapping so narrow screens remain readable. */
@media (min-width:768px) {
  .faq-item__question { white-space: nowrap; word-break: keep-all; }
}
@media (max-width:767px) {
  .faq-item__question { line-break: strict; overflow-wrap: anywhere; }
}
@media (max-width:767px) {
 .recommendations { position:relative; }
 .recommendations::before { position:absolute; top:calc(390 / 3.75 * 1cqw); left:50%; z-index:0; width:calc(18 / 3.75 * 1cqw); height:calc(1420 / 3.75 * 1cqw); background:var(--orange); content:""; transform:translateX(-50%) rotate(13deg); transform-origin:top center; }
 .recommendations .section-heading,.recommendations ul { position:relative; z-index:1; }
 .recommendations li { display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:0 0 calc(18 / 3.75 * 1cqw); }
 .recommendations li img { display:block; width:100%; height:calc(166 / 3.75 * 1cqw); object-fit:cover; object-position:center top; }
 .recommendations li span { display:block; margin-top:auto; color:#fff; font-size:calc(18 / 3.75 * 1cqw); font-weight:800; line-height:1.4; text-align:center; }
}

/* Lower page — Figma nodes 328:201, 328:239, 328:106, 328:2662, 328:9, 328:2894 */
.vehicle-types {
  position: relative;
  display: block;
  min-height: calc(807 / 14.4 * 1cqw);
  padding-top: calc(160 / 14.4 * 1cqw);
  background: #fff;
}
.vehicle-types > div {
  width: calc(1201 / 14.4 * 1cqw);
  min-height: calc(513 / 14.4 * 1cqw);
  margin: 0 auto;
  padding: calc(46 / 14.4 * 1cqw) 0 0;
  border-radius: calc(12 / 14.4 * 1cqw);
  background: #f1f1f1;
  box-shadow: none;
  text-align: center;
}
.vehicle-types h2 {
  margin: 0;
  color: var(--green);
  font-size: calc(33 / 14.4 * 1cqw);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: calc(39 / 33);
}
.vehicle-types ul {
  display: grid;
  grid-template-columns: repeat(5,calc(122 / 14.4 * 1cqw));
  gap: calc(18 / 14.4 * 1cqw) calc(20 / 14.4 * 1cqw);
  width: calc(690 / 14.4 * 1cqw);
  margin: calc(55 / 14.4 * 1cqw) auto 0;
  padding: 0;
  list-style: none;
}
.vehicle-types li {
  position: relative;
  display: flex;
  width: calc(122 / 14.4 * 1cqw);
  height: calc(122 / 14.4 * 1cqw);
  flex-direction: column;
  align-items: center;
  padding: 0;
  border-radius: calc(6 / 14.4 * 1cqw);
  background: #fff;
  color: var(--green);
  font-size: calc(14 / 14.4 * 1cqw);
  font-weight: 800;
  letter-spacing: 0;
  line-height: calc(17 / 14);
  white-space: nowrap;
  box-shadow: 0 calc(3 / 14.4 * 1cqw) calc(4 / 14.4 * 1cqw) rgba(0,0,0,.24);
}
.vehicle-types li::before,.vehicle-types li::after { content: none; }
.vehicle-types li img {
  display: block;
  width: auto;
  max-width: calc(99 / 14.4 * 1cqw);
  height: calc(59 / 14.4 * 1cqw);
  margin-top: calc(23 / 14.4 * 1cqw);
  object-fit: contain;
}
.vehicle-types li span { margin-top: calc(6 / 14.4 * 1cqw); }
.vehicle-types p {
  margin: calc(58 / 14.4 * 1cqw) 0 0;
  font-size: calc(12 / 14.4 * 1cqw);
  font-weight: 500;
  line-height: calc(16 / 12);
}

.flow {
  position: relative;
  min-height: calc(1029 / 14.4 * 1cqw);
  padding: 0;
  overflow: hidden;
  background: #fff;
}
.flow::before {
  position: absolute;
  top: calc(401 / 14.4 * 1cqw);
  right: 0;
  left: 0;
  height: calc(299 / 14.4 * 1cqw);
  background: var(--green);
  content: "";
}
.flow .section-heading {
  position: absolute;
  top: calc(69 / 14.4 * 1cqw);
  left: calc(120 / 14.4 * 1cqw);
  width: calc(1200 / 14.4 * 1cqw);
  text-align: center;
}
.flow .section-heading h2 {
  font-size: calc(42 / 14.4 * 1cqw);
  line-height: calc(63 / 42);
}
.flow .section-heading h2::after {
  display: block;
  width: calc(270 / 14.4 * 1cqw);
  height: calc(4 / 14.4 * 1cqw);
  margin: calc(8 / 14.4 * 1cqw) auto 0;
  background: radial-gradient(circle at center,var(--green) 0 calc(2 / 14.4 * 1cqw),transparent calc(2.5 / 14.4 * 1cqw)),linear-gradient(90deg,var(--green) 0 46.3%,transparent 46.3% 53.7%,var(--green) 53.7% 100%);
  content: "";
}
.flow ol {
  position: absolute;
  top: calc(205 / 14.4 * 1cqw);
  left: calc(91 / 14.4 * 1cqw);
  display: block;
  width: calc(1251 / 14.4 * 1cqw);
  height: calc(660 / 14.4 * 1cqw);
  margin: 0;
  padding: 0;
  list-style: none;
}
.flow ol::before { content: none; }
.flow li {
  position: absolute;
  z-index: 3;
  display: block;
  width: calc(246 / 14.4 * 1cqw);
  min-height: 0;
  height: calc(330 / 14.4 * 1cqw);
  color: var(--green);
  text-align: center;
}
.flow li::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fff;
  clip-path: polygon(0 0,82% 0,100% 50%,82% 100%,0 100%,18% 50%);
  content: "";
  filter: drop-shadow(0 calc(2 / 14.4 * 1cqw) calc(5 / 14.4 * 1cqw) rgba(0,0,0,.25));
}
.flow li:nth-child(1),.flow li:nth-child(5) { left: 0; }
.flow li:nth-child(2),.flow li:nth-child(6) { left: calc(201 / 14.4 * 1cqw); }
.flow li:nth-child(3),.flow li:nth-child(7) { left: calc(402 / 14.4 * 1cqw); }
.flow li:nth-child(4),.flow li:nth-child(8) { left: calc(603 / 14.4 * 1cqw); }
.flow li:nth-child(n+5) { top: calc(330 / 14.4 * 1cqw); }
.flow li:nth-child(5) { left: calc(402 / 14.4 * 1cqw); }
.flow li:nth-child(6) { left: calc(603 / 14.4 * 1cqw); }
.flow li:nth-child(7) { left: calc(804 / 14.4 * 1cqw); }
.flow li:nth-child(8) { left: calc(1005 / 14.4 * 1cqw); }
.flow li:nth-child(1)::before,.flow li:nth-child(5)::before { clip-path: polygon(0 0,82% 0,100% 50%,82% 100%,0 100%); }
.flow li:nth-child(2)::before { background:#e5efe9; }
.flow li:nth-child(3)::before { background:#d2e4d9; }
.flow li:nth-child(4)::before { background:#bed6c7; }
.flow li:nth-child(5)::before { background:#b1d0be; }
.flow li:nth-child(6)::before { background:#a2c4af; }
.flow li:nth-child(7)::before { background:#89ad98; }
.flow li:nth-child(8)::before { background:#659b79; }
.flow li b {
  position: absolute;
  top: calc(20 / 14.4 * 1cqw);
  left: 50%;
  display: grid;
  width: calc(57 / 14.4 * 1cqw);
  height: calc(57 / 14.4 * 1cqw);
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-family: Inter,sans-serif;
  font-size: calc(25 / 14.4 * 1cqw);
  transform: translateX(-50%);
}
.flow li:nth-child(n+5) b { border: calc(3 / 14.4 * 1cqw) solid var(--green); background:#fff; color:var(--green); }
.flow li img {
  position: absolute;
  top: calc(120 / 14.4 * 1cqw);
  left: 50%;
  display: block;
  width: auto;
  max-width: calc(99 / 14.4 * 1cqw);
  height: calc(78 / 14.4 * 1cqw);
  object-fit: contain;
  transform: translateX(-50%);
}
.flow li span {
  position: absolute;
  top: calc(228 / 14.4 * 1cqw);
  left: 50%;
  display: block;
  width: calc(150 / 14.4 * 1cqw);
  min-height: 0;
  margin: 0;
  color: var(--green);
  font-size: calc(20 / 14.4 * 1cqw);
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1.3;
  transform: translateX(-50%);
}
.flow li:nth-child(8) span { color:#fff; }
.flow li:nth-child(1) b,.flow li:nth-child(1) img,.flow li:nth-child(1) span,
.flow li:nth-child(5) b,.flow li:nth-child(5) img,.flow li:nth-child(5) span { left:calc(50% - 17 / 14.4 * 1cqw); }

@media (min-width:768px) {
  /* Reset the earlier grid/chevron prototype styles on the real list item.
     The visible card shape and color are owned exclusively by ::before. */
  .flow li,.flow li:nth-child(n) {
    padding:0;
    clip-path:none;
    background:transparent;
    transform:none;
    grid-column:auto;
  }
  /* Keep each solid chevron above the following one, matching Figma's layer order. */
  .flow li:nth-child(1),.flow li:nth-child(5) { z-index:8; }
  .flow li:nth-child(2),.flow li:nth-child(6) { z-index:7; }
  .flow li:nth-child(3),.flow li:nth-child(7) { z-index:6; }
  .flow li:nth-child(4),.flow li:nth-child(8) { z-index:5; }

  .flow li b,.flow li:nth-child(n+5) b {
    font-family:"DIN 2014","DIN Alternate",Inter,sans-serif;
    font-size:calc(22 / 14.4 * 1cqw);
    font-weight:700;
    line-height:1.5;
    letter-spacing:calc(1.32 / 14.4 * 1cqw);
  }
  .flow li span {
    display:flex;
    align-items:center;
    justify-content:center;
    width:calc(111 / 14.4 * 1cqw);
    height:calc(48 / 14.4 * 1cqw);
    font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
    font-size:calc(18 / 14.4 * 1cqw);
    font-weight:600;
    line-height:normal;
    letter-spacing:0;
    transform:none;
  }
  .flow li:nth-child(1) span,.flow li:nth-child(5) span { left:calc(52 / 14.4 * 1cqw); }
  .flow li:nth-child(2) span,.flow li:nth-child(3) span,.flow li:nth-child(4) span,.flow li:nth-child(8) span { left:calc(67 / 14.4 * 1cqw); }
  .flow li:nth-child(6) span { left:calc(68 / 14.4 * 1cqw); }
  .flow li:nth-child(7) span { left:calc(69 / 14.4 * 1cqw); }
  .flow li:nth-child(1) b,.flow li:nth-child(5) b { left:calc(78 / 14.4 * 1cqw); transform:none; }
  .flow li:nth-child(2) b,.flow li:nth-child(3) b,.flow li:nth-child(4) b,.flow li:nth-child(6) b,.flow li:nth-child(7) b,.flow li:nth-child(8) b { left:calc(94 / 14.4 * 1cqw); transform:none; }
  .flow li:nth-child(1) img { top:calc(132 / 14.4 * 1cqw); left:calc(50% - 27 / 14.4 * 1cqw); }
  .flow li:nth-child(2) img { top:calc(124 / 14.4 * 1cqw); width:calc(98 / 14.4 * 1cqw); height:calc(70 / 14.4 * 1cqw); }
  .flow li:nth-child(3) img { top:calc(121 / 14.4 * 1cqw); width:calc(58 / 14.4 * 1cqw); height:calc(76 / 14.4 * 1cqw); }
  .flow li:nth-child(4) img { left:calc(50% + 1 / 14.4 * 1cqw); width:calc(66 / 14.4 * 1cqw); height:calc(78 / 14.4 * 1cqw); }
  .flow li:nth-child(5) img { top:calc(125 / 14.4 * 1cqw); left:calc(50% - 11 / 14.4 * 1cqw); width:calc(62 / 14.4 * 1cqw); height:calc(74 / 14.4 * 1cqw); }
  .flow li:nth-child(6) img { top:calc(127 / 14.4 * 1cqw); width:calc(76 / 14.4 * 1cqw); height:calc(72 / 14.4 * 1cqw); }
  .flow li:nth-child(7) img { top:calc(138 / 14.4 * 1cqw); left:calc(50% + 3.5 / 14.4 * 1cqw); width:calc(97 / 14.4 * 1cqw); height:calc(50 / 14.4 * 1cqw); }
  .flow li:nth-child(8) img { top:calc(129 / 14.4 * 1cqw); left:calc(50% - 1 / 14.4 * 1cqw); width:calc(59 / 14.4 * 1cqw); height:calc(57.5 / 14.4 * 1cqw); }
}

.faq-accordion {
  min-height: calc(2319 / 14.4 * 1cqw);
  padding: calc(125 / 14.4 * 1cqw) 0 0;
  background: #e5eee4;
}
.faq-accordion h2 {
  margin: 0 0 calc(108 / 14.4 * 1cqw);
  font-size: calc(42 / 14.4 * 1cqw);
  line-height: calc(39 / 42);
}
.faq-accordion__list {
  display: flex;
  width: calc(975 / 14.4 * 1cqw);
  flex-direction: column;
  gap: calc(32 / 14.4 * 1cqw);
  margin: 0 auto;
}
.faq-item { height:calc(180 / 14.4 * 1cqw); border-radius:calc(15 / 14.4 * 1cqw); }
.faq-item:last-child { height:calc(214 / 14.4 * 1cqw); }
.faq-item__question {
  min-height: calc(90 / 14.4 * 1cqw);
  padding: calc(24 / 14.4 * 1cqw) calc(72 / 14.4 * 1cqw) calc(24 / 14.4 * 1cqw) calc(80 / 14.4 * 1cqw);
  font-size: calc(22 / 14.4 * 1cqw);
}
.faq-item__answer {
  display: block;
  padding: calc(27 / 14.4 * 1cqw) calc(60 / 14.4 * 1cqw) calc(26 / 14.4 * 1cqw) calc(80 / 14.4 * 1cqw);
}
.faq-item__answer p { font-size:calc(22 / 14.4 * 1cqw); line-height:1.55; }
.faq-item__answer p { text-wrap: balance; }
.faq-item__icon::before { transform:translate(-50%,-50%) rotate(45deg); }
.faq-item__icon::after { transform:translate(-50%,-50%) rotate(-45deg); }
.faq-item.is-open .faq-item__icon::after { transform:translate(-50%,-50%) rotate(-45deg); }

.cta-panel--last {
  position: relative;
  min-height: calc(646 / 14.4 * 1cqw);
  padding: 0;
  background: #1b1b1b;
}
.cta-panel--last h2 {
  position: absolute;
  top: calc(115 / 14.4 * 1cqw);
  left: 0;
  width: 100%;
  margin: 0;
  font-size: 0;
  line-height: 1;
}
.cta-panel--last h2 small {
  display: block;
  color: #fff;
  font-size: calc(33 / 14.4 * 1cqw);
  font-weight: 900;
  line-height: calc(53 / 33);
}
.cta-panel--last h2 > span {
  display: block;
  margin-top: calc(-8 / 14.4 * 1cqw);
  color: #fff;
  font-size: calc(42 / 14.4 * 1cqw);
  font-weight: 900;
  line-height: calc(67 / 42);
}
.cta-panel--last h2 em { color:var(--orange); font-style:normal; }
.cta-panel--last h2::after {
  width: calc(605 / 14.4 * 1cqw);
  height: calc(20 / 14.4 * 1cqw);
  margin: calc(20 / 14.4 * 1cqw) auto 0;
  border: 0;
  background: url("../assets/cta-line-pc.png") center/100% 100% no-repeat;
}
.cta-panel--last .cta-buttons {
  position: absolute;
  top: calc(322 / 14.4 * 1cqw);
  left: calc(204 / 14.4 * 1cqw);
  display: flex;
  gap: calc(72 / 14.4 * 1cqw);
  margin: 0;
}
.cta-panel--last .button { width:calc(480 / 14.4 * 1cqw); height:calc(114 / 14.4 * 1cqw); }
.cta-panel--last .button--phone small { font-family:"Noto Sans JP",sans-serif; font-size:calc(18 / 14.4 * 1cqw); font-weight:400; line-height:normal; letter-spacing:0; }
.cta-panel--last .button--phone strong { margin-top:0; font-family:"DIN 2014","DIN Alternate",Inter,sans-serif; font-size:calc(51 / 14.4 * 1cqw); font-weight:700; line-height:normal; letter-spacing:0; }
.cta-panel--last .button--contact { font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-size:calc(30 / 14.4 * 1cqw); font-weight:600; line-height:normal; letter-spacing:calc(2.1 / 14.4 * 1cqw); }
.cta-panel--last > p {
  position: absolute;
  top: calc(493 / 14.4 * 1cqw);
  left: 0;
  width: 100%;
  margin: 0;
  font-size: calc(16 / 14.4 * 1cqw);
  line-height: calc(20 / 16);
}

.contact {
  min-height: calc(1950 / 14.4 * 1cqw);
  padding: calc(140 / 14.4 * 1cqw) 0 0;
  background: var(--green);
  color: #24251f;
}
.contact__eyebrow {
  height: calc(20 / 14.4 * 1cqw);
  color: #d0d0d0;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: calc(13 / 14.4 * 1cqw);
  font-weight: 700;
  line-height: calc(20 / 13);
  letter-spacing: 0;
}
.contact > h2 {
  height: calc(63 / 14.4 * 1cqw);
  margin: calc(28 / 14.4 * 1cqw) 0 calc(40 / 14.4 * 1cqw);
  color: #fff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: calc(42 / 14.4 * 1cqw);
  font-weight: 700;
  line-height: calc(63 / 42);
  letter-spacing: calc(3.36 / 14.4 * 1cqw);
}
.contact-form {
  position: relative;
  width: calc(742 / 14.4 * 1cqw);
  height: calc(1461 / 14.4 * 1cqw);
  margin: 0 auto;
  padding: calc(42 / 14.4 * 1cqw) calc(57 / 14.4 * 1cqw) calc(47 / 14.4 * 1cqw);
  border: calc(3 / 14.4 * 1cqw) solid #797979;
  border-radius: calc(15 / 14.4 * 1cqw);
  background: #fff;
  box-shadow: none;
}
.contact-form fieldset { border-bottom:0; }
.contact-form legend { display:flex; align-items:center; gap:calc(12 / 14.4 * 1cqw); }
.contact-form legend::after { height:1px; flex:1; background:#1c5239; content:""; }
.contact-form i { background:#d62d0e; }
.contact-form i.optional { background:#d0d0d0; color:#fff; }
.contact-form input,.contact-form textarea { background:#f8f8f8; border-color:#d8d8d8; border-radius:calc(5 / 14.4 * 1cqw); }
.contact-form button { position:absolute; top:calc(1364 / 14.4 * 1cqw); left:calc(124 / 14.4 * 1cqw); margin:0; border-radius:calc(5 / 14.4 * 1cqw); background:linear-gradient(#ffc429,#ff7900); }

/* Figma contact form layer coordinates (PC node 328:9) */
.contact-form { padding:0; }
.contact-form fieldset {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:0;
  margin:0;
  padding:0;
}
.contact-form .contact-form__grid { display:contents; }
.contact-form legend {
  position:absolute;
  left:calc(54 / 14.4 * 1cqw);
  width:calc(660 / 14.4 * 1cqw);
  height:calc(19 / 14.4 * 1cqw);
  margin:0;
  padding:0;
  color:#1c5239;
  font-family:Inter,sans-serif;
  font-size:calc(16 / 14.4 * 1cqw);
  font-weight:700;
  line-height:calc(19 / 16);
  letter-spacing:0;
}
.contact-form legend::after {
  position:absolute;
  top:calc(9.5 / 14.4 * 1cqw);
  right:0;
  height:1px;
}
.contact-form fieldset:nth-of-type(1) legend { top:calc(39 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(1) legend::after { left:calc(78 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) legend { top:calc(423 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) legend::after { left:calc(159 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) legend { top:calc(902 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) legend::after { left:calc(179 / 14.4 * 1cqw); }
.contact-form label {
  position:absolute;
  width:calc(629 / 14.4 * 1cqw);
  height:auto;
  margin:0;
  color:#24251f;
  font-family:Inter,sans-serif;
  font-size:calc(14 / 14.4 * 1cqw);
  font-weight:700;
  line-height:calc(17 / 14);
  letter-spacing:0;
}
.contact-form i {
  display:inline-flex;
  width:calc(34 / 14.4 * 1cqw);
  height:calc(18 / 14.4 * 1cqw);
  align-items:center;
  justify-content:center;
  margin:0 0 0 calc(10 / 14.4 * 1cqw);
  padding:0;
  font-family:"Hiragino Sans",sans-serif;
  font-size:calc(10.5 / 14.4 * 1cqw);
  font-weight:600;
  line-height:1;
  vertical-align:top;
}
.contact-form input,.contact-form textarea {
  width:100%;
  margin-top:calc(9 / 14.4 * 1cqw);
  padding:0 calc(12 / 14.4 * 1cqw);
}
.contact-form textarea { padding-top:calc(10 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(1) > label { left:calc(54 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(1) > label:nth-of-type(1) { top:calc(92 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(1) > label:nth-of-type(2) { top:calc(187 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(1) > label:nth-of-type(3) { top:calc(282 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(odd) { left:calc(54 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(even) { left:calc(390 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(1),
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(2) { top:calc(476 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(3),
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(4) { top:calc(571 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(5),
.contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(6) { top:calc(666 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) .contact-form__grid label { width:calc(293 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(2) > label { top:calc(761 / 14.4 * 1cqw); left:calc(54 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(odd) { left:calc(54 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(even) { left:calc(390 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(1),
.contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(2) { top:calc(955 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(3),
.contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(4) { top:calc(1050 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) .contact-form__grid label { width:calc(293 / 14.4 * 1cqw); }
.contact-form fieldset:nth-of-type(3) > label { top:calc(1145 / 14.4 * 1cqw); left:calc(54 / 14.4 * 1cqw); }
.contact-form button {
  top:calc(1361 / 14.4 * 1cqw);
  left:calc(121 / 14.4 * 1cqw);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Inter,sans-serif;
  font-size:calc(20 / 14.4 * 1cqw);
  font-weight:600;
  line-height:normal;
  letter-spacing:calc(.64 / 14.4 * 1cqw);
}
.contact-form button span {
  position:absolute;
  top:50%;
  right:calc(15 / 14.4 * 1cqw);
  display:block;
  width:calc(13 / 14.4 * 1cqw);
  height:calc(13 / 14.4 * 1cqw);
  margin:0;
  font-size:0;
  transform:translateY(-50%);
}
.contact-form button span::before {
  position:absolute;
  top:50%;
  left:50%;
  width:calc(13 / 14.4 * 1cqw);
  height:calc(13 / 14.4 * 1cqw);
  background:#fff;
  clip-path:polygon(0 0,100% 50%,0 100%);
  content:"";
  transform:translate(-50%,-50%);
}

.site-footer {
  position: relative;
  display: block;
  min-height: calc(280 / 14.4 * 1cqw);
  padding: 0;
  background: #0b3025;
  color: #c9d0c5;
}
.site-footer img {
  position: absolute;
  top: calc(36 / 14.4 * 1cqw);
  left: calc(121 / 14.4 * 1cqw);
  width: calc(254 / 14.4 * 1cqw);
  filter: none;
}
.site-footer p {
  position: absolute;
  top: calc(115 / 14.4 * 1cqw);
  left: calc(121 / 14.4 * 1cqw);
  width: calc(642 / 14.4 * 1cqw);
  margin: 0;
  color: #c9d0c5;
  font-size: calc(12.5 / 14.4 * 1cqw);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
}
.site-footer nav {
  position: absolute;
  top: calc(216 / 14.4 * 1cqw);
  left: calc(579 / 14.4 * 1cqw);
  display: grid;
  grid-template-columns: calc(130 / 14.4 * 1cqw) calc(78 / 14.4 * 1cqw);
  width: calc(262 / 14.4 * 1cqw);
  gap: 0 calc(54 / 14.4 * 1cqw);
  margin: 0;
  color: #c9d0c5;
  font-size: calc(13 / 14.4 * 1cqw);
  line-height: calc(16 / 13);
}
.site-footer nav::before {
  position: absolute;
  top: calc(-3 / 14.4 * 1cqw);
  left: calc(154 / 14.4 * 1cqw);
  width: 1px;
  height: calc(20.5 / 14.4 * 1cqw);
  background: #8a9389;
  content: "";
}
.site-footer nav small {
  position: absolute;
  top: calc(31 / 14.4 * 1cqw);
  left: calc(52 / 14.4 * 1cqw);
  width: calc(179 / 14.4 * 1cqw);
  color: #8a9389;
  font-size: calc(12 / 14.4 * 1cqw);
  line-height: calc(15 / 12);
}
@media (min-width:768px) { .site-footer { margin-top:calc(1 / 14.4 * 1cqw); } }

@media (max-width:767px) {
  .vehicle-types { height:calc(1058 / 3.75 * 1cqw); min-height:calc(1058 / 3.75 * 1cqw); padding-top:calc(141 / 3.75 * 1cqw); }
  .vehicle-types > div { position:relative; display:flow-root; width:calc(321 / 3.75 * 1cqw); min-height:calc(917 / 3.75 * 1cqw); padding:0; border-radius:calc(7 / 3.75 * 1cqw); }
  .vehicle-types h2 { position:absolute; top:calc(-83 / 3.75 * 1cqw); left:calc(-27 / 3.75 * 1cqw); width:calc(375 / 3.75 * 1cqw); font-size:calc(27 / 3.75 * 1cqw); line-height:calc(39 / 27); }
  .vehicle-types ul { grid-template-columns:repeat(2,calc(122 / 3.75 * 1cqw)); gap:calc(29 / 3.75 * 1cqw) calc(20 / 3.75 * 1cqw); width:calc(264 / 3.75 * 1cqw); margin-top:calc(57 / 3.75 * 1cqw); }
  .vehicle-types li { width:calc(122 / 3.75 * 1cqw); height:calc(122 / 3.75 * 1cqw); border-radius:calc(6 / 3.75 * 1cqw); font-size:calc(13 / 3.75 * 1cqw); line-height:calc(17 / 13); box-shadow:0 calc(3 / 3.75 * 1cqw) calc(4 / 3.75 * 1cqw) rgba(0,0,0,.24); }
  .vehicle-types li img { max-width:calc(99 / 3.75 * 1cqw); height:calc(59 / 3.75 * 1cqw); margin-top:calc(23 / 3.75 * 1cqw); }
  .vehicle-types li span { margin-top:calc(6 / 3.75 * 1cqw); }
  .vehicle-types li:nth-child(1) { grid-area:1/1; }.vehicle-types li:nth-child(2) { grid-area:1/2; }
  .vehicle-types li:nth-child(6) { grid-area:2/1; }.vehicle-types li:nth-child(7) { grid-area:2/2; }
  .vehicle-types li:nth-child(3) { grid-area:3/1; }.vehicle-types li:nth-child(4) { grid-area:3/2; }
  .vehicle-types li:nth-child(8) { grid-area:4/1; }.vehicle-types li:nth-child(9) { grid-area:4/2; }
  .vehicle-types li:nth-child(5) { grid-area:5/1; }.vehicle-types li:nth-child(10) { grid-area:5/2; }
  .vehicle-types p { margin-top:calc(50 / 3.75 * 1cqw); font-size:calc(10 / 3.75 * 1cqw); line-height:calc(16 / 10); }

  .flow { min-height:calc(1840 / 3.75 * 1cqw); padding:0; }
  .flow::before { content:none; }
  .flow .section-heading { top:calc(66 / 3.75 * 1cqw); left:0; width:100%; }
  .flow .section-heading h2 { font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-size:calc(32 / 3.75 * 1cqw); font-weight:800; line-height:calc(48 / 32); letter-spacing:calc(2.56 / 3.75 * 1cqw); }
  .flow .section-heading h2::after { width:calc(270 / 3.75 * 1cqw); height:calc(4 / 3.75 * 1cqw); margin-top:calc(5 / 3.75 * 1cqw); }
  .flow ol { top:calc(158 / 3.75 * 1cqw); left:calc(87 / 3.75 * 1cqw); display:flex; width:calc(201 / 3.75 * 1cqw); height:auto; flex-direction:column; gap:calc(10 / 3.75 * 1cqw); }
  .flow li,.flow li:nth-child(n) { position:relative; top:auto; left:auto; z-index:2; isolation:isolate; width:calc(201 / 3.75 * 1cqw); height:calc(195 / 3.75 * 1cqw); border:0; clip-path:none; background:transparent; }
  .flow li::before,.flow li:nth-child(n)::before { top:calc(25 / 3.75 * 1cqw); bottom:0; z-index:-2; border:0; background:var(--green); opacity:1; clip-path:polygon(0 0,100% 0,100% 79.35%,50% 100%,0 79.35%); }
  .flow li::after,.flow li:nth-child(n)::after { position:absolute; top:calc(26 / 3.75 * 1cqw); right:calc(1 / 3.75 * 1cqw); bottom:calc(2 / 3.75 * 1cqw); left:calc(1 / 3.75 * 1cqw); z-index:-1; background:#fff; clip-path:polygon(0 0,100% 0,100% 79.35%,50% 100%,0 79.35%); content:""; }
  .flow li:nth-child(2)::after { background:#e5efe9; }
  .flow li:nth-child(3)::after { background:#d2e4d9; }
  .flow li:nth-child(4)::after { background:#bed6c7; }
  .flow li:nth-child(5)::after { background:#b1d0be; }
  .flow li:nth-child(6)::after { background:#a2c4af; }
  .flow li:nth-child(7)::after { background:#89ad98; }
  .flow li:nth-child(8)::after { background:#659b79; }
  /* Give the first white card enough inset at the point that its green
     diagonal outline cannot be covered by the white fill. */
  .flow li:nth-child(1)::before {
    z-index:-2;
    background:var(--green);
    filter:none;
  }
  .flow li:nth-child(1)::after {
    bottom:calc(2 / 3.75 * 1cqw);
    content:"";
  }
  .flow li b,.flow li:nth-child(n+5) b { top:0; width:calc(44 / 3.75 * 1cqw); height:calc(44 / 3.75 * 1cqw); border:0; background:var(--green); color:#fff; font-family:"DIN 2014","DIN Alternate",Inter,sans-serif; font-size:calc(18 / 3.75 * 1cqw); font-weight:700; line-height:1.5; letter-spacing:calc(1.08 / 3.75 * 1cqw); }
  .flow li img { max-width:none; object-fit:contain; }
  .flow li:nth-child(1) img { top:calc(63 / 3.75 * 1cqw); left:calc(50% - 9 / 3.75 * 1cqw); width:calc(84.9 / 3.75 * 1cqw); height:calc(65.9 / 3.75 * 1cqw); }
  .flow li:nth-child(2) img { top:calc(58 / 3.75 * 1cqw); width:calc(89 / 3.75 * 1cqw); height:calc(63 / 3.75 * 1cqw); }
  .flow li:nth-child(3) img { top:calc(58 / 3.75 * 1cqw); width:calc(52 / 3.75 * 1cqw); height:calc(68.1 / 3.75 * 1cqw); }
  .flow li:nth-child(4) img { top:calc(59 / 3.75 * 1cqw); width:calc(58 / 3.75 * 1cqw); height:calc(67 / 3.75 * 1cqw); }
  .flow li:nth-child(5) img { top:calc(57 / 3.75 * 1cqw); width:calc(58 / 3.75 * 1cqw); height:calc(69 / 3.75 * 1cqw); }
  .flow li:nth-child(6) img { top:calc(61 / 3.75 * 1cqw); width:calc(64 / 3.75 * 1cqw); height:calc(61 / 3.75 * 1cqw); }
  .flow li:nth-child(7) img { top:calc(70 / 3.75 * 1cqw); width:calc(97 / 3.75 * 1cqw); height:calc(49.9 / 3.75 * 1cqw); }
  .flow li:nth-child(8) img { top:calc(63 / 3.75 * 1cqw); width:calc(59 / 3.75 * 1cqw); height:calc(57.5 / 3.75 * 1cqw); }
  .flow li span { top:calc(139 / 3.75 * 1cqw); width:100%; font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-size:calc(16 / 3.75 * 1cqw); font-weight:600; line-height:normal; letter-spacing:0; }
  .flow li span br { display:none; }
  .flow li:nth-child(n+6) span { color:#fff; }
  .flow li:nth-child(1) b,.flow li:nth-child(1) img,.flow li:nth-child(1) span,.flow li:nth-child(5) b,.flow li:nth-child(5) img,.flow li:nth-child(5) span { left:50%; }
  .flow li:nth-child(1) img { left:calc(50% - 9 / 3.75 * 1cqw); }
  .flow li:nth-child(2) img { left:calc(57 / 3.75 * 1cqw); transform:none; }
  .flow li:nth-child(3) img { left:calc(74 / 3.75 * 1cqw); transform:none; }
  .flow li:nth-child(4) img { left:calc(72 / 3.75 * 1cqw); transform:none; }
  .flow li:nth-child(5) img { left:calc(75 / 3.75 * 1cqw); transform:none; }
  .flow li:nth-child(6) img { left:calc(66 / 3.75 * 1cqw); transform:none; }
  .flow li:nth-child(7) img { left:calc(50 / 3.75 * 1cqw); transform:none; }
  .flow li:nth-child(8) img { left:calc(71 / 3.75 * 1cqw); transform:none; }

  .faq-accordion { min-height:calc(1925 / 3.75 * 1cqw); padding:calc(66 / 3.75 * 1cqw) 0 0; }
  .faq-accordion h2 { margin-bottom:calc(42 / 3.75 * 1cqw); font-size:calc(32 / 3.75 * 1cqw); line-height:calc(48 / 32); }
  .faq-accordion__list { width:calc(335 / 3.75 * 1cqw); gap:calc(24 / 3.75 * 1cqw); }
  .faq-item { height:calc(180 / 3.75 * 1cqw); }.faq-item:nth-child(3){height:calc(158 / 3.75 * 1cqw)}.faq-item:nth-child(4){height:calc(139 / 3.75 * 1cqw)}.faq-item:nth-child(6){height:calc(161 / 3.75 * 1cqw)}.faq-item:nth-child(7){height:calc(142 / 3.75 * 1cqw)}.faq-item:nth-child(8){height:calc(161 / 3.75 * 1cqw)}.faq-item:last-child{height:calc(180 / 3.75 * 1cqw)}
  .faq-item__question { min-height:calc(83 / 3.75 * 1cqw); padding:calc(14 / 3.75 * 1cqw) calc(42 / 3.75 * 1cqw) calc(14 / 3.75 * 1cqw) calc(55 / 3.75 * 1cqw); font-size:calc(18 / 3.75 * 1cqw); line-height:1.22; }
  .faq-item__mark--q { top:calc(31 / 3.75 * 1cqw); left:calc(30 / 3.75 * 1cqw); font-size:calc(32 / 3.75 * 1cqw); }
  .faq-item__mark--a { top:calc(25 / 3.75 * 1cqw); left:calc(30 / 3.75 * 1cqw); font-size:calc(32 / 3.75 * 1cqw); }
  .faq-item__answer { padding:calc(16 / 3.75 * 1cqw) calc(18 / 3.75 * 1cqw) calc(18 / 3.75 * 1cqw) calc(55 / 3.75 * 1cqw); }
  .faq-item__answer p { font-size:calc(14 / 3.75 * 1cqw); line-height:1.35; }

  .cta-panel--last { min-height:calc(720 / 3.75 * 1cqw); padding:0; }
  .cta-panel--last h2 { top:calc(93 / 3.75 * 1cqw); height:calc(140 / 3.75 * 1cqw); font-family:"Noto Sans JP",sans-serif; font-weight:900; }
  .cta-panel--last h2 small { font-size:calc(24 / 3.75 * 1cqw); font-weight:900; line-height:1.6; letter-spacing:calc(.96 / 3.75 * 1cqw); }
  .cta-panel--last h2 > span { margin-top:calc(-7 / 3.75 * 1cqw); font-size:calc(34 / 3.75 * 1cqw); font-weight:900; line-height:1.6; letter-spacing:calc(1.36 / 3.75 * 1cqw); }
  .cta-panel--last h2 em:last-child { display:block; }
  .cta-panel--last h2::after { position:absolute; top:calc(178 / 3.75 * 1cqw); left:50%; width:calc(315 / 3.75 * 1cqw); height:calc(19 / 3.75 * 1cqw); margin:0; background-image:url("../assets/cta-line-sp.png"); transform:translateX(-50%); }
  .cta-panel--last .cta-buttons { top:calc(336 / 3.75 * 1cqw); left:calc(26 / 3.75 * 1cqw); flex-direction:column; gap:calc(25 / 3.75 * 1cqw); }
  .cta-panel--last .button { width:calc(323 / 3.75 * 1cqw); height:calc(105 / 3.75 * 1cqw); margin:0; }
  .cta-panel--last .button--phone { height:calc(105 / 3.75 * 1cqw); }
  .cta-panel--last .button--phone small { font-family:"Noto Sans JP",sans-serif; font-size:calc(15 / 3.75 * 1cqw); font-weight:400; letter-spacing:0; line-height:normal; }
  .cta-panel--last .button--phone strong { font-family:"DIN 2014","DIN Alternate",Inter,sans-serif; font-size:calc(37 / 3.75 * 1cqw); font-weight:700; letter-spacing:0; line-height:normal; }
  .cta-panel--last .button--contact { font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif; font-size:calc(21 / 3.75 * 1cqw); font-weight:600; letter-spacing:calc(1.47 / 3.75 * 1cqw); line-height:normal; }
  .cta-panel--last > p { top:calc(590 / 3.75 * 1cqw); font-family:"Noto Sans JP",sans-serif; font-size:calc(12 / 3.75 * 1cqw); font-weight:400; line-height:normal; letter-spacing:0; }

  .contact { min-height:calc(1797 / 3.75 * 1cqw); padding:calc(73 / 3.75 * 1cqw) calc(20 / 3.75 * 1cqw) 0; background:var(--green); }
  .contact__eyebrow { display:none; }
  .contact > h2 { height:calc(62 / 3.75 * 1cqw); margin:0 0 calc(26 / 3.75 * 1cqw); font-size:calc(32 / 3.75 * 1cqw); font-weight:800; line-height:calc(62 / 32); letter-spacing:calc(2.56 / 3.75 * 1cqw); }
  .contact-form { width:calc(335 / 3.75 * 1cqw); height:calc(1500 / 3.75 * 1cqw); padding:calc(48 / 3.75 * 1cqw) calc(29 / 3.75 * 1cqw) calc(30 / 3.75 * 1cqw); border-width:calc(3 / 3.75 * 1cqw); border-radius:calc(15 / 3.75 * 1cqw); }
  .contact-form__grid { grid-template-columns:1fr; column-gap:0; }
  .contact-form fieldset { margin-bottom:calc(30 / 3.75 * 1cqw); padding-bottom:calc(30 / 3.75 * 1cqw); }
  .contact-form legend { margin-bottom:calc(22 / 3.75 * 1cqw); font-size:calc(18 / 3.75 * 1cqw); }
  .contact-form label { margin-top:calc(14 / 3.75 * 1cqw); font-size:calc(14 / 3.75 * 1cqw); }
  .contact-form input,.contact-form textarea { height:calc(32 / 3.75 * 1cqw); margin-top:calc(5 / 3.75 * 1cqw); border-radius:calc(5 / 3.75 * 1cqw); }
  .contact-form textarea { height:calc(96 / 3.75 * 1cqw); }
  .contact-form button { width:calc(276 / 3.75 * 1cqw); height:calc(49 / 3.75 * 1cqw); margin-left:0; border-radius:calc(5 / 3.75 * 1cqw); font-size:calc(16 / 3.75 * 1cqw); }
  .contact-form legend { gap:calc(10 / 3.75 * 1cqw); }
  .contact-form button { top:calc(1396 / 3.75 * 1cqw); left:calc(29 / 3.75 * 1cqw); }

  /* Figma contact form layer coordinates (SP node 297:9182) */
  .contact-form { left:calc(1 / 3.75 * 1cqw); padding:0; }
  .contact-form legend {
    left:calc(26 / 3.75 * 1cqw);
    width:calc(277 / 3.75 * 1cqw);
    height:calc(22 / 3.75 * 1cqw);
    font-size:calc(18 / 3.75 * 1cqw);
    line-height:calc(22 / 18);
  }
  .contact-form legend::after {
    top:calc(28 / 3.75 * 1cqw);
    left:0 !important;
    right:0;
  }
  .contact-form fieldset:nth-of-type(1) legend { top:calc(45 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) legend { top:calc(339 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(3) legend { top:calc(913 / 3.75 * 1cqw); }
  .contact-form label,
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label,
  .contact-form fieldset:nth-of-type(3) .contact-form__grid label {
    left:calc(26 / 3.75 * 1cqw);
    width:calc(277 / 3.75 * 1cqw);
    margin:0;
    font-size:calc(14 / 3.75 * 1cqw);
    line-height:calc(17 / 14);
  }
  .contact-form i {
    width:calc(34 / 3.75 * 1cqw);
    height:calc(18 / 3.75 * 1cqw);
    margin-left:calc(10 / 3.75 * 1cqw);
    font-size:calc(10.5 / 3.75 * 1cqw);
  }
  .contact-form input,.contact-form textarea { margin-top:calc(4 / 3.75 * 1cqw); padding:0 calc(8 / 3.75 * 1cqw); }
  .contact-form textarea { padding-top:calc(8 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(1) > label:nth-of-type(1) { top:calc(97 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(1) > label:nth-of-type(2) { top:calc(167 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(1) > label:nth-of-type(3) { top:calc(237 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(1) > label { left:calc(26 / 3.75 * 1cqw) !important; }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label,
  .contact-form fieldset:nth-of-type(3) .contact-form__grid label { left:calc(26 / 3.75 * 1cqw) !important; }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(1) { top:calc(391 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(2) { top:calc(461 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(3) { top:calc(531 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(4) { top:calc(601 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(5) { top:calc(671 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) .contact-form__grid label:nth-child(6) { top:calc(741 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(2) > label { top:calc(811 / 3.75 * 1cqw); left:calc(26 / 3.75 * 1cqw) !important; }
  .contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(1) { top:calc(965 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(2) { top:calc(1035 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(3) { top:calc(1105 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(3) .contact-form__grid label:nth-child(4) { top:calc(1175 / 3.75 * 1cqw); }
  .contact-form fieldset:nth-of-type(3) > label { top:calc(1245 / 3.75 * 1cqw); left:calc(28 / 3.75 * 1cqw) !important; }
  .contact-form button { top:calc(1393 / 3.75 * 1cqw); left:calc(27 / 3.75 * 1cqw); font-size:calc(20 / 3.75 * 1cqw); letter-spacing:calc(.64 / 3.75 * 1cqw); }
  .contact-form button span { right:calc(18 / 3.75 * 1cqw); width:calc(13 / 3.75 * 1cqw); height:calc(13 / 3.75 * 1cqw); }
  .contact-form button span::before { width:calc(13 / 3.75 * 1cqw); height:calc(13 / 3.75 * 1cqw); }

  .site-footer { min-height:calc(396 / 3.75 * 1cqw); padding:0; text-align:left; }
  .site-footer img { top:calc(37 / 3.75 * 1cqw); left:calc(45 / 3.75 * 1cqw); width:calc(254 / 3.75 * 1cqw); }
  .site-footer p { top:calc(124 / 3.75 * 1cqw); left:calc(42 / 3.75 * 1cqw); width:calc(292 / 3.75 * 1cqw); font-size:calc(12.5 / 3.75 * 1cqw); line-height:2; }
  .site-footer nav { top:calc(301.5 / 3.75 * 1cqw); left:calc(54 / 3.75 * 1cqw); grid-template-columns:calc(130 / 3.75 * 1cqw) calc(78 / 3.75 * 1cqw); width:calc(262 / 3.75 * 1cqw); gap:0 calc(54 / 3.75 * 1cqw); font-size:calc(13 / 3.75 * 1cqw); line-height:calc(16 / 13); }
  .site-footer nav::before { top:calc(-2.5 / 3.75 * 1cqw); left:calc(154 / 3.75 * 1cqw); height:calc(20.5 / 3.75 * 1cqw); }
  .site-footer nav small { top:calc(31 / 3.75 * 1cqw); left:calc(52 / 3.75 * 1cqw); width:calc(179 / 3.75 * 1cqw); font-size:calc(12 / 3.75 * 1cqw); line-height:calc(15 / 12); text-align:left; }
}
