:root{
  --web-dark:#15140f;
  --web-dark-2:#201d15;
  --web-cream:#f3efe5;
  --web-warm:#ebe2ce;
  --web-gold:#c8912e;
  --web-gold-light:#e0b566;
}

.web-production{
  background:var(--paper-pure);
}
.web-production header{opacity:1;}
.web-production header .logo{text-decoration:none;}
.web-production .dot{color:var(--amber);}
.web-production .web-wrap{
  width:min(1440px,calc(100% - clamp(40px,8vw,160px)));
  margin-inline:auto;
}
.web-production section{position:relative;}
.web-page-progress{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  z-index:450;
  background:rgba(200,145,46,.08);
  pointer-events:none;
}
.web-page-progress span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleY(0);
  transform-origin:top;
  background:var(--amber);
}
.web-kicker,.web-section-code,.web-plan-en,.web-eyebrow{
  letter-spacing:.18em;
  text-transform:uppercase;
}
.web-eyebrow{
  color:var(--amber);
  font-family:"Noto Serif JP",serif;
  font-size:clamp(.72rem,.9vw,.9rem);
  font-weight:700;
}
.web-section-code{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
  color:#85857e;
  font-size:.65rem;
  font-weight:700;
}
.web-section-code span:first-child{color:var(--amber);}
.web-section-code.light{border-color:rgba(255,255,255,.13); color:rgba(255,255,255,.48);}
.web-section-code.light span:first-child{color:var(--amber-soft);}
.web-production h1,.web-production h2,.web-production h3{font-family:"Noto Serif JP",serif;}
.web-production em{font-style:normal;color:var(--amber);}
.web-display-title .web-title-line{display:block;}
.web-display-title .web-title-phrase{display:inline-block;white-space:nowrap;}
.web-display-title .web-title-line>em{display:inline;}

/* Hero */
.web-hero{
  min-height:100svh;
  overflow:hidden;
  isolation:isolate;
  color:var(--paper-pure);
  background:
    radial-gradient(circle at 77% 34%,rgba(200,145,46,.19),transparent 31%),
    linear-gradient(112deg,#11110f 0%,#171610 56%,#201b10 100%);
}
.web-hero-grid{
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.34;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:clamp(64px,8vw,128px) clamp(64px,8vw,128px);
  mask-image:linear-gradient(to bottom,#000,transparent 94%);
}
.web-hero-glow{
  position:absolute;
  z-index:-1;
  right:5%;
  top:10%;
  width:min(52vw,840px);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(224,181,102,.18);
  box-shadow:0 0 0 60px rgba(200,145,46,.025),0 0 0 150px rgba(200,145,46,.018);
}
.web-hero-glow::before,.web-hero-glow::after{content:"";position:absolute;border-radius:50%;inset:17%;border:1px solid rgba(224,181,102,.16);}
.web-hero-glow::after{inset:35%;background:radial-gradient(circle,rgba(224,181,102,.16),transparent 70%);}
.web-hero-rail{
  position:absolute;
  z-index:2;
  left:clamp(18px,2.2vw,42px);
  top:clamp(112px,14vh,170px);
  bottom:clamp(36px,6vh,76px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  color:rgba(255,255,255,.55);
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.2em;
  writing-mode:vertical-rl;
}
.web-hero-rail span:first-child{color:var(--amber-soft);writing-mode:horizontal-tb;}
.web-hero-rail i{width:1px;flex:1;background:linear-gradient(var(--amber),rgba(200,145,46,.05));}
.web-hero-rail small{font-size:.5rem;}
.web-hero-word{
  position:absolute;
  left:7%;
  bottom:-.26em;
  z-index:-1;
  font-family:"Noto Sans JP",sans-serif;
  font-size:clamp(7rem,19vw,24rem);
  font-weight:700;
  line-height:1;
  letter-spacing:-.07em;
  color:transparent;
  -webkit-text-stroke:1px rgba(224,181,102,.13);
  white-space:nowrap;
}
.web-hero-inner{
  width:min(1500px,calc(100% - clamp(76px,12vw,210px)));
  min-height:100svh;
  margin-inline:auto;
  padding:clamp(128px,16vh,200px) 0 clamp(100px,12vh,150px);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.72fr);
  gap:clamp(60px,9vw,150px);
  align-items:center;
}
.web-kicker{display:flex;align-items:center;gap:18px;margin-bottom:clamp(22px,4vh,44px);font-size:.62rem;font-weight:700;color:rgba(255,255,255,.6);}
.web-kicker i{width:58px;height:1px;background:var(--amber);}
.web-kicker span:last-child{color:var(--amber-soft);}
.web-hero h1{font-size:clamp(3.25rem,4.8vw,5.5rem);line-height:1.17;letter-spacing:.025em;font-weight:700;}
.web-hero h1 span,.web-hero h1 em{display:inline-block;}
.web-hero h1 em{color:var(--amber-soft);}
.web-hero-lead{width:min(690px,100%);margin-top:clamp(28px,5vh,54px);font-size:clamp(.96rem,1.3vw,1.18rem);line-height:2.05;color:rgba(255,255,255,.74);}
.web-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.web-button{
  min-width:210px;
  padding:15px 25px;
  display:inline-flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border:1px solid rgba(255,255,255,.25);
  color:var(--paper-pure);
  text-decoration:none;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease;
}
.web-button::after{content:"↗";font-size:1rem;color:var(--amber-soft);}
.web-button:hover{transform:translateY(-3px);}
.web-button-primary{background:var(--paper-pure);color:var(--ink);border-color:var(--paper-pure);}
.web-button-primary:hover{background:var(--amber-soft);border-color:var(--amber-soft);}
.web-button-primary::after{color:var(--ink);}
.web-hero-sheet{
  position:relative;
  min-height:550px;
  padding:34px clamp(28px,3vw,46px);
  color:var(--ink);
  background:linear-gradient(135deg,rgba(253,253,251,.94),rgba(243,239,229,.88));
  border:1px solid rgba(255,255,255,.6);
  box-shadow:0 34px 90px rgba(0,0,0,.28);
  transform:rotate(1.2deg);
  overflow:hidden;
}
.web-hero-sheet::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 62px,rgba(26,26,26,.055) 63px);pointer-events:none;}
.web-hero-sheet::after{content:"STRATEGY";position:absolute;right:-.05em;bottom:-.3em;font:700 clamp(4.8rem,9vw,9rem)/1 "Noto Sans JP",sans-serif;color:rgba(200,145,46,.07);}
.web-hero-showcase::before{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(253,252,248,.98) 0%,rgba(250,247,239,.9) 46%,rgba(250,247,239,.22) 76%,rgba(250,247,239,.04) 100%),
    repeating-linear-gradient(0deg,transparent 0,transparent 62px,rgba(26,26,26,.045) 63px);
}
.web-hero-showcase::after{z-index:2;color:rgba(200,145,46,.09);}
.web-hero-figure{position:absolute;inset:0;z-index:0;margin:0;}
.web-hero-figure img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.97);}
.web-hero-showcase .web-sheet-top,.web-hero-showcase .web-sheet-center,.web-hero-showcase .web-sheet-foot{z-index:3;}
.web-sheet-top,.web-sheet-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:16px;color:#96958e;font-size:.55rem;font-weight:700;letter-spacing:.22em;}
.web-sheet-center{position:relative;z-index:1;margin-top:clamp(100px,15vh,155px);}
.web-sheet-center>p{color:var(--amber);font-size:.58rem;font-weight:700;letter-spacing:.2em;}
.web-sheet-center ol{list-style:none;margin-top:24px;}
.web-sheet-center li{display:grid;grid-template-columns:44px 1fr;padding:15px 0;border-bottom:1px solid rgba(26,26,26,.12);font-family:"Noto Serif JP",serif;font-size:clamp(1rem,1.45vw,1.3rem);font-weight:600;}
.web-sheet-center li span{font:700 .58rem/2.6 "Noto Sans JP",sans-serif;color:var(--amber);letter-spacing:.1em;}
.web-sheet-foot{position:absolute;left:clamp(28px,3vw,46px);right:clamp(28px,3vw,46px);bottom:34px;align-items:center;}
.web-sheet-foot i{height:1px;flex:1;background:var(--amber);}
.web-scroll{position:absolute;right:clamp(28px,4vw,76px);bottom:30px;display:flex;align-items:center;gap:16px;color:rgba(255,255,255,.48);text-decoration:none;font-size:.52rem;font-weight:700;letter-spacing:.2em;}
.web-scroll i{width:72px;height:1px;background:linear-gradient(90deg,var(--amber),transparent);}

/* Approach */
.web-approach{padding:clamp(100px,14vw,210px) 0;background:var(--paper-pure);}
.web-approach-grid{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(0,1fr);gap:clamp(70px,11vw,190px);padding-top:clamp(58px,8vw,110px);}
.web-approach-heading h2{margin-top:24px;font-size:clamp(2.8rem,4.6vw,4.8rem);line-height:1.28;letter-spacing:.025em;}
.web-approach-copy{padding-top:clamp(28px,7vw,100px);font-size:clamp(.95rem,1.15vw,1.08rem);line-height:2.1;color:var(--ink-soft);}
.web-lead-copy{font-family:"Noto Serif JP",serif;font-size:clamp(1.2rem,2.1vw,1.85rem);font-weight:600;line-height:1.9;color:var(--ink);}
.web-quote{position:relative;margin:clamp(42px,6vw,76px) 0;padding:35px 20px 35px clamp(55px,6vw,90px);border-block:1px solid var(--line);}
.web-quote>span{position:absolute;left:5px;top:12px;color:var(--amber);font:400 5.5rem/1 "Noto Serif JP",serif;}
.web-quote p{font-family:"Noto Serif JP",serif;font-size:clamp(1.05rem,1.7vw,1.45rem);font-weight:600;line-height:2;}
.web-question-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(80px,11vw,150px);border-block:1px solid var(--line);}
.web-question-strip article{min-height:210px;padding:30px clamp(20px,2.5vw,38px);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:38px;}
.web-question-strip article:last-child{border-right:0;}
.web-question-strip span{color:var(--amber);font-size:.6rem;font-weight:700;letter-spacing:.18em;}
.web-question-strip p{font-family:"Noto Serif JP",serif;font-size:clamp(1.05rem,1.45vw,1.3rem);font-weight:600;line-height:1.7;}
.web-industry-scene{position:relative;margin-top:clamp(70px,10vw,140px);aspect-ratio:16/7;overflow:hidden;border:1px solid var(--line);background:#eeeae0;box-shadow:0 30px 100px rgba(48,38,19,.07);}
.web-industry-scene img{width:100%;height:100%;object-fit:cover;filter:saturate(.77) contrast(.97);transition:filter .7s ease,transform 1.1s cubic-bezier(.22,1,.36,1);}
.web-industry-scene:hover img{filter:saturate(.92) contrast(1);}
.web-industry-scene figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:end;gap:30px;padding:clamp(20px,3vw,38px);background:linear-gradient(transparent,rgba(20,19,15,.76));color:rgba(255,255,255,.9);}
.web-industry-scene figcaption span{font-size:.52rem;font-weight:700;letter-spacing:.2em;color:var(--amber-soft);}
.web-industry-scene figcaption b{max-width:620px;text-align:right;font-family:"Noto Serif JP",serif;font-size:clamp(.95rem,1.5vw,1.35rem);line-height:1.65;}
.web-industry-scene-split{aspect-ratio:16/6;}
.web-industry-scene-logistics{margin-top:0;margin-bottom:clamp(58px,8vw,100px);aspect-ratio:16/6.5;}
.web-industry-scene-dark{position:relative;z-index:1;margin-top:0;margin-bottom:clamp(70px,9vw,120px);border-color:rgba(255,255,255,.14);box-shadow:0 34px 100px rgba(0,0,0,.3);}
.web-field-notes{display:grid;grid-template-columns:1.12fr repeat(3,1fr);margin-top:clamp(80px,11vw,150px);border-top:1px solid var(--line);border-left:1px solid var(--line);}
.web-field-notes-head,.web-field-notes article{min-height:360px;padding:clamp(25px,3vw,44px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.web-field-notes-head{display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#171611,#242016);color:var(--paper-pure);}
.web-field-notes-head>span,.web-field-notes article>span{color:var(--amber);font-size:.55rem;font-weight:700;letter-spacing:.18em;}
.web-field-notes-head h3{font-size:clamp(1.45rem,2.25vw,2.25rem);line-height:1.65;}
.web-field-notes article{background:linear-gradient(145deg,#fbfaf7,#f3efe5);}
.web-field-notes article h4{margin-top:clamp(50px,7vw,95px);font-size:clamp(1.1rem,1.45vw,1.4rem);line-height:1.75;}
.web-field-notes article p{margin-top:20px;color:var(--ink-soft);font-size:.78rem;line-height:1.9;}
.web-origin-story{display:grid;grid-template-columns:1.1fr .9fr;margin-top:clamp(80px,12vw,170px);border:1px solid var(--line);background:linear-gradient(145deg,#f3efe5,#fbfaf7);overflow:hidden;box-shadow:0 30px 100px rgba(48,38,19,.06);}
.web-origin-story figure{min-height:620px;overflow:hidden;background:#eeeae0;}
.web-origin-story img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96);transition:transform 1.2s cubic-bezier(.22,1,.36,1),filter .8s ease;}
.web-origin-story:hover img{transform:scale(1.025);filter:saturate(.86) contrast(1);}
.web-origin-story>div{align-self:center;padding:clamp(38px,6vw,90px);}
.web-origin-story>div>span{color:var(--amber);font-size:.54rem;font-weight:700;letter-spacing:.2em;}
.web-origin-story .web-eyebrow{margin-top:26px;}
.web-origin-story h3{margin-top:18px;font-size:clamp(1.8rem,2.7vw,3rem);line-height:1.55;}
.web-origin-story p:not(.web-eyebrow){margin-top:24px;color:var(--ink-soft);font-size:.82rem;line-height:2;}

/* Baseline */
.web-baseline{padding:clamp(110px,13vw,190px) 0;background:linear-gradient(120deg,#151511,#1c1911);color:var(--paper-pure);overflow:hidden;}
.web-baseline-word{position:absolute;right:-.04em;top:.03em;font:700 clamp(7rem,18vw,22rem)/1 "Noto Sans JP",sans-serif;color:transparent;-webkit-text-stroke:1px rgba(224,181,102,.09);letter-spacing:-.06em;}
.web-baseline-head{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(50px,10vw,160px);align-items:end;padding:clamp(60px,8vw,100px) 0;}
.web-baseline-head h2{font-size:clamp(2.7rem,4.4vw,5rem);line-height:1.35;}
.web-baseline-head p:last-child{color:rgba(255,255,255,.62);font-size:clamp(.92rem,1.1vw,1.08rem);line-height:2.1;}
.web-standard-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13);}
.web-standard-item{min-height:260px;padding:32px clamp(24px,3vw,46px);border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,rgba(255,255,255,.025),transparent);}
.web-standard-item span{display:block;color:var(--amber-soft);font-size:.62rem;font-weight:700;letter-spacing:.18em;}
.web-standard-item h3{margin-top:48px;font-size:clamp(1.35rem,2vw,1.8rem);}
.web-standard-item p{margin-top:18px;color:rgba(255,255,255,.58);font-size:.88rem;line-height:1.9;}

/* Plans */
.web-plans{padding:clamp(110px,13vw,190px) 0;background:#f4f2ec;}
.web-plans-head,.web-comparison-head,.web-flow-head{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(50px,11vw,180px);align-items:end;padding:clamp(58px,8vw,100px) 0;}
.web-plans-head h2,.web-comparison-head h2,.web-flow-head h2{margin-top:18px;font-size:clamp(2.8rem,4.6vw,5rem);line-height:1.25;}
.web-plans-head>p,.web-comparison-head>p,.web-flow-head>p{color:var(--ink-soft);font-size:clamp(.92rem,1.1vw,1.08rem);line-height:2.1;}
.web-plan-list{border-top:1px solid var(--line);}
.web-plan{
  position:relative;
  display:grid;
  grid-template-columns:100px minmax(280px,.95fr) minmax(320px,1.05fr);
  grid-template-areas:"no main list" "no fit list";
  gap:18px clamp(24px,4vw,70px);
  padding:clamp(42px,5vw,72px) clamp(0px,2vw,32px);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.web-plan::before{content:attr(data-plan);position:absolute;right:0;bottom:-.3em;font:700 clamp(4.2rem,9vw,9rem)/1 "Noto Sans JP",sans-serif;color:rgba(200,145,46,.055);letter-spacing:-.06em;pointer-events:none;}
.web-plan-no{grid-area:no;color:transparent;-webkit-text-stroke:1px var(--amber);font:400 clamp(3rem,5vw,5rem)/1 "Noto Serif JP",serif;}
.web-plan-main{grid-area:main;position:relative;z-index:1;}
.web-plan-en{font-size:.58rem;font-weight:700;color:var(--amber);}
.web-plan h3{margin-top:10px;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.35;}
.web-plan-message{margin-top:13px;color:var(--ink-soft);font-size:.9rem;line-height:1.8;}
.web-plan ul{grid-area:list;position:relative;z-index:1;list-style:none;align-self:center;}
.web-plan li{position:relative;padding:7px 0 7px 19px;border-bottom:1px solid rgba(26,26,26,.08);font-size:.82rem;line-height:1.65;}
.web-plan li::before{content:"";position:absolute;left:1px;top:1.35em;width:6px;height:6px;border:1px solid var(--amber);border-radius:50%;}
.web-plan-fit{grid-area:fit;position:relative;z-index:1;color:#77766f;font-size:.76rem;line-height:1.75;}
.web-plan-featured{margin-inline:calc(clamp(0px,2vw,32px) * -1);padding-inline:clamp(24px,4vw,62px);background:linear-gradient(112deg,#f0e8d6,#fbfaf5);box-shadow:0 22px 70px rgba(41,33,16,.08);border-left:3px solid var(--amber);}
.web-plan-badge{position:absolute;top:0;right:0;padding:9px 16px;background:var(--amber);color:#fff;font-size:.52rem;font-weight:700;letter-spacing:.16em;}
.web-plan-premium{margin-top:22px;padding-inline:clamp(24px,4vw,62px);background:linear-gradient(115deg,#171611,#221e14);color:var(--paper-pure);border-bottom:0;}
.web-plan-premium .web-plan-message,.web-plan-premium .web-plan-fit{color:rgba(255,255,255,.58);}
.web-plan-premium li{border-color:rgba(255,255,255,.1);}
.web-plan-premium::before{color:transparent;-webkit-text-stroke:1px rgba(224,181,102,.09);}
.web-plan-core{border-bottom:0;}
.web-finish-intro{display:grid;grid-template-columns:.55fr 1fr 1fr;gap:clamp(28px,5vw,76px);align-items:start;margin-top:clamp(80px,10vw,140px);padding-bottom:36px;border-bottom:1px solid var(--line);}
.web-finish-intro>span,.web-finish-card>span{color:var(--amber);font-size:.55rem;font-weight:700;letter-spacing:.18em;}
.web-finish-intro h3{font-size:clamp(1.55rem,2.25vw,2.35rem);line-height:1.55;}
.web-finish-intro p{color:var(--ink-soft);font-size:.86rem;line-height:1.95;}
.web-finish-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);}
.web-finish-card{position:relative;min-height:340px;padding:clamp(28px,3vw,46px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:rgba(255,255,255,.34);}
.web-finish-card::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--amber);transition:right .5s ease;}
.web-finish-card:hover::after{right:0;}
.web-finish-card.is-standard{background:linear-gradient(145deg,#eee3cc,#fbfaf5);}
.web-finish-card h3{margin-top:clamp(62px,7vw,95px);font-size:clamp(1.35rem,2vw,2rem);line-height:1.55;}
.web-finish-card strong{display:block;margin-top:20px;font-family:"Noto Serif JP",serif;font-size:clamp(1.25rem,1.7vw,1.65rem);}
.web-finish-card p{margin-top:18px;color:var(--ink-soft);font-size:.8rem;line-height:1.9;}
.web-scope-note{margin-top:28px;color:#77766f;font-size:.7rem;line-height:1.8;}

/* 330 detail */
.web-standard-detail{padding:clamp(120px,16vw,240px) 0;background:linear-gradient(135deg,#f0e7d3,#fbfaf5 65%);overflow:hidden;}
.web-detail-marquee{position:absolute;left:0;right:0;top:28px;overflow:hidden;white-space:nowrap;color:rgba(200,145,46,.1);font:700 clamp(3.5rem,8vw,8rem)/1 "Noto Sans JP",sans-serif;letter-spacing:.04em;}
.web-detail-marquee span{display:inline-block;}
.web-detail-grid{display:grid;grid-template-columns:.32fr 1fr 1.2fr;gap:clamp(40px,7vw,110px);align-items:start;}
.web-detail-number{font:400 clamp(7rem,15vw,15rem)/.78 "Noto Serif JP",serif;color:transparent;-webkit-text-stroke:1px rgba(200,145,46,.55);}
.web-detail-heading{padding-top:40px;}
.web-detail-heading h2{margin-top:22px;font-size:clamp(2.4rem,3.6vw,4.2rem);line-height:1.42;}
.web-detail-copy{padding-top:55px;}
.web-detail-lead{font-family:"Noto Serif JP",serif;font-size:clamp(1.1rem,1.8vw,1.55rem);font-weight:600;line-height:1.95;}
.web-detail-steps{margin-top:48px;border-top:1px solid rgba(26,26,26,.14);}
.web-detail-steps article{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid rgba(26,26,26,.14);}
.web-detail-steps article>span{color:var(--amber);font-size:.62rem;font-weight:700;letter-spacing:.12em;}
.web-detail-steps h3{font-size:1.15rem;}
.web-detail-steps p{margin-top:8px;color:var(--ink-soft);font-size:.83rem;line-height:1.85;}

/* Compare */
.web-comparison{padding:clamp(110px,13vw,190px) 0;background:var(--paper-pure);}
.web-compare-wrap{position:relative;overflow:auto;border-block:1px solid var(--line);box-shadow:0 26px 80px rgba(30,25,13,.05);}
.web-compare-wrap table{width:100%;min-width:1040px;border-collapse:collapse;background:#fff;}
.web-compare-wrap th,.web-compare-wrap td{padding:19px clamp(16px,2vw,32px);border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;font-size:.8rem;}
.web-compare-wrap thead th{height:92px;font-family:"Noto Serif JP",serif;font-size:.95rem;vertical-align:bottom;background:#f1f0eb;}
.web-compare-wrap tbody th{width:23%;font-family:"Noto Serif JP",serif;font-weight:600;}
.web-compare-wrap th:last-child,.web-compare-wrap td:last-child{border-right:0;}
.web-compare-wrap tr:last-child>*{border-bottom:0;}
.web-compare-wrap .is-terasu{background:#f5edde;color:#2d2618;}
.web-compare-wrap thead .is-terasu{color:var(--amber);font-size:1.2rem;}
.web-compare-wrap b{color:var(--amber);font-weight:700;}
.web-compare-scan{position:absolute;z-index:3;top:0;bottom:0;left:0;width:1px;background:linear-gradient(transparent,var(--amber),transparent);box-shadow:0 0 32px rgba(200,145,46,.6);pointer-events:none;}
.web-compare-note{margin-top:18px;color:#85847d;font-size:.66rem;line-height:1.7;}
.web-compare-mobile{display:none;}

/* Platform */
.web-platform{padding:clamp(110px,13vw,190px) 0;background:linear-gradient(120deg,#151511,#211d14);color:var(--paper-pure);overflow:hidden;}
.web-platform::before{content:"PLATFORM";position:absolute;right:-.08em;top:.25em;color:transparent;-webkit-text-stroke:1px rgba(224,181,102,.08);font:700 clamp(7rem,18vw,20rem)/1 "Noto Sans JP",sans-serif;letter-spacing:-.07em;}
.web-platform-head{position:relative;z-index:1;padding:clamp(55px,8vw,100px) 0;}
.web-platform-head h2{margin-top:22px;font-size:clamp(2.7rem,4.5vw,5rem);line-height:1.4;}
.web-platform-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid rgba(255,255,255,.13);}
.web-platform-card{min-height:390px;padding:34px clamp(24px,3vw,48px);border-right:1px solid rgba(255,255,255,.13);display:flex;flex-direction:column;}
.web-platform-card:last-child{border-right:0;}
.web-platform-card>span{color:var(--amber-soft);font-size:.56rem;font-weight:700;letter-spacing:.18em;}
.web-platform-card h3{margin-top:70px;font-size:clamp(1.4rem,2.3vw,2.15rem);}
.web-platform-card p{margin-top:20px;color:rgba(255,255,255,.58);font-size:.84rem;line-height:1.95;}
.web-platform-card strong{margin-top:auto;padding-top:32px;color:var(--amber-soft);font-family:"Noto Serif JP",serif;font-size:1.05rem;}
.web-option-block{position:relative;z-index:1;margin-top:80px;display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(60px,9vw,140px);padding-top:52px;border-top:1px solid rgba(255,255,255,.13);}
.web-option-block h3{margin-top:18px;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.45;}
.web-option-block dl{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;}
.web-option-block dl div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.75rem;}
.web-option-block dd{color:var(--amber-soft);white-space:nowrap;}

/* Flow */
.web-flow{padding:clamp(110px,13vw,190px) 0;background:#f4f2ec;}
.web-flow-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);}
.web-flow-item{min-height:290px;padding:30px clamp(24px,3vw,46px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.web-flow-item>span{float:right;color:transparent;-webkit-text-stroke:1px rgba(200,145,46,.65);font:400 3.4rem/1 "Noto Serif JP",serif;}
.web-flow-item small{display:block;color:var(--amber);font-size:.55rem;font-weight:700;letter-spacing:.18em;}
.web-flow-item h3{clear:both;padding-top:72px;font-size:clamp(1.25rem,1.8vw,1.6rem);}
.web-flow-item p{margin-top:14px;color:var(--ink-soft);font-size:.82rem;line-height:1.85;}
.web-schedule{margin-top:70px;padding:clamp(30px,4vw,52px);border:1px solid var(--line);background:rgba(255,255,255,.55);}
.web-schedule>span{display:block;margin-bottom:25px;color:var(--amber);font-size:.56rem;font-weight:700;letter-spacing:.18em;}
.web-schedule>div{display:grid;grid-template-columns:minmax(160px,260px) 1fr 100px;align-items:center;gap:24px;padding:12px 0;}
.web-schedule b{font-size:.65rem;letter-spacing:.12em;}
.web-schedule i{height:1px;background:linear-gradient(90deg,var(--amber),var(--line));}
.web-schedule strong{text-align:right;font-family:"Noto Serif JP",serif;}
.web-schedule small{display:block;margin-top:24px;color:#83827b;font-size:.64rem;}

/* Ownership */
.web-ownership{padding:clamp(110px,13vw,190px) 0;background:linear-gradient(135deg,#efe7d5,#fbfaf7);overflow:hidden;}
.web-ownership::after{content:"OWNERSHIP";position:absolute;left:-.05em;bottom:-.25em;color:rgba(200,145,46,.055);font:700 clamp(6rem,16vw,18rem)/1 "Noto Sans JP",sans-serif;letter-spacing:-.06em;}
.web-ownership-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(60px,11vw,180px);}
.web-ownership .web-section-code.light{border-color:rgba(26,26,26,.15);color:#8a8982;}
.web-ownership-heading .web-eyebrow{margin-top:60px;}
.web-ownership-heading h2{margin-top:20px;font-size:clamp(2.6rem,4.2vw,4.5rem);line-height:1.42;}
.web-ownership-copy>p{font-family:"Noto Serif JP",serif;font-size:clamp(1.05rem,1.65vw,1.45rem);font-weight:600;line-height:2;}
.web-ownership-visual{position:relative;margin-top:42px;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(26,26,26,.12);background:#f2eee5;box-shadow:0 24px 70px rgba(64,50,22,.07);}
.web-ownership-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96);transition:transform 1s cubic-bezier(.22,1,.36,1);}
.web-ownership-visual:hover img{transform:scale(1.025);}
.web-ownership-visual figcaption{position:absolute;left:0;right:0;bottom:0;padding:19px 22px;background:linear-gradient(transparent,rgba(19,18,14,.78));color:rgba(255,255,255,.88);font-size:.7rem;line-height:1.65;}
.web-ownership-visual figcaption span{display:block;margin-bottom:4px;color:var(--amber-soft);font-size:.5rem;font-weight:700;letter-spacing:.17em;}
.web-policy-list{margin-top:48px;border-top:1px solid rgba(26,26,26,.16);}
.web-policy-list article{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid rgba(26,26,26,.16);}
.web-policy-list span{color:var(--amber);font-size:.56rem;font-weight:700;letter-spacing:.17em;}
.web-policy-list p{color:var(--ink-soft);font-size:.8rem;line-height:1.85;}
.web-publish-routes{margin-top:54px;padding:clamp(24px,3vw,38px);border:1px solid rgba(26,26,26,.14);background:rgba(255,255,255,.42);box-shadow:0 24px 70px rgba(64,50,22,.06);}
.web-publish-routes-head{padding-bottom:24px;border-bottom:1px solid rgba(26,26,26,.13);}
.web-publish-routes-head>span,.web-publish-routes article small{color:var(--amber);font-size:.52rem;font-weight:700;letter-spacing:.17em;}
.web-publish-routes-head h3{margin-top:10px;font-size:clamp(1.3rem,1.8vw,1.75rem);line-height:1.5;}
.web-publish-routes article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid rgba(26,26,26,.12);}
.web-publish-routes article>span{color:transparent;-webkit-text-stroke:1px rgba(200,145,46,.72);font:400 1.55rem/1 "Noto Serif JP",serif;}
.web-publish-routes article h4{margin-top:6px;font-size:1rem;line-height:1.55;}
.web-publish-routes article p{margin-top:8px;color:var(--ink-soft);font-size:.76rem;line-height:1.85;}
.web-publish-routes article.is-recommended{margin-inline:calc(clamp(24px,3vw,38px) * -1);padding-inline:clamp(24px,3vw,38px);background:linear-gradient(90deg,rgba(200,145,46,.1),rgba(255,255,255,0));}
.web-publish-routes-note{margin-top:20px;color:#77766f;font-size:.66rem;line-height:1.8;}

/* FAQ */
.web-faq{padding:clamp(110px,13vw,190px) 0;background:var(--paper-pure);}
.web-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(60px,12vw,190px);padding-top:clamp(60px,8vw,100px);}
.web-faq-head h2{margin-top:20px;font-size:clamp(2.7rem,4.3vw,4.5rem);line-height:1.42;}
.web-faq-list{border-top:1px solid var(--line);}
.web-faq-item{border-bottom:1px solid var(--line);}
.web-faq-item button{width:100%;padding:24px 0;display:grid;grid-template-columns:1fr 32px;gap:24px;align-items:center;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;font:600 clamp(.95rem,1.2vw,1.1rem)/1.7 "Noto Serif JP",serif;}
.web-faq-item button i{position:relative;width:24px;height:24px;}
.web-faq-item button i::before,.web-faq-item button i::after{content:"";position:absolute;left:3px;right:3px;top:11px;height:1px;background:var(--amber);transition:transform .3s ease;}
.web-faq-item button i::after{transform:rotate(90deg);}
.web-faq-item button[aria-expanded="true"] i::after{transform:rotate(0);}
.web-faq-answer{height:0;overflow:hidden;}
.web-faq-answer p{padding:0 55px 26px 0;color:var(--ink-soft);font-size:.82rem;line-height:1.95;}

/* Contact */
.web-contact{min-height:75svh;padding:clamp(120px,17vw,240px) 0;background:linear-gradient(120deg,#151511,#211d14);color:var(--paper-pure);overflow:hidden;display:flex;align-items:center;}
.web-contact-word{position:absolute;right:-.04em;bottom:-.23em;color:transparent;-webkit-text-stroke:1px rgba(224,181,102,.11);font:700 clamp(9rem,25vw,28rem)/1 "Noto Sans JP",sans-serif;letter-spacing:-.07em;}
.web-contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:120px 1fr;gap:clamp(40px,7vw,110px);}
.web-contact-meta{display:flex;flex-direction:column;gap:18px;color:rgba(255,255,255,.48);font-size:.56rem;font-weight:700;letter-spacing:.19em;}
.web-contact-meta span:first-child{color:var(--amber-soft);font-size:1rem;}
.web-contact-copy h2{margin-top:24px;font-size:clamp(2.9rem,4.7vw,5.3rem);line-height:1.35;}
.web-contact-copy>p:not(.web-eyebrow){width:min(680px,100%);margin-top:28px;color:rgba(255,255,255,.62);line-height:1.95;}
.web-contact .web-button-line{background:rgba(255,255,255,.03);}
.web-production footer{background:#0e0e0c;border-top:1px solid rgba(255,255,255,.1);}

@media(max-width:1100px){
  .web-hero-inner{grid-template-columns:1fr minmax(300px,.62fr);gap:45px;}
  .web-hero-sheet{min-height:480px;}
  .web-question-strip{grid-template-columns:1fr 1fr;}
  .web-question-strip article:nth-child(2){border-right:0;}
  .web-question-strip article:nth-child(-n+2){border-bottom:1px solid var(--line);}
  .web-field-notes{grid-template-columns:1fr 1fr;}
  .web-field-notes-head,.web-field-notes article{min-height:320px;}
  .web-standard-grid{grid-template-columns:1fr 1fr;}
  .web-plan{grid-template-columns:76px 1fr;grid-template-areas:"no main" "no list" "no fit";}
  .web-plan ul{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;}
  .web-detail-grid{grid-template-columns:.25fr 1fr 1.2fr;gap:40px;}
  .web-platform-grid{grid-template-columns:1fr;}
  .web-platform-card{min-height:auto;border-right:0;border-bottom:1px solid rgba(255,255,255,.13);}
  .web-platform-card h3{margin-top:38px;}
  .web-platform-card strong{margin-top:28px;}
}

@media(max-width:780px){
  .web-production .web-wrap{width:calc(100% - 48px);}
  .web-production .menu-toggle{opacity:1;transform:none;pointer-events:auto;}
  .web-page-progress{width:2px;}
  .web-hero{min-height:auto;}
  .web-hero-rail{display:none;}
  .web-hero-glow{right:-46%;top:8%;width:115vw;}
  .web-hero-word{left:-.12em;bottom:-.13em;font-size:34vw;}
  .web-hero-inner{width:calc(100% - 48px);min-height:auto;padding:128px 0 130px;display:block;}
  .web-hero h1{font-size:clamp(2.75rem,13vw,5rem);line-height:1.25;}
  .web-kicker{flex-wrap:wrap;gap:10px 14px;margin-bottom:28px;}
  .web-kicker i{width:34px;}
  .web-hero-lead{margin-top:30px;font-size:.9rem;line-height:1.95;}
  .web-hero-sheet{margin-top:70px;min-height:430px;padding:28px;transform:rotate(.6deg);}
  .web-sheet-center{margin-top:80px;}
  .web-sheet-foot{left:28px;right:28px;bottom:28px;}
  .web-scroll{right:24px;bottom:24px;}
  .web-button{min-width:100%;}
  .web-section-code{font-size:.56rem;}
  .web-approach-grid,.web-baseline-head,.web-plans-head,.web-comparison-head,.web-flow-head,.web-option-block,.web-ownership-grid,.web-faq-grid{grid-template-columns:1fr;gap:42px;}
  .web-approach-heading h2,.web-plans-head h2,.web-comparison-head h2,.web-flow-head h2,.web-faq-head h2{font-size:clamp(2.05rem,10vw,4.2rem);}
  .web-approach-copy{padding-top:0;}
  .web-question-strip{grid-template-columns:1fr;margin-top:70px;}
  .web-question-strip article{min-height:160px;border-right:0;border-bottom:1px solid var(--line);}
  .web-question-strip article:last-child{border-bottom:0;}
  .web-field-notes{grid-template-columns:1fr;margin-top:70px;}
  .web-field-notes-head,.web-field-notes article{min-height:280px;}
  .web-field-notes article h4{margin-top:55px;}
  .web-origin-story{grid-template-columns:1fr;margin-top:78px;}
  .web-origin-story figure{min-height:320px;}
  .web-origin-story>div{padding:36px 28px 44px;}
  .web-origin-story h3{font-size:clamp(1.65rem,8vw,2.8rem);}
  .web-baseline-head h2{font-size:clamp(2.05rem,10vw,4rem);}
  .web-standard-grid{grid-template-columns:1fr;}
  .web-standard-item{min-height:220px;}
  .web-plan{grid-template-columns:56px 1fr;grid-template-areas:"no main" "list list" "fit fit";gap:24px 14px;padding:42px 8px;}
  .web-plan-featured,.web-plan-premium{margin-inline:-12px;padding-inline:22px;}
  .web-plan ul{display:block;}
  .web-plan-fit{padding-left:70px;}
  .web-plan-badge{font-size:.45rem;}
  .web-finish-intro{grid-template-columns:1fr;gap:22px;}
  .web-finish-grid{grid-template-columns:1fr;}
  .web-finish-card{min-height:290px;}
  .web-industry-scene,.web-industry-scene-split,.web-industry-scene-logistics,.web-industry-scene-dark{aspect-ratio:4/3;}
  .web-industry-scene figcaption{display:block;}
  .web-industry-scene figcaption b{display:block;margin-top:8px;text-align:left;font-size:.88rem;}
  .web-detail-grid{grid-template-columns:1fr;gap:18px;}
  .web-detail-number{font-size:8rem;}
  .web-detail-heading,.web-detail-copy{padding-top:0;}
  .web-detail-heading h2{font-size:clamp(2.05rem,10vw,4.1rem);}
  .web-compare-wrap{display:none;}
  .web-compare-note{display:none;}
  .web-compare-mobile{display:grid;gap:14px;}
  .web-compare-mobile article{padding:27px;border:1px solid var(--line);background:#f7f6f2;}
  .web-compare-mobile article>span{color:var(--amber);font-size:.54rem;font-weight:700;letter-spacing:.18em;}
  .web-compare-mobile h3{margin-top:10px;font-size:1.3rem;}
  .web-compare-mobile p{margin-top:14px;color:var(--ink-soft);font-size:.8rem;line-height:1.8;}
  .web-compare-mobile small{display:block;margin-top:22px;padding-top:15px;border-top:1px solid var(--line);color:#77766f;}
  .web-compare-mobile .is-terasu{background:#f1e6ce;border-color:rgba(200,145,46,.45);}
  .web-option-block dl{grid-template-columns:1fr;}
  .web-flow-grid{grid-template-columns:1fr;}
  .web-flow-item{min-height:245px;}
  .web-schedule>div{grid-template-columns:1fr auto;gap:8px 20px;padding:16px 0;border-bottom:1px solid var(--line);}
  .web-schedule i{display:none;}
  .web-policy-list article{grid-template-columns:74px 1fr;}
  .web-ownership-visual{margin-top:32px;}
  .web-contact-grid{grid-template-columns:1fr;}
  .web-contact-meta{flex-direction:row;}
  .web-platform-head h2{font-size:clamp(1.8rem,8.5vw,4rem);}
  .web-ownership-heading h2{font-size:clamp(2.05rem,10vw,4rem);}
  .web-contact-copy h2{font-size:clamp(2rem,9vw,4.3rem);}
}

@media(max-width:480px){
  .web-production .web-wrap,.web-hero-inner{width:calc(100% - 34px);}
  .web-hero-inner{padding-top:112px;}
  .web-hero h1{font-size:12.5vw;letter-spacing:0;}
  .web-hero-sheet{margin-inline:4px;padding:23px;min-height:410px;}
  .web-sheet-foot{left:23px;right:23px;}
  .web-hero-actions{gap:10px;}
  .web-button{padding:14px 18px;font-size:.72rem;}
  .web-quote{padding-left:48px;padding-right:8px;}
  .web-question-strip article{padding-inline:20px;}
  .web-standard-item{padding-inline:22px;}
  .web-plan-fit{padding-left:0;}
  .web-detail-steps article{grid-template-columns:36px 1fr;}
  .web-option-block dl div{display:block;}
  .web-option-block dd{margin-top:5px;}
  .web-policy-list article{grid-template-columns:1fr;gap:8px;}
  .web-origin-story figure{min-height:250px;}
  .web-ownership-visual{aspect-ratio:4/3;}
  .web-faq-item button{grid-template-columns:1fr 26px;padding-block:20px;}
  .web-contact{min-height:80svh;}
}

@media(prefers-reduced-motion:reduce){
  .web-production *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;}
  .web-page-progress{display:none;}
}
