:root {
  /* font */
  --font-sans-jp: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', meiryo, sans-serif;
  --font-sans: 'Noto Sans', sans-serif;
  --base-text-unit: 16;
  --rem-ratio: calc(1rem / var(--base-text-unit));
  --font-light: 300;
  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 650;
  --font-bold: 700;
  --leading-initial: 1;
  --leading-tight: 1.3;
  --leading-14: 1.4;
  --leading-snug: 1.5;
  --leading-normal: 1.7;
  --leading-relaxed: 1.8;
  --leading-loose: 2;
  --tracking-tighter: -0.03em;
  --tracking-tight: 0.02em;
  --tracking-normal: 0.05em;
  --tracking-medium: 0.07em;
  --tracking-relaxed: 0.12em;

  /* size */
  --layout-width-min: 375;
  --layout-width-max: 1440;
  --layout-width-scroll: 750;
  --layout-height-max: 943;
  --fluid-ratio-min: calc(1 / var(--layout-width-min) * 100dvi);
  --fluid-ratio-max: calc(1 / var(--layout-width-max) * 100dvi);
  --aspect-video: 16/9;
  --aspect-thumbnail: 1.91/1;
  --aspect-button: 634/92;
  --rounded-xs: 2px;
  --rounded-s: 4px;
  --rounded-m: 8px;
  --rounded-sl: 10px;
  --rounded-32: 16px;
  --rounded-28: 14px;
  --rounded-l: 30px;
  --rounded-50: 50px;

  /* color */
  --color-grayscale-0: #fff;
  --color-grayscale-500: #494949;
  --color-grayscale-1000: #000;
  --color-bluescale-0: #e6f6ff;
  --color-bluescale-150: #bee4f8;
  --color-bluescale-250: #cbecff;
  --color-bluescale-500: #d6f0fe;
  --color-bluescale-750: #035aab;
  --color-greenscale-0: #c1e1c4;
  --color-orangescale-0: #f68b1f;
  --background-base: var(--color-grayscale-0);
  --background-footer: var(--color-bluescale-0);
  --background-pc: var(--color-bluescale-500);
  --font-base: var(--color-grayscale-500);
  --underline-base: color-mix(in srgb, currentcolor, transparent 40%);
  --borderline-blue: var(--color-bluescale-150);
  --nyuin-frame: var(--color-bluescale-250);
  --color-blue: var(--color-bluescale-750);
  --color-green: var(--color-greenscale-0);
  --color-white: var(--color-grayscale-0);
  --color-orange: var(--color-orangescale-0);

  /* z-index */
  --back-z-index: -1;
  --default-z-index: 1;
  --front-z-index: 2;
  --menu-z-index: 3;
  --header-z-index: 4;

  /* motion time */
  --speed-quick: 0.3s;
  --speed-normal: 0.5s;
  --speed-slow: 1s;
  --speed-over-slow: 2s;
}

* {
  box-sizing: border-box;
  min-inline-size: 0;
  border-width: 0;
  border-style: solid;
}

:where(:root) {
  background-color: var(--background-base);
  color: var(--font-base);
  font-family: var(--font-sans-jp);
  font-style: unset;
  font-size: 100%;
  font-weight: var(--font-normal);
  font-feature-settings: 'pkna';
  text-align: start;
  line-height: var(--leading-normal);
  text-spacing-trim: trim-start;
  word-break: initial;
  line-break: strict;
  overflow-wrap: anywhere;
  hyphens: auto;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

:where(body) {
  min-block-size: 100svb;
  margin: unset;
}

:where(h1, h2, h3, h4, h5, h6) {
  margin-block: unset;
  font-size: unset;
}

:where(:any-link) {
  color: unset;
  text-decoration-line: none;
  text-decoration-thickness: from-font;
  text-decoration-color: var(--underline-base);
  text-underline-offset: 0.25em;
}

::file-selector-button,
:where(button, label[for], select, [role='tab'], [role='button']) {
  cursor: pointer;
}

::file-selector-button,
:where(button) {
  inline-size: fit-content;
  touch-action: manipulation;
}

::file-selector-button,
:where(button, input, select, textarea) {
  padding: unset;
  border-width: 1px;
  border-color: transparent;
  border-radius: unset;
  background-color: unset;
  color: unset;
  font: unset;
  vertical-align: middle;
  letter-spacing: unset;
  text-align: unset;
  text-transform: unset;
  appearance: unset;
}

:where(ul, ol) {
  padding-inline-start: unset;
  list-style-type: '';
}

:where(p, blockquote, figure, pre, address, ul, ol, dl) {
  margin-block: unset;
}

:where(figure) {
  margin-inline: unset;
}

:where(img, video, canvas, audio, iframe, embed, object) {
  display: block flow;
  vertical-align: middle;
}

:where(img, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}

:where(img, svg) {
  inline-size: 100%;
}

:where(dialog) {
  overflow: unset;
  inline-size: unset;
  block-size: unset;
  max-inline-size: unset;
  max-block-size: unset;
  padding: unset;
  background-color: unset;
  color: unset;
}

:where(em) {
  font-style: normal;
}

:where(fieldset) {
  margin: unset;
  padding: unset;
  border: unset;
}

:where(summary) {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

.js-scrollin {
  opacity: 0;
  translate: 0 12px;
}

.js-scrollin.is-inview {
  opacity: 1;
  translate: 0;
  transition:
    opacity 0.5s ease-out,
    translate 0.4s ease-out;
}

.js-cloud {
  animation: cloud 4s ease-out alternate-reverse infinite;
}

.js-float-y {
  animation: float-y1 1.8s ease 0.7s alternate-reverse infinite;
}

.js-float-y--delay {
  animation: float-y2 1.8s ease 0.9s alternate-reverse infinite;
}

.js-arrow {
  animation: arrow 5s ease-out infinite;
}

.js-arrow-text {
  animation: arrow-text 5s ease infinite;
}

.js-index-pin {
  animation: index-pin 1s ease-in 0.3s forwards;
  animation-play-state: paused;
}

.js-flash {
  animation: flash 1.2s ease-in-out infinite alternate-reverse;
}

@keyframes cloud {
  0% {
    opacity: 0.9;
  }

  30% {
    opacity: 1;
  }

  60% {
    opacity: 0.9;
    filter: blur(2px);
  }

  90% {
    opacity: 0.7;
  }

  100% {
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes float-y1 {
  0% {
    translate: 0 -4px;
  }

  100% {
    translate: 0;
  }
}

@keyframes float-y2 {
  0% {
    translate: 0 3px;
  }

  100% {
    translate: 0;
  }
}

@keyframes arrow {
  0% {
    clip-path: inset(0 100% 0 0);
  }

  10% {
    clip-path: inset(0);
  }
}

@keyframes arrow-text {
  0%,
  15% {
    opacity: 1;
  }

  3% {
    opacity: 0;
  }
}

@keyframes index-pin {
  0% {
    opacity: 0;
    translate: 0 -20px;
  }

  10% {
    opacity: 1;
  }

  50%,
  70%,
  88%,
  100% {
    opacity: 1;
    translate: 0;
  }

  60% {
    translate: 0 -5px;
  }

  80% {
    translate: 0 -3px;
  }

  99% {
    translate: 0 -1px;
  }
}

@keyframes flash {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* stylelint-disable selector-max-id, declaration-no-important */
.no-sp {
  display: none !important;
}

.no-pc {
  display: grid !important;
}

@media only screen and (min-width: 768px) {
  .no-sp {
    display: grid !important;
  }

  .no-pc {
    display: none !important;
  }
}
/* stylelint-enable selector-max-id, declaration-no-important */

/* layout */
.l-wrapper {
  overflow: hidden;
}

/* header */
.l-header {
  --aspect-header: 750/88;

  z-index: var(--front-z-index);
  position: relative;
  display: flex;
  align-items: center;
  inline-size: 100%;
  aspect-ratio: var(--aspect-header);
  background-color: var(--background-base);
}

.l-header__logo {
  display: block;
  inline-size: calc(302 / var(--layout-width-scroll) * 100%);
  margin-inline-start: calc(53 / var(--layout-width-scroll) * 100%);
}

/* sticky cta */
.l-sticky-cta {
  --aspect-sticky-button: 635/124;

  z-index: var(--menu-z-index);
  position: fixed;
  inset-block-end: 0;
  inset-inline-start: 50%;
  inline-size: calc(635 / var(--layout-width-scroll) * 100%);
  aspect-ratio: var(--aspect-sticky-button);
  margin-block-end: calc(50 / var(--layout-width-scroll) * 100%);
  background-color: var(--color-orange);
  border-radius: var(--rounded-50);
  translate: -50% 15px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    translate 0.3s ease;
}

.l-sticky-cta--show {
  opacity: 1;
  visibility: visible;
  translate: -50% 0;
}

.l-sticky-cta__link {
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: 100%;
  block-size: 100%;
}

.l-sticky-cta__link-text {
  font-weight: var(--font-bold);
  font-size: calc(38 / var(--layout-width-scroll) * 100vw);
  letter-spacing: var(--tracking-normal);
  color: var(--color-white);
}

.l-sticky-cta__link-arrow {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc((52 / 635) * 100%);
  inline-size: calc((19 / 635) * 100%);
  translate: 0 -50%;
}

.l-scroll-content {
  overflow: hidden;
  background-color: var(--background-base);
}

.l-main {
  z-index: var(--default-z-index);
  position: relative;
}

/* hero */
.l-hero {
  z-index: var(--default-z-index);
  position: relative;
}

.l-hero__bg {
  z-index: var(--default-z-index);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: 100%;
  margin-block-start: calc(-90 / var(--layout-width-scroll) * 100%);
}

.l-hero__titleline {
  z-index: var(--front-z-index);
  position: relative;
  padding-block-start: calc(146 / var(--layout-width-scroll) * 100%);
}

.l-hero__titleline-sub {
  inline-size: calc(244 / var(--layout-width-scroll) * 100%);
  margin-inline-start: calc(95 / var(--layout-width-scroll) * 100%);
}

.l-hero__titleline-main {
  inline-size: calc(649 / var(--layout-width-scroll) * 100%);
  margin: auto;
}

.l-hero__balloon {
  z-index: var(--menu-z-index);
  position: absolute;
  inset-block-start: 0;
  inline-size: calc(34 / var(--layout-width-scroll) * 100%);
  opacity: 0;
  translate: 0 10px;
  transition:
    opacity 0.6s ease-out,
    translate 0.6s ease;
}

.l-hero__balloon.js-load--loaded {
  opacity: 1;
  translate: 0;
}

.l-hero__balloon--purple {
  inset-inline-start: calc(81 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(565 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--orange-left {
  inset-inline-start: calc(177 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(502 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--orange-left.js-load--loaded {
  transition-delay: 0.3s;
}

.l-hero__balloon--blue {
  inset-inline-start: calc(340 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(482 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--blue.js-load--loaded {
  transition-delay: 0.7s;
}

.l-hero__balloon--light-green {
  inset-inline-start: calc(411 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(540 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--light-green.js-load--loaded {
  transition-delay: 0.2s;
}

.l-hero__balloon--pink {
  inset-inline-start: calc(531 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(508 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--pink.js-load--loaded {
  transition-delay: 0.5s;
}

.l-hero__balloon--orange-right {
  inset-inline-start: calc(629 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(562 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--green {
  inset-inline-start: calc(652 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(491 / var(--layout-width-scroll) * 100%);
}

.l-hero__balloon--green.js-load--loaded {
  transition-delay: 0.6s;
}

.l-hero__cloud {
  z-index: var(--front-z-index);
  position: absolute;
  inset-block-start: 0;
}

.l-hero__cloud--left {
  inset-inline-start: calc(130 / var(--layout-width-scroll) * 100%);
  inline-size: calc(79 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(108 / var(--layout-width-scroll) * 100%);
}

.l-hero__cloud--right {
  inset-inline-start: calc(608 / var(--layout-width-scroll) * 100%);
  inline-size: calc(63 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(164 / var(--layout-width-scroll) * 100%);
  animation-delay: 1s;
}

.l-hero__image {
  z-index: var(--front-z-index);
  position: relative;
  inline-size: calc(730 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(55 / var(--layout-width-scroll) * 100%);
  margin-inline-start: auto;
}

/* slider */
.l-slider {
  z-index: var(--front-z-index);
  position: relative;
  margin-block-start: calc(18 / var(--layout-width-scroll) * 100%);
}

.l-slider__heading {
  z-index: var(--front-z-index);
  position: relative;
  inline-size: calc(381 / var(--layout-width-scroll) * 100%);
  margin: auto;
}

.l-slider__wrapper {
  margin-block-start: calc(20 / var(--layout-width-scroll) * 100%);
}

.splide__list {
  gap: calc(8 / var(--layout-width-scroll) * 100vw);
}

.splide__slide {
  inline-size: calc(150 / var(--layout-width-scroll) * 100vw);
}

.l-slider--bottom .splide__track {
  overflow: visible;
  left: calc(46 / var(--layout-width-scroll) * 100vw);
}

.l-section__heading {
  inline-size: calc(511 / var(--layout-width-scroll) * 100%);
  margin: auto;
}

.l-section__heading--long {
  inline-size: calc(598 / var(--layout-width-scroll) * 100%);
}

.l-section__heading::before,
.l-section__heading::after {
  content: '';
  display: block;
  inline-size: 100%;
  block-size: 5px;
  border-radius: var(--rounded-xs);
}

.l-section__heading--blue::before,
.l-section__heading--blue::after {
  background-color: var(--borderline-blue);
}

.l-section__heading--point::before,
.l-section__heading--point::after {
  background-color: var(--color-green);
}

.l-section__heading-text {
  display: block;
}

.l-section__heading-text--nyuin {
  inline-size: calc((494 / 511) * 100%);
  margin: auto;
  padding-block: calc((40 / 511) * 100%);
}

.l-section__heading-text--point {
  inline-size: calc((346 / 511) * 100%);
  margin: auto;
  padding-block: calc((21 / 511) * 100%);
}

.l-section__heading-text--fa {
  inline-size: calc((388 / 598) * 100%);
  margin: auto;
  padding-block: calc((23 / 598) * 100%);
}

.l-section__heading-text--qa {
  inline-size: calc((299 / 598) * 100%);
  margin: auto;
  padding-block: calc((37 / 598) * 100%);
}

/* nyuin */
.l-nyuin {
  padding-block-start: calc(114 / var(--layout-width-scroll) * 100%);
}

.l-nyuin__text {
  margin-block-start: calc(45 / var(--layout-width-scroll) * 100%);
  padding-inline: calc(50 / var(--layout-width-scroll) * 100%);
  font-size: calc(15 * var(--rem-ratio));
  line-height: var(--leading-snug);
}

.l-nyuin__graph {
  position: relative;
  inline-size: calc(650 / var(--layout-width-scroll) * 100%);
  margin: auto;
}

.l-nyuin__graph-figure {
  position: relative;
}

.l-nyuin__graph-figure-image {
  position: relative;
  inline-size: calc((448 / 650) * 100%);
}

.l-nyuin__graph-figure-caption {
  margin-block-start: calc((30 / 650) * 100%);
  font-weight: var(--font-light);
  font-size: calc(12 * var(--rem-ratio));
  line-height: var(--leading-tight);
}

.l-nyuin__graph-figure-pop {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  inline-size: calc((165 / 448) * 100%);
  margin-block-start: calc((42 / 448) * 100%);
}

.l-nyuin__graph-figure-pop-text {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  font-weight: var(--font-bold);
  font-size: calc(32 / var(--layout-width-scroll) * 100vw);
  line-height: var(--leading-initial);
  color: var(--color-blue);
}

.l-nyuin__graph-illust {
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
  inline-size: calc((172 / 650) * 100%);
  margin-block-end: calc((-8 / 650) * 100%);
}

.l-nyuin__catch {
  inline-size: calc(531 / var(--layout-width-scroll) * 100%);
  margin: calc(75 / var(--layout-width-scroll) * 100%) auto 0;
}

.l-nyuin__list {
  inline-size: calc(650 / var(--layout-width-scroll) * 100%);
  margin: calc(67 / var(--layout-width-scroll) * 100%) auto 0;
}

.l-nyuin__list-item {
  --aspect-nyuin: 650/303;

  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: var(--aspect-nyuin);
  border: 5px solid var(--nyuin-frame);
  border-radius: var(--rounded-28);
}

.l-nyuin__list-item + .l-nyuin__list-item {
  margin-block-start: calc((34 / 650) * 100%);
}

.l-nyuin__list-item__inner {
  inline-size: 100%;
}

.l-nyuin__list-illust--money {
  inline-size: calc((74 / 650) * 100%);
  margin: auto;
}

.l-nyuin__list-illust--heart,
.l-nyuin__list-illust--hospital {
  inline-size: calc((65 / 650) * 100%);
  margin: auto;
}

.l-nyuin__list-text {
  margin: calc((27 / 650) * 100%) auto 0;
}

.l-nyuin__list-text--money {
  inline-size: calc((535 / 650) * 100%);
}

.l-nyuin__list-text--heart {
  inline-size: calc((418 / 650) * 100%);
}

.l-nyuin__list-text--hospital {
  inline-size: calc((422 / 650) * 100%);
}

.l-nyuin__attention {
  margin-block-start: calc(30 / var(--layout-width-scroll) * 100%);
  padding-inline: calc(50 / var(--layout-width-scroll) * 100%);
  font-size: calc(15 * var(--rem-ratio));
  line-height: var(--leading-14);
}

/* point */
.l-point {
  padding-block-start: calc(117 / var(--layout-width-scroll) * 100%);
}

.l-point__list {
  inline-size: calc(650 / var(--layout-width-scroll) * 100%);
  margin: calc(69 / var(--layout-width-scroll) * 100%) auto 0;
}

.l-point__list-item {
  display: block;
}

.l-point__list-item + .l-point__list-item {
  margin-block-start: calc(70 / var(--layout-width-scroll) * 100%);
  padding-block-start: calc(70 / var(--layout-width-scroll) * 100%);
  border-block-start: 2px dashed var(--color-green);
}

.l-point__headline {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(16 / var(--layout-width-scroll) * 100%);
}

.l-point__headline-index {
  inline-size: calc(52px / 2);
  opacity: 0;
}

.l-point__headline.is-inview .l-point__headline-index {
  animation-play-state: running;
}

.l-point__headline-text {
  font-weight: var(--font-bold);
  font-size: calc(24 * var(--rem-ratio));
  color: var(--color-blue);
}

.l-point__term {
  display: flex;
  justify-content: space-between;
  margin-block: calc((35 / 650) * 100%) calc((44 / 650) * 100%);
}

.l-point__term-item {
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: calc((150 / 650) * 100%);
  aspect-ratio: 1;
  background-color: var(--color-green);
  border-radius: var(--rounded-32);
  font-weight: var(--font-bold);
  letter-spacing: var(--tracking-tighter);
  font-size: calc(45 / var(--layout-width-scroll) * 100vw);
}

.l-point__term-item-strong {
  font-size: calc(62 / var(--layout-width-scroll) * 100vw);
  font-family: var(--font-sans);
}

.l-point__text {
  z-index: var(--front-z-index);
  position: relative;
  font-size: calc(15 * var(--rem-ratio));
  line-height: var(--leading-snug);
}

.l-point__text-strong {
  font-weight: var(--font-bold);
  color: var(--color-blue);
}

.l-point__plan {
  display: flex;
  justify-content: space-between;
  margin: calc(41 / var(--layout-width-scroll) * 100%) auto calc(34 / var(--layout-width-scroll) * 100%);
}

.l-point__plan-item {
  inline-size: calc((200 / 650) * 100%);
  padding-block: calc((30 / 650) * 100%);
  background-color: var(--color-green);
  border-radius: var(--rounded-32);
  text-align: center;
}

.l-point__plan-item-heading {
  font-family: var(--font-sans);
  font-weight: var(--font-bold);
  font-size: calc(40 / var(--layout-width-scroll) * 100vw);
  color: var(--color-white);
}

.l-point__plan-item-text {
  font-weight: var(--font-bold);
  font-size: calc(36 / var(--layout-width-scroll) * 100vw);
}

.l-point__text-area {
  position: relative;
  margin-block-start: calc((90 / 650) * 100%);
}

.l-point__text-area-image {
  z-index: var(--default-z-index);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 50%;
  inline-size: calc((210 / 650) * 100%);
  margin-block-start: calc((-50 / 650) * 100%);
  translate: -50%;
}

/* fa */
.l-fa {
  padding-block-start: calc(115 / var(--layout-width-scroll) * 100%);
}

.l-fa__theme {
  inline-size: calc(607 / var(--layout-width-scroll) * 100%);
  margin: calc(91 / var(--layout-width-scroll) * 100%) auto 0;
}

.l-fa__theme-text-area {
  position: relative;
}

.l-fa__theme-text {
  margin-block-start: calc((-55 / 607) * 100%);
  font-size: calc(30 / var(--layout-width-scroll) * 100vw);
  text-align: center;
  line-height: var(--leading-14);
}

.l-fa__theme-date {
  margin-inline-start: calc((366 / 607) * 100%);
  font-size: calc(19 / var(--layout-width-scroll) * 100vw);
}

.l-fa__theme-deco-area {
  position: absolute;
  inset-block-start: 0;
  margin-block-start: calc((30 / 607) * 100%);
}

.l-fa__theme-deco-area--left {
  inset-inline-start: calc((43 / 607) * 100%);
}

.l-fa__theme-deco-area--right {
  inset-inline-start: calc((502 / 607) * 100%);
}

.l-fa__theme-deco-small {
  inline-size: calc(24 / var(--layout-width-scroll) * 100vw);
}

.l-fa__theme-deco-small--left {
  margin-inline-start: calc(34 / var(--layout-width-scroll) * 100vw);
}

.l-fa__theme-deco-small--left.js-flash {
  animation-delay: 1s;
}

.l-fa__theme-deco-big {
  inline-size: calc(48 / var(--layout-width-scroll) * 100vw);
  margin-block-start: calc(-11 / var(--layout-width-scroll) * 100vw);
}

.l-fa__theme-deco-big--right {
  margin-block-start: calc(-13 / var(--layout-width-scroll) * 100vw);
  margin-inline-start: calc(9 / var(--layout-width-scroll) * 100vw);
}

.l-fa__theme-deco-big--right.js-flash {
  animation-delay: 1s;
}

.l-fa__info {
  display: flex;
  justify-content: space-between;
  inline-size: calc(650 / var(--layout-width-scroll) * 100%);
  margin: calc(40 / var(--layout-width-scroll) * 100%) auto 0;
}

.l-fa__info-image {
  inline-size: calc((309 / 650) * 100%);
}

/* contact */
.l-contact {
  position: relative;
  margin-block-start: calc(112 / var(--layout-width-scroll) * 100%);
}

.l-contact__inner {
  position: relative;
}

.l-contact__bg {
  z-index: var(--default-z-index);
  position: absolute;
  inset: 0;
  margin: auto;
}

.l-contact__cloud {
  z-index: var(--front-z-index);
  position: absolute;
  inset-block-start: 0;
}

.l-contact__cloud--left {
  inset-inline-start: calc(77 / var(--layout-width-scroll) * 100%);
  inline-size: calc(79 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(19 / var(--layout-width-scroll) * 100%);
}

.l-contact__cloud--right {
  inset-inline-start: calc(611 / var(--layout-width-scroll) * 100%);
  inline-size: calc(63 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(103 / var(--layout-width-scroll) * 100%);
}

.l-contact__heading {
  z-index: var(--front-z-index);
  position: relative;
  inline-size: calc(413 / var(--layout-width-scroll) * 100%);
  margin: auto;
  padding-block-start: calc(37 / var(--layout-width-scroll) * 100%);
}

.l-contact__button {
  z-index: var(--front-z-index);
  position: relative;
  inline-size: calc(634 / var(--layout-width-scroll) * 100%);
  aspect-ratio: var(--aspect-button);
  margin: calc(94 / var(--layout-width-scroll) * 100%) auto 0;
}

.l-contact__button-link {
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: 100%;
  block-size: 100%;
  background-color: var(--color-orange);
  border-radius: var(--rounded-50);
  border: 3px solid var(--color-orange);
  transition: background 0.3s ease;
}

.l-contact__button-link-text {
  z-index: var(--front-z-index);
  position: relative;
  flex: 1;
  font-weight: var(--font-bold);
  font-size: calc(32 / var(--layout-width-scroll) * 100vw);
  color: var(--color-white);
  text-align: center;
  letter-spacing: var(--tracking-normal);
  transition: color 0.3s ease;
}

.l-contact__button-link-arrow {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: calc((52 / 634) * 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  inline-size: calc((19 / 634) * 100%);
  translate: 0 -50%;
}

.l-contact__button-link-arrow-svg {
  fill: var(--color-white);
  transition: fill 0.3s ease;
}

.l-contact__button-link-timer {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: calc((128 / 634) * 100%);
  margin-block-start: calc((-86 / 634) * 100%);
  opacity: 0;
}

.l-contact__button.is-inview .l-contact__button-link-timer {
  animation-play-state: running;
}

.l-contact__image {
  z-index: var(--front-z-index);
  position: relative;
  inline-size: calc(737 / var(--layout-width-scroll) * 100%);
  margin-block-start: calc(17 / var(--layout-width-scroll) * 100%);
  margin-inline-start: auto;
}

/* form */
.l-form {
  padding-block-start: calc(90 / var(--layout-width-scroll) * 100%);
}

/* qa */
.l-qa {
  margin-block-start: calc(54 / var(--layout-width-scroll) * 100%);
}

.l-qa__list {
  inline-size: calc(650 / var(--layout-width-scroll) * 100%);
  margin: calc(78 / var(--layout-width-scroll) * 100%) auto 0;
  border-block-end: 2px dashed var(--color-blue);
}

.l-qa__list-question {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: calc((15 / 650) * 100%) calc((8 / 650) * 100%);
  border-block-start: 2px dashed var(--color-blue);
}

.l-qa__list-question-icon {
  inline-size: calc(47px / 2);
}

.l-qa__list-question-text {
  flex: 1;
  margin-inline-start: calc((8 / 650) * 100%);
  font-weight: var(--font-semibold);
  font-size: calc(15 * var(--rem-ratio));
  line-height: var(--leading-14);
}

.l-qa__list-close {
  inline-size: calc(25px / 2);
  margin-block-start: 1%;
  margin-inline-start: calc((37 / 650) * 100%);
  rotate: 45deg;
  transition: rotate 0.3s ease;
}

.l-qa__list-item[open] .l-qa__list-close {
  rotate: 180deg;
}

.l-qa__list-answer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 calc((78 / 650) * 100%) calc((20 / 650) * 100%) calc((8 / 650) * 100%);
}

.l-qa__list-answer-icon {
  inline-size: calc(47px / 2);
}

.l-qa__list-answer-text {
  flex: 1;
  margin-inline-start: calc((8 / 645) * 100%);
  font-size: calc(13 * var(--rem-ratio));
  line-height: var(--leading-14);
}

/* footer */
.l-footer {
  margin-block-start: calc(51 / var(--layout-width-scroll) * 100%);
}

.l-footer__inner {
  padding: calc(34 / var(--layout-width-scroll) * 100%) calc(50 / var(--layout-width-scroll) * 100%);
  background-color: var(--background-footer);
}

.l-footer__text {
  font-size: calc(13 * var(--rem-ratio));
  line-height: var(--leading-14);
  letter-spacing: var(--tracking-tighter);
}

.l-footer__text--small {
  font-size: calc(11 * var(--rem-ratio));
  line-height: var(--leading-normal);
}

.l-footer__text + .l-footer__text {
  margin-block-start: calc((42 / 650) * 100%);
}

.l-footer__link {
  display: inline-block;
  font-size: calc(13 * var(--rem-ratio));
  color: var(--color-blue);
  text-decoration: underline;
}

.l-footer__link--small {
  font-size: calc(11 * var(--rem-ratio));
}

.l-footer__copyright {
  padding-block: calc(20 / var(--layout-width-scroll) * 100%);
  background-color: var(--color-blue);
  font-family: var(--font-sans);
  font-size: calc(11 * var(--rem-ratio));
  color: var(--color-white);
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-wrapper {
    background-color: var(--background-pc);
  }

  .l-wrapper::before {
    content: '';
    position: fixed;
    inset-block-start: 86px;
    inset-inline-start: 0;
    width: 100vw;
    height: 100vh;
    background: url(../img/hospitallumpsum/webp/bg_pc.webp) no-repeat center / cover;
  }

  .l-header {
    z-index: var(--header-z-index);
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    aspect-ratio: 0;
    padding-block: 17px 33px;
  }

  .l-header__logo {
    inline-size: 360px;
    margin-inline-start: calc(35 / var(--layout-width-max) * 100%);
  }

  /* cloud */
  .l-cloud {
    z-index: var(--front-z-index);
    position: fixed;
    inset-block-start: 0;
  }

  .l-cloud--left {
    inset-inline-start: calc(92 / var(--layout-width-max) * 100%);
    inline-size: min(calc(66 / var(--layout-width-max) * 100%), calc(66 / var(--layout-height-max) * 100vh));
    margin-block-start: min(calc(155 / var(--layout-width-max) * 100%), calc(155 / var(--layout-height-max) * 100vh));
  }

  .l-cloud--center-top {
    inset-inline-start: calc(518 / var(--layout-width-max) * 100%);
    inline-size: min(calc(53 / var(--layout-width-max) * 100%), calc(53 / var(--layout-height-max) * 100vh));
    margin-block-start: min(calc(154 / var(--layout-width-max) * 100%), calc(154 / var(--layout-height-max) * 100vh));
  }

  .l-cloud--center-bottom {
    inset-inline-start: calc(550 / var(--layout-width-max) * 100%);
    inline-size: min(calc(53 / var(--layout-width-max) * 100%), calc(53 / var(--layout-height-max) * 100vh));
    margin-block-start: min(calc(168 / var(--layout-width-max) * 100%), calc(168 / var(--layout-height-max) * 100vh));
  }

  .l-cloud--right {
    inset-inline-start: calc(1277 / var(--layout-width-max) * 100%);
    inline-size: min(calc(47 / var(--layout-width-max) * 100%), calc(47 / var(--layout-height-max) * 100vh));
    margin-block-start: min(calc(81 / var(--layout-width-max) * 100%), calc(81 / var(--layout-height-max) * 100vh));
  }

  /* nav */
  .l-nav {
    z-index: var(--menu-z-index);
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: calc(86 / var(--layout-width-max) * 100%);
    inline-size: calc(540 / var(--layout-width-max) * 100%);
    block-size: calc(100vh + 86px);
  }

  .l-nav__inner {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 50%;
    inline-size: max-content;
    max-block-size: 100%;
    padding-block: calc((150 / 540) * 100%);
    translate: -50% -50%;
    overflow-y: scroll;
    scrollbar-width: none;
  }

  .l-nav__heading {
    inline-size: calc((530 / 540) * 100%);
    margin: auto;
  }

  .l-nav__list {
    margin-block-start: calc((16 / 540) * 100%);
  }

  .l-nav__list-item {
    display: block;
  }

  .l-nav__list-item + .l-nav__list-item {
    margin-block-start: calc((47 / 540) * 100%);
  }

  .l-nav__list-item-link {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: calc((7 / 540) * 100%);
    transition: opacity 0.3s ease;
  }

  .l-nav__list-item-text--nyuin {
    inline-size: calc((197 / 540) * 100%);
  }

  .l-nav__list-item-text--point {
    inline-size: calc((277 / 540) * 100%);
  }

  .l-nav__list-item-text--fa {
    inline-size: calc((175 / 540) * 100%);
  }

  .l-nav__list-item-arrow {
    inline-size: calc((25 / 540) * 100%);
  }

  .l-nav__button {
    --aspect-nav: 540/81;

    position: relative;
    aspect-ratio: var(--aspect-nav);
    margin-block-start: calc((98 / 540) * 100%);
  }

  .l-nav__button-link {
    display: flex;
    justify-content: center;
    align-items: center;
    block-size: 100%;
    background-color: var(--color-orange);
    border-radius: var(--rounded-50);
    border: 3px solid var(--color-orange);
    transition: background 0.3s ease;
  }

  .l-nav__button-text {
    font-weight: var(--font-bold);
    font-size: min(calc(27 / var(--layout-width-max) * 100vw), calc(27 * var(--rem-ratio)));
    color: var(--color-white);
    letter-spacing: var(--tracking-normal);
    transition: color 0.3s ease;
  }

  .l-nav__button-arrow {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: calc((45 / 540) * 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    inline-size: calc((15 / 540) * 100%);
    translate: 0 -50%;
  }

  .l-nav__button-arrow-svg {
    fill: var(--color-white);
    transition: fill 0.3s ease;
  }

  .l-nav__button-link-timer {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: calc((5 / 540) * 100%);
    inline-size: calc((88 / 540) * 100%);
    margin-block-start: calc((-55 / 540) * 100%);
  }

  .l-scroll-content {
    z-index: var(--front-z-index);
    position: relative;
    inline-size: calc(450 / var(--layout-width-max) * 100%);
    margin-block-start: 86px;
    margin-inline-start: calc(720 / var(--layout-width-max) * 100%);
  }

  .splide__list {
    gap: calc(8 / var(--layout-width-max) * 100vw);
  }

  .splide__slide {
    inline-size: calc(150 / var(--layout-width-max) * 100vw);
  }

  .splide__slide img {
    inline-size: 100%;
  }

  .l-nyuin__text {
    font-size: calc((30 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-nyuin__graph-figure-pop-text {
    font-size: calc((32 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-nyuin__graph-figure-caption {
    font-size: calc((24 * 0.6 / var(--layout-width-max) * 100vw));
  }

  .l-nyuin__list-text {
    font-size: calc((40 * 0.6 / var(--layout-width-max) * 100vw));
  }

  .l-nyuin__list-text-attention {
    font-size: calc((26 * 0.6) * var(--rem-ratio));
  }

  .l-nyuin__attention {
    font-size: calc((30 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-point__headline-index {
    inline-size: calc((52 / 450) * 100%);
  }

  .l-point__headline-text {
    font-size: calc((48 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-point__term-item {
    font-size: calc((45 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-point__term-item-strong {
    font-size: calc((62 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-point__text {
    font-size: calc((30 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-point__plan-item-heading {
    font-size: calc((40 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-point__plan-item-text {
    font-size: calc((36 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-fa__theme-text {
    font-size: calc((30 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-fa__theme-deco-small {
    inline-size: calc((24 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-fa__theme-deco-small--left {
    margin-inline-start: calc((34 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-fa__theme-deco-big {
    inline-size: calc((48 * 0.6) / var(--layout-width-max) * 100vw);
    margin-block-start: calc((-11 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-fa__theme-deco-big--right {
    margin-inline-start: calc((9 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-fa__theme-date {
    font-size: calc((19 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-contact__button-link-text {
    font-size: calc((32 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-qa__list-question-icon,
  .l-qa__list-answer-icon {
    inline-size: calc((47 / 650) * 100%);
  }

  .l-qa__list-question-text {
    font-size: calc((30 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-qa__list-close {
    inline-size: calc((25 / 650) * 100%);
  }

  .l-qa__list-answer-text,
  .l-footer__text,
  .l-footer__link {
    font-size: calc((26 * 0.6) / var(--layout-width-max) * 100vw);
  }

  .l-footer__text--small,
  .l-footer__link--small,
  .l-footer__copyright {
    font-size: calc((22 * 0.6) / var(--layout-width-max) * 100vw);
  }
}

@media (any-hover: hover) {
  .l-nav__list-item-link:hover {
    opacity: 0.5;
  }

  .l-nav__button-link:hover {
    background-color: var(--background-base);
  }

  .l-nav__button-link:hover .l-nav__button-text {
    color: var(--color-orange);
  }

  .l-nav__button-link:hover .l-nav__button-arrow-svg {
    fill: var(--color-orange);
  }

  .l-contact__button-link:hover {
    background-color: var(--background-base);
  }

  .l-contact__button-link:hover .l-contact__button-link-text {
    color: var(--color-orange);
  }

  .l-contact__button-link:hover .l-contact__button-link-arrow-svg {
    fill: var(--color-orange);
  }

  .l-qa__list-question:hover {
    cursor: pointer;
  }

  .l-footer__link:hover {
    text-decoration: none;
  }
}