@charset "UTF-8";
/* aboutページ 2026-10-11 改修（社是・経営理念・クレド・お約束10か条・CI） */
.aboutV2 {
  --ab-blue: #13a7e8;
  --ab-sky: #34bdf0;
  --ab-navy: #1f3b87;
  --ab-pale: #d8f1fb;
  --ab-line: #d9d9d9;
  color: #222;
}
html { scroll-behavior: smooth; }
.aboutV2 [id] { scroll-margin-top: 130px; }
.aboutV2 .ab-fig { width: 100%; height: auto; font-family: inherit; }

/* intro */
.aboutV2 .ab-intro > *, .aboutV2 .ab-philosophy > * { min-width: 0; }
.aboutV2 .ab-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.aboutV2 .ab-catch { margin: 0 0 28px; font-size: 4.4rem; font-weight: 900; line-height: 1.4; color: var(--ab-navy); }
.aboutV2 .ab-statement { margin: 0 0 26px; font-weight: bold; font-size: 1.5rem; line-height: 2.2; }
.aboutV2 .ab-intro-text > p:last-child { font-size: 1.5rem; line-height: 2; }

/* anchor */
.aboutV2 .ab-anchor { margin-top: 70px; }
.aboutV2 .ab-anchor ul { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1.45fr; gap: 14px; margin: 0; padding: 0; }
.aboutV2 .ab-anchor a { position: relative; display: flex; align-items: center; justify-content: center; height: 54px; padding: 0 30px 0 16px; border: 1px solid var(--ab-line); border-radius: 40px; background: #fff; font-size: 1.4rem; font-weight: bold; color: var(--ab-navy); white-space: nowrap; }
.aboutV2 .ab-anchor li:nth-child(5) a { padding-right: 40px; }
.aboutV2 .ab-anchor a::before { content: ""; position: absolute; left: -6px; top: calc(50% - 6px); width: 12px; height: 12px; border-radius: 50%; background: var(--ab-sky); opacity: .6; }
.aboutV2 .ab-anchor a::after { content: ""; position: absolute; right: 18px; top: calc(50% - 6px); width: 7px; height: 7px; border-right: 2px solid var(--ab-sky); border-bottom: 2px solid var(--ab-sky); transform: rotate(45deg); }
.aboutV2 .ab-anchor a:hover { background: #f4fbfe; }

/* section */
.aboutV2 .ab-sec { margin-top: 110px; }
.aboutV2 .ab-sec-first { margin-top: 90px; }
.aboutV2 .ab-h2 { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; margin: 0 0 30px; padding-bottom: 12px; border-bottom: 2px solid var(--ab-blue); }
.aboutV2 .ab-h2-ja { font-size: 2.8rem; font-weight: bold; }
.aboutV2 .ab-h2-en { font-family: var(--fe); font-size: 1.4rem; letter-spacing: .1em; color: var(--ab-blue); }

/* 社是 */
.aboutV2 .ab-creed { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0; padding: 0; }
.aboutV2 .ab-creed li { list-style: none; padding: 26px 24px; border: 1px solid var(--ab-line); border-radius: 16px; font-size: 1.5rem; font-weight: bold; line-height: 1.9; }
.aboutV2 .ab-creed li span { display: block; margin-bottom: 6px; font-size: 2.8rem; font-style: italic; font-weight: 900; line-height: 1; color: var(--ab-sky); }

/* 経営理念 */
.aboutV2 .ab-philosophy { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.aboutV2 .ab-philosophy-fig figcaption { margin-top: 1em; font-size: 1.3rem; color: #555; text-align: center; }
.aboutV2 .ab-philosophy-text { font-size: 1.9rem; font-weight: bold; line-height: 2.1; }

/* クレド */
.aboutV2 .ab-credo-lead { margin: 0 0 24px; font-size: 1.5rem; font-weight: bold; }
.aboutV2 .ab-acc { border-bottom: 1px solid var(--ab-line); }
.aboutV2 .ab-credo-lead + .ab-acc { border-top: 1px solid var(--ab-line); }
.aboutV2 .ab-acc summary { display: flex; align-items: center; gap: 24px; padding: 22px 10px; font-size: 1.8rem; font-weight: bold; list-style: none; cursor: pointer; }
.aboutV2 .ab-acc summary::-webkit-details-marker { display: none; }
.aboutV2 .ab-acc-num { width: 30px; font-size: 3.4rem; font-style: italic; font-weight: 900; line-height: 1; text-align: center; color: var(--ab-sky); }
.aboutV2 .ab-acc-title { flex: 1; line-height: 1.6; }
.aboutV2 .ab-acc-icon { position: relative; flex-shrink: 0; width: 28px; height: 28px; border: 1px solid var(--ab-blue); border-radius: 50%; }
.aboutV2 .ab-acc-icon::before,
.aboutV2 .ab-acc-icon::after { content: ""; position: absolute; left: 8px; right: 8px; top: 12px; height: 2px; background: var(--ab-blue); transition: transform .3s; }
.aboutV2 .ab-acc-icon::after { transform: rotate(90deg); }
.aboutV2 .ab-acc[open] .ab-acc-icon::after { transform: rotate(0); }
.aboutV2 .ab-acc-text { margin: 0; padding: 0 60px 24px 64px; font-size: 1.5rem; color: #444; }

/* お約束10か条 */
.aboutV2 .ab-promise { margin-top: 110px; padding: 70px 40px 60px; border-radius: 50px; background: var(--ab-pale); }
.aboutV2 .ab-promise-title { margin: 0 0 50px; text-align: center; color: var(--ab-navy); }
.aboutV2 .ab-promise-title small { display: block; margin-bottom: 10px; font-size: 1.5rem; font-weight: bold; line-height: 1.4; }
.aboutV2 .ab-promise-title strong { display: block; font-size: 4rem; font-weight: 900; line-height: 1.2; }
.aboutV2 .ab-promise-title em { margin: 0 4px; font-size: 5.6rem; font-style: italic; font-weight: 900; color: var(--ab-sky); }
.aboutV2 .ab-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 34px 18px; margin: 0; padding: 0; }
.aboutV2 .ab-card { position: relative; min-height: 280px; padding: 30px 16px 64px; list-style: none; border: 2px solid var(--ab-navy); border-radius: 14px; background: #fff; }
.aboutV2 .ab-card-num { position: absolute; top: -26px; right: 12px; font-size: 4.4rem; font-style: italic; font-weight: 900; line-height: 1; color: var(--ab-sky); text-shadow: 3px 0 var(--ab-pale), -3px 0 var(--ab-pale), 0 3px var(--ab-pale), 0 -3px var(--ab-pale); }
.aboutV2 .ab-card-kicker { margin: 0; font-size: 1.2rem; font-weight: bold; line-height: 1.5; color: var(--ab-navy); }
.aboutV2 .ab-card-title { margin: 2px 0 12px; font-size: 1.5rem; font-weight: bold; letter-spacing: -.03em; line-height: 1.4; white-space: nowrap; color: var(--ab-navy); }
.aboutV2 .ab-card-text { margin: 0; font-size: 1.3rem; line-height: 1.8; }
.aboutV2 img.ab-card-icon { position: absolute; right: 14px; bottom: 14px; width: auto; height: 40px; }
.aboutV2 .ab-promise-foot { margin: 44px 0 0; font-size: 1.5rem; font-weight: bold; text-align: center; color: var(--ab-navy); }

/* CI */
.aboutV2 .ab-ci { display: grid; grid-template-columns: 300px 1fr; gap: 56px; align-items: center; }
.aboutV2 .ab-ci-logo { display: flex; justify-content: center; padding: 48px 28px; border: 1px solid var(--ab-line); border-radius: 20px; }
.aboutV2 .ab-ci-logo img { width: 100%; max-width: 200px; height: auto; }
.aboutV2 .ab-ci-text h3 { margin: 0 0 8px; padding-left: 14px; border-left: 4px solid var(--ab-sky); font-size: 1.8rem; font-weight: bold; line-height: 1.4; color: var(--ab-navy); }
.aboutV2 .ab-ci-text p { margin: 0 0 28px; font-size: 1.5rem; line-height: 2; }
.aboutV2 .ab-ci-text p + h3 { margin-top: 0; }

/* tablet */
@media (min-width: 768px) and (max-width: 1099px) {
  .aboutV2 .ab-cards { grid-template-columns: repeat(3, 1fr); }
  .aboutV2 .ab-anchor ul { grid-template-columns: repeat(3, 1fr); }
}

/* sp */
@media (max-width: 767px) {
  .aboutV2 .ab-intro,
  .aboutV2 .ab-philosophy { grid-template-columns: 1fr; gap: 30px; }
  .aboutV2 .title-l { min-width: 0; }
  .aboutV2 .title-l-ja { font-size: 2.6rem; }
  .aboutV2 .ab-catch { font-size: 3rem; }
  .aboutV2 .ab-statement { font-size: 1.3rem; letter-spacing: -.02em; }
  .aboutV2 .ab-anchor { margin-top: 50px; }
  .aboutV2 .ab-anchor ul { grid-template-columns: 1fr 1fr; gap: 10px 12px; }
  .aboutV2 .ab-anchor li:nth-child(5) { grid-column: 1 / -1; }
  .aboutV2 .ab-anchor a { height: 46px; font-size: 1.3rem; }
  .aboutV2 .ab-sec, .aboutV2 .ab-promise { margin-top: 80px; }
  .aboutV2 .ab-sec-first { margin-top: 70px; }
  .aboutV2 .ab-h2-ja { font-size: 2.2rem; }
  .aboutV2 .ab-creed { grid-template-columns: 1fr; }
  .aboutV2 .ab-philosophy-text { font-size: 1.45rem; letter-spacing: -.02em; }
  .aboutV2 .ab-acc summary { gap: 14px; font-size: 1.5rem; }
  .aboutV2 .ab-acc-num { font-size: 2.6rem; }
  .aboutV2 .ab-acc-text { padding: 0 10px 20px 54px; font-size: 1.4rem; }
  .aboutV2 .ab-promise { padding: 50px 14px 40px; border-radius: 30px; }
  .aboutV2 .ab-promise-title strong { font-size: 3rem; }
  .aboutV2 .ab-promise-title em { font-size: 4.2rem; }
  .aboutV2 .ab-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 12px; }
  .aboutV2 .ab-card { min-height: 260px; padding: 26px 10px 66px; }
  .aboutV2 .ab-card-kicker { font-size: 1.05rem; letter-spacing: -.04em; white-space: nowrap; }
  .aboutV2 .ab-card-num { font-size: 3.6rem; }
  .aboutV2 .ab-card-title { font-size: 1.25rem; letter-spacing: -.06em; }
  .aboutV2 .ab-card-text { font-size: 1.2rem; }
  .aboutV2 .ab-ci { grid-template-columns: 1fr; gap: 28px; }
  .aboutV2 .ab-ci-logo { max-width: 260px; margin: 0 auto; }
}
@media (max-width: 374px) {
  .aboutV2 .ab-promise { padding-left: 8px; padding-right: 8px; }
  .aboutV2 .ab-card-kicker,
  .aboutV2 .ab-card-title { white-space: normal; }
}
