@charset "UTF-8";
:root {
  /* Common Size */
  --width-pc: 1500px;
  --width-pc-wrap: 104rem;
  --width-sp: 600px;
  --width-pc-base: 390px;
  --inline-l: var(--width-pc-wrap);
  --inline-m: 33.4rem;
  --inline-s: 29rem;
  /* Common padding-inline */
  --padding-inline: 1.2rem;
  /* Common Space */
  --space-lv1: 1rem;
  --space-lv2: 2rem;
  --space-lv3: 3rem;
  --space-lv4: 4rem;
  --space-lv5: 5rem;
  --space-lv6: 6rem;
}
@media not screen and (max-width: 600px) {
  :root {
    --inline-m: 70rem;
    --inline-s: 51rem;
    --padding-inline: 2rem;
    /* Common Space */
    --space-lv1: 2rem;
    --space-lv2: 4rem;
    --space-lv3: 6rem;
    --space-lv4: 8rem;
    --space-lv5: 10rem;
    --space-lv6: 12rem;
  }
}

:root {
  --font-family-sans: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", hiragino-kaku-gothic-pron, "Noto Sans", "He lvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  --fz-text-lv1: 1rem;
  --fz-text-lv2: max(12px, 1.2rem);
  --fz-text-lv3: max(12px, 1.4rem);
  --fz-text-lv4: max(12px, 1.6rem);
  --fz-text-lv5: max(12px, 1.8rem);
  --fz-text-lv6: max(12px, 2rem);
  --fz-text-lv7: max(12px, 2.2rem);
  --fz-h2: max(12px, 2rem);
  --fz-h3: max(12px, 1.8rem);
  --fz-body: var(--fz-text-lv4);
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;
  --fw-800: 800;
  --fw-900: 900;
  --fw-normal: normal;
  --fw-bold: bold;
  --fw-regular: var(--fw-400);
  --fw-medium: var(--fw-500);
  --fw-semi-bold: var(--fw-600);
  --fw-extra-bold: var(--fw-800);
  --fw-black: var(--fw-900);
  --lh-lv1: 1;
  --lh-lv2: 1.2;
  --lh-lv3: 1.3;
  --lh-lv4: 1.4;
  --lh-lv5: 1.5;
  --lh-lv6: 1.6;
  --lh-lv7: 1.7;
  --lh-lv8: 2;
  --ls-lv1: 0;
  --ls-lv2: .02em;
  --ls-lv3: .03em;
  --ls-lv4: .04em;
  --ls-lv5: .05em;
  --ls-lv6: .1em;
}
@media not screen and (max-width: 600px) {
  :root {
    --fz-h2: 2.8rem;
    --fz-h3: 2.6rem;
  }
}

/**
//  * Vw変換
//  * @param $size - 変換するサイズ
//  * @param $viewport - ビューポートの幅
//  * @return - 変換後のサイズ(vw)
//  */
/**
//  * Hover or Touch
//  * @param $style - 設定値
//  * @return - フォント設定
//  */
.u-bg-slice {
  clip-path: polygon(0 var(--bg-slice-size), 100% 0, 100% calc(100% - var(--bg-slice-size)), 0 100%);
}
:root {
  --bg-slice-size: 4rem;
}
@media not screen and (max-width: 600px) {
  :root {
    --bg-slice-size: 15.385rem;
  }
}

/* Clickable
----------------------------------------- */
.l-footer__texts a, :where(a):not([class]) {
  text-decoration: none;
  transition: background 0.3s;
  background: linear-gradient(currentColor 0 100%) 0 100%/var(--bg-linear-size) 1px no-repeat;
  --bg-linear-size: 100%;
}
@media (any-hover: hover) {
  .l-footer__texts a:hover, :hover:where(a):not([class]) {
    --bg-linear-size: 0%;
  }
}
@media (any-hover: none) {
  .l-footer__texts a:active, :active:where(a):not([class]) {
    --bg-linear-size: 0%;
  }
}
* {
  margin: 0;
  padding: 0;
}

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

*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  min-block-size: 100%;
  block-size: auto;
  -webkit-text-size-adjust: none;
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  text-rendering: optimizeSpeed;
  min-block-size: 100%;
}

:where(img, svg, video, canvas, audio, iframe, embed, object, picture) {
  display: block;
}

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

:where(svg) {
  stroke: none;
  fill: currentColor;
}

:where(svg):where(:not([fill])) {
  stroke: currentColor;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}

:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

h1 {
  font-size: 2em;
}

:where(ul, ol) {
  list-style-position: inside;
}

:where(ul, ol)[role=list] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

:where(button, input, textarea) {
  border: none;
  outline: none;
  background: none;
}

:root {
  /* Space SP */
  --space-lv1: 1rem;
  --space-lv2: 2rem;
  --space-lv3: 3rem;
  --space-lv4: 4rem;
  --space-lv5: 5rem;
  --space-lv6: 6rem;
  /* Space Gap row */
  --gap-row-lv1: var(--space-lv1);
  --gap-row-lv2: var(--space-lv2);
  --gap-row-lv3: var(--space-lv3);
  --gap-row-lv4: var(--space-lv4);
  --gap-row-lv5: var(--space-lv5);
  --gap-row-lv6: var(--space-lv6);
  /* Space Gap column */
  --gap-column-lv1: var(--space-lv1);
  --gap-column-lv2: var(--space-lv2);
  --gap-column-lv3: var(--space-lv3);
  --gap-column-lv4: var(--space-lv4);
  --gap-column-lv5: var(--space-lv5);
  --gap-column-lv6: var(--space-lv6);
}
@media not screen and (max-width: 600px) {
  :root {
    /* Space PC */
    --space-lv1: 2rem;
    --space-lv2: 4rem;
    --space-lv3: 6rem;
    --space-lv4: 8rem;
    --space-lv5: 10rem;
    --space-lv6: 12rem;
  }
}

/* Font
----------------------------------------- */
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1040px) {
  html {
    font-size: 0.9615384615vw;
  }
}
@media screen and (max-width: 600px) {
  html {
    font-size: 2.5641025641vw;
  }
}

body {
  font: var(--fw-regular) var(--fz-body)/var(--lh-lv8) var(--font-family-sans);
}

h1, h2, h3, h4, h5 {
  text-align: center;
  font-weight: var(--fw-extra-bold);
  line-height: var(--lh-lv5);
  word-break: auto-phrase;
}
@media not screen and (max-width: 600px) {
  h1, h2, h3, h4, h5 {
    line-height: var(--lh-lv4);
  }
}

h1 {
  font-size: var(--fz-h1);
}

h2 {
  font-size: var(--fz-h2);
  font-weight: var(--fw-extra-bold);
}

h3 {
  font-size: var(--fz-h3);
  font-weight: var(--fw-semi-bold);
  line-height: var(--lh-lv8);
}

h4 {
  font-size: var(--fz-h4);
}

h5 {
  font-size: var(--fz-h5);
}

em {
  font-style: normal;
  font-weight: var(--fw-bold);
}

strong {
  font-weight: var(--fw-extra-bold);
}

/* Base
----------------------------------------- */
:root {
  --color-main: #fff32e;
  --color-main-sub: #eae6db;
  --color-sub: #0e4664;
  --color-sub-sub: #5F5A4E;
  --white: #fff;
  --black: #111;
  --transparent: rgba(0, 0, 0, 0);
  --c-text: #424242;
  --c-blue: #426E85;
  --c-blue-dark: #004d8e;
  --c-blue-dark2: #240b80;
  --c-red: #CC3622;
  --c-red-dark: #800000;
  --c-green: #115D53;
  --c-green-light: #dbf7dc;
  --c-yellow: #EAE45A;
  --c-yellow-light: #fffbc2;
  --bg-white: var(--white);
  --bg-sand: #F7F5F1;
  --bg-blue: #084F9F;
  --bg-blue-light: #F0FDFF;
  --bg-blue-dark: #4D6A7C;
  --bg-light-blue: #ecfdff;
  --bg-green: #167d38;
  --bg-green-light: #F9FFE1;
  --bg-yellow: #F9C800;
  --bg-yellow-light: #F9FFE2;
  --bg-yellow-dark: #F1EDDC;
  --bg-red-light: #fb765c;
  --bg-orange-light: #fd9b75;
  --bg-pink: #ffc1c1;
  --bg-pink-light: #FFF0F3;
  --bg-red: var(--c-red);
  --bg-black: #474747;
  --bg-liner-yellow: #FFF504;
}

body {
  color: var(--c-text);
  background-color: var(--white);
}

:where(a:not([class])) {
  color: currentColor;
}

/* Clickable
----------------------------------------- */
:where(a) {
  text-decoration: none;
}
/* Wrap
----------------------------------------- */
.l-wrap {
  margin-inline: auto;
  padding-inline: var(--padding-inline);
  max-inline-size: var(--width-pc-wrap);
  inline-size: 100%;
}

/* Grid
----------------------------------------- */
.l-grid {
  display: grid;
  gap: var(--gap-row-lv2) var(--gap-column-lv2);
}

/* Contents
----------------------------------------- */
.l-contents {
  padding-block: var(--space-lv6);
}

/* Section
----------------------------------------- */
.l-section {
  padding-block: 6rem;
}
@media not screen and (max-width: 600px) {
  .l-section {
    padding-block: 9rem;
  }
}

/* Img
----------------------------------------- */
.l-img, .l-img-fit {
  margin-inline: auto;
}
.l-img picture, .l-img-fit picture {
  inline-size: 100%;
  block-size: auto;
}
.l-img img, .l-img-fit img {
  inline-size: 100%;
  block-size: auto;
}
.l-img-fit {
  max-inline-size: fit-content;
}
.l-img-caption {
  margin-block-start: 1.5rem;
  text-align: center;
  font-weight: var(--fw-semi-bold);
  line-height: 1;
}

/* Auto text
----------------------------------------- */
.l-auto-text {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.l-inline-l {
  margin-inline: auto;
  max-inline-size: var(--inline-l);
  inline-size: 100%;
}
@media screen and (max-width: 600px) {
  .l-inline-l-sp {
    margin-inline: auto;
    max-inline-size: var(--inline-l);
    inline-size: 100%;
  }
}
@media not screen and (max-width: 600px) {
  .l-inline-l-pc {
    margin-inline: auto;
    max-inline-size: var(--inline-l);
    inline-size: 100%;
  }
}

.l-inline-m {
  margin-inline: auto;
  max-inline-size: var(--inline-m);
  inline-size: 100%;
}
@media screen and (max-width: 600px) {
  .l-inline-m-sp {
    margin-inline: auto;
    max-inline-size: var(--inline-m);
    inline-size: 100%;
  }
}
@media not screen and (max-width: 600px) {
  .l-inline-m-pc {
    margin-inline: auto;
    max-inline-size: var(--inline-m);
    inline-size: 100%;
  }
}

.l-inline-s {
  margin-inline: auto;
  max-inline-size: var(--inline-s);
  inline-size: 100%;
}
@media screen and (max-width: 600px) {
  .l-inline-s-sp {
    margin-inline: auto;
    max-inline-size: var(--inline-s);
    inline-size: 100%;
  }
}
@media not screen and (max-width: 600px) {
  .l-inline-s-pc {
    margin-inline: auto;
    max-inline-size: var(--inline-s);
    inline-size: 100%;
  }
}

/* Column
----------------------------------------- */
.l-column-4, .l-column-3, .l-column-2--center, .l-column-2 {
  display: grid;
  justify-content: space-between;
  inline-size: 100%;
}
@media screen and (max-width: 600px) {
  .l-column-4, .l-column-3, .l-column-2--center, .l-column-2 {
    gap: 2rem;
    margin-inline: auto;
    max-inline-size: 29rem;
  }
}

.l-column {
  display: flex;
  justify-content: space-between;
  inline-size: 100%;
}
.l-column > * {
  inline-size: 100%;
}
.l-column-2, .l-column-2--center {
  row-gap: 1rem;
}
@media not screen and (max-width: 600px) {
  .l-column-2, .l-column-2--center {
    grid-template-columns: repeat(2, auto);
  }
}
.l-column-2--center {
  column-gap: 4rem;
  justify-content: center;
}
.l-column-3 {
  grid-template-columns: repeat(3, auto);
}
@media screen and (max-width: 600px) {
  .l-column-3 {
    grid-template-columns: repeat(4, auto);
  }
  .l-column-3 > :first-child {
    grid-column: 2/span 2;
  }
  .l-column-3 > * {
    grid-column: span 2;
  }
}
.l-column-4 {
  grid-template-columns: repeat(4, auto);
}
@media screen and (max-width: 600px) {
  .l-column-4 {
    grid-template-columns: repeat(2, auto);
  }
}

/* Header
----------------------------------------- */
.l-header {
  position: sticky;
  display: grid;
  align-content: center;
  inset: 0 0 auto;
  z-index: 100;
  block-size: 6.4rem;
  background: #FEFDCF;
  --header-animation-duration: .4s;
}
@media not screen and (max-width: 600px) {
  .l-header {
    block-size: 10rem;
  }
}
.l-header__contents {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media not screen and (max-width: 600px) {
  .l-header__contents {
    column-gap: 3rem;
  }
}
.l-header__logo {
  inline-size: 14.7rem;
}
@media not screen and (max-width: 600px) {
  .l-header__logo {
    inline-size: 25rem;
  }
}
.l-header__logo img {
  inline-size: 100%;
}
.l-header__text {
  margin-inline-end: auto;
  font-size: 1.4rem;
  line-height: 1.4285714286;
}
.l-header .l-header__button {
  margin: 0;
  max-inline-size: 45rem;
  inline-size: 19.5rem;
  block-size: 4.5rem;
}
@media not screen and (max-width: 600px) {
  .l-header .l-header__button {
    inline-size: 32rem;
    block-size: 5.1rem;
  }
}
.l-header .l-header__button::after {
  inset-inline-end: 0.83rem;
  inline-size: 0.529rem;
}
@media not screen and (max-width: 600px) {
  .l-header .l-header__button::after {
    inset-inline-end: 1.23rem;
    inline-size: 0.787rem;
  }
}
.l-header .l-header__button .c-button__text {
  font-size: 1.4rem;
  line-height: 1.3;
}
@media not screen and (max-width: 600px) {
  .l-header .l-header__button .c-button__text {
    margin-inline-end: 0.4rem;
    font-size: 1.7rem;
  }
}

/* MainVisual
----------------------------------------- */
.l-mv {
  position: relative;
  display: grid;
  z-index: 0;
  block-size: 40.8rem;
}
@media not screen and (max-width: 600px) {
  .l-mv {
    align-content: center;
    block-size: 70rem;
  }
}
.l-mv picture {
  inline-size: 100%;
  block-size: 100%;
}
.l-mv img {
  margin-inline: auto;
  inline-size: 100%;
  block-size: auto;
}
.l-mv__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
@media not screen and (max-width: 600px) {
  .l-mv__bg img {
    object-fit: cover;
    inline-size: 100%;
    block-size: 100%;
  }
}
.l-mv__contents {
  display: grid;
  row-gap: 3.7rem;
}
@media screen and (max-width: 600px) {
  .l-mv__contents {
    padding-block: 7.3rem 2rem;
  }
}
@media not screen and (max-width: 600px) {
  .l-mv__contents {
    translate: 0 1rem;
    row-gap: 7.7rem;
  }
}
.l-mv__title {
  display: grid;
  justify-items: center;
  align-content: center;
  row-gap: 1.3rem;
  color: #fff;
  line-height: 1.4347826087;
  text-shadow: 0 0 1rem rgba(0, 0, 0, 0.7);
}
@media not screen and (max-width: 600px) {
  .l-mv__title {
    justify-content: start;
    justify-items: start;
    row-gap: 2.1rem;
    text-align: left;
  }
}
.l-mv__title--main {
  font-size: 2.2rem;
  font-weight: var(--fw-extra-bold);
}
@media not screen and (max-width: 600px) {
  .l-mv__title--main {
    padding-inline-start: 0.4em;
    text-indent: -0.6em;
    font-size: 4.6rem;
  }
}
.l-mv__title--sub {
  font-size: 1.6rem;
  font-weight: var(--fw-semi-bold);
}
@media not screen and (max-width: 600px) {
  .l-mv__title--sub {
    font-size: 2.8rem;
  }
}
.l-mv__cta.c-cta {
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.3);
}
@media not screen and (max-width: 600px) {
  .l-mv__cta.c-cta {
    row-gap: 1.9rem;
    margin: 0;
    padding: 2.7rem 2.5rem 3.2rem;
    max-inline-size: 50rem;
  }
  .l-mv__cta.c-cta .c-button {
    block-size: 8.1rem;
  }
  .l-mv__cta.c-cta .c-button__text {
    font-size: 2.3rem;
  }
}

/* MainVisual Lower
----------------------------------------- */
.l-mv-lower {
  position: relative;
  inline-size: 100%;
  block-size: 20rem;
}
@media screen and (max-width: 600px) {
  .l-mv-lower {
    overflow: hidden;
  }
}
@media not screen and (max-width: 600px) {
  .l-mv-lower {
    block-size: 30rem;
  }
}
.l-mv-lower__contents {
  display: flex;
  align-items: center;
  block-size: 100%;
}
.l-mv-lower__title {
  flex-grow: 1;
  text-align: left;
  font-size: 2.4rem;
  font-weight: var(--fw-semi-bold);
}
@media not screen and (max-width: 600px) {
  .l-mv-lower__title {
    font-size: 2.8rem;
  }
}
.l-mv-lower__img {
  flex-shrink: 0;
}
@media screen and (max-width: 600px) {
  .l-mv-lower__img {
    margin-inline: -3rem;
    inline-size: 17rem;
  }
}

/* Footer
----------------------------------------- */
.l-footer {
  color: #555;
  line-height: 1.5;
  border-block-start: 1px solid #A8B4C2;
}
.l-footer__upper {
  display: grid;
  align-items: start;
  justify-content: center;
  padding-block: 5rem;
  row-gap: 3rem;
}
@media not screen and (max-width: 600px) {
  .l-footer__upper {
    display: flex;
    align-items: start;
    justify-content: space-between;
    padding-block-start: 9rem;
  }
}
.l-footer__logo {
  inline-size: 25.5rem;
}
@media screen and (max-width: 600px) {
  .l-footer__logo {
    margin-inline: auto;
  }
}
.l-footer__texts {
  --row-gap: 2rem;
}
@media screen and (max-width: 600px) {
  .l-footer__texts {
    display: grid;
    row-gap: var(--row-gap);
    text-align: center;
    font-size: 1.4rem;
  }
}
@media not screen and (max-width: 600px) {
  .l-footer__texts {
    display: flex;
    column-gap: 4.5rem;
  }
}
.l-footer__text {
  display: grid;
  row-gap: var(--row-gap);
}
.l-footer__bottom {
  display: grid;
  place-items: center;
  block-size: 7.3rem;
  background-color: #F7F9FA;
}
@media not screen and (max-width: 600px) {
  .l-footer__bottom {
    block-size: 10rem;
  }
}
.l-footer__copy {
  text-align: center;
  font-size: 12px;
}

/* Contents
----------------------------------------- */
.l-contents {
  padding: var(--content-block) var(--base-padding-in);
}
.l-contents__wrap {
  display: grid;
  row-gap: var(--space-m);
  margin-inline: auto;
  max-inline-size: min(var(--wrap-inline), 1000px);
  inline-size: 100%;
}
.l-contents__inner {
  padding: var(--space-m);
}
@media not screen and (max-width: 600px) {
  .l-contents__inner {
    padding: var(--space-l);
  }
}

/* Captions
----------------------------------------- */
.l-captions {
  display: grid;
  row-gap: 1.5rem;
  padding-block: 2rem 3rem;
  font-size: max(12px, 1.2rem);
  font-weight: var(--fw-regular);
  line-height: 1.5;
}
@media not screen and (max-width: 600px) {
  .l-captions {
    padding-block: 4rem 5rem;
  }
}

/* Accordion
----------------------------------------- */
.l-accordion {
  cursor: pointer;
  --button-animation-time: .5s;
  --button-arrow-width: 3rem;
  --button-arrow-position-right: 2rem;
}
.l-accordion__button {
  position: relative;
  display: grid;
  place-items: center;
}
.l-accordion__button::after {
  content: "";
  pointer-events: none;
  transition: rotate var(--button-animation-time);
}
.l-accordion__contents {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--button-animation-time);
}
.l-accordion__inner {
  overflow: hidden;
}
.l-accordion.js-open .l-accordion__button::after {
  rotate: -180deg;
}
.l-accordion.js-open .l-accordion__contents {
  grid-template-rows: 1fr;
}

/* Button
----------------------------------------- */
.c-button {
  position: relative;
  display: grid;
  place-items: center;
  margin-inline: auto;
  max-inline-size: 62rem;
  inline-size: 100%;
  block-size: 5.7rem;
  border-radius: 1000px;
  background: linear-gradient(to bottom, var(--button-bg-top), var(--button-bg-bottom));
  box-shadow: 0 var(--button-shadow-size) 0 var(--button-shadow-color);
  transition: 0.2s;
  --button-shadow-size: .4rem;
  --button-shadow-color: #1A8610;
  --button-bg-top: #1AAF10;
  --button-bg-bottom: #70D500;
}
@media not screen and (max-width: 600px) {
  .c-button {
    block-size: 11rem;
    --button-shadow-size: .5rem;
  }
}
@media (any-hover: hover) {
  .c-button:hover {
    translate: 0 var(--button-shadow-size);
    box-shadow: 0 0 0 var(--button-shadow-color);
  }
}
@media (any-hover: none) {
  .c-button:active {
    translate: 0 var(--button-shadow-size);
    box-shadow: 0 0 0 var(--button-shadow-color);
  }
}
.c-button::after {
  content: "";
  position: absolute;
  inset: 50% 1.11rem auto auto;
  translate: 0 -50%;
  inline-size: 0.772rem;
  block-size: auto;
  aspect-ratio: 12.25/21.6;
  background: url(../images/button__icon.svg) 50% 50%/contain no-repeat;
}
@media not screen and (max-width: 600px) {
  .c-button::after {
    inset-inline-end: 1.81rem;
    inline-size: 1.225rem;
  }
}
.c-button__text {
  text-align: center;
  color: var(--white);
  font-size: 1.6rem;
  font-weight: var(--fw-bold);
  line-height: 1.3;
}
@media not screen and (max-width: 600px) {
  .c-button__text {
    font-size: 3.2rem;
    line-height: 1.4;
  }
}

/* CTA
----------------------------------------- */
.c-cta {
  display: grid;
  row-gap: 1.4rem;
  margin-inline: auto;
  padding: 2rem 2rem 2.4rem;
  max-inline-size: 70rem;
  inline-size: 33rem;
  background-color: #fff;
  box-shadow: 0 0 1rem rgba(66, 66, 66, 0.3);
  border-radius: 1.5rem;
}
@media not screen and (max-width: 600px) {
  .c-cta {
    row-gap: 2.5rem;
    padding: 3rem 4rem 4.3rem;
    inline-size: 100%;
  }
}
.c-cta__text {
  text-align: center;
  color: #424242;
  font-size: 1.5rem;
  font-weight: var(--fw-semi-bold);
  line-height: 1.6666666667;
}
@media not screen and (max-width: 600px) {
  .c-cta__text {
    font-size: 2.4rem;
  }
}
.c-cta__text span {
  color: #EB5C26;
  font-weight: var(--fw-extra-bold);
}

/* Title
----------------------------------------- */
.c-title-h2 {
  display: grid;
  place-items: center;
  margin-block-end: 3.5rem;
  padding-block: 2rem;
  color: var(--white);
  border-image: linear-gradient(var(--bg-color), var(--bg-color)) 0 fill/auto/0 100vw;
}
@media screen and (max-width: 600px) {
  .c-title-h2 {
    font-size: 1.8rem;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}
@media not screen and (max-width: 600px) {
  .c-title-h2 {
    margin-block-end: 6rem;
    padding-block: 3.5rem;
  }
}
.c-title-h2--orange {
  --bg-color: #FB9330;
}
.c-title-h2--green {
  --bg-color: #7D9B00;
}
.c-title-h3 {
  display: grid;
  place-items: center;
  margin: 0 auto 1.8rem;
  padding: 0.3rem 2.4rem 0.5rem;
  max-inline-size: fit-content;
  min-block-size: 4rem;
  line-height: 1;
  border-radius: 1000px;
  border: 2px solid currentColor;
}
@media not screen and (max-width: 600px) {
  .c-title-h3 {
    margin-block-end: 4rem;
    min-block-size: 5rem;
    font-size: 2.4rem;
    border-inline-width: 2px;
  }
}
.c-title-h3:not(:first-of-type) {
  margin-block-start: 7rem;
}
.c-title-h3--orange {
  color: #EA5C28;
}
.c-title-h3--green {
  border-color: #7D9B00;
}

/* Text Link
----------------------------------------- */
.c-text-link {
  justify-self: center;
  text-align: center;
  color: inherit;
  transition: background 0.2s;
  background: linear-gradient(90deg, currentColor 50%, var(--transparent) 0) 100% 100%/300% 1px no-repeat;
}
@media (any-hover: hover) {
  .c-text-link:hover {
    background-position-x: 0;
  }
}
@media (any-hover: none) {
  .c-text-link:active {
    background-position-x: 0;
  }
}

.c-cap {
  font-size: max(12px, 1.4rem);
  font-weight: var(--fw-regular);
  line-height: 1.5;
}

/* @Javascript
----------------------------------------- */
.js-line-move {
  background: linear-gradient(to Right, var(--bg-liner-yellow) 50%, rgba(0, 0, 0, 0) 0) 200% 100%/200% 0.34em no-repeat;
  transition: background-position 1s linear;
}
.js-line-move.js-move-on {
  background-position-x: 0%;
}

/* sec01
----------------------------------------- */
.p-sec01 {
  padding-block-start: 0;
  text-align: center;
  overflow: hidden;
}
.p-sec01__contents {
  display: grid;
  justify-content: center;
  row-gap: 5rem;
  grid-auto-columns: 100%;
}
@media not screen and (max-width: 600px) {
  .p-sec01__contents {
    row-gap: 7rem;
  }
}
.p-sec01 .c-title-h2 {
  margin-block-end: 0;
}
.p-sec01__wrap {
  display: grid;
  row-gap: 1.8rem;
  justify-content: center;
}
@media not screen and (max-width: 600px) {
  .p-sec01__wrap {
    row-gap: 4rem;
  }
}
.p-sec01__wrap .c-title-h3 {
  margin-block-end: 0;
}
.p-sec01__media {
  position: relative;
  inset: auto auto auto 50%;
  translate: -50% 0;
  z-index: 1;
  inline-size: 100vw;
}
.p-sec01__media .swiper-wrapper {
  align-items: center;
}
.p-sec01__media .swiper-slide {
  inline-size: auto;
  block-size: 31.4rem;
}
.p-sec01__media .swiper-slide picture {
  inline-size: auto;
  block-size: 100%;
}
.p-sec01__media .swiper-slide img {
  inline-size: auto;
  block-size: 100%;
}
.p-sec01 .l-auto-text {
  font-size: 1.4rem;
}

/* sec02
----------------------------------------- */
.p-sec02 {
  padding-block-start: 0;
}
.p-sec02__wrap {
  display: grid;
  row-gap: 4rem;
}
.p-sec02__wrap:not(:last-child) {
  margin-block-end: 7rem;
}
.p-sec02__wrap .c-title-h3 {
  margin-block-end: 0;
}
.p-sec02__media {
  position: relative;
  inset: auto auto auto 50%;
  translate: -50% 0;
  z-index: 1;
  inline-size: 100vw;
}
.p-sec02__media .swiper-wrapper {
  align-items: center;
}
.p-sec02__media .swiper-slide {
  inline-size: auto;
  block-size: 31.4rem;
}
.p-sec02__media .swiper-slide picture {
  inline-size: auto;
  block-size: 100%;
}
.p-sec02__media .swiper-slide img {
  inline-size: auto;
  block-size: 100%;
}

/* sec03
----------------------------------------- */
.p-sec03 {
  text-align: center;
  color: var(--white);
}
.p-sec03__title {
  margin-block-end: 4rem;
  text-align: center;
}
@media not screen and (max-width: 600px) {
  .p-sec03__title {
    margin-block-end: 8rem;
    font-size: 3.6rem;
  }
}
.p-sec03__img, .p-sec03__subtitle {
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec03__img, .p-sec03__subtitle {
    margin-block-end: 6rem;
  }
}
.p-sec03__inner {
  display: grid;
  row-gap: 2rem;
}
@media not screen and (max-width: 600px) {
  .p-sec03__inner {
    row-gap: 4rem;
  }
}

/* sec04
----------------------------------------- */
.p-sec04 {
  text-align: center;
}
.p-sec04__title {
  color: #7D9B00;
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec04__title {
    margin-block-end: 6rem;
  }
}
.p-sec04__inner {
  display: grid;
  row-gap: 2rem;
  margin-block-end: 5rem;
}
@media not screen and (max-width: 600px) {
  .p-sec04__inner {
    row-gap: 4rem;
    margin-block-end: 8rem;
  }
}

/* sec05
----------------------------------------- */
.p-sec05__contents {
  display: grid;
  row-gap: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec05__contents {
    row-gap: 6rem;
  }
}
.p-sec05 .c-cap {
  margin-block-start: 1rem;
}
@media not screen and (max-width: 600px) {
  .p-sec05 .c-cap {
    text-align: right;
  }
}

/* sec06
----------------------------------------- */
.p-sec06 {
  padding-block-end: 15.7rem;
  text-align: center;
}
@media not screen and (max-width: 600px) {
  .p-sec06 {
    padding-block-end: 17.5rem;
  }
}
.p-sec06__title {
  color: #F0696E;
  margin-block-end: 2rem;
}
@media not screen and (max-width: 600px) {
  .p-sec06__title {
    margin-block-end: 4.5rem;
  }
}
.p-sec06__inner {
  display: grid;
  row-gap: 2rem;
  margin-block-end: 5rem;
}
@media not screen and (max-width: 600px) {
  .p-sec06__inner {
    row-gap: 6rem;
    margin-block-end: 8rem;
  }
}
.p-sec06__list {
  display: grid;
  row-gap: 0.5rem;
  margin-inline: auto;
  max-inline-size: 62rem;
  inline-size: 100%;
  text-align: left;
  font-size: 1.8rem;
  font-weight: var(--fw-semi-bold);
  line-height: 1.4;
}
.p-sec06__list li {
  display: flex;
  align-items: center;
  justify-content: start;
  column-gap: 0.3em;
  padding: 0.7em 1.8rem;
  min-block-size: 5rem;
  background-color: #fff;
}
@media not screen and (max-width: 600px) {
  .p-sec06__list li {
    padding: 0.2em 1.5rem;
  }
}
.p-sec06__list li::before {
  flex-shrink: 0;
  content: "・";
}
.p-sec06__listbox {
  display: grid;
  row-gap: 1rem;
  margin-inline: auto;
  padding: 3rem 2rem;
  padding-inline-start: 1.8rem;
  max-inline-size: 52rem;
  inline-size: 100%;
  text-align: left;
  font-weight: var(--fw-semi-bold);
  line-height: 1.4;
  border: 0.3rem solid #F4C0CA;
  border-radius: 1.5rem;
  background-color: #fff;
}
@media not screen and (max-width: 600px) {
  .p-sec06__listbox {
    padding-inline-start: 4rem;
    font-size: 1.8rem;
  }
}
.p-sec06__listbox li {
  display: flex;
  align-items: center;
  justify-content: start;
  column-gap: 0.3em;
}
.p-sec06__listbox li::before {
  flex-shrink: 0;
  content: "・";
}
.p-sec06__big {
  color: #EA5C28;
  font-size: var(--fz-h3);
  font-weight: var(--fw-extra-bold);
}

/* sec07
----------------------------------------- */
.p-sec07 {
  padding-block-start: 0;
  text-align: center;
}
.p-sec07-title {
  position: relative;
  display: grid;
  justify-items: center;
  z-index: 0;
  margin-block-end: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec07-title {
    margin-block-end: 6rem;
  }
}
.p-sec07-title__text {
  position: absolute;
  display: grid;
  place-content: center;
  row-gap: 1rem;
  inset: -10.7rem auto auto 50%;
  translate: -50% 0;
  min-block-size: 12.7rem;
  color: #FC9330;
  border: 0.3rem solid #FC9330;
  border-radius: 1.5rem;
  background-color: #fff;
}
@media not screen and (max-width: 600px) {
  .p-sec07-title__text {
    row-gap: 0.7rem;
    inset-block-start: 0;
    translate: -50% -50%;
    min-block-size: 15rem;
    font-size: 3.6rem;
    border-inline-size: 0.6rem;
    border-radius: 3.5rem;
  }
}
.p-sec07-title__text::after {
  content: "";
  position: absolute;
  inset: 100% auto 0 50%;
  translate: -50% 0;
  aspect-ratio: 70.7275/25.2004;
  inline-size: 3.536375rem;
  block-size: auto;
  background: url(../images/sec07-title__text.svg) 50% 50%/contain no-repeat;
}
@media not screen and (max-width: 600px) {
  .p-sec07-title__text::after {
    inline-size: 7.07275rem;
  }
}
.p-sec07-title__text--sub {
  font-size: 1.6rem;
}
@media not screen and (max-width: 600px) {
  .p-sec07-title__text--sub {
    font-size: 2.4rem;
  }
}
.p-sec07__contents {
  display: grid;
  justify-content: center;
  row-gap: 5rem;
  grid-auto-columns: 100%;
}
@media not screen and (max-width: 600px) {
  .p-sec07__contents {
    row-gap: 7rem;
  }
}
.p-sec07__wrap {
  display: grid;
  row-gap: 1.8rem;
  justify-content: center;
}
@media not screen and (max-width: 600px) {
  .p-sec07__wrap {
    row-gap: 4rem;
  }
}
.p-sec07__wrap .c-title-h3 {
  margin-block-end: 0;
}
.p-sec07 .l-auto-text {
  font-size: 1.4rem;
}

/* sec08
----------------------------------------- */
.p-sec08 {
  padding-block-start: 0;
}
.p-sec08__inner {
  display: grid;
  row-gap: 4rem;
}
.p-sec08__subtitle {
  text-align: left;
  color: #7D9B00;
}
@media screen and (max-width: 600px) {
  .p-sec08__subtitle {
    text-align: center;
  }
}
@media not screen and (max-width: 600px) {
  .p-sec08__text {
    margin-block-start: calc((1em - 1lh) / 2);
    line-height: 3;
  }
}

/* sec09
----------------------------------------- */
.p-sec09__contents {
  display: grid;
  justify-items: center;
  row-gap: 4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec09__contents {
    row-gap: 6rem;
  }
}
.p-sec09__title {
  display: grid;
  place-items: center;
  padding: 0.2em 1em;
  max-inline-size: fit-content;
  inline-size: 100%;
  min-block-size: 6rem;
  block-size: auto;
  color: #fff;
  background-color: #FC9330;
  border-radius: 1000px;
}
@media not screen and (max-width: 600px) {
  .p-sec09__title {
    max-inline-size: 47rem;
    min-block-size: 7.4rem;
    font-size: 3.2rem;
  }
}
.p-sec09-faq {
  display: grid;
  row-gap: 2rem;
  max-inline-size: 70rem;
  --icon-size: 3.5rem;
  --icon-span: 2rem;
}
.p-sec09-faq__item {
  padding: 2rem 1.5rem;
  font-weight: var(--fw-semi-bold);
  line-height: 1.5;
  border-radius: 1rem;
  box-shadow: 0 0 0.5rem rgba(66, 66, 66, 0.3);
}
.p-sec09-faq__q {
  display: flex;
  justify-content: start;
  align-items: center;
  column-gap: var(--icon-span);
  inline-size: 100%;
  text-align: left;
}
.p-sec09-faq__q::before {
  flex-shrink: 0;
  content: "";
  aspect-ratio: 1;
  inline-size: var(--icon-size);
  block-size: auto;
  background: url(../images/sec09__q.svg) 50% 50%/contain no-repeat;
}
.p-sec09-faq__q::after {
  flex-shrink: 0;
  margin-inline-start: auto;
  aspect-ratio: 1;
  inline-size: var(--button-arrow-width);
  block-size: auto;
  background: url(../images/accordion__button.svg) 50% 50%/contain no-repeat;
}
.p-sec09-faq__inner {
  position: relative;
}
.p-sec09-faq__box {
  display: grid;
  row-gap: 1rem;
  justify-items: start;
  padding-block-start: 2.8rem;
  padding-inline-start: calc(var(--icon-span) + var(--icon-size));
}
.p-sec09-faq__box::before {
  content: "";
  position: absolute;
  inset: 2.8rem auto auto 0;
  aspect-ratio: 1;
  inline-size: var(--icon-size);
  block-size: auto;
  background: url(../images/sec09__a.svg) 50% 50%/contain no-repeat;
}
.p-sec09-faq__box .l-img-fit {
  margin: 0;
}

/* sec10
----------------------------------------- */
.p-sec10 strong {
  color: #F08080;
}
.p-sec10__contents {
  display: grid;
  row-gap: 1.4rem;
}
@media not screen and (max-width: 600px) {
  .p-sec10__contents {
    row-gap: 2rem;
  }
}
.p-sec10__inner {
  display: grid;
  justify-content: center;
  grid-auto-columns: min(100%, 70rem);
  row-gap: 3rem;
  padding: 4rem var(--padding-inline);
  background-color: #fff;
  box-shadow: 0 0 0.5rem rgba(66, 66, 66, 0.3);
}
@media not screen and (max-width: 600px) {
  .p-sec10__inner {
    padding-block: 6rem;
    row-gap: 4rem;
  }
}
.p-sec10__title {
  line-height: 2;
  font-weight: var(--fw-semi-bold);
}
@media not screen and (max-width: 600px) {
  .p-sec10__title {
    font-size: 2.4rem;
  }
}
.p-sec10__wrap {
  display: grid;
  row-gap: 1rem;
}
@media not screen and (max-width: 600px) {
  .p-sec10__wrap {
    row-gap: 2rem;
  }
}
.p-sec10__subtitle {
  display: grid;
  place-items: center;
  padding: 0.7rem 1.5rem;
  max-inline-size: fit-content;
  color: #fff;
  font-weight: var(--fw-semi-bold);
  line-height: 1;
  border-radius: 1000px;
}
@media not screen and (max-width: 600px) {
  .p-sec10__subtitle {
    padding-block: 0.9rem;
  }
}
.p-sec10__subtitle--green {
  background-color: #7E9B00;
}
.p-sec10__subtitle--pink {
  background-color: #F08080;
}
@media not screen and (max-width: 600px) {
  .p-sec10__caption {
    text-align: right;
  }
}

/* sec11
----------------------------------------- */
@media not screen and (max-width: 600px) {
  .p-sec11 {
    padding-block-start: 13.1rem;
  }
}
.p-sec11 .l-img-fit {
  margin: 0;
}
.p-sec11__contents {
  display: grid;
  row-gap: 7rem;
}
@media not screen and (max-width: 600px) {
  .p-sec11__contents {
    row-gap: 13.1rem;
  }
}
.p-sec11__inner {
  display: grid;
  row-gap: 3rem;
}
@media not screen and (max-width: 600px) {
  .p-sec11__inner {
    row-gap: 5.58rem;
  }
}
.p-sec11__staff {
  justify-self: end;
}
@media screen and (max-width: 600px) {
  .p-sec11__staff {
    inline-size: 14.4rem;
  }
}

/* Form
----------------------------------------- */
.p-form {
  --error-color: #EA5C28;
  --error-bg-color: #FFECDB;
}
.p-form__contents {
  display: grid;
  row-gap: 5rem;
}
@media not screen and (max-width: 600px) {
  .p-form__contents {
    row-gap: 9rem;
  }
}
.p-form__section {
  display: grid;
  row-gap: 2rem;
}
@media not screen and (max-width: 600px) {
  .p-form__section {
    row-gap: 4rem;
  }
}
.p-form__title {
  margin-block-end: 2rem;
  font-size: 2.2rem;
}
@media not screen and (max-width: 600px) {
  .p-form__title {
    font-size: 3.2rem;
  }
}
.p-form-row {
  display: grid;
  row-gap: var(--row-gap);
  font-size: 16px;
  line-height: 1;
  --row-gap: 1.5rem;
  --block-size: 5rem;
}
.p-form-row__body {
  display: grid;
  row-gap: var(--row-gap);
}
.p-form-row__title {
  font-size: 1.8rem;
  font-weight: var(--fw-semi-bold);
}
.is-required .p-form-row__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.is-required .p-form-row__title::after {
  content: "必須";
  display: grid;
  place-items: center;
  padding-block-end: 0.2em;
  inline-size: 4rem;
  block-size: 2rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: var(--fw-semi-bold);
  background-color: #EA5C28;
}
.p-form .p-form-select select, .p-form-select .p-form select, .p-form .p-form-input input, .p-form-input .p-form input, .p-form .p-form-radio__box {
  padding-inline-start: 1.5rem;
  inline-size: 100%;
  block-size: var(--block-size);
  border: 1px solid #A8B4C2;
  background-color: #fff;
  --font-color: #C4CCD5;
}
.p-form-radio {
  display: grid;
}
.p-form-radio__box {
  position: relative;
  display: grid;
  align-items: center;
  font-weight: var(--fw-semi-bold);
  cursor: pointer;
}
.p-form-radio__box:not(:last-child) {
  border-block-end: 0;
}
.p-form-radio__box::after {
  content: "";
  position: absolute;
  inset: 50% 2rem auto auto;
  translate: 0 -50%;
  aspect-ratio: 1;
  inline-size: 2rem;
  block-size: auto;
  background: url(../images/form-radio.svg) 50% 50%/contain no-repeat;
  pointer-events: none;
}
.p-form-radio__box:has(input:checked)::after {
  background-image: url(../images/form-radio__checked.svg);
}
.p-form-input {
  inline-size: 100%;
}
.p-form-input input {
  border-radius: 0;
}
.p-form-input input::placeholder {
  color: var(--font-color);
}
.p-form-select {
  position: relative;
  inline-size: 15rem;
}
.p-form-select::after {
  content: "";
  position: absolute;
  inset: 50% 1.4rem auto auto;
  translate: 0 -50%;
  aspect-ratio: 10/24;
  inline-size: 1rem;
  background: url(../images/form-select.svg) 50% 50%/contain no-repeat;
}
.p-form-select select {
  color: inherit;
  appearance: none;
  -webkit-appearance: none;
}
.p-form-select select:not(.js-selected) {
  color: var(--font-color);
}
.p-form-selects {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1.2rem;
}
.p-form-selects .p-form-select {
  inline-size: 100%;
}
.p-form__cap {
  margin-block-start: 0.5em;
  padding-inline-start: 1em;
  color: #666;
  text-indent: -1em;
  font-size: 1.4rem;
  line-height: 1.2;
}
.p-form__box {
  display: grid;
  row-gap: 2.5rem;
  padding: 3rem 1.8rem;
  border-radius: 1.5rem;
  background-color: #fff;
}
.p-form-confirm {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
}
.p-form-confirm__checkbox {
  aspect-ratio: 1;
  inline-size: 2.2rem;
  block-size: auto;
  border: 1px solid #707070;
  background: 50% 50%/contain no-repeat, #fff;
  cursor: pointer;
}
.p-form-confirm__checkbox:has(:checked) {
  background-image: url(../images/confirm__checkbox.svg);
}
.p-form__button {
  background: #EA5C28;
  box-shadow: none;
}
#ctaChecks:not(:has(:checked)) + .p-form__button {
  pointer-events: none;
  background: #EFF2F4;
}
.p-form.js-not-checked .p-form__button {
  pointer-events: none;
  --button-bd: #606060;
  --button-bg-top: #A5A5A5;
  --button-bg-bottom: #717171;
}
.p-form__error {
  color: var(--error-color);
}
.p-form#donation .is-invalid {
  padding-inline-start: 4.4rem;
  border-color: var(--error-color);
  background-color: var(--error-bg-color);
  background-image: url(../images/form-error__icon.svg);
  background-position: 1.5rem 50%;
  background-size: 2rem;
  background-repeat: no-repeat;
}
.p-form-error__box {
  display: flex;
  align-items: center;
  justify-content: start;
  column-gap: 0.9rem;
  padding: 1.5rem 2rem;
  background-color: var(--error-bg-color);
}
.p-form-error__box::before {
  content: "";
  aspect-ratio: 1;
  inline-size: 2rem;
  block-size: auto;
  background: url(../images/form-error__icon.svg) 50% 50%/contain no-repeat;
}
.p-form-error__text {
  color: var(--error-color);
  font-weight: var(--fw-semi-bold);
  line-height: 1.4;
}

/* Privacy
----------------------------------------- */
.p-privacy {
  display: grid;
  row-gap: 4rem;
  padding-block: 5rem;
}
@media not screen and (max-width: 600px) {
  .p-privacy {
    row-gap: 6rem;
    padding-block: 9rem;
  }
}
.p-privacy__row {
  display: grid;
  row-gap: 1.5rem;
}
@media not screen and (max-width: 600px) {
  .p-privacy__row {
    row-gap: 2rem;
  }
}
.p-privacy__title {
  padding-block-end: 0.5em;
  font-size: 2.2rem;
  font-weight: var(--fw-semi-bold);
  text-align: left;
  border-block-end: 1px solid #A8B4C2;
}
@media not screen and (max-width: 600px) {
  .p-privacy__title {
    font-size: 2.4rem;
  }
}

/* 特商法
----------------------------------------- */
.p-toku {
  padding-block: 5rem;
}
@media not screen and (max-width: 600px) {
  .p-toku {
    padding-block: 9rem;
  }
}
.p-toku-table {
  display: table;
}
.p-toku-table__row {
  display: grid;
  row-gap: 0.5rem;
  padding-block: 2.5rem;
  border-block-end: 1px solid #A8B4C2;
}
@media not screen and (max-width: 600px) {
  .p-toku-table__row {
    grid-template-columns: 35rem 1fr;
  }
}
.p-toku-table__row:first-child {
  padding-block-start: 0;
}
.p-toku-table__row:last-child {
  padding-block-end: 0;
  border-block-end: 0;
}
@media screen and (max-width: 600px) {
  .p-toku-table__head {
    font-weight: var(--fw-semi-bold);
  }
}

/* Thanks
----------------------------------------- */
.p-thanks {
  display: grid;
  row-gap: 4rem;
  padding-block: 6rem;
  text-align: center;
}
@media not screen and (max-width: 600px) {
  .p-thanks {
    row-gap: 5rem;
    padding-block: 10rem;
  }
}
.p-thanks__title {
  color: #FC9330;
  font-size: 2.8rem;
  line-height: 1.4;
}
@media not screen and (max-width: 600px) {
  .p-thanks__title {
    font-size: 3.2rem;
  }
}
.p-thanks__texts {
  display: grid;
  row-gap: 4rem;
}
.p-thanks__subtitle {
  font-size: 2rem;
  margin-block-end: 0.5em;
}
@media not screen and (max-width: 600px) {
  .p-thanks__subtitle {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 600px) {
  .is-pc {
    display: none !important;
  }
}

@media not screen and (max-width: 600px) {
  .is-sp {
    display: none !important;
  }
}

/* Text
----------------------------------------- */
.u-liner {
  background: var(--bg-liner-yellow);
}

.u-under-liner, .u-under-liner-white, .u-under-liner-blue {
  --pos-adjust: .2em;
  background: linear-gradient(to top, var(--bg-liner-yellow) calc(4px + var(--pos-adjust, 0.2em)) var(--pos-adjust, 0.2em), var(--transparent) 0);
}
.u-under-liner-blue {
  --bg-liner-yellow: #2C96D8;
}
.u-under-liner-white {
  --bg-liner-yellow: #fff;
}

.u-text-red {
  color: var(--c-red);
}
.u-text-blue {
  color: var(--c-blue);
}
.u-text-blue-dark {
  color: var(--c-blue-dark);
}
.u-text-center {
  text-align: center;
}

/* @Utility .u-bg
----------------------------------------- */
/* Background
----------------------------------------- */
.u-bg-blur {
  -webkit-backdrop-filter: blur(1.3rem) saturate(180%);
  backdrop-filter: blur(1.3rem) saturate(180%);
}
.u-bg-white {
  background-color: var(--bg-white);
}
.u-bg-black {
  background-color: var(--bg-black);
}
.u-bg-sand {
  background-color: var(--bg-sand);
}
.u-bg-blue {
  background-color: var(--bg-blue);
}
.u-bg-blue-light {
  background-color: var(--bg-blue-light);
}
.u-bg-blue-dark {
  background-color: var(--bg-blue-dark);
}
.u-bg-light-blue {
  background-color: var(--bg-light-blue);
}
.u-bg-green {
  background-color: var(--bg-green);
}
.u-bg-green-light {
  background-color: var(--bg-green-light);
}
.u-bg-yellow {
  background-color: var(--bg-yellow);
}
.u-bg-yellow-light {
  background-color: var(--bg-yellow-light);
}
.u-bg-red {
  background-color: var(--bg-red);
}
.u-bg-red-light {
  background-color: var(--bg-red-light);
}
.u-bg-pink {
  background-color: var(--bg-pink);
}
.u-bg-pink-light {
  background-color: var(--bg-pink-light);
}
.u-bg-dot {
  background-image: url(../images/bg-dot.svg);
  background-position: center;
  background-size: 1.8rem;
  background-repeat: repeat;
}
@media not screen and (max-width: 600px) {
  .u-bg-dot {
    background-size: 2.5rem;
  }
}
.u-bg-linear {
  background-image: url(../images/bg-linear.svg);
  background-position: center;
  background-size: 2.4rem;
  background-repeat: repeat;
  background-color: var(--white);
}
.u-bg-gradient {
  position: relative;
  z-index: 0;
}
.u-bg-gradient::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  block-size: 700px;
  background: linear-gradient(to bottom, var(--bg-orange-light), var(--transparent));
}
.u-bg-slice {
  margin-block-start: calc(var(--bg-slice-size) * -1);
  padding-block: var(--bg-slice-size);
  background-position: 50% 0;
  background-size: cover;
  background-repeat: no-repeat;
}