:root {
  --blue: #0368fd;
  --cyan: #16c9cc;
  --cyan-2: #69ccf6;
  --sky: #01cff8;
  --text: #48484a;
  --text-dark: #1c1c1e;
  --muted: #8e8e93;
  --border: #e5e5ea;
  --logo: #4a7b89;
  --footer: #48484a;
  --white: #ffffff;
  --inner: 1280px;
  --gutter: 80px;
  --font-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  --font-serif: "Noto Serif JP", "Noto Serif", serif;
  --font-en: "Sora", "Noto Sans JP", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: var(--font-sans);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
}

.inner {
  width: min(100% - 40px, var(--inner));
  margin-inline: auto;
}

.center {text-align:center; font-weight:bold;}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 186px;
  max-width: 100%;
  height: 60px;
  padding: 0 24px;
  border-radius: 6px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.btn:hover {
  opacity: 0.9;
}

.btn--lg {
  min-width: 187px;
  font-size: 18px;
}

.btn--gradient {
  color: var(--white);
  background: linear-gradient(90deg, var(--cyan-2) 0%, var(--cyan) 100%);
  min-width: 230px;
}

.btn--endorse {
  min-width: calc(220px * 2 / 3);
  height: 53px;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 18px;
  font-weight: 700;
  background: linear-gradient(90deg, var(--cyan-2) 0%, var(--cyan) 100%);
}

.btn--outline-cyan {
  color: var(--cyan);
  background: var(--white);
  border: 2px solid var(--cyan);
}

.btn--on-blue {
  background: var(--white);
}

.tag {
  display: inline-flex;
  align-items: center;
  height: 17px;
  padding: 0 8px;
  border-radius: 4px;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.tag--blue {
  background: var(--blue);
}

.tag--cyan {
  background: var(--cyan);
}

.tag--muted {
  background: var(--muted);
}

.section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 48px;
}

.section-head__en {
  margin: 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.section-head__title {
  margin: 8px 0 0;
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.36;
}

.section-head__title::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 8px auto 0;
  background: var(--blue);
}

.section-head__sub {
  margin: 8px 0 0;
  color: var(--blue);
  font-size: 15px;
  line-height: 1.7;
}

.section-head__sub p {
  margin: 0;
}

.section-head__sub p + p {
  margin-top: 0.6em;
}

.section-head--light .section-head__en,
.section-head--light .section-head__title,
.section-head--light .section-head__sub {
  color: var(--white);
}

.section-head--light .section-head__title::after {
  background: var(--white);
}

.section-head--avatars {
  display: grid;
  grid-template-columns: 70px auto 70px;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-bottom: 40px;
}

.section-head--avatars .section-head__title::after {
  display: none;
}

.section-head--avatars .section-head__sub::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 8px auto 0;
  background: var(--blue);
}

.section-head__avatar {
  width: 70px;
  height: 70px;
}

.voice-avatar {
  position: relative;
  width: 70px;
  height: 70px;
}

.voice-avatar__crop {
  position: absolute;
  inset: 3px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--white);
}

.voice-avatar__crop img {
  position: absolute;
  left: 50%;
  top: 6px;
  width: 41px;
  height: 62px;
  max-width: none;
  object-fit: cover;
  object-position: top center;
  transform: translateX(-50%);
}

.voice-avatar--flip .voice-avatar__crop img {
  width: 39px;
  height: 57px;
  top: 10px;
  transform: translateX(-50%) scaleX(-1);
}

.voice-avatar__ring {
  position: absolute;
  inset: 0;
  width: 70px;
  height: 70px;
  max-width: none;
  pointer-events: none;
}

.site-header {
  position: relative;
  z-index: 200;
  isolation: isolate;
  height: 86px;
  background: var(--white);
  border-bottom: 1px solid var(--border);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100% - 40px, 1280px);
  height: 100%;
  margin: 0 auto;
  padding: 0;
}

.site-header__brand {
  display: flex;
  align-items: center;
  gap: 0;
}

.site-header__logo {
  width: 71px;
  height: 64px;
  object-fit: contain;
}

.site-header__name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--logo);
  white-space: nowrap;
}

.site-header__name-ja {
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.site-header__name-en {
  margin-top: -4px;
  color: var(--logo);
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.site-header__name-en-k {
  color: #09b7f6;
}

.site-header__name-en-s {
  color: #99e196;
}

.site-header__name-en-c {
  color: #fa963e;
}

.site-header__name-en-cc {
  color: #dddd3a;
}

.site-header__toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
}

.site-header__toggle span {
  display: block;
  width: 22px;
  height: 2px;
  margin: 5px auto;
  background: var(--text);
}

.site-header__nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.site-header__links {
  display: flex;
  align-items: stretch;
  height: 86px;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
}

.site-header__links > li {
  display: flex;
  align-items: center;
}

.site-header__links a {
  white-space: nowrap;
}

.site-header__links > .has-sub {
  position: relative;
}

.site-header__links > .has-sub > a {
  display: inline-flex;
  align-items: center;
}

.site-header__new {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 13px;
  margin-right: 6px;
  padding: 0 4px;
  border-radius: 2px;
  color: var(--white);
  background: #f79b4b;
  font-family: var(--font-en);
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

.site-header__links > .has-sub > a::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.site-header__sub {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 120;
  min-width: 200px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.site-header__links > .has-sub:hover .site-header__sub,
.site-header__links > .has-sub:focus-within .site-header__sub,
.site-header__links > .has-sub.is-sub-open .site-header__sub {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.site-header__sub a {
  display: block;
  padding: 10px 18px;
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  white-space: nowrap;
}

.site-header__sub a:hover,
.site-header__sub a:focus-visible {
  color: var(--blue);
  background: #f5f8ff;
}

.hero {
  position: relative;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
  height: 761px;
  background: #0a4db8;
}

.hero__photo,
.hero__shade,
.hero__wave {
  position: absolute;
  pointer-events: none;
}

.hero__photo {
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% center;
}

.hero__shade {
  top: 0;
  left: 0;
  z-index: 1;
  width: 876px;
  height: 619px;
  max-width: none;
}

.hero__wave {
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 506px;
  height: 220px;
  max-width: none;
}

.hero__inner {
  position: relative;
  z-index: 2;
  width: min(100% - 40px, 1280px);
  margin: 0 auto;
  padding: 57px 0 0;
}

.hero__badge {
  display: inline-flex;
  align-items: center;
  height: 27px;
  margin: 0 0 18px;
  padding: 0 12px;
  border-radius: 4px;
  color: var(--blue);
  background: var(--white);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
}

.hero__title {
  margin: 0;
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
}

.hero__lead {
  max-width: 603px;
  margin: 18px 0 24px;
  color: var(--white);
  font-size: 16px;
  line-height: 1.7;
}

.hero__lead strong {
  font-weight: 700;
}

.survey-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 426px;
  max-width: 100%;
  height: 91px;
  padding: 0 26px;
  border: 2px solid var(--white);
  border-radius: 4px;
  color: var(--white);
  background: linear-gradient(90deg, var(--blue) 0%, var(--sky) 100%);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.19;
}

.survey-btn__icon,
.survey-btn__arrow,
.survey-btn__glyph {
  flex-shrink: 0;
}

.survey-btn__icon {
  width: 39px;
  height: 39px;
}

.survey-btn__glyph {
  width: 40px;
  height: 40px;
  background: var(--white);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.survey-btn__glyph--x {
  width: 63px;
  height: 63px;
  -webkit-mask-image: url("../images/icon-x.png");
  mask-image: url("../images/icon-x.png");
}

.survey-btn--verify {
  padding-left: 14px;
  gap: 0;
}

.survey-btn__glyph--doc {
  width: 39px;
  height: 39px;
  -webkit-mask-image: url("../images/icon-doc.png");
  mask-image: url("../images/icon-doc.png");
}

.survey-btn__arrow {
  width: 19px;
  height: 32px;
  margin-left: auto;
}

.survey-btn--center {
  margin: 32px auto 0;
}

.survey-btn--wide {
  width: 510px;
  height: 91px;
}

.survey-btn--db {
  background: linear-gradient(90deg, var(--cyan) 0%, var(--sky) 100%);
}

.survey-btn__icon--home {
  width: 47px;
  height: 45px;
}

.survey-btn__sub {
  display: block;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.19;
}

.home-banner {
  display: block;
  width: min(100% - 160px, 1280px);
  margin: 64px auto 0;
}

.home-banner img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}

.home-banner:hover img {
  opacity: 0.92;
}

.home-banner:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 4px;
  border-radius: 20px;
}

.notice-box {
  position: relative;
  width: min(100% - 160px, 1280px);
  margin: 64px auto 64px;
  padding-top: 31px;
}

.notice-box__badge {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 502px);
  height: 62px;
  margin: 0;
  padding: 0 24px;
  transform: translateX(-50%);
  border-radius: 27.5px;
  color: var(--white);
  background: #f79b4b;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
}

.notice-box__panel {
  padding: 86px 66px 53px;
  border-radius: 24px;
  background: #f7f3ea;
}

.notice-box__text {
  color: var(--text);
  font-size: 20px;
  line-height: 1.79;
  text-align: center;
}

.notice-box__text p {
  margin: 0;
}

.notice-box__text p + p {
  margin-top: 1.79em;
}

.notice-box__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px 95px;
  margin-top: 48px;
}

.notice-box__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 23px;
  width: 510px;
  max-width: 100%;
  height: 91px;
  padding: 0 24px;
  border: 2px solid var(--cyan);
  border-radius: 6px;
  color: var(--cyan);
  background: var(--white);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.19;
  transition: opacity 0.2s ease;
}

.notice-box__cta:hover {
  opacity: 0.9;
}

.notice-box__cta-icon {
  flex-shrink: 0;
  width: 39px;
  height: 39px;
  background: var(--cyan);
  -webkit-mask: url("../images/icon-notes.png") center / contain no-repeat;
  mask: url("../images/icon-notes.png") center / contain no-repeat;
}

.news {
  display: flex;
  justify-content: center;
  padding: 74px 80px;
  background: var(--blue);
}

.news__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, 1280px);
  padding: 38px 65px 71px;
  border-radius: 11px;
  background: var(--white);
}

.news .section-head {
  margin-bottom: 32px;
}

.news__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 350px));
  justify-content: space-between;
  gap: 56px 24px;
  width: 100%;
  margin-bottom: 28px;
}

.news-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--white);
}

.news-card__link {
  display: block;
  color: inherit;
}

.news-card__image {
  position: relative;
  height: 180px;
  overflow: hidden;
}

.news-card__image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}

.news-card__image--placeholder {
  background: #f5f5f7;
}

.news-card__image--placeholder img {
  object-fit: contain;
  padding: 16px;
}

.news-card__new {
  position: absolute;
  top: 0;
  left: 0;
  width: 93px;
  height: 93px;
  overflow: hidden;
  color: transparent;
  font-size: 0;
}

.news-card__new::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 93px 93px 0 0;
  border-color: var(--blue) transparent transparent transparent;
}

.news-card__new::after {
  content: "NEW";
  position: absolute;
  top: 16px;
  left: 6px;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  transform: rotate(-45deg);
}

.news-card__body {
  padding: 24px;
}

.news-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.news-card__meta time {
  color: var(--muted);
  font-family: var(--font-en);
  font-size: 12px;
}

.news-card h3 {
  margin: 0;
  color: var(--text-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.vision {
  padding: 79px var(--gutter) 88px;
}

.vision__body {
  display: grid;
  grid-template-columns: 591px 1fr;
  gap: 65px;
  align-items: start;
  width: min(100%, var(--inner));
  margin: 0 auto;
}

.vision__illust {
  width: 591px;
  height: 438px;
  object-fit: contain;
}

.vision__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.vision__text h3 {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 3px solid var(--blue);
  color: var(--text);
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
}

.vision__text p {
  margin: 0 0 1em;
  font-size: 15px;
  line-height: 1.79;
}

.vision__text .btn {
  margin-top: 24px;
}

.direction-wrap {
  padding: 0 var(--gutter) 80px;
  background: var(--white);
}

.direction {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100%, var(--inner));
  margin: 0 auto;
  padding: 77px 66px 62px;
  border-radius: 18px;
  background: linear-gradient(120deg, #01cff8 3%, #0368fd 82%);
}

.direction .section-head {
  margin-bottom: 32px;
}

.direction__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 352px));
  gap: 47px;
  width: 100%;
  margin-bottom: 53px;
}

.direction-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 371px;
  padding: 36px 24px 24px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--white);
}

.direction-card h3 {
  margin: 0 0 12px;
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 23px;
  font-weight: 700;
  text-align: center;
}

.direction-card h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: 8px auto 0;
  background: var(--blue);
}

.direction-card img {
  width: auto;
  max-width: 280px;
  height: 273px;
  object-fit: contain;
}

.platform {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 80px var(--gutter) 80px;
}

.platform__lead {
  width: min(100%, 1148px);
  margin: 0 auto 48px;
  color: var(--text);
  text-align: center;
}

.platform__lead--intro {
  margin-top: 16px;
  margin-bottom: 48px;
  font-size: 18px;
  line-height: 1.6;
}

.platform__lead--join {
  margin-top: 48px;
  margin-bottom: 32px;
  font-size: 20px;
  line-height: 1.79;
}

.platform__lead p {
  margin: 0 0 1.6em;
}

.platform__lead p:last-child {
  margin-bottom: 0;
}

.platform__scene {
  width: min(100%, 1024px);
  margin: 0 auto;
}

.platform__scene img {
  display: block;
  width: 100%;
  height: auto;
}

.platform__cta {
  display: flex;
  width: 365px;
  min-width: 365px;
  height: 74px;
  margin: 0 auto;
  font-size: 18px;
}

.howto {
  padding: 66px var(--gutter) 80px;
  background: var(--blue);
}

.howto .section-head {
  margin-bottom: 62px;
}

.howto .section-head__sub {
  max-width: 40em;
}

.howto__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 335px));
  justify-content: center;
  gap: 57px 72px;
  width: min(100%, var(--inner));
  margin: 0 auto;
}

.howto-card {
  min-height: 0;
  padding: 20px 23px 22px;
  border-radius: 8px;
  background: var(--white);
}

.howto-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.howto-card__top span:first-child {
  color: var(--cyan);
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 700;
}

.howto-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--cyan);
}

.howto-card__icon img {
  width: 20px;
  height: 20px;
}

.howto-card h3 {
  margin: 18px 0 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--blue);
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.howto-card p {
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.7;
}

.modelcase {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 47px var(--gutter) 41px;
  background: linear-gradient(118deg, #def1ff 3%, #dbfeff 96%);
}

.modelcase__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 344px));
  gap: 58px;
  width: min(100%, 1148px);
  margin-bottom: 31px;
}

.case-card {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--white);
}

.case-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.case-card__link:hover h3,
.case-card__link:focus-visible h3 {
  color: var(--blue);
}

.case-card__image {
  height: 238px;
  overflow: hidden;
}

.case-card__image img {
  width: 100%;
  height: 238px;
  object-fit: cover;
}

.case-card__body {
  padding: 23px 24px 24px;
}

.case-card h3 {
  margin: 13px 0 12px;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 700;
}

.case-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.case-card p + p {
  margin-top: 0.6em;
}

.local-voice {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 47px var(--gutter) 47px;
}

.local-voice__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 24px;
  width: min(100%, 1280px);
  margin-bottom: 40px;
}

.voice-bubble,
.voice-bubble--left {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
}

.voice-bubble__shape {
  display: block;
  width: 100%;
  height: auto;
}

.voice-bubble__body {
  position: absolute;
  top: 32px;
  right: 24px;
  left: 24px;
  bottom: 56px;
}

.voice-bubble .voice-card__person {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.voice-bubble__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.voice-bubble .voice-card__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #ebebef;
  flex-shrink: 0;
}

.voice-bubble .voice-card__avatar img {
  width: 40px;
  height: 40px;
}

.voice-bubble__meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  min-width: 0;
}

.voice-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 17px;
  padding: 0 8px;
  border-radius: 4px;
  color: var(--white);
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

.voice-badge--issue {
  background: var(--cyan);
}

.voice-badge--opinion {
  background: var(--blue);
}

.voice-badge--request {
  background: #f79b4b;
}

.voice-bubble__attr {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0;
  color: var(--muted);
}

.voice-bubble__attr strong {
  font-size: 16px;
  font-weight: 700;
}

.voice-bubble__attr span {
  font-size: 14px;
  font-weight: 400;
}

.voice-bubble h3 {
  margin: 0;
  flex: 1;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.voice-bubble .voice-card__person p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.voice-bubble__body > p {
  margin: 0;
  color: #48484a;
  font-size: 15px;
  line-height: 1.97;
  overflow: hidden;
  word-break: break-word;
}

.local-card {
  min-height: 423px;
  padding: 22px 22px 24px;
  border-radius: 8px;
  background: #f5f5f5;
}

.local-card__meta {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 25px;
  padding: 0 12px;
  border-radius: 18px;
  font-size: 13px;
  font-weight: 600;
}

.pill--blue {
  color: var(--white);
  background: var(--blue);
  font-family: var(--font-en);
}

.pill--outline {
  color: var(--blue);
  background: var(--white);
  border: 1px solid var(--blue);
  font-weight: 500;
}

.local-card__row {
  display: flex;
  align-items: center;
  gap: 0;
}

.local-card__row--reverse {
  margin-top: 16px;
  justify-content: space-between;
}

.local-card__circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 113px;
  height: 113px;
  border-radius: 50%;
  color: var(--white);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.05em;
  flex-shrink: 0;
  z-index: 1;
}

.local-card__circle--blue {
  background: var(--blue);
}

.local-card__circle--cyan {
  background: var(--cyan);
}

.local-card__note {
  display: flex;
  align-items: center;
  width: 228px;
  min-height: 151px;
  margin-left: -20px;
  padding: 20px 18px 20px 36px;
  border-radius: 4px;
  background: var(--white);
}

.local-card__row--reverse .local-card__note {
  margin-left: 0;
  margin-right: -20px;
  padding: 20px 36px 20px 18px;
}

.local-card__note p {
  margin: 0;
  color: #000;
  font-size: 18px;
  font-weight: 500;
  line-height: 41px;
  letter-spacing: 0.14em;
}

.voices {
  position: relative;
  overflow: hidden;
  padding: 125px var(--gutter) 159px;
  background: linear-gradient(117deg, #0368fd 0%, #01cff8 100%);
}

.voices .section-head {
  margin-bottom: 60px;
}

.voices__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 364px));
  justify-content: center;
  gap: 29px;
  width: min(100%, var(--inner));
  margin: 0 auto;
}

.voice-card {
  position: relative;
  min-height: 297px;
  padding: 32px 24px 40px;
  border-radius: 17px;
  background: #f5f5f7;
}

.voice-card::after {
  content: "";
  position: absolute;
  left: 42px;
  bottom: -16px;
  width: 28px;
  height: 18px;
  background: #f5f5f7;
  clip-path: polygon(0 0, 100% 0, 35% 100%);
}

.voice-card--featured {
  border: 2px solid var(--blue);
  border-radius: 8px;
}

.voice-card--featured::after {
  background: #f5f5f7;
  box-shadow: 2px 0 0 var(--blue);
}

.voice-card__person {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.voice-card__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #ebebef;
  flex-shrink: 0;
}

.voice-card__avatar img {
  width: 40px;
  height: 40px;
}

.voice-card h3 {
  margin: 0;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 700;
}

.voice-card__person p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.voice-card > p {
  margin: 0;
  font-size: 15px;
  line-height: 1.97;
}

.voices__char {
  position: absolute;
  pointer-events: none;
}

.voices__char--tl {
  top: 76px;
  left: 209px;
  width: 40px;
  height: 182px;
}

.voices__char--tr {
  top: 38px;
  right: 170px;
  width: 41px;
  height: 184px;
  transform: scaleX(-1);
}

.voices__char--bl {
  left: 115px;
  bottom: 70px;
  width: 32px;
  height: 182px;
  transform: scaleX(-1);
}

.voices__char--br {
  right: 80px;
  bottom: 129px;
  width: 34px;
  height: 186px;
}

.cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 63px var(--gutter) 61px;
  background: #ddf3ff;
  text-align: center;
}

.cta__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.cta__head h2 {
  margin: 0;
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 40px;
  font-weight: 700;
}

.cta__slash {
  width: 24px;
  height: 55px;
}

.cta__lead {
  max-width: 791px;
  margin: 16px 0 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.site-footer {
  padding: 60px var(--gutter) 60px;
  color: var(--white);
  background: var(--footer);
}

.site-footer__inner {
  width: min(100%, var(--inner));
  margin: 0 auto;
}

.site-footer__top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.site-footer__brand {
  max-width: 380px;
}

.site-footer__brand-head {
  display: flex;
  align-items: center;
  gap: 5px;
}

.site-footer__logo {
  width: 45px;
  height: 41px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.site-footer__name {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 700;
  line-height: 24px;
}

.site-footer__lead {
  margin: 16px 0 0;
  font-family: var(--font-en);
  font-size: 13px;
  line-height: 1.5;
}

.site-footer__links {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 32px 40px;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 7.5em;
}

.site-footer__heading {
  margin: 0 0 2px;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
}

.site-footer__col a {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.6;
}

.site-footer__col a:hover,
.site-footer__col a:focus-visible {
  opacity: 0.75;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid var(--white);
  font-family: var(--font-en);
  font-size: 12px;
}

.site-footer__bottom p {
  margin: 0;
}

.page-main {
  padding: 80px 0 120px;
}

.purpose {
  position: relative;
  overflow: hidden;
}

.purpose__bg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  max-width: none;
  height: auto;
  object-fit: contain;
  object-position: center bottom;
  opacity: 0.2;
  pointer-events: none;
}

.purpose-hero,
.direction-page__hero,
.vision-page__hero,
.news-list__hero,
.voice-list__hero,
.case-list__hero,
.schedule-page__hero,
.think-page__hero,
.rules-hero,
.join-hero,
.verify-page__hero {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 260px;
  padding: 40px 20px;
  background: linear-gradient(107deg, var(--blue) 0%, var(--sky) 100%);
}

.purpose-hero .section-head,
.direction-page__hero .section-head,
.vision-page__hero .section-head,
.news-list__hero .section-head,
.voice-list__hero .section-head,
.case-list__hero .section-head,
.schedule-page__hero .section-head,
.think-page__hero .section-head,
.rules-hero .section-head,
.join-hero .section-head,
.verify-page__hero .section-head {
  margin-bottom: 0;
}

.purpose-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 98px 20px 80px;
}

.purpose-body__text {
  width: min(100%, 777px);
  color: #000;
  font-size: 15px;
  line-height: 41px;
  letter-spacing: 2.1px;
}

.purpose-body__text p {
  margin: 0;
}

.purpose-body__text p + p {
  margin-top: 41px;
}

.purpose-body__text p.purpose-body__lead,
.purpose-body__text p.purpose-body__sign {
  margin-top: 82px;
}

.purpose-body__sign {
  text-align: right;
}

.purpose-body__back {
  width: 218px;
  min-width: 218px;
  margin-top: 104px;
}

.vision-page__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 714px;
  gap: 48px 32px;
  width: min(100% - 40px, 1280px);
  margin: 0 auto;
  padding: 64px 0 80px;
}

.vision-page__copy {
  grid-column: 1;
}

.vision-page__copy h2 {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 3px solid var(--blue);
  color: var(--text);
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.35;
}

.vision-page__copy p {
  margin: 0 0 1em;
  font-size: 15px;
  line-height: 1.79;
}

.vision-page__illust {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 100%;
  max-width: 714px;
  height: auto;
  object-fit: contain;
}

.vision-page__back {
  grid-column: 1 / -1;
  justify-self: center;
  width: 218px;
  min-width: 218px;
  margin-top: 24px;
}

.rules-body {
  width: min(100% - 40px, 860px);
  margin: 0 auto;
  padding: 72px 0 80px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.9;
}

.rules-masthead {
  margin-bottom: 56px;
  text-align: center;
}

.rules-masthead__name {
  margin: 0;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
}

.rules-masthead__en {
  margin: 10px 0 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.rules-masthead__abbr {
  margin: 6px 0 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.rules-masthead__date {
  margin: 24px 0 0;
  font-size: 15px;
}

.rules-chapter {
  margin-top: 56px;
}

.rules-chapter__title {
  margin: 0 0 24px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--blue);
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}

.rules-article {
  margin-top: 28px;
}

.rules-article__title {
  margin: 0 0 12px;
  color: var(--text-dark);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.rules-article p {
  margin: 0 0 0.85em;
}

.rules-article p:last-child {
  margin-bottom: 0;
}

.rules-list {
  margin: 0 0 0.85em;
  padding-left: 1.7em;
}

.rules-list li + li {
  margin-top: 0.45em;
}

.rules-list--paren,
.rules-list--plain,
.rules-list--officers {
  list-style: none;
  padding-left: 0;
}

.rules-list--paren li {
  padding-left: 2.4em;
  text-indent: -2.4em;
}

.rules-num {
  display: inline-block;
  min-width: 2.2em;
  font-weight: 700;
}

.rules-blank {
  display: inline-block;
  width: min(100%, 280px);
  height: 1.2em;
  margin-left: 8px;
  border-bottom: 1px solid var(--text);
  vertical-align: baseline;
}

.rules-code {
  margin-top: 80px;
  padding-top: 48px;
  border-top: 2px solid var(--blue);
}

.rules-code__org {
  margin: 0;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.rules-code__title {
  margin: 12px 0 0;
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}

.rules-code__sub {
  margin: 12px 0 0;
  color: var(--blue);
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}

.rules-code__lead {
  margin: 28px 0 0;
}

.rules-points {
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.rules-points li + li {
  margin-top: 24px;
}

.rules-points h3 {
  margin: 0 0 8px;
  color: var(--text-dark);
  font-size: 16px;
  font-weight: 700;
}

.rules-points p {
  margin: 0;
}

.rules-back {
  display: flex;
  width: 218px;
  min-width: 218px;
  margin: 72px auto 0;
}

.join-body {
  padding: 88px 20px 96px;
}

.join-intro {
  width: min(100%, 1148px);
  margin: 0 auto;
  color: var(--text);
  font-size: 20px;
  line-height: 1.79;
  text-align: center;
}

.join-intro p {
  margin: 0;
}

.join-intro p + p {
  margin-top: 1.79em;
}

.join-form-wrap {
  width: min(100%, 880px);
  margin: 80px auto 0;
}

.join-form-missing {
  margin: 0;
  text-align: center;
}

.join-form .join-row {
  display: grid;
  grid-template-columns: minmax(180px, 268px) minmax(0, 573px);
  gap: 16px 20px;
  align-items: start;
}

.join-form .join-row + .join-row {
  margin-top: 41px;
}

.join-row__head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  min-height: 60px;
}

.join-row--area .join-row__head {
  align-items: flex-start;
  padding-top: 18px;
}

.join-row__label {
  color: #000;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  text-align: right;
  white-space: nowrap;
}

.join-row__req {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 30px;
  border-radius: 5px;
  color: var(--white);
  background: var(--cyan);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 0 10px;
}

.join-row__ctrl {
  min-width: 0;
}

.join-page .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.join-page .wpcf7 input[type="text"],
.join-page .wpcf7 input[type="email"],
.join-page .wpcf7 input[type="tel"],
.join-page .wpcf7 select,
.join-page .wpcf7 textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 60px;
  margin: 0;
  padding: 0 28px;
  border: 2px solid #e5e5e9;
  border-radius: 4px;
  color: var(--text);
  background: var(--white);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.22;
  outline: none;
  appearance: none;
  box-shadow: none;
}

.join-page .wpcf7 textarea {
  height: 229px;
  padding: 18px 28px;
  resize: vertical;
}

.join-page .wpcf7 input::placeholder,
.join-page .wpcf7 textarea::placeholder {
  color: #cbcbd0;
  opacity: 1;
}

.join-page .wpcf7 input:focus,
.join-page .wpcf7 select:focus,
.join-page .wpcf7 textarea:focus {
  border-color: var(--cyan);
}

.join-select {
  position: relative;
}

.join-select::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  transform: rotate(45deg);
  pointer-events: none;
}

.join-page .wpcf7 select {
  padding-right: 48px;
  color: var(--text);
  cursor: pointer;
}

.join-page .wpcf7-not-valid {
  border-color: #d63638 !important;
}

.join-page .wpcf7-not-valid-tip {
  display: block;
  margin-top: 8px;
  color: #d63638;
  font-size: 13px;
}

.join-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 48px;
}

.join-agree {
  width: 100%;
  margin-top: 56px;
  color: var(--text);
  font-size: 15px;
  line-height: 1.8;
  text-align: left;
}

.join-agree p {
  margin: 0;
}

.join-agree p + p {
  margin-top: 1.5em;
}

.join-agree__rules-wrap {
  margin-top: 1.5em;
}

.join-agree__rules {
  color: var(--blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.join-agree__rules:hover {
  opacity: 0.8;
}

.join-agree__check {
  margin-top: 24px;
}

.join-agree .wpcf7-list-item {
  display: block;
  margin: 0;
}

.join-agree .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
}

.join-agree .wpcf7-list-item-label {
  flex: 1;
  line-height: 1.7;
}

.join-agree input[type="checkbox"] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 3px 0 0;
  accent-color: var(--blue);
  cursor: pointer;
}

.join-page .wpcf7-submit:disabled,
.join-page .wpcf7-submit.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.join-page .wpcf7 input.wpcf7-submit {
  cursor: pointer;
}

.join-page .wpcf7-spinner {
  margin: 0;
}

.join-page .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 16px 20px;
  border-radius: 4px;
  text-align: center;
}

.join-page .wpcf7 form .wpcf7-response-output {
  margin: 24px 0 0;
}

.join-thanks {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 86px 20px 96px;
  text-align: center;
}

.join-thanks__heading {
  margin: 0;
  color: var(--blue);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.58;
}

.join-thanks__heading::after {
  content: "";
  display: block;
  width: 123px;
  height: 2px;
  margin: 28px auto 0;
  background: var(--blue);
}

.join-thanks__text {
  width: min(100%, 823px);
  margin: 69px 0 0;
  color: #000;
  font-size: 15px;
  line-height: 1.81;
}

.join-thanks__back {
  width: 235px;
  min-width: 235px;
  margin-top: 93px;
}

.direction-page {
  overflow: hidden;
  padding-bottom: 80px;
}

.direction-page__blocks {
  width: min(100%, 1440px);
  margin: 78px auto 0;
  display: flex;
  flex-direction: column;
  gap: 170px;
}

.direction-block:last-child {
  padding-bottom: 80px;
}

.direction-block {
  position: relative;
  min-height: 449px;
}

.direction-block__panel {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: min(1018px, 70.7%);
  min-height: 449px;
  margin-left: auto;
  padding: 62px 81px 62px 80px;
  border-radius: 21px 0 0 21px;
  background: linear-gradient(114deg, var(--sky) 0%, var(--blue) 100%);
}

.direction-block--reverse .direction-block__panel {
  width: min(1017px, 70.7%);
  margin-left: 0;
  margin-right: auto;
  padding: 62px 80px 62px 80px;
  border-radius: 0 21px 21px 0;
  background: linear-gradient(247deg, var(--blue) 2%, var(--sky) 97%);
}

.direction-block__card {
  width: min(100%, 857px);
  min-height: 325px;
  padding: 46px 66px 28px 53px;
  border-radius: 26px;
  background: var(--white);
}

.direction-block__card h2 {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--blue);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.22;
}

.direction-block__title--tight {
  letter-spacing: -1px;
}

.direction-block__card h2 span {
  display: inline-block;
  color: var(--blue);
}

.direction-block__text {
  margin-top: 28px;
  color: #000;
  font-size: 16px;
  line-height: 1.89;
}

.direction-block__text p {
  margin: 0;
}

.direction-block__text p + p {
  margin-top: 0.35em;
}

.direction-block__visual {
  position: absolute;
  z-index: 2;
  top: 19px;
  left: 6.4%;
  width: min(354px, 32%);
  height: auto;
  max-width: none;
  pointer-events: none;
}

.direction-block--reverse .direction-block__visual {
  top: -37px;
  left: auto;
  right: 5.3%;
  width: min(389px, 36%);
}

.direction-block__visual--future {
  top: 72px;
  left: 5.5%;
  width: min(520px, 42%);
}

.direction-page__back {
  display: flex;
  width: 218px;
  min-width: 218px;
  margin: 48px auto 0;
}

.page-article__title {
  margin: 0 0 32px;
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 36px;
}

.news-list__inner {
  width: min(100% - 40px, var(--inner));
  margin: 63px auto 0;
  padding-bottom: 80px;
}

.news-list__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 36px;
  margin-bottom: 68px;
}

.news-list__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 182px;
  height: 60px;
  padding: 0 24px;
  border: 2px solid var(--blue);
  border-radius: 50px;
  color: var(--blue);
  background: var(--white);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  transition: color 0.2s ease, background 0.2s ease;
}

.news-list__filter:hover,
.news-list__filter.is-active {
  color: var(--white);
  background: var(--blue);
}

.news-list__items {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.news-row + .news-row {
  border-top: 1px solid var(--border);
}

.news-row__link {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 53px;
  align-items: start;
  padding: 36px 0 40px;
  color: inherit;
}

.news-row__image {
  position: relative;
  width: 270px;
  height: 194px;
  overflow: hidden;
  border-radius: 8px;
}

.news-row__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-row__image--placeholder {
  background: #f5f5f7;
}

.news-row__image--placeholder img {
  object-fit: contain;
  padding: 16px;
}

.news-row__new {
  position: absolute;
  top: 0;
  left: 0;
  width: 78px;
  height: 78px;
  overflow: hidden;
  color: transparent;
  font-size: 0;
}

.news-row__new::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-style: solid;
  border-width: 78px 78px 0 0;
  border-color: var(--blue) transparent transparent transparent;
}

.news-row__new::after {
  content: "NEW";
  position: absolute;
  top: 12px;
  left: 4px;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transform: rotate(-45deg);
}

.news-row__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.news-row__meta time {
  color: var(--muted);
  font-family: var(--font-en);
  font-size: 12px;
}

.news-row__title {
  margin: 0 0 16px;
  color: var(--text-dark);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

.news-row__excerpt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  margin: 0;
  color: var(--text);
  font-size: 13px;
  line-height: 1.88;
  letter-spacing: -0.02em;
}

.news-list__empty {
  margin: 0 0 48px;
  text-align: center;
}

.news-list__pager {
  margin: 48px 0 40px;
}

.news-list__pager .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.news-list__pager .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 20px;
  color: var(--text-dark);
  font-size: 16px;
  font-weight: 700;
}

.news-list__pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  color: var(--text-dark);
}

.news-list__pager .page-numbers.current {
  border-radius: 8px;
  color: var(--white);
  background: var(--blue);
}

.news-list__pager .prev,
.news-list__pager .next {
  min-width: auto;
}

.news-list__pager .is-disabled {
  color: var(--muted);
  pointer-events: none;
}

.news-list__back {
  display: flex;
  width: 218px;
  min-width: 218px;
  margin: 0 auto;
}

.case-list__inner {
  width: min(100% - 40px, 1148px);
  margin: 63px auto 0;
  padding-bottom: 80px;
}

.case-list__grid {
  margin-bottom: 48px;
}

.case-single__inner {
  width: min(100% - 40px, 800px);
  margin: 63px auto 0;
  padding-bottom: 80px;
}

.case-detail {
  margin-bottom: 48px;
}

.case-detail__image {
  overflow: hidden;
  margin-bottom: 24px;
  border-radius: 8px;
}

.case-detail__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.case-detail .tag {
  margin-bottom: 12px;
}

.case-detail h2 {
  margin: 0 0 24px;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 32px;
  line-height: 1.4;
}

.case-detail__text {
  font-size: 16px;
  line-height: 1.9;
}

.case-detail__text p:first-child {
  margin-top: 0;
}

.schedule-page__body {
  width: min(100% - 40px, var(--inner));
  margin: 0 auto;
  padding: 64px 0 96px;
}

.schedule-lead {
  margin: 0 auto 48px;
  color: var(--text-dark);
  font-size: 20px;
  line-height: 1.85;
  text-align: center;
}

.schedule-board {
  padding: 64px 64px 72px;
  border-radius: 22px;
  background: #def1ff;
}

.schedule-group + .schedule-group {
  margin-top: 40px;
}

.schedule-month {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 158px;
  height: 50px;
  margin: 0 0 24px 11px;
  border-radius: 33px;
  color: var(--white);
  background: var(--blue);
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.schedule-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.schedule-item {
  display: grid;
  grid-template-columns: 120px 60px minmax(0, 1fr);
  align-items: start;
}

.schedule-item + .schedule-item {
  margin-top: 32px;
}

.schedule-item__date {
  margin: 0;
  padding-top: 4px;
  color: #111827;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}

.schedule-item__rail {
  position: relative;
  display: flex;
  justify-content: center;
  align-self: stretch;
  min-height: 100%;
}

.schedule-item__rail::before {
  content: "";
  position: absolute;
  top: 24px;
  bottom: -32px;
  left: 50%;
  width: 1px;
  background: var(--cyan);
  transform: translateX(-50%);
}

.schedule-item:last-child .schedule-item__rail::before {
  bottom: auto;
  height: 56px;
}

.schedule-item__dot {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
  margin-top: 4px;
  border: 4px solid var(--cyan);
  border-radius: 10px;
  background: var(--white);
}

.schedule-card {
  padding: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.02);
}

.schedule-card h3 {
  margin: 0;
  color: var(--blue);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.schedule-card p {
  margin: 12px 0 0;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.6;
}

.schedule-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 1057px);
  min-height: 75px;
  margin: 56px auto 0;
  padding: 16px 40px;
  border-radius: 80px;
  color: var(--white);
  background: linear-gradient(128deg, var(--blue) 0%, var(--sky) 100%);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.think-page {
  --think-orange: #f79b4b;
  --think-soft: #def1ff;
  color: #353535;
}

.think-intro,
.think-toc,
.think-block,
.think-verify,
.think-essay,
.think-joint,
.think-pager {
  width: min(100% - 48px, var(--inner));
  margin: 0 auto;
}

.think-block,
.think-slot,
.think-cta {
  scroll-margin-top: 120px;
}

.think-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 56px 64px;
  align-items: start;
  padding: 88px 0 64px;
}

.think-intro__line {
  width: 134px;
  height: 4px;
  margin: 0 0 24px;
  background: var(--blue);
}

.think-intro h2 {
  margin: 0;
  font-size: 60px;
  font-weight: 700;
  line-height: 1.56;
  background: linear-gradient(78deg, var(--blue) 0.6%, var(--sky) 99%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.think-intro__text p {
  line-height: 1.9;
}  margin: 0;
  color: var(--text);
  font-size: 15px;
  line-height: 2.4;
}

.think-intro__text p + p {
  margin-top: 28px;
}

.think-toc {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 48px 56px;
  align-items: start;
  margin-bottom: 96px;
}

.think-toc__label p {
  margin: 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.think-toc__label h2 {
  margin: 4px 0 0;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--blue);
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 36px;
}

.think-toc__list {
  margin: 0;
  padding: 40px 48px;
  border-radius: 22px;
  list-style: none;
  color: var(--white);
  background: linear-gradient(107deg, var(--blue) 0%, var(--sky) 100%);
}

.think-toc__list > li + li {
  margin-top: 22px;
}

.think-toc__list > li.is-current > a {
  text-decoration: underline;
  text-underline-offset: 6px;
}

.think-toc__list a {
  display: flex;
  gap: 16px;
  align-items: baseline;
  font-size: 22px;
  font-weight: 700;
}

.think-toc__list span {
  font-family: var(--font-en);
  font-size: 28px;
}

.think-toc__list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 8px 0 0 56px;
  padding: 0;
  list-style: none;
}

.think-toc__list ul a {
  font-size: 14px;
  font-weight: 400;
}

.think-chapter {
  margin: 0 0 48px;
  text-align: center;
}

.think-chapter__num {
  margin: 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}

.think-chapter h2 {
  margin: 8px 0 12px;
  color: var(--blue);
  font-family: var(--font-serif);
  font-size: 32px;
}

.think-chapter p {
  margin: 0 auto;
  max-width: 720px;
  color: var(--text);
  font-size: 15px;
  line-height: 1.7;
}

.think-lead {
  width: min(100%, 1080px);
  margin: 0 auto 48px;
  font-size: 16px;
  line-height: 2;
}

.think-lead--wide {
  width: 100%;
  margin: 0 0 40px;
}

.think-page--survey .think-lead {
  margin-bottom: 48px;
  color: #1a1a1a;
  font-size: 20px;
  line-height: 35px;
}

.think-page--survey .think-lead p {
  margin: 0;
}

.think-page--survey .think-outline span {
  min-width: 78px;
  font-size: 18px;
}

.think-page--survey .think-slide > h3 span {
  min-width: 64px;
  font-family: var(--font-en);
}

.think-page--survey .think-slide {
  margin-bottom: 80px;
}

.think-sv-pies {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 21px;
  margin: 0 0 48px;
}

.think-sv-pie {
  overflow: hidden;
  border: 1px solid var(--blue);
  border-radius: 12px;
  background: var(--white);
}

.think-sv-pie header {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 10px 18px;
  background: #def1ff;
}

.think-sv-pie header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-family: var(--font-en);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
}

.think-sv-pie header h4 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
  margin: 0;
  color: var(--blue);
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.think-sv-pie header small {
  color: #8e8e93;
  font-size: 14px;
  font-weight: 500;
}

.think-sv-pie__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 12px 16px 20px;
}

.think-sv-pie__ttl {
  margin: 0;
  color: #48484a;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
  text-align: center;
}

.think-sv-pie__cols > div:last-child .think-sv-pie__ttl::after {
  content: "";
  display: block;
  width: 51px;
  height: 1px;
  margin: 4px auto 0;
  background: #48484a;
}

.think-sv-pie__sub {
  margin: -2px 0 8px;
  color: #48484a;
  font-size: 13px;
  font-weight: 500;
  line-height: 17px;
  text-align: center;
}

.think-sv-pie__ttl + .think-sv-pie__body {
  margin-top: 12px;
}

.think-sv-pie__body {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.think-sv-pie__chart {
  position: relative;
  flex: 0 0 145px;
  width: 145px;
  height: 145px;
}

.think-sv-pie__chart.is-lg {
  flex-basis: 189px;
  width: 189px;
  height: 189px;
}

.think-sv-pie__donut {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -webkit-mask: radial-gradient(circle, transparent 55%, #000 56%);
  mask: radial-gradient(circle, transparent 55%, #000 56%);
}

.think-sv-pie__chart > p {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: var(--font-en);
  font-weight: 700;
  line-height: 30px;
}

.think-sv-pie__chart > p.is-cyan {
  color: var(--cyan);
}

.think-sv-pie__chart > p.is-blue {
  color: var(--blue);
}

.think-sv-pie__chart > p strong {
  font-size: 28px;
  font-weight: 700;
}

.think-sv-pie__chart > p strong + * ,
.think-sv-pie__chart > p {
  font-size: 18px;
}

.think-sv-pie__body ul,
.think-sv-guest__row ul {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.think-sv-pie__body li,
.think-sv-guest__row li {
  display: grid;
  grid-template-columns: 11px 1fr;
  gap: 2px 5px;
  align-items: start;
  font-size: 12px;
  line-height: 15px;
}

.think-sv-pie__body li i,
.think-sv-guest__row li i {
  grid-row: 1 / span 2;
  width: 11px;
  height: 11px;
  margin-top: 2px;
}

.think-sv-pie__body li small,
.think-sv-guest__row li small {
  grid-column: 2;
  color: #8e8e93;
}

.think-sv-intro {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
  align-items: start;
}

.think-sv-intro > div p {
  margin: 0 0 12px;
  color: #495057;
  font-size: 20px;
  line-height: 30px;
}

.think-sv-intro > div p:last-child {
  margin-bottom: 0;
}

.think-sv-intro aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  background: var(--white);
}

.think-sv-intro h4 {
  margin: 0;
  color: var(--blue);
  font-size: 15px;
  font-weight: 700;
}

.think-sv-intro aside > p:not(.think-pdf) {
  margin: 0;
  color: #1a1a1a;
  font-size: 15px;
  line-height: 1.6;
}

.think-sv-guest {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 24px 19px;
  align-items: start;
}

.think-sv-guest__chart > p {
  margin: 0 0 16px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 30px;
}

.think-sv-guest__row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.think-sv-guest__row ul {
  gap: 16px;
  margin-top: 8px;
}

.think-sv-guest__row li i {
  width: 15px;
  height: 14px;
}

.think-sv-guest__card {
  display: flex;
  flex-direction: column;
  gap: 21px;
  padding: 32px;
  border: 1px solid #ccc;
  border-radius: 12px;
  background: var(--white);
}

.think-sv-guest__card h4 {
  margin: 0;
  padding-left: 18px;
  border-left: 6px solid var(--blue);
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.think-sv-guest__metric {
  display: flex;
  gap: 24px;
  align-items: center;
}

.think-sv-guest__metric > p {
  margin: 0;
  color: var(--blue);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.think-sv-guest__metric > p strong {
  font-size: 42px;
  font-weight: 700;
}

.think-sv-guest__metric > p {
  font-size: 28px;
}

.think-sv-guest__metric div p:first-child {
  margin: 0 0 6px;
  color: #1a1a1a;
  font-size: 18px;
  font-weight: 700;
}

.think-sv-guest__metric div p:last-child {
  margin: 0;
  color: #666;
  font-size: 14px;
}

.think-sv-guest__gray {
  margin: 0;
  padding: 20px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  color: #666;
  background: #f5f5f5;
  font-size: 14px;
  font-weight: 700;
  line-height: 21px;
}

.think-sv-guest__alert,
.think-sv-guest__note {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--think-orange, #f79b4b);
  border-radius: 8px;
  color: #dd5a02;
  background: rgba(255, 244, 234, 0.67);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.think-sv-guest__alert::before,
.think-sv-guest__note::before {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border: 2px solid #dd5a02;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
}

.think-sv-guest__alert::before {
  flex-basis: 36px;
  width: 36px;
  height: 36px;
  font-size: 18px;
}

.think-sv-guest__note {
  grid-column: 1;
}

.think-sv-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 0 48px;
}

.think-sv-facts h3 {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.think-sv-facts h3::before {
  content: "";
  width: 3px;
  height: 36px;
  border-radius: 1px;
}

.think-sv-facts .is-can h3 {
  color: var(--cyan);
}

.think-sv-facts .is-can h3::before {
  background: var(--cyan);
}

.think-sv-facts .is-cannot h3 {
  color: var(--blue);
}

.think-sv-facts .is-cannot h3::before {
  background: var(--blue);
}

.think-sv-facts ol {
  margin: 0;
  padding: 25px 24px 25px 46px;
  border-radius: 6px;
  list-style: none;
}

.think-sv-facts .is-can ol {
  background: #eefafa;
}

.think-sv-facts .is-cannot ol {
  background: #def1ff;
}

.think-sv-facts li {
  position: relative;
  margin: 0 0 18px;
}

.think-sv-facts li:last-child {
  margin-bottom: 0;
}

.think-sv-facts li::before {
  position: absolute;
  left: -27px;
  top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
}

.think-sv-facts .is-can li::before {
  content: counter(sv-can);
  background: var(--cyan);
}

.think-sv-facts .is-cannot li::before {
  content: counter(sv-not);
  background: var(--blue);
}

.think-sv-facts .is-can ol {
  counter-reset: sv-can;
}

.think-sv-facts .is-cannot ol {
  counter-reset: sv-not;
}

.think-sv-facts .is-can li {
  counter-increment: sv-can;
}

.think-sv-facts .is-cannot li {
  counter-increment: sv-not;
}

.think-sv-facts strong {
  display: block;
  margin: 0 0 4px;
  color: #3a3a3c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.68;
}

.think-sv-facts p {
  margin: 0;
  color: #3a3a3c;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.68;
}

.think-sv-wrap {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin: 0 0 24px;
}

.think-sv-wrap > div {
  padding-left: 24px;
  border-left: 6px solid var(--blue);
}

.think-sv-wrap p {
  margin: 0 0 16px;
  color: #1a1a1a;
  font-size: 16px;
  line-height: 30px;
}

.think-sv-wrap p:last-child {
  margin-bottom: 0;
}

.think-sv-wrap__box {
  margin: 12px 0 0 !important;
  padding: 15px 17px;
  border-radius: 4px;
  color: var(--blue);
  background: #def1ff;
  font-size: 16px;
  font-weight: 700;
  line-height: 32px;
}

.think-sv-kicker {
  margin: 72px 0 18px;
  color: var(--blue);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
}

.think-sv-source {
  margin: 0 0 48px;
  color: #1a1a1a;
  font-size: 20px;
  line-height: 35px;
}

.think-subhead {
  margin: 0 0 28px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--blue);
  color: #353535;
  font-size: 26px;
  box-shadow: inset 6px 0 0 var(--blue);
  padding-left: 18px;
}

.think-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.think-point,
.think-wide {
  position: relative;
  padding: 36px 24px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: var(--white);
}

.think-point__badge,
.think-wide__badge {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 92px;
  height: 92px;
  overflow: hidden;
  border-radius: 12px 0 0 0;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}

.think-point__badge img,
.think-wide__badge img {
  display: block;
}

.think-point__badge span,
.think-wide__badge span {
  position: absolute;
  top: 11px;
  left: 18px;
}

.think-point h4,
.think-wide h4 {
  margin: 8px 0 16px 72px;
  color: var(--blue);
  font-size: 20px;
}

.think-point__tags {
  display: flex;
  gap: 8px;
  margin: 0 0 16px;
}

.think-point__tags span {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 12px;
  border-radius: 20px;
  color: var(--white);
  background: var(--cyan);
  font-size: 13px;
  font-weight: 700;
}

.think-point__label {
  margin: 16px 0 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid #d7d7d7;
  font-weight: 700;
}

.think-point p,
.think-wide p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

.think-point__box {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 8px;
  background: #f5f7fa;
}

.think-point__box-label {
  margin: 0 0 8px !important;
  color: var(--blue);
  font-weight: 700;
}

.think-point__box ul {
  margin: 0;
  padding-left: 1.1em;
}

.think-point--hot {
  border: 2px solid var(--think-orange);
}

.think-point__hot {
  position: absolute;
  top: -14px;
  right: 16px;
  margin: 0;
  padding: 6px 16px;
  border-radius: 8px;
  color: var(--white);
  background: var(--think-orange);
  font-size: 13px;
  font-weight: 700;
}

.think-wide {
  margin-bottom: 24px;
}

.think-wide__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.think-wide h5 {
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #d7d7d7;
  color: var(--blue);
  font-size: 16px;
}

.think-wide__grid p + p {
  margin-top: 12px;
}

.think-verify {
  padding: 64px 40px;
  margin-bottom: 64px;
  border-radius: 22px;
  background: #eef8ff;
}

.think-verify__top,
.think-impact,
.think-qbox__grid,
.think-expert__grid,
.think-circles,
.think-means,
.think-six ol,
.think-survey,
.think-disclo,
.think-needs,
.think-actions,
.think-intros,
.think-split,
.think-calcs,
.think-risks {
  display: grid;
  gap: 16px;
}

.think-verify__top {
  grid-template-columns: 1fr 1fr;
  margin-bottom: 16px;
}

.think-card {
  padding: 24px;
  border-radius: 12px;
  background: var(--white);
}

.think-card__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  color: var(--blue);
  font-weight: 700;
}

.think-card--warn {
  color: #c45a12;
  background: #f79b4b;
}

.think-card--warn .think-card__head,
.think-card--warn p {
  color: #fff;
}

.think-card--warn .think-card__head {
  border-color: rgba(255, 255, 255, 0.4);
}

.think-card__callout {
  margin-top: 12px !important;
  padding: 16px;
  border-radius: 8px;
  color: #c45a12 !important;
  background: var(--white);
  font-weight: 700;
  text-align: center;
}

.think-card__callout span {
  display: block;
  margin-top: 4px;
  font-weight: 400;
}

.think-impact {
  grid-template-columns: 1fr 40px 1fr;
  align-items: stretch;
}

.think-impact > div {
  padding: 20px;
  border-radius: 8px;
  background: #e8f4ff;
}

.think-impact h3 {
  margin: 0 0 8px;
  color: var(--blue);
  font-size: 15px;
}

.think-impact ul {
  margin: 0;
  padding-left: 1.1em;
}

.think-impact__arrow {
  align-self: center;
  justify-self: center;
  width: 0;
  height: 0;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 22px solid var(--sky);
}

.think-qbox {
  margin-top: 16px;
  padding: 24px;
  border-radius: 12px;
  color: var(--white);
  background: linear-gradient(107deg, var(--blue) 0%, var(--sky) 100%);
}

.think-qbox__head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  font-weight: 700;
}

.think-qbox__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.think-qbox__grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.think-qbox article {
  padding: 16px;
  border-radius: 8px;
  color: #353535;
  background: var(--white);
}

.think-qbox article p {
  margin: 0;
  font-size: 14px;
}

.think-qbox article p:first-child {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
  font-weight: 700;
}

.think-qbox article span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-size: 12px;
}

.think-bar {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin: 16px 0 0;
  padding: 20px 24px;
  border-radius: 10px;
  color: var(--white);
  background: var(--blue);
}

.think-bar span {
  display: block;
}

.think-bar strong {
  display: block;
  margin-bottom: 4px;
}

.think-topics {
  margin: 0;
  padding: 0;
  list-style: none;
}

.think-topics li {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 12px;
  padding: 20px 24px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: var(--white);
}

.think-topics span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-family: var(--font-en);
  font-weight: 700;
}

.think-topics strong {
  color: var(--blue);
}

.think-topics p {
  margin: 4px 0 0;
  font-size: 14px;
}

.think-section-title {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 28px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--blue);
  font-size: 28px;
}

.think-section-title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-family: var(--font-en);
  font-size: 18px;
}

.think-outline-label {
  margin: 0 0 12px;
  font-weight: 700;
}

.think-outline {
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
}

.think-outline li {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 12px;
  padding: 20px 24px;
  border-radius: 12px;
  background: #e8f4ff;
  font-weight: 700;
}

.think-outline span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  height: 28px;
  padding: 0 10px;
  border-radius: 6px;
  color: var(--white);
  background: var(--cyan);
  font-size: 14px;
}

.think-slide {
  margin-bottom: 64px;
}

.think-slide > h3 {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0 0 8px;
  font-size: 24px;
}

.think-slide > h3 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  height: 28px;
  padding: 0 10px;
  border-radius: 6px;
  color: var(--white);
  background: var(--cyan);
  font-size: 14px;
}

.think-slide__sub {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
  color: var(--text);
}

.think-national {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 24px;
}

.think-national__banner {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0 0 16px;
  padding: 16px 20px;
  border-radius: 10px;
  color: var(--white);
  background: linear-gradient(90deg, var(--blue), var(--sky));
  font-weight: 700;
}

.think-national ul {
  margin: 0;
  padding-left: 1.2em;
  line-height: 2;
}

.think-national aside {
  padding: 24px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

.think-national h4,
.think-align h4 {
  margin: 0 0 12px;
  color: var(--blue);
}

.think-pdf {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 16px 0 8px;
  padding: 12px 16px;
  border: 1px solid var(--blue);
  border-radius: 8px;
  color: var(--blue);
  background: #eef6ff;
  font-weight: 700;
}

.think-note {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.think-note-bar {
  margin: 24px 0 0;
  padding: 16px 20px;
  border-radius: 8px;
  color: var(--blue);
  background: #e8f4ff;
}

.think-timeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.think-timeline > li {
  text-align: center;
}

.think-timeline > li > p {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
}

.think-timeline span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-bottom: 12px;
  border: 2px solid var(--blue);
  border-radius: 50%;
  color: var(--blue);
  background: var(--white);
  font-weight: 700;
}

.think-timeline .is-accent span {
  color: var(--white);
  background: var(--think-orange);
  border-color: var(--think-orange);
}

.think-timeline div {
  padding: 16px;
  border-radius: 8px;
  background: #e8f4ff;
  text-align: left;
}

.think-timeline .is-accent div {
  background: #fff3e8;
}

.think-timeline strong {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-size: 14px;
}

.think-timeline div p {
  margin: 0;
  font-size: 13px;
}

.think-combo {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 0 0 16px;
  padding: 16px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  color: var(--blue);
  font-weight: 700;
}

.think-align {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
  margin-bottom: 16px;
}

.think-key {
  padding: 24px;
  border-radius: 12px;
  color: var(--white);
  background: var(--think-orange);
}

.think-key p:first-child {
  margin: 0 0 8px;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: 0.06em;
}

.think-key p:last-child {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
}

.think-conclusion {
  display: flex;
  gap: 12px;
  margin: 16px 0 0;
  padding: 16px 20px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f7f7f8;
  font-weight: 700;
}

.think-conclusion span {
  flex: 0 0 4px;
  background: var(--blue);
}

.think-expert {
  padding: 48px 66px 48px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  background: #def1ff;
  text-align: center;
}

.think-expert__lead {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.5;
}

.think-expert > p:nth-of-type(2) {
  margin: 0 auto 24px;
  max-width: 760px;
  color: #495057;
  font-size: 15px;
  line-height: 1.6;
}

.think-expert__grid {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 32px;
  text-align: left;
}

.think-expert article {
  min-height: 146px;
  padding: 19px 24px 24px;
  border-radius: 6px;
  background: var(--white);
}

.think-expert article p:first-child {
  display: inline-flex;
  margin: 0 0 11px;
  padding: 2px 10px;
  border: 1px solid var(--blue);
  border-radius: 16px;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  line-height: 15px;
}

.think-expert h4 {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 16px;
  font-weight: 700;
}

.think-expert article > p:last-child {
  margin: 0;
  color: #495057;
  font-size: 13px;
  line-height: 1.5;
}

.think-status {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.think-survey {
  grid-template-columns: 1.2fr 0.8fr;
  align-items: center;
  gap: 32px;
  margin-bottom: 32px;
}

.think-survey__chart {
  display: block;
  width: 100%;
  height: auto;
}

.think-survey__facts {
  margin: 0;
  padding: 0;
  list-style: none;
}

.think-survey__facts li {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 12px;
  padding: 18px 20px;
  border-radius: 12px;
  background: #f5f5f7;
}

.think-survey__facts strong {
  flex: 0 0 auto;
  color: var(--cyan);
  font-family: var(--font-en);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.think-survey__facts span {
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
}

.think-circles {
  grid-template-columns: 1fr 1fr;
  gap: 20px 40px;
  margin-bottom: 32px;
}

.think-circles article {
  display: flex;
  gap: 26px;
  align-items: center;
  min-height: 198px;
  padding: 22px 30px;
  border-radius: 12px;
  background: #def1ff;
}

.think-circles article.is-orange {
  background: #fff3e8;
}

.think-circles__num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 153px;
  width: 153px;
  height: 153px;
  margin: 0;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-family: var(--font-en);
  font-size: 45px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}

.think-circles article.is-orange .think-circles__num {
  background: var(--think-orange);
}

.think-circles article.is-orange h3 {
  color: var(--think-orange);
}

.think-circles h3 {
  margin: 0 0 8px;
  color: var(--blue);
  font-size: 16px;
}

.think-circles article > div p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

.think-sv-claim {
  margin: 0 0 32px;
  color: var(--blue);
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}

.think-sv-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 126px;
  height: 28px;
  margin: 0 0 22px;
  padding: 0 16px;
  border-radius: 22px;
  color: var(--white);
  background: var(--cyan);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
}

.think-sv {
  margin: 0 0 72px;
}

.think-sv__h {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 0 0 20px;
  color: #48484a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.think-sv__num {
  flex: 0 0 auto;
}

.think-sv__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 61px;
  height: 29px;
  padding: 0 10px;
  border-radius: 3px;
  color: var(--white);
  background: var(--cyan);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.think-sv-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.think-sv-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: var(--white);
}

.think-sv-card h4 {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--blue);
  color: var(--blue);
  font-size: 16px;
  font-weight: 700;
}

.think-sv-card dl {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}

.think-sv-card dl div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.think-sv-card dt {
  color: #666;
  font-size: 13px;
  font-weight: 400;
}

.think-sv-card dd {
  margin: 0;
  color: #1a1a1a;
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 700;
}

.think-sv-card dd.is-lg {
  font-size: 15px;
}

.think-sv-card > p {
  margin: 0;
  padding: 12px;
  border-radius: 4px;
  color: var(--blue);
  background: #def1ff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

.think-funnel {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: var(--white);
}

.think-funnel > p:first-child {
  margin: 0;
  color: #666;
  font-size: 14px;
}

.think-funnel > p:last-child {
  margin: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.5;
}

.think-funnel__row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.think-funnel__row > span {
  color: #333;
  font-size: 13px;
  font-weight: 700;
}

.think-funnel__track {
  height: 24px;
  overflow: hidden;
  border-radius: 4px;
  background: #e8e8e8;
}

.think-funnel__track > div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.think-funnel__track .is-full {
  width: 100%;
  background: var(--blue);
}

.think-funnel__track .is-cyan {
  background: var(--cyan);
}

.think-funnel__track .is-orange {
  background: var(--think-orange);
}

.think-opinions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 0 16px;
}

.think-opinions article {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border: 2px solid var(--blue);
  border-radius: 8px;
  background: var(--white);
}

.think-opinions h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--blue);
  font-size: 15px;
  font-weight: 700;
}

.think-opinions h4::before {
  content: "";
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background: var(--blue);
}

.think-opinions p {
  margin: 0;
  padding: 16px;
  border-radius: 8px;
  background: #def1ff;
  color: #1a1a1a;
  font-size: 13px;
  line-height: 1.6;
}

.think-sv-note {
  margin: 0;
  padding: 16px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: var(--white);
  color: #333;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.think-stack {
  padding: 31px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: var(--white);
}

.think-stack > p:first-child {
  margin: 0 0 16px;
  color: #666;
  font-size: 14px;
}

.think-stack__bar {
  display: flex;
  overflow: hidden;
  height: 32px;
  margin: 0 0 8px;
  border-radius: 4px;
}

.think-stack__bar span {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.think-stack__bar .is-orange {
  flex: 26 0 0;
  background: var(--think-orange);
}

.think-stack__bar .is-cyan {
  flex: 31 0 0;
  background: var(--cyan);
}

.think-stack__bar .is-blue {
  flex: 43 0 0;
  background: var(--blue);
}

.think-stack__cap {
  width: 57%;
  margin: 0 0 24px;
  padding-top: 8px;
  border-top: 2px solid #333;
  color: #1a1a1a;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

.think-stack__box {
  margin: 0;
  padding: 16px;
  border-radius: 6px;
  color: var(--blue);
  background: #def1ff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.think-neq {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
  margin: 0 0 20px;
  padding: 31px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: var(--white);
}

.think-neq__fill,
.think-neq__outline {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 168px;
  padding: 24px 16px;
  border-radius: 6px;
  text-align: center;
}

.think-neq__fill {
  color: var(--white);
  background: var(--blue);
}

.think-neq__outline {
  border: 3px solid var(--blue);
  background: var(--white);
}

.think-neq__fill > p:first-child,
.think-neq__outline > p:first-child {
  margin: 0 0 8px;
  font-size: 14px;
}

.think-neq__outline > p:first-child {
  color: #666;
}

.think-neq h4 {
  margin: 0 0 8px;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.4;
}

.think-neq__outline h4 {
  color: var(--blue);
}

.think-neq__num {
  margin: 0;
  font-family: var(--font-en);
  font-size: 50px;
  font-weight: 800;
  line-height: 1;
}

.think-neq__outline .think-neq__num {
  color: var(--blue);
}

.think-neq__num span {
  font-size: 30px;
}

.think-neq__mark {
  margin: 0;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.think-sv__foot {
  margin: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.5;
}

.think-tchart {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.think-tchart article {
  padding: 24px;
  border: 1px solid #d0d0d0;
  border-radius: 8px;
  background: var(--white);
}

.think-tchart h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #d0d0d0;
  color: #333;
  font-size: 16px;
  font-weight: 700;
}

.think-tchart h4 span {
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #999;
}

.think-tchart h4 span.is-dark {
  background: #333;
}

.think-tchart p {
  margin: 0;
  color: #1a1a1a;
  font-size: 14px;
  line-height: 1.8;
}

.think-notes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.think-notes li {
  display: flex;
  gap: 16px;
  align-items: center;
  min-height: 49px;
  padding: 4px 0;
  color: #1c1c1e;
  font-size: 13px;
  line-height: 1.4;
}

.think-notes span {
  display: inline-flex;
  flex: 0 0 41px;
  align-items: center;
  justify-content: center;
  width: 41px;
  height: 41px;
  border-radius: 50%;
  color: var(--white);
  background: var(--think-orange);
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.think-final {
  margin: 0 0 72px;
  padding: 32px;
  border-radius: 8px;
  background: #333;
}

.think-final p:first-child {
  margin: 0 0 16px;
  color: var(--white);
  font-size: 18px;
  font-weight: 700;
}

.think-final p:last-child {
  margin: 0;
  color: #e8e8e8;
  font-size: 14px;
  line-height: 1.6;
}

.think-kicker-blue {
  margin: 40px 0 16px;
  color: var(--blue);
  font-size: 23px;
  font-weight: 700;
}

.think-callout {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0 0 48px;
}

.think-callout p {
  margin: 0;
  color: #1a1a1a;
  font-size: 17px;
  line-height: 32px;
}

.think-callout__box {
  padding: 15px 24px;
  border-radius: 4px;
  color: var(--blue);
  background: #def1ff;
  font-size: 14px;
  font-weight: 700;
  line-height: 32px;
}

.think-sidehead {
  margin: 32px 0 12px;
  padding-left: 14px;
  border-left: 3px solid var(--blue);
  color: #48484a;
  font-size: 23px;
  font-weight: 700;
  line-height: 36px;
}

.think-reasons {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.think-reasons li {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 9px;
  padding: 16px 20px;
  border-radius: 4px;
  background: #def1ff;
  font-size: 16px;
  line-height: 28px;
}

.think-reasons span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-weight: 700;
}

.think-means {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px 32px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.think-means li {
  display: flex;
  align-items: center;
  height: 61px;
  overflow: hidden;
  border: 1px solid var(--blue);
  border-radius: 4px;
  background: var(--white);
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 700;
}

.think-means__icon {
  display: flex;
  flex: 0 0 65px;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  background: var(--blue);
  border-radius: 3px 0 0 3px;
}

.think-means__icon img {
  display: block;
}

.think-means li > span:last-child {
  padding: 0 16px 0 29px;
}

.think-six {
  padding: 34px 36px 24px;
  border: 3px solid var(--blue);
  border-radius: 14px;
  background: var(--white);
}

.think-six > p {
  margin: 0 0 24px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 34px;
}

.think-six ol {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.think-six li {
  position: relative;
  min-height: 110px;
  padding: 42px 20px 16px 96px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  background: #eefafa;
  color: #48484a;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
}

.think-six span {
  position: absolute;
  top: 19px;
  left: 24px;
  display: block;
  margin: 0;
  color: var(--cyan);
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0;
}

.think-six strong {
  position: absolute;
  top: 38px;
  left: 18px;
  display: block;
  margin: 0;
  color: var(--cyan);
  font-family: var(--font-en);
  font-size: 50px;
  font-weight: 700;
  line-height: 56px;
  letter-spacing: -2px;
}

.think-six__foot {
  margin: 8px 0 0 !important;
  color: #4b5563 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 30px !important;
}

.think-six .is-dark {
  color: var(--white);
  background: #1c1c1e;
}

.think-six .is-dark span {
  color: #8e8e93;
}

.think-disclo__kicker {
  margin: 0 0 16px;
  color: var(--blue);
  font-size: 23px;
  font-weight: 700;
}

.think-disclo {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 0 40px;
}

.think-disclo article {
  min-height: 265px;
  padding: 30px 32px;
  border-radius: 12px;
}

.think-disclo .is-fill {
  color: var(--white);
  background: var(--blue);
}

.think-disclo .is-outline {
  color: var(--text-dark);
  border: 3px solid var(--blue);
  background: var(--white);
}

.think-disclo article > p:first-child {
  display: inline-flex;
  margin: 0 0 16px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
}

.think-disclo .is-fill > p:first-child {
  color: var(--blue);
  background: var(--white);
}

.think-disclo .is-outline > p:first-child {
  color: var(--white);
  background: var(--blue);
}

.think-disclo h3 {
  margin: 0 0 12px;
  color: #48484a;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
}

.think-disclo .is-fill h3 {
  color: var(--white);
}

.think-disclo .is-outline h3 {
  color: var(--blue);
}

.think-disclo article > p:last-child {
  margin: 0;
  font-size: 15px;
  line-height: 1.73;
}

.think-leap {
  display: grid;
  gap: 32px;
  margin: 20px 0 40px;
}

.think-leap__row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  min-height: 121px;
  padding: 16px 24px 16px 28px;
  border-radius: 8px;
}

.think-leap__row.is-error {
  background: #def1ff;
}

.think-leap__row.is-ok {
  background: #eefafa;
}

.think-leap__badge {
  flex: 0 0 auto;
  margin: 0;
  padding: 4px 10px;
  border-radius: 4px;
  color: var(--white);
  background: var(--blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  writing-mode: horizontal-tb;
}

.think-leap__row.is-ok .think-leap__badge {
  background: var(--cyan);
}

.think-leap__step {
  flex: 1 1 0;
  min-width: 0;
  padding: 12px;
  border: 1px solid #c7c7cc;
  border-radius: 6px;
  background: var(--white);
  text-align: center;
}

.think-leap__step strong {
  display: block;
  margin-bottom: 4px;
  color: var(--blue);
  font-size: 14px;
  line-height: 1.5;
}

.think-leap__row.is-ok .think-leap__step strong {
  color: var(--cyan);
}

.think-leap__step span {
  display: block;
  color: #8e8e93;
  font-size: 12px;
  line-height: 1.5;
}

.think-leap__step.is-fill {
  border: 0;
  color: var(--white);
  background: var(--blue);
}

.think-leap__step.is-fill strong,
.think-leap__step.is-fill span {
  color: var(--white);
}

.think-leap__step.is-fill-cyan {
  border: 0;
  color: var(--white);
  background: var(--cyan);
}

.think-leap__row.is-ok .think-leap__step.is-fill-cyan strong,
.think-leap__row.is-ok .think-leap__step.is-fill-cyan span,
.think-leap__step.is-fill-cyan strong,
.think-leap__step.is-fill-cyan span {
  color: var(--white);
}

.think-leap__arrow {
  flex: 0 0 24px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid var(--blue);
}

.think-leap__row.is-ok .think-leap__arrow {
  border-left-color: var(--cyan);
}

.think-leap__ng {
  flex: 0 0 220px;
  max-width: 220px;
  margin: 0;
  color: var(--blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.think-needs__lead {
  margin: 0 0 20px;
  color: #3a3a3c;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
}

.think-needs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 40px;
}

.think-needs article {
  min-height: 148px;
  padding: 15px 13px 16px;
  border: 3px solid var(--blue);
  border-radius: 8px;
  background: var(--white);
}

.think-needs article.is-wide {
  grid-column: span 2;
}

.think-needs article > p:first-child {
  display: inline-flex;
  align-items: center;
  margin: 0 0 12px;
  padding: 4px 16px;
  border-radius: 23px;
  color: var(--white);
  background: var(--blue);
  font-size: 12px;
  font-weight: 700;
}

.think-needs h4 {
  margin: 0 0 8px;
  color: #1c1c1e;
  font-size: 16px;
  font-weight: 700;
}

.think-needs p {
  margin: 0;
  color: #3a3a3c;
  font-size: 13px;
  line-height: 1.6;
}

.think-core {
  margin: 0 0 24px;
  padding: 24px;
  border-radius: 10px;
  color: var(--white);
  background: var(--think-orange);
}

.think-core p:first-child {
  margin: 0 0 12px;
  color: #cd5200;
  font-family: var(--font-en);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
}

.think-core p:last-child {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.think-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0 0 24px;
}

.think-actions article {
  overflow: hidden;
  min-height: 153px;
  padding: 0;
  border-radius: 8px;
  color: #3a3a3c;
  background: #def1ff;
}

.think-actions h4 {
  margin: 0;
  padding: 11px 20px;
  color: var(--white);
  background: var(--blue);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.think-actions p {
  margin: 0;
  padding: 16px 20px 18px;
  font-size: 14px;
  line-height: 1.7;
}

.think-ask {
  margin: 0;
  padding: 20px 24px;
  border-radius: 6px;
  color: var(--blue);
  background: #def1ff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.think-intros {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
  margin: 0 0 72px;
}

.think-intros article {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-height: 120px;
  padding: 14px;
  border: 2px solid var(--blue);
  border-radius: 6px;
  background: var(--white);
  box-sizing: border-box;
}

.think-intros h3 {
  margin: 0;
  color: var(--blue);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.think-intros p {
  margin: 0;
  color: #4a4a4f;
  font-size: 13px;
  line-height: 1.5;
}

.think-pie {
  display: grid;
  grid-template-columns: minmax(0, 519px) minmax(0, 1fr);
  gap: 82px;
  align-items: start;
  margin: 0 0 72px;
}

.think-pie__copy > p {
  margin: 0 0 16px;
  color: #4a4a4f;
  font-size: 15px;
  line-height: 2.1;
}

.think-pie__stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 32px;
  padding: 21px 16px 16px;
  border-radius: 8px;
  background: #def1ff;
  text-align: center;
}

.think-pie__stat > p:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  height: 30px;
  margin: 0 0 20px;
  padding: 0 16px;
  border: 1px solid var(--blue);
  border-radius: 25px;
  color: var(--blue);
  background: var(--white);
  font-size: 14px;
  font-weight: 700;
}

.think-pie__stat > p:nth-child(2) {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  margin: 0;
  color: var(--blue);
  font-weight: 700;
}

.think-pie__stat > p:nth-child(2) span {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.64px;
}

.think-pie__stat strong {
  font-family: var(--font-en);
  font-size: 60px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 1.2px;
}

.think-pie__stat > p:last-child {
  margin: 16px 0 0;
  color: #48484a;
  font-size: 11px;
  line-height: 1.5;
}

.think-pie__chart {
  position: relative;
  width: 100%;
  max-width: 680px;
  min-height: 480px;
}

.think-pie__img {
  position: absolute;
  top: 29px;
  left: 101px;
  display: block;
}

.think-pie__need,
.think-pie__none {
  position: absolute;
  z-index: 1;
  margin: 0;
  font-weight: 700;
  line-height: 1;
}

.think-pie__need {
  top: 0;
  left: 1px;
  color: #8e8e93;
  font-size: 23px;
  letter-spacing: 0.46px;
}

.think-pie__none {
  top: 370px;
  left: 516px;
  color: #1e79fd;
  font-size: 30px;
  letter-spacing: 0.6px;
  white-space: nowrap;
}

.think-pie__need-line,
.think-pie__none-line {
  position: absolute;
  display: block;
}

.think-pie__need-line {
  top: 39px;
  left: 0;
}

.think-pie__none-line {
  top: 393px;
  left: 448px;
  transform: rotate(180deg);
}

.think-split {
  grid-template-columns: minmax(0, 621px) minmax(0, 630px);
  gap: 29px;
  align-items: start;
}

.think-split h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 24px;
  color: #48484a;
  font-size: 18px;
  font-weight: 700;
}

.think-split h4 span {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #48484a;
}

.think-split ol {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.think-split ol li {
  display: flex;
  gap: 16px;
  align-items: center;
  min-height: 60px;
  margin: 0;
  padding: 0 20px;
  background: #def1ff;
  color: #1a1a1a;
  font-size: 16px;
  line-height: 1.4;
}

.think-split ol span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  margin: 0;
  border-radius: 14px;
  color: var(--white);
  background: var(--blue);
  font-size: 13px;
  font-weight: 700;
}

.think-shift {
  display: flex;
  flex-direction: column;
  gap: 44px;
  padding: 18px 20px;
  border-radius: 12px;
  background: #f8f8fa;
}

.think-shift > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.think-shift p {
  margin: 0;
}

.think-shift p:first-child {
  color: var(--blue);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.think-shift p:last-child {
  color: #4a4a4f;
  font-size: 15px;
  line-height: 1.5;
}

.think-calcs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0 0 70px;
}

.think-calcs article {
  min-height: 185px;
  padding: 24px 23px 16px;
  border: 1px solid #c7c7cc;
  border-radius: 8px;
  background: #def1ff;
  box-sizing: border-box;
}

.think-calcs article.is-warn {
  border: 2px solid var(--think-orange);
  background: rgba(255, 244, 234, 0.67);
}

.think-calcs article > p:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  color: #1c1c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.think-calcs article > p:first-child span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 24px;
  padding: 0 8px;
  border-radius: 13px;
  color: var(--white);
  background: var(--blue);
  font-size: 12px;
  font-weight: 700;
}

.think-calcs article.is-warn > p:first-child span {
  background: var(--think-orange);
}

.think-calcs article.is-warn em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  min-width: 84px;
  height: 22px;
  padding: 0 12px;
  border-radius: 4px;
  color: var(--white);
  background: #ff6a06;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}

.think-calcs__num {
  margin: 0 0 4px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.think-calcs__num strong {
  font-size: 32px;
}

.think-calcs article.is-warn .think-calcs__num {
  color: #ff6a06;
}

.think-calcs article > p:last-child {
  margin: 0;
  color: #48484a;
  font-size: 13px;
  line-height: 1.5;
}

.think-risks__title {
  margin: 0 0 24px;
  color: #1c1c1e;
  font-size: 20px;
  font-weight: 700;
}

.think-risks {
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 0 0 48px;
}

.think-risks article {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border: 2px solid var(--blue);
  border-radius: 8px;
  background: var(--white);
}

.think-risks h4 {
  margin: 0;
  color: var(--blue);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
}

.think-risks p {
  margin: 0;
  color: #48484a;
  font-size: 14px;
  line-height: 1.6;
}

.think-eco-note {
  margin: 0;
  color: #48484a;
  font-size: 18px;
  line-height: 1.8;
}

.think-page--means > #think-02 {
  padding-bottom: 40px;
}

.think-means-band {
  width: 100%;
  padding: 72px 0;
  background: #def1ff;
}

.think-means-band__inner {
  display: flex;
  flex-direction: column;
  gap: 62px;
  width: min(100% - 40px, 1148px);
  margin: 0 auto;
}

.think-means-stmt {
  padding: 32px 32px 32px 28px;
  border-left: 4px solid var(--blue);
  background: var(--white);
}

.think-means-stmt p:first-child {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.think-means-stmt p:last-child {
  margin: 0;
  color: #48484a;
  font-size: 16px;
  line-height: 1.6;
}

.think-means-concern {
  padding: 48px 32px 40px;
  border-radius: 13px;
  color: var(--white);
  background: var(--blue);
}

.think-means-concern h3 {
  margin: 0 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--white);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.think-means-concern p {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}

.think-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(100% - 40px, var(--inner));
  min-height: 280px;
  margin: 24px auto;
  padding: 40px 24px;
  border-radius: 16px;
  background: #e8f4ff;
  text-align: center;
}

.think-slot p,
.think-slot h2 {
  margin: 0;
  color: var(--blue);
  font-size: 28px;
  font-weight: 700;
}

.think-slot__num {
  font-family: var(--font-en);
  font-size: 36px !important;
}

.think-block {
  padding: 24px 0 72px;
}

.think-page--02 > #think-02,
.think-page--03 > #think-03,
.think-page--04 > #think-04,
.think-page--05 > #think-05 {
  padding-top: 80px;
}

.think-page--02 .think-chapter h2 {
  font-family: var(--font-sans);
  font-size: 40px;
  font-weight: 700;
  line-height: 50px;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.think-page--02 .think-chapter__num {
  font-size: 42px;
  font-weight: 800;
  line-height: 44px;
}

.think-page--02 .think-chapter p:not(.think-chapter__num) {
  max-width: 900px;
  color: #8e8e93;
  font-size: 16px;
  line-height: 1.4;
}

.think-topics-lead {
  margin: 0 0 32px;
  padding: 0 0 0 12px;
  border-left: 4px solid var(--blue);
  color: #48484a;
  font-size: 15px;
  line-height: 1.6;
}

.think-topics li {
  margin-bottom: 12px;
  padding: 0;
  border-color: #d1d1d6;
  border-radius: 8px;
}

.think-topics a {
  display: flex;
  gap: 24px;
  align-items: center;
  min-height: 88px;
  padding: 20px;
  color: inherit;
  text-decoration: none;
  box-sizing: border-box;
}

.think-topics span {
  font-size: 18px;
}

.think-topics strong {
  font-size: 18px;
}

.think-topics p {
  margin: 4px 0 0;
  color: #48484a;
  font-size: 14px;
  line-height: 1.5;
}

.think-page--02 .think-section-title {
  position: relative;
  margin: 0 0 40px;
  padding-bottom: 16px;
  border-bottom: none;
  color: #48484a;
  font-size: 30px;
  line-height: 1.2;
}

.think-page--02 .think-section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(100%, 900px);
  height: 2px;
  background: var(--blue);
}

.think-outline-label {
  color: #495057;
  font-size: 20px;
  font-weight: 700;
}

.think-outline {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 80px;
}

.think-outline li {
  min-height: 83px;
  margin: 0;
  padding: 0 24px 0 32px;
  border: 1px solid #ced4da;
  border-radius: 8px;
  background: #def1ff;
  font-size: 18px;
  font-weight: 600;
  box-sizing: border-box;
}

.think-outline span {
  min-width: 67px;
  height: 31px;
  border-radius: 5px;
  font-family: var(--font-en);
  font-size: 20px;
}

.think-page--02 .think-slide > h3 {
  color: #48484a;
  font-size: 25px;
}

.think-page--02 .think-slide > h3 span {
  font-family: var(--font-en);
  font-size: 14px;
}

.think-page--02 .think-slide__sub {
  color: #495057;
  font-size: 16px;
}

.think-national__banner {
  gap: 16px;
  margin: 0 0 24px;
  padding: 24px;
  border-radius: 8px;
  background: linear-gradient(120deg, var(--blue) 0%, var(--sky) 100%);
  font-size: 18px;
}

.think-national__banner svg {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}

.think-national ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 0 0 8px;
  list-style: none;
  font-size: 16px;
  line-height: 1.5;
}

.think-national li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: #1a1a1a;
}

.think-national li::before {
  content: "•";
  color: #868e96;
  line-height: 1.5;
}

.think-national aside {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border-color: #ced4da;
  border-radius: 8px;
}

.think-national h4 {
  margin: 0;
  font-size: 15px;
}

.think-national aside > p:not(.think-pdf):not(.think-note) {
  margin: 0;
  color: #1a1a1a;
  font-size: 15px;
  line-height: 1.6;
}

.think-pdf {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 58px;
  margin: 0;
  padding: 0 12px;
  border: 2px solid var(--blue);
  border-radius: 4px;
  color: #495057;
  background: #def1ff;
  font-size: 14px;
  font-weight: 500;
}

.think-pdf svg:first-child {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  color: var(--blue);
}

.think-pdf span {
  flex: 1;
}

.think-pdf svg:last-child {
  flex: 0 0 18px;
  color: var(--blue);
}

.think-note-bar {
  padding: 16px 20px;
  border-radius: 6px;
  background: #def1ff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.6;
}

.think-timeline {
  position: relative;
  gap: 0;
  margin: 0 0 40px;
}

.think-timeline::before {
  content: "";
  position: absolute;
  top: 50px;
  left: 10%;
  right: 10%;
  height: 2px;
  background: #ced4da;
}

.think-timeline > li {
  position: relative;
  z-index: 1;
  padding: 0 12px;
}

.think-timeline > li > p {
  margin: 0 0 10px;
  color: #495057;
  font-size: 15px;
}

.think-timeline span {
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
  background: var(--white);
}

.think-timeline div {
  min-height: 130px;
  padding: 16px;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  background: #def1ff;
}

.think-timeline .is-accent div {
  border: 2px solid var(--think-orange);
  background: rgba(255, 244, 234, 0.67);
}

.think-timeline .is-accent strong {
  color: var(--think-orange);
}

.think-combo {
  align-items: center;
  min-height: 71px;
  margin: 0 0 16px;
  padding: 16px 24px;
  border-color: #ced4da;
  border-radius: 8px;
  background: #f7f7f7;
  font-size: 15px;
  font-weight: 500;
}

.think-combo svg {
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
}

.think-combo-foot {
  margin: 0;
  color: #495057;
  font-size: 14px;
  font-weight: 700;
}

.think-align {
  align-items: start;
  margin-bottom: 40px;
}

.think-align h4 {
  font-size: 20px;
}

.think-align p {
  color: #495057;
  font-size: 15px;
  line-height: 1.6;
}

.think-align__muted {
  color: #868e96 !important;
  font-size: 14px !important;
}

.think-key {
  min-height: 106px;
  padding: 24px;
  border-radius: 8px;
  box-sizing: border-box;
}

.think-key p:first-child {
  color: #cd5200;
  font-size: 12px;
}

.think-key p:last-child {
  font-size: 20px;
}

.think-page--02 .think-qbox {
  margin-top: 0;
  padding: 27px;
}

.think-page--02 .think-qbox__head {
  gap: 10px;
  margin: 0 0 16px;
  padding-bottom: 16px;
  border-bottom-color: #ccc;
  font-size: 18px;
}

.think-qbox__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--blue);
  background: var(--white);
}

.think-page--02 .think-qbox article {
  min-height: 109px;
  padding: 19px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  overflow: hidden;
}

.think-page--02 .think-qbox article p {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}

.think-page--02 .think-qbox article p:first-child {
  margin: 0;
}

.think-page--02 .think-qbox article span {
  flex: none;
  width: 80%;
  height: auto;
  border-radius: 0;
  color: inherit;
  background: none;
  font-size: inherit;
  display: inline;
}

.think-page--02 .think-qbox article .think-qbox__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--white);
  background: var(--blue);
  font-family: var(--font-en);
  font-size: 13px;
  font-weight: 700;
}

.think-qbox__text {
  flex: 1;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.think-page--02 .think-qbox article em {
  color: var(--blue);
  font-style: normal;
}

.think-conclusion {
  align-items: center;
  min-height: 64px;
  margin: 24px 0 0;
  padding: 16px 20px;
  border-color: #e9ecef;
  border-radius: 6px;
  font-size: 14px;
}

.think-block--pending {
  padding-top: 8px;
  padding-bottom: 48px;
}

.think-pending-link {
  margin: -16px 0 0;
}

.think-pending-link a {
  color: var(--blue);
  font-weight: 700;
}

.think-essay {
  padding: 32px 0 72px;
}

.think-essay + .think-essay {
  border-top: 1px solid #e6eef5;
}

.think-essay__num {
  margin: 0 0 16px;
  color: var(--muted);
  font-family: var(--font-serif);
  font-size: 13px;
  letter-spacing: 0.18em;
  text-align: center;
}

.think-essay h2 {
  margin: 0 0 12px;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.think-essay__sub {
  margin: 0 0 40px;
  color: var(--muted);
  font-size: 14px;
  text-align: center;
}

.think-essay h3 {
  margin: 40px 0 16px;
  font-size: 18px;
}

.think-essay p,
.think-essay li {
  line-height: 1.9;
}

.think-statement {
  padding: 32px 36px;
  margin-bottom: 40px;
  border-radius: 16px;
  background: #eef8ff;
}

.think-statement__lead {
  margin: 0 0 16px;
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
}

.think-statement p:last-child {
  margin: 0;
}

.think-page--04 .think-chapter h2 {
  font-family: var(--font-sans);
  font-size: 40px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.think-page--04 .think-chapter__num {
  color: var(--blue);
  font-size: 42px;
}

.think-page--04 .think-chapter p:not(.think-chapter__num) {
  color: #8e8e93;
  font-size: 16px;
}

.think-alt-head {
  position: relative;
  margin: 0 0 22px;
  padding: 8px 0 16px 23px;
}

.think-alt-head::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 52px;
  border-radius: 3px;
  background: var(--blue);
}

.think-alt-head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(100%, 900px);
  height: 2px;
  background: var(--blue);
}

.think-alt-head h2 {
  margin: 0;
  color: #48484a;
  font-family: var(--font-sans);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3;
}

.think-alt-lead {
  margin: 0 0 28px;
  color: #8e8e93;
  font-size: 14px;
}

.think-block--eval-head {
  padding-bottom: 24px;
}

.think-roles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 27px;
  margin: 0 0 32px;
}

.think-roles article {
  display: flex;
  flex-direction: column;
  min-height: 471px;
  overflow: hidden;
  border-radius: 8px;
  background: #def1ff;
}

.think-roles__head {
  min-height: 84px;
  padding: 24px;
  box-sizing: border-box;
  color: var(--white);
  background: var(--blue);
  border-radius: 7px 7px 0 0;
}

.think-roles__head h3,
.think-roles h3 {
  margin: 0;
  color: var(--white);
  font-size: 18px;
  font-weight: 700;
}

.think-roles__head p,
.think-roles article > p {
  margin: 4px 0 0;
  color: var(--white);
  font-size: 12px;
}

.think-roles ul {
  margin: 0;
  padding: 20px 24px 24px;
  list-style: none;
}

.think-roles li + li {
  margin-top: 22px;
}

.think-roles strong {
  display: block;
  margin-bottom: 4px;
  color: var(--text-dark);
  font-size: 14px;
  font-weight: 700;
}

.think-roles strong::before {
  content: "• ";
}

.think-roles span {
  display: block;
  color: #48484a;
  font-size: 12px;
  line-height: 1.5;
}

.think-roles__note {
  margin: 0;
  color: #48484a;
  font-size: 16px;
  line-height: 1.8;
}

.think-eval {
  width: 100%;
  padding: 56px 0 64px;
  background: var(--blue);
}

.think-eval__inner {
  width: min(100% - 48px, 1140px);
  margin: 0 auto;
}

.think-indicators {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin: 0 0 24px;
}

.think-indicators article {
  min-height: 132px;
  padding: 15px 19px 16px;
  border: 1px solid #c7c7cc;
  border-radius: 8px;
  background: var(--white);
}

.think-indicators p:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 25px;
  margin: 0 0 13px;
  border-radius: 21px;
  color: var(--white);
  background: var(--cyan);
  font-size: 12px;
  font-weight: 700;
}

.think-indicators h3 {
  margin: 0 0 8px;
  color: var(--blue);
  font-size: 18px;
  font-weight: 700;
}

.think-indicators p:last-child {
  margin: 0;
  color: #48484a;
  font-size: 13px;
  line-height: 1.4;
}

.think-incentive {
  margin: 0;
  padding: 18px 24px;
  border: 1px solid var(--blue);
  border-radius: 8px;
  color: var(--blue);
  background: #def1ff;
  font-size: 15px;
  font-weight: 700;
  line-height: 26px;
  text-align: center;
}

.think-joint {
  padding: 32px 36px;
  margin: 0 auto 80px;
  border-radius: 16px;
  background: linear-gradient(107deg, var(--blue) 0%, var(--sky) 100%);
  color: var(--white);
}

.think-joint h2 {
  margin: 0 0 16px;
  font-family: var(--font-serif);
  font-size: 24px;
}

.think-joint p {
  margin: 0;
  line-height: 1.9;
}

.think-page--05 .think-chapter h2 {
  font-family: var(--font-sans);
  font-size: 40px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.think-page--05 .think-chapter__num {
  color: var(--blue);
  font-size: 42px;
}

.think-proposals {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.think-proposals li {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  align-items: stretch;
  min-height: 176px;
  overflow: hidden;
  border-radius: 12px;
  background: #f5f5f7;
}

.think-proposals__num {
  position: relative;
  width: 176px;
  height: 176px;
  margin: 0;
}

.think-proposals__num img {
  display: block;
}

.think-proposals__num span {
  position: absolute;
  top: 64px;
  left: 32px;
  color: var(--white);
  font-family: var(--font-en);
  font-size: 50px;
  font-weight: 700;
  line-height: 48px;
}

.think-proposals li > div {
  padding: 32px 40px 24px 8px;
}

.think-proposals h3 {
  margin: 0 0 10px;
  color: var(--blue);
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

.think-proposals__lead {
  margin: 0 0 6px;
  color: #48484a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
}

.think-proposals li > div > p:last-child {
  margin: 0;
  color: #48484a;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

.think-pager {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding: 64px 0 80px;
}

.think-pager__nums {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.think-pager__num,
.think-pager__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 4px;
  color: var(--blue);
  font-family: var(--font-en);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.think-pager__num {
  border: 1px solid var(--blue);
  background: var(--white);
}

.think-pager__nums.is-sub .think-pager__num {
  width: auto;
  min-width: 44px;
  padding: 0 8px;
}

.think-pager__num.is-current {
  color: var(--white);
  background: var(--blue);
}

.think-pager__arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--white);
  background: #2c2c2e;
}

.think-pager__arrow.is-disabled {
  color: var(--white);
  background: #c8c8cc;
  cursor: default;
}

.think-pager__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
}

.think-pager__card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 18px 22px;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-decoration: none;
}

.think-pager__card--nav {
  color: var(--white);
  background: var(--blue);
}

.think-pager__card--current {
  border: 1px solid var(--blue);
  color: var(--blue);
  background: var(--white);
}

.think-pager__card--empty {
  visibility: hidden;
  pointer-events: none;
  min-height: 0;
  padding: 0;
}

.think-top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 72px;
  height: 72px;
  border-radius: 12px;
  background: var(--think-orange, #f79b4b);
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: 0 8px 24px rgb(247 155 75 / 0.35);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.think-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

.think-cta {
  padding: 80px 20px;
  color: var(--white);
  background: #1c1c1e;
  text-align: center;
}

.think-cta__en {
  margin: 0 0 16px;
  font-family: var(--font-en);
  font-size: 12px;
  letter-spacing: 0.12em;
}

.think-cta h2 {
  margin: 0 0 16px;
  font-family: var(--font-serif);
  font-size: 32px;
  line-height: 1.5;
}

.think-cta > p {
  width: min(100%, 760px);
  margin: 0 auto 32px;
  line-height: 1.8;
}

.think-cta__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.think-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  height: 64px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
}

.think-cta__btn--solid {
  color: #1c1c1e;
  background: var(--white);
}

.think-cta__btn--ghost {
  color: var(--white);
  border: 1px solid #8e8e93;
}

.think-card p {
  line-height: 1.8;
}

.voice-list__inner {
  width: min(100% - 40px, 1152px);
  margin: 63px auto 0;
  padding-bottom: 80px;
}

.voice-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px 20px;
  margin-bottom: 48px;
  color: var(--text);
  font-size: 15px;
}

.voice-filters__field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.voice-filters__field span {
  white-space: nowrap;
}

.voice-filters__field--period {
  flex-wrap: wrap;
}

.voice-filters__tilde {
  color: var(--muted);
}

.voice-filters input[type="search"],
.voice-filters input[type="date"],
.voice-filters select {
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: var(--white);
  color: var(--text);
  font-family: inherit;
  font-size: 14px;
}

.voice-filters input[type="search"] {
  width: 180px;
}

.voice-filters input[type="date"] {
  width: 148px;
}

.voice-filters select {
  min-width: 132px;
  max-width: 100%;
}

.voice-filters__submit {
  height: 40px;
  padding: 0 16px;
  border: 2px solid var(--cyan);
  border-radius: 4px;
  background: var(--white);
  color: var(--cyan);
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.voice-filters__clear {
  color: var(--muted);
  font-size: 14px;
  text-decoration: underline;
}

.voice-list__items {
  border-top: 1px solid var(--border);
  margin-bottom: 48px;
}

.voice-row {
  border-bottom: 1px solid var(--border);
}

.voice-row__link {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 28px 0 24px;
  color: inherit;
}

.voice-row__link:hover .voice-row__text {
  color: var(--blue);
}

.voice-row__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: #ebebef;
}

.voice-row__avatar img {
  width: 40px;
  height: 40px;
}

.voice-row__head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.voice-row__attr {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: 0;
  color: var(--muted);
}

.voice-row__attr strong {
  font-size: 16px;
  font-weight: 700;
}

.voice-row__attr span {
  font-size: 14px;
  font-weight: 400;
}

.voice-row__text {
  display: -webkit-box;
  margin: 8px 0 0;
  overflow: hidden;
  color: #48484a;
  font-size: 15px;
  line-height: 1.97;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.voice-list__empty {
  margin: 0 0 48px;
  text-align: center;
}

.voice-single__inner {
  width: min(100% - 40px, 800px);
  margin: 63px auto 0;
  padding-bottom: 80px;
}

.voice-detail {
  margin-bottom: 48px;
}

.voice-detail__head {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-bottom: 32px;
}

.voice-detail__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.voice-detail__meta time {
  color: var(--muted);
  font-family: var(--font-en);
  font-size: 14px;
}

.voice-detail__body {
  padding-left: 84px;
  color: #48484a;
  font-size: 15px;
  line-height: 1.97;
}

.voice-detail__body p:first-child {
  margin-top: 0;
}

.news-article__back {
  margin: 0 0 24px;
  font-size: 14px;
}

.news-article__back a {
  color: var(--blue);
  font-weight: 700;
}

.news-article__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.news-article__meta time {
  color: var(--muted);
  font-family: var(--font-en);
  font-size: 14px;
}

.news-article__title {
  margin: 0 0 32px;
  color: var(--text-dark);
  font-family: var(--font-serif);
  font-size: 32px;
  line-height: 1.4;
}

.news-article__image {
  overflow: hidden;
  margin-bottom: 32px;
  border-radius: 8px;
}

.news-article__image img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.news-article__image--placeholder {
  background: #f5f5f7;
}

.news-article__image--placeholder img {
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  padding: 40px 24px;
}

.news-article__body {
  font-size: 16px;
  line-height: 1.9;
}

.news-article__body p:first-child {
  margin-top: 0;
}

.verify-points,
.verify-data {
  width: min(100% - 160px, 1280px);
  margin: 0 auto;
  padding: 56px 0 0;
}

.verify-heading {
  text-align: center;
}

.verify-heading h2 {
  margin: 0;
  color: var(--blue);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.22;
}

.verify-heading h2::after {
  content: "";
  display: block;
  width: 61px;
  height: 3px;
  margin: 22px auto 0;
  background: var(--blue);
  border-radius: 2px;
}

.verify-lead {
  max-width: 1014px;
  margin: 26px auto 0;
  color: #48484a;
  font-size: 15px;
  line-height: 1.79;
  text-align: center;
}

.verify-points__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 25px;
  margin-top: 23px;
}

.verify-point {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 408px;
  max-width: 100%;
  min-height: 321px;
  padding: 16px 25px 26px;
  border-radius: 18px;
  background: linear-gradient(94deg, var(--blue) 0%, var(--sky) 100%);
}

.verify-point__index {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  margin: 0 0 11px;
  color: var(--white);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.22;
}

.verify-point__index span {
  padding-bottom: 8px;
}

.verify-point__index strong {
  font-family: var(--font-en);
  font-size: 47px;
  font-weight: 700;
  line-height: 1.22;
  color: var(--white);
}

.verify-point__card {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 211px;
  padding: 23px 20px 16px;
  background: var(--white);
  border-radius: 11px;
}

.verify-point__card h3 {
  margin: 0 0 21px;
  min-height: calc(1.22em * 2);
  color: var(--blue);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
}

.verify-point__card p {
  margin: 0;
  flex: 1;
  color: #353535;
  font-size: 15px;
  font-weight: 400;
  line-height: 25px;
}

.verify-data {
  padding-top: 84px;
  padding-bottom: 72px;
}

.verify-data__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 392px));
  justify-content: space-between;
  gap: 24px;
  margin-top: 40px;
}

.verify-data-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 530px;
  overflow: hidden;
  background: var(--white);
  border: 1px solid #cbcbd0;
  border-radius: 10px 10px 15px 15px;
}

.verify-data-card__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 81px;
  padding: 12px 16px;
  color: var(--white);
  background: var(--cyan);
  text-align: center;
  border-radius: 10px 10px 0 0;
}

.verify-data-card__head h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.22;
}

.verify-data-card__head p {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}

.verify-data-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 20px 21px;
}

.verify-data-card__body > p {
  margin: 0;
  color: #353535;
  font-size: 15px;
  line-height: 24px;
}

.verify-data-card__body ul {
  margin: 16px 0;
  padding: 16px 13px;
  list-style: none;
  background: #def1ff;
  border-radius: 6px;
}

.verify-data-card__body li {
  position: relative;
  padding-left: 1em;
  color: #353535;
  font-size: 15px;
  line-height: 27px;
}

.verify-data-card__body li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.verify-data-card__stats {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: auto;
  padding-top: 20px;
}

.verify-data-card__stat {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}

.verify-data-card__num {
  font-family: var(--font-en);
  font-size: 70px;
  font-weight: 700;
  line-height: 0.9;
  background: linear-gradient(126deg, var(--blue) 8%, var(--sky) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.verify-data-card__num.is-empty {
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: var(--muted);
  font-family: var(--font-sans);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.2;
  padding-bottom: 4px;
}

.verify-data-card__unit {
  padding-bottom: 8px;
  color: #1a1a1a;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.verify-data-card__asof {
  margin: 8px 0 0;
  color: #8e8e93;
  font-size: 14px;
  line-height: 24px;
}

.verify-summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 510px;
  max-width: 100%;
  height: 91px;
  margin: 73px auto 0;
  color: var(--cyan);
  background: var(--white);
  border: 2px solid var(--cyan);
  border-radius: 6px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.19;
  text-align: center;
  text-decoration: none;
}

.verify-summary:hover {
  opacity: 0.9;
}

.verify-summary__icon {
  flex-shrink: 0;
  width: 39px;
  height: 39px;
  background: var(--cyan);
  -webkit-mask: url("../images/icon-notes.png") center / contain no-repeat;
  mask: url("../images/icon-notes.png") center / contain no-repeat;
}

.verify-actions {
  background: #def1ff;
}

.verify-actions__inner {
  display: flex;
  justify-content: center;
  gap: 40px;
  width: min(100% - 160px, 1280px);
  margin: 0 auto;
  padding: 88px 0;
}

@media (max-width: 1240px) {
  .news,
  .vision,
  .direction-wrap,
  .platform,
  .howto,
  .modelcase,
  .local-voice,
  .voices,
  .cta,
  .site-footer {
    padding-left: 32px;
    padding-right: 32px;
  }

  .home-banner,
  .notice-box {
    width: min(100% - 64px, 1280px);
  }

  .schedule-board {
    padding: 56px 32px 64px;
  }

  .direction-page__blocks {
    gap: 120px;
  }

  .direction-block__panel,
  .direction-block--reverse .direction-block__panel {
    width: min(1018px, 78%);
    padding: 48px 32px;
  }

  .direction-block__card {
    padding: 32px 28px 24px;
  }

  .direction-block__card h2 {
    font-size: 22px;
  }

  .site-header__nav {
    gap: 24px;
  }

  .site-header__links {
    gap: 18px;
  }

  .news__panel {
    padding: 32px 24px 48px;
  }

  .direction {
    padding: 56px 24px 48px;
  }

  .vision__body,
  .news__grid,
  .direction__grid,
  .howto__grid,
  .modelcase__grid,
  .local-voice__grid,
  .voice-list__grid,
  .voices__grid {
    grid-template-columns: 1fr;
  }

  .vision__body {
    justify-items: center;
  }

  .vision__illust {
    width: min(100%, 591px);
    height: auto;
  }

  .news__grid,
  .direction__grid,
  .howto__grid,
  .modelcase__grid,
  .local-voice__grid,
  .voices__grid {
    justify-content: center;
  }

  .verify-points,
  .verify-data,
  .verify-actions__inner {
    width: min(100% - 48px, 1280px);
  }

  .verify-points__grid {
    gap: 20px;
  }

  .verify-point {
    width: min(408px, 100%);
  }

  .verify-point__index strong {
    font-size: 40px;
  }

  .verify-point__card {
    min-height: 0;
    padding: 20px 16px 16px;
  }

  .verify-data__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .verify-data-card__num {
    font-size: 56px;
  }

  .verify-actions__inner {
    gap: 20px;
  }
}

@media (max-width: 1180px) {
  body.is-nav-open {
    overflow: hidden;
  }

  .site-header {
    position: sticky;
    top: 0;
  }

  .site-header__toggle {
    display: block;
    position: relative;
  }

  .site-header__toggle span {
    position: absolute;
    left: 11px;
    width: 22px;
    margin: 0;
    transition: top 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
  }

  .site-header__toggle span:nth-child(1) {
    top: 14px;
  }

  .site-header__toggle span:nth-child(2) {
    top: 21px;
  }

  .site-header__toggle span:nth-child(3) {
    top: 28px;
  }

  .is-nav-open .site-header__toggle span:nth-child(1) {
    top: 21px;
    transform: rotate(45deg);
  }

  .is-nav-open .site-header__toggle span:nth-child(2) {
    opacity: 0;
  }

  .is-nav-open .site-header__toggle span:nth-child(3) {
    top: 21px;
    transform: rotate(-45deg);
  }

  .site-header__nav {
    display: none;
    position: absolute;
    top: 86px;
    left: 0;
    right: 0;
    z-index: 20;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    min-height: calc(100dvh - 86px);
    overflow: auto;
    padding: 16px 24px 32px;
    background: var(--white);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
  }

  .is-nav-open .site-header__nav {
    display: flex;
  }

  .site-header__links {
    flex-direction: column;
    align-items: stretch;
    height: auto;
    gap: 4px;
  }

  .site-header__links > li {
    display: block;
  }

  .site-header__links a {
    display: block;
    padding: 12px 0;
    font-size: 16px;
  }

  .site-header__links > .has-sub > a {
    display: flex;
  }

  .site-header__nav .btn--endorse {
    width: 100%;
    min-width: 0;
  }

  .site-header__links > .has-sub::after {
    display: none;
  }

  .site-header__sub {
    position: static;
    left: auto;
    top: auto;
    display: none;
    min-width: 0;
    margin: 0 0 4px;
    padding: 0 0 4px 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  .site-header__links > .has-sub:hover .site-header__sub,
  .site-header__links > .has-sub:focus-within .site-header__sub {
    display: none;
  }

  .site-header__links > .has-sub.is-sub-open .site-header__sub {
    display: block;
  }

  .site-header__sub a {
    padding: 8px 0 8px 12px;
    font-size: 14px;
  }

  .site-header__links > .has-sub.is-sub-open > a::after {
    transform: translateY(1px) rotate(225deg);
  }

  .verify-points,
  .verify-data,
  .verify-actions__inner {
    width: min(100% - 40px, 1280px);
  }

  .verify-points__grid {
    gap: 24px;
  }

  .verify-data__grid {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }

  .verify-actions__inner {
    flex-wrap: wrap;
  }
}

@media (max-width: 900px) {
  body.is-nav-open {
    overflow: hidden;
  }

  .site-header {
    position: sticky;
    top: 0;
    height: 64px;
  }

  .site-header__logo {
    width: 44px;
    height: 40px;
  }

  .site-header__name-ja {
    font-size: 12px;
    line-height: 1.3;
  }

  .site-header__name-en {
    margin-top: -2px;
    font-size: 8px;
    line-height: 1.3;
  }

  .site-header__toggle {
    display: block;
    position: relative;
  }

  .site-header__toggle span {
    position: absolute;
    left: 11px;
    width: 22px;
    margin: 0;
    transition: top 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
  }

  .site-header__toggle span:nth-child(1) {
    top: 14px;
  }

  .site-header__toggle span:nth-child(2) {
    top: 21px;
  }

  .site-header__toggle span:nth-child(3) {
    top: 28px;
  }

  .is-nav-open .site-header__toggle span:nth-child(1) {
    top: 21px;
    transform: rotate(45deg);
  }

  .is-nav-open .site-header__toggle span:nth-child(2) {
    opacity: 0;
  }

  .is-nav-open .site-header__toggle span:nth-child(3) {
    top: 21px;
    transform: rotate(-45deg);
  }

  .site-header__nav {
    display: none;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    z-index: 20;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    min-height: calc(100dvh - 64px);
    overflow: auto;
    padding: 16px 24px 32px;
    background: var(--white);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
  }

  .is-nav-open .site-header__nav {
    display: flex;
  }

  .site-header__links {
    flex-direction: column;
    align-items: stretch;
    height: auto;
    gap: 4px;
  }

  .site-header__links > li {
    display: block;
  }

  .site-header__links a {
    display: block;
    padding: 12px 0;
    font-size: 16px;
  }

  .site-header__links > .has-sub > a {
    display: flex;
  }

  .site-header__nav .btn--endorse {
    width: 100%;
    min-width: 0;
  }

  .hero {
    height: auto;
    min-height: 0;
  }

  .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(3, 104, 253, 0.78) 0%, rgba(10, 77, 184, 0.48) 45%, rgba(3, 104, 253, 0.72) 100%);
  }

  .hero__photo {
    object-position: 60% center;
  }

  .hero__shade,
  .hero__wave {
    display: none;
  }

  .hero__inner {
    padding: 40px 0 48px;
  }

  .hero__badge {
    height: auto;
    max-width: 100%;
    padding: 8px 12px;
    line-height: 1.4;
    white-space: normal;
  }

  .hero__title {
    font-size: 28px;
  }

  .hero__lead {
    max-width: none;
    font-size: 15px;
  }

  .hero__lead br {
    display: none;
  }

  .survey-btn {
    width: 100%;
    height: auto;
    min-height: 72px;
    padding: 16px 18px;
    font-size: 16px;
  }

  .verify-points,
  .verify-data {
    width: min(100% - 32px, 1280px);
    padding-top: 40px;
  }

  .verify-heading h2 {
    font-size: 20px;
  }

  .verify-lead {
    margin-top: 24px;
    font-size: 15px;
    text-align: left;
  }

  .verify-points__grid,
  .verify-data__grid {
    gap: 28px;
    margin-top: 24px;
  }

  .verify-point {
    width: 100%;
    min-height: 0;
    height: auto;
  }

  .verify-point__card {
    min-height: 0;
    padding: 24px 20px 20px;
  }

  .verify-point__card p {
    font-size: 14px;
  }

  .verify-data {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .verify-data-card {
    min-height: 0;
  }

  .verify-data-card__num {
    font-size: 56px;
  }

  .verify-summary {
    width: 100%;
    height: auto;
    min-height: 72px;
    margin-top: 40px;
    padding: 16px;
    font-size: 18px;
  }

  .verify-actions__inner {
    flex-direction: column;
    align-items: stretch;
    width: min(100% - 32px, 1280px);
    gap: 16px;
    padding: 40px 0;
  }

  .section-head {
    margin-bottom: 32px;
  }

  .section-head__title,
  .cta__head h2 {
    font-size: 24px;
  }

  .section-head--avatars {
    grid-template-columns: 1fr;
  }

  .voice-avatar {
    display: none;
  }

  .news,
  .vision,
  .direction-wrap,
  .platform,
  .howto,
  .modelcase,
  .local-voice,
  .voices,
  .cta,
  .site-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .news {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .home-banner {
    width: min(100% - 32px, 1280px);
    margin-top: 32px;
  }

  .notice-box {
    width: min(100% - 32px, 1280px);
    margin-top: 40px;
    margin-bottom: 24px;
    padding-top: 24px;
  }

  .notice-box__badge {
    width: min(100%, 502px);
    height: auto;
    min-height: 48px;
    padding: 10px 16px;
    font-size: 15px;
  }

  .notice-box__panel {
    padding: 48px 20px 24px;
  }

  .notice-box__text {
    font-size: 15px;
  }

  .notice-box__text br {
    display: none;
  }

  .notice-box__actions {
    flex-direction: column;
    gap: 16px;
    margin-top: 32px;
  }

  .notice-box__cta {
    width: 100%;
    height: auto;
    min-height: 72px;
    padding: 16px 18px;
    font-size: 18px;
  }

  .news__panel,
  .direction {
    width: 100%;
    padding: 28px 16px 32px;
  }

  .local-voice__grid,
  .voice-list__grid {
    grid-template-columns: 1fr;
  }

  .news__grid,
  .howto__grid,
  .modelcase__grid,
  .local-voice__grid,
  .voice-list__grid,
  .voices__grid,
  .direction__grid {
    gap: 16px;
    margin-bottom: 24px;
  }

  .news-card,
  .case-card,
  .howto-card,
  .voice-card,
  .voice-bubble,
  .voice-bubble--left,
  .direction-card,
  .local-card {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }

  .voice-bubble__body {
    top: 24px;
    right: 16px;
    left: 16px;
    bottom: 48px;
  }

  .voice-bubble .voice-card__avatar {
    width: 56px;
    height: 56px;
  }

  .voice-bubble__attr strong {
    font-size: 14px;
  }

  .vision {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .vision__body {
    gap: 24px;
  }

  .vision__text h3 {
    font-size: 22px;
  }

  .vision-page__body {
    grid-template-columns: 1fr;
    padding-top: 40px;
    padding-bottom: 48px;
  }

  .vision-page__illust {
    grid-column: 1;
    grid-row: auto;
    justify-self: center;
  }

  .vision-page__copy h2 {
    font-size: 22px;
  }

  .think-intro,
  .think-toc,
  .think-verify__top,
  .think-impact,
  .think-national,
  .think-align,
  .think-points,
  .think-wide__grid,
  .think-qbox__grid,
  .think-qbox__grid--4,
  .think-timeline,
  .think-expert__grid,
  .think-survey,
  .think-circles,
  .think-means,
  .think-six ol,
  .think-disclo,
  .think-needs,
  .think-actions,
  .think-sv-cards,
  .think-sv-pies,
  .think-sv-pie__cols,
  .think-sv-intro,
  .think-sv-guest,
  .think-sv-facts,
  .think-opinions,
  .think-tchart,
  .think-notes,
  .think-intros,
  .think-pie,
  .think-split,
  .think-calcs,
  .think-risks,
  .think-roles,
  .think-indicators,
  .think-pager__cards,
  .think-proposals li {
    grid-template-columns: 1fr;
  }

  .think-pager__cards {
    gap: 12px;
  }

  .think-pager__card--empty {
    display: none;
  }

  .think-intro h2 {
    font-size: 28px;
  }

  .think-toc__list,
  .think-verify {
    padding: 24px 16px;
  }

  .think-chapter h2,
  .think-section-title,
  .think-alt-head h2,
  .think-page--02 .think-chapter h2,
  .think-page--04 .think-chapter h2,
  .think-page--05 .think-chapter h2,
  .think-cta h2 {
    font-size: 22px;
  }

  .think-timeline::before {
    display: none;
  }

  .think-expert {
    padding: 32px 20px;
  }

  .think-needs article.is-wide {
    grid-column: auto;
  }

  .think-roles article {
    min-height: 0;
  }

  .think-pie {
    gap: 32px;
  }

  .think-pie__chart {
    min-height: 0;
    max-width: 415px;
    margin: 0 auto;
    padding-top: 36px;
    padding-bottom: 48px;
  }

  .think-pie__img {
    position: relative;
    top: auto;
    left: auto;
    max-width: 100%;
    height: auto;
  }

  .think-pie__need-line,
  .think-pie__none-line {
    display: none;
  }

  .think-pie__need,
  .think-pie__none {
    position: absolute;
    margin: 0;
    text-align: left;
  }

  .think-pie__need {
    top: 0;
    left: 0;
  }

  .think-pie__none {
    top: auto;
    bottom: 0;
    left: auto;
    right: 0;
    font-size: 22px;
  }

  .think-split {
    gap: 32px;
  }

  .think-leap__row {
    flex-direction: column;
    align-items: stretch;
  }

  .think-leap__arrow {
    align-self: center;
    transform: rotate(90deg);
  }

  .think-leap__ng {
    max-width: none;
    flex: none;
  }

  .think-sv-kicker,
  .think-sv-claim {
    font-size: 22px;
  }

  .think-sv-source {
    font-size: 16px;
    line-height: 1.8;
  }

  .think-sv,
  .think-final {
    margin-bottom: 40px;
  }

  .think-funnel,
  .think-stack,
  .think-neq {
    padding: 20px;
  }

  .think-funnel__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .think-neq {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .think-neq__mark {
    text-align: center;
  }

  .think-stack__bar {
    flex-direction: column;
    height: auto;
  }

  .think-stack__bar span {
    min-height: 32px;
    padding: 6px 8px;
    white-space: normal;
    text-align: center;
  }

  .think-stack__cap {
    width: 100%;
  }

  .think-six li {
    min-height: 0;
    padding: 40px 16px 16px 88px;
  }

  .think-six strong {
    font-size: 36px;
    line-height: 1;
  }

  .think-kicker-blue,
  .think-sidehead,
  .think-disclo__kicker {
    font-size: 18px;
    line-height: 1.5;
  }

  .think-page--survey .think-lead {
    font-size: 16px;
    line-height: 1.8;
  }

  .think-sv-guest__note {
    grid-column: 1;
  }

  .think-sv-pie__chart,
  .think-sv-pie__chart.is-lg {
    flex-basis: 120px;
    width: 120px;
    height: 120px;
  }

  .think-sv-guest__metric {
    flex-direction: column;
    align-items: flex-start;
  }

  .think-means-band {
    padding: 40px 0;
  }

  .think-means-band__inner {
    gap: 24px;
  }

  .think-means-stmt,
  .think-means-concern {
    padding: 24px 20px;
  }

  .think-means-stmt p:first-child,
  .think-means-concern h3 {
    font-size: 18px;
  }

  .think-cta__btn {
    width: 100%;
    min-width: 0;
  }

  .think-essay h2,
  .think-proposals h3 {
    font-size: 20px;
  }


  .think-top {
    right: 16px;
    bottom: 16px;
    width: 64px;
    height: 64px;
  }

  .think-impact__arrow {
    transform: rotate(90deg);
  }

  .schedule-page__body {
    padding: 40px 0 64px;
  }

  .schedule-lead {
    margin-bottom: 32px;
    font-size: 16px;
  }

  .schedule-lead br {
    display: none;
  }

  .schedule-board {
    padding: 32px 16px 40px;
  }

  .schedule-month {
    width: 120px;
    height: 40px;
    margin: 0 0 16px;
    font-size: 16px;
  }

  .schedule-item {
    grid-template-columns: 16px minmax(0, 1fr);
    column-gap: 12px;
  }

  .schedule-item__date {
    grid-column: 2;
    padding-top: 0;
    margin-bottom: 8px;
    font-size: 14px;
    text-align: left;
  }

  .schedule-item__rail {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .schedule-card {
    grid-column: 2;
    padding: 16px;
  }

  .schedule-card h3 {
    font-size: 16px;
  }

  .schedule-banner {
    min-height: 0;
    margin-top: 32px;
    padding: 16px 20px;
    border-radius: 40px;
    font-size: 14px;
  }

  .direction-wrap {
    padding-bottom: 48px;
  }

  .platform {
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .platform__lead,
  .platform__lead--intro,
  .platform__lead--join {
    margin-top: 8px;
    margin-bottom: 24px;
    font-size: 16px;
  }

  .platform__lead--intro {
    margin-bottom: 32px;
  }

  .platform__lead br {
    display: none;
  }

  .platform__scene {
    width: 100%;
  }

  .platform__cta {
    width: min(365px, 100%);
    min-width: 0;
    height: 60px;
  }

  .direction-card {
    min-height: 0;
    padding: 24px 16px;
  }

  .direction-card img {
    width: 100%;
    max-width: 220px;
    height: auto;
    max-height: 180px;
  }

  .howto {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .howto .section-head {
    margin-bottom: 32px;
  }

  .howto-card {
    min-height: 0;
  }

  .modelcase,
  .local-voice {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .local-card {
    min-height: 0;
    padding: 16px;
  }

  .local-card__circle {
    width: 72px;
    height: 72px;
    font-size: 16px;
  }

  .local-card__note {
    width: auto;
    min-width: 0;
    flex: 1;
    min-height: 96px;
    margin-left: -16px;
    padding: 12px 12px 12px 24px;
  }

  .local-card__row--reverse .local-card__note {
    margin-right: -16px;
  }

  .local-card__note p {
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0.04em;
  }

  .voices {
    padding-top: 56px;
    padding-bottom: 64px;
  }

  .voices .section-head {
    margin-bottom: 32px;
  }

  .voices__char {
    display: none;
  }

  .voice-card {
    min-height: 0;
    padding: 24px 20px 32px;
  }

  .cta {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .cta__head {
    flex-direction: column;
  }

  .cta__slash {
    display: none;
  }

  .cta__lead {
    font-size: 14px;
  }

  .site-footer {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .site-footer__top,
  .site-footer__bottom,
  .site-footer__links {
    flex-direction: column;
  }

  .page-main {
    padding: 40px 0 64px;
  }

.purpose-hero,
.direction-page__hero,
.vision-page__hero,
.news-list__hero,
.voice-list__hero,
.case-list__hero,
.schedule-page__hero,
.think-page__hero,
.rules-hero,
.join-hero,
.verify-page__hero {
    min-height: 180px;
    padding: 32px 16px;
  }

  .voice-filters {
    gap: 12px;
    margin-bottom: 32px;
  }

  .voice-filters__field {
    width: 100%;
  }

  .voice-filters input[type="search"],
  .voice-filters input[type="date"],
  .voice-filters select {
    flex: 1;
    width: auto;
    min-width: 0;
  }

  .voice-filters input[type="search"],
  .voice-filters input[type="date"] {
    width: auto;
    flex: 1;
  }

  .voice-row__link {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
    padding: 20px 0;
  }

  .voice-detail__head {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 12px;
  }

  .voice-single__inner {
    margin-top: 40px;
    padding-bottom: 48px;
  }

  .voice-detail__body {
    padding-left: 0;
  }

  .voice-row__avatar {
    width: 56px;
    height: 56px;
  }

  .news-list__inner,
  .voice-list__inner {
    margin-top: 40px;
    padding-bottom: 48px;
  }

  .news-list__filters {
    gap: 12px;
    margin-bottom: 32px;
  }

  .news-list__filter {
    min-width: calc(50% - 6px);
    height: 48px;
    font-size: 14px;
  }

  .news-row__link {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 0;
  }

  .news-row__image {
    width: 100%;
    height: 200px;
  }

  .direction-page {
    padding-bottom: 64px;
  }

  .direction-page__blocks {
    margin-top: 40px;
    gap: 48px;
    padding: 0 16px;
  }

  .direction-block {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .direction-block__panel,
  .direction-block--reverse .direction-block__panel {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 56px 16px 24px;
    border-radius: 21px;
  }

  .direction-block__card {
    min-height: 0;
    padding: 28px 20px 24px;
    border-radius: 18px;
  }

  .direction-block__card h2,
  .direction-block__title--tight {
    font-size: 18px;
    letter-spacing: 0;
    white-space: normal;
  }

  .direction-block__text {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.8;
  }

  .direction-block__visual,
  .direction-block--reverse .direction-block__visual,
  .direction-block__visual--future {
    position: relative;
    top: 24px;
    left: auto;
    right: auto;
    display: block;
    order: -1;
    width: min(260px, 70%);
    max-height: 240px;
    margin: 0 auto -40px;
    object-fit: contain;
    z-index: 2;
  }

  .direction-block:last-child {
    padding-bottom: 0;
  }

  .direction-page__back {
    width: min(218px, 100%);
    min-width: 0;
    margin-top: 48px;
  }

  .purpose-body {
    padding: 48px 16px 64px;
  }

  .purpose-body__text {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .purpose-body__text p + p {
    margin-top: 1.4em;
  }

  .purpose-body__text p.purpose-body__lead,
  .purpose-body__text p.purpose-body__sign {
    margin-top: 2.4em;
  }

  .purpose-body__back {
    width: min(218px, 100%);
    min-width: 0;
    margin-top: 48px;
  }

  .rules-body {
    width: min(100% - 32px, 860px);
    padding: 48px 0 64px;
    font-size: 15px;
  }

  .join-body {
    padding: 48px 16px 72px;
  }

  .join-intro {
    font-size: 16px;
    text-align: left;
  }

  .join-form-wrap {
    margin-top: 48px;
  }

  .join-form .join-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .join-form .join-row + .join-row {
    margin-top: 28px;
  }

  .join-row__head {
    justify-content: flex-start;
    min-height: 0;
  }

  .join-row--area .join-row__head {
    padding-top: 0;
  }

  .join-row__label {
    text-align: left;
    white-space: normal;
  }

  .join-page .wpcf7 textarea {
    height: 180px;
  }

  .join-agree {
    margin-top: 40px;
    font-size: 14px;
  }

  .join-thanks {
    padding: 48px 16px 72px;
  }

  .join-thanks__heading {
    font-size: 22px;
  }

  .join-thanks__text {
    margin-top: 40px;
  }

  .join-thanks__back {
    margin-top: 56px;
  }

  .rules-masthead__name {
    font-size: 18px;
  }

  .rules-chapter {
    margin-top: 40px;
  }

  .rules-chapter__title {
    font-size: 18px;
  }

  .rules-article__title {
    font-size: 16px;
  }

  .rules-code {
    margin-top: 48px;
    padding-top: 32px;
  }

  .rules-code__title {
    font-size: 22px;
  }

  .rules-back {
    width: min(218px, 100%);
    min-width: 0;
    margin-top: 48px;
  }

  .news-article__title,
  .page-article__title {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .site-header__inner {
    width: min(100% - 32px, var(--inner));
  }

  .hero__inner,
  .inner {
    width: min(100% - 32px, var(--inner));
  }

  .hero__title {
    font-size: 24px;
  }

  .section-head__title,
  .cta__head h2 {
    font-size: 22px;
  }

  .btn {
    min-width: 0;
    width: 100%;
  }

  .purpose-body__back,
  .direction-page__back,
  .vision-page__back,
  .news-list__back,
  .join-thanks__back {
    width: min(235px, 100%);
    min-width: 0;
  }

  .verify-heading h2 {
    font-size: 18px;
  }

  .verify-point__index strong,
  .verify-data-card__num {
    font-size: 48px;
  }

  .news-card__body,
  .case-card__body {
    padding: 16px;
  }
}
