/* ============================================================
   home.css — トップページ専用 (front-page.php)
   ============================================================ */

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  padding:120px 0 80px;
  border-bottom:1px solid var(--line);
}
.hero-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:80px;align-items:center;
  width:100%;
}
.hero-left{position:relative}
.hero-number{
  font-family:"Inter",sans-serif;
  font-size:14px;font-weight:600;
  letter-spacing:.4em;
  color:var(--copper);
  margin-bottom:32px;
  display:flex;align-items:center;gap:16px;
}
.hero-number::before{
  content:"";width:60px;height:1px;background:var(--copper);
}
.hero-title{
  font-family:"Shippori Mincho",serif;
  font-size:clamp(48px,7vw,88px);
  font-weight:600;line-height:1.2;
  letter-spacing:.02em;
  margin-bottom:40px;
  color:var(--sumi);
}
.hero-title .accent{color:var(--copper);position:relative}
.hero-title .accent::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;
  height:1px;background:var(--copper);
}
.hero-sub{
  font-family:"Shippori Mincho",serif;
  font-size:16px;color:var(--ink);
  max-width:520px;margin-bottom:48px;
  line-height:2;
}
.hero-cta{display:flex;gap:20px;flex-wrap:wrap}

.hero-right{position:relative}
.hero-img{
  height:560px;
  position:relative;
}
.hero-img-frame{
  position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;
  border:1px solid var(--sumi);
  z-index:0;
}
.hero-img .img-ph{
  position:relative;z-index:1;height:100%;
}
.hero-vertical{
  position:absolute;
  right:-50px;top:50%;
  transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  font-family:"Shippori Mincho",serif;
  font-size:13px;letter-spacing:.5em;
  color:var(--text-mute);
}

/* ============ About Preview ============ */
.about-section{
  background:var(--paper-2);
  position:relative;
}
.about-grid{
  display:grid;grid-template-columns:1fr 1.2fr;gap:80px;
  align-items:center;
}
.about-img-wrap{position:relative}
.about-img{height:520px}
.about-img-num{
  position:absolute;top:-30px;left:-30px;
  font-family:"Inter",sans-serif;
  font-size:120px;font-weight:900;
  color:var(--sumi);
  opacity:.08;line-height:1;
}
.about-text h3{
  font-family:"Shippori Mincho",serif;
  font-size:32px;font-weight:600;
  line-height:1.6;letter-spacing:.05em;
  margin-bottom:32px;color:var(--sumi);
}
.about-text p{
  font-family:"Shippori Mincho",serif;
  color:var(--ink);margin-bottom:20px;
  font-size:15px;line-height:2;
}

/* ============ Business Cards ============ */
.business-section{
  background:var(--sumi);
  color:var(--paper);
  position:relative;
}
.business-section .section-title{color:var(--paper)}
.business-section .section-num{color:var(--gold-light)}
.business-section .section-num::before{background:var(--gold-light)}

.business-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid rgba(244,241,234,.15);
  border-left:1px solid rgba(244,241,234,.15);
}
.business-card{
  border-right:1px solid rgba(244,241,234,.15);
  border-bottom:1px solid rgba(244,241,234,.15);
  padding:50px 40px;
  cursor:pointer;
  transition:background .35s;
  position:relative;
  display:block;
}
.business-card:hover{background:rgba(160,74,42,.12)}
.business-card-num{
  font-family:"Inter",sans-serif;
  font-size:64px;font-weight:300;
  color:var(--gold);
  line-height:1;margin-bottom:32px;
  letter-spacing:-.02em;
}
.business-card-en{
  font-family:"Inter",sans-serif;
  font-size:10px;font-weight:700;letter-spacing:.3em;
  color:var(--gold-light);margin-bottom:12px;
}
.business-card h4{
  font-family:"Shippori Mincho",serif;
  font-size:22px;font-weight:600;
  margin-bottom:20px;letter-spacing:.05em;
  color:var(--paper);
}
.business-card .img-ph{
  height:180px;margin-bottom:24px;
  background:rgba(244,241,234,.06);
  border:1px solid rgba(244,241,234,.1);
}
.business-card .img-ph::after{border-color:rgba(244,241,234,.15)}
.business-card .img-ph span{
  background:rgba(244,241,234,.1);
  color:var(--paper-3);
}
.business-card p{
  font-family:"Shippori Mincho",serif;
  font-size:14px;color:rgba(244,241,234,.7);
  margin-bottom:24px;line-height:1.9;
}
.card-more{
  font-family:"Inter",sans-serif;
  font-size:10px;font-weight:700;letter-spacing:.3em;
  color:var(--gold-light);
  border-bottom:1px solid var(--gold);
  padding-bottom:4px;
  display:inline-flex;align-items:center;gap:8px;
}

/* ============ CTA Block ============ */
.cta-section{
  background:var(--paper-2);
  padding:0;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.cta-block{
  display:grid;grid-template-columns:1fr 1fr;
}
.cta-box{
  padding:80px 50px;text-align:center;
  position:relative;cursor:pointer;
  transition:background .3s;
  display:block;
}
.cta-box:first-child{border-right:1px solid var(--line)}
.cta-box:hover{background:var(--paper-3)}
.cta-num{
  font-family:"Inter",sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.3em;
  color:var(--copper);margin-bottom:16px;
}
.cta-box h3{
  font-family:"Shippori Mincho",serif;
  font-size:42px;font-weight:600;
  margin-bottom:16px;letter-spacing:.1em;
  color:var(--sumi);
}
.cta-box p{
  font-family:"Shippori Mincho",serif;
  font-size:14px;color:var(--ink);
  margin-bottom:32px;line-height:1.9;
}
