/* TTC DX TYPE-B / company.css */

.company-mission{padding:clamp(60px,9vw,120px) 0;background:var(--c-white);}
.mission__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.mission__body .en-display{color:var(--c-primary);}
.mission__title{font-size:clamp(24px,3vw,34px);color:var(--c-ink);margin:10px 0 18px;line-height:1.5;}
.mission__title .blue{color:var(--c-primary-2);}
.mission__sub{color:var(--c-primary);font-weight:700;font-size:14px;margin-bottom:22px;letter-spacing:.04em;}
.mission__body p{color:var(--c-ink-sub);font-size:14.5px;line-height:2;margin-top:14px;}
.mission__body p strong{color:var(--c-primary-2);}
.mission__media{border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-md);}
.mission__media img{width:100%;height:100%;object-fit:cover;}
@media(max-width:820px){.mission__grid{grid-template-columns:1fr;gap:32px;}}

.company-feature{background:var(--c-blue-soft);}
.feature__wrap{
  background:var(--c-white);border-radius:var(--radius-xl);
  padding:clamp(40px,6vw,72px);max-width:960px;margin:0 auto;
  text-align:center;
  border-top:4px solid var(--c-primary-2);
}
.feature__wrap .section__heading{
  justify-content:center;
}
.feature__wrap .section-label{justify-content:center;display:inline-flex;}
.feature__title{font-size:clamp(22px,3vw,32px);color:var(--c-ink);margin:10px 0 18px;line-height:1.5;}
.feature__title .blue{color:var(--c-primary-2);}
.feature__sub{color:var(--c-primary);font-weight:700;font-size:14px;margin-bottom:28px;letter-spacing:.04em;}
.feature__body{text-align:left;max-width:720px;margin:0 auto;}
.feature__body p{color:var(--c-ink-sub);font-size:14.5px;line-height:2;margin-top:12px;}
.feature__body p strong{color:var(--c-primary-2);}

.company-profile{background:var(--c-white);}
.profile__wrap{
  background:var(--c-blue-tint);border-radius:var(--radius-lg);
  padding:clamp(26px,4vw,48px);
}
.profile__table{display:flex;flex-direction:column;}
.profile__table dl{
  display:grid;grid-template-columns:220px 1fr;gap:24px;
  padding:20px 0;border-bottom:1px solid var(--c-line);
  align-items:flex-start;
}
.profile__table dl:last-child{border-bottom:none;}
.profile__table dt{
  font-weight:700;color:var(--c-primary);font-size:13.5px;letter-spacing:.04em;
  padding-left:14px;position:relative;
}
.profile__table dt::before{
  content:"";position:absolute;left:0;top:8px;width:4px;height:14px;
  background:var(--c-primary-2);border-radius:2px;
}
.profile__table dd{margin:0;color:var(--c-ink);font-size:14.5px;line-height:1.9;}
@media(max-width:820px){
  .profile__table dl{grid-template-columns:1fr;gap:6px;padding:16px 0;}
}

.company-history{background:var(--c-blue-soft);}
.history__list{position:relative;display:flex;flex-direction:column;gap:0;margin-top:20px;}
.history__list::before{
  content:"";position:absolute;left:120px;top:0;bottom:0;width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,var(--c-primary-3) 10%,var(--c-primary-3) 90%,transparent);
}
.history__item{
  position:relative;display:grid;grid-template-columns:120px 1fr;gap:40px;
  padding:24px 0;align-items:flex-start;
}
.history__item::before{
  content:"";position:absolute;left:120px;top:50%;
  transform:translate(-50%,-50%);
  width:18px;height:18px;border-radius:50%;background:var(--c-white);
  border:3px solid var(--c-primary-2);box-shadow:0 0 0 4px var(--c-blue-soft);
}
.history__year{
  font-family:'Outfit',sans-serif;font-weight:800;font-size:28px;color:var(--c-primary);
  letter-spacing:-.01em;line-height:1.1;padding-top:18px;
}
.history__year small{font-size:15px;font-weight:700;color:var(--c-primary-2);margin-left:2px;}
.history__body{
  background:var(--c-white);border-radius:var(--radius-md);padding:22px 26px;
  box-shadow:var(--shadow-sm);
}
.history__body p{color:var(--c-ink-sub);font-size:14px;line-height:1.9;}
@media(max-width:820px){
  .history__list::before{left:17px;}
  .history__item{grid-template-columns:1fr;gap:8px;padding:16px 0 16px 48px;}
  .history__item::before{left:17px;top:24px;}
  .history__year{padding-top:0;font-size:22px;}
}

.company-access{background:var(--c-white);}
.access__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;}
.access__info{
  background:var(--c-blue-tint);border-radius:var(--radius-lg);
  padding:32px 34px;
}
.access__sub{
  display:inline-block;background:var(--c-primary);color:var(--c-white);
  padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;
  margin-bottom:20px;
}
.access__info dl{
  display:grid;grid-template-columns:100px 1fr;gap:16px;
  padding:14px 0;border-bottom:1px dashed var(--c-line);
}
.access__info dl:last-of-type{border-bottom:none;}
.access__info dt{font-weight:700;color:var(--c-primary);font-size:13px;letter-spacing:.04em;}
.access__info dd{margin:0;color:var(--c-ink);font-size:14px;line-height:1.85;}
.access__note{margin-top:18px;color:var(--c-ink-sub);font-size:12.5px;}
.access__map{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);}
.access__map iframe{width:100%;height:100%;border:0;display:block;}
@media(max-width:820px){.access__grid{grid-template-columns:1fr;gap:24px;}}

/*------------------------------------
page-hero 背景画像（company ページ限定）
- company.css は header.php で is_page('company') の時のみ読み込まれるため、
  この上書きは当ページにのみ適用される（common.css の .page-hero::before を置換）。
- ※CSSファイルでは PHP（get_template_directory_uri 等）は使えないため、
  画像URLは company.css の位置（/assets/css/）からの相対パスで指定する。
  /assets/images/company/hero.jpg → ../images/company/hero.jpg
- 白いかぶせ（.page-hero::after）と文字（.page-hero > .container）は common.css 側のまま有効。
------------------------------------*/
.page-hero::before{
  background-image:
    url("../images/company/hero.webp"),
    linear-gradient(135deg,var(--c-placeholder-1),var(--c-placeholder-2));
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
