@charset "UTF-8";

/*!
Theme Name: Ig Knowledge Cocoon Child
Theme URI: https://igknowledge-psycho.com/
Description: Ig Knowledge用のCocoon Child Theme
Author: Ig Knowledge
Author URI: https://igknowledge-psycho.com/
Template: cocoon-master
Version: 0.3.3
Text Domain: ig-cocoon-child
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
:root {
  --ig-focus-color: #005fcc;
  --ig-content-measure: 72rem;
}

/* Keep existing Cocoon content and URLs intact while improving reading flow. */
html {
  scroll-behavior: smooth;
}

body {
  overflow-wrap: anywhere;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ig-focus-color);
  outline-offset: 3px;
}

:where(.entry-content, .article-body, .main, .sidebar) :where(pre, code) {
  overflow-wrap: anywhere;
}

:where(.entry-content, .article-body) pre,
:where(.entry-content, .article-body) table {
  max-width: 100%;
  overflow-x: auto;
}

:where(.entry-content, .article-body) h2,
:where(.entry-content, .article-body) h3,
:where(.entry-content, .article-body) h4 {
  scroll-margin-top: 5rem;
}

/* Keep long article columns comfortable without changing their content. */
:where(.entry-content, .article-body) {
  max-width: var(--ig-content-measure);
  line-height: 1.85;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  :where(.content-in, .header-in) {
    box-sizing: border-box;
    width: 100%;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  :where(.content-in, .header-in) {
    padding-inline: 1rem;
  }

  /* Preserve the existing navigation links while making a long menu usable. */
  #navi .navi-in {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #navi .navi-in > ul {
    min-width: max-content;
  }

  :where(.navi-menu-button, .mobile-menu-buttons .menu-button, .header-menu-button) {
    min-width: 44px;
    min-height: 44px;
  }

  :where(.entry-content, .article-body) {
    line-height: 1.8;
  }

  :where(.entry-content, .article-body) table {
    display: block;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  :where(.content-in, .header-in) {
    padding-inline: 0.75rem;
  }

  :where(input[type="search"], input[type="text"], input[type="email"], textarea, select, button, .button) {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Phase B: expose existing routes as an intent-led information architecture. */
.ig-knowledge-hub,
.ig-knowledge-expertise,
.ig-knowledge-related {
  margin: 2rem 0;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid #d8e3e8;
  border-radius: 0.75rem;
  background: #f7fafb;
}

.ig-knowledge-hub__intro {
  max-width: 48rem;
}

.ig-knowledge-hub__intro h2,
.ig-knowledge-expertise h2,
.ig-knowledge-related h2 {
  margin-top: 0;
}

.ig-knowledge-hub__eyebrow {
  margin: 0 0 0.35rem;
  color: #365c6b;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.ig-knowledge-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 0.75rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.ig-knowledge-hub__item a {
  display: flex;
  height: 100%;
  box-sizing: border-box;
  flex-direction: column;
  gap: 0.3rem;
  padding: 1rem;
  border: 1px solid #c9d9df;
  border-radius: 0.5rem;
  background: #fff;
  text-decoration: none;
}

.ig-knowledge-hub__item a:hover {
  border-color: #365c6b;
}

.ig-knowledge-hub__label {
  color: #173b4a;
  font-weight: 700;
}

.ig-knowledge-hub__description {
  color: #40545c;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.ig-knowledge-related ul {
  margin-bottom: 0;
}

@media screen and (max-width: 480px) {
  .ig-knowledge-hub,
  .ig-knowledge-expertise,
  .ig-knowledge-related {
    margin-block: 1.5rem;
    padding: 1rem;
  }

  .ig-knowledge-hub__grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   DS2.6C1 — Ig Knowledge Home brand intro candidate
   ========================================================= */
.ig-ds2-home-intro{--ig-ds2-navy:#214e68;--ig-ds2-cyan:#35b8cf;--ig-ds2-pale:#dff5fb;--ig-ds2-muted:#55747f;--ig-ds2-coral:#e7a08e;color:var(--ig-ds2-navy);background:#fff}
.ig-ds2-home-intro,.ig-ds2-home-intro *{box-sizing:border-box}
.ig-ds2-home-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.ig-ds2-home-hero{position:relative;min-height:660px;overflow:hidden;background:radial-gradient(circle at 72% 46%,rgba(255,255,255,.98) 0 22%,rgba(255,255,255,.75) 22.3% 34%,transparent 34.4%),linear-gradient(145deg,#dff5fb 0%,#cceef7 48%,#e9f8fb 100%)}
.ig-ds2-home-hero::after{content:"";position:absolute;left:-3%;right:-3%;bottom:-8px;height:44%;background:var(--ig-ds2-wave) center bottom/cover no-repeat;opacity:.92;pointer-events:none}
.ig-ds2-home-hero::before{content:"";position:absolute;width:14px;height:14px;top:17%;right:16%;border-radius:50%;background:var(--ig-ds2-cyan);box-shadow:-560px 110px 0 -3px var(--ig-ds2-cyan),80px 210px 0 -4px var(--ig-ds2-navy)}
.ig-ds2-home-hero>.ig-ds2-home-wrap{position:relative;z-index:2;min-height:660px;display:flex;align-items:center}
.ig-ds2-home-hero-copy{width:min(610px,61%);padding:70px 0 170px}
.ig-ds2-home-label{display:inline-flex;margin:0;padding:10px 18px;border-radius:999px;background:var(--ig-ds2-cyan);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.06em;line-height:1.5}
.ig-ds2-home-title{margin:24px 0 0;color:var(--ig-ds2-navy);font-size:clamp(3.2rem,7vw,5.25rem);font-weight:800;line-height:1.03;letter-spacing:-.035em}
.ig-ds2-home-tagline{margin:18px 0 0;color:#286a7e;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:700;line-height:1.8}
.ig-ds2-home-lead{max-width:580px;margin:18px 0 0;color:#4e7380;font-size:1rem;line-height:1.95}
.ig-ds2-home-about{padding:clamp(56px,7vw,86px) 0}
.ig-ds2-home-about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(28px,5vw,56px);align-items:center}
.ig-ds2-home-about-media{margin:0;overflow:hidden;border-radius:22px}
.ig-ds2-home-about-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ig-ds2-home-about-copy{padding:clamp(26px,4vw,40px);border:1px solid #cfeaf1;border-radius:22px;background:#effafd}
.ig-ds2-home-kicker{margin:0;color:#2aaec4;font-size:.78rem;font-weight:900;letter-spacing:.1em}
.ig-ds2-home-about-copy h2{margin:8px 0 16px;color:var(--ig-ds2-navy);font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.4}
.ig-ds2-home-about-copy>p:last-child{margin:0;color:var(--ig-ds2-muted);font-size:1rem;line-height:2}
@media(max-width:760px){.ig-ds2-home-wrap{width:min(100% - 28px,1180px)}.ig-ds2-home-hero{min-height:650px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.95) 0 24%,rgba(255,255,255,.62) 24.5% 38%,transparent 38.5%),linear-gradient(145deg,#dff5fb,#cfeff7 60%,#effbfc)}.ig-ds2-home-hero>.ig-ds2-home-wrap{min-height:650px;align-items:flex-end}.ig-ds2-home-hero-copy{width:100%;padding:60px 0 180px}.ig-ds2-home-about-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ig-ds2-home-intro *,.ig-ds2-home-intro *::before,.ig-ds2-home-intro *::after{scroll-behavior:auto!important;transition:none!important}}


/* DS2.6C2B-R1 — Ig Knowledge four-topic Focus cards */
.home .ig-ds2-focus{margin:clamp(26px,4vw,42px) 0 30px}
.home .ig-ds2-focus__intro{max-width:760px;margin-bottom:22px}
.home .ig-ds2-focus__eyebrow{margin:0 0 6px;color:#28aec3;font-size:.78rem;font-weight:900;letter-spacing:.12em}
.home .ig-ds2-focus__intro h3{margin:0 0 10px;color:#214e68;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.4}
.home .ig-ds2-focus__intro>p:last-child{margin:0;color:#5b7782;line-height:1.9}
.home .ig-ds2-focus-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home .ig-ds2-focus-card{min-width:0;overflow:hidden;padding:16px 16px 20px;border:1px solid #cfe9f0;border-radius:20px;background:linear-gradient(180deg,rgba(223,245,251,.55),rgba(255,255,255,.97) 52%);box-shadow:0 10px 30px rgba(33,78,104,.06)}
.home .ig-ds2-focus-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;border-radius:14px}
.home .ig-ds2-focus-card h4{margin:13px 0 7px;color:#214e68;font-size:1rem;line-height:1.55}
.home .ig-ds2-focus-card p{margin:0;color:#607c87;font-size:.9rem;line-height:1.8}
.home .ig-knowledge-hub__grid{margin-top:24px}
.home .ig-knowledge-hub__item:focus-visible{outline:3px solid #35b8cf;outline-offset:3px}
@media(max-width:980px){.home .ig-ds2-focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home .ig-ds2-focus-grid{grid-template-columns:1fr}.home .ig-ds2-focus-card{display:grid;grid-template-columns:116px 1fr;column-gap:14px;align-items:center}.home .ig-ds2-focus-card img{grid-row:1/span 2}.home .ig-ds2-focus-card h4{margin-top:0}}
@media(prefers-reduced-motion:reduce){.home .ig-ds2-focus-card,.home .ig-knowledge-hub__item{transition:none!important;transform:none!important}}

/* WO-IG-HOME-HERO-001 — approved hero layout correction */
.ig-ds2-home-title{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	max-width:100%;
}
.ig-ds2-home-title-line{
	display:block;
	max-width:100%;
}
.ig-ds2-home-title-word{
	white-space:nowrap;
	font-size:.88em;
	letter-spacing:-.045em;
}
.ig-ds2-home-hero-copy{
	width:min(680px,68%);
	padding-bottom:250px;
}
.ig-ds2-home-hero::after{
	height:34%;
}
@media (max-width:1000px){
	.ig-ds2-home-hero-copy{
		width:min(650px,72%);
		padding-bottom:235px;
	}
	.ig-ds2-home-title-word{
		font-size:.82em;
	}
}
@media (max-width:760px){
	.ig-ds2-home-hero-copy{
		width:100%;
		padding:60px 0 220px;
	}
	.ig-ds2-home-title-word{
		white-space:nowrap;
		font-size:.72em;
		letter-spacing:-.055em;
	}
	.ig-ds2-home-hero::after{
		height:29%;
	}
}
@media (max-width:420px){
	.ig-ds2-home-title-word{
		font-size:.66em;
	}
	.ig-ds2-home-hero-copy{
		padding-bottom:205px;
	}
}

/* === IG_RESEARCH_DESIGN_V1_START === */
.ig-research-article {
  --ig-research-line: color-mix(in srgb, currentColor 16%, transparent);
  --ig-research-soft: color-mix(in srgb, currentColor 5%, transparent);
  --ig-research-soft-strong: color-mix(in srgb, currentColor 8%, transparent);
  max-width: 860px;
  margin-inline: auto;
  font-feature-settings: "palt";
  line-height: 1.95;
  letter-spacing: 0.015em;
}
.ig-research-article > p,
.ig-research-article > ul,
.ig-research-article > ol,
.ig-research-article > table,
.ig-research-article > aside,
.ig-research-article > div { margin-block: 1.25rem; }
.ig-research-article h2 {
  margin-top: 3.25rem;
  margin-bottom: 1.15rem;
  padding: 0;
  border: 0;
  font-size: clamp(1.38rem, 2.6vw, 1.78rem);
  line-height: 1.48;
  letter-spacing: 0.01em;
  text-wrap: pretty;
}
.ig-research-article h3 {
  margin-top: 1.65rem;
  margin-bottom: 0.65rem;
  font-size: clamp(1.08rem, 2vw, 1.24rem);
  line-height: 1.55;
  text-wrap: pretty;
}
.ig-research-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  margin-bottom: 1rem !important;
  padding: 0.48em 0.82em;
  border: 1px solid var(--ig-research-line);
  border-radius: 999px;
  background: var(--ig-research-soft);
  font-size: 0.82rem;
  line-height: 1.2;
  letter-spacing: 0.08em;
}
.ig-evidence-note {
  margin-block: 2rem !important;
  padding: clamp(1.15rem, 2.8vw, 1.7rem);
  border: 1px solid var(--ig-research-line);
  border-left-width: 4px;
  border-radius: 18px;
  background: var(--ig-research-soft);
}
.ig-evidence-note > :first-child,
.ig-author-note > :first-child,
.ig-pathway-card > :first-child { margin-top: 0; }
.ig-evidence-note > :last-child,
.ig-author-note > :last-child,
.ig-pathway-card > :last-child { margin-bottom: 0; }
.ig-evidence-grid,
.ig-layer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 1.75rem !important;
}
.ig-evidence-grid > div,
.ig-layer-grid > section {
  min-width: 0;
  padding: 1.15rem 1.2rem;
  border: 1px solid var(--ig-research-line);
  border-radius: 16px;
  background: var(--ig-research-soft);
}
.ig-layer-grid > section {
  position: relative;
  overflow: hidden;
}
.ig-layer-grid > section::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: currentColor;
  opacity: 0.28;
}
.ig-research-article table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--ig-research-line);
  border-radius: 14px;
  background: transparent;
}
.ig-research-article th,
.ig-research-article td {
  min-width: 10rem;
  padding: 0.8rem 0.9rem;
  vertical-align: top;
  border-bottom: 1px solid var(--ig-research-line);
  line-height: 1.7;
}
.ig-research-article th {
  background: var(--ig-research-soft-strong);
  font-weight: 700;
}
.ig-research-article tr:last-child td { border-bottom: 0; }
.ig-author-note {
  margin-top: 3rem !important;
  padding: 1.25rem 1.35rem;
  border-top: 1px solid var(--ig-research-line);
  border-bottom: 1px solid var(--ig-research-line);
  background: var(--ig-research-soft);
  font-size: 0.94rem;
}
.ig-pathway-card {
  margin-block: 2.35rem !important;
  padding: clamp(1.25rem, 3vw, 1.85rem);
  border: 1px solid var(--ig-research-line);
  border-radius: 20px;
  background: var(--ig-research-soft);
  box-shadow: 0 12px 32px color-mix(in srgb, currentColor 7%, transparent);
}
.ig-pathway-card h2 {
  margin-top: 0.55rem;
  margin-bottom: 0.9rem;
  font-size: clamp(1.2rem, 2.4vw, 1.52rem);
}
.ig-pathway-label {
  display: inline-flex;
  margin: 0 !important;
  padding: 0.38em 0.66em;
  border: 1px solid var(--ig-research-line);
  border-radius: 999px;
  background: color-mix(in srgb, currentColor 4%, transparent);
  font-size: 0.78rem;
  line-height: 1.25;
  letter-spacing: 0.055em;
}
.ig-pathway-professional { border-left: 4px solid color-mix(in srgb, currentColor 38%, transparent); }
.ig-pathway-family { border-left: 4px solid color-mix(in srgb, currentColor 24%, transparent); }
.ig-pathway-status {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px dashed var(--ig-research-line);
  font-size: 0.9rem;
}
.ig-pathway-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 0.35rem;
  padding: 0.7rem 1rem;
  border: 1px solid currentColor;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  transition: transform 160ms ease, background-color 160ms ease;
}
.ig-pathway-link:hover,
.ig-pathway-link:focus-visible {
  transform: translateY(-1px);
  background: var(--ig-research-soft-strong);
}
.ig-research-article a {
  text-underline-offset: 0.16em;
  text-decoration-thickness: 0.08em;
}
@media (max-width: 767px) {
  .ig-research-article { line-height: 1.9; letter-spacing: 0.005em; }
  .ig-research-article h2 { margin-top: 2.7rem; }
  .ig-evidence-grid,
  .ig-layer-grid { grid-template-columns: 1fr; gap: 0.8rem; }
  .ig-evidence-note,
  .ig-pathway-card { border-radius: 16px; }
  .ig-research-article th,
  .ig-research-article td { min-width: 9rem; padding: 0.72rem 0.78rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ig-pathway-link { transition: none; }
}
/* === IG_RESEARCH_DESIGN_V1_END === */

/* === IG_RESEARCH_HOME_HUB_CSS_V1_START === */

.ig-research-home {
  margin: clamp(2rem, 5vw, 4.5rem) 0;
  padding: clamp(1.4rem, 3vw, 2.3rem);
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  border-radius: 24px;
  background: linear-gradient(180deg, color-mix(in srgb, currentColor 4%, transparent), transparent);
}

.ig-research-home__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 1.4rem;
}

.ig-research-home__eyebrow,
.ig-research-hub-page__eyebrow,
.ig-research-hub-page__section-label,
.ig-research-hub-page__policy-label {
  margin: 0 0 0.55rem;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.ig-research-home__head h2,
.ig-research-hub-page h2 {
  margin: 0;
  line-height: 1.45;
}

.ig-research-home__lead {
  max-width: 50rem;
  margin: 0.75rem 0 0;
  line-height: 1.8;
  opacity: 0.76;
}

.ig-research-home__all {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.65rem 0.9rem;
  border-bottom: 1px solid currentColor;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.ig-research-home__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.ig-research-home-card {
  min-width: 0;
  padding: 1.15rem;
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, currentColor 3%, transparent);
}

.ig-research-home-card__meta,
.ig-research-home-card__date {
  margin: 0;
  font-size: 0.75rem;
  opacity: 0.66;
}

.ig-research-home-card h3 {
  margin: 0.65rem 0;
  font-size: 1.04rem;
  line-height: 1.55;
}

.ig-research-home-card h3 a {
  text-decoration: none;
}

.ig-research-home-card__excerpt {
  font-size: 0.9rem;
  line-height: 1.75;
  opacity: 0.78;
}

.ig-research-home-card__date {
  margin-top: 0.85rem;
}

.ig-research-hub-page {
  max-width: 1120px;
  margin: 0 auto;
}

.ig-research-hub-page__hero {
  padding: clamp(2.8rem, 7vw, 5.5rem) 0 clamp(2rem, 5vw, 3.8rem);
}

.ig-research-hub-page__hero > h2 {
  margin: 0.25rem 0 1rem;
  font-size: clamp(2rem, 6vw, 4.4rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.ig-research-hub-page__hero > p:last-child {
  max-width: 52rem;
  line-height: 1.9;
  opacity: 0.78;
}

.ig-research-hub-page__policy {
  margin: 0 0 3rem;
  padding: clamp(1.3rem, 3vw, 2rem);
  border-left: 4px solid color-mix(in srgb, currentColor 32%, transparent);
  border-radius: 0 18px 18px 0;
  background: color-mix(in srgb, currentColor 5%, transparent);
}

.ig-research-hub-page__policy p:last-child {
  margin-bottom: 0;
  line-height: 1.85;
}

.ig-research-hub-page__topics,
.ig-research-hub-page__latest {
  margin-block: clamp(2.5rem, 6vw, 5rem);
}

.ig-research-hub-page__topic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1.2rem;
}

.ig-research-hub-page__topic-grid > div {
  min-width: 0;
  padding: 1.1rem;
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  border-radius: 16px;
}

.ig-research-hub-page__topic-grid strong,
.ig-research-hub-page__topic-grid span {
  display: block;
}

.ig-research-hub-page__topic-grid span {
  margin-top: 0.45rem;
  font-size: 0.84rem;
  line-height: 1.65;
  opacity: 0.7;
}

.ig-research-hub-page__article-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.2rem;
}

.ig-research-hub-article {
  min-width: 0;
  padding: 1.25rem;
  border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
  border-radius: 18px;
}

.ig-research-hub-article__meta {
  margin: 0;
  font-size: 0.75rem;
  opacity: 0.66;
}

.ig-research-hub-article h3 {
  margin: 0.65rem 0;
  line-height: 1.5;
}

.ig-research-hub-article h3 a {
  text-decoration: none;
}

.ig-research-hub-article > p:last-child {
  margin-bottom: 0;
  line-height: 1.75;
  opacity: 0.78;
}

.ig-research-hub-page__archive-note {
  display: grid;
  gap: 0.35rem;
  margin: 3rem 0;
  padding: 1rem 1.15rem;
  border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  font-size: 0.9rem;
}

.ig-research-hub-page__archive-note span,
.ig-research-hub-page__empty {
  opacity: 0.72;
}

@media (max-width: 900px) {
  .ig-research-home__grid {
    grid-template-columns: 1fr;
  }

  .ig-research-hub-page__topic-grid,
  .ig-research-hub-page__article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ig-research-home__head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .ig-research-home__all {
    justify-self: start;
  }

  .ig-research-hub-page__topic-grid,
  .ig-research-hub-page__article-grid {
    grid-template-columns: 1fr;
  }

  .ig-research-hub-page__hero h2 br {
    display: none;
  }
}

/* === IG_RESEARCH_HOME_HUB_CSS_V1_END === */


/* === WO_IG_SEO_DESIGN_003B1_START === */
/*
 * Editorial shell refinement.
 * Code-only / reversible: no URL, post content, taxonomy, canonical, robots or DB mutation.
 */
:root {
  --ig-editorial-ink: #214e68;
  --ig-editorial-cyan: #35b8cf;
  --ig-editorial-soft: #f4fafb;
  --ig-editorial-soft-strong: #e8f6f8;
  --ig-editorial-line: #cfe4e9;
  --ig-editorial-muted: #5c7781;
  --ig-editorial-accent: #bd8b3d;
  --ig-article-measure: 48rem;
}

/* Home and article pages use the main column as the editorial canvas. */
body.home #main,
body.single-post #main {
  float: none;
  width: 100%;
  max-width: none;
}

body.home #sidebar,
body.single-post #sidebar {
  display: none;
}

/* The existing breadcrumb is emitted after the article by Cocoon.
   Flex ordering moves it visually before the article without changing URLs or markup. */
body.single-post #main {
  display: flex;
  flex-direction: column;
}

body.single-post #breadcrumb {
  order: -1;
  width: min(100%, var(--ig-article-measure));
  margin: 0 auto clamp(1rem, 2vw, 1.4rem);
  padding: 0;
  color: var(--ig-editorial-muted);
  font-size: 0.82rem;
}

body.single-post #breadcrumb a {
  color: inherit;
  text-underline-offset: 0.16em;
}

/* Article shell */
body.single-post .article {
  width: min(100%, 58rem);
  margin-inline: auto;
  padding: clamp(1.1rem, 2.4vw, 2rem) clamp(1rem, 3vw, 2.4rem);
  border: 1px solid var(--ig-editorial-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(33, 78, 104, 0.06);
}

body.single-post .article-header,
body.single-post .entry-content,
body.single-post .article-footer {
  width: min(100%, var(--ig-article-measure));
  margin-inline: auto;
}

body.single-post .entry-title {
  margin: 0 0 1rem;
  color: var(--ig-editorial-ink);
  font-size: clamp(1.75rem, 4vw, 2.55rem);
  font-weight: 800;
  line-height: 1.38;
  letter-spacing: -0.02em;
  text-wrap: pretty;
}

body.single-post .article-header .eye-catch-wrap {
  margin: 1.3rem 0 1rem;
  overflow: hidden;
  border-radius: 18px;
}

body.single-post .article-header .eye-catch-wrap img {
  display: block;
  width: 100%;
  height: auto;
}

body.single-post .article-header .ss-top {
  display: none;
}

body.single-post .article-header .date-tags {
  margin: 0.8rem 0 1.1rem;
  color: var(--ig-editorial-muted);
  font-size: 0.84rem;
}

body.single-post .entry-categories-tags a,
body.single-post .cat-link {
  border-radius: 999px;
  text-decoration: none;
}

body.single-post .entry-content {
  max-width: var(--ig-article-measure);
  color: #263f49;
  font-size: clamp(1rem, 1.2vw, 1.05rem);
  line-height: 1.95;
}

body.single-post .entry-content > p {
  margin-block: 1.18em;
}

body.single-post .entry-content > h2 {
  margin: 3.2rem 0 1.2rem;
  padding: 0 0 0.72rem;
  border: 0;
  border-bottom: 1px solid var(--ig-editorial-line);
  background: none;
  color: var(--ig-editorial-ink);
  font-size: clamp(1.38rem, 2.8vw, 1.8rem);
  line-height: 1.5;
  text-wrap: pretty;
}

body.single-post .entry-content > h3 {
  margin: 2.2rem 0 0.85rem;
  padding-left: 0.8rem;
  border-left: 3px solid var(--ig-editorial-cyan);
  color: var(--ig-editorial-ink);
  font-size: clamp(1.12rem, 2.2vw, 1.34rem);
  line-height: 1.55;
}

body.single-post .entry-content a {
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

body.single-post #toc {
  margin: 1.5rem 0 2.2rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--ig-editorial-line);
  border-radius: 16px;
  background: var(--ig-editorial-soft);
  box-shadow: none;
}

body.single-post #toc .toc-title {
  color: var(--ig-editorial-ink);
  font-weight: 800;
}

body.single-post #toc a {
  color: #355f6e;
  text-decoration: none;
}

body.single-post #toc a:hover {
  text-decoration: underline;
}

/* Compact author/editorial trust line before body. */
.ig-article-trust {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.35rem 1rem;
  align-items: center;
  margin: 0 0 1.75rem;
  padding: 0.95rem 1.05rem;
  border-top: 1px solid var(--ig-editorial-line);
  border-bottom: 1px solid var(--ig-editorial-line);
  color: var(--ig-editorial-muted);
  font-size: 0.84rem;
  line-height: 1.6;
}

.ig-article-trust__eyebrow {
  grid-column: 1 / -1;
  color: var(--ig-editorial-cyan);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.ig-article-trust__author {
  color: var(--ig-editorial-ink);
  font-weight: 800;
}

.ig-article-trust__note {
  min-width: 0;
}

.ig-article-trust__link {
  white-space: nowrap;
  font-weight: 700;
}

/* Home: reduce blog-card feel and strengthen intentional discovery. */
body.home .ig-knowledge-hub {
  width: min(1180px, calc(100% - 40px));
  margin: clamp(2rem, 5vw, 4.5rem) auto;
  padding: clamp(1.3rem, 3vw, 2.2rem);
  border: 0;
  border-radius: 28px;
  background: linear-gradient(180deg, #f8fcfd 0%, #ffffff 100%);
  box-shadow: inset 0 0 0 1px var(--ig-editorial-line);
}

body.home .ig-knowledge-hub__intro {
  max-width: 50rem;
}

body.home .ig-knowledge-hub__intro h2 {
  margin: 0.2rem 0 0.65rem;
  color: var(--ig-editorial-ink);
  font-size: clamp(1.8rem, 3.5vw, 2.5rem);
  line-height: 1.35;
}

body.home .ig-knowledge-hub__intro > p:last-child {
  margin: 0;
  color: var(--ig-editorial-muted);
  line-height: 1.9;
}

body.home .ig-ds2-focus {
  margin: clamp(2rem, 4vw, 3rem) 0 0;
}

body.home .ig-ds2-focus-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: 16px 16px 20px;
  border: 1px solid var(--ig-editorial-line);
  border-radius: 20px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(33, 78, 104, 0.05);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.home a.ig-ds2-focus-card:hover,
body.home a.ig-ds2-focus-card:focus-visible {
  transform: translateY(-2px);
  border-color: #83cbd7;
  box-shadow: 0 16px 38px rgba(33, 78, 104, 0.09);
}

body.home .ig-ds2-focus-card__title {
  margin: 13px 0 7px;
  color: var(--ig-editorial-ink);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.55;
}

body.home .ig-ds2-focus-card__description {
  flex: 1;
  color: var(--ig-editorial-muted);
  font-size: 0.9rem;
  line-height: 1.8;
}

body.home .ig-ds2-focus-card__cta {
  margin-top: 0.9rem;
  color: #287489;
  font-size: 0.84rem;
  font-weight: 800;
}

body.home .ig-knowledge-hub__secondary {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--ig-editorial-line);
}

body.home .ig-knowledge-hub__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 0;
}

body.home .ig-knowledge-hub__item a {
  border: 0;
  border-radius: 14px;
  background: var(--ig-editorial-soft);
  box-shadow: inset 0 0 0 1px rgba(33, 78, 104, 0.08);
}

body.home .ig-knowledge-hub__item a:hover,
body.home .ig-knowledge-hub__item a:focus-visible {
  box-shadow: inset 0 0 0 1px #83cbd7;
}

.ig-home-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
  align-items: center;
  margin-top: 1.35rem;
  padding-top: 1rem;
  border-top: 1px solid var(--ig-editorial-line);
  font-size: 0.82rem;
}

.ig-home-trust__label {
  color: var(--ig-editorial-cyan);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.ig-home-trust a {
  color: #355f6e;
  font-weight: 700;
  text-decoration-thickness: 0.07em;
  text-underline-offset: 0.18em;
}

/* Related/editorial blocks at the end of articles. */
body.single-post .ig-knowledge-expertise,
body.single-post .ig-knowledge-related {
  width: min(100%, var(--ig-article-measure));
  margin: 2.4rem auto 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--ig-editorial-line);
  border-radius: 18px;
  background: var(--ig-editorial-soft);
}

body.single-post .ig-knowledge-expertise h2,
body.single-post .ig-knowledge-related h2 {
  color: var(--ig-editorial-ink);
  font-size: 1.15rem;
  line-height: 1.5;
}

.ig-knowledge-related__primary {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.7rem 1rem;
  border: 1px solid #7fbfc9;
  border-radius: 999px;
  background: #fff;
  color: var(--ig-editorial-ink);
  text-decoration: none;
  font-weight: 800;
}

/* Cocoon's generic related list is retained in markup for this candidate,
   but de-emphasised visually while the semantic related model is validated. */
body.single-post #related-entries {
  margin-top: 2.5rem;
  opacity: 0.74;
}

body.single-post #related-entries .related-entry-heading {
  font-size: 1rem;
}

/* Mobile refinements */
@media (max-width: 900px) {
  body.home .ig-knowledge-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ig-article-trust {
    grid-template-columns: 1fr auto;
  }

  .ig-article-trust__author,
  .ig-article-trust__note {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  body.home .ig-knowledge-hub {
    width: min(100% - 24px, 1180px);
    border-radius: 20px;
  }

  body.home .ig-knowledge-hub__grid {
    grid-template-columns: 1fr;
  }

  body.home .ig-ds2-focus-card {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    column-gap: 14px;
    align-items: start;
  }

  body.home .ig-ds2-focus-card img {
    grid-row: 1 / span 3;
    margin: 0;
  }

  body.home .ig-ds2-focus-card__title {
    margin-top: 0;
  }

  body.single-post .article {
    padding: 1rem 0.9rem 1.4rem;
    border-inline: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.single-post .entry-title {
    font-size: clamp(1.55rem, 7vw, 1.95rem);
  }

  .ig-article-trust {
    grid-template-columns: 1fr;
    gap: 0.35rem;
    padding-inline: 0.85rem;
  }

  .ig-article-trust__eyebrow,
  .ig-article-trust__author,
  .ig-article-trust__note,
  .ig-article-trust__link {
    grid-column: 1;
  }

  .ig-article-trust__link {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .ig-ds2-focus-card {
    transition: none;
  }

  body.home a.ig-ds2-focus-card:hover,
  body.home a.ig-ds2-focus-card:focus-visible {
    transform: none;
  }
}
/* === WO_IG_SEO_DESIGN_003B1_END === */

/* === WO_IG_SEO_DESIGN_003B3_START === */
/*
 * Visual acceptance refinement after 375 / 768 / 1440 screenshot review.
 * Goals:
 * - eliminate mobile horizontal clipping at the layout-source level;
 * - keep title / TOC / article media inside the viewport;
 * - make the Home hero label wrap safely;
 * - crop the Home About image to the intended editorial 4:3 frame;
 * - shorten the mobile vertical runway before content discovery.
 */

/* Width containment: do not rely on overflow hiding to mask an oversized Cocoon wrapper. */
body.home,
body.single-post {
  max-width: 100%;
  overflow-x: clip;
}

body.home :where(.content, .content-in, #main),
body.single-post :where(.content, .content-in, #main, .article, .article-header, .entry-content, .article-footer, #breadcrumb) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

body.single-post :where(.entry-title, .entry-content, #toc, .ig-article-trust) {
  overflow-wrap: break-word;
  word-break: normal;
}

body.single-post :where(.article-header, .entry-content) img,
body.single-post :where(.article-header, .entry-content) video,
body.single-post :where(.article-header, .entry-content) iframe {
  max-width: 100% !important;
}

body.single-post :where(.article-header, .entry-content) img,
body.single-post :where(.article-header, .entry-content) video {
  height: auto;
}

body.single-post #toc,
body.single-post #toc * {
  box-sizing: border-box;
  max-width: 100%;
}

body.single-post #toc :where(ol, ul) {
  padding-inline-start: 1.35rem;
}

/* The intended About image is an editorial crop rather than the source image's natural ratio. */
.ig-ds2-home-about-media {
  aspect-ratio: 4 / 3;
}

.ig-ds2-home-about-media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

/* Long Japanese brand labels must never create a wider-than-viewport inline box. */
.ig-ds2-home-label {
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
}

/* Tablet: explicitly constrain Cocoon's content wrapper to the viewport. */
@media screen and (max-width: 900px) {
  body.home .content-in,
  body.single-post .content-in {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline: 1rem !important;
  }

  body.single-post .article {
    width: 100%;
  }

  body.single-post .entry-title {
    max-width: 100%;
  }
}

/* Phone: denser first-screen hierarchy and guaranteed viewport containment. */
@media screen and (max-width: 640px) {
  body.home .content-in,
  body.single-post .content-in {
    padding-inline: 0.75rem !important;
  }

  .ig-ds2-home-hero,
  .ig-ds2-home-hero > .ig-ds2-home-wrap {
    min-height: 570px;
  }

  .ig-ds2-home-hero-copy {
    width: 100%;
    max-width: 100%;
    padding: 46px 0 165px;
  }

  .ig-ds2-home-label {
    padding: 8px 12px;
    font-size: 0.7rem;
    line-height: 1.5;
    letter-spacing: 0.035em;
  }

  .ig-ds2-home-title {
    margin-top: 20px;
    font-size: clamp(2.65rem, 13.5vw, 3.35rem);
    line-height: 1.02;
  }

  .ig-ds2-home-tagline {
    margin-top: 16px;
    font-size: 1.02rem;
    line-height: 1.65;
  }

  .ig-ds2-home-lead {
    margin-top: 14px;
    font-size: 0.94rem;
    line-height: 1.8;
  }

  .ig-ds2-home-about {
    padding: 44px 0;
  }

  .ig-ds2-home-about-grid {
    gap: 20px;
  }

  .ig-ds2-home-about-copy {
    padding: 22px 20px;
    border-radius: 18px;
  }

  body.home .ig-knowledge-hub {
    width: 100%;
    margin: 1.75rem auto 2.5rem;
  }

  body.single-post #breadcrumb {
    width: 100%;
    margin-bottom: 0.8rem;
    padding-inline: 0.1rem;
  }

  body.single-post .article {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0.9rem 0.85rem 1.35rem;
  }

  body.single-post .article-header,
  body.single-post .entry-content,
  body.single-post .article-footer {
    width: 100%;
    max-width: 100%;
  }

  body.single-post .entry-title {
    margin-bottom: 0.85rem;
    font-size: clamp(1.45rem, 6.5vw, 1.75rem);
    line-height: 1.42;
    letter-spacing: -0.018em;
  }

  body.single-post .article-header .eye-catch-wrap {
    margin-top: 1rem;
    border-radius: 12px;
  }

  body.single-post .entry-content {
    width: 100%;
    font-size: 1rem;
    line-height: 1.9;
  }

  body.single-post .entry-content > h2 {
    margin-top: 2.65rem;
  }

  body.single-post #toc {
    margin: 1.35rem 0 2rem;
    padding: 0.9rem 0.95rem;
    border-radius: 14px;
  }

  .ig-article-trust {
    width: 100%;
    margin-bottom: 1.45rem;
    padding: 0.8rem 0.7rem;
  }
}

@media screen and (max-width: 480px) {
  /* Author, qualification and policy link are the highest-value trust signals on a narrow screen. */
  .ig-article-trust__note {
    display: none;
  }

  .ig-article-trust__author {
    line-height: 1.55;
  }

  body.single-post .entry-categories-tags {
    max-width: 100%;
  }
}

/* Fallback for engines that do not support overflow-x: clip. */
@supports not (overflow-x: clip) {
  body.home,
  body.single-post {
    overflow-x: hidden;
  }
}
/* === WO_IG_SEO_DESIGN_003B3_END === */


/* === WO_IG_SEO_DESIGN_003B4_START === */
/*
 * True-375px viewport correction.
 *
 * The 003B3M layout metrics isolated the real overflow source:
 * component widths were declared as 100% while their padding remained
 * content-box. That made the Home hub and article expertise/related blocks
 * wider than their containing column by exactly their horizontal padding.
 *
 * reCAPTCHA's fixed badge and Cocoon's off-screen focus helper can still have
 * off-viewport bounding boxes, but they did not determine the document
 * scrollWidth. This slice therefore does not alter reCAPTCHA behaviour.
 */

/* Component width means border-box width, including padding and border. */
.ig-knowledge-hub,
.ig-knowledge-expertise,
.ig-knowledge-related {
  box-sizing: border-box;
  max-width: 100%;
}

body.home .ig-knowledge-hub > *,
body.single-post :where(.ig-knowledge-expertise, .ig-knowledge-related) > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* Keep the Home discovery block inside the actual Cocoon main column. */
@media screen and (max-width: 640px) {
  body.home .ig-knowledge-hub {
    width: 100%;
    max-width: 100%;
  }

  /*
   * Compact mobile FOCUS cards.
   * 003B3's min-height:100% interacted poorly with the one-column grid and
   * created large blank areas. Use explicit rows and a fixed editorial
   * thumbnail column instead.
   */
  body.home .ig-ds2-focus-card {
    min-height: 0;
    grid-template-columns: 92px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0.28rem 0.85rem;
    align-items: start;
    padding: 0.9rem;
  }

  body.home .ig-ds2-focus-card img {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 92px;
    max-width: 92px;
    height: auto;
    margin: 0;
    aspect-ratio: 4 / 3;
    align-self: start;
  }

  body.home .ig-ds2-focus-card__title {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    margin: 0;
  }

  body.home .ig-ds2-focus-card__description {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    flex: none;
    line-height: 1.65;
  }

  body.home .ig-ds2-focus-card__cta {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
    margin-top: 0.35rem;
  }

  /* These editorial blocks live inside .entry-content on current posts. */
  body.single-post .ig-knowledge-expertise,
  body.single-post .ig-knowledge-related {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding: 1rem;
  }
}

@media screen and (max-width: 420px) {
  body.home .ig-ds2-focus-card {
    grid-template-columns: 80px minmax(0, 1fr);
    column-gap: 0.7rem;
  }

  body.home .ig-ds2-focus-card img {
    width: 80px;
    max-width: 80px;
  }

  body.home .ig-ds2-focus-card__title {
    font-size: 0.96rem;
    line-height: 1.5;
  }

  body.home .ig-ds2-focus-card__description {
    font-size: 0.86rem;
  }
}
/* === WO_IG_SEO_DESIGN_003B4_END === */


/* === WO_IG_SEO_DESIGN_003B5_START === */
/*
 * Final visual-density refinement after 003B4.
 *
 * 003B4 passed the true 375px horizontal-overflow gate. The remaining
 * visual issue was tablet/desktop FOCUS cards inheriting min-height:100%,
 * which created excessive blank vertical space inside the cards.
 */
body.home .ig-ds2-focus-grid {
  align-items: stretch;
}

body.home .ig-ds2-focus-card {
  min-height: 0;
  height: auto;
}

/* Keep the description flexible so CTA baselines remain tidy within each row. */
body.home .ig-ds2-focus-card__description {
  min-height: 0;
}

/* Keep the long approved brand label on one line on common 375px phones. */
@media screen and (max-width: 420px) {
  .ig-ds2-home-label {
    padding: 7px 10px;
    font-size: 0.62rem;
    letter-spacing: 0.02em;
  }
}
/* === WO_IG_SEO_DESIGN_003B5_END === */


/* === WO_IG_SEO_DESIGN_003D1_START === */

:root {
  --ig-trust-ink: #214e68;
  --ig-trust-muted: #5c7781;
  --ig-trust-cyan: #35b8cf;
  --ig-trust-line: #cfe4e9;
  --ig-trust-soft: #f4fafb;
  --ig-trust-soft-2: #e9f6f8;
  --ig-trust-gold: #bd8b3d;
}

/* Exam category and About use the same full-width editorial canvas as Home/articles. */
body.ig-exam-hub-surface #main,
body.ig-about-surface #main {
  float: none;
  width: 100%;
  max-width: none;
}

body.ig-exam-hub-surface #sidebar,
body.ig-about-surface #sidebar {
  display: none;
}

body.ig-exam-hub-surface #content-in,
body.ig-about-surface #content-in {
  max-width: 1180px;
  margin-inline: auto;
}

body.ig-exam-hub-surface .list,
body.ig-about-surface .article {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* === Exam Hub === */
.ig-exam-hub {
  width: min(100%, 72rem);
  margin: 1.2rem auto 3rem;
  padding: clamp(1.2rem, 3vw, 2.4rem);
  border: 1px solid var(--ig-trust-line);
  border-radius: 28px;
  background: linear-gradient(180deg, #f8fcfd 0%, #fff 100%);
  box-sizing: border-box;
}

.ig-exam-hub__hero {
  max-width: 52rem;
}

.ig-exam-hub__eyebrow,
.ig-exam-hub__section-label,
.ig-about-page__eyebrow,
.ig-about-page__section-label {
  margin: 0 0 0.45rem;
  color: var(--ig-trust-cyan);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.ig-exam-hub__hero h2 {
  margin: 0;
  color: var(--ig-trust-ink);
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.35;
  letter-spacing: -0.025em;
}

.ig-exam-hub__hero > p:last-child {
  max-width: 46rem;
  margin: 1rem 0 0;
  color: var(--ig-trust-muted);
  line-height: 1.9;
}

.ig-exam-hub__guide,
.ig-exam-hub__topics,
.ig-exam-hub__round-latest {
  margin-top: clamp(2rem, 5vw, 3.5rem);
}

.ig-exam-hub__guide h3,
.ig-exam-hub__topics h3,
.ig-exam-hub__round-latest h3 {
  margin: 0 0 1rem;
  color: var(--ig-trust-ink);
  font-size: clamp(1.35rem, 2.8vw, 1.8rem);
}

.ig-exam-hub__guide ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: ig-exam-guide;
}

.ig-exam-hub__guide li {
  counter-increment: ig-exam-guide;
  min-width: 0;
  padding: 1rem;
  border-radius: 16px;
  background: var(--ig-trust-soft);
  box-shadow: inset 0 0 0 1px rgba(33, 78, 104, 0.08);
}

.ig-exam-hub__guide li::before {
  content: "0" counter(ig-exam-guide);
  display: block;
  margin-bottom: 0.6rem;
  color: var(--ig-trust-cyan);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.ig-exam-hub__guide strong,
.ig-exam-hub__guide span {
  display: block;
}

.ig-exam-hub__guide strong {
  color: var(--ig-trust-ink);
}

.ig-exam-hub__guide span {
  margin-top: 0.35rem;
  color: var(--ig-trust-muted);
  font-size: 0.9rem;
  line-height: 1.65;
}

.ig-exam-hub__rounds {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.ig-exam-round-card {
  display: grid;
  min-width: 0;
  min-height: 150px;
  align-content: start;
  padding: 1rem;
  border: 1px solid var(--ig-trust-line);
  border-radius: 18px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(33, 78, 104, 0.05);
}

.ig-exam-round-card:hover,
.ig-exam-round-card:focus-visible {
  border-color: #83cbd7;
  box-shadow: 0 15px 34px rgba(33, 78, 104, 0.09);
}

.ig-exam-round-card__label {
  color: var(--ig-trust-ink);
  font-size: 1.25rem;
  font-weight: 900;
}

.ig-exam-round-card__count {
  margin-top: 0.5rem;
  color: var(--ig-trust-muted);
  font-size: 0.88rem;
}

.ig-exam-round-card__cta {
  margin-top: auto;
  padding-top: 1rem;
  color: #287489;
  font-size: 0.84rem;
  font-weight: 800;
}

.ig-exam-topic-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.ig-exam-topic-links a {
  display: inline-flex;
  gap: 0.6rem;
  align-items: center;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--ig-trust-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ig-trust-ink);
  text-decoration: none;
}

.ig-exam-topic-links small {
  color: var(--ig-trust-muted);
}

.ig-exam-round-latest__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.ig-exam-round-latest__section {
  min-width: 0;
  padding: 1rem 1.1rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--ig-trust-line);
}

.ig-exam-round-latest__section h4 {
  margin: 0 0 0.75rem;
  color: var(--ig-trust-ink);
  font-size: 1.05rem;
}

.ig-exam-round-latest__section ul {
  margin: 0;
  padding-left: 1.1rem;
}

.ig-exam-round-latest__section li + li {
  margin-top: 0.55rem;
}

.ig-exam-round-latest__section a {
  color: #315f70;
  line-height: 1.6;
}

.ig-exam-hub__archive-note {
  display: grid;
  gap: 0.25rem;
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--ig-trust-line);
  color: var(--ig-trust-muted);
  font-size: 0.88rem;
}

/* === About / E-E-A-T surface === */
body.ig-about-surface .article {
  width: min(100%, 64rem);
  margin-inline: auto;
  padding: clamp(1.1rem, 3vw, 2.4rem);
  border: 1px solid var(--ig-trust-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(33, 78, 104, 0.06);
}

body.ig-about-surface .article-header .eye-catch-wrap,
body.ig-about-surface .date-tags,
body.ig-about-surface #toc {
  display: none;
}

body.ig-about-surface .entry-title {
  color: var(--ig-trust-ink);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.3;
}

.ig-about-page {
  max-width: 56rem;
  margin-inline: auto;
  color: #29434d;
}

.ig-about-page section {
  margin-top: clamp(2.4rem, 5vw, 4rem);
}

.ig-about-page__hero {
  padding: clamp(1.2rem, 3vw, 2rem);
  border-radius: 22px;
  background: linear-gradient(135deg, #eef9fb 0%, #fff 78%);
  box-shadow: inset 0 0 0 1px var(--ig-trust-line);
}

.ig-about-page__category {
  display: inline-block;
  margin: 0 0 0.8rem;
  color: #287489;
  font-size: 0.78rem;
  font-weight: 800;
}

.ig-about-page__hero h2,
.ig-about-page section > h2 {
  color: var(--ig-trust-ink);
  text-wrap: pretty;
}

.ig-about-page__hero h2 {
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  line-height: 1.4;
}

.ig-about-page__hero > p:last-child {
  max-width: 46rem;
  margin: 1rem 0 0;
  color: var(--ig-trust-muted);
  line-height: 1.9;
}

.ig-about-page section > h2 {
  margin: 0 0 0.9rem;
  font-size: clamp(1.35rem, 3vw, 1.9rem);
}

.ig-about-page section > p {
  line-height: 1.95;
}

.ig-about-page__operator,
.ig-about-page__safety,
.ig-about-page__ai,
.ig-about-page__ads {
  padding: 1.2rem 1.35rem;
  border-left: 4px solid var(--ig-trust-cyan);
  background: var(--ig-trust-soft);
}

.ig-about-page__scope-grid,
.ig-about-page__policy-grid {
  display: grid;
  gap: 0.85rem;
}

.ig-about-page__scope-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ig-about-page__policy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ig-about-page__scope-grid > div,
.ig-about-page__policy-grid > div {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--ig-trust-line);
  border-radius: 16px;
  background: #fff;
}

.ig-about-page__scope-grid strong,
.ig-about-page__policy-grid strong {
  display: block;
  color: var(--ig-trust-ink);
}

.ig-about-page__scope-grid span,
.ig-about-page__policy-grid p {
  display: block;
  margin: 0.45rem 0 0;
  color: var(--ig-trust-muted);
  font-size: 0.92rem;
  line-height: 1.75;
}

.ig-about-page__safety {
  border-left-color: #b45c53;
  background: #fff7f6;
}

.ig-about-page__ai {
  border-left-color: var(--ig-trust-gold);
  background: #fffaf1;
}

.ig-about-page__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 3rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--ig-trust-line);
}

.ig-about-page__links a {
  display: inline-flex;
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--ig-trust-line);
  border-radius: 999px;
  background: #fff;
  color: var(--ig-trust-ink);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

@media screen and (max-width: 900px) {
  .ig-exam-hub__rounds,
  .ig-exam-hub__guide ol,
  .ig-about-page__policy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 640px) {
  .ig-exam-hub {
    width: 100%;
    margin-inline: 0;
    padding: 1rem;
    border-radius: 20px;
  }

  .ig-exam-hub__hero h2 br {
    display: none;
  }

  .ig-exam-hub__rounds,
  .ig-exam-hub__guide ol,
  .ig-exam-round-latest__grid,
  .ig-about-page__scope-grid,
  .ig-about-page__policy-grid {
    grid-template-columns: 1fr;
  }

  .ig-exam-round-card {
    min-height: 0;
  }

  body.ig-about-surface .article {
    padding: 0.9rem;
    border-radius: 18px;
  }

  .ig-about-page__hero {
    padding: 1rem;
  }

  .ig-about-page__hero h2 br {
    display: none;
  }

  .ig-about-page__operator,
  .ig-about-page__safety,
  .ig-about-page__ai,
  .ig-about-page__ads {
    padding: 1rem;
  }
}
/* === WO_IG_SEO_DESIGN_003D1_END === */


/* === WO_IG_SEO_DESIGN_003D2_START === */
/*
 * Founder-review refinement for the About trust surface.
 * 003D1 proved the information architecture; 003D2 removes residual legacy
 * Cocoon share/follow noise and resets inherited article H2 decoration.
 */

body.ig-about-surface .sns-share.ss-top,
body.ig-about-surface .sns-share.ss-bottom,
body.ig-about-surface .sns-follow,
body.ig-about-surface #block-7 {
  display: none !important;
}

/*
 * About headings are part of a trust/editorial page, not a normal article.
 * Prevent inherited article-heading fills/borders from turning every section
 * heading into a large cyan bar.
 */
body.ig-about-surface .entry-content .ig-about-page h2 {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 0 0.9rem;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ig-trust-ink) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  line-height: 1.45;
}

body.ig-about-surface .entry-content .ig-about-page h2::before,
body.ig-about-surface .entry-content .ig-about-page h2::after {
  display: none !important;
  content: none !important;
}

body.ig-about-surface .ig-about-page__hero h2 {
  font-size: clamp(1.8rem, 4vw, 2.7rem);
  letter-spacing: -0.02em;
}

body.ig-about-surface .ig-about-page section > h2 {
  font-size: clamp(1.35rem, 3vw, 1.9rem);
}

body.ig-about-surface .article-footer {
  margin-top: 2.5rem;
}

/* Defensive width guards for the two new editorial surfaces. */
body.ig-exam-hub-surface .ig-exam-hub,
body.ig-about-surface .ig-about-page,
body.ig-about-surface .ig-about-page > *,
body.ig-exam-hub-surface .ig-exam-hub > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  body.ig-about-surface .entry-title {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .ig-about-page__category {
    overflow-wrap: anywhere;
  }

  .ig-exam-topic-links a {
    max-width: 100%;
    box-sizing: border-box;
  }
}
/* === WO_IG_SEO_DESIGN_003D2_END === */
