@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

:where(:root) {
  scrollbar-gutter: stable;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

:where(body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd) {
  margin: 0;
}

:where(body) {
  min-height: 100vh;
}

:where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style-type: "";
}

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

:where(a[class]) {
  display: block;
  text-decoration: none;
  color: inherit;
}

:where(img, picture) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

:where(svg) {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  fill: currentColor;
}

:where(input, button, textarea, select) {
  font-family: inherit;
  font-size: inherit;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  color: inherit;
}

:where(button) {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
  touch-action: manipulation;
}

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

:where(dialog) {
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 0;
  border: none;
  position: static;
  background: transparent;
  font: inherit;
  color: inherit;
}

:where(fieldset) {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

:where(legend) {
  margin: 0;
  padding: 0;
}

:where(summary)::-webkit-details-marker {
  display: none;
}

:root {
  --duration: 0.3s;
  --font-ja: "Noto Sans JP", sans-serif;
  --font-en: "Lato", sans-serif;
  --black: #1a1a1a;
  --black-70: #1a1a1a70;
  --black-30: #1a1a1a30;
  --yellow: #ffff93;
  --yellow2: #f9b700;
  --yellow3: #fffb18;
  --purple: #bb5464;
  --pink: #fe6f7b;
  --green: #43cb88;
  --green2: #e0ffd3;
  --blue: #006cc2;
  --blue2: #ccf6ff;
}

html:not([lang=ja]) {
  word-break: break-word;
}
html.is-scroll-locked {
  position: fixed;
  inset: 0;
  width: 100%;
  overflow: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.75;
  color: var(--black);
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
}

.zenmaru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.mincho {
  font-family: "Noto Serif JP", serif;
}

* {
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  * {
    letter-spacing: 0;
  }
}

/**
 * l-footer
 */
footer {
  background-color: #EDEDF0;
}
footer .inner {
  padding: 0.9375rem 0;
  width: calc(100% - 3.75rem);
  max-width: 45rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  footer .inner {
    width: calc(100% - 1.875rem);
    display: block;
  }
}
footer .inner .logo {
  width: 13.375rem;
}
@media screen and (max-width: 768px) {
  footer .inner .logo {
    width: 11.25rem;
    margin-bottom: 0.625rem;
  }
}
footer .inner .address {
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  footer .inner .address {
    font-size: 0.8125rem;
  }
}
footer .inner .address a {
  text-decoration: none;
  display: inline-block;
  color: #b0153d;
  text-align: center;
  display: inline-block;
  border: solid 0.0625rem;
  line-height: 1.3;
  padding: 0.125rem 0.625rem;
  border-radius: 1.875rem;
  font-size: 0.75rem;
  transition: color var(--duration), background-color var(--duration);
}
footer .inner .address a:hover {
  background-color: #b0153d;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer .inner .address a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 0.3125rem;
  }
}
footer .copyright {
  background-color: #363636;
  padding: 0.625rem 0 6.25rem;
  color: #fff;
  font-weight: 400;
  font-size: 0.8125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    font-size: 0.6875rem;
  }
}

.totop {
  display: block;
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 10;
  width: 7.1875rem;
  font-size: 1.125rem;
  text-align: center;
  opacity: 0;
  transition: opacity var(--duration);
}
.totop.is-show {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .totop {
    width: 4rem;
    bottom: 0.3125rem;
    right: 0.3125rem;
  }
}
.totop p {
  color: #b0153d;
  margin-bottom: 0.125rem;
}
@media screen and (max-width: 768px) {
  .totop p {
    font-size: 0.8125rem;
    letter-spacing: 0;
  }
}
.totop:hover {
  opacity: 0.7;
}

.p-header {
  width: 100%;
  height: 6.875rem;
  padding: 0 1.625rem;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p-header {
    height: 2.25rem;
    padding: 0 0.8125rem;
  }
}
.p-header .logo {
  width: 14.5rem;
}
@media screen and (max-width: 768px) {
  .p-header .logo {
    width: 7.5rem;
  }
}

/**
 * l-nav
 */
@media screen and (max-width: 768px) {
  .l-nav {
    display: block;
    visibility: hidden;
    opacity: 0;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 1;
    transition: opacity var(--duration), visibility var(--duration);
    background: white;
  }
  .l-nav.is-open {
    visibility: visible;
    opacity: 1;
  }
  .l-nav__list {
    padding: 6.25rem 0.9375rem;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .l-nav__list {
    display: flex;
    justify-content: flex-end;
    gap: 1.875rem;
  }
}
/**
 * l-nav-hamburger
 */
/**
 * l-nav-overlay
 */
.l-nav-overlay {
  visibility: hidden;
  opacity: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  transition: opacity var(--duration), visibility var(--duration);
  background: var(--black-30);
  backdrop-filter: blur(5px);
}
.l-nav-overlay.is-open {
  visibility: visible;
  opacity: 1;
}

/**
 * c-btn1
 * 通常ボタン
 */
.c-btn {
  display: block;
  background: linear-gradient(90deg, #fe6f7b 0%, #fe907b 50%, #fe6f7b 100%);
  color: var(--yellow);
  font-size: 2.75rem;
  letter-spacing: -0.02em;
  font-weight: 500;
  text-align: center;
  line-height: 1.7;
  padding: 0.75rem 0;
  border: 0.25rem solid #fff;
  box-shadow: 0px 0px 0.4375rem 0px rgba(0, 0, 0, 0.75);
  border-radius: 10px;
  border-radius: 0.9375rem;
  transition: filter 0.2s;
}
.c-btn:hover {
  filter: brightness(1.2);
}
.c-btn small {
  font-size: 1rem;
  font-weight: 400;
  display: block;
}

/**
 * Layout
 */
/**
 * Visibility
 */
.u-sr-only {
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

@media screen and (min-width: 769px) {
  .u-hidden-md {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .u-hidden-mlg {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .u-hidden-max-md {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .u-hidden-max-lg {
    display: none !important;
  }
}

/**
 * Typography
 */
.u-font-bold {
  font-weight: 700;
}

.u-font-black {
  font-weight: 900;
}

.u-text-black {
  color: var(--black);
}

.u-text-gray {
  color: var(--gray);
}

.u-leading-trim {
  margin-block: calc((1em - 1lh) / 2);
}
.u-leading-trim[lang=en] {
  margin-block: calc((1cap - 1lh) / 2);
}

/**
 * Other
 */
.u-alpha {
  transition: opacity var(--duration);
}
.u-alpha:focus-visible {
  opacity: 0.7;
}
@media (any-hover: hover) {
  .u-alpha:hover {
    opacity: 0.7;
  }
}

.page-index .mv-sec .btn {
  width: 49.7803806735vw;
  margin: -8.78477306vw auto 0;
  position: relative;
  z-index: 1;
  font-size: 3.2210834553vw;
  padding: 0.878477306vw 0;
  border: 0.2928257687vw solid #fff;
  border-radius: 1.0980966325vw;
}
@media screen and (max-width: 768px) {
  .page-index .mv-sec .btn {
    width: 85.3333333333vw;
    margin: -8vw auto 0;
    font-size: 5.8666666667vw;
    padding: 2.4vw 0 3.2vw;
    border: 0.5333333333vw solid #fff;
    border-radius: 2.6666666667vw;
  }
}
.page-index .mv-sec .btn small {
  font-size: 1.1713030747vw;
  font-weight: 400;
  display: block;
}
@media screen and (max-width: 768px) {
  .page-index .mv-sec .btn small {
    font-size: 2.1333333333vw;
  }
}
.page-index .conversion-sec {
  padding-bottom: min(13.9092240117vw, 11.875rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec {
    padding-bottom: 16vw;
  }
}
.page-index .conversion-sec .inner {
  margin: 0 auto;
}
.page-index .conversion-sec .inner .q-block {
  margin-bottom: min(5.1244509517vw, 4.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .q-block {
    margin-bottom: 9.3333333333vw;
  }
}
.page-index .conversion-sec .inner .q-block .midashi {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.page-index .conversion-sec .inner .q-block .midashi span {
  display: inline-block;
}
.page-index .conversion-sec .inner .q-block .midashi span:first-child {
  font-size: min(8.78477306vw, 7.5rem);
  color: var(--purple);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .q-block .midashi span:first-child {
    font-size: 18.6666666667vw;
    margin-right: 2.6666666667vw;
  }
}
.page-index .conversion-sec .inner .q-block .midashi span:last-child {
  font-size: min(3.074670571vw, 2.625rem);
  color: var(--purple);
  letter-spacing: 0;
  border-bottom: min(0.2196193265vw, 0.1875rem) dashed var(--purple);
  transform: translateY(max(-1.4641288433vw, -1.25rem));
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .q-block .midashi span:last-child {
    font-size: 5.6vw;
    line-height: 1.3;
  }
}
.page-index .conversion-sec .inner .q-block .nayami {
  width: min(76.1346998536vw, 65rem);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .q-block .nayami {
    width: 93.3333333333vw;
  }
}
.page-index .conversion-sec .inner .a-block {
  border: min(0.7320644217vw, 0.625rem) solid var(--yellow2);
  border-radius: min(1.4641288433vw, 1.25rem);
  width: min(80.5270863836vw, 68.75rem);
  margin: 0 auto min(5.1244509517vw, 4.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block {
    border-width: 1.3333333333vw;
    border-radius: 4vw;
    width: 88vw;
  }
}
.page-index .conversion-sec .inner .a-block .box {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-top: max(-4.0263543192vw, -3.4375rem);
  margin-bottom: min(5.1244509517vw, 4.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .box {
    flex-direction: column;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.page-index .conversion-sec .inner .a-block .box .photo {
  margin-right: max(-2.196193265vw, -1.875rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .box .photo {
    order: 2;
    margin: 5.3333333333vw auto;
  }
}
.page-index .conversion-sec .inner .a-block .box .photo figure {
  width: min(27.0863836018vw, 23.125rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .box .photo figure {
    width: 49.3333333333vw;
  }
}
.page-index .conversion-sec .inner .a-block .box .text {
  width: min(45.3879941435vw, 38.75rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .box .text {
    display: contents;
  }
}
.page-index .conversion-sec .inner .a-block .box .text .midashi {
  font-size: min(4.0995607613vw, 3.5rem);
  font-weight: 400;
  line-height: 1.4;
  font-weight: 500;
  color: var(--pink);
  display: flex;
  justify-content: flex-end;
  margin-bottom: min(2.9282576867vw, 2.5rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .box .text .midashi {
    order: 1;
    text-align: center;
    font-size: 7.4666666667vw;
    line-height: 1.2;
    display: block;
    margin: 0 auto;
  }
}
.page-index .conversion-sec .inner .a-block .box .text .btn {
  width: min(45.3879941435vw, 38.75rem);
  margin: 0 auto 0;
  position: relative;
  z-index: 1;
  font-size: min(3.2210834553vw, 2.75rem);
  padding: min(0.878477306vw, 0.75rem) 0;
  border: min(0.2928257687vw, 0.25rem) solid #fff;
  border-radius: min(1.0980966325vw, 0.9375rem);
}
.page-index .conversion-sec .inner .a-block .box .text .btn small {
  font-size: min(1.1713030747vw, 1rem);
  font-weight: 400;
  display: block;
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .box .text .btn {
    order: 3;
    width: 80vw;
    font-size: 6.2666666667vw;
    border-radius: 2.6666666667vw;
    padding: 2.4vw 0;
  }
  .page-index .conversion-sec .inner .a-block .box .text .btn small {
    font-size: 2.5333333333vw;
  }
}
.page-index .conversion-sec .inner .a-block .message {
  border-radius: 0 0 min(0.7320644217vw, 0.625rem) min(0.7320644217vw, 0.625rem);
  background-color: #fff791;
  padding: min(2.196193265vw, 1.875rem) min(1.4641288433vw, 1.25rem) min(2.9282576867vw, 2.5rem);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .message {
    border-radius: 0 0 2.6666666667vw 2.6666666667vw;
    padding: 5.3333333333vw 2.6666666667vw 5.3333333333vw;
  }
}
.page-index .conversion-sec .inner .a-block .message .komidashi {
  font-size: min(2.0497803807vw, 1.75rem);
  margin-bottom: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .message .komidashi {
    font-size: 4vw;
    margin-bottom: 2.6666666667vw;
    line-height: 1.4;
    font-weight: 600;
  }
}
.page-index .conversion-sec .inner .a-block .message .komidashi span {
  background: linear-gradient(transparent 70%, var(--yellow2) 70%);
  letter-spacing: 0.1em;
}
.page-index .conversion-sec .inner .a-block .message .read {
  font-size: min(1.317715959vw, 1.125rem);
  line-height: 2;
  letter-spacing: 0.07em;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page-index .conversion-sec .inner .a-block .message .read {
    font-size: 3.2vw;
    letter-spacing: 0;
  }
}
.page-index .conversion-sec__bottom {
  padding-top: min(7.3206442167vw, 6.25rem);
}
.page-index .step-sec {
  background-color: #e0ffd3;
  padding: min(1.4641288433vw, 1.25rem) 0 min(14.6412884334vw, 12.5rem);
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec {
    padding: 4vw 0 13.3333333333vw;
  }
}
.page-index .step-sec::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  background-image: url("../images/bg_step-01.svg");
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  height: 7.3206442167vw;
}
.page-index .step-sec .inner {
  width: min(65.8857979502vw, 56.25rem);
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner {
    width: 88vw;
  }
}
.page-index .step-sec .inner .midashi {
  font-size: min(3.953147877vw, 3.375rem);
  text-align: center;
  color: var(--green);
  font-weight: 500;
  margin-bottom: min(6.588579795vw, 5.625rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .midashi {
    font-size: 7.2vw;
    line-height: 1.4;
    margin-bottom: 9.3333333333vw;
  }
}
.page-index .step-sec .inner .list .item {
  background-color: #fff;
  border: min(0.3660322108vw, 0.3125rem) solid var(--green);
  position: relative;
  padding: min(1.0980966325vw, 0.9375rem) min(4.39238653vw, 3.75rem) min(2.196193265vw, 1.875rem);
  position: relative;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item {
    padding: 0 6.6666666667vw 0;
  }
}
.page-index .step-sec .inner .list .item::after {
  content: "";
  width: min(7.3206442167vw, 6.25rem);
  height: min(2.9282576867vw, 2.5rem);
  background-color: var(--green);
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 100%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item::after {
    content: none;
  }
}
.page-index .step-sec .inner .list .item + .item {
  margin-top: min(3.2942898975vw, 2.8125rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item + .item {
    margin-top: 6vw;
  }
}
.page-index .step-sec .inner .list .item .step {
  width: min(13.9092240117vw, 11.875rem);
  position: absolute;
  top: max(-2.0497803807vw, -1.75rem);
  left: 0;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item .step {
    position: relative;
    top: 0;
    left: 0;
    width: calc(100% + 13.3333333333vw);
    height: 12vw;
    background: var(--green);
    margin-left: -6.6666666667vw;
    margin-bottom: 4vw;
  }
  .page-index .step-sec .inner .list .item .step img {
    display: block;
    width: 25.3333333333vw;
    margin: 0 auto;
    position: absolute;
    top: -3.2vw;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.page-index .step-sec .inner .list .item .komidashi {
  color: var(--green);
  font-size: min(2.196193265vw, 1.875rem);
  letter-spacing: -0.05em;
  margin-left: min(10.980966325vw, 9.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item .komidashi {
    font-size: 4.9333333333vw;
    margin-left: 0;
  }
}
.page-index .step-sec .inner .list .item .description {
  margin-top: min(2.9282576867vw, 2.5rem);
  font-size: min(1.4641288433vw, 1.25rem);
  letter-spacing: 0.14em;
  margin-bottom: min(2.196193265vw, 1.875rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item .description {
    font-size: 3.2vw;
    letter-spacing: 0.1em;
  }
}
.page-index .step-sec .inner .list .item .btn {
  width: 100%;
  margin: 0 auto 0;
  position: relative;
  z-index: 1;
  font-size: min(2.9282576867vw, 2.5rem);
  padding: min(0.2196193265vw, 0.1875rem) 0 min(0.878477306vw, 0.75rem);
  border: min(0.2928257687vw, 0.25rem) solid #fff;
  border-radius: min(1.0980966325vw, 0.9375rem);
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item .btn {
    width: calc(100% + 8vw);
    margin: -16vw 0 0 -4vw;
    font-size: 6.1333333333vw;
    padding: 2.4vw 0 3.2vw;
    border: 0.5333333333vw solid #fff;
    border-radius: 2.6666666667vw;
    line-height: 1.7;
  }
}
.page-index .step-sec .inner .list .item .btn small {
  font-size: min(1.0248901903vw, 0.875rem);
  font-weight: 400;
  display: block;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item .btn small {
    font-size: 2.5333333333vw;
  }
}
.page-index .step-sec .inner .list .item .obj {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.page-index .step-sec .inner .list .item .obj figure {
  position: absolute;
  top: min(0.7320644217vw, 0.625rem);
  right: min(0.7320644217vw, 0.625rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item .obj {
    position: static;
    width: 42.4vw;
    margin: 0 auto;
  }
  .page-index .step-sec .inner .list .item .obj figure {
    position: static;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--1 {
    padding-bottom: 8vw;
  }
}
.page-index .step-sec .inner .list .item--1 .description {
  margin-top: min(2.196193265vw, 1.875rem);
}
.page-index .step-sec .inner .list .item--1 .obj figure {
  right: min(1.4641288433vw, 1.25rem);
  width: min(18.0087847731vw, 15.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--1 .obj figure {
    width: inherit;
  }
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--2 .obj {
    height: 40vw;
    overflow: hidden;
  }
}
.page-index .step-sec .inner .list .item--2 .obj figure {
  top: min(1.4641288433vw, 1.25rem);
  right: min(2.9282576867vw, 2.5rem);
  width: min(19.2532942899vw, 16.4375rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--2 .obj figure {
    width: inherit;
  }
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--3 .obj {
    height: 45.3333333333vw;
    overflow: hidden;
  }
}
.page-index .step-sec .inner .list .item--3 .obj figure {
  top: min(3.6603221083vw, 3.125rem);
  right: min(2.9282576867vw, 2.5rem);
  width: min(21.1566617862vw, 18.0625rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--3 .obj figure {
    width: inherit;
  }
}
.page-index .step-sec .inner .list .item--4 {
  background-color: var(--green);
  border-radius: min(1.4641288433vw, 1.25rem);
  border: none;
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--4 {
    border-radius: 4vw;
  }
}
.page-index .step-sec .inner .list .item--4::after {
  content: none;
}
.page-index .step-sec .inner .list .item--4 .step {
  top: max(-1.3909224012vw, -1.1875rem);
  left: min(0.3660322108vw, 0.3125rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--4 .step {
    top: 0;
    left: 0;
    border-radius: 4vw 4vw 0 0;
  }
}
.page-index .step-sec .inner .list .item--4 .komidashi {
  color: var(--yellow);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--4 .komidashi {
    padding: 0 2.6666666667vw;
    font-size: 5.6vw;
  }
}
.page-index .step-sec .inner .list .item--4 .description {
  margin-left: min(26.3543191801vw, 22.5rem);
  color: #fff;
  margin-top: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--4 .description {
    margin-left: 0;
    margin-top: inherit;
    padding: 0 2.6666666667vw;
    font-size: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--4 .obj {
    width: 55.7333333333vw;
    height: 40vw;
    overflow: hidden;
    margin-right: 5.3333333333vw;
  }
}
.page-index .step-sec .inner .list .item--4 .obj figure {
  top: min(5.8565153734vw, 5rem);
  right: auto;
  left: min(5.8565153734vw, 5rem);
  width: min(22.0351390922vw, 18.8125rem);
}
@media screen and (max-width: 768px) {
  .page-index .step-sec .inner .list .item--4 .obj figure {
    width: inherit;
  }
}
.page-index .faq-sec {
  background-color: var(--blue2);
  padding: min(6.588579795vw, 56.25rem) 0 min(10.980966325vw, 9.375rem);
}
.page-index .faq-sec .inner .midashi {
  font-size: min(3.953147877vw, 3.375rem);
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: var(--blue);
  position: relative;
  margin-bottom: min(5.1244509517vw, 4.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner .midashi {
    font-size: 7.2vw;
    margin-bottom: 9.3333333333vw;
  }
}
.page-index .faq-sec .inner .midashi span {
  position: absolute;
  bottom: max(-1.4641288433vw, -1.25rem);
  right: calc(100% + min(0.7320644217vw, 0.625rem));
  width: min(13.9092240117vw, 11.875rem);
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner .midashi span {
    bottom: -5.3333333333vw;
    right: calc(100% - 1.3333333333vw);
    width: 24vw;
  }
}
.page-index .faq-sec .inner dl {
  width: min(65.8857979502vw, 56.25rem);
  margin: 0 auto;
  background-color: #fff;
  padding: min(1.4641288433vw, 1.25rem) min(2.9282576867vw, 2.5rem) min(2.196193265vw, 1.875rem);
  border: min(0.2196193265vw, 0.1875rem) solid var(--blue);
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner dl {
    width: 88vw;
    padding: 5.3333333333vw 5.3333333333vw 8vw;
    border-width: 0.1333333333vw;
  }
}
.page-index .faq-sec .inner dl + dl {
  margin-top: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner dl + dl {
    margin-top: 5.3333333333vw;
  }
}
.page-index .faq-sec .inner dl dt {
  color: var(--blue);
  font-weight: 700;
  font-size: min(2.4890190337vw, 2.125rem);
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  border-bottom: min(0.0732064422vw, 0.0625rem) dashed var(--blue);
  padding-bottom: min(1.4641288433vw, 1.25rem);
  margin-bottom: min(2.196193265vw, 1.875rem);
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner dl dt {
    display: block;
    font-size: 4.9333333333vw;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
    border-bottom-width: 0.2666666667vw;
    text-align: center;
  }
}
.page-index .faq-sec .inner dl dt span {
  margin-right: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner dl dt span {
    margin-right: 1.3333333333vw;
  }
}
.page-index .faq-sec .inner dl dt p {
  letter-spacing: -0.05em;
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner dl dt p {
    display: inline;
  }
}
.page-index .faq-sec .inner dl dd {
  font-size: min(1.4641288433vw, 1.25rem);
  padding: 0 min(3.6603221083vw, 3.125rem);
  line-height: 2;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .page-index .faq-sec .inner dl dd {
    font-size: 3.4666666667vw;
    padding: 0;
    text-align: justify;
  }
}
.page-index .faq-sec .inner dl dd span {
  color: var(--blue);
}
.page-index .caution-sec {
  background: radial-gradient(circle, #666666 0%, black 100%);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec {
    background: linear-gradient(90deg, black 0%, #444444 50%, black 100%);
  }
}
.page-index .caution-sec::before, .page-index .caution-sec::after {
  content: "";
  display: block;
  width: 100%;
  height: min(2.5622254758vw, 2.1875rem);
  background: repeating-linear-gradient(135deg, var(--yellow3), var(--yellow3) min(2.196193265vw, 1.875rem), #000 min(2.196193265vw, 1.875rem), #000 min(3.6603221083vw, 3.125rem));
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec::before, .page-index .caution-sec::after {
    height: 4.6666666667vw;
    background: repeating-linear-gradient(135deg, var(--yellow3), var(--yellow3) 4vw, #000 4vw, #000 6.6666666667vw);
  }
}
.page-index .caution-sec .inner {
  padding: min(5.1244509517vw, 4.375rem) 0;
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner {
    padding: 9.3333333333vw 0;
  }
}
.page-index .caution-sec .inner .midashi {
  color: var(--yellow3);
  font-size: min(4.1727672035vw, 3.5625rem);
  text-align: center;
  line-height: 1.3;
  letter-spacing: -0.05em;
  font-weight: 600;
  margin-bottom: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner .midashi {
    font-size: 8.9333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
.page-index .caution-sec .inner .midashi span {
  display: block;
  width: min(6.588579795vw, 5.625rem);
  margin: 0 auto min(0.7320644217vw, 0.625rem);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner .midashi span {
    width: 19.0666666667vw;
    margin-bottom: 4vw;
  }
}
.page-index .caution-sec .inner .catch {
  color: var(--yellow3);
  text-align: center;
  font-size: min(2.4890190337vw, 2.125rem);
  letter-spacing: 0.05em;
  margin-bottom: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner .catch {
    font-size: 5.0666666667vw;
    line-height: 1.6;
    margin-bottom: 2.6666666667vw;
  }
}
.page-index .caution-sec .inner .read {
  color: #fff;
  text-align: center;
  font-size: min(1.6105417277vw, 1.375rem);
  line-height: 2;
  letter-spacing: 0.05em;
  margin-bottom: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner .read {
    font-size: 3.2vw;
    line-height: 1.8;
  }
}
.page-index .caution-sec .inner .message {
  color: #93e4ff;
  text-align: center;
  font-size: min(1.6105417277vw, 1.375rem);
  letter-spacing: 0.05em;
  margin-bottom: min(2.9282576867vw, 2.5rem);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner .message {
    font-size: 3.2vw;
    line-height: 1.8;
    margin-bottom: 5.3333333333vw;
  }
}
.page-index .caution-sec .inner .message span {
  font-size: min(2.3426061493vw, 2rem);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner .message span {
    font-size: 4.2666666667vw;
  }
}
.page-index .caution-sec .inner a {
  display: block;
  text-decoration: none;
  background-color: #5fb45e;
  width: min(43.9238653001vw, 37.5rem);
  margin: 0 auto;
  padding: min(2.196193265vw, 1.875rem);
  text-align: center;
  color: #fff;
  border-radius: min(1.4641288433vw, 1.25rem);
  font-size: min(2.3426061493vw, 2rem);
  font-weight: 500;
  line-height: 1.6;
  box-shadow: min(0.3660322108vw, 0.3125rem) min(0.3660322108vw, 0.3125rem) min(0.3660322108vw, 0.3125rem) min(0.0732064422vw, 0.0625rem) #000;
  border-radius: min(1.4641288433vw, 1.25rem);
  transition: filter 0.2s;
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner a {
    font-size: 4.9333333333vw;
    width: 88vw;
    border-radius: 4vw;
    padding: 5.3333333333vw 0;
    line-height: 1.8;
  }
}
.page-index .caution-sec .inner a:hover {
  filter: brightness(1.1);
}
.page-index .caution-sec .inner a small {
  display: block;
  font-size: min(1.6105417277vw, 1.375rem);
}
@media screen and (max-width: 768px) {
  .page-index .caution-sec .inner a small {
    font-size: 3.4666666667vw;
  }
}
.page-index .about-sec {
  padding: min(6.588579795vw, 5.625rem) 0 min(10.2489019034vw, 8.75rem);
}
@media screen and (max-width: 768px) {
  .page-index .about-sec {
    padding: 8vw 0 18.6666666667vw;
  }
}
.page-index .about-sec .midashi {
  font-size: min(2.4158125915vw, 2.0625rem);
  letter-spacing: 0;
  text-align: center;
  letter-spacing: 0;
  margin-bottom: min(1.4641288433vw, 1.25rem);
}
@media screen and (max-width: 768px) {
  .page-index .about-sec .midashi {
    font-size: 4.8vw;
    margin-bottom: 2.6666666667vw;
  }
}
.page-index .about-sec .read {
  text-align: center;
  line-height: 2;
  font-size: min(1.317715959vw, 1.125rem);
}
@media screen and (max-width: 768px) {
  .page-index .about-sec .read {
    font-size: 3.2vw;
    letter-spacing: 0;
  }
}
.page-index .about-sec .logo {
  width: min(39.3118594436vw, 33.5625rem);
  margin: min(2.196193265vw, 1.875rem) auto 0;
}
@media screen and (max-width: 768px) {
  .page-index .about-sec .logo {
    width: 72vw;
    margin: 5.3333333333vw auto 0;
  }
}