/* ============ top page ============ */

/* hero */
.hero{position:relative;overflow:hidden}
.hero-photo{overflow:hidden}
.hero-photo img{
  width:100%;height:clamp(500px,80vh,780px);object-fit:cover;object-position:center 32%;
  animation:heroZoom 2.6s ease both;
}
@media(max-width:640px){
  .hero-photo img{height:clamp(440px,74vh,620px);object-position:62% 32%}
}
@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}

/* 可読性のための下部スクリム */
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(24,28,18,.52) 0%,rgba(24,28,18,.22) 26%,rgba(24,28,18,0) 52%);
}

.hero-overlay{
  position:absolute;left:0;right:0;bottom:clamp(30px,6.5vh,64px);z-index:2;
  color:#FDFDFB;
}
.hero-eyebrow{
  font-size:clamp(12px,1.7vw,15px);letter-spacing:.34em;
  color:rgba(253,253,251,.85);margin-bottom:1.4em;
}
.hero-catch-l{
  font-size:clamp(42px,7.6vw,80px);font-weight:800;letter-spacing:.16em;
  line-height:1.3;text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.hero-catch-s{
  font-size:clamp(16px,2.7vw,26px);font-weight:500;letter-spacing:.2em;
  line-height:2;margin:.8em 0 0;text-shadow:0 1px 12px rgba(0,0,0,.3);
}

/* 読み込み時のアニメーション */
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-eyebrow{animation:rise .7s ease .15s both}
.hero-catch-l{animation:rise .8s ease .3s both}
.hero-catch-s{animation:rise .8s ease .48s both}

.hibi-swoosh{
  position:absolute;right:clamp(16px,3vw,48px);bottom:clamp(24px,5vh,56px);z-index:2;
  width:clamp(150px,24vw,280px);
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.25));
  animation:rise 1s ease .6s both;
}

/* intro collage + 縦書き */
.intro{padding:clamp(72px,13vw,140px) 0 clamp(64px,11vw,120px)}
.intro-grid{display:flex;gap:clamp(20px,5vw,72px);align-items:flex-start;justify-content:space-between}
.intro-photos{flex:1;min-width:0}
.intro-photos figure:first-child{width:min(86%,440px)}
.intro-photos figure:last-child{width:min(78%,400px);margin:clamp(-56px,-4vw,-30px) 0 0 auto;position:relative;z-index:1}
.tate{
  writing-mode:vertical-rl;font-size:clamp(17px,2.8vw,24px);
  letter-spacing:.3em;line-height:2.5;font-weight:500;
  min-height:20em;flex:0 0 auto;
}
@media(max-width:640px){
  .intro-photos figure:last-child{margin-top:-20px}
  .tate{line-height:2.35;min-height:17em}
}

/* support statement */
.support{padding:clamp(64px,11vw,120px) 0}
.support-grid{display:flex;gap:clamp(24px,5vw,72px);align-items:flex-start;flex-wrap:wrap}
.support-copy{font-size:clamp(16px,2.4vw,21px);letter-spacing:.14em;line-height:2.6;flex:1 1 280px}
.support-photos{flex:1 1 340px;min-width:0}
.support-photos figure:first-child{width:min(88%,500px);margin-left:auto}
.support-photos figure:last-child{width:min(72%,400px);margin:clamp(-64px,-4.5vw,-32px) auto 0 0}

/* window full-bleed */
.window-photo img{width:100%;max-height:70vh;object-fit:cover}

/* about */
.sec-title{font-size:clamp(24px,4.6vw,34px);font-weight:700;letter-spacing:.18em;margin-bottom:1.4em}
.sec-body{font-size:clamp(15px,2.2vw,17px);line-height:2.4}
@media(max-width:760px){.pc{display:none}}

/* news */
.news-card{display:flex;gap:clamp(20px,4vw,48px);align-items:flex-start;flex-wrap:wrap}
.news-card figure{flex:1 1 300px;max-width:480px}
.news-body{flex:1 1 300px}
.news-body time{font-size:14px;letter-spacing:.14em;color:var(--sumi-usui)}
.news-body h3{font-size:clamp(18px,3vw,22px);font-weight:700;letter-spacing:.12em;margin:.5em 0 .9em}
.news-body p{font-size:15px;line-height:2.2}

/* 事業内容 zigzag */
.svc-row{
  display:flex;gap:clamp(22px,4.5vw,64px);align-items:center;flex-wrap:wrap;
  margin-bottom:clamp(56px,9vw,96px);
}
.svc-row:last-child{margin-bottom:0}
.svc-row figure{flex:1 1 300px;max-width:480px}
.svc-row .svc-text{flex:1 1 300px}
.svc-row.rev{flex-direction:row-reverse}
.svc-text h3{font-size:clamp(20px,3.4vw,26px);font-weight:700;letter-spacing:.14em;margin-bottom:.8em}
.svc-text p{font-size:15px;line-height:2.2;margin-bottom:1.6em}
@media(max-width:760px){
  .svc-row,.svc-row.rev{flex-direction:column;align-items:stretch}
  .svc-row figure{max-width:none}
}
