@charset "UTF-8";
/*
 * story.css — 努力と挑戦のストーリー（青基調・落ち着いたトーン）
 *   .kenki-catch*    キャッチコピー（CHALLENGE透かし + テキスト + 人物）
 *   .kenki-message*  メッセージ ／ .kenki-slogan* スローガンボックス
 *   .kenki-mystory* / .kenki-chapter*  章立て（01/02/03）
 *   .kenki-license*  取得国家資格（ダーク背景 + 人物 + カードグリッド）
 *   .kenki-vision*   将来の展望
 */

/* ============================ キャッチコピー ============================ */
.kenki-catch { padding: 150px 0 110px; background: #fff; position: relative; overflow: hidden; }
.kenki-catch::before { content: none; }
.kenki-catch .container { position: relative; z-index: 1; }
.kenki-catch__layout { display: grid; grid-template-columns: 1.35fr 1fr; gap: 60px; align-items: center; }
.kenki-catch__figure {
  position: relative; align-self: stretch;
  display: flex; align-items: flex-end; justify-content: center; min-height: 380px;
}
.kenki-catch__figure::before {
  content: ""; position: absolute; right: 0; bottom: 0; width: 86%; aspect-ratio: 1;
  background: rgba(2,125,197,.08); border-radius: 999px; z-index: 0;
}
.kenki-catch__figure img {
  position: relative; z-index: 1; width: 100%; max-width: 460px; height: auto;
  object-fit: contain; filter: drop-shadow(0 20px 36px rgba(1,58,96,.18));
}
.kenki-catch__main { font-size: clamp(28px, 3.6vw, 52px); font-weight: 900; line-height: 1.4; color: var(--blue-ink); letter-spacing: -.005em; margin-bottom: 36px; }
.kenki-catch__hl { color: var(--blue); }
.kenki-catch__pct { display: inline-block; position: relative; color: var(--blue); }
.kenki-catch__pct::after { content: ""; position: absolute; left: -4px; right: -4px; bottom: 4px; height: 10px; background: rgba(2,125,197,.15); z-index: -1; }
.kenki-catch__sub { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border-top: 1px solid var(--rule-strong); padding-top: 40px; margin-top: 40px; }
.kenki-catch__sub > div { padding: 0 40px; border-left: 1px solid var(--rule); }
.kenki-catch__sub > div:first-child { padding-left: 0; border-left: 0; }
.kenki-catch__label { font-family: var(--font-en); font-weight: 700; font-size: 11px; letter-spacing: .26em; color: var(--blue); margin-bottom: 14px; }
.kenki-catch__sub p { font-size: 16px; line-height: 1.95; color: var(--ink); }
@media (max-width: 880px) {
  .kenki-catch__layout { grid-template-columns: 1fr; gap: 40px; }
  .kenki-catch__figure { min-height: 320px; }
}
@media (max-width: 760px) {
  .kenki-catch__sub { grid-template-columns: 1fr; }
  .kenki-catch__sub > div { padding: 0; border-left: 0; border-top: 1px solid var(--rule); padding-top: 24px; margin-top: 24px; }
  .kenki-catch__sub > div:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
}

/* ============================ メッセージ ============================ */
.kenki-message { padding: 130px 0; background: var(--paper-soft); position: relative; overflow: hidden; }
.kenki-message__layout { display: grid; grid-template-columns: 380px 1fr; gap: 80px; align-items: start; }
.kenki-message__body { font-size: 17px; line-height: 2.2; color: var(--ink); }
.kenki-message__body strong { color: var(--blue); font-weight: 700; }
.kenki-slogan {
  margin-top: 80px; background: var(--blue-ink); color: #fff; padding: 48px 56px;
  display: flex; align-items: center; gap: 36px; position: relative; overflow: hidden;
}
.kenki-slogan::before { content: "\201D"; position: absolute; left: -10px; top: -80px; font-family: Georgia, serif; font-size: 360px; line-height: 1; color: rgba(255,255,255,.06); }
.kenki-slogan__en { font-family: var(--font-en); font-weight: 700; font-size: 13px; letter-spacing: .26em; color: var(--blue); flex: 0 0 auto; position: relative; }
.kenki-slogan__ja { font-size: clamp(22px, 2.4vw, 32px); font-weight: 700; line-height: 1.5; position: relative; }
@media (max-width: 960px) { .kenki-message__layout { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 760px) { .kenki-slogan { flex-direction: column; align-items: flex-start; padding: 32px 28px; } }

/* ============================ MY STORY（章立て） ============================ */
.kenki-mystory { padding: 150px 0 130px; background: #fff; }
.kenki-mystory .kenki-shead { margin-bottom: 64px; }
.kenki-mystory .kenki-shead__en { font-size: clamp(40px, 5vw, 72px); }
.kenki-chapter { display: grid; grid-template-columns: 180px 1fr; gap: 32px; padding: 56px 0; border-top: 1px solid var(--rule); }
.kenki-chapter:last-child { border-bottom: 1px solid var(--rule); }
.kenki-chapter__num { font-family: var(--font-en); font-weight: 800; font-size: clamp(60px, 5.4vw, 84px); line-height: 1; color: var(--blue); position: relative; padding-top: 8px; }
.kenki-chapter__num::after { content: ""; display: block; width: 32px; height: 2px; background: var(--blue-ink); margin-top: 14px; }
.kenki-chapter__eyebrow { font-family: var(--font-en); font-weight: 600; font-size: 11px; letter-spacing: .26em; color: var(--blue); margin-bottom: 14px; }
.kenki-chapter__title { font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; line-height: 1.5; color: var(--blue-ink); margin-bottom: 22px; }
.kenki-chapter p { font-size: 16px; line-height: 2.1; color: var(--ink); }
@media (max-width: 760px) { .kenki-chapter { grid-template-columns: 1fr; gap: 18px; padding: 40px 0; } }

/* ============================ 取得した主な国家資格 ============================ */
.kenki-license { padding: 130px 0; background: var(--blue-ink); color: #fff; position: relative; overflow: hidden; }
.kenki-license::before {
  content: "LICENSE"; position: absolute; right: -40px; top: 80px;
  font-family: var(--font-en); font-weight: 800; font-size: clamp(120px, 18vw, 260px);
  color: rgba(255,255,255,.06); line-height: 1; pointer-events: none; user-select: none;
}
.kenki-license .container { position: relative; z-index: 1; }
.kenki-license .kenki-shead { margin-bottom: 56px; }
.kenki-license__layout { display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: stretch; }
.kenki-license__portrait { position: relative; background: #BCB1A8; border: 1px solid rgba(255,255,255,.14); overflow: hidden; min-height: 480px; }
.kenki-license__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; display: block; }
.kenki-license__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 28px 24px; background: linear-gradient(180deg, transparent 0%, rgba(1,36,64,.85) 60%, rgba(1,36,64,.95) 100%); }
.kenki-license__pf-en { font-family: var(--font-en); font-weight: 700; font-size: 11px; letter-spacing: .26em; color: rgba(255,255,255,.7); display: block; margin-bottom: 8px; }
.kenki-license__pf-ja { font-size: clamp(16px, 1.6vw, 20px); font-weight: 700; line-height: 1.6; color: #fff; }
.kenki-license__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kenki-license__card {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); padding: 24px 22px;
  display: flex; flex-direction: column; justify-content: center; min-height: 96px;
  transition: background .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.kenki-license__card:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); transform: translateY(-3px); }
.kenki-license__card--flagship {
  grid-column: 1 / -1; background: var(--blue); border-color: var(--blue);
  flex-direction: row; align-items: center; justify-content: space-between; min-height: 110px; padding: 22px 28px;
}
.kenki-license__card--flagship .kenki-license__name { font-size: clamp(20px, 1.8vw, 26px); }
.kenki-license__rate { font-family: var(--font-en); font-weight: 700; font-size: 12px; letter-spacing: .14em; color: #fff; padding: 6px 12px; background: rgba(255,255,255,.16); border-radius: 999px; flex: 0 0 auto; }
.kenki-license__name { font-size: clamp(15px, 1.3vw, 18px); font-weight: 700; line-height: 1.5; }
@media (max-width: 960px) {
  .kenki-license__layout { grid-template-columns: 1fr; }
  .kenki-license__portrait { min-height: 360px; }
}
@media (max-width: 540px) {
  .kenki-license__grid { grid-template-columns: 1fr; }
  .kenki-license__card--flagship { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ============================ 将来の展望 ============================ */
.kenki-vision { padding: 150px 0 130px; background: #fff; position: relative; overflow: hidden; }
.kenki-vision__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.kenki-vision .kenki-shead { margin-bottom: 30px; }
.kenki-vision__body { font-size: 16px; line-height: 2.2; color: var(--ink); }
.kenki-vision__body strong { color: var(--blue); font-weight: 700; }
.kenki-vision__visual { position: relative; }
/* 背景あしらい（青の大きい円 + 黄のアクセント円） */
.kenki-vision__visual::before {
  content: ""; position: absolute; right: -30px; top: -30px; width: 72%; aspect-ratio: 1;
  background: rgba(2,125,197,.08); border-radius: 999px; z-index: 0; pointer-events: none;
}
.kenki-vision__visual::after {
  content: ""; position: absolute; left: -22px; bottom: -22px; width: 120px; height: 120px;
  background: rgba(242,224,25,.20); border-radius: 999px; z-index: 0; pointer-events: none;
}
/* 画像は見切れさせず全体表示 */
.kenki-vision__visual img { position: relative; z-index: 1; width: 100%; height: auto; object-fit: contain; display: block; border-radius: 12px; }
@media (max-width: 960px) { .kenki-vision__layout { grid-template-columns: 1fr; } }

/* スマホ：セクション余白を縮小 */
@media (max-width: 639px) {
  .kenki-catch { padding: 60px 0 50px; }
  .kenki-message { padding: 50px 0; }
  .kenki-mystory { padding: 60px 0 50px; }
  .kenki-license { padding: 60px 0; }
  .kenki-vision { padding: 60px 0 50px; }
  /* 将来の展望の画像を見切れさせず全体表示（比率固定を解除） */
  .kenki-vision__visual { aspect-ratio: auto; }
  .kenki-vision__visual img { height: auto; object-fit: contain; }
}
