/* ============================================================
   会社案内ページ 固有CSS — design-k（K案）踏襲
   cream × tangerine × sky / Zen Maru Gothic
   ============================================================ */

/* ============================================================
   私たちのこと
   ============================================================ */
.about{
  background:var(--paper);
  padding:clamp(60px, 9vw, 110px) 0 clamp(70px, 9vw, 110px);
}
.about-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(32px, 5vw, 72px);
  align-items:start;
  margin-top:clamp(36px, 5vw, 56px);
}
.about-copy p{
  margin-top:20px;
  color:var(--ink-soft);
}
.about-copy p:first-child{ margin-top:0; }
.about-copy strong{
  font-weight:900;
  color:var(--ink);
}
.about-copy .tlink{ margin-top:24px; }
.stat-grid{
  list-style:none;
  display:grid;
  gap:22px;
}
.stat{
  position:relative;
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:22px;
  padding:20px 26px 18px;
  text-align:center;
  box-shadow:0 4px 0 var(--ink);
  transform:rotate(var(--tilt, 0deg));
}
.stat-label{
  display:block;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--tan-deep);
}
.stat-num{
  display:block;
  margin-top:2px;
  font-size:clamp(1.9rem, 3.4vw, 2.5rem);
  font-weight:900;
  line-height:1.2;
  font-feature-settings:"tnum" 1;
}
.stat-num small{
  font-size:.5em;
  font-weight:900;
  margin-left:.15em;
}
.stat-sub{
  display:block;
  margin-top:4px;
  font-size:.82rem;
  color:var(--ink-soft);
}
.stat--sky .stat-label{ color:var(--sky-deep); }
.stat-hand{
  margin-top:6px;
  text-align:right;
  font-family:'Yomogi', cursive;
  font-size:1.02rem;
  color:var(--tan-deep);
  transform:rotate(-2deg);
}

/* ============================================================
   会社概要
   ============================================================ */
.profile{
  background:var(--cream);
  padding:clamp(60px, 9vw, 110px) 0 clamp(70px, 9vw, 110px);
}
.profile-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(32px, 5vw, 72px);
  align-items:start;
}
.profile-copy p{
  margin-top:20px;
  color:var(--ink-soft);
}
.company-panel{
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:24px;
  padding:clamp(24px, 3vw, 40px);
}
.company-dl{
  display:grid;
  grid-template-columns:118px 1fr;
}
.company-dl dt,
.company-dl dd{
  padding:14px 4px;
  border-top:1px solid var(--line);
  font-size:.92rem;
}
.company-dl dt{
  font-weight:900;
}
.company-dl dt:first-of-type,
.company-dl dd:first-of-type{ border-top:0; }
.company-dl a{
  color:var(--ink);
  font-weight:700;
  text-decoration:underline wavy var(--sky) 2px;
  text-underline-offset:6px;
  transition:color .3s;
}
.company-dl a:hover{ color:var(--sky-deep); }

/* ============================================================
   対応エリア
   ============================================================ */
.area{
  background:var(--sky-pale);
  padding:clamp(60px, 9vw, 110px) 0 clamp(70px, 9vw, 110px);
}
.area-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(32px, 5vw, 72px);
  align-items:start;
}
.area-copy p{
  margin-top:20px;
  color:var(--ink-soft);
}
.area-copy strong{
  font-weight:900;
  color:var(--ink);
}
.area-panel{
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:24px;
  padding:clamp(24px, 3vw, 36px);
}
.area-panel-label{
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.14em;
  color:var(--sky-deep);
}
.area-pills{
  margin-top:14px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
}
.area-pills li{
  font-size:.78rem;
  font-weight:700;
  border:1.5px solid var(--ink);
  border-radius:999px;
  padding:3px 14px;
  background:var(--cream);
}
.area-pills li.is-base{ background:var(--tan-pale); }
.area-note{
  margin-top:16px;
  font-size:.88rem;
  color:var(--ink-soft);
}

/* ============================================================
   responsive
   ============================================================ */
@media (max-width:1024px){
  .about-grid{ grid-template-columns:1fr; }
  .stat-grid{ grid-template-columns:repeat(3, 1fr); }
  .profile-grid{ grid-template-columns:1fr; }
  .area-grid{ grid-template-columns:1fr; }
}

@media (max-width:768px){
  .stat-grid{ grid-template-columns:1fr; }
}

@media (max-width:480px){
  .company-dl{ grid-template-columns:1fr; }
  .company-dl dt{ padding-bottom:0; }
  .company-dl dd{ border-top:0; padding-top:2px; }
}
