/* ABOUT専用。共通部品・他ページのスタイルから独立させる。
 * 設定メモ：現役：ABOUTのみ。tokensのページ限定値を使用し、page-lead.cssが入口を後から上書きする。PCは1024px以上、compactは640px未満。見える余白は半leading補正済みで、Mission／副題baselineの動きはdesign-center-about.jsと連動。
 */
body.design-center-aboutusPage,
body.design-center-aboutusPage .common-main { color: var(--color-text); background: #fff; }
body.design-center-aboutusPage .common-breadcrumb { position: static; background: #fff; }
body.design-center-aboutusPage .common-breadcrumb_inner { max-width: none; }
body.design-center-aboutusPage .design-center-aboutusContent { padding: var(--dc-aboutus-content-padding, 150px 0 120px); font-family: var(--dc-aboutus-content-font-family, Roboto, "Noto Sans JP", sans-serif); }
body.design-center-aboutusPage .design-center-aboutusContent * { box-sizing: border-box; }
body.design-center-aboutusPage .design-center-aboutusContent [lang="en"] { font-family: var(--dc-aboutus-content-english-font-family, Roboto, sans-serif); }
body.design-center-aboutusPage .design-center-aboutusSrOnly { position: absolute; width: 1px; height: 1px; margin: -1px !important; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body.design-center-aboutusPage .design-center-aboutusContainer { width: var(--dc-aboutus-container-width, calc(100% - 64px)); max-width: var(--dc-aboutus-container-max-width, 814px); margin-inline: auto; }
body.design-center-aboutusPage .design-center-aboutusContent img { display: block; width: 100%; height: auto; }
/* 調整メモ：PC Missionの45px／行高72pxに対する半leadingは13.5px。文字サイズ・行高変更時はtokensのmission-leadingと本文開始余白を同時に再計算。 */
body.design-center-aboutusPage .design-center-aboutusMissionTitle { margin: 0; text-align: center; font: var(--dc-aboutus-mission-title-font, 400 40px/1.6 "Noto Serif JP", serif); letter-spacing: var(--dc-aboutus-mission-title-letter-spacing, .16em); }
body.design-center-aboutusPage .design-center-aboutusMissionCopy { margin: var(--dc-aboutus-mission-copy-margin, 72px auto 0); text-align: center; }
body.design-center-aboutusPage .design-center-aboutusMissionCopy p { margin: var(--dc-aboutus-mission-copy-p-margin, 0 0 48px); font-size: var(--dc-aboutus-mission-copy-p-font-size, 16px); line-height: var(--dc-aboutus-mission-copy-p-line-height, 2.5); letter-spacing: var(--dc-aboutus-mission-copy-p-letter-spacing, .08em); overflow-wrap: anywhere; }
body.design-center-aboutusPage .design-center-aboutusMissionCopy p:last-child { margin-bottom: 0; }
body.design-center-aboutusPage .design-center-aboutusAttitude { margin-top: var(--dc-aboutus-attitude-margin-top, 390px); }
body.design-center-aboutusPage .design-center-aboutusAttitudeHeader { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--dc-aboutus-attitude-header-gap, 24px); margin-top: var(--dc-aboutus-attitude-header-margin-top, 52px); }
body.design-center-aboutusPage .design-center-aboutusAttitudeTitle { margin: 0; font-size: var(--dc-aboutus-attitude-title-font-size, 56px); font-weight: var(--dc-aboutus-attitude-title-font-weight, 400); line-height: var(--dc-aboutus-attitude-title-line-height, 1.2); letter-spacing: var(--dc-aboutus-attitude-title-letter-spacing, .02em); }
body.design-center-aboutusPage .design-center-aboutusAttitudeSubtitle { margin: var(--dc-aboutus-attitude-subtitle-margin, 20px 0 0); font-size: var(--dc-aboutus-attitude-subtitle-font-size, 14px); line-height: var(--dc-aboutus-attitude-subtitle-line-height, 2); }
body.design-center-aboutusPage .design-center-aboutusSignature { margin: var(--dc-aboutus-signature-margin, 18px 0 0); font-size: var(--dc-aboutus-attitude-subtitle-font-size, 14px); line-height: var(--dc-aboutus-signature-line-height, 1.8); white-space: nowrap; }
body.design-center-aboutusPage .design-center-aboutusEssay { margin-top: var(--dc-aboutus-essay-margin-top, 168px); }
body.design-center-aboutusPage .design-center-aboutusEssayBlock :is(.design-center-aboutusHeadingIntro, .design-center-aboutusHeadingQuote) { position: relative; margin: var(--dc-aboutus-essay-block-h3-margin, 0 0 80px); padding-left: 0; font-size: var(--dc-aboutus-essay-block-h3-font-size, 18px); font-weight: var(--dc-aboutus-essay-block-h3-font-weight, 500); line-height: var(--dc-aboutus-essay-block-h3-line-height, 40px); letter-spacing: var(--dc-aboutus-essay-block-h3-letter-spacing, .04em); }
body.design-center-aboutusPage .design-center-aboutusEssay p { margin: var(--dc-aboutus-essay-p-margin, 0 0 35px); font-size: var(--dc-aboutus-essay-p-font-size, 16px); line-height: var(--dc-aboutus-essay-p-line-height, 2.1875); letter-spacing: var(--dc-aboutus-essay-p-letter-spacing, .04em); overflow-wrap: anywhere; }
body.design-center-aboutusPage .design-center-aboutusEssayBlock p:last-child { margin-bottom: 0; }
body.design-center-aboutusPage .design-center-aboutusPhoto { margin: var(--dc-aboutus-photo-margin, 87px 0 var(--dc-aboutus-photo-after-gap, 87px)); }
body.design-center-aboutusPage .design-center-aboutusPhoto:last-child { margin-bottom: 0; }
body.design-center-aboutusPage .design-center-aboutusAccess { width: var(--dc-aboutus-access-width, calc(100% - 64px)); max-width: var(--dc-aboutus-access-max-width, 814px); margin: var(--dc-aboutus-access-margin, var(--dc-major-section-gap, 200px) auto 0); }
body.design-center-aboutusPage .design-center-aboutusAccessTitle { margin: 0 0 var(--dc-aboutus-access-title-gap, 24px); color: var(--color-text); font: 300 var(--dc-aboutus-access-title-font-size, var(--typo-size-500, 40px))/1.2 Roboto, sans-serif; letter-spacing: .08em; font-kerning: normal; }
/* DOMは建物写真→京都→東京。PCでは所在地だけを2列にする。 */
body.design-center-aboutusPage .design-center-aboutusAccessGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--dc-aboutus-access-grid-column-gap, 0); align-items: start; margin-top: var(--dc-aboutus-access-grid-margin-top, 56px); }
body.design-center-aboutusPage .design-center-aboutusOffice { min-width: 0; padding-right: var(--dc-aboutus-office-padding-right, 24px); font-size: var(--dc-aboutus-office-font-size, 15px); line-height: var(--dc-aboutus-office-line-height, 1.7); }
body.design-center-aboutusPage .design-center-aboutusOffice h3 { margin: var(--dc-aboutus-office-h3-margin, 0 0 24px); font-size: var(--dc-aboutus-office-h3-font-size, 16px); font-weight: var(--dc-weight-bold, 700); line-height: var(--dc-aboutus-office-h3-line-height, 1.8); }
body.design-center-aboutusPage .design-center-aboutusOffice address { font-style: normal; }
body.design-center-aboutusPage .design-center-aboutusMap { display: inline-flex; align-items: center; min-height: var(--dc-aboutus-map-min-height, 44px); margin-top: var(--dc-aboutus-map-margin-top, 20px); text-decoration: underline; text-underline-offset: 3px; }
body.design-center-aboutusPage .design-center-aboutusTransport { margin-top: var(--dc-aboutus-transport-margin-top, 24px); }
body.design-center-aboutusPage .design-center-aboutusTransport h4 { margin: 0; font-size: inherit; font-weight: var(--dc-weight-regular, 400); line-height: inherit; }
body.design-center-aboutusPage .design-center-aboutusTransport ul { margin: 0; padding-left: var(--dc-aboutus-transport-padding-left, 1em); list-style: disc; }
body.design-center-aboutusPage .design-center-aboutusTransport li { margin: 0; padding: 0; }
body.design-center-aboutusPage .common-main a:focus-visible { outline: 3px solid #005bac !important; outline-offset: 3px; }
@media (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusAccessTitle { font-size: var(--dc-aboutus-access-title-font-size--tablet, 38px); }
  body.design-center-aboutusPage .design-center-aboutusContent { padding: var(--dc-aboutus-content-padding--tablet, 120px 0 120px); }
  body.design-center-aboutusPage .design-center-aboutusAttitude { margin-top: var(--dc-aboutus-attitude-margin-top--tablet, 180px); }
  body.design-center-aboutusPage .design-center-aboutusAttitudeHeader { flex-direction: column; gap: var(--dc-aboutus-attitude-header-gap, 24px); }
  body.design-center-aboutusPage .design-center-aboutusSignature { margin: 0; white-space: normal; }
  body.design-center-aboutusPage .design-center-aboutusEssay { margin-top: var(--dc-aboutus-essay-margin-top--tablet, 100px); }
  body.design-center-aboutusPage .design-center-aboutusEssayBlock :is(.design-center-aboutusHeadingIntro, .design-center-aboutusHeadingQuote) { margin-bottom: var(--dc-aboutus-essay-block-h3-margin-bottom, 48px); }
  body.design-center-aboutusPage .design-center-aboutusPhoto { margin-top: var(--dc-aboutus-photo-margin-block, 80px); margin-bottom: var(--dc-aboutus-photo-after-gap, 64px); }
  body.design-center-aboutusPage .design-center-aboutusAccess { margin-top: var(--dc-aboutus-access-margin-top, 160px); }
  body.design-center-aboutusPage .design-center-aboutusAccessGrid { grid-template-columns: minmax(0, 1fr); gap: var(--dc-aboutus-access-grid-gap, 48px); }
  body.design-center-aboutusPage .design-center-aboutusOffice { padding-right: 0; }
}
@media (max-width: 639px) {
  body.design-center-aboutusPage .design-center-aboutusAccessTitle { font-size: var(--dc-aboutus-access-title-font-size--compact, 32px); }
  body.design-center-aboutusPage .design-center-aboutusContent { padding: var(--dc-aboutus-content-padding--compact, 80px 0 100px); }
  body.design-center-aboutusPage .design-center-aboutusContainer,
  body.design-center-aboutusPage .design-center-aboutusAccess { width: var(--dc-aboutus-container-width--compact, calc(100% - 40px)); }
  body.design-center-aboutusPage .design-center-aboutusMissionTitle { font-size: var(--dc-aboutus-mission-title-font-size, clamp(22px, 6.15vw, 32px)); letter-spacing: var(--dc-aboutus-mission-title-letter-spacing--compact, .04em); }
  body.design-center-aboutusPage .design-center-aboutusMissionCopy { margin-top: var(--dc-aboutus-mission-copy-margin-top, 48px); }
  body.design-center-aboutusPage .design-center-aboutusMissionCopy p { margin-bottom: var(--dc-aboutus-mission-copy-p-margin-bottom, 36px); font-size: var(--dc-aboutus-mission-copy-p-font-size--compact, 15px); line-height: var(--dc-aboutus-mission-copy-p-line-height--compact, 2.2); letter-spacing: var(--dc-aboutus-mission-copy-p-letter-spacing--compact, .02em); }
  body.design-center-aboutusPage .design-center-aboutusAttitude { margin-top: var(--dc-aboutus-attitude-margin-top--compact, 100px); }
  body.design-center-aboutusPage .design-center-aboutusAttitudeHeader { margin-top: var(--dc-aboutus-attitude-header-margin-top--compact, 32px); }
  body.design-center-aboutusPage .design-center-aboutusAttitudeTitle { font-size: var(--dc-aboutus-attitude-title-font-size--compact, 40px); }
  body.design-center-aboutusPage .design-center-aboutusAttitudeSubtitle { margin-top: var(--dc-aboutus-attitude-subtitle-margin-top, 12px); }
  body.design-center-aboutusPage .design-center-aboutusSignature { font-size: var(--dc-aboutus-attitude-subtitle-font-size, 14px); }
  body.design-center-aboutusPage .design-center-aboutusEssay { margin-top: var(--dc-aboutus-essay-margin-top--compact, 72px); }
  body.design-center-aboutusPage .design-center-aboutusEssayBlock :is(.design-center-aboutusHeadingIntro, .design-center-aboutusHeadingQuote) { margin-bottom: var(--dc-aboutus-essay-block-h3-margin-bottom--compact, 32px); font-size: var(--dc-aboutus-essay-block-h3-font-size--compact, 17px); line-height: var(--dc-aboutus-essay-block-h3-line-height--compact, 2); letter-spacing: 0; }
  body.design-center-aboutusPage .design-center-aboutusEssay p { margin-bottom: var(--dc-aboutus-essay-p-margin-bottom, 32px); font-size: var(--dc-aboutus-essay-p-font-size--compact, 15px); line-height: var(--dc-aboutus-essay-p-line-height--compact, 2.2); letter-spacing: 0; }
  body.design-center-aboutusPage .design-center-aboutusEssayBlock p:last-child { margin-bottom: 0; }
  body.design-center-aboutusPage .design-center-aboutusEssay br { display: none; }
  body.design-center-aboutusPage .design-center-aboutusPhoto { margin-top: var(--dc-aboutus-photo-margin-block--compact, 56px); margin-bottom: var(--dc-aboutus-photo-after-gap, 64px); }
  body.design-center-aboutusPage .design-center-aboutusAccess { margin-top: var(--dc-aboutus-access-margin-top--compact, 100px); }
  body.design-center-aboutusPage .design-center-aboutusAccessGrid { margin-top: var(--dc-aboutus-access-grid-margin-top--compact, 36px); }
}

/* PC新参照は写真→引用の本字上端98px。rubyは本字の上へ出し、引用後margin0を保持する。 */
@media (min-width: 1024px) {
  body.design-center-aboutusPage .design-center-aboutusPhoto:has(+ .design-center-aboutusEssayBlock > .design-center-aboutusHeadingQuote) {
    margin-bottom: calc(98px - var(--dc-aboutus-essay-leading) + var(--dc-aboutus-quote-before-ink-correction));
  }
}

/* SPは独立した画素校正値で写真→ruby開始72px。引用後32/48pxは保持。 */
@media (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusPhoto:has(+ .design-center-aboutusEssayBlock > .design-center-aboutusHeadingQuote) {
    margin-bottom: calc(72px - var(--dc-aboutus-mobile-essay-leading) + var(--dc-aboutus-quote-before-ink-correction--mobile));
  }
}

/* PCの引用見出し。SPの既存サイズ・段落間隔は上のmedia規則を維持。 */
@media (min-width: 1024px) {
  body.design-center-aboutusPage .design-center-aboutusEssayBlock .design-center-aboutusHeadingQuote { margin-bottom: var(--dc-aboutus-quote-heading-margin-bottom, 0); }
}

/* PC画面の副題は自然幅・左揃え。baselineからの可視余白だけを実測補正する。 */
@media screen and (min-width: 1024px) {
  body.design-center-aboutusPage .design-center-aboutusBaseline { display: inline-block; width: 0; height: 0; padding: 0; margin: 0; border: 0; vertical-align: baseline; }
  body.design-center-aboutusPage .design-center-aboutusAttitudeHeader { align-items: baseline; }
  body.design-center-aboutusPage .design-center-aboutusSignature { margin: 0; }
  body.design-center-aboutusPage .design-center-aboutusAttitudeHeading { min-width: 0; max-width: 100%; }
  body.design-center-aboutusPage .design-center-aboutusAttitudeSubtitle { margin-top: var(--aboutus-subtitle-measured-margin, var(--dc-aboutus-attitude-subtitle-margin-top--screen, 24px)); text-align: left; text-align-last: auto; }
}

/* PC原寸参照の本文weightを明示し、corporateの交通li 16px/27.2pxをABOUT所在地へ流さない。 */
@media (min-width: 1024px) {
  body.design-center-aboutusPage .design-center-aboutusMissionCopy p,
  body.design-center-aboutusPage .design-center-aboutusEssay p,
  body.design-center-aboutusPage .design-center-aboutusOffice { font-weight: 400; }
  body.design-center-aboutusPage .design-center-aboutusTransport ul,
  body.design-center-aboutusPage .design-center-aboutusTransport li { font-size: inherit; line-height: inherit; font-weight: inherit; }
  /* この写真直後の本文だけ参照に黄50帯がない。段落/改行はHTMLのまま保持。 */
  body.design-center-aboutusPage .design-center-aboutusPhoto[src$="/aboutus-03.webp"] + .design-center-aboutusEssayBlock p { margin-bottom: 0; }
}

@media screen and (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusMissionCopy p:first-child { line-height: 35px; }
  body.design-center-aboutusPage .design-center-aboutusTransport ul,
  body.design-center-aboutusPage .design-center-aboutusTransport li { font-size: inherit; line-height: inherit; font-weight: inherit; }
}

/* 新SP本文14/30の字形校正。写真下の通常余白とruby専用余白は別管理。 */
@media screen and (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusPhoto { margin-top: calc(72px - var(--dc-aboutus-mobile-essay-leading) - var(--dc-aboutus-photo-top-ink-correction)); }
}

@media screen and (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusEssayBlock :is(.design-center-aboutusHeadingIntro, .design-center-aboutusHeadingQuote) { font-weight: 400; }
}

/* 指定された2箇所だけSP画面で改行。本文span・既存br・PC/printの行組みを保持。 */
body.design-center-aboutusPage .design-center-aboutusMissionCopy br.design-center-aboutusSpBreak { display: none; }
@media screen and (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusMissionCopy br.design-center-aboutusSpBreak { display: initial; }
}

/* aboutus-03直後の2段落間だけ1行分。前後両marginの加算を避ける。 */
body.design-center-aboutusPage .design-center-aboutusPhoto[src$="/aboutus-03.webp"] + .design-center-aboutusEssayBlock p:first-child { margin-bottom: 0; }
body.design-center-aboutusPage .design-center-aboutusPhoto[src$="/aboutus-03.webp"] + .design-center-aboutusEssayBlock p + p { margin-top: 35px; }
@media screen and (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusPhoto[src$="/aboutus-03.webp"] + .design-center-aboutusEssayBlock p + p { margin-top: 30px; }
}

/* 写真から直接本文へ入る現行Attitudeだけ、通常写真の下余白を共有する。
 * 旧header→essayの余白、写真前、引用ruby専用補正は変更しない。 */
body.design-center-aboutusPage .design-center-aboutusMv + .design-center-aboutusEssay { margin-top: var(--dc-aboutus-photo-after-gap, 87px); }
body.design-center-aboutusPage .design-center-aboutusEssay p.design-center-aboutusSignature { text-align: left; text-align-last: start; white-space: nowrap; }
body.design-center-aboutusPage .design-center-aboutusMore { display: flex; justify-content: flex-start; margin: 0; padding: 0; text-align: left; }

/* tabletの所在地はPCと同じ左右2列。文字と前後の縦余白は既存値を使う。 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  body.design-center-aboutusPage .design-center-aboutusAccessGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; row-gap: 0; }
  body.design-center-aboutusPage .design-center-aboutusOffice { padding-right: 24px; }
}
