/* SALÒN — home */
.hero{position:relative;height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));min-height:560px;max-height:980px;overflow:hidden;background:#e9e2d8}
.hero img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,246,240,.82) 0%,rgba(250,246,240,.55) 38%,rgba(250,246,240,0) 62%);pointer-events:none}
.hero .cp,.hero .ph{z-index:1}
.hero .cp{position:absolute;left:clamp(24px,7vw,110px);top:50%;transform:translateY(-54%);color:var(--taupe-d)}
.hero h1{font-family:var(--jp);font-weight:500;font-size:clamp(38px,6.2vw,84px);line-height:1.45;letter-spacing:.2em;margin:0;opacity:0;animation:rise 1.8s .2s cubic-bezier(.2,.7,.1,1) forwards}
.hero .en{color:var(--taupe-d)!important;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(18px,2vw,24px);letter-spacing:.04em;margin-top:22px;color:var(--taupe);opacity:0;animation:rise 1.8s .9s cubic-bezier(.2,.7,.1,1) forwards}
.hero .qt{font-family:var(--jp);font-size:14.5px;letter-spacing:.16em;margin-top:36px;color:var(--sub);opacity:0;animation:rise 1.8s 1.5s cubic-bezier(.2,.7,.1,1) forwards}
.hero .qt span{display:block;font-size:12.5px;letter-spacing:.1em;color:var(--mute);margin-top:4px}
.hero .ph{position:absolute;left:clamp(24px,7vw,110px);bottom:26px;font-family:var(--jp);font-size:12.5px;color:var(--sub);letter-spacing:.08em;max-width:30em;line-height:1.8}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.warn{background:var(--mist);border-left:2px solid var(--taupe);padding:16px 22px;font-family:var(--jp);font-size:14px;line-height:1.9;color:var(--sub)}
.warn b{color:var(--ink);font-weight:500}
.prom{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prom li{list-style:none;padding:34px 22px 30px;border-right:1px solid var(--line);font-family:var(--jp)}
.prom li:last-child{border-right:0}
.prom .n{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:30px;color:var(--taupe);line-height:1}
.prom h3{font-weight:500;font-size:17px;letter-spacing:.1em;margin:18px 0 10px}
.prom p{font-size:14px;line-height:1.9;color:var(--sub);margin:0}
.flow{counter-reset:f;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--taupe)}
.flow li{list-style:none;padding:30px 26px 10px 0;position:relative}
.flow li+li{padding-left:26px;border-left:1px solid var(--line)}
.flow .ci{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--mute);font-size:15px}
.flow h3{font-family:var(--jp);font-weight:500;font-size:18px;letter-spacing:.1em;margin:4px 0 12px;color:var(--taupe-d)}
.flow h3::before{counter-increment:f;content:"STEP " counter(f);display:block;font-family:"Cormorant Garamond",serif;font-size:14px;letter-spacing:.12em;color:var(--taupe);margin-bottom:6px}
.flow p{font-family:var(--jp);font-size:14.5px;line-height:1.95;color:var(--sub)}
.cases2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cases2 .tx h3{font-family:var(--jp);font-weight:500;font-size:20px;letter-spacing:.1em;color:var(--taupe-d);margin:0 0 14px}
.cases2 .tx dl{display:grid;grid-template-columns:7em 1fr;gap:6px 14px;font-family:var(--jp);font-size:14.5px;margin:22px 0 0;border-top:1px solid var(--line);padding-top:18px}
.cases2 .tx dt{color:var(--mute)}
.cases2 .tx dd{margin:0}
.news{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);font-family:var(--jp);font-size:14px}
.news li{display:grid;grid-template-columns:8.5em 7em 1fr;gap:16px;padding:18px 4px;border-bottom:1px solid var(--line);align-items:baseline}
.news time{font-family:"Cormorant Garamond",serif;font-size:16px;color:var(--mute);letter-spacing:.06em}
.news .c{font-size:12.5px;border:1px solid var(--taupe-l);color:var(--taupe);text-align:center;padding:0 6px;letter-spacing:.08em}
.newbox{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.newbox a{background:#fff;padding:26px 24px 22px;display:flex;flex-direction:column;gap:8px;font-family:var(--jp)}
.newbox a:hover{background:var(--mist)}
.newbox .k{font-size:12.5px;color:var(--taupe);letter-spacing:.1em}
.newbox h3{font-weight:500;font-size:16px;letter-spacing:.06em;margin:0;line-height:1.7}
.newbox p{font-size:12.5px;color:var(--sub);margin:0;line-height:1.8;flex:1}
.newbox .p{font-family:"Cormorant Garamond",serif;font-size:22px;color:var(--ink);letter-spacing:.02em}
.newbox .p small{font-family:var(--jp);font-size:12.5px;color:var(--mute);margin-left:4px}
.nayami{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.nayami a{background:#fff;height:88px;display:grid;place-items:center;font-family:var(--jp);font-size:14.5px;letter-spacing:.14em}
.nayami a:hover{background:var(--mist);color:var(--taupe)}
.nayami a.none{grid-column:span 5;height:auto;padding:26px;background:var(--mist);text-align:center;line-height:1.9}
.nayami a.none small{display:block;font-size:12.5px;color:var(--sub);letter-spacing:.08em}
.num{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.num div{padding:30px 10px 26px;text-align:center;border-bottom:1px solid var(--line);font-family:var(--jp)}
.num div:nth-child(3n+2){border-left:1px solid var(--line);border-right:1px solid var(--line)}
.num b{display:block;font-family:"Cormorant Garamond",serif;font-weight:500;font-size:44px;line-height:1.2;color:var(--taupe-d);letter-spacing:.02em}
.num b small{font-family:var(--jp);font-size:14px;margin-left:4px}
.num span{font-size:14px;color:var(--sub);letter-spacing:.1em}
.num i{display:block;font-style:normal;font-size:12.5px;color:var(--mute);margin-top:4px}
.grp{display:grid;grid-template-columns:1fr;gap:40px;justify-items:center}
.grp svg{width:100%;max-width:960px;height:auto;overflow:visible}
.grp>div{max-width:40em}
.grp svg text{font-family:var(--jp);letter-spacing:.02em}
.grp ol{display:none;margin:0;padding-left:1.4em;font-family:var(--jp);font-size:14px;line-height:2.1}
.grp ol li::marker{font-family:"Cormorant Garamond",serif;color:var(--taupe)}
.grp ol small{color:var(--mute);font-size:12.5px;margin-left:6px}
.cta{position:relative;background:#000;color:#fff;overflow:hidden}
.cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.cta .in{position:relative;padding:120px 28px;text-align:center}
.cta h2{font-family:var(--jp);font-weight:500;font-size:28px;letter-spacing:.2em;margin:0 0 18px}
.cta p{font-family:var(--jp);font-size:14px;letter-spacing:.1em;opacity:.9}
.cta .btn{margin:22px 6px 0;min-width:220px;height:52px}
@media (max-width:960px){
  .prom{grid-template-columns:1fr}
  .prom li{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;gap:0 12px;padding:24px 4px}
  .prom li:last-child{border-bottom:0}
  .prom .n{grid-row:span 2}
  .prom h3{margin:0 0 4px}
  .flow{grid-template-columns:1fr 1fr}
  .flow li:nth-child(3){padding-left:0;border-left:0}
  .cases2,.grp{grid-template-columns:1fr;gap:36px}
  .newbox{grid-template-columns:1fr}
  .nayami{grid-template-columns:repeat(2,1fr)}
  .nayami a.none{grid-column:span 2}
  .num{grid-template-columns:1fr 1fr}
  .num div:nth-child(3n+2){border:0}
  .num div:nth-child(odd){border-right:1px solid var(--line)}
  .news li{grid-template-columns:1fr auto;gap:4px 12px}
  .news li span:last-child{grid-column:span 2}
  .hero .ph{left:20px;right:20px}
  .grp svg{display:none}
  .grp ol{display:block}
}
@media (max-width:640px){
  .flow{grid-template-columns:1fr}
  .flow li,.flow li+li{padding:24px 0 6px;border-left:0;border-top:1px solid var(--line)}
  .hero h1{letter-spacing:.12em}
}
.warn-w{padding-top:28px}
.mt{margin-top:28px}
.lead-b{margin-bottom:56px}
.op-12{transform:scale(1.9);transform-origin:52% 8%}
.op-20{object-position:50% 20%!important}
.note-c{margin-top:28px;text-align:center}
