@charset "UTF-8";
html {
  color: #2E2E2E;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  font-size: 0.6944444444vw;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizespeed;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.skip-link {
  background-color: #329FDA;
  color: #fff;
  font-size: min(1.6rem, 16px);
  padding: min(1rem, 10px) min(2rem, 20px);
  position: absolute;
  top: -6rem;
  left: 0;
  text-decoration: none;
  transition: top 0.3s ease;
  z-index: 10000;
}
@media screen and (max-width: 767px) {
  .skip-link {
    font-size: 1.4rem;
    padding: 1rem 2rem;
  }
}

.skip-link:focus {
  top: 0;
}

.header {
  background-color: #fff;
  height: min(7rem, 70px);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  .header {
    height: 6rem;
  }
}

.header.is-scrolled {
  box-shadow: 0 0 min(0.8rem, 8px) rgba(0, 0, 0, 0.55);
}
@media screen and (max-width: 767px) {
  .header.is-scrolled {
    box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.55);
  }
}

.header__inner {
  display: flex;
  height: inherit;
  width: min(109.5rem, 1095px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .header__inner {
    width: 35.9rem;
  }
}

.header__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.header__logo-icon {
  aspect-ratio: 203/74;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  width: min(20.3rem, 203px);
}
@media screen and (max-width: 767px) {
  .header__logo-icon {
    aspect-ratio: 134/48;
    width: 13.4rem;
  }
}

.header__button-link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: #fff;
  background: linear-gradient(to right, #FFA200, #FF00A9, #B100FF);
  border-radius: min(2.6rem, 26px);
  white-space: nowrap;
  height: min(5.2rem, 52px);
  width: min(23.6rem, 236px);
}
@media screen and (max-width: 767px) {
  .header__button-link {
    border-radius: 3.4rem;
    font-size: 1.2rem;
    height: 3.6rem;
    width: 16.8rem;
  }
}

.fv {
  background-image: url(../images/fv-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(12.4rem, 124px) 0 min(8.1rem, 81px);
}
@media screen and (max-width: 767px) {
  .fv {
    background-image: url(../images/fv-bg_sp.webp);
    padding: 6.9rem 0 2.3rem;
  }
}

.fv__inner {
  margin: 0 auto;
  width: min(108.8rem, 1088px);
}
@media screen and (max-width: 767px) {
  .fv__inner {
    width: 35.2rem;
  }
}

.fv__contents {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .fv__contents {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .fv__body {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

.fv__label {
  font-size: min(3.2rem, 32px);
  font-weight: 900;
  color: #329FDA;
  background-color: #fff;
  display: inline-block;
  line-height: 1.3;
  padding: min(0.2rem, 2px) min(0.5rem, 5px) 0;
}
@media screen and (max-width: 767px) {
  .fv__label {
    font-size: 2.2rem;
    margin: 2rem auto 0;
    order: 1;
  }
}

.fv__label .text-kerning {
  letter-spacing: -0.25em;
}

.fv__label-effect {
  position: relative;
  display: inline-block;
}

.fv__dots {
  position: absolute;
  top: max(-0.9rem, -9px);
  left: 51%;
  transform: translateX(-50%);
  display: flex;
  gap: min(2.2rem, 22px);
}
@media screen and (max-width: 767px) {
  .fv__dots {
    top: -0.5rem;
    gap: 1.5rem;
  }
}

.fv__dot {
  border: min(0.2rem, 2px) solid #329FDA;
  width: min(1rem, 10px);
  height: min(1rem, 10px);
  background-color: #FFFC40;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .fv__dot {
    border: 0.1rem solid #329FDA;
    width: 0.7rem;
    height: 0.7rem;
  }
}

.fv__catch {
  margin-top: min(2.3rem, 23px);
}
@media screen and (max-width: 767px) {
  .fv__catch {
    margin-top: 1.7rem;
    order: 2;
  }
}

.fv__catch-img {
  aspect-ratio: 697/175;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(69.7rem, 697px);
}
@media screen and (max-width: 767px) {
  .fv__catch-img {
    aspect-ratio: 352/90;
    width: 35.2rem;
  }
}

.fv__description {
  margin-top: min(3.5rem, 35px);
  font-size: min(2rem, 20px);
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .fv__description {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    margin-top: 2.4rem;
    order: 5;
    text-align: center;
  }
}

.fv__button {
  margin-top: min(8.3rem, 83px);
}
@media screen and (max-width: 767px) {
  .fv__button {
    margin-top: 5.2rem;
    order: 4;
  }
}

.fv__visual {
  background-image: url(../images/fv-video-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: min(27.3rem, 273px);
  height: min(54.6rem, 546px);
  margin-left: min(3.8rem, 38px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .fv__visual {
    background-image: url(../images/fv-video-bg_sp.webp);
    width: 16.9rem;
    height: 34rem;
    order: 3;
    margin: 2.5rem auto 0;
  }
}

.fv__visual::after {
  aspect-ratio: 352/152;
  background-image: url(../images/fv-icon_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(35.2rem, 352px);
  height: min(15.2rem, 152px);
}
@media screen and (max-width: 767px) {
  .fv__visual::after {
    aspect-ratio: 220/95;
    background-image: url(../images/fv-icon_sp.webp);
    width: 22rem;
    height: 9.5rem;
  }
}

.fv__visual video {
  background: #000;
  border-radius: min(2.4rem, 24px);
  height: min(51.5rem, 515px);
  -o-object-fit: cover;
     object-fit: cover;
  width: min(23.8rem, 238px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .fv__visual video {
    border-radius: 1.6rem;
    height: 32.1rem;
    width: 14.8rem;
  }
}

.problem__top {
  background-image: url(../images/problem-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(4rem, 40px) 0 min(30.7rem, 307px);
}
@media screen and (max-width: 767px) {
  .problem__top {
    background-image: url(../images/problem-bg_sp.webp);
    padding: 3rem 0 19.3rem;
  }
}

.problem__lead {
  font-size: min(4rem, 40px);
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.564;
}
@media screen and (max-width: 767px) {
  .problem__lead {
    font-size: 2rem;
    line-height: 1.4;
  }
}

.problem__lead .text-emphasis {
  color: #FFFC40;
  font-family: "Noto Serif JP", serif;
  font-size: min(5.6rem, 56px);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .problem__lead .text-emphasis {
    font-size: 2.6rem;
  }
}

.problem__voices {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: min(17.8rem, 178px);
  gap: min(5rem, 50px);
  margin-top: min(3.8rem, 38px);
}
@media screen and (max-width: 767px) {
  .problem__voices {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    height: auto;
    margin: 4.4rem auto 0;
    width: 32.5rem;
  }
}

.problem__voice {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  height: min(13rem, 130px);
  width: min(30rem, 300px);
  box-shadow: 0 0 min(2rem, 20px) #939393;
  position: relative;
}
@media screen and (max-width: 767px) {
  .problem__voice {
    height: 7rem;
    width: 20.1rem;
    box-shadow: 0 0 1.3rem #939393;
  }
}

.problem__voice::before {
  aspect-ratio: 42/36;
  background-image: url(../images/quote-open-icon_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  top: max(-1.1rem, -11px);
  left: min(3.2rem, 32px);
  width: min(4.2rem, 42px);
  height: min(3.6rem, 36px);
}
@media screen and (max-width: 767px) {
  .problem__voice::before {
    aspect-ratio: 28/24;
    top: -1rem;
    left: 2rem;
    width: 2.8rem;
    height: 2.4rem;
  }
}

.problem__voice:nth-of-type(1) {
  border-top-left-radius: min(2.4rem, 24px);
  border-top-right-radius: min(2.4rem, 24px);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: min(2.4rem, 24px);
}
@media screen and (max-width: 767px) {
  .problem__voice:nth-of-type(1) {
    border-top-left-radius: 1.6rem;
    border-top-right-radius: 1.6rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 1.6rem;
    margin-right: auto;
  }
}

.problem__voice:nth-of-type(2) {
  border-top-left-radius: min(2.4rem, 24px);
  border-top-right-radius: min(2.4rem, 24px);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: min(2.4rem, 24px);
}
@media screen and (max-width: 767px) {
  .problem__voice:nth-of-type(2) {
    border-top-left-radius: 1.6rem;
    border-top-right-radius: 1.6rem;
    border-bottom-right-radius: 1.6rem;
    border-bottom-left-radius: 0;
    margin-left: auto;
  }
}

.problem__voice:nth-of-type(3) {
  border-top-left-radius: min(2.4rem, 24px);
  border-top-right-radius: min(2.4rem, 24px);
  border-bottom-right-radius: min(2.4rem, 24px);
  border-bottom-left-radius: 0;
}
@media screen and (max-width: 767px) {
  .problem__voice:nth-of-type(3) {
    border-top-left-radius: 1.6rem;
    border-top-right-radius: 1.6rem;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 1.6rem;
    margin-right: auto;
  }
}

.problem__voice--top {
  margin-bottom: auto;
}

.problem__voice-text {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: #2F2F2F;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .problem__voice-text {
    font-size: 1.6rem;
  }
}

.problem__voice-highlight {
  color: #00429D;
}

.problem__bottom {
  background: linear-gradient(to right, #45B6F7, #3C47CE);
  padding: min(3rem, 30px) 0 min(2.5rem, 25px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .problem__bottom {
    padding: 3rem 0 1.4rem;
  }
}

.problem__message {
  font-size: min(4rem, 40px);
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .problem__message {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}

.problem__message-underline {
  position: relative;
  display: inline-block;
  padding-bottom: 1rem;
}

.problem__message-underline .text-kerning {
  letter-spacing: -0.21em;
}

/* 右に行くほど細くなる下線（PC：1本） */
.problem__message-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: min(0.6rem, 6px);
  width: 97%;
  height: min(0.9rem, 9px);
  /* 左端の最大太さ */
  background-color: #FFFC40;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
}
@media screen and (max-width: 767px) {
  .problem__message-underline::after {
    bottom: 1.1rem;
    height: 0.5rem;
    width: 97%;
  }
}

/* SP：2本に分割（1行目用の下線を追加） */
@media screen and (max-width: 767px) {
  .problem__message-underline::before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 4.6rem;
    width: 63%;
    height: 0.5rem;
    background-color: #FFFC40;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
  }
}

/* 他要素（例） */
.problem__message-effect {
  position: relative;
}

.problem__dots {
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: min(2.6rem, 26px);
}
@media screen and (max-width: 767px) {
  .problem__dots {
    display: none;
  }
}

.problem__dot {
  border: 2px solid #4180E3;
  width: min(1.2rem, 12px);
  height: min(1.2rem, 12px);
  background-color: #FFFC40;
  border-radius: 50%;
}

.reason {
  background-image: url(../images/reason-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(6.4rem, 64px) 0;
}
@media screen and (max-width: 767px) {
  .reason {
    background-image: url(../images/reason-bg_sp.webp);
    padding: 4rem 0 4.4rem;
  }
}

.reason__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(4.8rem, 48px);
  font-weight: 900;
  line-height: 1.3333333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .reason__title {
    font-size: 2.4rem;
    line-height: 1.2916666667;
  }
}

.reason__title .text-emphasis {
  color: #fff;
  background: linear-gradient(to right, #0DA6FF, #3C47CE);
  display: inline-block;
  -webkit-clip-path: polygon(3% 0%, 100% 0%, 97% 100%, 0% 100%);
          clip-path: polygon(3% 0%, 100% 0%, 97% 100%, 0% 100%);
  padding: 0 min(1.6rem, 16px);
}
@media screen and (max-width: 767px) {
  .reason__title .text-emphasis {
    -webkit-clip-path: polygon(4% 0%, 100% 0%, 96% 100%, 0% 100%);
            clip-path: polygon(4% 0%, 100% 0%, 96% 100%, 0% 100%);
    padding: 0 1rem;
  }
}

.reason__title .text-icon {
  color: #FFFC40;
  font-size: min(4.8rem, 48px);
  font-weight: 900;
  line-height: 1.3333333333;
}
@media screen and (max-width: 767px) {
  .reason__title .text-icon {
    font-size: 2.4rem;
    line-height: 1.2916666667;
  }
}

.reason__content {
  margin-top: min(6.4rem, 64px);
}
@media screen and (max-width: 767px) {
  .reason__content {
    margin-top: 4rem;
  }
}

.media + .media {
  margin-top: min(6rem, 60px);
}
@media screen and (max-width: 767px) {
  .media + .media {
    margin-top: 3.2rem;
  }
}

.media__inner {
  max-width: min(108rem, 1080px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .media__inner {
    max-width: 32.5rem;
  }
}

.media__wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .media__wrap {
    flex-direction: column;
    align-items: center;
  }
}

.media__wrap.media__wrap--reverse {
  flex-direction: row-reverse;
}

.media__body {
  width: min(54rem, 540px);
}
@media screen and (max-width: 767px) {
  .media__body {
    width: 100%;
  }
}

.media__title {
  display: inline-block;
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .media__title {
    font-size: 2.3rem;
  }
}

.media__title .text-emphasis {
  color: #fff;
  display: inline-block;
  line-height: 1.2;
  background: linear-gradient(to right, #45B6F7, #3C47CE);
}

.media__title .text-kerning {
  letter-spacing: -0.5em;
}

.media__desc {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: min(4rem, 40px);
  font-size: min(2rem, 20px);
  font-weight: 400;
  line-height: 1.8;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .media__desc {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 2.2rem;
  }
}

.media__desc .text-emphasis {
  background-color: #fff;
  color: #329FDA;
  font-weight: 900;
}

.media__img img {
  aspect-ratio: 440/306;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(44rem, 440px);
}
@media screen and (max-width: 767px) {
  .media__img img {
    aspect-ratio: 325/180;
    margin-top: 1.7rem;
    width: 100%;
  }
}

.reason__summary {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: min(6.4rem, 64px);
  text-align: center;
  font-size: min(4rem, 40px);
  font-weight: 900;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .reason__summary {
    font-size: 2.1rem;
    line-height: 1.7142857143;
    margin-top: 4rem;
  }
}

.reason__summary .text-bg {
  background-color: #fff;
}

.reason__summary .text-emphasis {
  background: linear-gradient(90deg, #45B6F7 0%, #3C47CE 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.reason__summary .text-margin {
  margin-left: max(-1.5rem, -15px);
}

.feature {
  background-image: url(../images/feature-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(6rem, 60px) 0 79px;
}
@media screen and (max-width: 767px) {
  .feature {
    background-image: url(../images/feature-bg_sp.webp);
    padding: 5.3rem 0 5.9rem;
  }
}

.feature__title {
  background: linear-gradient(90deg, #45B6F7 0%, #3C47CE 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(4.8rem, 48px);
  font-weight: 900;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .feature__title {
    font-size: 2.8rem;
  }
}

.feature__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(2rem, 20px);
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
  margin-top: min(2.6rem, 26px);
}
@media screen and (max-width: 767px) {
  .feature__text {
    font-size: 1.4rem;
    line-height: 1.9285714286;
    text-align: justify;
    margin-top: 3.5rem;
    letter-spacing: 0.017em;
  }
}

.feature__items {
  margin-top: min(6.4rem, 64px);
}
@media screen and (max-width: 767px) {
  .feature__items {
    margin-top: 2.4rem;
  }
}

.feature-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background-color: #EFFAFF;
  padding: min(3.5rem, 35px) min(3.9rem, 39px);
  border-radius: min(3.2rem, 32px);
}
@media screen and (max-width: 767px) {
  .feature-item {
    flex-direction: column;
    padding: 2.4rem 1.2rem;
  }
}

.feature__item--reverse {
  flex-direction: row-reverse;
}

.feature-item + .feature-item {
  margin-top: min(4rem, 40px);
}
@media screen and (max-width: 767px) {
  .feature-item + .feature-item {
    margin-top: 3.2rem;
  }
}

.feature-item__img img {
  aspect-ratio: 460/300;
  border-radius: min(2.4rem, 24px);
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(46rem, 460px);
}
@media screen and (max-width: 767px) {
  .feature-item__img img {
    aspect-ratio: 300/180;
    margin-top: 1.8rem;
    width: 100%;
  }
}

.feature-item__body {
  width: min(51.6rem, 516px);
}
@media screen and (max-width: 767px) {
  .feature-item__body {
    width: 100%;
  }
}

.feature-item__header {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.feature-item__number {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.feature-item__catch {
  aspect-ratio: 76/22;
  height: auto;
  width: min(7.6rem, 76px);
}
@media screen and (max-width: 767px) {
  .feature-item__catch {
    aspect-ratio: 45/14;
    width: 4.5rem;
  }
}

.feature-item__number span {
  font-size: min(8rem, 80px);
  font-weight: 700;
  line-height: 0.9;
  color: #00429D;
}
@media screen and (max-width: 767px) {
  .feature-item__number span {
    font-size: 4.7rem;
    margin-top: 0.1rem;
  }
}

.feature-item__title {
  font-size: min(3.5rem, 35px);
  font-weight: 900;
  margin-left: min(3.2rem, 32px);
}
@media screen and (max-width: 767px) {
  .feature-item__title {
    font-size: 2.1rem;
    margin-left: 1.2rem;
  }
}

.feature-item__title .text-emphasis {
  color: #00429D;
}

.feature-item__text {
  font-size: min(2rem, 20px);
  font-weight: 400;
  line-height: 1.8;
  margin-top: min(2.9rem, 29px);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .feature-item__text {
    font-size: 1.6rem;
    line-height: 1.75;
    margin-top: 1.6rem;
  }
}

.feature-item__text .text-emphasis {
  background-color: #00429D;
  color: #fff;
  font-weight: 900;
  line-height: 1.8;
  padding: min(0.4rem, 4px) min(0.2rem, 2px);
}

.cta {
  background-image: url(../images/cta-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(4rem, 40px) 0;
}
@media screen and (max-width: 767px) {
  .cta {
    background-image: url(../images/cta-bg_sp.webp);
    padding: 4rem 0 16.6rem;
  }
}

.cta__body {
  text-align: center;
}

.cta__title {
  font-size: min(4rem, 40px);
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .cta__title {
    font-size: 2.8rem;
    line-height: 1.4285714286;
  }
}

.cta__text {
  margin-top: min(1.5rem, 15px);
  font-size: min(2rem, 20px);
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .cta__text {
    font-size: 1.6rem;
    letter-spacing: 0.01em;
    line-height: 1.5;
    margin-top: 1.7rem;
  }
}

.cta__button {
  margin-top: min(5.1rem, 51px);
}
@media screen and (max-width: 767px) {
  .cta__button {
    margin-top: 6rem;
  }
}

.works {
  background-color: #EFFAFF;
  padding: min(4.7rem, 47px) 0;
}
@media screen and (max-width: 767px) {
  .works {
    padding: 5.3rem 0 3.9rem;
  }
}

.works__inner {
  margin: 0 auto;
  width: min(99.6rem, 996px);
}
@media screen and (max-width: 767px) {
  .works__inner {
    width: 32.5rem;
  }
}

.works__heading {
  text-align: center;
}

.works__text {
  margin-top: min(1.9rem, 19px);
  font-size: min(2rem, 20px);
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .works__text {
    font-size: 1.4rem;
    line-height: 1.9285714286;
    margin-top: 4.2rem;
  }
}

.works__list {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: min(6rem, 60px);
}
@media screen and (max-width: 767px) {
  .works__list {
    flex-direction: column;
    margin-top: 3.8rem;
  }
}

@media screen and (max-width: 767px) {
  .works__item + .works__item {
    margin-top: 3.2rem;
  }
}

.works__label {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.9rem, 19px);
  font-weight: 700;
  color: #fff;
  background-color: #4A505F;
  border-radius: min(2.4rem, 24px);
  margin-left: auto;
  margin-right: auto;
  height: min(4.8rem, 48px);
  width: min(25.7rem, 257px);
}
@media screen and (max-width: 767px) {
  .works__label {
    border-radius: 1.6rem;
    font-size: 1.8rem;
    height: 3.2rem;
    width: 26.4rem;
  }
}

.works__wrap {
  background-image: url(../images/works-video-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 245/492;
  height: auto;
  margin: min(2.7rem, 27px) auto 0;
  position: relative;
  width: min(24.5rem, 245px);
}
@media screen and (max-width: 767px) {
  .works__wrap {
    aspect-ratio: 170/340;
    background-image: url(../images/works-video-bg_sp.webp);
    margin: 2.4rem auto 0;
    width: 17rem;
  }
}

.works__wrap video {
  border-radius: min(2.4rem, 24px);
  height: min(46.4rem, 464px);
  -o-object-fit: cover;
     object-fit: cover;
  width: min(21.4rem, 214px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .works__wrap video {
    border-radius: 1.6rem;
    height: 32.1rem;
    width: 14.8rem;
  }
}

.works__message {
  margin-top: min(4rem, 40px);
  font-size: min(2.4rem, 24px);
  text-align: center;
  line-height: 1.75;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .works__message {
    font-size: 2.1rem;
    line-height: 1.7142857143;
    margin-top: 4.1rem;
  }
}

.works__message .text-emphasis {
  background: linear-gradient(90deg, #45B6F7 0%, #3C47CE 100%);
  color: #fff;
}

.voice {
  background-image: url(../images/voice-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(5.8rem, 58px) 0 min(3.4rem, 34px);
}
@media screen and (max-width: 767px) {
  .voice {
    background-image: url(../images/voice-bg_sp.webp);
    padding: 5.2rem 0 5.5rem;
  }
}

.voice__inner {
  width: min(108rem, 1080px);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .voice__inner {
    width: 32.5rem;
  }
}

.voice__heading {
  text-align: center;
}

.voice__content {
  margin-top: min(5rem, 50px);
}
@media screen and (max-width: 767px) {
  .voice__content {
    margin-top: 3.6rem;
  }
}

.voice-comment {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: min(2rem, 20px);
}
@media screen and (max-width: 767px) {
  .voice-comment {
    flex-direction: column;
    gap: 2rem;
  }
}

.voice-comment__icon {
  aspect-ratio: 135/135;
  height: auto;
  width: min(13.5rem, 135px);
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .voice-comment__icon {
    aspect-ratio: 80/80;
    width: 8rem;
  }
}

.voice-comment__text {
  border-top-left-radius: min(2.4rem, 24px);
  border-top-right-radius: min(2.4rem, 24px);
  border-bottom-right-radius: min(2.4rem, 24px);
  border-bottom-left-radius: 0;
  box-shadow: 0 0 min(2rem, 20px) 0 rgba(207, 207, 207, 0.6);
  position: relative;
  background-color: #EFFAFF;
  color: #00429D;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  line-height: 1.2631578947;
  padding: min(2.2rem, 22px) min(1.6rem, 16px) min(2.8rem, 28px) min(6.3rem, 63px);
}
@media screen and (max-width: 767px) {
  .voice-comment__text {
    border-top-left-radius: 0;
    border-top-right-radius: 1.6rem;
    border-bottom-right-radius: 1.6rem;
    border-bottom-left-radius: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 2.1rem 0 1.1rem;
    text-align: center;
    width: 100%;
  }
}

.voice-comment__text::before {
  aspect-ratio: 42/36;
  background-image: url(../images/quote-open-icon_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  top: max(-1.1rem, -11px);
  left: min(2.5rem, 25px);
  width: min(4.2rem, 42px);
  height: min(3.6rem, 36px);
}
@media screen and (max-width: 767px) {
  .voice-comment__text::before {
    aspect-ratio: 28/24;
    top: -1.4rem;
    left: 2.1rem;
    width: 2.8rem;
    height: 2.4rem;
  }
}

.voice-info {
  margin-top: min(4.9rem, 49px);
}
@media screen and (max-width: 767px) {
  .voice-info {
    margin-top: 2.4rem;
  }
}

.voice-info__client {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .voice-info__client {
    font-size: 1.8rem;
    text-align: center;
  }
}

.voice-info__tags {
  margin-top: min(1.2rem, 12px);
  display: flex;
  align-items: center;
  gap: min(1.6rem, 16px);
}
@media screen and (max-width: 767px) {
  .voice-info__tags {
    justify-content: center;
    margin-top: 0.4rem;
    gap: 0.8rem;
  }
}

.voice-info__tag {
  display: inline-block;
}

.voice-info__tag-main {
  background-color: #C9FF63;
  color: #333333;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  padding: min(0.6rem, 6px) min(2.4rem, 24px);
  border-radius: min(2.4rem, 24px);
}
@media screen and (max-width: 767px) {
  .voice-info__tag-main {
    font-size: 1.6rem;
    padding: 0.4rem 1.6rem;
    border-radius: 1.6rem;
  }
}

.voice-info__tag-sub {
  font-size: min(3.2rem, 32px);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .voice-info__tag-sub {
    font-size: 1.6rem;
  }
}

.voice__achievements {
  margin-top: min(3.9rem, 39px);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .voice__achievements {
    flex-direction: column;
    margin-top: 2.3rem;
  }
}

.voice__body {
  width: min(49.6rem, 496px);
}
@media screen and (max-width: 767px) {
  .voice__body {
    width: 100%;
  }
}

.voice-assignment__title {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: #fff;
  background-color: #4A505F;
  padding: min(0.5rem, 5px) 0 min(0.4rem, 4px);
  border-radius: min(2rem, 20px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .voice-assignment__title {
    font-size: 1.6rem;
    padding: 0.4rem 0;
    border-radius: 1.6rem;
  }
}

.voice-assignment__title::before {
  aspect-ratio: 24/36;
  background-image: url(../images/line-icon_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: min(2.4rem, 24px);
  height: min(3.6rem, 36px);
  position: absolute;
  top: 50%;
  left: 28%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .voice-assignment__title::before {
    aspect-ratio: 16/24;
    width: 1.6rem;
    height: 2.4rem;
    background-image: url(../images/line-icon_sp.webp);
  }
}

.voice-assignment__list {
  margin-top: min(2.1rem, 21px);
}
@media screen and (max-width: 767px) {
  .voice-assignment__list {
    margin-top: 1.5rem;
  }
}

.voice-assignment__item {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.7rem, 17px);
  line-height: 1.7142857143;
  color: #333333;
}
@media screen and (max-width: 767px) {
  .voice-assignment__item {
    font-size: 1.5rem;
    line-height: 1.8;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.voice-assignment__item + .voice-assignment__item {
  margin-top: min(0.8rem, 8px);
}
@media screen and (max-width: 767px) {
  .voice-assignment__item + .voice-assignment__item {
    margin-top: 0;
  }
}

.voice-result {
  margin-top: min(4rem, 40px);
}
@media screen and (max-width: 767px) {
  .voice-result {
    margin-top: 2.5rem;
  }
}

.voice-result__title {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: #fff;
  background-color: #00429D;
  padding: min(0.5rem, 5px) 0 min(0.4rem, 4px);
  border-radius: min(2rem, 20px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .voice-result__title {
    font-size: 1.6rem;
    padding: 0.4rem 0;
    border-radius: 1.6rem;
  }
}

.voice-result__title::before {
  aspect-ratio: 24/37;
  background-image: url(../images/light-icon1_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: min(2.4rem, 24px);
  height: min(3.7rem, 37px);
  position: absolute;
  top: 50%;
  left: 30%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .voice-result__title::before {
    aspect-ratio: 16/27;
    width: 1.6rem;
    height: 2.7rem;
    background-image: url(../images/light-icon1_sp.webp);
  }
}

.voice-result__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.9rem, 19px);
  font-weight: 900;
  line-height: 2.1052631579;
  color: #00429D;
  margin-top: min(1.6rem, 16px);
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .voice-result__text {
    font-size: 1.8rem;
    line-height: 1.7777777778;
    margin-top: 1.5rem;
  }
}

.voice__graph img {
  aspect-ratio: 460/459;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(46rem, 460px);
}
@media screen and (max-width: 767px) {
  .voice__graph img {
    aspect-ratio: 325/324;
    margin: 2.7rem auto 0;
    width: 32.5rem;
  }
}

.voice-improvement {
  margin-top: min(3.2rem, 32px);
}
@media screen and (max-width: 767px) {
  .voice-improvement {
    margin-top: 3.5rem;
  }
}

.voice-improvement__title {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: #fff;
  background-color: #00429D;
  padding: min(0.5rem, 5px) 0 min(0.4rem, 4px);
  border-radius: min(2rem, 20px);
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .voice-improvement__title {
    font-size: 1.6rem;
    padding: 0.4rem 0;
    border-radius: 1.6rem;
  }
}

.voice-improvement__title::before {
  aspect-ratio: 68/70;
  background-image: url(../images/light-icon2_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  width: min(6.8rem, 68px);
  height: min(7rem, 70px);
  position: absolute;
  top: -38%;
  left: 38%;
}
@media screen and (max-width: 767px) {
  .voice-improvement__title::before {
    aspect-ratio: 45/46;
    width: 4.5rem;
    height: 4.6rem;
    background-image: url(../images/light-icon2_sp.webp);
    top: -30%;
    left: 25%;
  }
}

.voice-improvement__text {
  margin-top: min(2.4rem, 24px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  line-height: 1.5;
  color: #00429D;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice-improvement__text {
    font-size: 2rem;
    line-height: 1.5;
    margin-top: 2.4rem;
  }
}

.voice-works {
  margin-top: min(3.3rem, 33px);
  display: flex;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .voice-works {
    justify-content: space-between;
    margin-top: 1.9rem;
    gap: 0;
  }
}

.voice-works__wrap {
  aspect-ratio: 258/517;
  background-image: url(../images/voice-works-video-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: auto;
  position: relative;
  width: min(25.8rem, 258px);
}
@media screen and (max-width: 767px) {
  .voice-works__wrap {
    aspect-ratio: 104/208;
    background-image: url(../images/voice-works-video-bg_sp.webp);
    width: 10.4rem;
  }
}

.voice-works__wrap video {
  border-radius: min(2.4rem, 24px);
  height: min(48.7rem, 487px);
  -o-object-fit: cover;
     object-fit: cover;
  width: min(22.5rem, 225px);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .voice-works__wrap video {
    border-radius: 1.6rem;
    height: 19.5rem;
    width: 9rem;
  }
}

.compare {
  background-color: #EFFAFF;
  padding: min(4.7rem, 47px) 0 min(5.2rem, 52px);
}
@media screen and (max-width: 767px) {
  .compare {
    padding: 5.2rem 0 3.9rem;
  }
}

.compare__inner {
  max-width: 108rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .compare .section-title__ja {
    font-size: 2.3rem;
    line-height: 1.3913043478;
  }
}

.compare__scroll-wrap {
  border: 1px solid #D3D3D3;
  border-radius: min(1.2rem, 12px);
  margin-top: min(6.4rem, 64px) auto;
  overflow-x: auto;
  overflow-y: visible;
  /* ← hiddenに戻さない */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  /* overscroll-behavior-y: none; ← 付けない */
  touch-action: auto;
  /* ← pan-x はやめる（Androidで縦が死にがち） */
  position: relative;
  scrollbar-width: none;
  /* Firefox用 */
}
@media screen and (max-width: 767px) {
  .compare__scroll-wrap {
    border-radius: 1.6rem;
    margin-top: 3.5rem;
    margin-left: auto;
    margin-right: auto;
    max-width: 570px;
  }
}
@media screen and (max-width: 620px) {
  .compare__scroll-wrap {
    margin-left: 2.5rem;
  }
}

.compare__scroll-wrap::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Edge */
}

.compare__cols {
  display: flex;
  min-width: 108rem;
}
@media screen and (max-width: 767px) {
  .compare__cols {
    margin-left: auto;
    margin-right: auto;
    min-width: 570px;
    width: 570px;
  }
}

.compare__col-title,
.compare__col-item {
  display: flex;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  height: min(9.2rem, 92px);
}
@media screen and (max-width: 767px) {
  .compare__col-title,
.compare__col-item {
    height: 98px;
  }
}

.compare__col-label .compare__col-item,
.compare__col-media .compare__col-item {
  border-top: 1px solid #D3D3D3;
}

.compare__col-label {
  background-color: #E3E3E3;
  width: 18%;
}
@media screen and (max-width: 767px) {
  .compare__col-label {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    bottom: 0;
    left: 0;
    width: 130px;
  }
}

.compare__col-label .compare__col-title,
.compare__col-label .compare__col-item {
  justify-content: center;
  background-color: #E3E3E3;
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  color: #000000;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .compare__col-label .compare__col-title,
.compare__col-label .compare__col-item {
    font-size: 15px;
  }
}

.compare__col-alive {
  background: linear-gradient(to right, #40C9FF 0%, #3C2BA5 100%);
  color: #fff;
  width: 41%;
  padding-left: min(1.2rem, 12px);
  padding-right: min(1.2rem, 12px);
  padding-bottom: min(1.2rem, 12px);
}
@media screen and (max-width: 767px) {
  .compare__col-alive {
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    width: 220px;
  }
}

.compare__col-alive .compare__col-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: min(0.4rem, 4px);
}
@media screen and (max-width: 767px) {
  .compare__col-alive .compare__col-title {
    gap: 4px;
  }
}

.compare__col-alive .compare__col-title .compare__logo-icon {
  aspect-ratio: 155/56;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(15.5rem, 155px);
}
@media screen and (max-width: 767px) {
  .compare__col-alive .compare__col-title .compare__logo-icon {
    width: 155px;
  }
}

.compare__col-alive .compare__col-title .compare__logo-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .compare__col-alive .compare__col-title .compare__logo-text {
    font-size: 16px;
    margin-top: -1rem;
  }
}

.compare__col-alive .compare__col-item {
  background-color: #EFFAFF;
  color: #004385;
  font-size: min(1.6rem, 16px);
  line-height: 1.5;
  letter-spacing: 0.04em;
  padding-left: min(1.4rem, 14px);
  gap: min(2.4rem, 24px);
}
@media screen and (max-width: 767px) {
  .compare__col-alive .compare__col-item {
    flex-direction: column;
    justify-content: center;
    font-size: 13px;
    padding-left: 0;
    gap: 8px;
    text-align: center;
  }
}

.compare__col-alive .compare__col-item .compare__col-item-icon {
  aspect-ratio: 49/48;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(4.9rem, 49px);
}
@media screen and (max-width: 767px) {
  .compare__col-alive .compare__col-item .compare__col-item-icon {
    width: 36px;
  }
}

.compare__col-media {
  background-color: #ffffff;
  width: 41%;
}
@media screen and (max-width: 767px) {
  .compare__col-media {
    width: 220px;
  }
}

.compare__col-media .compare__col-title {
  background-color: #81D8FF;
  color: #000000;
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  letter-spacing: 0.04em;
  justify-content: center;
}

.compare__col-media .compare__col-item {
  color: #000000;
  font-size: min(1.6rem, 16px);
  line-height: 1.5;
  letter-spacing: 0.04em;
  padding-left: min(4.4rem, 44px);
  gap: min(2.4rem, 24px);
}
@media screen and (max-width: 767px) {
  .compare__col-media .compare__col-item {
    flex-direction: column;
    justify-content: center;
    font-size: 13px;
    padding-left: 0;
    gap: 8px;
    text-align: center;
  }
}

.compare__col-media .compare__col-item .compare__col-item-icon {
  aspect-ratio: 24/24;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  width: min(2.4rem, 24px);
}
@media screen and (max-width: 767px) {
  .compare__col-media .compare__col-item .compare__col-item-icon {
    width: 24px;
  }
}

.scroll-hint {
  display: none;
}
@media screen and (max-width: 620px) {
  .scroll-hint {
    display: block;
    position: absolute;
    left: 50%;
    top: 10rem;
    transform: translateX(-50%);
    font-size: 12px;
    line-height: 1;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    padding: 6px 10px;
    border-radius: 999px;
    pointer-events: none;
    transition: opacity 0.25s;
  }
}

.compare__scroll-wrap.is-scrolled .scroll-hint {
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .compare__scroll-track {
    margin: 32px auto 0;
    width: 66%;
    height: 8px;
    background: #E3E3E3;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
  }
}

.compare__scroll-bar {
  height: 100%;
  width: 125px;
  background: linear-gradient(to right, #45B6F7, #3C47CE);
  border-radius: 1rem;
  transform: translateX(0);
  transition: transform 0.1s linear;
}

.flow {
  padding: min(6.4rem, 64px) 0;
  background-color: #EFFAFF;
}
@media screen and (max-width: 767px) {
  .flow {
    padding: 5.3rem 0 4.2rem;
  }
}

.flow__items {
  display: flex;
  flex-direction: row;
  gap: min(0.6rem, 6px);
  margin-top: min(4rem, 40px);
}
@media screen and (max-width: 767px) {
  .flow__items {
    flex-direction: column;
    gap: 0;
    margin-top: 4.1rem;
  }
}

.flow__item {
  width: min(24.6rem, 246px);
  height: min(34.8rem, 348px);
  background-color: #fff;
  border-radius: min(1.6rem, 16px);
  padding: min(2rem, 20px) min(1.9rem, 19px) 0;
  box-shadow: 0 0 min(2rem, 20px) rgba(220, 244, 255, 0.6);
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow__item {
    border-radius: 1.6rem;
    box-shadow: 0 0 2rem 0 rgba(220, 244, 255, 0.6);
    width: 24.6rem;
    padding: 2.1rem 2rem 0;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .flow__item.flow__item-step1 {
    height: 31.5rem;
  }
}

@media screen and (max-width: 767px) {
  .flow__item.flow__item-step2 {
    height: 33.5rem;
  }
}

@media screen and (max-width: 767px) {
  .flow__item.flow__item-step3 {
    height: 33.2rem;
  }
}

@media screen and (max-width: 767px) {
  .flow__item.flow__item-step4 {
    height: 33.2rem;
  }
}

.flow__item-step {
  font-size: min(1.6rem, 16px);
  font-weight: 900;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #00429D;
  border-radius: min(1.3rem, 13px);
  height: min(2.7rem, 27px);
  width: min(20rem, 200px);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .flow__item-step {
    border-radius: 1.3rem;
    font-size: 1.4rem;
    height: 2.7rem;
    width: 20rem;
  }
}

.flow__item-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: min(21.5rem, 215px);
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flow__item-top {
    height: 21.5rem;
  }
}

.flow__item-top::before {
  background-image: url(../images/flow-line-icon.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  display: block;
  width: min(20.8rem, 208px);
  height: min(0.3rem, 3px);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .flow__item-top::before {
    width: 20rem;
    height: 0.3rem;
  }
}

.flow__item-step1 .flow__item-top,
.flow__item-step4 .flow__item-top {
  padding-bottom: min(1.5rem, 15px);
}
@media screen and (max-width: 767px) {
  .flow__item-step1 .flow__item-top,
.flow__item-step4 .flow__item-top {
    padding-bottom: 1.5rem;
  }
}

.flow__item-step2 .flow__item-top,
.flow__item-step3 .flow__item-top {
  padding-bottom: min(1rem, 10px);
}
@media screen and (max-width: 767px) {
  .flow__item-step2 .flow__item-top,
.flow__item-step3 .flow__item-top {
    padding-bottom: 1rem;
  }
}

.flow__item-icon {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 auto;
}

.flow__item-step1 .flow__item-icon {
  aspect-ratio: 121/154;
  width: min(12.1rem, 121px);
}
@media screen and (max-width: 767px) {
  .flow__item-step1 .flow__item-icon {
    width: 12.1rem;
  }
}

.flow__item-step2 .flow__item-icon {
  aspect-ratio: 95/132;
  width: min(9.5rem, 95px);
}
@media screen and (max-width: 767px) {
  .flow__item-step2 .flow__item-icon {
    width: 9.5rem;
  }
}

.flow__item-step3 .flow__item-icon {
  aspect-ratio: 84/140;
  width: min(8.4rem, 84px);
}
@media screen and (max-width: 767px) {
  .flow__item-step3 .flow__item-icon {
    width: 8.4rem;
  }
}

.flow__item-step4 .flow__item-icon {
  aspect-ratio: 139/136;
  width: min(13.9rem, 139px);
}
@media screen and (max-width: 767px) {
  .flow__item-step4 .flow__item-icon {
    width: 13.9rem;
  }
}

.flow__item-title {
  font-size: min(2rem, 20px);
  font-weight: 700;
  color: #00429D;
  line-height: 1.4;
  margin-top: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow__item-title {
    font-size: 2rem;
  }
}

.flow__item-bottom {
  margin-top: min(1.6rem, 16px);
}
@media screen and (max-width: 767px) {
  .flow__item-bottom {
    margin-top: 1.6rem;
  }
}

.flow__item-text {
  font-size: min(1.6rem, 16px);
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .flow__item-text {
    font-size: 1.6rem;
  }
}

.flow__triangle {
  display: block;
  width: 0;
  height: 0;
  border-top: min(3.4rem, 34px) solid transparent;
  border-bottom: min(3.4rem, 34px) solid transparent;
  border-left: min(1.9rem, 19px) solid #FFB712;
  align-self: center;
}
@media screen and (max-width: 767px) {
  .flow__triangle {
    border-top: 3.4rem solid transparent;
    border-bottom: 3.4rem solid transparent;
    border-left: 1.9rem solid #FFB712;
    transform: rotate(90deg);
    margin: -0.8rem 0 0.7rem;
  }
}

.faq {
  background-image: url(../images/faq-bg_pc.webp);
  padding: min(6.3rem, 63px) 0 min(7rem, 70px);
}
@media screen and (max-width: 767px) {
  .faq {
    padding: 5rem 0 4.4rem;
  }
}

.faq__items {
  margin-top: min(2.9rem, 29px);
}
@media screen and (max-width: 767px) {
  .faq__items {
    margin-top: 2.4rem;
  }
}

.faq__item {
  background-color: #00429D;
  border-radius: min(1.6rem, 16px);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .faq__item {
    border-radius: 1.6rem;
  }
}

.faq__item + .faq__item {
  margin-top: min(3.4rem, 34px);
}
@media screen and (max-width: 767px) {
  .faq__item + .faq__item {
    margin-top: 2.5rem;
  }
}

.faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 min(2.4rem, 24px);
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .faq__question {
    padding: 2rem 1.6rem 1.6rem;
  }
}

.faq__question:focus-visible {
  outline: 2px solid #329FDA;
  outline-offset: -10px;
}

.faq__body {
  display: flex;
  align-items: center;
  gap: min(4rem, 40px);
}
@media screen and (max-width: 767px) {
  .faq__body {
    gap: 1.8rem;
  }
}

.faq__label {
  font-size: min(6.4rem, 64px);
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .faq__label {
    font-size: 3.6rem;
  }
}

.faq__text {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .faq__text {
    font-size: 1.4rem;
    width: 20.8rem;
  }
}

.faq__icon {
  font-size: min(2.4rem, 24px);
  height: min(4rem, 40px);
  width: min(4rem, 40px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  color: #00429D;
}
@media screen and (max-width: 767px) {
  .faq__icon {
    font-size: 1.4rem;
    height: 2.8rem;
    width: 2.8rem;
  }
}

.faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease-in-out;
}

.faq__answer-inner {
  display: flex;
  align-items: center;
  gap: min(4rem, 40px);
  padding: min(2rem, 20px) min(7rem, 70px) min(1.2rem, 12px) min(2.6rem, 26px);
  color: #fff;
  font-size: min(1.6rem, 16px);
  position: relative;
  letter-spacing: 0.06em;
  text-align: justify;
  transition: opacity 0.36s ease, transform 0.36s ease;
}
@media screen and (max-width: 767px) {
  .faq__answer-inner {
    font-size: 1.4rem;
    gap: 1rem;
    padding: 2rem 1.6rem;
  }
}

.faq__answer-inner::before {
  aspect-ratio: 1032/3;
  background-image: url(../images/faq-line-icon.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
  display: block;
  width: min(103.2rem, 1032px);
  height: auto;
  position: absolute;
  top: 9%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .faq__answer-inner::before {
    aspect-ratio: 300/3;
    top: 0;
    width: 30rem;
  }
}

.faq__item.is-open .faq__answer {
  max-height: 50rem;
}

.contact-form {
  background-image: url(../images/contact-bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: min(6.4rem, 64px) 0 min(7.3rem, 73px);
}
@media screen and (max-width: 767px) {
  .contact-form {
    padding: 5.2rem 0 6rem;
  }
}

.contact-form__title .section-title__en {
  text-shadow: 0 0 min(1.2rem, 12px) rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 767px) {
  .contact-form__title .section-title__en {
    text-shadow: 0 0 1.2rem rgba(255, 255, 255, 0.3);
  }
}

.contact-form__title .section-title__ja {
  background: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  color: #fff;
  text-shadow: 0 0 min(1.2rem, 12px) rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 767px) {
  .contact-form__title .section-title__ja {
    letter-spacing: -0.07em;
    text-shadow: 0 0 1.2rem rgba(255, 255, 255, 0.3);
  }
}

.contact-form__form {
  background-color: #fff;
  border-radius: min(2.4rem, 24px);
  margin-top: min(2.8rem, 28px);
  padding: min(4rem, 40px) min(5.3rem, 53px);
}
@media screen and (max-width: 767px) {
  .contact-form__form {
    margin-top: 4rem;
    padding: 4rem 1.2rem;
  }
}

.contact-form__group {
  display: flex;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .contact-form__group {
    flex-direction: column;
  }
}

.contact-form__group + .contact-form__group {
  margin-top: min(3rem, 30px);
}
@media screen and (max-width: 767px) {
  .contact-form__group + .contact-form__group {
    margin-top: 2.7rem;
  }
}

.contact-form__label {
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  color: #00429D;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: min(1.5rem, 15px);
  width: min(27.4rem, 274px);
}
@media screen and (max-width: 767px) {
  .contact-form__label {
    justify-content: left;
    font-size: 1.7rem;
    width: 100%;
    padding-right: 0;
  }
}

.contact-form__group:nth-of-type(7) .contact-form__label {
  align-items: flex-start;
}

.contact-form__label.is-required::after {
  content: "必須";
  display: inline-block;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  color: #fff;
  background-color: #FF4D4D;
  padding: min(0.3rem, 3px) min(1.1rem, 11px);
  border-radius: min(0.4rem, 4px);
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contact-form__label.is-required::after {
    border-radius: 0.2rem;
    font-size: 1.4rem;
    margin-left: 0.8rem;
    padding: 0.2rem 1.1rem;
  }
}

.contact-form__label:not(.is-required)::after {
  content: "任意";
  display: inline-block;
  font-size: min(1.4rem, 14px);
  padding: min(0.3rem, 3px) min(1.1rem, 11px);
  border-radius: min(0.4rem, 4px);
  vertical-align: middle;
  border: min(0.1rem, 1px) solid #2F2F2F;
  color: #2F2F2F;
}
@media screen and (max-width: 767px) {
  .contact-form__label:not(.is-required)::after {
    border-radius: 0.2rem;
    font-size: 1.4rem;
    margin-left: 0.8rem;
    padding: 0.2rem 1.1rem;
  }
}

.contact-form__input {
  width: min(70rem, 700px);
  font-size: min(1.6rem, 16px);
  color: #2F2F2F;
  border: min(0.1rem, 1px) solid #AFAFAF;
  border-radius: min(0.4rem, 4px);
  padding: min(2rem, 20px) min(1.6rem, 16px);
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .contact-form__input {
    border: 0.1rem solid #AFAFAF;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    width: 100%;
    margin-left: 0;
    margin-top: 1.6rem;
    padding: 1.1rem 0.7rem;
  }
}

.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder {
  color: #C0C0C0;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: #C0C0C0;
}

.contact-form__textarea {
  height: min(25rem, 250px);
  font-size: min(1.6rem, 16px);
  color: #2F2F2F;
  border: min(0.1rem, 1px) solid #AFAFAF;
  border-radius: min(0.4rem, 4px);
  padding: min(2rem, 20px) min(1.6rem, 16px);
  width: min(70rem, 700px);
}
@media screen and (max-width: 767px) {
  .contact-form__textarea {
    border: 0.1rem solid #AFAFAF;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    width: 100%;
    margin-left: 0;
    margin-top: 1.6rem;
    padding: 1.6rem 0.7rem;
  }
}

.contact-form__checkbox-wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: min(2.3rem, 23px);
}

.contact-form__checkbox-label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .contact-form__checkbox-label {
    margin-top: 1.6rem;
  }
}

.contact-form__checkbox-label input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.contact-form__checkbox-label input[type=checkbox]:checked + .contact-form__checkbox-text::after {
  content: "";
  position: absolute;
  left: min(0.7rem, 7px);
  top: min(0.7rem, 7px);
  width: min(1.2rem, 12px);
  height: min(0.6rem, 6px);
  border-left: min(0.2rem, 2px) solid #2F2F2F;
  border-bottom: min(0.2rem, 2px) solid #2F2F2F;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .contact-form__checkbox-label input[type=checkbox]:checked + .contact-form__checkbox-text::after {
    left: 0.4rem;
    top: 0.7rem;
    width: 1rem;
    height: 0.6rem;
  }
}

.contact-form__checkbox-text {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: #2F2F2F;
  padding-left: min(4.3rem, 43px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact-form__checkbox-text {
    font-size: 1.6rem;
    padding-left: 2.6rem;
  }
}

.contact-form__checkbox-text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: min(2.6rem, 26px);
  height: min(2.6rem, 26px);
  border: min(0.1rem, 1px) solid #AFAFAF;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .contact-form__checkbox-text::before {
    width: 1.8rem;
    height: 1.8rem;
  }
}

.contact-form__privacy-note {
  font-size: min(1.5rem, 15px);
  color: #2F2F2F;
  margin-top: min(1.6rem, 16px);
  margin-left: min(27.4rem, 274px);
}
@media screen and (max-width: 767px) {
  .contact-form__privacy-note {
    font-size: 1.5rem;
    line-height: 1.6;
    margin-left: 0;
    margin-top: 1.6rem;
  }
}

.contact-form__link {
  color: #0047FF;
  text-decoration: none;
}

.contact-form__button-wrap {
  margin-top: min(5.7rem, 57px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-form__button-wrap {
    margin-top: 3rem;
  }
}

.contact-form__button-wrap .button__link {
  cursor: pointer;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: #fff;
  padding: min(1.8rem, 18px) min(11rem, 110px);
  border-radius: min(7rem, 70px);
}
@media screen and (max-width: 767px) {
  .contact-form__button-wrap .button__link {
    font-size: 1.8rem;
    padding: 1.6rem 5.5rem;
    border-radius: 3.5rem;
  }
}

.contact-form__button-wrap .button.is-disabled .button__link {
  background: linear-gradient(to right, rgba(255, 162, 0, 0.5), rgba(255, 0, 169, 0.5), rgba(177, 0, 255, 0.5));
  box-shadow: inset 0 min(0.4rem, 4px) min(0.4rem, 4px) rgba(255, 255, 255, 0.5), 0 min(0.6rem, 6px) 0 rgba(154, 0, 104, 0.5);
  cursor: not-allowed;
  /* 任意 */
}

.button.is-disabled:hover {
  -webkit-animation: none;
          animation: none;
  transform: none;
  transition: none;
  cursor: not-allowed;
  /* 任意 */
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: default;
}

.contact-form__end-message,
.contact-form__false-message {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-form__end-message,
.contact-form__false-message {
    font-size: 1.4rem;
  }
}

.contact-form__end-message {
  display: none;
}

.contact-form__false-message {
  display: none;
}

/* 1) input を display:none から“見えないけどフォーカスできる”状態に */
.contact-form__checkbox-label input[type=checkbox] {
  display: block !important;
  /* 既存の display:none を打ち消す */
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  white-space: nowrap;
  opacity: 0;
  /* ← 視覚的に透明 */
  pointer-events: auto;
  /* ← クリック可に（以前のnoneを上書き） */
  display: block !important;
  /* 以前のdisplay:none対策 */
}

/* 2) Tabで入ったときだけフォーカスリングを出す */
.contact-form__checkbox-label:has(input[type=checkbox]:focus-visible) {
  outline: 2px solid #329FDA;
  outline-offset: 3px;
}

/* ネイティブチェック色（隠してない場合の保険） */
.contact-form__checkbox-label input[type=checkbox] {
  accent-color: #329FDA;
}

.sp-fixed-nav {
  background: linear-gradient(to right, #45B6F7, #3C47CE);
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.55);
  padding: 0.9rem 0 1.9rem;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  display: none;
}

@media screen and (max-width: 767px) {
  .sp-fixed-nav.is-active {
    display: block;
  }
}

.sp-fixed-nav__inner {
  padding: 0 3.7rem;
}

.sp-fixed-nav__content {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}

.sp-fixed-nav__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

.sp-fixed-nav__text .text-emphasis {
  color: #FFFC40;
}

.sp-fixed-nav__text .text-large {
  font-size: 2.5rem;
}

.sp-fixed-nav__text .text-small {
  font-size: 1rem;
}

.sp-fixed-nav__button .button__note {
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.1rem 0.7rem;
  border-radius: 0.7rem;
}

@media screen and (max-width: 767px) {
  .sp-fixed-nav__button .button__note::after {
    bottom: -0.6rem;
    width: 0.6rem;
    height: 0.6rem;
  }
}

.sp-fixed-nav__button .button__note-text {
  font-size: 0.7rem;
}

.sp-fixed-nav__button .button__link {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  padding: 1rem 2.6rem 1rem 1.7rem;
}

.sp-fixed-nav__button .button__icon {
  font-size: 0.8rem;
  height: 1.3rem;
  right: 0.9rem;
  width: 1.3rem;
}

.footer {
  padding: min(3.2rem, 32px) 0 min(1rem, 10px);
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 1.2rem 0 10rem;
  }
}

.footer__content {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: min(3.6rem, 36px);
}
@media screen and (max-width: 767px) {
  .footer__content {
    flex-direction: column;
    gap: 1.6rem;
  }
}

.footer__logo-img {
  aspect-ratio: 351/126;
  width: min(35.1rem, 351px);
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 767px) {
  .footer__logo-img {
    aspect-ratio: 199/72;
    width: 19.9rem;
  }
}

.footer__info-text {
  color: #2F2F2F;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .footer__info-text {
    font-size: 1.4rem;
    line-height: 1.7142857143;
    text-align: center;
  }
}

.footer__info-link {
  color: #2F2F2F;
  text-decoration: underline;
}

.footer__copyright {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(1.2rem, 12px);
  margin-top: min(2.5rem, 25px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .footer__copyright {
    font-size: 1.2rem;
    margin-top: 2.4rem;
  }
}

.thanks-page-header.header {
  position: static;
}

.thanks-content {
  background-image: url(../images/thanks-page-bg_pc.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: min(6.4rem, 64px) 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .thanks-content {
    background-image: url(../images/thanks-page-bg_sp.webp);
    padding: 4.2rem 0;
  }
}

.thanks-content__inner {
  margin: 0 auto;
  width: min(70rem, 700px);
}
@media screen and (max-width: 767px) {
  .thanks-content__inner {
    width: 32.6rem;
  }
}

.thanks-content__header {
  position: relative;
  text-align: center;
}

.thanks-content__back-text {
  color: #077FC2;
  font-size: min(15rem, 150px);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .thanks-content__back-text {
    font-size: 7.6rem;
  }
}

.thanks-content__title {
  color: #fff;
  font-size: min(4.8rem, 48px);
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .thanks-content__title {
    font-size: 3rem;
  }
}

.thanks-content__wrap {
  text-align: center;
}

.thanks-content__lead {
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  display: inline-block;
  color: #fff;
  margin-top: min(2rem, 20px);
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  padding: min(1rem, 10px) 0;
}
@media screen and (max-width: 767px) {
  .thanks-content__lead {
    font-size: 1.6rem;
    margin-top: 2rem;
    padding: 0.9rem 0;
  }
}

.thanks-content__text {
  color: #fff;
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  margin-top: min(2rem, 20px);
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .thanks-content__text {
    font-size: 1.3rem;
    margin-top: 1.5rem;
    line-height: 1.8461538462;
  }
}

.thanks-content__dl {
  margin-top: min(6.4rem, 64px);
}
@media screen and (max-width: 767px) {
  .thanks-content__dl {
    margin-top: 6.3rem;
  }
}

.thanks-content__button {
  margin-top: min(6.4rem, 64px);
}
@media screen and (max-width: 767px) {
  .thanks-content__button {
    margin-top: 6.3rem;
  }
}

.thanks-content__button .button__link {
  border-radius: min(7rem, 70px);
  padding: min(1.8rem, 18px) min(11.2rem, 112px);
}
@media screen and (max-width: 767px) {
  .thanks-content__button .button__link {
    border-radius: 7rem;
    padding: 1.4rem 11.1rem 1.4rem;
  }
}

.thanks-content__button .button__icon {
  right: 0;
  left: min(2rem, 20px);
}
@media screen and (max-width: 767px) {
  .thanks-content__button .button__icon {
    left: 1rem;
  }
}

.thanks-content__button .button__text {
  text-transform: uppercase;
}

.thanks-page-footer.footer {
  padding: min(3.2rem, 32px) 0 min(3.2rem, 32px);
}
@media screen and (max-width: 767px) {
  .thanks-page-footer.footer {
    padding: 1.2rem 0 1.2rem;
  }
}

.inner {
  margin: 0 auto;
  width: min(108rem, 1080px);
}
@media screen and (max-width: 767px) {
  .inner {
    width: 32.5rem;
  }
}

.section-title {
  text-align: center;
}

.section-title__en {
  color: #B3E7FF;
  font-size: min(8rem, 80px);
  font-weight: 900;
  line-height: 0.8;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .section-title__en {
    font-size: 4rem;
    line-height: 1;
  }
}

.section-title__ja {
  background: linear-gradient(90deg, #45B6F7 0%, #3C47CE 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(4.8rem, 48px);
  font-weight: 900;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .section-title__ja {
    font-size: 2.8rem;
    line-height: 1;
  }
}

.button {
  display: inline-block;
  position: relative;
  transition: transform 0.3s ease;
}

.button:hover {
  -webkit-animation: buttonBounce 1s ease-in-out infinite;
          animation: buttonBounce 1s ease-in-out infinite;
}

@-webkit-keyframes buttonBounce {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes buttonBounce {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
.button__note {
  background-color: #fff;
  display: inline-block;
  position: absolute;
  top: max(-3.4rem, -34px);
  left: 50%;
  transform: translateX(-50%);
  padding: min(0.5rem, 5px) min(1.5rem, 15px);
  border-radius: min(7rem, 70px);
  transition: opacity 0.3s;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .button__note {
    top: -2.8rem;
    padding: 0.3rem 1.5rem;
    border-radius: 3.4rem;
  }
}

.button__note-text {
  background: linear-gradient(90deg, #45B6F7 0%, #3C47CE 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-size: min(1.4rem, 14px);
  font-weight: 900;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .button__note-text {
    font-size: 1.3rem;
  }
}

.button__note::after {
  content: "";
  position: absolute;
  bottom: max(-1rem, -10px);
  left: 50%;
  transform: translateX(-50%);
  width: min(1rem, 10px);
  height: min(1rem, 10px);
  background-color: #fff;
  -webkit-clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
          clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .button__note::after {
    bottom: -1rem;
    width: 1rem;
    height: 1rem;
  }
}

.button__link {
  display: inline-flex;
  font-size: min(2rem, 20px);
  font-weight: 900;
  color: #fff;
  padding: min(1.9rem, 19px) min(5.3rem, 53px) min(1.7rem, 17px) min(3rem, 30px);
  position: relative;
  border-radius: min(3rem, 30px);
  white-space: nowrap;
  background: linear-gradient(to right, #FFA200, #FF00A9, #B100FF);
  box-shadow: inset 0 min(0.4rem, 4px) min(0.4rem, 4px) rgba(255, 255, 255, 0.5), 0 min(0.6rem, 6px) 0 #9a0068;
  transition: transform 0.3s ease;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .button__link {
    font-size: 1.8rem;
    gap: 0.8rem;
    padding: 2.1rem 5.2rem 1.4rem 4.1rem;
    border-radius: 3.4rem;
    box-shadow: inset 0 0.4rem 0.4rem rgba(255, 255, 255, 0.5), 0 0.5rem 0 #9a0068;
  }
}

.button__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(2.8rem, 28px);
  height: min(2.8rem, 28px);
  background-color: #fff;
  border-radius: 50%;
  color: #B100FF;
  font-weight: bold;
  font-size: min(1.4rem, 14px);
  position: absolute;
  top: 50%;
  right: min(1.2rem, 12px);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .button__icon {
    font-size: 1.4rem;
    width: 2.4rem;
    height: 2.4rem;
    right: 1.6rem;
  }
}

body.is-no-scroll {
  overflow: hidden;
}

@media screen and (max-width: 1000px) {
  .lg-none {
    display: none;
  }
}

.lg-show {
  display: none;
}
@media screen and (max-width: 1000px) {
  .lg-show {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .md-none {
    display: none;
  }
}

.md-show {
  display: none;
}
@media screen and (max-width: 767px) {
  .md-show {
    display: block;
  }
}

.sp-show {
  display: none;
}
@media screen and (max-width: 620px) {
  .sp-show {
    display: block;
  }
}

.no-scroll {
  overflow: hidden;
}