/* Field voice -> comparison -> award -> research -> product. */
.field-voice{position:relative;overflow:hidden;background:#f7f4eb;color:var(--ink);isolation:isolate}
.field-voice-canvas{position:relative;padding:clamp(96px,9vw,150px) 0 clamp(62px,6vw,92px);background:#f7f4eb;overflow:hidden;isolation:isolate}
.field-voice-canvas::before{content:"";position:absolute;z-index:-2;right:0;top:0;bottom:0;width:42%;background:#dcebe2}
.field-voice-canvas::after{content:"";position:absolute;z-index:-1;right:5.5%;top:17%;width:min(31vw,470px);aspect-ratio:1;border:1px solid rgba(21,62,59,.1);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.14),0 0 0 104px rgba(255,255,255,.09);pointer-events:none}
.field-voice-word{position:absolute;right:-.015em;top:.16em;font:800 clamp(86px,12vw,186px)/.8 'Outfit',sans-serif;letter-spacing:-.065em;color:rgba(21,62,59,.035);white-space:nowrap;pointer-events:none;user-select:none;z-index:-1}
.field-voice-detail{position:absolute;z-index:-1;right:2.5%;top:20%;width:min(39vw,610px);height:auto;filter:drop-shadow(0 28px 24px rgba(7,43,36,.13));transform:rotate(3deg)}
.field-voice-inner{position:relative}
.field-voice-inner::before{content:"";position:absolute;left:0;top:-24px;width:54px;height:5px;background:#ef9c3c;border-radius:999px;box-shadow:17px -11px 0 -1px #ef9c3c;transform:rotate(-8deg)}
.field-voice-heading{position:relative;z-index:2;width:min(760px,68%)}
.field-voice-heading .eyebrow{color:rgba(21,62,59,.67);margin-bottom:clamp(22px,2.5vw,36px)}
.field-route{display:block;font-size:14px;font-weight:700;letter-spacing:.105em;border-left:1px solid rgba(21,62,59,.32);padding:7px 0 7px 22px}
.field-voice h2{margin-top:30px;font-size:clamp(52px,5vw,78px);line-height:1.28;letter-spacing:-.06em}
.field-voice h2 span{display:block;white-space:nowrap}
.field-demand{display:grid;grid-template-columns:150px minmax(0,1fr);gap:38px;align-items:center;margin-top:36px;padding-top:27px;border-top:1px solid rgba(21,62,59,.34);max-width:790px}
.field-demand-visual{position:relative;width:150px;height:250px;min-width:0;isolation:isolate}
.field-demand-visual::before{display:none}
.field-demand-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 16px 13px rgba(21,62,59,.08))}
.field-demand-copy{min-width:0}
.field-demand-label{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:16px;font-weight:800;line-height:1.5;letter-spacing:.055em}
.field-demand-label::before{content:"";width:22px;height:3px;background:#ef9c3c;transform:rotate(-7deg)}
.field-demand-lead{font-size:clamp(22px,1.9vw,29px);font-weight:800;line-height:1.7;letter-spacing:.015em}
.field-demand-note{grid-column:2;max-width:610px;margin-top:-14px;font-size:15px;line-height:1.9;color:rgba(21,62,59,.76)}
.field-comparison{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 188px minmax(0,1fr);align-items:end;margin-top:clamp(60px,6vw,90px);min-height:430px}
.field-comparison::before{content:"";position:absolute;left:0;right:0;bottom:89px;height:1px;background:rgba(21,62,59,.24)}
.field-cap{position:relative;min-width:0}
.field-cap-label{position:absolute;z-index:2;top:0;left:0;font:600 10px/1 'Outfit',sans-serif;letter-spacing:.16em;color:rgba(21,62,59,.6)}
.field-cap-label span{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:10px;border:1px solid currentColor;border-radius:50%;font-size:9px}
.field-cap figure{height:350px;display:grid;place-items:end center;position:relative}
.field-cap figure::after{content:"";position:absolute;left:18%;right:18%;bottom:4%;height:18px;background:rgba(7,43,36,.15);filter:blur(17px);border-radius:50%;z-index:-1}
.field-cap img{display:block;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 18px 15px rgba(4,39,32,.11));transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.field-cap-ordinary img{height:79%;transform:translateY(12px) rotate(-2deg)}
.field-cap-mamoru img{height:103%;transform:translateY(18px) rotate(1deg)}
.field-cap.visible img{transform:translateY(0) rotate(0)}
.field-cap-copy{position:relative;z-index:2;min-height:90px;padding:21px 0 18px;background:transparent}
.field-cap-copy strong,.field-cap-copy span{display:block}
.field-cap-copy strong{font-size:clamp(16px,1.35vw,20px);letter-spacing:.025em;margin-bottom:8px}
.field-cap-copy span{font-size:12px;line-height:1.7;color:rgba(21,62,59,.73)}
.field-cap-mamoru .field-cap-copy strong{color:#0d5b4b}
.field-plus{position:relative;z-index:3;align-self:center;justify-self:center;width:184px;text-align:center;color:var(--ink);transform:translateY(5px)}
.field-plus::before{content:"";position:absolute;z-index:-1;top:45px;left:-12px;right:-13px;height:2px;background:#ee9b3a}
.field-plus::after{content:"";position:absolute;top:40px;right:-14px;width:10px;height:10px;border-top:2px solid #ee9b3a;border-right:2px solid #ee9b3a;transform:rotate(45deg)}
.field-plus figure{position:relative;width:174px;height:82px;margin:0 auto;padding:5px;background:#f7f4eb;border:1px solid rgba(21,62,59,.24);border-radius:7px;overflow:hidden}
.field-plus figure::after{content:"DETAIL";position:absolute;right:7px;bottom:5px;padding:2px 5px;background:rgba(247,244,235,.88);font:600 7px/1 'Outfit',sans-serif;letter-spacing:.12em;color:rgba(21,62,59,.72)}
.field-plus img{display:block;width:100%;height:100%;object-fit:cover}
.field-plus p{position:relative;margin:0 auto;width:max-content;max-width:100%;padding-top:13px;line-height:1.5}
.field-plus p::before{content:"";position:absolute;top:0;left:50%;width:28px;height:1px;background:rgba(21,62,59,.35);transform:translateX(-50%)}
.field-plus b{display:block;font-size:14px;letter-spacing:.02em}
.field-plus small{display:block;margin-bottom:5px;font-size:10px;font-weight:700;letter-spacing:.035em;color:rgba(21,62,59,.67)}
.field-plus em{display:block;margin-top:5px;font-size:10.5px;font-style:normal;letter-spacing:.035em;color:rgba(21,62,59,.66)}
.field-voice-bottom{padding-top:clamp(38px,4vw,58px)}
.field-origin{position:relative;display:grid;grid-template-columns:minmax(310px,.78fr) 122px minmax(500px,1.22fr);align-items:stretch;min-height:330px;padding:0;overflow:hidden;border-top:1px solid rgba(21,62,59,.35);border-bottom:1px solid rgba(21,62,59,.35);isolation:isolate}
.field-origin::before{display:none}
.field-origin-side{position:relative;min-width:0;display:flex;flex-direction:column;justify-content:center}
.field-origin-label{display:flex;align-items:center;gap:14px;margin:0;color:var(--ink);font-size:clamp(16px,1.4vw,21px);font-weight:800;line-height:1.5;letter-spacing:.035em}
.field-origin-label::after{content:"";width:38px;height:3px;background:#ef9c3c;border-radius:999px;transform:rotate(-6deg)}
.field-origin-label span{display:inline-block;width:auto;height:auto;border:0;border-radius:0;font:700 12px/1 'Outfit',sans-serif;letter-spacing:.1em;color:#d77725}
.field-origin-side p{margin-top:25px;color:var(--ink)}
.field-origin-scene{padding:54px clamp(24px,3vw,48px) 56px 0}
.field-origin-scene p{font-size:clamp(23px,1.95vw,31px);font-weight:850;line-height:1.62;letter-spacing:.015em}
.field-origin-answer{padding:51px clamp(20px,3.2vw,52px) 48px clamp(42px,4.7vw,76px);isolation:isolate}
.field-origin-answer::before{content:"";position:absolute;z-index:-1;inset:0 -60vw 0 -38px;background:linear-gradient(120deg,rgba(221,238,228,.58),rgba(210,232,219,.9));clip-path:polygon(48px 0,100% 0,100% 100%,0 100%)}
.field-origin-answer p{font-size:clamp(21px,1.9vw,29px);font-weight:700;line-height:1.62;letter-spacing:.005em}
.field-origin-answer strong{display:inline;background:linear-gradient(transparent 74%,rgba(239,156,60,.68) 74%,rgba(239,156,60,.68) 91%,transparent 91%);font-size:clamp(30px,2.7vw,43px);font-weight:900;line-height:1.48;letter-spacing:-.025em;text-decoration:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.field-origin-answer small{position:relative;display:block;max-width:650px;margin-top:25px;padding-left:18px;font-size:13px;line-height:1.9;color:rgba(21,62,59,.75)}
.field-origin-answer small::before{content:"";position:absolute;left:0;top:.8em;width:7px;height:7px;border-radius:50%;background:#ef9c3c}
.field-origin-shift{position:relative;z-index:2;display:grid;place-content:center;justify-items:center;gap:14px;color:#d87925}
.field-origin-shift span{display:block;width:auto;height:auto;border:0;border-radius:0;background:transparent;font-size:12px;font-weight:850;letter-spacing:.08em;color:var(--ink)}
.field-origin-shift i{position:relative;display:block;width:96px;height:1px;background:#df8735}
.field-origin-shift i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-top:1px solid #df8735;border-right:1px solid #df8735;transform:rotate(45deg)}
.field-source{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:24px 0 44px;font-size:12px;line-height:1.8;color:rgba(21,62,59,.7)}
.field-source a{display:inline-flex;gap:26px;align-items:center;color:var(--ink);font-weight:700;border-bottom:1px solid rgba(21,62,59,.45);padding:6px 0}
.field-source a span{font-size:18px;font-weight:400}
.field-outcome{padding:31px var(--pad);display:flex;justify-content:center;align-items:center;gap:28px;background:#dce8d4;font-size:clamp(14px,1.25vw,18px);font-weight:700;letter-spacing:.04em;text-align:center}
.field-outcome span{display:inline-block;margin-left:28px;font:400 23px/1 'Outfit',sans-serif;animation:fieldArrow 1.7s ease-in-out infinite}
@keyframes fieldArrow{50%{transform:translateY(5px)}}

.flow-bridge{position:relative;z-index:2;background:#f8f6ef;color:var(--ink)}
.flow-bridge-inner{min-height:132px;display:grid;grid-template-columns:minmax(180px,.72fr) minmax(420px,1.28fr);gap:clamp(42px,7vw,120px);align-items:center;border-top:1px solid rgba(21,62,59,.22)}
.flow-bridge-inner>span{font:600 11px/1.5 'Outfit',sans-serif;letter-spacing:.16em;color:rgba(21,62,59,.62)}
.flow-bridge-inner>p{font-size:clamp(16px,1.5vw,21px);font-weight:700;line-height:1.8;letter-spacing:.04em;border-left:1px solid rgba(21,62,59,.25);padding-left:28px}
.flow-bridge-on-dark{background:var(--dark);color:var(--paper)}
.flow-bridge-on-dark .flow-bridge-inner{border-color:rgba(255,255,255,.23)}
.flow-bridge-on-dark .flow-bridge-inner>span{color:rgba(255,255,255,.58)}
.flow-bridge-on-dark .flow-bridge-inner>p{border-color:rgba(255,255,255,.24)}
.flow-bridge-to-structure{background:#f8f6ef}
.flow-bridge-to-comfort{background:#e1ebe2}

@media(max-width:900px){
  .field-voice-heading{width:78%}.field-voice h2{font-size:50px}.field-comparison{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr)}.field-cap figure{height:310px}.field-plus{width:146px}.field-plus figure{width:142px;height:70px}.field-plus b{font-size:11px}.field-plus small{font-size:8px}
  .field-origin{grid-template-columns:minmax(260px,.78fr) 98px minmax(390px,1.22fr)}
  .flow-bridge-inner{grid-template-columns:minmax(160px,.55fr) minmax(360px,1.45fr);gap:42px}
}

@media(max-width:760px){
  .field-voice-canvas{padding:76px 0 48px}.field-voice-canvas::before{top:49%;width:100%;background:#e3eee7}.field-voice-canvas::after{right:-42%;top:56%;width:130vw}.field-voice-word{font-size:23vw;top:1.16em;right:-.04em}.field-voice-detail{display:none}
  .field-voice-inner::before{top:-17px;width:42px;height:4px;box-shadow:13px -9px 0 -1px #ef9c3c}.field-voice-heading{display:block;width:100%}.field-voice-heading .eyebrow{padding:0;margin-bottom:16px;font-size:9px}
  .field-route{display:block;border:0;padding:0;font-size:11px;line-height:1.8;letter-spacing:.07em}.field-voice h2{margin-top:24px;font-size:clamp(32px,9.1vw,37px);line-height:1.48}.field-voice h2 span{white-space:nowrap}
  .field-demand{grid-template-columns:92px minmax(0,1fr);gap:18px;margin-top:28px;padding-top:22px}.field-demand-visual{width:92px;height:192px}.field-demand-label{gap:8px;margin-bottom:8px;font-size:14px;letter-spacing:.035em}.field-demand-label::before{width:15px;height:2px}.field-demand-lead{font-size:18px;line-height:1.65}.field-demand-lead br{display:none}.field-demand-note{grid-column:1/-1;margin-top:8px;font-size:13px;line-height:1.85}
  .field-comparison{display:flex;flex-direction:column;width:100%;margin-top:48px;min-height:0;overflow:visible}.field-comparison::before{display:none}.field-cap{width:100%;min-width:0;padding:38px 17px 0;overflow:hidden;border:1px solid rgba(21,62,59,.15);border-radius:18px}.field-cap-ordinary{background:rgba(255,253,246,.68)}.field-cap-mamoru{background:rgba(207,232,220,.48)}.field-cap+.field-cap{margin-top:0}.field-cap figure{width:100%;height:auto;aspect-ratio:1.28;place-items:center;overflow:hidden}.field-cap img{display:block;height:100%!important;max-width:none;object-fit:contain;transform:none!important}.field-cap-ordinary img{width:92%;height:auto!important}.field-cap-mamoru img{width:108%;height:auto!important}.field-cap-label{top:16px;left:17px;font-size:8px}.field-cap-label span{width:22px;height:22px;margin-right:8px;font-size:8px}
  .field-cap-copy{min-height:0;padding:16px 3px 20px;border-top:1px solid rgba(21,62,59,.24)}.field-cap-copy strong{font-size:16px;line-height:1.65}.field-cap-copy span{font-size:11px;line-height:1.8}
  .field-plus{display:grid;grid-template-columns:124px minmax(0,1fr);align-items:center;gap:12px;margin:20px auto;width:min(100%,310px);padding:8px 0;text-align:left;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none}.field-plus::before{top:-21px;bottom:auto;left:61px;right:auto;width:1px;height:21px;background:#ee9b3a}.field-plus::after{top:auto;bottom:-21px;left:61px;right:auto;width:1px;height:21px;border:0;background:#ee9b3a;transform:none}.field-plus figure{width:124px;height:72px;margin:0;padding:4px}.field-plus figure::after{right:5px;bottom:4px;font-size:6px}.field-plus p{width:auto;margin:0;padding:0}.field-plus p::before{display:none}.field-plus small{margin:0 0 5px;font-size:10px;line-height:1.5;letter-spacing:.015em}.field-plus b{font-size:15px;line-height:1.55;letter-spacing:.005em}.field-plus em{margin-top:4px;font-size:10.5px;line-height:1.5;letter-spacing:.02em}
  .field-voice-bottom{padding-top:38px}.field-origin{display:grid;grid-template-columns:1fr;gap:0;margin-top:0;min-height:0;overflow:visible}.field-origin-label{gap:10px;font-size:16px;line-height:1.55}.field-origin-label::after{width:26px;height:2px}.field-origin-label span{font-size:10px}.field-origin-side p{margin-top:17px}.field-origin-scene{padding:36px 0 31px}.field-origin-scene p{font-size:22px;line-height:1.7}.field-origin-shift{display:grid;grid-template-columns:auto minmax(0,1fr);justify-items:start;gap:14px;padding:0 0 22px}.field-origin-shift span{font-size:11px;color:#d77725}.field-origin-shift i{align-self:center;width:100%}.field-origin-answer{margin:0 calc(-1*var(--pad));padding:37px var(--pad) 40px;border:0}.field-origin-answer::before{inset:0;clip-path:polygon(0 18px,100% 0,100% 100%,0 100%)}.field-origin-answer p{font-size:20px;line-height:1.7}.field-origin-answer strong{font-size:28px;line-height:1.5}.field-origin-answer small{margin-top:22px;padding-left:16px;font-size:12px;line-height:1.9}.field-origin-answer small::before{width:6px;height:6px}.field-desktop-break{display:none}
  .field-source{align-items:flex-start;padding:20px 0 28px;font-size:10px;gap:18px}.field-source a{white-space:nowrap;font-size:10px;gap:12px;padding-top:2px}.field-source a span{font-size:15px}.field-outcome{padding:25px 24px;gap:14px;font-size:12px;line-height:2}.field-outcome span{margin-left:14px;font-size:18px}
  .flow-bridge-inner{min-height:112px;display:block;padding-top:23px;padding-bottom:25px}.flow-bridge-inner>span{font-size:9px;display:block;margin-bottom:12px}.flow-bridge-inner>p{font-size:14px;line-height:1.8;padding-left:18px}
}

@media(prefers-reduced-motion:reduce){.field-outcome span{animation:none}.field-cap img{transition:none;transform:none}}
