@charset "UTF-8";

/* ---------------------------------
  Color variables (reused across the page)
----------------------------------*/
:root {
  --color-navy: #00204c;
  --color-navy-soft: #22314f;
  --color-white: #fff;

  --color-blue-bg: #e4f3ff;
  --color-blue-accent: #2f6fd1;

  --color-pink: #D6357D;

  --color-orange: #f8730f;
  --color-orange-bg: #fff1e3;

  --color-border: #CADCF6;

  --color-thanks-blue-1: #0C5AAF;
  --color-thanks-blue-2: #02277B;

  --color-cream-bg: #FFF8EC;

  --color-rust: #CF6930;

  --color-blue-strong: #004AAF;

  --color-error: #D92B2B;

  --color-yellow-bg: #fff1b3;
  --color-yellow: #ffda00;
  --color-highlight: #ffe066;
  --color-highlight-strong: #e8c400;

  --color-banner-blue-1: #0e63c4;
  --color-banner-blue-2: #0a4ea0;
  --color-banner-blue-3: #063577;
  --color-banner-blue-4: #041f4e;
  --color-banner-sep: #bcd2ee;
  --color-banner-company: #d7e4f5;

  --color-footer-navy: #032c80;

  /* Font-size scale (PC baseline is 14px; --fs-3xs is a documented
     exception used only by .ai-summary__note) */
  --fs-3xs: 12px;
  --fs-2xs: 14px;
  --fs-xs: 15px;
  --fs-sm: 16px;
  --fs-md: 18px;
  --fs-md2: 19px;
  --fs-lg: 20px;
  --fs-lg2: 21px;
  --fs-xl2: 24px;
  --fs-2xl: 26px;
  --fs-3xl: 28px;
  --fs-3xl2: 30px;
  --fs-4xl: 34px;
  --fs-5xl: 36px;

  --fs-sp-base: 1.1rem;
  --fs-sp-md: 1.2rem;
  --fs-sp-lg: 1.35rem;
  --fs-sp-xl: 1.55rem;
  --fs-sp-2xl: 1.7rem;
  --fs-sp-3xl: 1.8rem;
  --fs-sp-4xl: 2.2rem;
  --fs-sp-5xl: 2.4rem;
  --fs-sp-6xl: 3.5rem;
}

/* ---------------------------------
  Reset / base
----------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  color: var(--color-white);
  font-weight: 700;
  color: var(--color-navy);
}

img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
}

/* ---------------------------------
  Common
----------------------------------*/
.pc {
  display: block;
}
.sp {
  display: none;
}
@media (max-width: 767px) {
  .pc {
    display: none!important;
  }
  .sp {
    display: block;
  }
}

/* ---------------------------------
  AI trend section
  .ai-trend / .ai-trend__* = shared parts common to every AI trend
  section below. Each <section> also carries its own modifier
  (.ai-trend--shift, .ai-trend--trust, ...) to identify which
  section it is; add section-only rules under that modifier.
----------------------------------*/
.ai-trend {
  color: var(--color-navy-soft);
  padding-bottom: 78px;
}

/* Section: "歯科医院の集患も変わり始めています" (search behaviour shift) */
.ai-trend--shift {
}

/* Section: "AIが探しているのは信頼できる情報です" (trust / reliable info) */
.ai-trend--trust {
}

/* Section: "AIは引用できるサイトを探しています" (citable sites / reference) */
.ai-trend--reference {
}

/* Section: "実は、ほとんどの医院が対策していません" (measures / content SEO) */
.ai-trend--measures {
}

/* Section: "このセミナーで得られること" (gain) */
.ai-trend--gain {
}

/* Section: "セミナー内容詳細" (program) */
.ai-trend--program {
}

/* Section: "なぜ歯科医院特化なのか" (why) */
.ai-trend--why {
  padding-top: 60px;
  background: var(--color-blue-bg);
}

/* Section: "講師紹介" (introduction) */
.ai-trend--introduction {
  padding: 120px 0;
}

.ai-trend--introduction .ai-trend__inner {
  max-width: 1000px;
}

/* Section: "参加するメリット・他との違い" (merit) */
.ai-trend--merit {
}

/* Section: "セミナー終了後にはこんな疑問を整理できます" (question) */
.ai-trend--question {
  padding: 120px 0;
}

.ai-trend--question .ai-trend__lead-title {
  text-align: center;
  margin-bottom: 40px;
}

/* Section: "開催概要・参加方法" (summary) */
.ai-trend--summary {
  padding: 120px 0;
}

/* Section: "よくある質問" (common) */
.ai-trend--common {
  padding: 120px 0;
}

.ai-trend--common .ai-trend__lead-title {
  text-align: center;
  margin-bottom: 40px;
}

/* Section: "5年前と同じ集患方法が、5年後も通用するとは限りません。" (yers) */
.ai-trend--yers {
  background: var(--color-cream-bg);
  padding: 120px 0;
}

.ai-trend--yers .ai-trend__lead-title {
  text-align: center;
  margin-bottom: 32px;
}

.ai-trend__figure--devices img {
  width: 100%;
  max-width: 660px;
}

.ai-trend__figure--flow {
  margin-top: 40px;
  margin-bottom: 28px;
}

.ai-trend__figure--flow img {
  width: 100%;
  max-width: 540px;
}

.ai-trend__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Flag tag (parallelogram) */
.ai-trend__tag {
  max-width: 530px;
  display: block;
  width: fit-content;
  padding: 11px 32px;
  margin: 0 auto 12px;
}

.ai-trend__lead {
  background: var(--color-yellow-bg);
  margin: 80px 0 32px 0;
  padding: 48px 20px 42px;
  text-align: center;
}

.ai-trend__lead-title {
  font-size: var(--fs-4xl);
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-navy);
}

/* Character tiles (navy) e.g. 集患 */
.ai-trend__mark {
  display: inline-flex;
  vertical-align: -0.2em;
  height: 1.6em;
}

/* Character tiles built from text (no image asset) e.g. 役割, 歯科集患 */
.ai-trend__tile-set {
  display: inline-flex;
  vertical-align: -0.15em;
  --tile-size: 1.5em;
}

/* Highlight marker */
.ai-trend__hl {
  background: linear-gradient(transparent 62%, var(--color-highlight) 62%);
}

.ai-trend__hl--strong {
  background: linear-gradient(transparent 58%, var(--color-highlight-strong) 58%);
}

/* Section boxes */
.ai-trend__box {
  border-radius: 5px;
  padding: 32px 32px 0 32px;
  margin: 0 auto 34px;
}

.ai-trend__box--blue {
  background: var(--color-blue-bg);
}

.ai-trend__box--outline {
  padding: 0;
}

.ai-trend__box--white {
  background: var(--color-white);
}

/* Modifier (used by .ai-trend--trust): box needs bottom padding too, e.g. when it wraps nested boxes */
.ai-trend__box--pad-bottom {
  padding-bottom: 32px;
}

/* Modifier (used by .ai-trend--trust): drop the box's own bottom margin, e.g. when nested inside another box */
.ai-trend__box--flush {
  margin-bottom: 0;
}

/* Before box (search illustration) */
.ai-trend__before {
  display: flex;
  align-items: center;
  gap: 32px;
}

.ai-trend__before-media {
  flex: 0 0 auto;
  width: 41%;
  max-width: 260px;
}

.ai-trend__before-body {
  flex: 1 1 auto;
  text-align: center;
}

.ai-trend__before-lead {
  font-size: var(--fs-sm);
  font-weight: 700;
  margin-bottom: 14px;
}

.ai-trend__search-list img {
  margin: 0 auto;
  width: 80%;
}

.ai-trend__before-note {
  line-height: 1.9;
  margin-top: 16px;
  font-size: var(--fs-sm);
  font-weight: 700;
}

.ai-trend__accent {
  color: var(--color-blue-accent);
  font-weight: 700;
}

/* Dots */
.ai-trend__dots {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}

.ai-trend__dots--v {
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.ai-trend__dots--v i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--color-navy);
  display: block;
}

.ai-trend__dots--h {
  letter-spacing: 6px;
  color: var(--color-navy);
  font-weight: 700;
  font-size: var(--fs-lg);
}

/* Flag point (pill with pointer) */
.ai-trend__flagpoint {
  display: flex;
  justify-content: center;
  margin-bottom: 22px;
}

.ai-trend__pill {
  position: relative;
  display: inline-block;
  background: var(--color-navy);
  color: var(--color-white);
  font-weight: 700;
  font-size: var(--fs-xs);
  padding: 9px 24px;
  border-radius: 20px;
}

.ai-trend__pill::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid var(--color-navy);
}

/* Headings */
.ai-trend__heading {
  text-align: center;
  font-size: var(--fs-3xl);
  font-weight: 700;
  line-height: 1.55;
  color: var(--color-navy);
  margin-bottom: 24px;
}

.ai-trend__heading--sm2 {
  font-size: var(--fs-lg2);
}

.ai-trend__heading--pink {
  color: var(--color-pink);
  font-size: var(--fs-5xl);
}

.ai-trend__heading--rust {
  color: var(--color-pink);
  font-size: var(--fs-5xl);
}

.ai-trend__heading--pink-sm2 {
  color: var(--color-pink);
  font-size: var(--fs-3xl);
  margin-bottom: 6px;
}

.ai-trend__lead-text {
  text-align: center;
  font-size: var(--fs-xs);
  line-height: 1.9;
  margin-bottom: 26px;
}

.ai-trend__body-text {
  font-size: var(--fs-xs);
  line-height: 1.9;
  margin-bottom: 22px;
}

.ai-trend__small {
  text-align: center;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-navy-soft);
  margin-bottom: 4px;
}

/* Illustrations */
.ai-trend__figure {
  display: flex;
  justify-content: center;
}

.ai-trend__figure--woman {
  margin: -40px 0 36px 0;
}

.ai-trend__figure--woman img {
  max-width: 262px;
}

.ai-trend__figure--man img {
  max-width: 200px;
}

.ai-trend__arrow {
  margin-bottom: 47px;
}

.ai-trend__arrow img {
  display: block;
  margin: 0 auto;
  width: 134px;
}

/* Character tiles (pink) e.g. AIに医院を聞く / 大きな機会 */
.ai-trend__tiles {
  display: block;
  margin: 0 auto 26px;
  width: 80%;
}

/* Question box */
.ai-trend__questions {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 24px;
}

.ai-trend__q-list {
  list-style: none;
  width: 45%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ai-trend__q-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--color-white);
  border-radius: 8px;
  padding: 12px 16px;
  font-size: var(--fs-2xs);
  font-weight: 700;
  color: var(--color-navy-soft);
  line-height: 1.6;
}

.ai-trend__q-list li img {
  width: 30px;
}

/* .ai-trend--shift only: sizing hook for the trend12.png heading image */
.trend12 {
  display: block;
  margin: 0 auto;
  width: 70%;
}

.ai-trend__diagram {
  display: flex;
  justify-content: center;
}

.ai-trend__diagram img {
  width: 100%;
  max-width: 620px;
}

.ai-trend__diagram--compare {
  margin-bottom: 22px;
  background: var(--color-blue-bg);
  padding: 26px 56px;
  border-radius: 5px;
}

.ai-trend__diagram--compare img {
  max-width: 100%;
  border-radius: 5px;
}

/* Point box */
.ai-trend__point {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 32px;
  gap: 26px;
}

.ai-trend__point-head {
  max-width: 58px;
}

.ai-trend__point p {
  font-size: var(--fs-md);
}

/* Modifier (used by .ai-trend--trust): point row nested inside another box (no own padding/bg) */
.ai-trend__point--flush {
  padding: 0 0 18px;
}

.ai-trend__accent--pink {
  color: var(--color-pink);
  font-weight: 700;
}

/* CTA button (image asset) */
.ai-trend__cta {
  display: block;
  max-width: 620px;
  margin: 0 auto;
  transition: opacity 0.2s ease;
}

.ai-trend__cta:hover {
  opacity: 0.85;
}

/* .ai-trend--trust only: laptop illustration + reference list row */
.ai-trust__row {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 28px;
}

.ai-trust__media {
  flex: 0 0 auto;
  width: 41%;
  max-width: 260px;
}

.ai-trust__body {
  flex: 1 1 auto;
}

.ai-trust__list img {
  margin: 0 auto;
  width: 100%;
}

/* ---------------------------------
  .ai-reference__* = section-only parts used by .ai-trend--reference
----------------------------------*/

/* 01/02/03 evaluation-criteria banners */
.ai-reference__criteria {
  margin-bottom: 30px;
}

.ai-reference__criteria--last {
  margin-bottom: 34px;
}

.ai-reference__criteria-banner {
  margin-bottom: 18px;
}

.ai-reference__criteria-banner img {
  width: 100%;
}

/* Content-type recommendation cards */
.ai-reference__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.ai-reference__card-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--color-navy);
  color: var(--color-white);
  border-radius: 6px;
  font-size: var(--fs-xs);
  font-weight: 700;
  padding: 10px 14px;
  margin-bottom: 10px;
}

.ai-reference__card-head img {
  width: 22px;
  flex-shrink: 0;
}

.ai-reference__card-lead {
  font-size: var(--fs-2xs);
  font-weight: 700;
  color: var(--color-navy-soft);
  text-align: center;
  margin-bottom: 10px;
}

/* Shared pill-style bullet list (used by .ai-trend--reference and .ai-trend--measures) */
.ai-trend__bullet-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ai-trend__bullet-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--color-white);
  border-radius: 8px;
  padding: 9px 12px;
  font-size: var(--fs-2xs);
  font-weight: 700;
  color: var(--color-navy-soft);
  line-height: 1.6;
}

.ai-trend__bullet {
  max-width: 30px;
}

/* .ai-trend--measures only: narrower, centered pill list (per mockup) */
.ai-trend--measures .ai-trend__bullet-list {
  max-width: 350px;
  margin: 0 auto;
}

/* Illustration */
.ai-reference__media {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

.ai-reference__media img {
  width: 100%;
  max-width: 360px;
}

/* Clinic case-study stat blocks */
.ai-reference__stats {
  margin-bottom: 30px;
}

.ai-reference__clinic {
  margin-bottom: 22px;
}

.ai-reference__clinic:last-child {
  margin-bottom: 0;
}

.ai-reference__clinic-name {
  width: fit-content;
  margin: 0 auto 12px;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 6px 22px;
  font-size: var(--fs-2xs);
  font-weight: 700;
  color: var(--color-navy);
  text-align: center;
}

.ai-reference__figures {
  display: flex;
  gap: 14px;
}

.ai-reference__figure {
  flex: 1 1 0;
  border-radius: 5px;
  padding: 16px 10px;
  text-align: center;
}

.ai-reference__figure--orange {
  background: var(--color-orange-bg);
}

.ai-reference__figure--blue {
  background: var(--color-blue-bg);
}

.ai-reference__figure-label {
  display: block;
  font-size: var(--fs-2xs);
  font-weight: 700;
  margin-bottom: 6px;
}

.ai-reference__figure--orange .ai-reference__figure-label {
  color: var(--color-orange);
}

.ai-reference__figure--blue .ai-reference__figure-label {
  color: var(--color-navy);
}

.ai-reference__figure-value {
  display: block;
  font-size: var(--fs-5xl);
  font-weight: 700;
  color: var(--color-navy);
}

.ai-reference__figure--orange .ai-reference__figure-value {
  color: var(--color-orange);
}

.ai-reference__figure-value em,
.ai-reference__figure-value b {
  font-size: var(--fs-2xs);
  font-style: normal;
  font-weight: 700;
}

/* Milestone stat bars */
.ai-reference__milestones {
  margin-bottom: 22px;
}

.ai-reference__milestone {
  background: var(--color-navy);
  color: var(--color-white);
  text-align: center;
  font-size: var(--fs-xl2);
  font-weight: 700;
  padding: 16px 12px;
  margin-bottom: 8px;
}

.ai-reference__milestone:last-child {
  margin-bottom: 0;
}

.ai-reference__milestone-num {
  color: var(--color-yellow);
}

.ai-reference__milestone-hl {
  color: var(--color-yellow);
}

/* ---------------------------------
  .ai-measures__* = section-only parts used by .ai-trend--measures
----------------------------------*/

/* Pie-chart + illustration image */
.ai-measures__chart {
  display: flex;
  justify-content: center;
  margin: 24px 0 30px;
}

.ai-measures__chart img {
  width: 100%;
  max-width: 560px;
}

/* Plain bordered list e.g. "治療についてある程度理解している" */
.ai-measures__plain-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 400px;
  margin: 24px auto 40px;
}

.ai-measures__plain-list li {
  text-align: center;
  background: var(--color-blue-bg);
  border: 2px solid var(--color-navy);
  border-radius: 4px;
  padding: 14px;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-navy);
}

/* "導入後の変化イメージ" timeline cards */
.ai-measures__timeline {
  margin-bottom: 34px;
}

.ai-measures__card {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-areas:
    "period badge"
    "figure body";
  column-gap: 32px;
  row-gap: 14px;
  align-items: start;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 32px 36px;
  margin-bottom: 24px;
}

.ai-measures__card:last-child {
  margin-bottom: 0;
}

.ai-measures__period {
  grid-area: period;
  align-self: end;
  color: var(--color-blue-accent);
  font-size: var(--fs-md);
  font-weight: 700;
}

.ai-measures__badge {
  grid-area: badge;
  background: var(--color-pink);
  color: var(--color-white);
  text-align: center;
  font-size: var(--fs-md);
  font-weight: 700;
  padding: 14px 20px;
  border-radius: 4px;
}

.ai-measures__figure {
  grid-area: figure;
  display: flex;
  justify-content: center;
}

.ai-measures__figure img {
  max-width: 200px;
}

.ai-measures__card-body {
  grid-area: body;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ai-measures__desc {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.8;
}

.ai-measures__stat {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px;
  background: var(--color-blue-bg);
  border-radius: 6px;
  padding: 20px 24px;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-navy);
}

.ai-measures__stat-value {
  color: var(--color-pink);
  font-size: var(--fs-2xl);
}

/* ---------------------------------
  .ai-gain__* = section-only parts used by .ai-trend--gain
----------------------------------*/

.ai-gain__kicker {
  text-align: center;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 16px;
}

.ai-trend__tile-heading {
  text-align: center;
  margin-bottom: 32px;
}

.ai-trend__tile-heading img {
  display: inline-block;
  max-width: 420px;
  width: 100%;
}

.ai-gain__lead {
  text-align: center;
  font-size: var(--fs-lg2);
  font-weight: 700;
  margin-bottom: 38px;
}

.ai-gain__list {
  list-style: none;
  margin-bottom: 36px;
}

.ai-gain__item {
  margin-bottom: 37px;
}

.ai-gain__item:last-child {
  margin-bottom: 0;
}

.ai-gain__banner {
  margin-bottom: 28px;
}

.ai-gain__banner img {
  width: 100%;
}

.ai-gain__desc {
  font-size: var(--fs-xs);
  line-height: 1.8;
  color: var(--color-navy);
}

/* ---------------------------------
  .ai-program__* = section-only parts used by .ai-trend--program
----------------------------------*/

.ai-program__note {
  text-align: center;
  font-size: var(--fs-2xs);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 32px;
}

.ai-program__list {
  list-style: none;
}

.ai-program__item {
  display: flex;
  align-items: center;
  gap: 24px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  padding: 28px 32px;
  margin-bottom: 12px;
}

.ai-program__item:last-child {
  margin-bottom: 0;
}

.ai-program__label {
  flex: 0 0 auto;
  width: 130px;
}

.ai-program__label img {
  display: block;
  max-width: 108px;
}

.ai-program__question {
  flex: 1 1 auto;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.6;
}

/* ---------------------------------
  .ai-why__* = section-only parts used by .ai-trend--why
----------------------------------*/

.ai-trend--why .ai-trend__tile-heading img {
  max-width: 275px;
}

.ai-why__compare {
  width: 100%;
  margin: 0 auto 34px;
}

.ai-why__note {
  text-align: center;
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 16px;
}

.ai-why__banner {
  max-width: 650px;
  margin: 0 auto 40px;
  padding: 16px 24px;
  background: var(--color-navy);
  border-radius: 4px;
  color: var(--color-white);
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

.ai-why__banner-hl {
  color: var(--color-yellow);
}

.ai-why__flow {
  display: block;
  max-width: 480px;
  width: 100%;
  margin: 0 auto 32px;
}

.ai-why__caption {
  text-align: center;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.8;
}

/* ---------------------------------
  .ai-intro__* = section-only parts used by .ai-trend--introduction
----------------------------------*/

.ai-intro__label {
  text-align: center;
  font-size: var(--fs-4xl);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 24px;
}

.ai-intro__banner {
  text-align: center;
  margin-bottom: 48px;
}

.ai-intro__banner img {
  display: inline-block;
  max-width: 600px;
  width: 100%;
}

.ai-intro__profile {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}

.ai-intro__photo {
  flex: 0 0 auto;
  width: 284px;
  text-align: center;
}

.ai-intro__photo img {
  display: block;
  width: 100%;
}

.ai-intro__name {
  margin: 20px 0 8px;
}

.ai-intro__name img {
  display: block;
  max-width: 136px;
  margin: 0 auto;
}

.ai-intro__role {
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-navy);
  white-space: nowrap;
}

.ai-intro__text {
  flex: 1 1 auto;
}

.ai-intro__desc {
  font-size: var(--fs-xs);
  line-height: 1.9;
  color: var(--color-navy);
  margin-bottom: 0;
}

.ai-intro__quote {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--color-pink);
  line-height: 1.8;
  margin: 14px 0;
}

/* ---------------------------------
  .ai-merit__* = section-only parts used by .ai-trend--merit
----------------------------------*/

.ai-trend--merit .ai-trend__small {
  margin-bottom: 20px;
}

.ai-merit__lead-sub {
  display: inline-block;
  font-size: var(--fs-3xl);
  margin-bottom: 8px;
}

.ai-merit__list {
  list-style: none;
  max-width: 320px;
  margin: 0 auto 20px;
}

.ai-merit__item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--color-white);
  border-radius: 6px;
  padding: 12px 20px;
  margin-bottom: 8px;
}

.ai-merit__item:last-child {
  margin-bottom: 0;
}

.ai-merit__icon {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
}

.ai-merit__text {
  flex: 1 1 auto;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-navy);
}

.ai-merit__sub {
  text-align: center;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.7;
  margin-bottom: 20px;
}

.ai-merit__note {
  text-align: center;
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.8;
}

/* ---------------------------------
  .ai-question__* = section-only parts used by .ai-trend--question
----------------------------------*/

.ai-question__list {
  list-style: none;
  margin-bottom: 40px;
}

.ai-question__item {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 10px;
}

.ai-question__item:last-child {
  margin-bottom: 0;
}

.ai-question__icon {
  flex: 0 0 auto;
  display: block;
  width: 60px;
}

.ai-question__text {
  flex: 1 1 auto;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-navy);
}

/* ---------------------------------
  .ai-summary__* = section-only parts used by .ai-trend--summary
----------------------------------*/

.ai-summary__heading {
  text-align: center;
  font-size: var(--fs-3xl);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 24px;
}

.ai-summary__title {
  text-align: center;
  margin-bottom: 40px;
}

.ai-summary__title img {
  display: inline-block;
  max-width: 358px;
  width: 100%;
}

.ai-summary__list {
  display: flex;
  gap: 40px;
  margin-bottom: 40px;
}

.ai-summary__col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
}

.ai-summary__row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 17px;
}

.ai-summary__label {
  flex: 0 0 auto;
  display: block;
  margin-top: 2px;
}

.ai-summary__label img {
  display: block;
  max-width: 74px;
  width: 100%;
}

.ai-summary__value {
  flex: 1 1 auto;
  font-size: var(--fs-md2);
  font-weight: 700;
  color: var(--color-navy);
  line-height: 1.3;
}

.ai-summary__note {
  font-size: var(--fs-3xs);
  font-weight: 400;
}

/* ---------------------------------
  .ai-common__* = section-only parts used by .ai-trend--common
----------------------------------*/

.ai-common__list {
  list-style: none;
}

.ai-common__item {
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 28px 32px;
  margin-bottom: 16px;
}

.ai-common__item:last-child {
  margin-bottom: 0;
}

.ai-common__question {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: var(--fs-lg2);
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 14px;
}

.ai-common__icon {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
}

.ai-common__answer {
  font-size: var(--fs-xs);
  line-height: 1.9;
  padding-left: 48px;
}

.ai-common__note {
  font-size: var(--fs-2xs);
  font-weight: 400;
}

/* ---------------------------------
  Seminar banner
----------------------------------*/
.seminar-banner {
  background: linear-gradient(120deg, var(--color-banner-blue-1) 0%, var(--color-banner-blue-2) 35%, var(--color-banner-blue-3) 70%, var(--color-banner-blue-4) 100%);
  padding: 34px 20px 30px;
  color: var(--color-white);
}

.seminar-banner__inner {
  max-width: 1080px;
  margin: 0 auto;
}

.seminar-banner__info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin-bottom: 22px;
}

.seminar-banner__dates {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.seminar-banner__row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.seminar-banner__icon {
  display: inline-flex;
  width: 26px;
  flex-shrink: 0;
}

.seminar-banner__icon svg {
  width: 100%;
  height: 100%;
}

.seminar-banner__date {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 700;
}

.seminar-banner__date .year,
.seminar-banner__zoom,
.seminar-banner__free {
  font-size: var(--fs-lg2);
}

.seminar-banner__date .time,
.seminar-banner__date  .week,
.seminar-banner__date .day em {
  font-size: var(--fs-lg);
}

.seminar-banner__date .day {
  font-size: var(--fs-3xl2);
}

.seminar-banner__date .day em {
  font-style: normal;
  margin: 0 1px;
}

.seminar-banner__zoom {
  font-weight: 700;
}

.seminar-banner__sep {
  margin: 0 2px;
  color: var(--color-banner-sep);
  font-weight: 400;
}

.seminar-banner__free {
  font-weight: 700;
}

.seminar-banner__divider {
  width: 1px;
  align-self: stretch;
  background: var(--color-white);
}

.seminar-banner__lecturer {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 10px;
}

.seminar-banner__badge {
  width: 100%;
  font-size: var(--fs-2xs);
  font-weight: 700;
  line-height: 1;
}

.seminar-banner__name {
  font-size: var(--fs-2xl);
  font-weight: 700;
}

.seminar-banner__company {
  font-size: var(--fs-2xs);
  color: var(--color-banner-company);
}

/* CTA button (image asset) */
.seminar-banner__cta {
  display: block;
  max-width: 640px;
  margin: 0 auto;
  transition: opacity 0.2s ease;
}

.seminar-banner__cta:hover {
  opacity: 0.85;
}

.seminar-banner__cta-img--sp {
  display: none;
}

.ai-trend--reference .ai-trend__point {
  padding: 16px;
}

.ai-trend__box--over {
  padding: 80px 0;
}

.ai-trend--reference .ai-trend__small {
  margin-bottom: 24px;
}

.ai-trend__figure--devices {
  margin: -26px 0 60px 0;
}

.ai-trend--yers .ai-trend__tile-set {
  --tile-size: 2em;
}

.ai-trend--yers .ai-trend__tile-set .ai-trend__mark {
  height: 2.4em;
}

.ai-trend--yers .ai-trend__heading {
  margin: 24px 0;
}

.ai-trend--yers .ai-trend__flex {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 4px;
}

.ai-trend--yers .ai-trend__flex img {
  max-height: 65px;
}

/* Section: application form (entry) */
.ai-trend--entry {
  background: var(--color-blue-bg);
  padding: 100px 0 120px;
}

.ai-form__heading {
  margin-bottom: 8px;
}

.ai-form__date {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 18px;
}

.ai-form__date-icon {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  display: block;
}

.ai-form__date-text {
  display: flex;
  align-items: baseline;
  font-weight: 700;
  color: var(--color-navy);
}

.ai-form__date-text .year {
  font-size: var(--fs-md);
}

.ai-form__date-text .day {
  font-size: var(--fs-3xl2);
}

.ai-form__date-text .day em {
  font-style: normal;
  font-size: var(--fs-md);
  margin: 0 1px;
}

.ai-form__date-text .time {
  font-size: var(--fs-md);
}

/* Contact Form 7 output styling */
.ai-form {
  max-width: 580px;
  margin: 0 auto;
}

.ai-form .hidden-fields-container {
  display: none;
}

.ai-form dl {
  background: var(--color-white);
  margin: 0;
  padding: 12px 40px 0;
  box-sizing: border-box;
}

.ai-form dl:first-of-type {
  padding-top: 32px;
  border-radius: 24px 24px 0 0;
}

.ai-form dl:last-of-type {
  padding-bottom: 48px;
  border-radius: 0 0 14px 14px;
  margin-bottom: 32px;
}

.ai-form dt {
  margin: 0 0 10px;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-navy);
}

.ai-form dd {
  margin: 0;
}

.ai-form .wpcf7-form-control-wrap {
  display: block;
}

.ai-form input.wpcf7-text {
  display: block;
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--color-blue-strong);
  border-radius: 4px;
  background: var(--color-blue-bg);
  font-size: var(--fs-sm);
  color: var(--color-navy);
  box-sizing: border-box;
}

.ai-form input.wpcf7-text::placeholder {
  color: var(--color-navy-soft);
}

.ai-form .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 28px;
}

.ai-form .wpcf7-list-item {
  margin: 0;
}

.ai-form .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-navy);
  cursor: pointer;
}

.ai-form input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--color-blue-strong);
}

.ai-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  font-size: var(--fs-2xs);
  font-weight: 700;
  color: var(--color-error);
}

.ai-form .text-center {
  text-align: center;
}

.ai-form input[type="submit"] {
  display: inline-block;
  width: 100%;
  max-width: 480px;
  aspect-ratio: 1200 / 160;
  border: none;
  border-radius: 999px;
  background: url("img/form02_pc.png") no-repeat center / 100% 100%;
  color: transparent;
  font-size: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.ai-form .wpcf7-spinner {
  display: block;
  margin: 12px auto 0;
}

.ai-form .wpcf7-response-output {
  max-width: 580px;
  margin: 20px auto 0;
  padding: 12px 20px;
  border-radius: 8px;
  font-size: var(--fs-xs);
  font-weight: 700;
  text-align: center;
  box-sizing: border-box;
}


/* ---------------------------------
  Footer
----------------------------------*/
.lp-footer {
  background: var(--color-footer-navy);
  padding: 24px 20px;
  text-align: center;
}

.footer__text {
  color: var(--color-white);
  font-size: var(--fs-2xs);
  font-weight: 700;
  letter-spacing: 0.04em;
}

/* ---------------------------------
  Fixed CTA bar (appears after scrolling past the hero banner)
----------------------------------*/
.fixed-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 500;
  background: linear-gradient(120deg, var(--color-banner-blue-1) 0%, var(--color-banner-blue-2) 35%, var(--color-banner-blue-3) 70%, var(--color-banner-blue-4) 100%);
  color: var(--color-white);
  padding: 20px;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.fixed-cta.is-visible {
  transform: translateY(0);
}

body.has-fixed-cta {
  padding-bottom: 80px;
}

.fixed-cta__inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.fixed-cta__info {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  font-weight: 700;
}

.fixed-cta__date {
  display: flex;
  align-items: baseline;
  gap: 2px;
}

.fixed-cta__date .year {
  font-size: var(--fs-md);
}

.fixed-cta__date .day {
  font-size: var(--fs-3xl2);
}

.fixed-cta__date .day em {
  font-style: normal;
  font-size: var(--fs-md);
  margin: 0 1px;
}

.fixed-cta__date .time {
  font-size: var(--fs-md);
}

.fixed-cta__sub {
  font-size: var(--fs-md);
}

.fixed-cta__sep {
  margin: 0 4px;
  font-weight: 400;
  color: var(--color-banner-sep);
}

.fixed-cta__btn {
  display: block;
  flex: 0 0 auto;
  max-width: 380px;
  transition: opacity 0.2s ease;
}

.fixed-cta__btn:hover {
  opacity: 0.85;
}

.fixed-cta__btn img {
  width: 100%;
  height: auto;
}

.required-mark {
  color: var(--color-pink);
}

/* ---------------------------------
  SP layout (max-width: 767px)
----------------------------------*/
@media (max-width: 767px) {
  .seminar-banner {
    padding: 14px;
  }

  .seminar-banner__info {
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
  }

  .seminar-banner__dates {
    display: none;
  }

  .seminar-banner__icon {
    width: 16px;
  }

  .seminar-banner__date {
    flex-wrap: wrap;
    gap: 0;
  }

  .seminar-banner__date .year {
    width: 100%;
  }

  .seminar-banner__row--top {
    align-items: baseline;
  }

  .seminar-banner__date .year,
  .seminar-banner__date .day,
  .seminar-banner__date .time,
  .seminar-banner__row--sub {
    font-size: var(--fs-sp-xl);
  }

  .seminar-banner__date .day em {
    font-size: var(--fs-sp-lg);
  }

  .seminar-banner__row--sub {
    gap: 0;
  }

  .seminar-banner__zoom {
    margin-left: 8px;
  }

  .seminar-banner__lecturer {
    width: 100%;
    gap: 0;
  }

  .seminar-banner__badge {
    font-size: var(--fs-sp-lg);
  }

  .seminar-banner__name {
    font-size: var(--fs-sp-4xl);
  }

  .seminar-banner__company {
    width: 100%;
    font-size: var(--fs-sp-base);
    font-weight: normal;
  }

  .seminar-banner__cta {
    max-width: 100%;
  }

  .seminar-banner__cta-img--sp {
    display: block;
  }

  /* --- AI trend section --- */
  .ai-trend {
    padding-bottom: 36px;
  }

  .ai-trend__inner {
    padding: 0 8px;
  }

  .ai-trend__tag {
    padding: 0;
    margin-bottom: 16px;
  }

  .ai-trend__lead {
    margin: 40px 0 32px 0;
    padding: 28px 0 26px;
  }

  .ai-trend__lead-title {
    font-size: var(--fs-sp-5xl);
    line-height: 1.6;
    text-align: center;
  }

  .ai-trend__box {
    padding: 12px 6px;
    margin-bottom: 22px;
  }

  .ai-trend__box--pad-bottom {
    padding: 24px 12px;
  }

  .ai-trend__before {
    flex-direction: column;
    gap: 16px;
  }

  .ai-trend__before-media {
    display: none;
  }

  .ai-trend__search-list {
    display: flex;
    justify-content: center;
    gap: 10px;
  }

  .ai-trend__search-list img {
    margin: 0;
    width: 60%;
    height: auto;
  }

  .ai-trend__search-list img:first-child {
    width: 26%;
  }

  .ai-trend__before-lead {
    font-size: var(--fs-sp-lg);
    text-align: center;
    margin-bottom: 12px;
  }

  .ai-trend__arrow {
    margin-bottom: 24px;
  }

  .ai-trend__search-list li {
    font-size: var(--fs-sp-lg);
    padding: 10px 12px;
  }

  .ai-trend__before-note {
    font-size: var(--fs-sp-lg);
    margin-top: 8px;
  }

  .ai-trend__heading {
    font-size: var(--fs-sp-4xl);
    margin-bottom: 16px;
  }

  .ai-trend__heading--sm2 {
    font-size: var(--fs-sp-4xl);
  }

  .ai-trend--shift .ai-trend__heading--pink {
    font-size: var(--fs-sp-4xl);
  }

  .ai-trend__heading--rust {
    font-size: var(--fs-sp-xl);
  }

  .ai-trend__lead-text {
    font-size: var(--fs-sp-lg);
    margin-bottom: 18px;
  }

  .ai-trend--measures .ai-trend__lead-text {
    text-align: left;
  }

  .ai-trend__body-text {
    font-size: var(--fs-sp-lg);
    margin-bottom: 16px;
  }

  .ai-trend__figure {
    margin: 0 0 20px 0;
  }

  .ai-trend__figure--woman img {
    width: 190px;
  }

  .ai-trend__figure--man img {
    width: 100px;
  }

  .ai-trend__tiles,
  .trend12 {
    width: 90%;
  }

  .ai-trend__tiles span {
    font-size: var(--fs-sp-xl);
  }

  .ai-trend__q-list li {
    font-size: var(--fs-sp-xl);
    padding: 10px 18px;
    gap: 16px;
  }

  .ai-trend__diagram--compare {
    padding: 12px;
  }

  .ai-trend__q-list {
    width: 100%;
  }

  .ai-trend__figure--man {
    align-self: flex-end;
    position: absolute;
    right: 4px;
    bottom: -12px;
    width: 28%;
  }

  .ai-trend__point {
    gap: 14px;
    padding: 12px;
  }

  .ai-trend__point p {
    font-size: var(--fs-sp-xl);
  }

  .ai-trend__point--flush {
    padding: 0 0 20px;
    gap: 16px;
  }

  .ai-trend--trust .ai-trend__point-head {
    max-width: 15%;
  }

  .ai-trend--reference .ai-trend__point-head {
    max-width: 10%;
  }

  .ai-trend__small {
    font-size: var(--fs-sp-lg);
  }

  .ai-trust__row {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 6px;
  }

  .ai-trust__media {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }

  .ai-trend--yers .ai-trend__tile-set .ai-trend__mark {
    height: 1.8em;
  }

  .ai-trend--yers .ai-trend__flex {
    display: flex;
    justify-content: center;
    align-items: end;
  }

  /* --- .ai-trend--reference only --- */
  .ai-reference__criteria {
    margin-bottom: 24px;
  }

  .ai-reference__criteria .ai-trend__body-text {
    padding: 0 2rem;
  }

  .ai-reference__criteria--last {
    margin-bottom: 28px;
  }

  .ai-reference__criteria-banner {
    margin-bottom: 12px;
  }

  .ai-reference__cards {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ai-reference__card-head {
    font-size: var(--fs-sp-2xl);
    padding: 10px 16px;
    gap: 8px;
  }

  .ai-reference__card-head img {
    width: 22px;
  }

  .ai-reference__card-lead {
    font-size: var(--fs-sp-lg);
    margin-bottom: 12px;
  }

  .ai-trend--reference .ai-trend__mark {
    height: 1.4em;
  }

  .ai-trend--merit .ai-trend__mark {
    height: 1.5em;
  }

  .ai-trend--merit .ai-trend__body-text {
    padding: 0 1rem;
  }

  .ai-trend__bullet-list li {
    font-size: var(--fs-sp-lg);
    padding: 10px 12px;
  }

  .ai-reference__media {
    margin-bottom: 22px;
  }

  .ai-reference__stats {
    margin-bottom: 22px;
  }

  .ai-reference__clinic-name {
    font-size: var(--fs-sp-lg);
  }

  .ai-reference__figure {
    padding: 16px 6px;
  }

  .ai-reference__figures {
    gap: 10px;
  }

  .ai-reference__figure-label {
    font-size: var(--fs-sp-lg);
  }

  .ai-reference__figure-value {
    font-size: var(--fs-sp-4xl);
  }

  .ai-reference__milestone {
    font-size: var(--fs-sp-lg);
    padding: 6px;
  }

  .ai-reference__milestone-num {
    font-size: var(--fs-sp-md);
  }

  .ai-trend__point-head {
    max-width: 30%;
  }

  .ai-measures__chart {
    margin: 16px 0 24px;
  }

  .ai-measures__plain-list {
    gap: 10px;
    max-width: none;
    margin: 16px 0 28px;
  }

  .ai-measures__plain-list li {
    font-size: var(--fs-sp-lg);
    padding: 6px 12px;
  }

  .ai-measures__timeline {
    margin-bottom: 24px;
  }

  .ai-measures__card {
    grid-template-columns: 100px 1fr;
    column-gap: 0;
    row-gap: 8px;
    padding: 14px 14px 0 6px;
    margin-bottom: 16px;
  }

  .ai-measures__period {
    text-align: center;
    font-size: var(--fs-sp-lg);
  }

  .ai-measures__badge {
    font-size: var(--fs-sp-lg);
    padding: 8px 10px;
  }

  .ai-measures__figure {
    height: 100%;
    align-items: end;
  }

  .ai-measures__figure img {
    max-width: 100%;
  }

  .ai-measures__card-body {
    gap: 6px;
    padding-bottom: 14px;
  }

  .ai-measures__desc {
    font-size: var(--fs-sp-lg);
    line-height: 1.7;
  }

  .ai-measures__stat {
    gap: 0;
    padding: 4px 14px;
    font-size: var(--fs-sp-lg);
  }

  .ai-measures__stat-value {
    font-size: var(--fs-sp-lg);
  }

  .ai-trend__box--over {
    background: var(--color-white);
    padding: 0;
  }

  .ai-trend__bullet-list {
    background: var(--color-blue-bg);
    padding: 12px;
    border-radius: 5px;
  }

  .ai-trend--measures .ai-trend__bullet-list {
    max-width: none;
    margin: 0;
  }

  .ai-trend--reference .ai-trend__small {
    margin-bottom: 0;
  }

  .ai-trend--measures .ai-trend__box--blue .ai-trend__lead-text {
    text-align: center;
  }

  .ai-trend__smallmargin {
    margin-bottom: 38px;
  }

  .ai-trend--measures .ai-trend__heading {
    font-size: var(--fs-2xl);
  }

  .ai-trend--measures .ai-trend__heading.f4xl {
    font-size: var(--fs-sp-4xl);
  }

  .ai-trend--gain {
    padding-bottom: 0;
  }

  .ai-gain__kicker {
    font-size: var(--fs-sp-4xl);
    margin-bottom: 12px;
  }

  .ai-trend__tile-heading {
    margin-bottom: 20px;
  }

  .ai-trend__tile-heading img {
    max-width: 280px;
  }

  .ai-gain__lead {
    font-size: var(--fs-sp-4xl);
    margin-bottom: 24px;
  }

  .ai-gain__list {
    padding: 0 1rem;
    margin-bottom: 24px;
  }

  .ai-gain__item {
    margin-bottom: 24px;
  }

  .ai-gain__banner {
    margin-bottom: 12px;
  }

  .ai-gain__desc {
    font-size: var(--fs-sp-lg);
    line-height: 1.7;
    padding: 0 1rem;
  }

  .ai-trend--gain .ai-trend__box--over {
    background: var(--color-blue-bg);
    padding: 32px 0;
  }

  .ai-program__note {
    text-align: left;
    font-size: var(--fs-sp-lg);
    margin-bottom: 20px;
    padding: 0 1rem;
  }

  .ai-program__item {
    gap: 12px;
    padding: 16px;
    margin-bottom: 10px;
  }

  .ai-program__label {
    width: 88px;
  }

  .ai-program__label img {
    max-width: 82px;
  }

  .ai-program__question {
    font-size: var(--fs-sp-lg);
    line-height: 1.6;
  }

  .ai-trend--why {
  padding-top: 30px;
  }

  .ai-trend--why .ai-trend__tile-heading img {
    max-width: 200px;
  }

  .ai-why__note {
    font-size: var(--fs-sp-lg);
    margin-bottom: 6px;
  }

  .ai-trend--why     .ai-trend__tile-heading {
    margin-bottom: 0;
  }

  .ai-why__banner {
    max-width: none;
    margin-bottom: 24px;
    padding: 14px 20px;
    font-size: var(--fs-sp-lg);
    line-height: 1.6;
  }

  .ai-why__flow {
    max-width: 320px;
    margin-bottom: 20px;
  }

  .ai-why__caption {
    font-size: var(--fs-sp-lg);
    line-height: 1.7;
  }

  .ai-trend--introduction {
    padding: 60px 1rem;
  }

  .ai-trend--introduction .ai-trend__inner {
    max-width: none;
  }

  .ai-intro__label {
    font-size: var(--fs-sp-3xl);
    margin-bottom: 16px;
  }

  .ai-intro__banner {
    margin-bottom: 24px;
  }

  .ai-intro__profile {
    flex-direction: column;
    align-items: center;
    gap: 0;
    text-align: center;
  }

  .ai-intro__photo {
    width: 200px;
  }

  .ai-intro__name {
    margin: 16px 0 8px;
  }

  .ai-intro__name img {
    max-width: 120px;
    margin: 0 auto;
  }

  .ai-intro__text {
    width: 100%;
    margin-top: 24px;
    text-align: left;
  }

  .ai-intro__desc {
    font-size: var(--fs-sp-lg);
    line-height: 1.8;
    margin-bottom: 16px;
  }

  .ai-intro__quote {
    font-size: var(--fs-sp-xl);
    margin: 8px 0 20px;
  }

  .ai-trend--measures .ai-trend__hl {
    font-size: var(--fs-sp-6xl);
  }

  .ai-merit__lead-sub {
    font-size: var(--fs-sp-xl);
    margin-bottom: 4px;
  }

  .ai-merit__list {
    max-width: none;
  }

  .ai-merit__item {
    padding: 12px 16px;
  }

  .ai-merit__text {
    font-size: var(--fs-sp-lg);
  }

  .ai-merit__sub {
    font-size: var(--fs-sp-lg);
    margin-bottom: 16px;
  }

  .ai-merit__note {
    text-align: left;
    font-size: var(--fs-sp-xl);
  }

  .ai-trend--question {
    padding: 60px 0;
  }

  .ai-question__list {
    margin-bottom: 24px;
  }

  .ai-question__item {
    gap: 4px;
    padding: 12px 4px;
  }

  .ai-question__icon {
    width: 42px;
  }

  .ai-question__text {
    font-size: var(--fs-sp-xl);
  }

  .ai-trend--summary {
    padding: 60px 0;
  }

  .ai-summary__heading {
    font-size: var(--fs-sp-xl);
    margin-bottom: 16px;
  }

  .ai-summary__title {
    margin-bottom: 24px;
  }

  .ai-summary__title img {
    max-width: 280px;
  }

  .ai-summary__list {
    flex-direction: column;
    gap: 0;
    margin-bottom: 24px;
  }

  .ai-summary__value {
    font-size: var(--fs-sp-xl);
  }

  .ai-trend--common {
    padding: 60px 0;
  }

  .ai-common__item {
    padding: 20px;
  }

  .ai-common__question {
    font-size: var(--fs-sp-xl);
    gap: 10px;
    margin-bottom: 10px;
  }

  .ai-common__icon {
    width: 24px;
    height: 24px;
  }

  .ai-common__answer {
    font-size: var(--fs-sp-lg);
    padding-left: 34px;
  }

  .ai-trend--yers {
    padding: 60px 0;
  }

  .ai-trend--yers .ai-trend__body-text {
    padding: 0 1rem;
  }

  .ai-trend--yers .ai-trend__lead-title {
    font-size: var(--fs-sp-4xl);
    margin-bottom: 20px;
  }

  .ai-trend__figure--flow {
    margin-top: 24px;
  }

  .ai-trend--yers .ai-trend__heading {
    margin: 0 0 12px;
    font-size: var(--fs-sp-4xl);
  }

  .ai-trend--yers .ai-trend__heading--rust {
    font-size: var(--fs-sp-4xl);
  }

  .ai-trend--yers .ai-trend__flex img {
    max-height: 45px;
  }

  .ai-trend--yers  .ai-trend__small {
    text-align: center;
  }

  .ai-trend--yers  .ai-trend__small.ai-trend__sleft {
    text-align: left;
  }

  .ai-trend--entry {
    padding: 60px 0 80px;
  }

  .ai-trend--entry .ai-trend__heading {
    font-size: var(--fs-sp-4xl);
    line-height: 1.6;
  }

  .ai-form__heading,
  .ai-form__date {
    margin-bottom: 28px;
  }

  .ai-form dl {
    padding: 8px 24px 0;
  }

  .ai-form dl:first-of-type {
    padding-top: 32px;
    border-radius: 16px 16px 0 0;
  }

  .ai-form dl:last-of-type {
    padding-bottom: 32px;
    border-radius: 0 0 16px 16px;
  }

  .ai-form .wpcf7-radio {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 12px 32px;
  }

  .ai-form input[type="submit"] {
    aspect-ratio: 660 / 120;
    background-image: url("img/form02_sp.png");
  }

  .ai-form__date-text .year,
  .ai-form__date-text .day,
  .ai-form__date-text .time {
    font-size: var(--fs-sp-3xl);
  }

  body.has-fixed-cta {
    padding-bottom: 108px;
  }

  .fixed-cta {
    padding: 10px 16px;
  }

  .fixed-cta__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .fixed-cta__info {
    justify-content: center;
    gap: 0;
  }

  .fixed-cta__date .year,
  .fixed-cta__date .day em,
  .fixed-cta__date .week,
  .fixed-cta__date .time,
  .fixed-cta__sub {
    font-size: var(--fs-sp-xl);
  }

  .fixed-cta__date .day {
    font-size: var(--fs-sp-2xl);
  }

  .fixed-cta__btn {
    max-width: none;
  }
}



/* ---------------------------------
  thanksseminar.php
----------------------------------*/
.thanks_main .lp_mv {
  padding-bottom: 0;
}

.thanks_main .lp_container {
  margin-top: 2rem;
}

.thanks_main .lp_container h3 {
  background: linear-gradient(to bottom, var(--color-thanks-blue-1), var(--color-thanks-blue-2));
  color: var(--color-white);
  padding: 0 1rem;
  text-align: center;
}

.thanks_main a:hover {
  text-decoration: underline;
}

a.logo .respon {
  width: 50%;
}

@media (max-width: 767px) {
  .thanks_main .lp_container h3 {
    margin-bottom: 1rem;
  }
  .thanks_main p {
    font-size: 16px;
  }
}