.hd-sub{justify-content:space-between;align-items:center}
.mini{font-family:Adventor,sans-serif;font-weight:700;color:var(--green);font-size:clamp(20px,2vw,30px);letter-spacing:-.01em;line-height:1}
.crumb{display:flex;gap:10px;align-items:center;margin-top:clamp(28px,3vw,44px);font-size:13px;color:#7a7a74}
.crumb [aria-current]{color:var(--ink);font-weight:500}
.crumb a:hover{color:var(--ink)}
.d-title{font-weight:300;font-size:clamp(34px,4.3vw,72px);line-height:1.15;letter-spacing:-.015em;margin-top:clamp(50px,6vw,100px)}
.d-hero{margin-top:clamp(28px,3vw,48px)}
.d-hero img{display:block;width:100%;height:auto;aspect-ratio:1440/670;object-fit:cover;border-radius:clamp(10px,1vw,16px)}

.strip{background:var(--sage);margin-top:clamp(24px,2.6vw,40px);padding:clamp(40px,5vw,80px) 0;overflow:hidden}
.strip-track{display:flex;width:max-content;animation:strip 70s linear infinite}
.strip-track img{display:block;margin-right:clamp(10px,1vw,16px);height:clamp(180px,20vw,300px);width:auto;border-radius:clamp(8px,.8vw,14px)}
.strip-track img:nth-child(odd){margin-top:clamp(40px,5vw,80px)}
@keyframes strip{to{transform:translateX(-50%)}}
.d-hero{position:relative;z-index:1}

.label{display:block;color:var(--green);font-size:clamp(12px,.95vw,14px);font-weight:500}
.label.light{color:#7fd0ac}

.d-h{font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:clamp(24px,2.5vw,40px);line-height:1.45;letter-spacing:.02em}
.d-h3{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:clamp(16px,1.3vw,20px)}
.d-body{font-family:"Noto Sans JP",sans-serif;font-size:clamp(13px,1vw,15px);line-height:2.05;margin-top:clamp(28px,3vw,44px);max-width:38em}
.d-body p+p{margin-top:1.2em}
.d-body-lead{font-family:"Noto Sans JP",sans-serif;font-size:clamp(14px,1.1vw,16px);margin-top:16px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.d-msg{padding-block:clamp(90px,10vw,170px)}
.d-msg-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--pad);margin-top:clamp(30px,3vw,50px)}
.d-msg-ph img{display:block;width:78%;height:auto;border-radius:clamp(8px,.8vw,14px)}
.d-msg-ph figcaption{margin-top:22px;font-family:"Noto Sans JP",sans-serif;font-size:clamp(17px,1.4vw,22px);font-weight:500}
.d-msg-ph small{display:block;font-size:11px;font-weight:400;color:#7a7a74;margin-bottom:4px}
.d-msg-ph span{display:block;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.1em;color:#7a7a74;margin-top:2px}
.d-career{margin-top:clamp(40px,4vw,64px);border-top:1px solid var(--line);font-family:"Noto Sans JP",sans-serif;font-size:13px;max-width:38em}
.d-career dt{font-weight:500;padding:14px 0 6px}
.d-career dd{padding:6px 0;color:#4a4a45}
.d-career dd::before{content:"— ";color:var(--green)}

.d-why{padding-block:clamp(80px,9vw,150px)}
.d-why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--pad)}

.d-points{padding-block:clamp(80px,9vw,150px)}
.d-list{list-style:none;margin-top:clamp(30px,3vw,50px);border-top:1px solid rgba(238,240,234,.22)}
.d-list li{display:grid;grid-template-columns:4em minmax(0,1.1fr) minmax(0,1fr);gap:var(--pad);padding:clamp(28px,3vw,48px) 0;border-bottom:1px solid rgba(238,240,234,.22);align-items:start}
.d-list .n{font-size:13px;color:#b9c2b6;padding-top:.6em}
.d-list b{display:block;font-weight:300;font-size:clamp(22px,2.2vw,36px);line-height:1.2}
.d-list small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:12px;color:#b9c2b6;margin-top:8px}
.d-list p{font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:2;color:#cfd6ca}

.d-sec{padding-block:clamp(80px,9vw,150px);border-top:1px solid var(--line)}
.d-sec:first-child{border-top:0}
.d-sec-band{padding-block:clamp(80px,9vw,150px)}
.d-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--pad);margin-top:clamp(20px,2vw,32px)}
.d-sec > .d-h,.d-sec-band .d-h{margin-top:clamp(20px,2vw,32px)}

.d-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.4vw,24px);margin-top:clamp(36px,4vw,60px)}
.d-cards article{border-top:1.5px solid var(--ink);padding-top:18px;font-family:"Noto Sans JP",sans-serif}
.d-cards h3{font-weight:500;font-size:clamp(16px,1.3vw,20px);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.d-cards h3 span{font-size:11px;font-weight:500;border:1px solid currentColor;border-radius:999px;padding:1px 9px}
.d-cards .when{font-family:Inter,"Noto Sans JP",sans-serif;font-size:13px;color:var(--green);margin:10px 0 14px;line-height:1.7;font-weight:500}
.d-cards p:not(.when){font-size:13px;line-height:2}
.d-cards .off{opacity:.55}
.d-cards .off .when{color:inherit}

.need{list-style:none;margin-top:18px;border-top:1px solid var(--line);font-family:"Noto Sans JP",sans-serif;font-size:clamp(13px,1vw,15px)}
.need li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}
.need span{font-family:Inter,sans-serif;font-size:12px;color:var(--green);font-weight:500;padding-top:.25em}
.note a{text-decoration:underline;text-underline-offset:3px}

.d-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3vw,48px) clamp(16px,2vw,32px);margin-top:clamp(40px,4vw,64px)}
.d-grid div{border-top:1px solid var(--line);padding-top:16px;font-family:"Noto Sans JP",sans-serif}
.d-grid h3{font-weight:500;font-size:clamp(14px,1.1vw,17px)}
.d-grid p{font-size:12.5px;line-height:1.95;color:#4a4a45;margin-top:8px}

.rules{margin-top:18px;padding-left:1.2em;font-family:"Noto Sans JP",sans-serif;font-size:13px;line-height:1.95;color:#4a4a45}
.rules li+li{margin-top:8px}
.route{border-top:1px solid var(--line);font-family:"Noto Sans JP",sans-serif}
.route div{display:grid;grid-template-columns:7em 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.95}
.route dt{font-weight:500}

.d-contact .tel{display:inline-block;font-weight:300;font-size:clamp(34px,4vw,64px);letter-spacing:-.01em;line-height:1}
.d-contact .tel:hover{color:var(--green)}
.d-contact .d-body{margin-top:24px}

@media (max-width:900px){
  .d-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .d-msg-grid,.d-why-grid,.d-two{grid-template-columns:1fr}
  .d-msg-ph img{width:100%}
  .d-list li{grid-template-columns:2.4em 1fr}
  .d-list li p{grid-column:2}
  .d-cards{grid-template-columns:1fr}
  .route div{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){.strip-track{animation:none}}

.d-why-grid{align-items:start}

.d-title.ja{font-family:"Noto Sans JP",sans-serif;font-weight:400;letter-spacing:.02em;line-height:1.4}

.cf{margin-top:clamp(32px,3vw,48px);font-family:"Noto Sans JP",sans-serif;display:grid;gap:22px}
.cf fieldset{border:0}
.cf legend,.cf .f{font-size:13px;font-weight:500}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chips input{position:absolute;opacity:0}
.chips span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:400;background:rgba(255,255,255,.5);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chips input:checked+span{background:var(--deep);color:#eef0ea;border-color:var(--deep)}
.chips input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.cf .f{display:grid;gap:8px}
.cf .opt{font-size:11px;font-weight:400;color:#7a7a74;margin-left:8px}
.cf input:not([type=radio]),.cf textarea{font:inherit;font-size:16px;font-weight:400;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.7);color:var(--ink)}
.cf input:focus,.cf textarea:focus{outline:2px solid var(--green);outline-offset:0;border-color:transparent}
.cf .f.ng input{border-color:#c0563f;background:#fff6f3}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-err{color:#b3442d;font-size:13px}
.cf .send{justify-self:start;background:var(--deep);color:#eef0ea;border-color:var(--deep);padding:.7em 2.2em}
.cf .send:hover{background:var(--green);border-color:var(--green);color:#fff}
.cf-done{font-size:14px;line-height:1.9}
.cf-done small{color:#7a7a74}
@media (max-width:760px){.f2{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ts{min-height:65px}
.cf .send:disabled{opacity:.6;cursor:wait}
