:root {
  --brand-deep: #4fbea0;
  --brand: #4fbea0;
  --brand-soft: #77d4c7;
  --brand-gradient: linear-gradient(135deg, #4fbea0 0%, #4fbea0 52%, #77d4c7 100%);
  --brand-surface: #eaf8f4;
  --intro-surface: #fffaed;
  --ink: #333333;
  --blue-black: #123850;
  --shell: 75rem;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: #ffffff;
}

body {
  margin: 0;
  color: var(--ink);
  background: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main {
  overflow: hidden;
}

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

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

p,
h1,
h2,
h3,
h4 {
  margin: 0;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 1rem;
  left: 1rem;
  padding: 0.75rem 1rem;
  color: #ffffff;
  background: var(--ink);
  border-radius: 0.5rem;
  transform: translateY(-200%);
}

.skip-link:focus {
  transform: translateY(0);
}

a:focus-visible {
  outline: 0.2rem solid var(--brand-deep);
  outline-offset: 0.25rem;
}

.section-shell {
  width: min(100% - 3rem, var(--shell));
  margin-inline: auto;
}

.section-pad {
  padding-block: 5.5rem;
}

.site-header {
  position: absolute;
  z-index: 20;
  top: 2rem;
  left: 50%;
  width: min(95%, 86rem);
  transform: translateX(-50%);
}

.site-header a {
  display: block;
  width: 17.5rem;
}

.site-header img {
  width: 100%;
  height: auto;
}

.hero {
  position: relative;
  width: min(100%, 90rem);
  min-height: 48rem;
  margin-inline: auto;
  padding-block: clamp(5rem, 6vw, 5.5rem);
}

.hero-visual {
  position: absolute;
  top: 5rem;
  right: 0;
  display: grid;
  width: min(52%, 46rem);
  height: calc(100% - 10rem);
  place-items: center;
  overflow: visible;
}

.hero-visual::before {
  position: absolute;
  top: -5rem;
  right: calc(-12% - max(0px, (100vw - 90rem) / 2));
  width: min(92%, 40rem);
  aspect-ratio: 1;
  content: "";
  background-image: radial-gradient(circle, #e8e8e8 0 0.18rem, transparent 0.2rem);
  background-size: 1rem 1rem;
  border-radius: 50%;
}

.hero-art {
  position: relative;
  z-index: 1;
  width: min(88%, 41rem);
  height: auto;
  object-fit: contain;
}

.hero-copy {
  position: absolute;
  top: 50%;
  left: 7%;
  width: min(47%, 39rem);
  transform: translateY(-50%);
}

.hero-lead {
  font-size: clamp(2.1rem, 4vw, 3.55rem);
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: -0.035em;
}

.hero-lead-normal {
  color: var(--ink);
}

.hero-lead-accent {
  color: var(--ink);
}

.hero-lead-highlight {
  color: #4fbea0;
}

.hero-description {
  max-width: 37rem;
  margin-top: 1.25rem;
  color: #555555;
  font-size: clamp(0.82rem, 1.05vw, 0.95rem);
  font-weight: 500;
  line-height: 1.85;
}

.hero-description span {
  display: block;
}

.hero-description span + span {
  margin-top: 0.5rem;
}

.hero h1 {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.35em 0.45em;
  color: #ffffff;
  background: var(--brand-gradient);
  font-size: clamp(1.2rem, 2.2vw, 1.875rem);
  font-weight: 600;
  line-height: 1;
}

.hero-cta {
  width: min(80%, 22rem);
  margin: 1.5rem 0 0;
}

.sponsor-count {
  position: relative;
  display: flex;
  width: fit-content;
  align-items: baseline;
  gap: 0.5rem;
  margin: 1.4rem 0 0;
  padding: 0.75rem 2rem;
}

.sponsor-count::before,
.sponsor-count::after {
  position: absolute;
  top: -0.25rem;
  width: 0.55rem;
  height: calc(100% + 0.5rem);
  content: "";
  border-block: 0.125rem solid var(--ink);
}

.sponsor-count::before {
  left: 0;
  border-left: 0.125rem solid var(--ink);
}

.sponsor-count::after {
  right: 0;
  border-right: 0.125rem solid var(--ink);
}

.sponsor-count span {
  font-size: 1.25rem;
  font-weight: 700;
}

.sponsor-count strong {
  margin-left: 2rem;
  font-size: 2.5rem;
  line-height: 1;
}

.sponsor-count strong small {
  margin-left: 0.35rem;
  font-size: 0.45em;
  font-weight: 700;
}

.about {
  position: relative;
  background: var(--intro-surface);
}

.about-word {
  position: absolute;
  top: 1rem;
  left: -0.5rem;
  width: min(47%, 40rem);
  opacity: 0.05;
  pointer-events: none;
  color: #fff4da;
  fill: #fff4da;
}

.about-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 4rem;
}

.about h2 {
  font-size: clamp(2rem, 2.4vw, 3rem);
  font-weight: 800;
  line-height: 1.65;
}

.about h2 span {
  color: var(--brand-deep);
}

.about h2 .about-ending {
  color: #333333;
}

.about-illustration-mobile {
  display: none;
}

.about h3 {
  margin-top: 1.5rem;
  color: var(--ink);
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 800;
  line-height: 1.8;
}

.about p {
  margin-top: 1.5rem;
  font-size: 0.95rem;
  line-height: 2;
}

.about-detail span {
  display: block;
}

.graphic-link {
  display: inline-block;
  width: fit-content;
  margin-top: 2rem;
  padding-bottom: 0.3rem;
  color: var(--brand-deep);
  border-bottom: 0.1rem solid var(--brand);
  border-radius: 0;
  font-size: 0.95rem;
  font-weight: 700;
  transition: transform 180ms ease, opacity 180ms ease;
}

.graphic-link > span {
  margin-left: 0.55rem;
  font-size: 1.15rem;
}

.graphic-link:hover {
  opacity: 0.82;
  transform: scale(0.98);
}

.about-illustration {
  width: min(100%, 31rem);
  margin-left: auto;
}

.collaboration {
  padding-block: 2.5rem;
  background: var(--brand-gradient);
}

.collaboration-card {
  display: grid;
  width: 80%;
  max-width: 1800px !important;
  grid-template-columns: 2fr 3fr;
  align-items: center;
  margin-inline: auto;
  padding: 4rem 9rem;
  background: #ffffff;
  border-radius: 4rem;
}

.collaboration-copy p {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}

.collaboration-copy h2 {
  margin-top: 0.75rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.collaboration-copy h2 span {
  color: var(--brand);
}

.collaboration-image {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.connection {
  position: relative;
  background: #ffffff;
}

.connection::before {
  position: absolute;
  inset: 0 0 auto;
  height: 0.3rem;
  content: "";
  background: var(--brand-gradient);
}

.connection-eyebrow,
.connection-lead {
  text-align: center;
}

.connection .section-heading {
  color: #333333;
}

.connection-mobile-break {
  display: none;
}

.connection-lead {
  margin-top: 0.75rem;
  color: #666666;
  font-size: 1rem;
}

.connection-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.35rem;
  margin: 3rem 0 0;
  padding: 0;
  list-style: none;
}

.connection-step {
  position: relative;
  min-width: 0;
  padding: 2.8rem 1rem 1.5rem;
  background: #ffffff;
  border: 0.0625rem solid color-mix(in srgb, var(--brand) 38%, #ffffff);
  border-radius: 1.25rem;
  box-shadow: 0 0.8rem 2rem rgb(79 190 160 / 0.08);
}

.connection-step:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -1.1rem;
  width: 0.8rem;
  height: 0.8rem;
  content: "";
  border-top: 0.2rem solid var(--brand);
  border-right: 0.2rem solid var(--brand);
  transform: translateY(-50%) rotate(45deg);
}

.flow-number {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  color: #ffffff;
  background: var(--brand-gradient);
  border-radius: 50%;
  box-shadow: none;
  text-shadow: none;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1;
}

.connection-step > .flow-number {
  position: absolute;
  top: -1rem;
  left: 1rem;
}

.connection-step h3 {
  color: var(--brand-deep);
  font-size: 1.3rem;
  line-height: 1.45;
}

.connection-step p {
  margin-top: 0.75rem;
  font-size: 0.85rem;
  line-height: 1.75;
}

.guide {
  padding-bottom: 0;
  background: var(--brand-surface);
}

.guide-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(22rem, 0.85fr);
  align-items: start;
}

.guide-copy {
  padding: 1rem 2rem 5.5rem 0;
}

.eyebrow {
  color: var(--brand-deep);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.guide h2 {
  margin-top: 1.5rem;
  font-size: clamp(1.55rem, 2.8vw, 2.2rem);
  line-height: 1.6;
}

.guide-copy > p:not(.eyebrow, .period) {
  margin-top: 1.5rem;
  font-size: 0.95rem;
  line-height: 2;
}

.period {
  display: inline-block;
  margin-top: 2rem;
  padding: 0.4em 1.6em;
  color: #ffffff;
  background-color: #333333;
  border-radius: 0.4rem;
  font-size: 0.9rem;
}

.period strong {
  font-size: 1.1rem;
}

.guide-sponsor-link {
  position: relative;
  display: flex;
  width: min(100%, 30rem);
  min-height: 4.5rem;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  padding: 1rem 4rem 1rem 2rem;
  color: var(--blue-black);
  background: #fae442;
  border: 0.125rem solid var(--blue-black);
  border-radius: 10rem;
  box-shadow: 0.25rem 0.35rem 0 var(--blue-black);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.guide-sponsor-link span {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-55%);
}

.guide-sponsor-link:hover {
  box-shadow: 0.15rem 0.2rem 0 var(--blue-black);
  transform: translate(0.1rem, 0.15rem);
}

.guide-photo {
  width: 100%;
  height: 35rem;
  object-fit: cover;
  object-position: 52% center;
}

.plan {
  position: relative;
  padding-top: 3rem;
  background: #ffffff;
}

.sponsorship-word {
  position: absolute;
  top: 0;
  left: 2rem;
  width: min(52%, 50rem);
  opacity: 0.95;
  pointer-events: none;
  filter: hue-rotate(75deg) saturate(0.75);
}

.plan-content {
  position: relative;
  margin-top: 5rem;
}

.plan-intro {
  text-align: center;
}

.plan-intro h2 {
  margin-top: 0.75rem;
  font-size: clamp(1.75rem, 3vw, 2.6rem);
  line-height: 1.5;
}

.plan-intro > p:last-child {
  width: min(100%, 48rem);
  margin: 1rem auto 0;
  color: #666666;
  font-size: 0.9rem;
  line-height: 1.85;
}

.sponsorship-method-grid {
  display: grid;
  grid-template-columns: minmax(0, 34rem);
  justify-content: center;
  gap: 2rem;
  margin-top: 3rem;
}

.sponsorship-method {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 2.5rem;
  background: #ffffff;
  border: 0.0625rem solid rgb(79 190 160 / 0.45);
  border-radius: 1.5rem;
  box-shadow: 0 1rem 2.5rem rgb(79 190 160 / 0.1);
}

.sponsorship-method::before {
  position: absolute;
  inset: 0 0 auto;
  height: 0.35rem;
  content: "";
  background: var(--brand-gradient);
}

.sponsorship-method:nth-child(2) {
  border-color: rgb(222 181 29 / 0.5);
  box-shadow: 0 1rem 2.5rem rgb(160 120 0 / 0.08);
}

.sponsorship-method:nth-child(2)::before {
  background: linear-gradient(135deg, #e4b91d, #fae442);
}

.sponsorship-method:nth-child(2) .method-label,
.sponsorship-method:nth-child(2) .method-result {
  color: #806600;
}

.sponsorship-method:nth-child(2) .method-number {
  color: #e4bd2f;
}

.sponsorship-method:nth-child(2) li {
  color: #6f5900;
  background: #fff8d5;
}

.sponsorship-method:nth-child(2) .method-result {
  border-top-color: #eadb82;
}

.sponsorship-method-single {
  display: grid;
  justify-items: center;
  padding: 2.5rem;
  background: #ffffff;
  border-color: rgb(222 181 29 / 0.5);
  box-shadow: 0 1rem 2.5rem rgb(160 120 0 / 0.08);
  text-align: center;
}

.sponsorship-method-single::before {
  background: linear-gradient(135deg, #e4b91d, #fae442);
}

.sponsorship-method-single .method-label {
  color: #806600;
  font-size: 1rem;
}

.method-price {
  margin-top: 0.25rem;
  color: var(--ink);
  font-size: clamp(2.4rem, 5vw, 3.5rem);
  font-weight: 900;
  line-height: 1.2;
}

.method-audience {
  margin-top: 1rem;
  color: #5d510d;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
}

.support-actions {
  margin-top: 4rem;
  text-align: center;
}

.support-actions > h3 {
  color: var(--ink);
  font-size: clamp(1.4rem, 2vw, 1.75rem);
  line-height: 1.5;
}

.support-actions ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.support-actions li {
  min-width: 0;
  padding: 1.5rem;
  background: #ffffff;
  border: 0.0625rem solid rgb(79 190 160 / 0.45);
  border-radius: 1rem;
}

.support-actions span {
  display: block;
  color: var(--brand);
  font-size: 1.35rem;
  font-weight: 900;
}

.support-actions strong {
  display: block;
  margin-top: 0.65rem;
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.65;
}

.method-number {
  position: absolute;
  top: 1.25rem;
  right: 1.5rem;
  color: var(--brand-soft);
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1;
}

.method-label {
  color: var(--brand-deep);
  font-size: 1rem;
  font-weight: 800;
}

.sponsorship-method h3 {
  max-width: calc(100% - 4rem);
  margin-top: 0.4rem;
  font-size: 1.55rem;
  line-height: 1.45;
}

.sponsorship-method h3 + p {
  margin-top: 1rem;
  font-size: 0.95rem;
  line-height: 1.85;
}

.sponsorship-method ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.sponsorship-method li {
  padding: 0.35rem 0.8rem;
  color: var(--brand-deep);
  background: var(--brand-surface);
  border-radius: 10rem;
  font-size: 0.85rem;
  font-weight: 700;
}

.method-result {
  margin-top: 1.25rem;
  padding-top: 1rem;
  color: var(--brand-deep);
  border-top: 0.0625rem solid var(--brand-soft);
  font-size: 0.9rem;
  font-weight: 800;
}

.plan-subsection {
  margin-top: 4.5rem;
}

.plan-subsection > h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  color: var(--brand-deep);
  font-size: clamp(1.55rem, 2.5vw, 2.1rem);
  text-align: center;
}

.plan-subsection > h3::before,
.plan-subsection > h3::after {
  flex: 1;
  height: 0.15rem;
  content: "";
  background: var(--brand-gradient);
  border-radius: 10rem;
}

.use-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  margin-top: 2.5rem;
}

.use-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding: 1.25rem 1.25rem 1.5rem;
  background-color: #f6f6f6;
  border-radius: 1.25rem;
}

.use-card:not(:last-child)::after {
  content: none;
}

.use-card .flow-number {
  position: absolute;
  z-index: 2;
  top: 0.5rem;
  left: 0.5rem;
  width: 3.25rem;
  height: 3.25rem;
  font-size: 1rem;
  border: 0.15rem solid #ffffff;
}

.use-photo {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 0.85rem;
}

.use-photo-1 { object-position: 52% center; }
.use-photo-2 { object-position: center 58%; }
.use-photo-3 { object-position: 58% center; }

.use-card h4 {
  margin-top: 1rem;
  color: #2d3748;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

.merit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.merit-card {
  display: grid;
  min-width: 0;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 1.35rem;
  border: 0.0625rem solid rgb(79 190 160 / 0.4);
  border-radius: 1rem;
}

.merit-card > span {
  display: grid;
  width: 3.2rem;
  height: 3.2rem;
  place-items: center;
  color: var(--brand-deep);
  background: #ffffff;
  border: 0.125rem solid var(--brand);
  border-radius: 50%;
  border-width: 0.15rem;
}

.merit-icon svg {
  width: 2rem;
  height: 2rem;
}

.merit-card h4 {
  color: #333333;
  font-size: 1.18rem;
}

.merit-card p {
  margin-top: 0.25rem;
  font-size: 0.85rem;
  line-height: 1.65;
}

.benefits {
  padding-top: 3rem;
  background: linear-gradient(180deg, #ffffff, var(--brand-surface));
}

.section-heading {
  color: var(--brand-deep);
  font-size: clamp(2rem, 3.2vw, 2.6rem);
  text-align: center;
}

.benefits .section-heading::after {
  display: block;
  width: 4.5rem;
  height: 0.18rem;
  margin: 0.8rem auto 0;
  content: "";
  background: var(--brand-gradient);
  border-radius: 10rem;
}

.benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

.benefit-card {
  position: relative;
  min-width: 0;
  padding: 2rem;
  background: #ffffff;
  border: 0.0625rem solid rgb(79 190 160 / 0.4);
  border-radius: 1.5rem;
  box-shadow: 0 1rem 2.5rem rgb(79 190 160 / 0.08);
}

.benefit-card.has-emphasis {
  padding-top: 4.25rem;
}

.benefit-card:last-child {
  grid-column: 1 / -1;
  width: calc(50% - 1rem);
  justify-self: center;
}

.benefit-card header {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding-bottom: 1.2rem;
  border-bottom: 0.125rem solid var(--brand-soft);
}

.benefit-number {
  display: grid;
  width: 3.5rem;
  height: 4.25rem;
  place-items: center;
  align-content: center;
  color: #ffffff;
  background: var(--brand-gradient);
  border-radius: 0.8rem 0.8rem 1.4rem 1.4rem;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.05;
}

.benefit-number small {
  font-size: 0.7rem;
  font-weight: 700;
}

.benefit-card h3 {
  color: var(--blue-black);
  font-size: 1.35rem;
  line-height: 1.45;
  text-align: left;
}

.benefit-lead {
  margin-top: 1.25rem;
  font-size: 0.95rem;
  line-height: 1.8;
}

.benefit-emphasis {
  position: absolute;
  top: -16px;
  left: 50%;
  width: fit-content;
  max-width: calc(100% - 1rem);
  margin: 0;
  padding: 0.65rem 1.25rem;
  color: var(--brand-deep);
  background: var(--brand-surface);
  border: 0.0625rem solid rgb(79 190 160 / 0.35);
  border-radius: 0.8rem;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.65;
  text-align: center;
  white-space: nowrap;
  transform: translateX(-50%);
}

.benefit-emphasis::after {
  position: absolute;
  bottom: -0.45rem;
  left: 50%;
  width: 0.8rem;
  height: 0.8rem;
  content: "";
  background: var(--brand-surface);
  border-right: 0.0625rem solid rgb(79 190 160 / 0.35);
  border-bottom: 0.0625rem solid rgb(79 190 160 / 0.35);
  transform: translateX(-50%) rotate(45deg);
}

.benefit-note {
  margin-top: 0.75rem;
  color: #666666;
  font-size: 0.78rem;
  line-height: 1.7;
}

.benefit-card ul {
  display: grid;
  gap: 0.75rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.benefit-card li {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.85rem 1rem;
  background-color: #f6f6f6;
  border-radius: 0.8rem;
  font-size: 0.82rem;
  line-height: 1.65;
}

.benefit-card li strong {
  color: var(--brand-deep);
  font-size: 0.9rem;
}

.cta-wrap {
  padding-block: 2rem 4rem;
}

.cta-frame {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr) 8rem;
  align-items: end;
  gap: 1rem;
  width: min(100% - 4rem, 68rem);
  padding-block: 1.5rem 0;
  border-block: 0.2rem double #000000;
}

.cta-frame > img {
  width: 100%;
  align-self: end;
  max-height: 10rem;
  object-fit: contain;
  object-position: bottom;
}

.cta-button {
  position: relative;
  top: -0.75rem;
  display: block;
  width: min(100%, 40rem);
  margin: auto;
  align-self: center;
  padding: 1.6rem 4rem;
  color: var(--blue-black);
  background: #fae442;
  border: 0.125rem solid var(--blue-black);
  border-radius: 10rem;
  box-shadow: 0.25rem 0.35rem 0 var(--blue-black);
  font-size: 1.55rem;
  font-weight: 700;
  text-align: center;
  transition: opacity 180ms ease, transform 180ms ease;
}

.cta-button span {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  color: var(--blue-black);
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-54%);
}

.cta-button:hover {
  opacity: 1;
  box-shadow: 0.15rem 0.2rem 0 var(--blue-black);
  transform: translate(0.1rem, 0.15rem);
}

.organization {
  background: #ffffff;
}

.organization-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.7fr);
  align-items: center;
  gap: 3rem;
  width: 100vw;
  max-width: 100%;
  margin-inline: auto;
  padding: 3.5rem 10%;
  background: var(--intro-surface);
  border: none;
  border-radius: 1.5rem;
  box-shadow: none;
}

.organization-content {
  min-width: 0;
}

.organization-copy h2 {
  margin-top: 0.75rem;
  font-size: clamp(1.55rem, 2.6vw, 2.25rem);
  line-height: 1.6;
}

.organization-copy > p:not(.eyebrow) {
  margin-top: 1.15rem;
  font-size: 0.95rem;
  line-height: 1.95;
}

.organization-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 0.35rem;
  margin-top: 1.25rem;
  padding: 0.6rem 1.2rem;
  color: #ffffff;
  background: var(--brand-gradient);
  border-radius: 10rem;
  box-shadow: 0 0.75rem 1.5rem rgb(79 190 160 / 0.18);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.6;
  text-align: left;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.organization-photo {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center 45%;
  border-radius: 1.5rem 4rem 1.5rem 1.5rem;
}

.organization-link > span:first-child {
  font-size: 0.78rem;
  font-weight: 600;
}

.organization-link:hover {
  box-shadow: 0 0.45rem 1rem rgb(79 190 160 / 0.16);
  transform: translateY(0.12rem);
}

.people-section {
  padding-block: 2rem;
}

.framed-panel {
  padding: 4.5rem 4rem 2.5rem;
  border: 1rem solid var(--brand-surface);
  border-radius: 1rem;
  box-shadow: 0.125rem 0.125rem 0.4rem #cfcfcf;
}

.simple-people-heading {
  color: var(--brand-deep);
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  font-weight: 800;
  line-height: 1.55;
  text-align: center;
}

.simple-people-copy {
  margin-top: 1.25rem;
  color: #555555;
  font-size: 1rem;
  line-height: 1.8;
  text-align: center;
}

.decorated-heading {
  color: var(--brand-deep);
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}

.decorated-heading span {
  margin-inline: 1rem;
}

.section-subtitle {
  margin-top: 0.65rem;
  font-size: 1rem;
  text-align: center;
}

.leader {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(12rem, 1fr);
  align-items: start;
  gap: 3rem;
  margin-top: 3.5rem;
}

.leader-copy > p:not(.subheading, .leader-name) {
  margin-top: 1rem;
  font-size: 0.95rem;
  line-height: 2;
}

.subheading {
  color: var(--brand-deep);
  font-size: 1.3rem;
  font-weight: 700;
}

.subheading span {
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 400;
}

.leader > img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.leader-name {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: baseline;
  gap: 0.75rem;
  margin-top: 1.5rem;
  font-size: 0.85rem;
}

.leader-name strong {
  font-size: 1.25rem;
}

.leader + .subheading {
  margin-top: 2.5rem;
}

.logo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.logo-card {
  display: grid;
  min-width: 0;
  min-height: 7.5rem;
  place-items: center;
  padding: 0.8rem;
  border: 0.0625rem solid #ededed;
  background: #ffffff;
}

.logo-card img {
  width: 100%;
  max-height: 5.5rem;
  object-fit: contain;
}

.notes {
  margin-top: 2rem;
  font-size: 0.8rem;
  line-height: 1.6;
  text-align: right;
}

.ambassador-panel {
  border-color: var(--brand-surface);
}

.ambassador-panel .decorated-heading,
.ambassador-panel .subheading {
  color: var(--brand-deep);
}

.portrait-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.portrait-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}

.portrait-card p {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}

.list-heading {
  margin-top: 3rem;
}

.supporter-panel .decorated-heading,
.supporter-panel .subheading {
  color: var(--brand-deep);
}

.supporter-grid {
  margin-top: 3rem;
}

.ambassador-banner {
  padding-block: 4rem;
}

.ambassador-banner a.section-shell {
  display: block;
  width: 58%;
  margin-inline: auto;
}

.ambassador-banner img {
  width: 100%;
}

.instagram {
  padding-block: 4.5rem 6rem;
}

.instagram-card {
  position: relative;
  padding: 5rem 4rem 4rem;
  border: 1rem solid var(--brand-surface);
  border-radius: 1rem;
  box-shadow: 0.125rem 0.125rem 0.4rem #cfcfcf;
}

.instagram-word {
  position: absolute;
  top: -2.5rem;
  left: 4rem;
  width: min(23rem, 38%);
  color: #4fbea0;
  fill: #4fbea0;
  filter: brightness(0) saturate(100%) invert(66%) sepia(19%) saturate(1037%) hue-rotate(116deg) brightness(99%) contrast(86%);
}

.instagram h2 {
  color: var(--brand-deep);
  font-size: 1.1rem;
}

.instagram iframe {
  width: 100%;
 aspect-ratio: 4 / 4;
  margin-top: 2rem;
  border: 0;
}

.floating-entry {
  position: fixed;
  z-index: 50;
  right: 2rem;
  bottom: 3rem;
  width: 10.5rem;
  filter: drop-shadow(0.35rem 0.35rem 0.35rem #aaaaaa);
  animation: entry-nudge 3s ease-in-out infinite;
}

.floating-entry img {
  width: 100%;
}

.primary-cta {
  display: flex;
  min-height: 4.5rem;
  justify-content: center;
  align-items: center;
  padding: 1rem 4rem 1rem 2rem;
  color: #ffffff;
  background: linear-gradient(180deg, #123850 0%, #000000 100%);
  border: 0;
  border-radius: 10rem;
  box-shadow: 0 0.65rem 1.4rem rgb(79 190 160 / 0.22);
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.hero-cta,
.guide-sponsor-link,
.cta-button {
  position: relative;
}

.guide-sponsor-link {
  width: min(100%, 30rem);
}

.cta-button {
  width: min(100%, 40rem);
  margin: auto;
}

.cta-wrap.section-pad .cta-button {
  padding: 2rem 4rem 2rem 2rem;
  font-size: 1.6rem;
}

.primary-cta > span {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  color: #ffffff;
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-55%);
}

.primary-cta:hover {
  filter: brightness(1.04);
  box-shadow: 0 0.4rem 1rem rgb(79 190 160 / 0.2);
  transform: translateY(-0.12rem);
}

@keyframes entry-nudge {
  0%, 84%, 100% { transform: translateY(0); }
  88% { transform: translateY(-0.2rem); }
  92% { transform: translateY(0.15rem); }
  96% { transform: translateY(-0.1rem); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .floating-entry { animation: none; }
  * { transition-duration: 0.01ms !important; }
}

.site-footer {
  padding: 5rem 0 1rem;
  background: #f5f5f5;
}

.footer-shell {
  width: min(95%, 86rem);
  margin-inline: auto;
}

.footer-logo {
  display: block;
  width: 15rem;
  margin-inline: auto;
}

.footer-logo img {
  width: 100%;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 4rem;
}

.site-footer nav a {
  padding-inline: 1rem;
  border-right: 0.0625rem solid #000000;
  font-size: 0.85rem;
  line-height: 1.2;
}

.site-footer nav a:last-child {
  border-right: 0;
}

@media (max-width: 75rem) {
  .hero-copy { left: 5%; }
  .hero-lead { font-size: 3rem; }
  .collaboration-card { padding-inline: 4rem; }
}

@media (max-width: 60rem) {
  .section-shell { width: min(100% - 2.5rem, 56rem); }
  .section-pad { padding-block: 4.5rem; }
  .site-header a { width: 14rem; }
  .hero { min-height: 44rem; padding-block: 4.5rem; }
  .hero-visual { top: 4.5rem; height: calc(100% - 9rem); }
  .hero-visual { width: 50%; }
  .hero-art { width: 88%; }
  .hero-copy { left: 4%; width: 49%; }
  .hero-lead { font-size: 2.45rem; }
  .hero-description { font-size: 0.82rem; }
  .hero h1 { font-size: 1.6rem; }
  .about-grid { grid-template-columns: 1.15fr 0.85fr; gap: 2rem; }
  .about h2 span { font-size: 2rem; }
  .about p { font-size: 0.9rem; }
  .collaboration-card { padding: 3rem; border-radius: 3rem; }
  .collaboration-copy p { font-size: 1.25rem; }
  .collaboration-copy h2 { font-size: 3rem; }
  .connection-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 2.5rem; }
  .connection-step:nth-child(3)::after { display: none; }
  .guide-grid { grid-template-columns: minmax(0, 1fr) 17rem; }
  .guide h2 { font-size: 1.8rem; }
  .guide-photo { height: 33rem; }
  .organization-card { gap: 2rem; padding: 3rem; }
  .sponsorship-method { padding: 2rem; }
  .benefit-grid { gap: 1.2rem; }
  .benefit-card { padding: 1.5rem; }
  .benefit-card:last-child { width: calc(50% - 0.6rem); }
  .benefit-card h3 { font-size: 1.1rem; }
  .framed-panel { padding: 3.5rem 3rem 2.5rem; }
  .decorated-heading { font-size: 2.6rem; }
  .logo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .portrait-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .floating-entry { width: 8rem; right: 1.25rem; }
  .instagram iframe { aspect-ratio: 4 / 4; }
}

@media (max-width: 47.99rem) {
  .section-shell { width: min(100% - 2rem, 44rem); }
  .site-header { top: 1.25rem; }
  .site-header a { width: 12.5rem; }
  .hero { min-height: 0; padding-block: 3rem; }
  .hero-visual { position: relative; top: auto; right: auto; width: 100%; height: 26rem; }
  .hero-visual::before { top: -3rem; right: -8%; width: min(72%, 24rem); }
  .hero-art { width: 78%; }
  .hero-copy { position: relative; top: auto; left: auto; width: min(100% - 2rem, 36rem); margin: 0 auto; padding: 1rem 0 3rem; transform: none; }
  .hero-lead { font-size: clamp(2rem, 8vw, 2.8rem); }
  .hero-description { max-width: none; font-size: 0.9rem; }
  .hero h1 { margin-top: 1.3rem; font-size: 1.25rem; }
  .sponsor-count { margin-top: 1.3rem; padding-inline: 1.4rem; }
  .sponsor-count span { font-size: 1rem; }
  .sponsor-count strong { margin-left: 1rem; font-size: 2rem; }
  .about-grid { grid-template-columns: 1fr; }
  .about-illustration-desktop { display: none; }
  .about-illustration-mobile { display: block; width: min(78%, 27rem); margin: 1.5rem auto 0; }
  .about-illustration-mobile + h3 { margin-top: 1.25rem; }
  .desktop-break { display: none; }
  .collaboration-card { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 1.5rem; text-align: center; border-radius: 2.25rem; }
  .collaboration-copy h2 { font-size: clamp(2rem, 8vw, 2.5rem); }
  .collaboration-copy h2 br { display: none; }
  .connection-mobile-break { display: initial; }
  .connection-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 0.75rem; margin-top: 2.25rem; }
  .connection-step { padding: 2.4rem 0.75rem 1rem; }
  .connection-step > .flow-number { top: -0.75rem; left: 0.75rem; }
  .connection-step:not(:last-child)::after { content: none; }
  .connection-step h3 { font-size: 1.05rem; }
  .connection-step p { margin-top: 0.5rem; font-size: 0.82rem; line-height: 1.65; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-copy { padding-right: 0; padding-bottom: 3rem; }
  .guide-photo { height: 16rem; }
  .organization-card { grid-template-columns: 1fr; padding: 2.5rem 2rem; }
  .organization-photo { width: min(100%, 36rem); margin-inline: auto; }
  .sponsorship-word { left: 1rem; width: 70%; }
  .plan-content { margin-top: 3rem; }
  .sponsorship-method-grid { grid-template-columns: 1fr; }
  .support-actions ol { grid-template-columns: 1fr; }
  .use-flow { grid-template-columns: 1fr; gap: 2rem; }
  .use-card:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -1.25rem;
    transform: translateX(50%) rotate(135deg);
  }
  .merit-grid { grid-template-columns: 1fr; }
  .benefit-grid { grid-template-columns: 1fr; }
  .benefit-card:last-child { grid-column: auto; width: 100%; }
  .benefit-emphasis { width: min(calc(100% - 1rem), 26rem); white-space: normal; }
  .cta-frame { grid-template-columns: 4.5rem minmax(0, 1fr) 4.5rem; gap: 0.5rem; }
  .cta-button { padding: 1.2rem 2.5rem 1.2rem 1.5rem; font-size: 1.15rem; }
  .cta-wrap.section-pad .cta-button { max-width: 100%; padding: 1.2rem 2.5rem 1.2rem 1.5rem; font-size: 1.15rem; }
  .framed-panel { padding: 3rem 2rem 2rem; border-width: 0.75rem; }
  .decorated-heading { font-size: 2rem; }
  .leader { grid-template-columns: 1fr 12rem; gap: 1.5rem; }
  .logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portrait-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .instagram-card { padding: 4rem 2rem 2rem; border-width: 0.75rem; }
  .instagram-word { left: 2rem; }
  .instagram iframe { aspect-ratio: 4 / 4; }
  .ambassador-banner a.section-shell { width: min(92%, 36rem); }
}

@media (max-width: 31.25rem) {
  body { font-size: 0.9375rem; }
  .section-shell { width: min(100% - 2rem, 29rem); }
  .section-pad { padding-block: 3.5rem; }
  .site-header { top: 1rem; width: 92%; }
  .site-header a { width: 10.75rem; }
  .hero { padding-block: 3rem; }
  .hero-visual { height: 21rem; }
  .hero-visual::before { top: -3rem; right: -8%; width: min(72%, 24rem); }
  .hero-art { width: 78%; }
  .hero-copy { width: calc(100% - 2rem); padding: 0.75rem 0 2rem; }
  .hero-lead { font-size: 2.05rem; }
  .hero h1 { margin-top: 1.5rem; font-size: 1.2rem; }
  .sponsor-count { margin-top: 1.5rem; padding: 0.6rem 1.25rem; }
  .sponsor-count span { font-size: 0.9rem; }
  .sponsor-count strong { font-size: 1.75rem; }
  .about-word { width: 70%; }
  .about p { margin-top: 1.25rem; font-size: 0.9rem; line-height: 1.9; }
  .graphic-link { width: fit-content; margin-inline: 0; }
  .about-illustration-mobile { width: 78%; }
  .collaboration { padding-block: 1.25rem; }
  .collaboration-card { padding: 3rem 1.5rem; border-radius: 1.5rem; }
  .collaboration-copy p { font-size: 1.05rem; }
  .guide h2 { margin-top: 1rem; font-size: 1.45rem; }
  .guide-copy > p:not(.eyebrow, .period) { font-size: 0.9rem; line-height: 1.85; }
  .period { padding-inline: 1rem; font-size: 0.75rem; }
  .period strong { font-size: 0.9rem; }
  .guide-photo { height: 13rem; }
  .organization-card { padding: 2rem 1.25rem; }
  .plan { padding-top: 2rem; }
  .sponsorship-method { padding: 1.5rem; }
  .method-number { font-size: 2.2rem; }
  .sponsorship-method h3 { font-size: 1.3rem; }
  .method-price { font-size: 2.65rem; }
  .plan-subsection { margin-top: 3.5rem; }
  .plan-subsection > h3 { align-items: flex-start; }
  .merit-card { grid-template-columns: 2.8rem minmax(0, 1fr); padding: 1rem; }
  .merit-card > span { width: 2.8rem; height: 2.8rem; }
  .section-heading { font-size: 2rem; }
  .benefit-grid { gap: 1rem; }
  .benefit-card, .benefit-card:last-child { width: 100%; padding: 1.25rem; }
  .benefit-card h3 { font-size: 1rem; }
  .cta-wrap { padding-block: 1rem 3rem; }
  .cta-frame { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3rem; gap: 0.35rem; padding-block: 1rem 0; }
  .cta-frame > img { display: block; max-height: 6rem; }
  .cta-button { top: -0.5rem; width: 90%; padding: 1rem 2.75rem 1rem 1.5rem; font-size: 1.05rem; }
  .cta-wrap.section-pad .cta-button { width: 90%; padding: 1rem 2.75rem 1rem 1.5rem; font-size: 1.05rem; }
  .people-section { padding-block: 1.25rem; }
  .framed-panel { padding: 2.5rem 1.25rem 1.5rem; border-width: 0.6rem; }
  .decorated-heading { font-size: 1.55rem; }
  .decorated-heading span { margin-inline: 0.35rem; }
  .section-subtitle { font-size: 0.85rem; }
  .leader { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2.5rem; }
  .leader > img { width: 72%; aspect-ratio: 4 / 3; margin-inline: auto; }
  .leader-copy > p:not(.subheading, .leader-name) { font-size: 0.9rem; line-height: 1.85; }
  .leader-name { justify-content: flex-start; }
  .subheading { font-size: 1rem; }
  .logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
  .logo-card { min-height: 6rem; }
  .portrait-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .portrait-card p { font-size: 0.9rem; }
  .notes { font-size: 0.7rem; }
  .ambassador-banner { padding-block: 3rem; }
  .instagram { padding-bottom: 4rem; }
  .instagram-card { padding: 3.5rem 1rem 1rem; border-width: 0.6rem; }
  .instagram-word { top: -1.5rem; left: 1rem; width: 50%; }
  .instagram h2 { font-size: 0.95rem; }
  .instagram iframe { min-height: 30rem; margin-top: 1rem; }
  .floating-entry { right: 1rem; bottom: 1rem; width: calc(100% - 2rem); animation: none; }
  .site-footer { padding: 4rem 0 6rem; }
  .footer-logo { width: 11rem; }
  .site-footer nav { justify-content: center; row-gap: 0.75rem; margin-top: 3rem; }
  .site-footer nav a { padding-inline: 0.7rem; font-size: 0.75rem; }
}

@media (max-width: 22.5rem) {
  .hero-lead { font-size: 1.85rem; }
  .period { display: block; text-align: center; }
  .decorated-heading { font-size: 1.35rem; }
}


/* content04_02 */
.content04_02 {width: 100%;margin: 2.5vw 0 1.5vw;}
.content04_02_t1 {width: 100%;}
.content04_02_t1 .span1 {display: inline-block;vertical-align: middle;font-size: 0.8vw;color: #4fbea0;}
.content04_02_t1 .span2 {display: inline-block;vertical-align: middle;margin-left: 0.8vw;font-size: 1.6vw;font-weight: 500;color: #4fbea0;}
.content04_02_box {width: 100%;font-size: 0;text-align: center;}
.content04_02_a {display: inline-block;vertical-align: middle;margin: 1.5vw 3% 0.5vw 0;}
.content04_02_box_img {width: 100%;}
/* content05_01 */
.content05_01 {width: 100%;margin: 2.5vw 0 1.5vw;}
.content05_01_t1 {width: 100%;}
.content05_01_t1 .span1 {display: inline-block;vertical-align: middle;font-size: 0.8vw;color: #3594A5;}
.content05_01_t1 .span2 {display: inline-block;vertical-align: middle;margin-left: 0.8vw;font-size: 1.6vw;font-weight: 500;color: #3594A5;}
.content05_01_box {width: 100%;font-size: 0;text-align: center;}
.content05_01_a {display: inline-block;vertical-align: middle;margin: 1.5vw 3% 0.5vw 0;}
.content05_01_box_img {width: 100%;}
/* content06_02 */
.content06_02 {width: 100%;margin: 2.5vw 0 1.5vw;}
.content06_02_t1 {width: 100%;}
.content06_02_t1 .span1 {display: inline-block;vertical-align: middle;font-size: 0.8vw;color: #4fbea0;}
.content06_02_t1 .span2 {display: inline-block;vertical-align: middle;margin-left: 0.8vw;font-size: 1.6vw;font-weight: 500;color: #4fbea0;}
.content06_02_box {width: 100%;font-size: 0;}
.content06_02_a {display: inline-block;vertical-align: top;width: 17%;margin: 1.5vw 3% 0 0;}
.content06_02_box_img {width: 100%;aspect-ratio: 16 / 14;object-fit: cover;}
.content06_02_box_t1 {margin-top: 0.5vw;font-size: 0.9vw;color: #999;}
.content06_02_box_t2 {font-size: 1.1vw;font-weight: 500;line-height: 140%;}
/* content06_03 */
.content06_03 {width: 100%;margin: 2.5vw 0 1.5vw;}
.content06_03_t1 {width: 100%;}
.content06_03_t1 .span1 {display: inline-block;vertical-align: middle;font-size: 0.8vw;color: #4fbea0;}
.content06_03_t1 .span2 {display: inline-block;vertical-align: middle;margin-left: 0.8vw;font-size: 1.6vw;font-weight: 500;color: #4fbea0;}
.content06_03_box {width: 100%;font-size: 0;}
.content06_03_a {display: inline-block;vertical-align: top;width: 17%;margin: 1.5vw 3% 0 0;}
.content06_03_box_img {width: 100%;aspect-ratio: 16 / 14;object-fit: cover;}
.content06_03_box_t1 {margin-top: 0.5vw;font-size: 0.9vw;color: #999;}
.content06_03_box_t2 {font-size: 1.1vw;font-weight: 500;line-height: 140%;}
@media screen and (max-width:960px) {
/* content04_02 */
.content04_02 {margin-top: 4vw;}
.content04_02_t1 .span1 {font-size: 1.4vw;}
.content04_02_t1 .span2 {margin-left: 0.8vw;font-size: 2.2vw;}
.content04_02_a {margin: 2vw 3% 0.5vw 0;}
/* content05_01 */
.content05_01 {margin-top: 2.5vw;}
.content05_01_t1 .span1 {font-size: 1.4vw;}
.content05_01_t1 .span2 {margin-left: 0.8vw;font-size: 2.2vw;}
.content05_01_a {margin: 2vw 3% 0.5vw 0;}
.content05_01_box_img {width: 100%;}
/* content06_02 */
.content06_02 {margin-top: 4vw;}
.content06_02_t1 .span1 {font-size: 1.4vw;}
.content06_02_t1 .span2 {margin-left: 0.8vw;font-size: 2.2vw;}
.content06_02_a {width: 22%;margin: 2vw 3% 0 0;}
.content06_02_box_img {aspect-ratio: 16 / 16;}
.content06_02_box_t1 {margin-top: 0.5vw;font-size: 1.5vw;}
.content06_02_box_t2 {margin-top: 0.5vw;font-size: 1.7vw;}
/* content06_03 */
.content06_03 {margin-top: 4vw;}
.content06_03_t1 .span1 {font-size: 1.4vw;}
.content06_03_t1 .span2 {margin-left: 0.8vw;font-size: 2.2vw;}
.content06_03_a {width: 22%;margin: 2vw 3% 0 0;}
.content06_03_box_img {aspect-ratio: 16 / 16;}
.content06_03_box_t1 {margin-top: 0.5vw;font-size: 1.5vw;}
.content06_03_box_t2 {margin-top: 0.5vw;font-size: 1.7vw;}
}
@media screen and (max-width:500px) {
/* content04_02 */
.content04_02 {margin-top: 4vw;}
.content04_02_t1 .span1 {font-size: 3vw;}
.content04_02_t1 .span2 {margin-left: 0.8vw;font-size: 3.6vw;}
.content04_02_box {margin-top: 4vw;text-align: center;}
.content04_02_a {margin: 3vw 8vw;transform: scale(2.0)}
/* content05_01 */
.content05_01 {margin-top: 2.5vw;}
.content05_01_t1 .span1 {font-size: 3vw;}
.content05_01_t1 .span2 {margin-left: 0.8vw;font-size: 3.6vw;}
.content05_01_a {margin: 2vw 7% 0.5vw 0;transform: scale(1.3)}
/* content06_02 */
.content06_02 {margin-top: 5vw;}
.content06_02_t1 .span1 {font-size: 3vw;}
.content06_02_t1 .span2 {margin-left: 0.8vw;font-size: 3.6vw;}
.content06_02_box {margin-top: 2vw;}
.content06_02_a {width: 46%;margin: 2vw 2% 0;}
.content06_02_box_img {aspect-ratio: 16 / 16;}
.content06_02_box_t1 {margin-top: 1.5vw;font-size: 3vw;}
.content06_02_box_t2 {margin-top: 0.5vw;font-size: 3.2vw;}
/* content06_03 */
.content06_03 {margin-top: 5vw;}
.content06_03_t1 .span1 {font-size: 3vw;}
.content06_03_t1 .span2 {margin-left: 0.8vw;font-size: 3.6vw;}
.content06_03_box {margin-top: 2vw;}
.content06_03_a {width: 46%;margin: 2vw 2% 0;}
.content06_03_box_img {aspect-ratio: 16 / 16;}
.content06_03_box_t1 {margin-top: 1.5vw;font-size: 3vw;}
.content06_03_box_t2 {margin-top: 0.5vw;font-size: 3.2vw;}
}
