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

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

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

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

input,
button,
textarea,
select {
  font: inherit;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  font-size: 2rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: #202020;
  background-color: #FFFCF3;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

a {
  text-decoration: none;
  color: inherit;
  display: inline-block;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

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

.wrapper {
  width: 100%;
  max-width: 1000px;
  padding-inline: 24px;
  margin-inline: auto;
}
@media (max-width: 430px) {
  .wrapper {
    padding-inline: 20px;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 1000;
  padding: 8px 16px;
  background-color: #FF3C71;
  color: #FFFFFF;
  border-radius: 12px;
}
.skip-link:focus {
  top: 16px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: 70px;
  height: 70px;
  margin-top: 15px;
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
.breadcrumb {
  width: 100%;
  margin-block: 24px;
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
  color: #929292;
}
.breadcrumb__item {
  display: flex;
  align-items: center;
}
.breadcrumb__item:not(:last-child)::after {
  content: "/";
  margin-inline-start: 8px;
  color: #929292;
}
.breadcrumb__item a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .breadcrumb__item a:hover {
    opacity: 0.6;
  }
}
@media (max-width: 430px) {
  .breadcrumb__list {
    gap: 6px;
    font-size: 1.2rem;
  }
  .breadcrumb__item:not(:last-child)::after {
    margin-inline-start: 6px;
  }
}

.site-header {
  position: fixed;
  top: clamp(12px, 6.209px + 1.347vw, 20px);
  left: 0;
  width: 100%;
  z-index: 400;
  padding-inline: clamp(12px, 3.313px + 2.02vw, 24px);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1200px;
  margin-inline: auto;
  padding-block: 16px;
  padding-inline: clamp(20px, 5.522px + 3.367vw, 40px);
  background-color: #FFFFFF;
  border-radius: 60px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.site-header__logo img {
  height: clamp(32px, 29.87px + 2.357vw, 54px);
  width: clamp(130px, -29.61px + 15.945vw, 200px);
}
@media (max-width: 1000px) {
  .site-header__logo img {
    width: 200px;
  }
}
@media (max-width: 430px) {
  .site-header__logo img {
    width: auto;
  }
}

.global-nav {
  display: block;
}
@media (max-width: 1000px) {
  .global-nav {
    display: none;
  }
}
.global-nav__list {
  display: flex;
  gap: 30px;
  font-weight: 700;
  font-size: clamp(1.6rem, 1.714px + 1.429vw, 2rem);
}
.global-nav__list a[aria-current=page] {
  color: #FF3C71;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.hamburger {
  position: relative;
  display: none;
  width: 32px;
  height: 32px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}
@media (max-width: 1000px) {
  .hamburger {
    display: block;
  }
}
.hamburger__line {
  position: absolute;
  left: 50%;
  width: 24px;
  height: 2px;
  background-color: #202020;
  border-radius: 999px;
  transform: translateX(-50%);
  transition: top 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
}
.hamburger__line--top {
  top: 8px;
}
.hamburger__line--middle {
  top: 15px;
}
.hamburger__line--bottom {
  top: 22px;
}
.hamburger[aria-expanded=true] .hamburger__line--top {
  top: 15px;
  transform: translateX(-50%) rotate(45deg);
}
.hamburger[aria-expanded=true] .hamburger__line--middle {
  opacity: 0;
}
.hamburger[aria-expanded=true] .hamburger__line--bottom {
  top: 15px;
  transform: translateX(-50%) rotate(-45deg);
}

.language-switcher {
  position: relative;
}
.language-switcher__trigger {
  display: flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.language-switcher__trigger img {
  width: clamp(24px, 12.42px + 2.694vw, 40px);
  height: clamp(24px, 12.42px + 2.694vw, 40px);
  border-radius: 50%;
  border: 1px solid #E6E6E6;
  object-fit: cover;
}
.language-switcher__caret {
  width: 0;
  height: 0;
  flex-shrink: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #202020;
}
.language-switcher__list {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 140px;
  background-color: #FFFFFF;
  border: 1px solid #A9A9A9;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.language-switcher__list[hidden] {
  display: none;
}
.language-switcher__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1.4rem;
}
.language-switcher__list li:hover {
  background-color: #FFF2F7;
}
.language-switcher__list li[aria-selected=true] {
  font-weight: 700;
  color: #FF3C71;
}
.language-switcher__list li img {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid #E6E6E6;
  object-fit: cover;
}
.language-switcher__list li a {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  color: inherit;
  text-decoration: none;
}

.mobile-nav {
  position: fixed;
  inset: 0;
  z-index: 300;
  padding-inline: 24px;
  padding-block: 150px;
  overflow: hidden;
  display: none !important;
  flex-direction: column;
  width: 100%;
  height: 100dvh;
  transform: translateX(100%);
  transition: transform 0.35s ease;
}
.mobile-nav::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: rgba(255, 252, 243, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
@media (max-width: 1000px) {
  .mobile-nav {
    display: flex !important;
  }
}
.mobile-nav[hidden] {
  display: none !important;
}
.mobile-nav.is-open {
  transform: translateX(0);
  overflow-y: auto;
}
.mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-block-end: 32px;
}
.mobile-nav__logo img {
  height: 40px;
}
.mobile-nav__close {
  background: none;
  border: none;
  font-size: 4rem;
  cursor: pointer;
}
.mobile-nav__list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  margin-block: auto;
}
.mobile-nav__sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-block: 40px;
}
.mobile-nav__sns p {
  font-size: 1.6rem;
}
.mobile-nav__sns img {
  width: 40px;
  height: 40px;
}
.mobile-nav__sns .sns__icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.mobile-nav__download {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-align: center;
  padding: 16px;
  background-color: #0083F8;
  color: #FFFFFF;
  font-weight: 700;
  border-radius: 12px 12px 0 0;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
}
.mobile-nav__download img {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.site-footer {
  margin-top: 64px;
  padding-block: 80px 40px;
  padding-inline: clamp(24px, 4vw, 72px);
  border-top: 1px solid #A9A9A9;
}
.site-footer__inner {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: start;
  justify-content: space-between;
  column-gap: clamp(24px, 6vw, 60px);
  max-width: 1200px;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .site-footer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    text-align: center;
  }
}
.site-footer__brand {
  width: fit-content;
  min-width: 0;
}
.site-footer__brand p {
  font-size: clamp(1.4rem, 12.857px + 0.3571vw, 1.8rem);
  margin-block-end: 8px;
  white-space: nowrap;
}
.site-footer__brand > img {
  display: block;
  width: clamp(240px, 2v7w, 330px);
  height: auto;
  margin-block-end: 20px;
}
@media (max-width: 780px) {
  .site-footer__brand p {
    white-space: normal;
  }
  .site-footer__brand > img {
    margin-inline: auto;
  }
}
.site-footer__badges {
  display: flex;
  gap: clamp(12px, 2vw, 28px);
  width: fit-content;
}
.site-footer__badges a {
  display: block;
  flex-shrink: 0;
}
.site-footer__badges img {
  display: block;
  height: clamp(40px, 4vw, 52px);
  width: auto;
  margin: 0;
}
@media (max-width: 780px) {
  .site-footer__badges {
    justify-content: center;
    margin-inline: auto;
  }
}
.site-footer__nav {
  width: fit-content;
  min-width: 0;
}
.site-footer__nav ul {
  display: grid;
  grid-template-columns: max-content max-content;
  column-gap: clamp(24px, 3vw, 44px);
  row-gap: clamp(12px, 1vw, 16px);
  width: fit-content;
  margin-inline: auto;
  padding: 0;
  list-style: none;
  font-size: clamp(1.6rem, 14.857px + 0.3571vw, 2rem);
}
.site-footer__nav ul li {
  width: auto;
  min-width: 0;
}
.site-footer__nav ul li a {
  display: inline-block;
  width: auto;
  white-space: nowrap;
}
@media (max-width: 780px) {
  .site-footer__nav ul {
    justify-content: center;
  }
}
@media (max-width: 430px) {
  .site-footer__nav ul {
    column-gap: 32px;
  }
}
.site-footer__sns {
  width: fit-content;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-footer__sns p {
  font-size: clamp(1.6rem, 14.857px + 0.3571vw, 2rem);
  margin-block-end: 16px;
  white-space: nowrap;
}
.site-footer__sns > div {
  display: flex;
  gap: clamp(16px, 2vw, 32px);
  width: fit-content;
  justify-content: center;
}
.site-footer__sns a {
  display: block;
  flex-shrink: 0;
}
.site-footer__sns img {
  display: block;
  width: clamp(40px, 4vw, 48px);
  height: clamp(40px, 4vw, 48px);
  object-fit: contain;
}
@media (max-width: 780px) {
  .site-footer__sns {
    width: 100%;
  }
  .site-footer__sns > div {
    justify-content: center;
    margin-inline: auto;
  }
}
.site-footer__blog {
  display: block;
  width: 100%;
  margin-block-start: 16px;
  text-align: center;
}
.site-footer__blog-title {
  display: block;
  font-size: clamp(1.6rem, 14.857px + 0.3571vw, 2rem);
}
.site-footer__blog-sub {
  display: block;
  margin-block-start: 2px;
  font-size: 1.4rem;
  opacity: 0.7;
}
.site-footer__legal {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px clamp(16px, 2vw, 24px);
  margin-block-start: 48px;
}
.site-footer__legal a {
  font-size: clamp(1.4rem, 13.429px + 0.1786vw, 1.6rem);
  text-decoration: underline;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.site-footer__legal a:hover {
  opacity: 1;
}
@media (max-width: 780px) {
  .site-footer__legal a:last-child {
    flex-basis: 100%;
    text-align: center;
  }
}
.site-footer__copyright {
  margin-block-start: 16px;
  font-size: 1.2rem;
  text-align: center;
  opacity: 0.7;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  border-radius: 12px;
  transition: opacity 0.3s, transform 0.2s;
}
.btn:active {
  transform: scale(0.97);
}

.btn--primary {
  padding: 12px 32px;
  background-color: #FF3C71;
  color: #FFFFFF;
  border: 2px solid #FF3C71;
}
.btn--primary:hover {
  background-color: #FFFFFF;
  color: #FF3C71;
  opacity: 1;
}

.btn--outline {
  padding: 12px 24px;
  background-color: #FFFFFF;
  color: #202020;
  border: 1px solid #202020;
  box-shadow: 5px 5px 0 #202020;
  transition: opacity 0.3s, transform 0.2s, box-shadow 0.2s;
}
@media (max-width: 430px) {
  .btn--outline {
    width: 100%;
    justify-content: center;
  }
}
.btn--outline::after {
  content: "▶︎";
  font-size: 0.8em;
}
.btn--outline:hover {
  box-shadow: none;
  transform: translate(5px, 5px);
  opacity: 1;
}

.btn--store {
  height: 64px;
  padding: 0;
  border: none;
  border-radius: 0;
}
.btn--store img {
  display: block;
  width: auto;
  height: 100%;
}

.floating-dl {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 100;
  transform: translateY(-50%);
}
@media (min-width: 601px) {
  .floating-dl.is-download-page {
    display: none;
  }
}
.floating-dl__box {
  display: flex;
  align-items: stretch;
  background-color: #FFFFFF;
  border: 6px solid #0083F8;
  border-right: none;
  border-radius: 48px 0 0 48px;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .floating-dl__box {
    border-width: 5px;
    border-right: none;
    border-radius: 40px 0 0 40px;
  }
}
.floating-dl__trigger {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-shrink: 0;
  width: 72px;
  min-height: 320px;
  padding-block: 12px;
  padding-inline: 10px;
  border: none;
  background: none;
  color: #0083F8;
  font-family: "Poppins", sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.04em;
  cursor: pointer;
}
@media (max-width: 1023px) {
  .floating-dl__trigger {
    width: clamp(58px, 47.87px + 1.347vw, 72px);
    min-height: clamp(260px, 223.82px + 4.714vw, 320px);
    padding-block: 10px;
    padding-inline: 8px;
    font-size: clamp(1.8rem, 13.66px + 1.01vw, 2.4rem);
  }
}
@media (max-width: 600px) {
  .floating-dl__trigger {
    flex-direction: row;
    gap: 10px;
    width: 100%;
    min-height: 56px;
    padding: 10px 24px;
    font-size: 2rem;
  }
}
.floating-dl__text {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media (max-width: 600px) {
  .floating-dl__text {
    writing-mode: horizontal-tb;
    text-orientation: initial;
  }
}
.floating-dl__icon {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(42%) sepia(98%) saturate(2696%) hue-rotate(193deg) brightness(101%) contrast(101%);
}
@media (max-width: 600px) {
  .floating-dl__icon {
    width: 22px;
    height: 22px;
  }
}
.floating-dl__panel {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  width: 0;
  padding-inline: 0;
  overflow: hidden;
  transition: width 0.35s ease, padding-inline 0.35s ease;
}
.floating-dl__panel .btn--store {
  display: block;
  height: auto;
  width: 190px;
  flex-shrink: 0;
}
@media (max-width: 1023px) {
  .floating-dl__panel .btn--store {
    width: clamp(150px, 128.29px + 5.051vw, 190px);
  }
}
.floating-dl__panel .btn--store img {
  display: block;
  width: 100%;
  height: auto;
}
.floating-dl[data-open=true] .floating-dl__panel, .floating-dl:hover .floating-dl__panel, .floating-dl:focus-within .floating-dl__panel {
  width: 214px;
  padding-inline: 12px;
}
@media (max-width: 1023px) {
  .floating-dl[data-open=true] .floating-dl__panel, .floating-dl:hover .floating-dl__panel, .floating-dl:focus-within .floating-dl__panel {
    width: clamp(180px, 155.39px + 5.724vw, 214px);
    padding-inline: 10px;
  }
}
@media (max-width: 600px) {
  .floating-dl {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .floating-dl.is-past-hero {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .floating-dl.is-near-store-badges {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .floating-dl__box {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    background-color: #FFFFFF;
    border: 6px solid #0083F8;
    border-bottom: none;
    border-radius: 48px 48px 0 0;
    overflow: hidden;
  }
  .floating-dl__trigger {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 54px;
    padding-block: 10px;
    padding-inline: 16px;
    background: none;
    border: none;
    color: #0083F8;
    font-family: "Poppins", sans-serif;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
    border-radius: 0;
    cursor: pointer;
  }
  .floating-dl__text {
    writing-mode: horizontal-tb;
    text-orientation: initial;
  }
  .floating-dl__panel {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-height: 0;
    padding-inline: 20px;
    padding-block: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, padding-block 0.3s ease, opacity 0.25s ease;
  }
  .floating-dl__panel .btn--store {
    display: block;
    width: calc((100% - 12px) / 2);
    max-width: 160px;
    flex-shrink: 1;
  }
  .floating-dl__panel .btn--store img {
    display: block;
    width: 100%;
    height: auto;
  }
  .floating-dl[data-open=true] .floating-dl__panel {
    width: 100%;
    max-height: 110px;
    padding-block: 16px;
    opacity: 1;
  }
}

@media (max-width: 600px) {
  body {
    padding-bottom: 56px;
  }
}
@media (min-width: 880px) {
  .floating-dl__panel--store {
    display: none !important;
  }
}

.floating-dl__panel--qr {
  display: none;
}
@media (min-width: 880px) {
  .floating-dl__panel--qr {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
  }
}
@media (min-width: 880px) and (max-width: 1023px) {
  .floating-dl__panel--qr {
    gap: 16px;
  }
}

.floating-dl__qr {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  position: relative;
}
.floating-dl__qr:nth-child(2)::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 120px;
  border-top: 1px dashed #E6E6E6;
}
@media (max-width: 1023px) {
  .floating-dl__qr:nth-child(2)::before {
    top: -8px;
  }
}
.floating-dl__qr-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  flex-shrink: 0;
  border: 1px solid #E6E6E6;
  border-radius: 8px;
  background-color: #FFFFFF;
  overflow: hidden;
}
.floating-dl__qr-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 1023px) {
  .floating-dl__qr-frame {
    width: 100px;
    height: 100px;
  }
}
.floating-dl__qr-caption {
  color: #202020;
  font-size: 1.1rem;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 1023px) {
  .floating-dl__qr-caption {
    font-size: 1rem;
  }
}

.legal-hero {
  padding-top: 200px;
  padding-bottom: 60px;
}
@media (max-width: 430px) {
  .legal-hero {
    padding-top: 160px;
    padding-bottom: 40px;
  }
}
.legal-hero__inner {
  max-width: 760px;
  margin-inline: auto;
  text-align: left;
}
.legal-hero__title {
  font-size: clamp(3.2rem, 20.42px + 2.694vw, 4.8rem);
  font-weight: 700;
}
@media (max-width: 430px) {
  .legal-hero__title {
    font-size: 2.8rem;
  }
}
.legal-hero__meta {
  margin-block-start: 16px;
  font-size: 2rem;
  color: #202020;
  line-height: 1.8;
}
@media (max-width: 430px) {
  .legal-hero__meta {
    margin-block-start: 8px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

.legal-doc {
  padding-block-end: clamp(60px, 31.04px + 6.734vw, 100px);
}
.legal-doc__inner {
  max-width: 760px;
  margin-inline: auto;
  font-size: 1.6rem;
  line-height: 1.9;
}
.legal-doc__inner p {
  margin-block: 16px 0;
}
.legal-doc__inner ul {
  margin-block: 16px 0;
  padding-inline-start: 24px;
}
.legal-doc__inner ul li {
  list-style: disc;
  margin-block-end: 8px;
}
.legal-doc__inner h2 {
  font-size: clamp(2.2rem, 20.55px + 0.3367vw, 2.4rem);
  font-weight: 700;
  margin-block-start: 56px;
  margin-block-end: 16px;
  padding-inline-start: 12px;
  border-inline-start: 6px solid #0083F8;
  line-height: 1.3;
}
.legal-doc__inner h2:first-child {
  margin-block-start: 0;
}
.legal-doc__inner h3 {
  font-size: clamp(1.8rem, 16.55px + 0.3367vw, 2rem);
  font-weight: 700;
  margin-block-start: 32px;
  margin-block-end: 12px;
}
.legal-doc__inner a {
  color: #0083F8;
  text-decoration: underline;
}
.legal-doc__inner > p:first-child {
  margin-block-start: 0;
}
.legal-doc__intro {
  max-width: 760px;
  margin-inline: auto;
  margin-block-end: 40px;
  font-size: 1.6rem;
  line-height: 1.9;
}
.legal-doc__intro p {
  margin-block-end: 16px;
}

.sub-hero {
  position: relative;
  overflow: hidden;
  margin-block-start: 0;
}
.sub-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 460px;
  z-index: -2;
}
@media (max-width: 430px) {
  .sub-hero::before {
    display: none;
  }
}
.sub-hero::after {
  content: "";
  position: absolute;
  top: 250px;
  left: 50%;
  transform: translateX(-50%);
  width: 2680px;
  height: 2680px;
  border-radius: 50%;
  background-color: #fffcf3;
  z-index: -1;
}
@media (max-width: 430px) {
  .sub-hero::after {
    display: none;
  }
}
.sub-hero__map {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1440px;
  height: auto;
  aspect-ratio: 1280/500;
  max-height: 460px;
  object-fit: cover;
  object-position: bottom;
  z-index: 0;
}
@media (max-width: 430px) {
  .sub-hero__map {
    aspect-ratio: 393/235;
    max-height: none;
  }
}
.sub-hero__inner {
  position: relative;
  z-index: 2;
  text-align: center;
  padding-block-start: clamp(180px, 39.0625vw - 100px, 360px);
}
@media (max-width: 430px) {
  .sub-hero__inner {
    padding-block-start: 200px;
  }
}
.sub-hero__eyebrow {
  display: block;
  width: 196px;
  aspect-ratio: 220/70;
  margin-inline: auto;
  margin-block-end: -16px;
  overflow: visible;
}
.sub-hero__eyebrow text {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  fill: #0083F8;
  letter-spacing: 0.04em;
}
.sub-hero__heading {
  font-size: clamp(2.4rem, 6.626px + 4.04vw, 4.8rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-block-end: 24px;
}
.sub-hero__heading a {
  color: inherit;
  text-decoration: none;
}
.sub-hero__lead {
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  line-height: 1.4;
  margin-block-end: 24px;
}

@media (min-width: 1441px) {
  .sub-hero::before {
    height: 600px;
  }
  .sub-hero::after {
    top: 355px;
    width: max(6045px, 320vw);
    height: max(6045px, 320vw);
  }
  .sub-hero__map {
    max-width: 2560px;
    aspect-ratio: 2560/600;
    max-height: 600px;
  }
  .sub-hero__inner {
    padding-block-start: 430px;
  }
}
.cookie-consent {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 500;
  display: flex;
  justify-content: center;
  padding: 16px;
  padding-block-end: calc(16px + env(safe-area-inset-bottom, 0px));
}
.cookie-consent[hidden] {
  display: none;
}
.cookie-consent__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  max-width: 1100px;
  padding: 20px 24px;
  background-color: #FFFFFF;
  border: 1px solid #E6E6E6;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
@media (max-width: 430px) {
  .cookie-consent__inner {
    flex-direction: column;
    align-items: stretch;
    padding: 16px 20px;
  }
}
.cookie-consent__text {
  flex: 1;
  min-width: 0;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #202020;
}
.cookie-consent__text a {
  color: #0083F8;
  text-decoration: underline;
}
.cookie-consent__text a:hover {
  opacity: 0.7;
}
.cookie-consent__actions {
  display: flex;
  flex-shrink: 0;
  gap: 12px;
}
@media (max-width: 430px) {
  .cookie-consent__actions {
    justify-content: center;
  }
}
.cookie-consent__accept, .cookie-consent__decline {
  padding: 10px 20px;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 12px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.cookie-consent__accept:hover, .cookie-consent__decline:hover {
  opacity: 0.85;
}
.cookie-consent__accept {
  color: #FFFFFF;
  background-color: #FF3C71;
  border: none;
}
.cookie-consent__decline {
  color: #202020;
  background-color: transparent;
  border: 1px solid #E6E6E6;
}

.hero {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  margin-block-start: 0;
  background-color: #FFFCF3;
}
@media (max-width: 780px) {
  .hero {
    height: 900px;
  }
}
@media (max-width: 600px) {
  .hero {
    height: 700px;
  }
}
.hero__inner {
  position: relative;
  z-index: 1;
  width: min(100%, 1440px);
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  --hero-pad-top: clamp(200px, 20vw, 400px);
  --hero-pad-bottom: 60px;
  padding-block-start: var(--hero-pad-top);
  padding-block-end: var(--hero-pad-bottom);
}
@media (max-width: 780px) {
  .hero__inner {
    --hero-pad-top: 200px;
    padding-inline: 32px;
  }
}
@media (max-width: 600px) {
  .hero__inner {
    --hero-pad-top: 200px;
    --hero-pad-bottom: 40px;
    padding-inline: 32px;
    height: 700px;
  }
}
@media (max-width: 430px) {
  .hero__inner {
    --hero-pad-top: 180px;
    padding-inline: 24px;
  }
}
.hero__deco {
  position: absolute;
  z-index: 0;
  display: block;
  height: auto;
  pointer-events: none;
  top: clamp(-250px, -16vw, -120px);
  left: clamp(-220px, -12vw, -80px);
  width: clamp(300px, 33.333vw, 480px);
}
@media (max-width: 780px) {
  .hero__deco {
    top: clamp(-180px, 168.6px - 44.693vw, -100px);
    left: -100px;
    width: clamp(250px, 46vw, 360px);
  }
}
@media (max-width: 600px) {
  .hero__deco {
    top: -120px;
    left: -70px;
    width: clamp(230px, 60vw, 290px);
  }
}
@media (max-width: 430px) {
  .hero__deco {
    top: -140px;
    left: -65px;
    width: clamp(220px, 68vw, 270px);
  }
}
.hero__phones {
  position: absolute;
  z-index: 0;
  display: block;
  height: auto;
  max-width: none;
  pointer-events: none;
  top: calc(var(--hero-pad-top) + (100% - var(--hero-pad-top) - var(--hero-pad-bottom)) / 2);
  transform: translateY(-50%);
  right: clamp(-100px, -4vw, 0px);
  width: clamp(650px, 58vw, 840px);
}
@media (min-width: 781px) and (max-width: 1029px) {
  .hero__phones {
    right: calc(-784px + 64.52vw);
  }
}
@media (max-width: 780px) {
  .hero__phones {
    right: -130px;
    width: 70vw;
  }
}
@media (max-width: 600px) {
  .hero__phones {
    top: auto;
    bottom: 0;
    transform: none;
    right: -135px;
    width: 70vw;
  }
}
@media (max-width: 430px) {
  .hero__phones {
    right: -120px;
    width: 80vw;
  }
}
.hero__content {
  position: relative;
  z-index: 2;
  width: min(620px, 47vw);
  margin-inline-start: clamp(60px, 7.8vw, 100px);
}
@media (max-width: 780px) {
  .hero__content {
    width: min(100%, 520px);
    margin-inline-start: 0;
  }
}
@media (max-width: 600px) {
  .hero__content {
    width: 100%;
  }
}
@media (max-width: 430px) {
  .hero__content {
    width: 100%;
  }
}
.hero__heading {
  margin: 0 0 24px;
  font-size: clamp(1.4rem, 10.52px + 0.658vw, 2.4rem);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 780px) {
  .hero__heading {
    font-size: clamp(1.8rem, 3vw, 2.4rem);
  }
}
@media (max-width: 600px) {
  .hero__heading {
    margin-block-end: 14px;
    font-size: clamp(1.7rem, 3.5vw, 2rem);
    line-height: 1.4;
  }
}
@media (max-width: 430px) {
  .hero__heading {
    font-size: clamp(1.6rem, 4.4vw, 1.9rem);
  }
}
.hero__logo {
  display: block;
  width: min(clamp(240px, 26vw, 378px), 100%);
  height: auto;
  margin-block-start: 12px;
}
@media (max-width: 780px) {
  .hero__logo {
    width: min(100%, 390px);
    margin-block-start: 14px;
  }
}
@media (max-width: 741px) and (min-width: 601px) {
  .hero__logo {
    width: 300px;
  }
}
@media (max-width: 600px) {
  .hero__logo {
    width: min(320px, 74vw);
    margin-block-start: 8px;
  }
}
@media (max-width: 430px) {
  .hero__logo {
    width: min(300px, 80vw);
    margin-block-start: 6px;
  }
}
.hero__lead {
  position: relative;
  z-index: 2;
  margin: 0 0 28px;
  font-size: clamp(1.4rem, 7.76px + 0.878vw, 2.4rem);
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 780px) {
  .hero__lead {
    width: min(100%, 300px);
    margin-block-start: 56px;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.5;
  }
}
@media (max-width: 600px) {
  .hero__lead {
    width: min(65%, 290px);
    margin-block-start: 34px;
    margin-block-end: 22px;
    font-size: clamp(1.6rem, 3.5vw, 1.9rem);
    line-height: 1.6;
  }
}
@media (max-width: 430px) {
  .hero__lead {
    width: 70%;
    margin-block-start: 30px;
    font-size: clamp(1.5rem, 4vw, 1.7rem);
    line-height: 1.5;
  }
}
.hero .sp-only {
  display: none;
}
@media (max-width: 780px) {
  .hero .sp-only {
    display: inline;
  }
}
.hero__badges {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 780px) {
  .hero__badges {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-block-start: 40px;
  }
}
@media (max-width: 600px) {
  .hero__badges {
    gap: 16px;
    margin-block-start: 24px;
  }
}
@media (max-width: 430px) {
  .hero__badges {
    gap: 14px;
    margin-block-start: 20px;
  }
}
.hero__badges .btn--store {
  display: block;
  flex-shrink: 0;
  height: 56px;
}
@media (max-width: 780px) {
  .hero__badges .btn--store {
    height: clamp(56px, 8vw, 72px);
  }
}
@media (max-width: 600px) {
  .hero__badges .btn--store {
    height: clamp(48px, 11vw, 58px);
  }
}
@media (max-width: 430px) {
  .hero__badges .btn--store {
    height: clamp(46px, 13vw, 54px);
  }
}
.hero__badges img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
}

.intro {
  padding-block: clamp(60px, -72.39px + 16.84vw, 100px);
  --intro-visual-width: clamp(300px,
          calc(181.5px + 15.175vw),
          400px);
  --intro-visual-gap: 48px;
}
.intro__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 73.37px - 4.04vw, 56px);
}
.intro__head {
  margin-bottom: clamp(0px, -72.39px + 16.84vw, 100px);
}
@media (max-width: 780px) {
  .intro__head {
    margin-bottom: 40px;
  }
}
@media (max-width: 430px) {
  .intro__head {
    margin-bottom: 32px;
  }
}
.intro__content {
  position: relative;
  padding-inline-start: calc(var(--intro-visual-width) + var(--intro-visual-gap));
}
@media (max-width: 780px) {
  .intro__content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-inline-start: 0;
  }
}
.intro__content h2 {
  width: fit-content;
  font-size: clamp(24px, 15.31px + 2.02vw, 36px);
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: #FF3C71;
  text-decoration-thickness: 4px;
  text-underline-offset: 10px;
  margin-block-end: clamp(24px, 13.66px + 2.404vw, 40px);
}
@media (max-width: 780px) {
  .intro__content h2 {
    order: 1;
    width: 100%;
    margin-block-end: 32px;
    text-align: center;
  }
}
@media (max-width: 430px) {
  .intro__content h2 {
    font-size: 2.3rem;
    line-height: 1.55;
    text-decoration-thickness: 3px;
    text-underline-offset: 7px;
    margin-block-end: 24px;
  }
}
.intro__content > p {
  font-size: clamp(16px, 13.1px + 0.6734vw, 20px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
@media (max-width: 780px) {
  .intro__content > p {
    order: 3;
    width: 100%;
    text-align: left;
    line-height: 1.65;
  }
}
@media (max-width: 430px) {
  .intro__content > p {
    font-size: 1.6rem;
    line-height: 1.65;
    margin-block-end: 0;
  }
}
.intro__illustration {
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--intro-visual-width);
  transform: translateY(-50%);
}
@media (max-width: 780px) {
  .intro__illustration {
    position: static;
    order: 2;
    width: 50vw;
    margin-inline: auto;
    margin-block-end: 40px;
    transform: none;
  }
}
@media (max-width: 430px) {
  .intro__illustration {
    margin-block-end: 32px;
  }
}
.intro__illustration img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.intro__illustration img.is-visible {
  opacity: 1;
  transform: scale(1);
}

.stat-grid {
  display: flex;
  flex-direction: column;
  gap: clamp(40px, 27.69px + 2.862vw, 57px);
  margin-block-start: 32px;
}
.stat-grid__row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  row-gap: clamp(16px, 57.37px - 4.04vw, 40px);
  column-gap: clamp(16px, 29.79px - 1.347vw, 24px);
}
@media (max-width: 430px) {
  .stat-grid__row {
    justify-content: unset;
  }
}
@media (max-width: 430px) {
  .stat-grid__row--top {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 430px) {
  .stat-grid__row--bottom {
    flex-direction: column;
  }
}

.stat-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #FFFFFF;
  border: 3px solid #FF3C71;
  border-radius: 12px;
  box-shadow: 4px 4px 0 #FF3C71;
  padding-inline: 16px;
  padding-block: 24px;
  text-align: center;
}
.stat-box--sm {
  width: 280px;
}
@media (max-width: 430px) {
  .stat-box--sm {
    width: unset;
  }
}
.stat-box--lg {
  width: 380px;
}
@media (max-width: 430px) {
  .stat-box--lg {
    width: unset;
    grid-column: 1/-1;
  }
}
.stat-grid__row--bottom > .stat-box {
  flex: 1 1 0;
}
@media (max-width: 430px) {
  .stat-grid__row--bottom > .stat-box {
    flex: unset;
  }
}
.stat-box__tag {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  width: max-content;
  max-width: calc(100% + 24px);
  background-color: #FF3C71;
  color: #FFFFFF;
  font-size: clamp(16px, 13.1px + 0.6734vw, 20px);
  font-weight: 700;
  padding: 6px 18px;
  border-radius: 8px;
  white-space: normal;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, calc(-100% + 6px)) scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.stat-box__tag::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid #FF3C71;
}
.stat-box__tag.is-visible {
  opacity: 1;
  transform: translate(-50%, calc(-100% + 6px)) scale(1);
}
.stat-box__value {
  font-size: clamp(16px, 13.1px + 0.6734vw, 20px);
  font-weight: 500;
  line-height: 1.219;
  letter-spacing: 0.08em;
}
.stat-box__value strong {
  display: block;
  font-size: clamp(24px, 18.21px + 1.347vw, 32px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 0.08em;
}
.stat-box__list {
  text-align: left;
  font-size: clamp(16px, 13.1px + 0.6734vw, 20px);
  font-weight: 500;
  line-height: 1.219;
  letter-spacing: 0.08em;
}
.stat-box__chart {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.stat-box__chart img {
  width: 140px;
  flex-shrink: 0;
}
.stat-box__legend {
  text-align: left;
  font-size: clamp(16px, 13.1px + 0.6734vw, 20px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.08em;
}
.stat-box__legend strong {
  font-weight: 500;
}
.stat-box__note {
  font-size: clamp(13px, 10.83px + 0.5051vw, 16px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.08em;
  opacity: 0.7;
}
.stat-box img {
  max-width: 200px;
  margin-inline: auto;
}

.banner__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(32px, 4vw, 64px);
  padding-block: clamp(30px, 22.76px + 1.684vw, 40px);
  padding-inline: clamp(16px, -18.75px + 8.081vw, 64px);
}
@media (max-width: 780px) {
  .banner__inner {
    flex-direction: column;
    gap: 24px;
    padding-inline: 24px;
  }
}
@media (max-width: 430px) {
  .banner__inner {
    gap: 20px;
    padding-inline: 16px;
  }
}
.banner__visual {
  flex: 0 0 380px;
}
@media (max-width: 780px) {
  .banner__visual {
    flex: none;
    width: 100%;
  }
}
.banner__visual img {
  display: block;
  width: 380px;
  height: auto;
  max-width: 100%;
  margin-inline: auto;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.banner__visual img.is-visible {
  opacity: 1;
  transform: scale(1);
}
.banner__content {
  min-width: 0;
  flex: 1;
  max-width: 620px;
}
@media (max-width: 780px) {
  .banner__content {
    flex: none;
    width: 100%;
    max-width: 600px;
  }
}
.banner__content .btn--outline {
  display: flex;
  width: fit-content;
  max-width: 100%;
  white-space: normal;
  margin-inline: auto;
}
.banner__heading {
  font-size: clamp(24px, 15.31px + 2.02vw, 36px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  margin-block-end: 12px;
  white-space: nowrap;
}
@media (max-width: 780px) {
  .banner__heading {
    white-space: normal;
    text-align: center;
  }
}
@media (max-width: 430px) {
  .banner__heading {
    font-size: 2rem;
  }
}
.banner__content p:not(.banner__heading) {
  font-size: clamp(16px, 13.1px + 0.6734vw, 20px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  margin-block-end: 20px;
}

.marquee {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  white-space: nowrap;
  padding-block: 12px;
}

.marquee__track {
  display: flex;
  width: max-content;
  align-items: center;
  gap: clamp(40px, -13.57px + 12.46vw, 114px);
  animation: marquee-scroll 20s linear infinite;
  will-change: transform;
}

.marquee img {
  display: block;
  width: min(696px, 90vw);
  max-width: none;
  height: auto;
  aspect-ratio: 696/162.58;
  flex: 0 0 auto;
}

@keyframes marquee-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.section-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0px, -8.687px + 2.02vw, 12px);
  text-align: center;
  margin-block-end: clamp(40px, 67.58px - 2.694vw, 56px);
  --title-accent: #FF3C71;
  --title-accent-shadow: rgba(255, 60, 113, 0.3);
  --title-dot: #FF3C71;
}
.section-title__deco {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(4.8rem, 16vw, 12.8rem);
  line-height: 1.4;
  letter-spacing: 0;
  color: #FFFFFF;
  -webkit-text-stroke: 1px #202020;
  text-shadow: 6px 6px 0 rgba(32, 32, 32, 0.3);
}
@media (max-width: 430px) {
  .section-title__deco {
    font-size: clamp(5rem, 20.909px + 9.091vw, 6rem);
  }
}
.section-title__deco-first {
  color: var(--title-accent);
  text-shadow: 6px 6px 0 var(--title-accent-shadow);
}
.section-title__sub {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: clamp(1.6rem, 4.418px + 2.694vw, 3.2rem);
  line-height: 1.4;
  letter-spacing: 0;
}
.section-title__dot {
  display: inline-block;
  width: clamp(10px, -8.822px + 4.377vw, 36px);
  height: clamp(10px, -8.822px + 4.377vw, 36px);
  border-radius: 50%;
  background-color: var(--title-dot);
  flex-shrink: 0;
}
.section-title--reason {
  --title-accent: #FF3C71;
  --title-accent-shadow: rgba(255, 60, 113, 0.3);
  --title-dot: #FF3C71;
}
.section-title--service {
  --title-accent: #FF3C71;
  --title-accent-shadow: rgba(255, 60, 113, 0.3);
  --title-dot: #FF3C71;
}
.section-title--step {
  --title-accent: #FFE940;
  --title-accent-shadow: rgba(255, 233, 64, 0.3);
  --title-dot: #FFE940;
}
.section-title--voice {
  --title-accent: #FF3C71;
  --title-accent-shadow: rgba(255, 60, 113, 0.3);
  --title-dot: #FF3C71;
}
.section-title--faq {
  --title-accent: #0083F8;
  --title-accent-shadow: rgba(0, 131, 248, 0.3);
  --title-dot: #0083F8;
}

.reason__divider {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1280/240;
}
.reason__divider--top {
  margin-block-start: clamp(32px, -17.23px + 11.45vw, 100px);
}

.reason {
  background-color: #FFE940;
  padding-bottom: 60px;
  padding-block: 80px 140px 100px;
}
@media (max-width: 430px) {
  .reason {
    padding-block: unset;
    padding-bottom: 60px;
  }
}
.reason .wrapper {
  max-width: 1120px;
}
@media (max-width: 430px) {
  .reason .wrapper {
    padding-inline: 20px;
  }
}
.reason__list {
  display: flex;
  flex-direction: column;
  gap: clamp(40px, 81.37px - 4.04vw, 64px);
}
.reason__item {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 33px;
  max-width: 1120px;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .reason__item {
    flex-direction: column;
    align-items: center;
  }
}
.reason__item--reverse {
  flex-direction: row-reverse;
}
@media (max-width: 780px) {
  .reason__item--reverse {
    flex-direction: column;
  }
}
.reason__item--reverse .reason__illustration {
  margin-inline-start: -90px;
}
@media (max-width: 780px) {
  .reason__item--reverse .reason__illustration {
    margin-inline-start: 0;
  }
}
.reason__bg {
  display: block;
  pointer-events: none;
  position: absolute;
  animation: reason-bg-wobble 8s ease-in-out infinite;
}
@media (max-width: 780px) {
  .reason__bg {
    display: none;
    animation: none;
  }
}
.reason__bg--01 {
  top: -100px;
  left: -260px;
  animation-duration: 7s;
}
.reason__bg--02 {
  top: 80px;
  right: -130px;
  animation-duration: 5.5s;
  animation-delay: -3s;
}
.reason__bg--03 {
  bottom: -10px;
  left: -170px;
  animation-duration: 6.5s;
  animation-delay: -1.5s;
}
.reason__bg--04 {
  bottom: 10px;
  right: -400px;
  animation-duration: 8s;
  animation-delay: -5s;
}
.reason__illustration {
  position: relative;
  z-index: 2;
  max-width: 364px;
  height: auto;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media (max-width: 780px) {
  .reason__illustration {
    position: absolute;
    z-index: 3;
    max-width: none;
    margin: 0;
  }
}
.reason__illustration--01 {
  transform: rotate(-8deg) scale(0.6);
}
.reason__illustration--01.is-visible {
  opacity: 1;
  transform: rotate(-8deg) scale(1);
}
@media (max-width: 780px) {
  .reason__illustration--01 {
    top: -36px;
    right: 10px;
    width: 100px;
    transform: scale(0.6);
  }
  .reason__illustration--01.is-visible {
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width: 430px) {
  .reason__illustration--01 {
    top: -34px;
    right: 10px;
    width: 105px;
  }
}
.reason__illustration--02 {
  transform: rotate(-1.36deg) scale(0.6);
}
.reason__illustration--02.is-visible {
  opacity: 1;
  transform: rotate(-1.36deg) scale(1);
}
@media (max-width: 780px) {
  .reason__illustration--02 {
    top: -48px;
    right: 10px;
    width: 140px;
    transform: scale(0.6);
  }
  .reason__illustration--02.is-visible {
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width: 430px) {
  .reason__illustration--02 {
    top: -42px;
    right: 8px;
    width: 120px;
  }
}
.reason__illustration--03 {
  transform: rotate(-3.36deg) scale(0.6);
}
.reason__illustration--03.is-visible {
  opacity: 1;
  transform: rotate(-3.36deg) scale(1);
}
@media (max-width: 780px) {
  .reason__illustration--03 {
    top: -48px;
    right: 16px;
    width: 110px;
    transform: scale(0.6);
  }
  .reason__illustration--03.is-visible {
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width: 430px) {
  .reason__illustration--03 {
    top: -40px;
    right: 12px;
    width: 95px;
  }
}

@keyframes reason-bg-wobble {
  0% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
  20% {
    transform: translate(14px, -16px) rotate(6deg) scale(1.07);
  }
  40% {
    transform: translate(-12px, -4px) rotate(-5deg) scale(0.96);
  }
  60% {
    transform: translate(-8px, 14px) rotate(4deg) scale(1.05);
  }
  80% {
    transform: translate(12px, 8px) rotate(-3deg) scale(0.98);
  }
  100% {
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
}
.card {
  background-color: #FFFFFF;
  border-radius: 12px;
  padding: 24px;
}

.card--reason {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  text-align: left;
  border-radius: 15px;
  padding-inline: clamp(24px, -22.33px + 10.77vw, 88px);
  padding-block: clamp(24px, -4.956px + 6.734vw, 64px);
  flex: 1;
}
@media (max-width: 430px) {
  .card--reason {
    flex: unset;
  }
}
.card--reason .card__eyebrow {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  color: #B9B9B9;
  font-size: clamp(2rem, 11.31px + 2.02vw, 3.2rem);
}
.card--reason .card__eyebrow span {
  color: #FF3C71;
  font-size: clamp(3.6rem, 15.73px + 4.714vw, 6.4rem);
  opacity: 1;
  font-style: italic;
}
.card--reason .card__title {
  font-size: clamp(1.8rem, 3vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.07em;
  line-height: 1.4;
}
@media (max-width: 430px) {
  .card--reason .card__title {
    font-size: 2rem;
  }
}
.card--reason .card__body {
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  line-height: 1.5;
}

.service {
  padding-block: clamp(40px, 25.52px + 3.367vw, 60px);
}
.service__box {
  max-width: 1000px;
  margin-inline: auto;
  background-color: #FFFFFF;
  padding-block: clamp(40px, 34.21px + 1.347vw, 48px);
  padding-inline: clamp(20px, -44.42px + 12.162vw, 80px);
}
@media (max-width: 430px) {
  .service .section-title {
    margin-block-end: 32px;
  }
}
.service__inner {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 64px;
}
@media (max-width: 880px) {
  .service__inner {
    flex-direction: column;
    align-items: unset;
  }
}
.service__mockup {
  width: clamp(250px, 219.7px + 3.03vw, 280px);
  height: auto;
  margin-inline: auto;
  flex-shrink: 0;
  margin-block-start: 16px;
}
@media (max-width: 880px) {
  .service__mockup {
    margin-block-start: 0;
  }
}
.service__content {
  text-align: left;
  flex: 1;
  min-width: 0;
}
@media (max-width: 430px) {
  .service__content {
    flex: unset;
  }
}

.service-tabs__hint {
  text-align: center;
  color: #FF3C71;
  font-size: 1.4rem;
  font-weight: 500;
  margin-block-end: 28px;
}
.service-tabs__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: fit-content;
  margin-block-end: 32px;
  margin-block-start: 48px;
}
@media (max-width: 880px) {
  .service-tabs__list {
    width: min(100%, 500px);
    justify-content: center;
    gap: 12px;
    margin-inline: auto;
  }
}
@media (max-width: 430px) {
  .service-tabs__list {
    width: 100%;
    gap: 8px;
  }
}
.service-tabs__list button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(48px, 47.31px + 2.02vw, 68px);
  aspect-ratio: 1/1;
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid #A9A9A9;
  background-color: #FFFFFF;
  color: #A9A9A9;
  padding: clamp(9px, 6.1px + 0.673vw, 13px);
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s, transform 0.25s ease;
}
@media (max-width: 880px) {
  .service-tabs__list button {
    width: calc((100% - 48px) / 5);
    max-width: 64px;
    min-width: 0;
  }
}
@media (max-width: 430px) {
  .service-tabs__list button {
    width: calc((100% - 20px) / 5);
    max-width: 58px;
  }
}
.service-tabs__list button svg {
  display: block;
  width: 100%;
  height: 100%;
}
.service-tabs__list button:hover, .service-tabs__list button[aria-selected=true] {
  border-color: #FF3C71;
  color: #FF3C71;
}
@media (hover: hover) and (pointer: fine) {
  .service-tabs__list button:hover:not([aria-selected=true]) {
    transform: translateY(-4px);
  }
  .service-tabs__list button:hover .service-tabs__guide-label {
    visibility: hidden;
  }
}
.service-tabs__guide {
  display: contents;
}
.service-tabs__guide-label {
  position: absolute;
  top: -28px;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%) scale(0.6);
  opacity: 0;
  padding: 2px 10px;
  border-radius: 999px;
  background-color: #FF3C71;
  color: #FFFFFF;
  font-size: 1.1rem;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: none;
}
.service-tabs__guide-label::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #FF3C71;
}
.service-tabs__guide-label-pc {
  display: inline;
}
.service-tabs__guide-label-sp {
  display: none;
}
@media (max-width: 880px) {
  .service-tabs__guide-label-pc {
    display: none;
  }
  .service-tabs__guide-label-sp {
    display: inline;
  }
}
.service-tabs__guide.is-visible .service-tabs__guide-label {
  animation: service-tabs-guide-pop 0.4s ease-out forwards, service-tabs-tip-bounce 1.4s ease-in-out 0.4s infinite;
}
.service-tabs__panels {
  text-align: left;
}
@media (max-width: 880px) {
  .service-tabs__panels {
    width: min(100%, 500px);
    margin-inline: auto;
    text-align: center;
  }
}
.service-tabs__panels h3 {
  display: inline-block;
  font-size: clamp(2rem, 5.522px + 3.367vw, 3rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  border-bottom: 3px dotted #FF3C71;
  padding-block-end: 8px;
  margin-block-end: 16px;
}
@media (max-width: 880px) {
  .service-tabs__panels h3 {
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }
}
.service-tabs__panels p {
  font-size: clamp(1.5rem, 10.21px + 1.347vw, 2.4rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media (max-width: 880px) {
  .service-tabs__panels p {
    width: 100%;
    text-align: center;
  }
}

@keyframes service-tabs-tip-bounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-2px);
  }
}
@keyframes service-tabs-guide-pop {
  0% {
    opacity: 0;
    transform: translateX(-50%) scale(0.6);
  }
  60% {
    opacity: 1;
    transform: translateX(-50%) scale(1.08);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) scale(1);
  }
}
.step-divider {
  display: block;
  width: 100%;
  height: auto;
}
.step-divider--top {
  aspect-ratio: 1280/317;
}
.step-divider--bottom {
  aspect-ratio: 1280/319;
}

.step {
  position: relative;
  background-color: #21A3FF;
  color: #FFFFFF;
  padding-block: 60px;
  overflow: hidden;
}
@media (max-width: 360px) {
  .step .btn--outline {
    width: 100%;
    padding-inline: 12px;
    font-size: 1.8rem;
  }
}
@media (max-width: 430px) {
  .step .section-title {
    margin-block-end: 32px;
  }
}
.step__illust {
  display: block;
  position: absolute;
  z-index: 2;
  height: auto;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.step__illust.is-visible {
  opacity: 1;
  transform: scale(1);
}
.step__illust--01 {
  top: clamp(-50px, -58.69px + 2.0202vw, -38px);
  right: clamp(-10px, -18.69px + 2.0202vw, 2px);
  width: clamp(110px, 25.3px + 19.7vw, 227px);
}
.step__illust--02 {
  width: clamp(140px, -16.28px + 16.194vw, 180px);
  left: clamp(-60px, 234.41px - 24.291vw, 0px);
  bottom: clamp(-80px, -161.55px + 10.194vw, -38px);
}
@media (max-width: 780px) {
  .step__illust--02 {
    display: none;
  }
}
.step__box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  background-color: #FFFFFF;
  color: #202020;
  border-radius: 30px;
  padding: 24px;
  border: 2px solid #202020;
  padding-block: 64px;
}
.step__deco {
  display: block;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  height: auto;
}
.step__deco--01 {
  top: clamp(40px, 74.48px - 3.367vw, 60px);
  left: clamp(-280px, 30.3px - 30.3vw, -100px);
  width: clamp(160px, 36.94px + 28.62vw, 330px);
}
.step__deco--02 {
  right: clamp(-174px, 5.286px - 17.51vw, -70px);
  bottom: clamp(120px, 5.522px + 3.367vw, 40px);
  width: clamp(100px, 20px + 17.68vw, 205px);
}
.step__inner {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(32px, 5vw, 72px);
}
@media (max-width: 780px) {
  .step__inner {
    flex-direction: column;
    align-items: center;
    gap: 32px;
  }
}
.step__mockup {
  flex-shrink: 0;
  height: 480px;
}
@media (max-width: 780px) {
  .step__mockup {
    width: 350px;
    height: auto;
  }
}
@media (max-width: 430px) {
  .step__mockup {
    width: min(300px, 62vw);
  }
}
.step__video {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  border-radius: 20px;
}
@media (max-width: 780px) {
  .step__video {
    width: 100%;
    height: auto;
  }
}

.step-list {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 16.76px + 1.684vw, 34px);
  margin-bottom: 40px;
}
@media (max-width: 360px) {
  .step-list {
    width: 100%;
  }
}
.step-list__item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  border-bottom: 3px dashed #0083F8;
}
@media (max-width: 360px) {
  .step-list__item {
    gap: 12px;
    margin-inline: 20px;
  }
}
.step-list__item:last-child {
  border-bottom: none;
}
.step-list__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 16px;
  background-color: #D9D9D9;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.step-list__item span {
  font-weight: 700;
  font-size: 2rem;
}
@media (max-width: 360px) {
  .step-list__item span {
    font-size: 1.6rem;
  }
}
.step-list__icon {
  position: relative;
  top: 3px;
  left: -6px;
  display: block;
  box-sizing: border-box;
  width: 50px;
  height: 50px;
  padding: 9px;
  border: 3px solid #0083F8;
  border-radius: 8px;
  flex-shrink: 0;
}
.step-list__icon::before {
  content: "";
  position: absolute;
  inset: 9px;
  background-color: #0083F8;
  -webkit-mask-image: var(--icon-src);
  mask-image: var(--icon-src);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media (max-width: 360px) {
  .step-list__icon::before {
    inset: 8px;
  }
}
@media (max-width: 360px) {
  .step-list__icon {
    left: -3px;
    width: 46px;
    height: 46px;
    padding: 8px;
  }
}

.voice {
  padding-block: clamp(40px, -3.434px + 10.1vw, 100px);
}
@media (max-width: 880px) {
  .voice .section-title {
    margin-block-end: 32px;
  }
}
@media (max-width: 880px) {
  .voice__slider {
    position: relative;
  }
}
.voice__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media (max-width: 880px) {
  .voice__list {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    grid-template-columns: unset;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 16px;
    gap: 20px;
    padding: 0 16px 32px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .voice__list::-webkit-scrollbar {
    display: none;
  }
  .voice__list > .card--voice {
    flex: 0 0 min(300px, 100vw - 64px);
    width: min(300px, 100vw - 64px);
    max-width: none;
    scroll-snap-align: start;
  }
}
.voice__nav {
  display: none;
}
@media (max-width: 880px) {
  .voice__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    z-index: 2;
    width: 48px;
    height: 48px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .voice__nav svg {
    width: 48px;
    height: 48px;
  }
}
@media (max-width: 880px) {
  .voice__nav--prev svg {
    transform: scaleX(-1);
  }
}
@media (max-width: 880px) {
  .voice__nav--prev {
    left: 8px;
    transform: translate(-50%, -50%);
  }
}
@media (max-width: 880px) {
  .voice__nav--next {
    right: 8px;
    transform: translate(50%, -50%);
  }
}
@media (max-width: 880px) {
  .voice__nav.is-hidden {
    display: none;
  }
}

.card--voice {
  position: relative;
  border: 2px solid #FF3C71;
  box-shadow: 4px 4px 0 #FF3C71;
  padding: 24px 32px;
}
@media (max-width: 430px) {
  .card--voice {
    padding: 20px 22px;
  }
}
@media (max-width: 880px) {
  .card--voice {
    padding-block-end: 90px;
  }
}
.card--voice__illust {
  display: none;
}
@media (max-width: 880px) {
  .card--voice__illust {
    display: block;
    position: absolute;
    bottom: -24px;
    right: -14px;
    width: 100px;
    height: auto;
    z-index: 1;
    pointer-events: none;
  }
}
.card--voice .card__rating {
  color: #FBBC04;
  letter-spacing: 0.1em;
  margin-block-end: 8px;
  font-size: 3.2rem;
}
.card--voice .card__author {
  font-size: 1.4rem;
  color: #202020;
  opacity: 0.6;
  text-align: right;
  margin-block-end: 8px;
}
.card--voice .card__title {
  font-size: clamp(1.8rem, 16.857px + 0.3571vw, 2.2rem);
  line-height: 1.5;
  margin-bottom: 8px;
}
.card--voice .card__body {
  font-size: clamp(1.6rem, 13.1px + 0.6734vw, 2rem);
  line-height: 1.5;
  font-weight: normal;
}

.sns-divider {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1280/180;
}

.sns {
  background-color: #FFE940;
  padding-block: clamp(16px, -15.85px + 7.407vw, 60px);
}
.sns__inner {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  background-color: #FFFFFF;
  border-radius: 24px;
  padding-block: clamp(24px, -16.54px + 9.428vw, 80px);
  padding-inline: clamp(32px, -2.747px + 8.081vw, 80px);
  display: flex;
  flex-direction: row;
  gap: clamp(20px, 17.1px + 0.6734vw, 24px);
  align-items: center;
  text-align: center;
}
@media (max-width: 430px) {
  .sns__inner {
    flex-direction: column;
  }
}
.sns__grid {
  width: clamp(120px, 18.65px + 23.57vw, 260px);
  height: clamp(165px, 26.73px + 32.15vw, 356px);
  object-fit: cover;
  flex-shrink: 0;
}
.sns__label {
  font-size: clamp(2rem, 8.418px + 2.694vw, 3.6rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}
@media (max-width: 430px) {
  .sns__label {
    margin-bottom: 4px;
  }
}
@media (max-width: 430px) {
  .sns__heading {
    margin-bottom: 16px;
  }
}
.sns__content h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(2.4rem, 0.835px + 5.387vw, 5.6rem);
  line-height: 1.4;
  letter-spacing: 0;
}
.sns__content h2 img {
  width: clamp(32px, 14.63px + 4.04vw, 56px);
  height: clamp(32px, 14.63px + 4.04vw, 56px);
}
.sns__ig-text {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: #FFFFFF;
  paint-order: stroke fill;
  -webkit-text-stroke: 4px #202020;
}
.sns__ig-text::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;
  color: transparent;
  -webkit-text-stroke: 2px #FFD55B;
  transform: translate(5px, 5px);
  white-space: nowrap;
}
.sns__content p:not(.sns__label) {
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  line-height: 1.4;
  letter-spacing: 0;
}
.sns__desc--en {
  margin-block-start: 16px;
}
.sns__link {
  display: inline-flex;
  align-items: stretch;
  margin-block-start: 12px;
  background-color: #FFFFFF;
  border: 2px solid #202020;
  overflow: hidden;
  box-shadow: 5px 5px 0 #FFD55B;
  transition: box-shadow 0.2s, transform 0.2s;
}
.sns__link:hover, .sns__link:active {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.sns__link-text {
  display: flex;
  align-items: center;
  padding-inline: 24px;
  padding-block: 4px 8px;
  font-weight: 700;
  font-size: clamp(1.6rem, 13.1px + 0.6734vw, 2rem);
}
.sns__link-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  flex-shrink: 0;
  background-color: #E6E6E6;
  border-inline-start: 2px solid #202020;
  color: #202020;
}
.sns__link-icon svg {
  width: 24px;
  height: 24px;
}

.faq-preview {
  padding-block: 60px 100px;
  text-align: center;
}
@media (max-width: 430px) {
  .faq-preview {
    padding-block: 80px 24px 40px;
  }
}
@media (max-width: 430px) {
  .faq-preview .section-title {
    margin-block-end: 32px;
  }
}
.faq-preview__box {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  background-color: #FFFFFF;
  border-radius: 12px;
  padding-block: clamp(24px, 12.42px + 2.694vw, 40px);
  padding-inline: clamp(24px, 18.21px + 1.347vw, 32px);
  margin-block-end: clamp(24px, 12.42px + 2.694vw, 40px);
}
.faq-preview__illustration {
  margin-inline: auto;
  margin-block-end: 0;
  position: absolute;
  width: clamp(92.38px, -2.177px + 21.99vw, 223px);
  height: clamp(76.81px, -1.81px + 18.28vw, 185.4px);
  top: clamp(-130px, -78.28px - 5.051vw, -100px);
  left: clamp(-50px, 36.2px - 8.418vw, 0px);
  transform: rotate(-6deg);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.faq-preview__illustration.is-visible {
  opacity: 1;
  transform: scale(1);
}

.faq-preview__list {
  width: 100%;
  max-width: 700px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: left;
}

.faq-preview__item {
  position: relative;
}
.faq-preview__item:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  bottom: -12px;
  height: 1px;
  background-color: #A9A9A9;
}

.faq-preview__question {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.faq-preview__q-icon,
.faq-preview__a-icon {
  flex-shrink: 0;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 6.626px + 4.04vw, 4.8rem);
  line-height: 1.4;
  letter-spacing: 0;
}

.faq-preview__q-icon {
  color: #0083F8;
}

.faq-preview__a-icon {
  color: #FF3C71;
}

.faq-preview__q-text {
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

.faq-preview__arrow {
  flex-shrink: 0;
  margin-inline-start: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 13px;
  border-color: transparent transparent transparent #202020;
  transition: transform 0.2s;
}
[aria-expanded=true] .faq-preview__arrow {
  transform: rotate(90deg);
}

.faq-preview__answer {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-block-start: 12px;
}
.faq-preview__answer[hidden] {
  display: none;
}
.faq-preview__answer p {
  font-size: clamp(1.6rem, 13.1px + 0.6734vw, 2rem);
  line-height: 1.5;
  color: #202020;
  opacity: 0.8;
}

.cta {
  position: relative;
  overflow: hidden;
  background-color: #FF3C71;
  color: #FFFFFF;
  text-align: center;
  padding-block: clamp(80px, 65.52px + 3.367vw, 100px);
  padding-inline: clamp(24px, -16.54px + 9.428vw, 80px);
  margin-bottom: clamp(40px, 11.04px + 6.734vw, 80px);
}
.cta__deco {
  position: absolute;
  pointer-events: none;
  height: auto;
}
.cta__deco--lt-wave {
  top: 0;
  left: 0;
}
@media (max-width: 780px) {
  .cta__deco--lt-wave {
    top: -6%;
    left: 0;
  }
}
.cta__deco--lt-circle {
  top: 24px;
  left: clamp(-40px, 28.96px - 6.734vw, 0px);
}
@media (max-width: 780px) {
  .cta__deco--lt-circle {
    width: 138px;
    height: 170px;
    top: -16%;
  }
}
@media (max-width: 430px) {
  .cta__deco--lt-circle {
    top: -20%;
  }
}
.cta__deco--rb-circle {
  bottom: 60px;
  right: -30px;
}
@media (max-width: 780px) {
  .cta__deco--rb-circle {
    width: 138px;
    height: 170px;
    bottom: -10%;
    right: -4%;
  }
}
@media (max-width: 430px) {
  .cta__deco--rb-circle {
    bottom: -20%;
  }
}
.cta__deco--rb-wave {
  bottom: 0;
  right: 0;
}
@media (max-width: 780px) {
  .cta__deco--rb-wave {
    bottom: -8%;
    right: 0;
  }
}
.cta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
@media (max-width: 430px) {
  .cta__inner {
    gap: 16px;
  }
}
.cta h2 {
  font-size: clamp(1.8rem, 12.42px + 2vw, 4rem);
}
.cta p {
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  line-height: 1.4;
  letter-spacing: 0;
}
.cta__badges {
  display: flex;
  gap: clamp(24px, 18px + 1vw, 40px);
}
.cta__badges .btn--store {
  height: 64px;
}
.cta__badges img {
  height: 64px;
  width: auto;
}

.download-hero__eyebrow text {
  fill: #FF3C71;
}
.download-hero__heading-br {
  display: none;
}
@media (max-width: 780px) {
  .download-hero__heading-br {
    display: inline;
  }
}
.download-hero__breadcrumb {
  align-self: stretch;
  width: 100%;
  padding-inline-start: 24px;
  text-align: left;
}
.download-hero__breadcrumb .breadcrumb__list {
  justify-content: flex-start;
}
@media (max-width: 780px) {
  .download-hero__breadcrumb {
    padding-inline-start: 16px;
  }
}
@media (max-width: 430px) {
  .download-hero__breadcrumb {
    padding-inline-start: 8px;
  }
}

.download {
  background-color: #FFFCF3;
  padding-bottom: clamp(64px, 24px + 5vw, 110px);
  padding-top: 40px;
}
@media (max-width: 780px) {
  .download {
    padding-top: 0px;
  }
}
.download__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 72px);
}
@media (max-width: 780px) {
  .download__inner {
    flex-direction: column;
    gap: 36px;
  }
}
.download__mockup {
  display: block;
  flex-shrink: 0;
  width: clamp(240px, 27vw, 360px);
  height: auto;
  aspect-ratio: 613/944;
}
@media (max-width: 780px) {
  .download__mockup {
    width: clamp(220px, 58vw, 320px);
    transform: translateX(-13.7%);
  }
}
.download__stores {
  display: flex;
  gap: clamp(20px, 3vw, 48px);
}
@media (max-width: 430px) {
  .download__stores {
    gap: 14px;
  }
}
.download__store {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
}
.download__store-label {
  display: inline-block;
  padding: 2px 20px;
  background-color: #FFE940;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(2rem, 13px + 1.1vw, 2.8rem);
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media (max-width: 430px) {
  .download__store-label {
    padding-inline: 12px;
    font-size: clamp(1.7rem, 5.4vw, 2rem);
  }
}
.download__store-lead {
  font-size: clamp(1.3rem, 11.5px + 0.25vw, 1.5rem);
  font-weight: 500;
}
@media (max-width: 430px) {
  .download__store-lead {
    font-size: 1.2rem;
  }
}
.download__store-arrow {
  display: block;
  width: 0;
  height: 0;
  margin: 0 auto 10px;
  border-inline: 16px solid transparent;
  border-top: 16px solid #D9D9D9;
}
@media (max-width: 430px) {
  .download__store-arrow {
    margin-block-end: 6px;
  }
}
.download__store-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(20px, 2.2vw, 32px);
  background-color: #FFFFFF;
  border: 1px solid #E6E6E6;
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
@media (max-width: 780px) {
  .download__store-card {
    padding: 0;
    background: none;
    border: none;
    box-shadow: none;
  }
}
.download .btn--store {
  display: block;
  width: auto;
  height: auto;
}
.download .btn--store img {
  display: block;
  width: auto;
  height: clamp(40px, 4.2vw, 52px);
}
@media (max-width: 780px) {
  .download .btn--store img {
    height: clamp(38px, 11vw, 46px);
  }
}
.download__store-qr {
  display: block;
  width: clamp(150px, 15vw, 180px);
  height: auto;
  aspect-ratio: 1/1;
}
@media (max-width: 780px) {
  .download__store-qr {
    display: none;
  }
}

.about-hero__breadcrumb {
  align-self: stretch;
  width: 100%;
  padding-inline-start: 24px;
  text-align: left;
}
.about-hero__breadcrumb .breadcrumb__list {
  justify-content: flex-start;
}
@media (max-width: 780px) {
  .about-hero__breadcrumb {
    padding-inline-start: 16px;
  }
}
@media (max-width: 430px) {
  .about-hero__breadcrumb {
    padding-inline-start: 8px;
  }
}

.about-intro {
  padding-block: 0 100px;
}
.about-intro .wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 780px) {
  .about-intro .wrapper {
    gap: 28px;
  }
}
@media (max-width: 430px) {
  .about-intro .wrapper {
    gap: 20px;
  }
}
.about-intro__image {
  display: block;
  width: 100%;
  aspect-ratio: 1080/300;
  height: auto;
  border-radius: 24px;
  max-width: 1080px;
  margin-inline: auto;
  object-fit: cover;
}
.about-intro__divider {
  width: 100%;
  max-width: 800px;
  height: 3px;
  margin: 0 auto;
  border: none;
  background-color: #C0C0C0;
}
.about-intro__text {
  display: flex;
  flex-direction: row;
  gap: clamp(24px, 12.42px + 2.694vw, 40px);
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.about-intro__text p {
  flex: 1;
  min-width: 0;
}
@media (max-width: 780px) {
  .about-intro__text {
    flex-direction: column;
    max-width: 600px;
    margin-inline: auto;
    gap: 24px;
    font-size: 1.7rem;
    letter-spacing: 0.12em;
  }
  .about-intro__text p {
    flex: none;
  }
}
@media (max-width: 430px) {
  .about-intro__text {
    font-size: 1.6rem;
    gap: 20px;
  }
}

.about-company__top {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1280/200;
  margin-block-end: -1px;
}

.about-company__bottom {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1280/200;
  margin-block-start: -1px;
  transform: scaleY(-1);
}

.about-company {
  position: relative;
  overflow: hidden;
  background-color: #0083F8;
  color: #FFFFFF;
  padding-block: clamp(60px, 31.04px + 6.734vw, 100px);
}
@media (max-width: 780px) {
  .about-company {
    padding-block: 56px;
  }
}
@media (max-width: 430px) {
  .about-company {
    padding-block: 48px;
  }
}
.about-company__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  opacity: 73%;
}
.about-company__deco--tl {
  top: 100px;
  left: 150px;
  width: 355.03px;
  height: 347.11px;
  transform: rotate(-170.11deg);
}
.about-company__deco--br {
  bottom: 30px;
  right: 140px;
  width: 282.63px;
  height: 276.32px;
}
.about-company__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}
.about-company__eyebrow {
  display: block;
  width: 196px;
  aspect-ratio: 220/70;
  margin-inline: auto;
  margin-block-end: -16px;
  overflow: visible;
}
.about-company__eyebrow text {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  fill: #FFFFFF;
  letter-spacing: 0.04em;
}
@media (max-width: 430px) {
  .about-company__eyebrow text {
    font-size: 1.6rem;
  }
}
.about-company__heading {
  font-size: 4.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-block-end: 40px;
}
@media (max-width: 780px) {
  .about-company__heading {
    font-size: 3.2rem;
    margin-block-end: 28px;
  }
}
@media (max-width: 430px) {
  .about-company__heading {
    font-size: 2.4rem;
    margin-block-end: 24px;
  }
}
.about-company__table {
  position: relative;
  background-color: #FFFFFF;
  color: #202020;
  border-radius: 12px;
  padding-block: clamp(16px, -12.96px + 6.734vw, 56px);
  padding-inline: clamp(24px, -4.956px + 6.734vw, 64px);
  text-align: left;
  max-width: 1000px;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .about-company__table {
    padding: 24px 28px;
  }
}
@media (max-width: 430px) {
  .about-company__table {
    padding: 16px 20px;
  }
}
.about-company__row {
  display: flex;
  flex-direction: row;
  gap: clamp(4px, -10.48px + 3.367vw, 24px);
  padding-block: clamp(16px, 13.1px + 0.6734vw, 20px);
  border-block-end: 1px solid #E6E6E6;
}
.about-company__row:last-child {
  border-block-end: none;
}
@media (max-width: 780px) {
  .about-company__row {
    flex-direction: column;
    gap: 4px;
    padding-block: 14px;
  }
}
.about-company__row dt {
  font-weight: 500;
  flex: 0 0 160px;
}
@media (max-width: 780px) {
  .about-company__row dt {
    flex: unset;
    font-size: 1.6rem;
    padding: 0;
  }
}
.about-company__row dd {
  line-height: 1.6;
  font-weight: 400;
  flex: 1;
}
@media (max-width: 780px) {
  .about-company__row dd {
    flex: unset;
    font-size: 1.6rem;
    padding: 0;
  }
}

.about-recruit {
  position: relative;
  overflow: hidden;
  padding-block: 60px;
  padding-block-start: clamp(60px, 45.52px + 3.367vw, 80px);
  padding-inline: clamp(0px, -101.3px + 23.57vw, 140px);
  padding-block-end: clamp(60px, 31.04px + 6.734vw, 100px);
}
.about-recruit__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  pointer-events: none;
}
.about-recruit > .wrapper {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1120px);
  max-width: none;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .about-recruit > .wrapper {
    width: min(100% - 40px, 760px);
  }
}
@media (max-width: 430px) {
  .about-recruit > .wrapper {
    width: min(100% - 32px, 500px);
  }
}
.about-recruit__eyebrow {
  display: block;
  width: 196px;
  aspect-ratio: 220/70;
  margin-inline: auto;
  margin-block-end: -16px;
  overflow: visible;
}
.about-recruit__eyebrow text {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  fill: #0083F8;
  letter-spacing: 0.04em;
}
@media (max-width: 430px) {
  .about-recruit__eyebrow text {
    font-size: 1.6rem;
  }
}
.about-recruit__heading {
  font-size: 4.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  margin-block-end: 60px;
}
@media (max-width: 780px) {
  .about-recruit__heading {
    font-size: 3.2rem;
    margin-block-end: 48px;
  }
}
@media (max-width: 430px) {
  .about-recruit__heading {
    font-size: 2.4rem;
    margin-block-end: 40px;
  }
}
.about-recruit__items {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  max-width: 1000px;
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .about-recruit__items {
    align-items: center;
    gap: 64px;
  }
}
@media (max-width: 430px) {
  .about-recruit__items {
    gap: 52px;
  }
}
.about-recruit__item {
  position: relative;
  width: 100%;
  max-width: 560px;
}
@media (max-width: 1000px) {
  .about-recruit__item {
    max-width: 520px;
  }
}
@media (max-width: 430px) {
  .about-recruit__item {
    max-width: 345px;
  }
}
.about-recruit__item:nth-child(even) {
  align-self: flex-end;
}
@media (max-width: 1000px) {
  .about-recruit__item:nth-child(even) {
    align-self: center;
  }
}
.about-recruit__item p {
  font-size: 2rem;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0;
}
@media (max-width: 1000px) {
  .about-recruit__item p {
    font-size: 1.7rem;
  }
}
@media (max-width: 430px) {
  .about-recruit__item p {
    font-size: 1.6rem;
  }
}
.about-recruit__title {
  position: relative;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.1em;
  margin-block-end: 16px;
}
@media (max-width: 1000px) {
  .about-recruit__title {
    font-size: 2.2rem;
  }
}
@media (max-width: 430px) {
  .about-recruit__title {
    font-size: 2rem;
  }
}
.about-recruit__badge {
  position: absolute;
  top: 50%;
  left: -10%;
  transform: translateY(-50%);
  z-index: -1;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #0083F8;
  opacity: 58%;
}
@media (max-width: 780px) {
  .about-recruit__badge {
    width: 60px;
    height: 60px;
    left: -7%;
  }
}
@media (max-width: 430px) {
  .about-recruit__badge {
    width: 56px;
    height: 56px;
  }
}
.about-recruit__lead {
  font-weight: 700;
  margin-block-end: 16px;
}
.about-recruit__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: disc;
  padding-inline-start: 20px;
  font-size: 1.5rem;
  line-height: 1.8;
}
@media (max-width: 780px) {
  .about-recruit__list {
    font-size: 1.5rem;
  }
}
@media (max-width: 430px) {
  .about-recruit__list {
    font-size: 1.4rem;
  }
}
.about-recruit__illust {
  display: block;
  height: auto;
  margin: 0;
  pointer-events: none;
}
.about-recruit .about-recruit__item--team .about-recruit__illust {
  position: absolute;
  top: -40px;
  right: calc(100% + clamp(200px, -805.44px + 83.682vw, 400px));
  width: 240px;
  height: auto;
  margin: 0;
  z-index: 2;
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .about-recruit .about-recruit__item--team .about-recruit__illust {
    top: -30px;
    right: calc(100% + 16px);
    width: 190px;
  }
}
@media (max-width: 1000px) {
  .about-recruit .about-recruit__item--team .about-recruit__illust {
    display: none;
  }
}
.about-recruit .about-recruit__item--member .about-recruit__illust {
  position: absolute;
  top: 20px;
  left: calc(100% + 40px);
  max-width: 290px;
  height: auto;
  margin: 0;
  z-index: 2;
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .about-recruit .about-recruit__item--member .about-recruit__illust {
    top: 20px;
    left: calc(100% + 16px);
    width: 220px;
  }
}
@media (max-width: 1000px) {
  .about-recruit .about-recruit__item--member .about-recruit__illust {
    top: clamp(-60px, -67.57px + 1.757vw, -50px);
    right: -40px;
    left: auto;
    width: clamp(100px, 91.36px + 3vw, 150px);
  }
}
@media (max-width: 430px) {
  .about-recruit .about-recruit__item--member .about-recruit__illust {
    top: -50px;
    right: -4px;
    width: clamp(70px, -17.27px + 27.273vw, 100px);
  }
}
.about-recruit .about-recruit__item--apply .about-recruit__illust {
  position: absolute;
  top: 20px;
  right: calc(100% + 100px);
  width: 300px;
  height: auto;
  margin: 0;
  z-index: 2;
}
@media (min-width: 1001px) and (max-width: 1200px) {
  .about-recruit .about-recruit__item--apply .about-recruit__illust {
    top: 20px;
    right: calc(100% + 40px);
    width: 210px;
  }
}
@media (max-width: 1000px) {
  .about-recruit .about-recruit__item--apply .about-recruit__illust {
    top: clamp(-80px, -9.7px - 7.03vw, -40px);
    right: clamp(-100px, 58.17px - 15.82vw, -10px);
    left: auto;
    width: clamp(125px, 83.69px + 9.583vw, 180px);
  }
}
@media (max-width: 430px) {
  .about-recruit .about-recruit__item--apply .about-recruit__illust {
    top: -40px;
    right: -4px;
    width: 115px;
  }
}

.site-footer {
  margin-top: 0;
}

.about-recruit__item--apply p a {
  text-decoration: underline;
  transition: color 0.3s;
}
.about-recruit__item--apply p a:hover {
  color: #0083F8;
  opacity: 1;
}

.gs-hero {
  position: relative;
  overflow: hidden;
  margin-block-start: 0;
  padding-block-end: clamp(40px, -75.82px + 26.94vw, 200px);
}
.gs-hero__breadcrumb {
  align-self: stretch;
  width: 100%;
  padding-inline-start: 16px;
  text-align: left;
}
.gs-hero__breadcrumb .breadcrumb__list {
  justify-content: flex-start;
}
.gs-hero__map {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: auto;
  aspect-ratio: 1280/500;
  z-index: 0;
}
@media (max-width: 430px) {
  .gs-hero__map {
    aspect-ratio: 393/235;
  }
}
.gs-hero__eyebrow {
  display: block;
  width: 196px;
  aspect-ratio: 220/70;
  margin-inline: auto;
  margin-block-end: -16px;
  overflow: visible;
}
.gs-hero__eyebrow text {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  fill: #0083F8;
  letter-spacing: 0.04em;
}
.gs-hero__heading {
  font-size: clamp(2.4rem, 6.626px + 4.04vw, 4.8rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
.gs-hero__lead {
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  line-height: 1.6;
  margin-bottom: clamp(50px, -0.6734px + 11.78vw, 120px);
}
.gs-hero__nav {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: clamp(40px, 32px + 1.8vw, 50px);
  justify-content: center;
}
@media (max-width: 780px) {
  .gs-hero__nav {
    flex-direction: column;
    align-items: center;
    justify-content: unset;
  }
}
.gs-hero__nav-card {
  position: relative;
  display: block;
  width: 300px;
  max-width: 100%;
  padding-block: clamp(24px, 6.626px + 4.04vw, 48px);
  padding-inline: 24px;
  border-radius: 12px;
  border: 4px solid;
  text-align: center;
  color: #202020;
  transition: box-shadow 0.2s, transform 0.2s;
}
@media (max-width: 780px) {
  .gs-hero__nav-card {
    width: min(500px, 100%);
  }
}
@media (max-width: 430px) {
  .gs-hero__nav-card {
    width: 100%;
    max-width: 324px;
  }
}
.gs-hero__nav-card:hover, .gs-hero__nav-card:active {
  box-shadow: none;
  transform: translate(5px, 5px);
}
.gs-hero__nav-card--reason {
  border-color: #FF3C71;
  background-color: #FFF2F7;
  box-shadow: 5px 5px 0 #FF3C71;
}
.gs-hero__nav-card--started {
  border-color: #FFE940;
  background-color: #FFFCE6;
  box-shadow: 5px 5px 0 #FFE940;
}
.gs-hero__nav-card--safety {
  border-color: #0083F8;
  background-color: #F3F9FF;
  box-shadow: 5px 5px 0 #0083F8;
}
.gs-hero__nav-eyebrow {
  display: block;
  font-size: clamp(1.6rem, 13.1px + 0.6734vw, 2rem);
}
.gs-hero__nav-title {
  display: block;
  font-size: clamp(2.4rem, 18.21px + 1.347vw, 3.2rem);
  font-weight: 700;
}
.gs-hero__nav-arrow {
  position: absolute;
  bottom: clamp(-32px, -11.31px - 2.02vw, -20px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(36px, 15.73px + 4.714vw, 64px);
  height: clamp(36px, 15.73px + 4.714vw, 64px);
  border-radius: 50%;
  color: #FFFFFF;
}
.gs-hero__nav-arrow svg {
  width: clamp(13px, 5.037px + 1.852vw, 24px);
  height: clamp(13px, 5.037px + 1.852vw, 24px);
}
.gs-hero__nav-card--reason .gs-hero__nav-arrow {
  background-color: #FF3C71;
}
.gs-hero__nav-card--started .gs-hero__nav-arrow {
  background-color: #FFE940;
}
.gs-hero__nav-card--safety .gs-hero__nav-arrow {
  background-color: #0083F8;
}
.gs-hero__nav-illust {
  position: absolute;
  width: 90px;
  height: auto;
  pointer-events: none;
}
.gs-hero__nav-card--reason .gs-hero__nav-illust {
  bottom: clamp(-18px, 13.03px - 3.03vw, 0px);
  left: clamp(-64px, 63.57px - 12.46vw, 10px);
  width: clamp(65px, 39.66px + 5.892vw, 100px);
  transform: scaleX(-1);
}
@media (max-width: 780px) {
  .gs-hero__nav-card--reason .gs-hero__nav-illust {
    bottom: 10px;
    left: 20px;
  }
}
@media (max-width: 430px) {
  .gs-hero__nav-card--reason .gs-hero__nav-illust {
    bottom: 10px;
    left: 4px;
  }
}
.gs-hero__nav-card--started .gs-hero__nav-illust {
  top: clamp(-64px, 63.57px - 12.46vw, 10px);
  right: clamp(-30px, 38.96px - 6.734vw, 10px);
  width: clamp(65px, 54.87px + 2.357vw, 79px);
  transform: scaleX(-1);
}
@media (max-width: 780px) {
  .gs-hero__nav-card--started .gs-hero__nav-illust {
    top: auto;
    bottom: 10px;
    right: 20px;
  }
}
@media (max-width: 430px) {
  .gs-hero__nav-card--started .gs-hero__nav-illust {
    bottom: 10px;
    right: 4px;
  }
}
.gs-hero__nav-card--safety .gs-hero__nav-illust {
  bottom: -8px;
  right: -54px;
  width: clamp(73px, 53.45px + 4.545vw, 100px);
}
@media (max-width: 780px) {
  .gs-hero__nav-card--safety .gs-hero__nav-illust {
    right: auto;
    left: 20px;
    bottom: 16px;
  }
}
@media (max-width: 430px) {
  .gs-hero__nav-card--safety .gs-hero__nav-illust {
    left: 4px;
    bottom: 10px;
  }
}

.gs-reason {
  position: relative;
  overflow: hidden;
  background-color: #FF3C83;
  color: #FFFFFF;
  padding-block: clamp(70px, 31.04px + 6.734vw, 100px);
  scroll-margin-top: calc(var(--header-offset, 90px) + 16px);
}
.gs-reason__inner {
  position: relative;
  width: min(100%, 1440px);
  margin-inline: auto;
}
.gs-reason__watermark {
  position: absolute;
  top: 50%;
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(8rem, 4.277px + 8.659vw, 20rem);
  line-height: 1.4;
  letter-spacing: 0em;
  white-space: nowrap;
  pointer-events: none;
  writing-mode: horizontal-tb;
  transform: translateY(-50%) rotate(90deg);
  z-index: 0;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 0;
  writing-mode: vertical-rl;
  transform: none;
  -webkit-text-stroke: 2px #FFF2F7;
  color: transparent;
  pointer-events: none;
  font-size: clamp(8rem, 4.277px + 11vw, 20rem);
}
@media (max-width: 1000px) {
  .gs-reason__watermark {
    left: -30px;
    top: -20px;
    font-size: 8rem;
  }
}
@media (max-width: 430px) {
  .gs-reason__watermark {
    left: -20px;
    font-size: 5rem;
  }
}
.gs-reason__head {
  position: absolute;
  top: 60px;
  right: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}
@media (max-width: 1000px) {
  .gs-reason__head {
    position: relative;
    top: auto;
    right: auto;
    align-items: center;
    width: 100%;
    margin-inline: auto;
    text-align: center;
  }
}
.gs-reason__eyebrow {
  display: inline-block;
  background-color: #FFFFFF;
  color: #202020;
  font-size: clamp(2rem, 5.522px + 3.367vw, 4rem);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 0;
  padding-inline-start: clamp(24px, 6.626px + 4.04vw, 48px);
  padding-inline-end: 24px;
}
@media (max-width: 1000px) {
  .gs-reason__eyebrow {
    font-size: clamp(2rem, 6vw, 3.2rem);
    padding-inline: 20px;
  }
}
.gs-reason__title {
  display: inline-block;
  background-color: #FFFFFF;
  color: #202020;
  font-size: clamp(3.2rem, 8.835px + 5.387vw, 6.4rem);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: 0;
  margin-block-start: 9px;
  padding-inline-start: clamp(24px, 6.626px + 4.04vw, 48px);
  padding-inline-end: 24px;
}
@media (max-width: 1000px) {
  .gs-reason__title {
    font-size: clamp(3.2rem, 9vw, 4.8rem);
    padding-inline: 20px;
  }
}
.gs-reason__wrapper {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1120px);
  max-width: none;
  margin-inline: auto;
  padding-block-start: 180px;
  padding-inline-start: 80px;
  padding-inline-end: 0;
}
@media (max-width: 1000px) {
  .gs-reason__wrapper {
    width: min(100% - 48px, 900px);
    padding-block-start: 0px;
    padding-inline: 0;
  }
}
@media (max-width: 430px) {
  .gs-reason__wrapper {
    width: min(100% - 40px, 500px);
    padding-block-start: 60px;
  }
}
.gs-reason__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  margin: 0;
  padding: 0;
  column-gap: clamp(32px, 5vw, 64px);
  row-gap: 72px;
  list-style: none;
}
@media (max-width: 1000px) {
  .gs-reason__list {
    grid-template-columns: 1fr;
    row-gap: 60px;
    padding-block-start: 100px;
  }
}
@media (max-width: 430px) {
  .gs-reason__list {
    row-gap: 54px;
    padding-block-start: 40px;
  }
}
.gs-reason__item {
  min-width: 0;
}
.gs-reason__item:nth-child(1) {
  margin-block-start: 0;
  transform: translateX(80px);
}
.gs-reason__item:nth-child(2) {
  margin-block-start: 180px;
}
.gs-reason__item:nth-child(3) {
  margin-block-start: 40px;
}
.gs-reason__item:nth-child(4) {
  margin-block-start: 220px;
}
@media (max-width: 1000px) {
  .gs-reason__item:nth-child(n) {
    margin-block-start: 0;
    transform: none;
  }
}
.gs-reason__blob-wrap {
  position: relative;
  width: 100%;
  margin-inline: auto;
}
.gs-reason__blob-wrap--01 {
  width: 384px;
  max-width: 384px;
  aspect-ratio: 387/303;
}
.gs-reason__blob-wrap--01 .gs-reason__blob-text {
  inset: 6% 17% 11% 20%;
}
@media (max-width: 1000px) {
  .gs-reason__blob-wrap--01 {
    width: min(100% - 64px, 400px);
    max-width: 400px;
    margin-inline: auto;
  }
  .gs-reason__blob-wrap--01 .gs-reason__blob-text {
    inset: 5% 15% 12% 18%;
    font-size: clamp(1.6rem, 4px + 3vw, 2rem);
  }
}
@media (max-width: 1000px) and (max-width: 430px) {
  .gs-reason__blob-wrap--01 .gs-reason__blob-text {
    font-size: clamp(1.4rem, 6.23px + 2.273vw, 1.46em);
  }
}
@media (max-width: 430px) {
  .gs-reason__blob-wrap--01 {
    width: min(100% - 16px, 288px);
    max-width: 288px;
    margin-inline: auto;
    transform: none;
  }
  .gs-reason__blob-wrap--01 .gs-reason__blob-text {
    inset: 10% 17% 16% 20%;
    font-size: 16px;
  }
}
.gs-reason__blob-wrap--02 {
  width: 480px;
  max-width: 480px;
  aspect-ratio: 453/354;
}
.gs-reason__blob-wrap--02 .gs-reason__blob-text {
  inset: 16% 16% 6% 24%;
}
@media (max-width: 1000px) {
  .gs-reason__blob-wrap--02 {
    width: min(100% - 44px, 520px);
    max-width: 500px;
    margin-inline: auto;
  }
  .gs-reason__blob-wrap--02 .gs-reason__blob-text {
    inset: 16% 12% 4% 27%;
    font-size: clamp(1.46rem, 2px + 3vw, 2rem);
  }
}
@media (max-width: 430px) {
  .gs-reason__blob-wrap--02 {
    width: min(100% - 1px, 350px);
    max-width: 350px;
    margin-inline: auto;
  }
  .gs-reason__blob-wrap--02 .gs-reason__blob-text {
    inset: 15% 17% 6% 30%;
    font-size: clamp(1.4rem, 6.23px + 2.273vw, 1.46em);
  }
}
.gs-reason__blob-wrap--03 {
  width: 480px;
  max-width: 580px;
  aspect-ratio: 495/328;
}
.gs-reason__blob-wrap--03 .gs-reason__blob-text {
  inset: 10% 16% 18% 18%;
  font-size: 2rem;
  line-height: 1.35;
}
@media (max-width: 1000px) {
  .gs-reason__blob-wrap--03 {
    width: min(100% - 64px, 500px);
    max-width: 500px;
    margin-inline: auto;
  }
  .gs-reason__blob-wrap--03 .gs-reason__blob-text {
    inset: 7% 15% 14% 17%;
    line-height: 1.45;
    font-size: clamp(1.46rem, 1.2px + 3vw, 2rem);
  }
}
@media (max-width: 1000px) and (max-width: 430px) {
  .gs-reason__blob-wrap--03 .gs-reason__blob-text {
    font-size: clamp(1.4rem, 2.23px + 2.273vw, 1.46em);
  }
}
@media (max-width: 430px) {
  .gs-reason__blob-wrap--03 {
    width: min(100% - 4px, 360px);
    max-width: 380px;
    margin-inline: auto;
  }
  .gs-reason__blob-wrap--03 .gs-reason__blob-text {
    inset: 8% 12% 14% 20%;
  }
}
.gs-reason__blob-wrap--04 {
  width: 480px;
  max-width: 590px;
  aspect-ratio: 492/333;
}
.gs-reason__blob-wrap--04 .gs-reason__blob-text {
  inset: 15% 16% 11% 18%;
  font-size: clamp(1.25rem, 8.4px + 0.8vw, 1.7rem);
  line-height: 1.35;
}
@media (max-width: 1000px) {
  .gs-reason__blob-wrap--04 {
    width: min(100% - 40px, 560px);
    max-width: 560px;
    margin-inline: auto;
  }
  .gs-reason__blob-wrap--04 .gs-reason__blob-text {
    inset: 13% 15% 13% 17%;
    line-height: 1.45;
    font-size: clamp(1.2rem, -0.93px + 3vw, 1.8rem);
  }
}
@media (max-width: 430px) {
  .gs-reason__blob-wrap--04 {
    width: min(100% - 1px, 390px);
    max-width: 390px;
    margin-inline: auto;
  }
  html[lang=en] .gs-reason__blob-wrap--04 {
    aspect-ratio: 492/400;
  }
  html[lang=en] .gs-reason__blob-wrap--04 .gs-reason__blob-shape,
  html[lang=en] .gs-reason__blob-wrap--04 .gs-reason__blob-label {
    transform: scale(1.1);
    transform-origin: center top;
  }
  .gs-reason__blob-wrap--04 .gs-reason__blob-text {
    inset: 15% 14% 5% 10%;
    font-size: clamp(1.4rem, 6px + 1.955vw, 1.6rem);
  }
  html[lang=en] .gs-reason__blob-wrap--04 .gs-reason__blob-text {
    font-size: clamp(1.1rem, 5.58px + 1.818vw, 1.49rem);
    inset: 15% 14% 5% 12%;
  }
}
.gs-reason__blob-shape, .gs-reason__blob-label {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.gs-reason__blob-label {
  overflow: visible;
  pointer-events: none;
}
.gs-reason__blob-label text {
  font-size: clamp(2rem, 11.31px + 5.02vw, 2.5rem);
  font-weight: 700;
  line-height: 1.5;
  fill: #FFFFFF;
}
@media (max-width: 1000px) {
  .gs-reason__blob-label text {
    font-size: clamp(2.2rem, 3vw, 2.8rem);
  }
}
@media (max-width: 430px) {
  .gs-reason__blob-label text {
    font-size: clamp(1.8rem, 7vw, 2.6rem);
  }
}
@media (min-width: 1001px) {
  .gs-reason__blob-wrap--02 .gs-reason__blob-label text {
    font-size: calc(clamp(2rem, 11.31px + 2.02vw, 2.5rem) * 1.17);
  }
  .gs-reason__blob-wrap--03 .gs-reason__blob-label text {
    font-size: calc(clamp(2rem, 11.31px + 2.02vw, 2.5rem) * 1.27);
  }
  .gs-reason__blob-wrap--04 .gs-reason__blob-label text {
    font-size: calc(clamp(2rem, 11.31px + 2.02vw, 2.5rem) * 1.27);
  }
}
.gs-reason__blob-label path {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(1.06);
}
.gs-reason__blob-text {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  margin: 0;
  color: #202020;
  font-size: clamp(1.4rem, 9.657px + 1.01vw, 2rem);
  line-height: 1.45;
  text-align: left;
  overflow-wrap: anywhere;
}
@media (max-width: 1000px) {
  .gs-reason__blob-text {
    font-size: clamp(1.4rem, 1.07px + 3vw, 2rem);
    line-height: 1.5;
  }
}
@media (max-width: 430px) {
  .gs-reason__blob-text {
    font-size: clamp(1.4rem, 4.23px + 2.273vw, 1.6rem);
    line-height: 1.3;
  }
}
.gs-reason__illust {
  position: absolute;
  display: block;
  top: clamp(660px, 545.17px + 12.14vw, 720px);
  right: 0;
  bottom: auto;
  width: clamp(220px, 180px + 7vw, 300px);
  height: auto;
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 1000px) {
  .gs-reason__illust {
    top: clamp(55px, 8vw, 80px);
    right: 0;
    bottom: auto;
    width: clamp(160px, 22vw, 220px);
    z-index: 5;
  }
}
@media (max-width: 780px) {
  .gs-reason__illust {
    top: 42px;
    right: -8px;
    width: clamp(110px, 32vw, 140px);
  }
}
.gs-reason__illust {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gs-reason__illust.is-visible {
  opacity: 1;
  transform: scale(1);
}

.gs-started {
  position: relative;
  overflow: hidden;
  background-color: #FFE940;
  padding-block: clamp(60px, 31.04px + 6.734vw, 100px);
  scroll-margin-top: calc(var(--header-offset, 90px) + 16px);
}
.gs-started__inner {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
}
.gs-started__watermark {
  position: absolute;
  top: 50%;
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(8rem, 4.277px + 8.659vw, 20rem);
  line-height: 1.4;
  letter-spacing: 0em;
  white-space: nowrap;
  pointer-events: none;
  writing-mode: horizontal-tb;
  transform: translateY(-50%) rotate(90deg);
  z-index: 0;
  position: absolute;
  top: 40px;
  right: 100px;
  writing-mode: vertical-rl;
  transform: none;
  color: #FFFCE6;
  pointer-events: none;
  font-size: clamp(8rem, 4.277px + 11vw, 15rem);
}
@media (max-width: 1000px) {
  .gs-started__watermark {
    right: 90px;
  }
}
@media (max-width: 430px) {
  .gs-started__watermark {
    right: -10px;
  }
}
.gs-started__head {
  position: absolute;
  top: 60px;
  left: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.gs-started__head p,
.gs-started__head h2 {
  background-color: #FFFCF3;
  color: #202020;
  line-height: 1.32;
  padding-inline: 24px 48px;
}
@media (max-width: 430px) {
  .gs-started__head p,
  .gs-started__head h2 {
    padding-inline: 32px;
  }
}
@media (max-width: 1000px) {
  .gs-started__head {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-inline: auto;
    padding-inline: 120px;
    align-items: center;
    text-align: center;
  }
}
@media (max-width: 430px) {
  .gs-started__head {
    padding-inline: 0;
    align-items: center;
    text-align: center;
  }
}
.gs-started__eyebrow {
  display: inline-block;
  font-size: clamp(2rem, 5.522px + 3.367vw, 4rem);
  font-weight: 700;
}
@media (max-width: 1000px) {
  .gs-started__eyebrow {
    font-size: clamp(2rem, 3.5vw, 3.2rem);
  }
}
@media (max-width: 430px) {
  .gs-started__eyebrow {
    margin-inline: auto;
    padding-inline: 16px;
    font-size: 2rem;
    white-space: nowrap;
  }
}
.gs-started__title {
  display: block;
  width: fit-content;
  margin-block-start: 9px;
  font-size: clamp(3.2rem, 8.835px + 5.387vw, 6.4rem);
  font-weight: 700;
}
@media (max-width: 1000px) {
  .gs-started__title {
    margin-inline: auto;
    font-size: clamp(3.2rem, 5.5vw, 4.8rem);
  }
}
@media (max-width: 430px) {
  .gs-started__title {
    margin-inline: auto;
    padding-inline: 16px;
    font-size: 3.2rem;
    white-space: nowrap;
  }
}
.gs-started__wrapper {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1120px);
  max-width: none;
  margin-inline: auto;
  padding-block-start: 150px;
  padding-inline: 0;
}
@media (max-width: 1000px) {
  .gs-started__wrapper {
    width: min(100% - 48px, 760px);
    padding-block-start: 72px;
  }
}
@media (max-width: 430px) {
  .gs-started__wrapper {
    width: min(100% - 40px, 500px);
    padding-block-start: 56px;
  }
}
.gs-started__list {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: clamp(16px, -15.16px + 5.387vw, 40px);
  width: min(700px, 100% - 330px);
  min-width: 560px;
  margin-left: auto;
  margin-right: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 1000px) {
  .gs-started__list {
    width: min(100%, 640px);
    min-width: 0;
    margin-inline: auto;
    gap: 32px;
  }
}
@media (max-width: 430px) {
  .gs-started__list {
    gap: 28px;
  }
}
.gs-started__list-curve {
  position: absolute;
  display: block;
  top: 24px;
  left: 0;
  width: 121px;
  height: calc(100% - 48px);
  overflow: visible;
  z-index: 0;
}
.gs-started__list-curve-line {
  fill: none;
  stroke: #FFFCE6;
  stroke-width: 4px;
  stroke-dasharray: 10 10;
  stroke-linecap: round;
}
.gs-started__list-curve-mask {
  fill: none;
  stroke: #fff;
  stroke-width: 12px;
  stroke-linecap: round;
  stroke-dasharray: var(--curve-length, 1000);
  stroke-dashoffset: var(--curve-length, 1000);
  transition: stroke-dashoffset 0.05s linear;
}
@media (max-width: 1000px) {
  .gs-started__list-curve {
    display: none;
  }
}
.gs-started__item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: clamp(28px, -10px + 4vw, 80px);
}
.gs-started__item .gs-started__content {
  flex: 1;
  min-width: 0;
  max-width: clamp(300px, 100vw - 760px, 520px);
}
.gs-started__item h3 {
  margin-block-end: 4px;
  font-size: clamp(2rem, 11.31px + 2.02vw, 3.2rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}
.gs-started__item p {
  max-width: 100%;
  font-size: clamp(1.6rem, 10.21px + 1.347vw, 2.4rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}
@media (max-width: 1000px) {
  .gs-started__item {
    --started-icon-size: 72px;
    --line-progress: 0;
    display: grid;
    grid-template-columns: var(--started-icon-size) minmax(0, 1fr);
    align-items: start;
    column-gap: 24px;
  }
  .gs-started__item .gs-started__content {
    max-width: none;
    min-width: 0;
  }
  .gs-started__item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: calc(var(--started-icon-size) / 2);
    top: calc(var(--started-icon-size) / 2);
    height: calc(100% + 32px);
    border-left: 2px dashed #FFFFFF;
    transform: translateX(-1px) scaleY(var(--line-progress));
    transform-origin: top;
    z-index: 0;
    pointer-events: none;
    transition: transform 0.05s linear;
  }
  .gs-started__item h3 {
    font-size: clamp(2rem, 14px + 1vw, 2.6rem);
  }
  .gs-started__item p {
    font-size: clamp(1.6rem, 13px + 0.5vw, 2rem);
    line-height: 1.45;
  }
}
@media (max-width: 430px) {
  .gs-started__item {
    --started-icon-size: 64px;
    grid-template-columns: var(--started-icon-size) minmax(0, 1fr);
    column-gap: 18px;
  }
  .gs-started__item:not(:last-child)::after {
    left: calc(var(--started-icon-size) / 2);
    top: calc(var(--started-icon-size) / 2);
    height: calc(100% + 28px);
  }
  .gs-started__item h3 {
    font-size: 2rem;
  }
  .gs-started__item p {
    font-size: 1.5rem;
  }
}
.gs-started__icon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: clamp(70px, 55.52px + 3.367vw, 90px);
  height: clamp(70px, 55.52px + 3.367vw, 90px);
  border-radius: 50%;
  background-color: #FFFFFF;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.gs-started__icon img {
  width: 38.4px;
  height: auto;
}
.gs-started__icon--download {
  margin-inline-start: -30px;
}
.gs-started__icon--register {
  margin-inline-start: 40px;
}
.gs-started__icon--profile {
  margin-inline-start: 70px;
}
.gs-started__icon--search {
  margin-inline-start: 60px;
}
.gs-started__icon--chat {
  margin-inline-start: -10px;
}
@media (max-width: 1000px) {
  .gs-started__icon {
    width: var(--started-icon-size);
    height: var(--started-icon-size);
    margin-inline-start: 0;
    justify-self: center;
  }
  .gs-started__icon img {
    width: 30px;
    max-height: 36px;
    object-fit: contain;
  }
}
@media (max-width: 430px) {
  .gs-started__icon img {
    width: 27px;
    max-height: 32px;
  }
}
.gs-started__illust {
  position: absolute;
  display: block;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gs-started__illust.is-visible {
  opacity: 1;
  transform: scale(1);
}
.gs-started__illust {
  left: 0;
  bottom: 80px;
  width: clamp(300px, 31.95vw, 400px);
  max-width: 300px;
  height: auto;
  z-index: 2;
  pointer-events: none;
}
@media (max-width: 1000px) {
  .gs-started__illust {
    top: -10px;
    left: 0;
    right: auto;
    bottom: auto;
    width: clamp(100px, 13vw, 160px);
    max-width: 160px;
    height: auto;
    z-index: 4;
  }
}
@media (max-width: 430px) {
  .gs-started__illust {
    top: 0px;
    right: -8px;
    width: clamp(80px, 29vw, 90px);
    max-width: 100px;
  }
}
@media (min-width: 1001px) and (max-width: 1280px) {
  .gs-started__wrapper {
    padding-block-start: 220px;
  }
  .gs-started__list {
    gap: 16px;
  }
  .gs-started__item p {
    font-size: 2rem;
    line-height: 1.35;
  }
}

.gs-safety {
  position: relative;
  overflow: hidden;
  background-color: #0083F8;
  color: #FFFFFF;
  scroll-margin-top: calc(var(--header-offset, 90px) + 16px);
  padding-block: clamp(60px, 31.04px + 6.734vw, 100px) clamp(60px, 16.57px + 10.1vw, 120px);
}
.gs-safety__inner {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
}
.gs-safety__watermark {
  position: absolute;
  top: 50%;
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: clamp(8rem, 4.277px + 8.659vw, 20rem);
  line-height: 1.4;
  letter-spacing: 0em;
  white-space: nowrap;
  pointer-events: none;
  writing-mode: horizontal-tb;
  transform: translateY(-50%) rotate(90deg);
  z-index: 0;
  position: absolute;
  top: 280px;
  left: -60px;
  writing-mode: vertical-rl;
  transform: none;
  -webkit-text-stroke: 2px #F3F9FF;
  color: transparent;
  pointer-events: none;
  font-size: clamp(8rem, 4.277px + 11vw, 20rem);
}
@media (max-width: 1000px) {
  .gs-safety__watermark {
    top: 140px;
    right: 90px;
    left: auto;
  }
}
@media (max-width: 430px) {
  .gs-safety__watermark {
    top: 0;
    right: -30px;
    font-size: 7rem;
  }
}
.gs-safety__head {
  position: absolute;
  top: 60px;
  left: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.gs-safety__head p,
.gs-safety__head h2 {
  background-color: #FFFFFF;
  color: #202020;
  line-height: 1.32;
  padding-inline: 24px 48px;
}
@media (max-width: 1000px) {
  .gs-safety__head p,
  .gs-safety__head h2 {
    padding-inline: 24px;
  }
}
@media (max-width: 1000px) {
  .gs-safety__head {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-inline: auto;
    padding-inline: 120px;
    align-items: center;
    text-align: center;
  }
}
@media (max-width: 430px) {
  .gs-safety__head {
    padding-inline: 0;
  }
  .gs-safety__head p,
  .gs-safety__head h2 {
    padding-inline: 16px;
  }
}
.gs-safety__eyebrow {
  display: inline-block;
  font-size: clamp(2rem, 5.522px + 3.367vw, 4rem);
  font-weight: 700;
}
@media (max-width: 1000px) {
  .gs-safety__eyebrow {
    font-size: clamp(2rem, 3.5vw, 3.2rem);
  }
}
@media (max-width: 430px) {
  .gs-safety__eyebrow {
    margin-inline: auto;
    font-size: 2rem;
    white-space: nowrap;
  }
}
.gs-safety__title {
  display: block;
  width: fit-content;
  margin-block-start: 9px;
  font-size: clamp(3.2rem, 8.835px + 5.387vw, 6.4rem);
  font-weight: 700;
}
@media (max-width: 1000px) {
  .gs-safety__title {
    margin-inline: auto;
    font-size: clamp(3.2rem, 5.5vw, 4.8rem);
  }
}
@media (max-width: 430px) {
  .gs-safety__title {
    margin-inline: auto;
    font-size: 3.2rem;
    white-space: nowrap;
  }
}
.gs-safety__wrapper {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1120px);
  max-width: none;
  margin-inline: auto;
  padding-block-start: 260px;
  padding-inline: 0;
}
@media (max-width: 1000px) {
  .gs-safety__wrapper {
    width: min(100% - 48px, 760px);
    padding-block-start: 80px;
  }
}
@media (max-width: 430px) {
  .gs-safety__wrapper {
    width: min(100% - 32px, 500px);
    padding-block-start: 60px;
  }
}
.gs-safety__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.8vw, 40px);
  width: min(100%, 900px);
  margin-inline: auto;
  padding: 0;
  list-style: none;
}
@media (max-width: 1000px) {
  .gs-safety__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 600px);
    margin-inline: auto;
    gap: 20px;
  }
}
@media (max-width: 430px) {
  .gs-safety__grid {
    width: 100%;
    gap: 16px;
  }
}
.gs-safety__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  background-color: #FFFFFF;
  color: #202020;
  border-radius: 14px;
  padding-block: clamp(24px, 11.31px + 2.02vw, 32px);
  padding-inline: clamp(16px, 13.1px + 0.6734vw, 20px);
  text-align: center;
}
.gs-safety__card img,
.gs-safety__card svg {
  display: block;
  width: clamp(64px, 52.42px + 2.694vw, 80px);
  height: clamp(64px, 52.42px + 2.694vw, 80px);
  margin-inline: auto;
  margin-block-end: 24px;
}
@media (max-width: 1000px) {
  .gs-safety__card img,
  .gs-safety__card svg {
    width: 64px;
    height: 64px;
    margin-block-end: 12px;
  }
}
@media (max-width: 430px) {
  .gs-safety__card img,
  .gs-safety__card svg {
    width: 56px;
    height: 56px;
    margin-block-end: 8px;
  }
}
.gs-safety__card h3 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  font-size: clamp(1.6rem, 4.418px + 2.694vw, 3.2rem);
  margin-block-end: 8px;
}
@media (max-width: 1000px) {
  .gs-safety__card h3 {
    font-size: clamp(1.8rem, 2.5vw, 2.4rem);
  }
}
@media (max-width: 430px) {
  .gs-safety__card h3 {
    font-size: 1.6rem;
  }
}
.gs-safety__card p {
  font-size: clamp(1.4rem, 9.657px + 1.01vw, 2rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}
@media (max-width: 1000px) {
  .gs-safety__card p {
    font-size: clamp(1.4rem, 1.8vw, 1.8rem);
  }
}
@media (max-width: 430px) {
  .gs-safety__card p {
    font-size: 1.4rem;
  }
}
.gs-safety__illust {
  position: absolute;
  display: block;
  right: 0;
  bottom: -50px;
  width: clamp(280px, 27.78vw, 400px);
  max-width: 400px;
  height: auto;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.gs-safety__illust.is-visible {
  opacity: 1;
  transform: scale(1);
}
@media (max-width: 1000px) {
  .gs-safety__illust {
    top: 20px;
    left: 0;
    right: auto;
    bottom: auto;
    width: clamp(130px, 18vw, 180px);
    max-width: 180px;
    z-index: 0;
  }
}
@media (max-width: 430px) {
  .gs-safety__illust {
    top: 0px;
    left: -30px;
    width: clamp(100px, 34vw, 130px);
    max-width: 130px;
  }
}

.gs-divider {
  display: block;
  width: 100%;
  height: auto;
}

.gs-divider--reason {
  background-color: #FFE940;
}

.gs-divider--started {
  background-color: #0083F8;
}

.faq-hero__breadcrumb {
  align-self: stretch;
  width: 100%;
  text-align: left;
}
.faq-hero__breadcrumb .breadcrumb__list {
  justify-content: flex-start;
}
@media (max-width: 780px) {
  .faq-hero__breadcrumb {
    padding-inline-start: 12px;
  }
}
@media (max-width: 430px) {
  .faq-hero__breadcrumb {
    padding-inline-start: 8px;
  }
}

.faq-search-section {
  padding-block-end: clamp(40px, 25.52px + 3.367vw, 60px);
}
.faq-search-section__inner {
  width: min(100% - 48px, 1120px);
  max-width: none;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .faq-search-section__inner {
    width: min(100% - 40px, 760px);
  }
}
@media (max-width: 430px) {
  .faq-search-section__inner {
    width: min(100% - 32px, 500px);
  }
}

.faq-search {
  display: flex;
  align-items: stretch;
  width: min(100%, 1000px);
  height: clamp(56px, 50.21px + 1.347vw, 64px);
  margin-inline: auto;
  margin-block-end: 32px;
  background-color: #FFFFFF;
  border: 1px solid #202020;
  border-radius: 12px;
  overflow: hidden;
}
@media (max-width: 780px) {
  .faq-search {
    width: 100%;
  }
}
@media (max-width: 430px) {
  .faq-search {
    margin-block-end: 24px;
  }
}
.faq-search__input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding-inline: 24px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  color: #202020;
  background-color: transparent;
  border: none;
}
.faq-search__input::placeholder {
  color: #A9A9A9;
}
.faq-search__input:focus {
  outline: none;
}
@media (max-width: 430px) {
  .faq-search__input {
    padding-inline: 16px;
    font-size: 1.4rem;
  }
}
.faq-search__submit {
  flex-shrink: 0;
  padding-inline: clamp(32px, 20.42px + 2.694vw, 48px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  color: #FFFFFF;
  background-color: #FF3C71;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity 0.3s;
}
.faq-search__submit:hover {
  opacity: 0.85;
}
@media (max-width: 780px) {
  .faq-search__submit {
    padding-inline: 32px;
    font-size: 2rem;
  }
}
@media (max-width: 430px) {
  .faq-search__submit {
    padding-inline: 24px;
    font-size: 1.8rem;
  }
}

.faq-categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 1000px);
  gap: 12px;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .faq-categories {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
    gap: 12px;
  }
}
@media (max-width: 430px) {
  .faq-categories {
    max-width: 100%;
    gap: 12px;
  }
}
.faq-categories__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  font-size: clamp(1.4rem, 12.55px + 0.3367vw, 1.6rem);
  font-weight: 700;
  color: #202020;
  background-color: #FFFFFF;
  border: 1px solid #202020;
  border-radius: 12px;
  transition: background-color 0.3s, opacity 0.3s;
}
.faq-categories__item:hover {
  background-color: #FFF2F7;
  opacity: 1;
}
.faq-categories__item:active {
  background-color: #FFF2F7;
  opacity: 1;
}
.faq-categories__item--active {
  background-color: #FFF2F7;
  opacity: 1;
}
@media (max-width: 780px) {
  .faq-categories__item {
    padding: 14px 20px;
  }
}
@media (max-width: 430px) {
  .faq-categories__item {
    padding: 16px 20px;
  }
}
.faq-categories__item--contact {
  background-color: #E5F3FF;
}
.faq-categories__item--contact:hover, .faq-categories__item--contact:active {
  background-color: #E5F3FF;
  opacity: 0.7;
}
.faq-categories__arrow {
  flex-shrink: 0;
  color: #202020;
  font-size: 1rem;
}

.faq-groups {
  padding-block-end: clamp(80px, 51.04px + 6.734vw, 120px);
}
.faq-groups > .wrapper {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(40px, 67.58px - 2.694vw, 56px);
  row-gap: clamp(56px, 38.63px + 4.04vw, 100px);
}
@media (max-width: 780px) {
  .faq-groups > .wrapper {
    grid-template-columns: 1fr;
    width: min(100% - 48px, 600px);
    max-width: none;
    margin-inline: auto;
    row-gap: 80px;
  }
}
@media (max-width: 430px) {
  .faq-groups > .wrapper {
    width: min(100% - 32px, 500px);
    row-gap: 80px;
  }
}

.faq-group__title {
  text-align: center;
  font-size: clamp(2.4rem, 18.21px + 1.347vw, 3.2rem);
  font-weight: 700;
  margin-block-end: clamp(16px, 29.79px - 1.347vw, 24px);
}
@media (max-width: 780px) {
  .faq-group__title {
    font-size: clamp(2.4rem, 4vw, 3rem);
  }
}
@media (max-width: 430px) {
  .faq-group__title {
    font-size: 2.4rem;
  }
}
.faq-group__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}
@media (max-width: 780px) {
  .faq-group__list {
    max-width: 600px;
  }
}
.faq-group__list--2col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 40px;
}
@media (max-width: 780px) {
  .faq-group__list--2col {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
    gap: 16px;
  }
}
.faq-group__more {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  margin-block-start: 24px;
}
@media (max-width: 430px) {
  .faq-group__more {
    margin-block-start: 16px;
  }
}

body.tax-faq_category .faq-group:first-child:nth-last-child(2) {
  grid-column: 1/-1;
}

body.tax-faq_category .faq-group:has(.faq-group__list > li:nth-child(5)) {
  grid-column: 1/-1;
}

.faq-groups--search .faq-group {
  grid-column: 1/-1;
}
.faq-groups--search .faq-group p {
  text-align: center;
}

.faq-group__more-group {
  grid-column: 1/-1;
  display: grid;
  justify-content: center;
  row-gap: 24px;
}
.faq-group__more-group .faq-group__more {
  margin-block-start: 0;
  display: block;
}
.faq-group__more-group .faq-categories__item {
  width: 100%;
  justify-content: center;
}

.faq-item a {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
  padding: 16px;
  font-size: clamp(1.5rem, 11.38px + 0.8418vw, 2rem);
  line-height: 1.5;
  border-block-end: 1px dashed #707070;
}
@media (max-width: 780px) {
  .faq-item a {
    gap: 16px;
    padding: 16px 12px;
    font-size: clamp(1.6rem, 2.4vw, 1.9rem);
  }
}
@media (max-width: 430px) {
  .faq-item a {
    gap: 14px;
    padding: 14px 8px;
    font-size: 1.5rem;
  }
}
.faq-item__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  color: #FFFFFF;
  background-color: #FF3C71;
  border-radius: 50%;
}
@media (max-width: 430px) {
  .faq-item__icon {
    width: 32px;
    height: 32px;
    font-size: 1.8rem;
  }
}

.faq-detail-section {
  padding-block-end: clamp(80px, 51.04px + 6.734vw, 120px);
}

.faq-detail {
  max-width: 900px;
  margin-inline: auto;
  background-color: #FFFFFF;
  border-radius: 24px;
  padding-block: clamp(32px, 14.63px + 4.04vw, 56px);
  padding-inline: clamp(20px, -11.85px + 7.407vw, 64px);
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.08);
  border: 1px solid #E6E6E6;
}
.faq-detail__title {
  font-size: clamp(2.4rem, 12.35px + 2.703vw, 4rem);
  font-weight: 700;
  color: #202020;
  margin-block-end: 12px;
}
.faq-detail__breadcrumb {
  margin-block-end: 24px;
}
.faq-detail__breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 1.4rem;
  color: #202020;
}
.faq-detail__breadcrumb li {
  display: flex;
  align-items: center;
}
.faq-detail__breadcrumb li:not(:last-child)::after {
  content: ">";
  margin-inline: 8px;
  color: #A9A9A9;
}
.faq-detail__breadcrumb li[aria-current=page] {
  font-weight: 700;
}
.faq-detail__breadcrumb a:hover {
  opacity: 0.7;
}
.faq-detail__divider {
  border: none;
  border-block-start: 2px dashed #C2C2C2;
  margin-block-end: 24px;
}
.faq-detail__block + .faq-detail__block {
  margin-block-start: 64px;
}
.faq-detail__block img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
.faq-detail__block h2 {
  font-size: clamp(2rem, 17.1px + 0.6734vw, 2.4rem);
  font-weight: 700;
  line-height: 1.4;
  margin-block-end: clamp(10px, 5.657px + 1.01vw, 16px);
  padding: 8px 12px;
  color: #FF3C71;
  background-color: #FFF2F7;
  border-block-end: 2px solid #FF3C71;
}
.faq-detail__block h3 {
  font-size: clamp(1.6rem, 13.1px + 0.6734vw, 2rem);
  font-weight: 500;
  line-height: 1.4;
  margin-block-start: 40px;
  margin-block-end: 20px;
  scroll-margin-top: 120px;
  padding: 8px 16px;
  background-color: #F6F6F6;
  border-inline-start: 4px solid #FF3C71;
}
.faq-detail__block > p {
  font-size: clamp(1.5rem, 14.28px + 0.1684vw, 1.6rem);
  line-height: 1.9;
  color: #202020;
  font-weight: normal;
}
.faq-detail__block > p:not(:last-child) {
  margin-block-end: 16px;
}
.faq-detail__block ol,
.faq-detail__block ul {
  list-style: revert;
  margin-block: 16px;
  padding-inline-start: 28px;
}
.faq-detail__block li {
  font-size: clamp(1.5rem, 14.28px + 0.1684vw, 1.6rem);
  line-height: 1.9;
  color: #202020;
  font-weight: normal;
}
.faq-detail__block li:not(:last-child) {
  margin-block-end: 8px;
}
.faq-detail__block li ol,
.faq-detail__block li ul {
  margin-block: 8px 0;
}
.faq-detail__block h4,
.faq-detail__block h5,
.faq-detail__block h6 {
  font-size: clamp(1.4rem, 12.55px + 0.3367vw, 1.6rem);
  font-weight: 700;
  line-height: 1.4;
  margin-block-start: 28px;
  margin-block-end: 16px;
  scroll-margin-top: 120px;
  display: inline-block;
  padding-block-end: 4px;
  border-block-end: 1px solid #202020;
}
.faq-detail__block a {
  display: inline;
  color: #0083F8;
  text-decoration: none;
}
.faq-detail__block a:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.faq-detail__block strong,
.faq-detail__block b {
  font-weight: 700;
}
.faq-detail__block em,
.faq-detail__block i {
  font-style: italic;
}
.faq-detail__block blockquote {
  margin-block: 24px;
  padding: 16px 24px;
  border-left: 4px solid #0083F8;
  background-color: #F4FAFF;
  font-style: italic;
  color: #202020;
}
.faq-detail__block blockquote p:last-child {
  margin-block-end: 0;
}
.faq-detail__block hr {
  margin-block: 32px;
  border: none;
  border-block-start: 1px dashed #E6E6E6;
}
.faq-detail__block table {
  width: 100%;
  margin-block: 24px;
  border-collapse: collapse;
  font-size: clamp(1.4rem, 12.55px + 0.3367vw, 1.6rem);
}
.faq-detail__block table th,
.faq-detail__block table td {
  padding: 12px;
  border: 1px solid #E6E6E6;
  text-align: left;
}
.faq-detail__block table th {
  background-color: #F4FAFF;
  font-weight: 700;
}
.faq-detail__block code {
  padding: 2px 6px;
  background-color: #F0F0F0;
  border-radius: 4px;
  font-size: 0.9em;
}
.faq-detail__block pre {
  margin-block: 24px;
  padding: 16px;
  background-color: #F0F0F0;
  border-radius: 12px;
  overflow-x: auto;
}
.faq-detail__block pre code {
  padding: 0;
  background: none;
}
.faq-detail__sub {
  margin-block-start: 24px;
}
.faq-detail__sub h3 {
  font-size: clamp(1.6rem, 13.1px + 0.6734vw, 2rem);
  font-weight: 500;
  margin-block-end: 16px;
}
.faq-detail__sub p {
  font-size: clamp(1.4rem, 12.55px + 0.3367vw, 1.6rem);
  line-height: 1.4;
  color: #202020;
  font-weight: normal;
}

.faq-toc {
  box-sizing: border-box;
  width: 100%;
  margin-block-end: 32px;
  padding: 32px;
  text-align: left;
  background-color: #F4FAFF;
  border: 1px dashed #202020;
  border-radius: 12px;
}
@media (max-width: 430px) {
  .faq-toc {
    padding: 24px 20px;
  }
}
.faq-toc__title {
  margin-block-end: 16px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #202020;
}
.faq-toc__list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  padding-inline-start: 16px;
  list-style: none;
  border-left: 2px solid #0083F8;
}
.faq-toc__sub-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0 0;
  padding-inline-start: 20px;
  list-style: none;
}
.faq-toc__link {
  display: inline-block;
  color: #202020;
  text-decoration: underline;
  transition: opacity 0.2s;
}
.faq-toc__link:hover {
  opacity: 0.7;
}
.faq-toc__list > li > .faq-toc__link {
  font-size: 1.6rem;
  font-weight: 700;
}
.faq-toc__sub-list .faq-toc__link {
  font-size: 1.4rem;
  font-weight: normal;
}

.contact-hero__breadcrumb {
  align-self: stretch;
  width: 100%;
  padding-inline-start: 24px;
  text-align: left;
}
.contact-hero__breadcrumb .breadcrumb__list {
  justify-content: flex-start;
}
@media (max-width: 780px) {
  .contact-hero__breadcrumb {
    padding-inline-start: 16px;
  }
}
@media (max-width: 430px) {
  .contact-hero__breadcrumb {
    padding-inline-start: 8px;
  }
}
@media (max-width: 430px) {
  .contact-hero__lead {
    width: 100%;
    max-width: 345px;
    margin-inline: auto;
    margin-block-end: 24px;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.contact-hero__note {
  font-size: 2rem;
  color: #202020;
  margin-block-end: 24px;
  font-weight: normal;
}
@media (max-width: 430px) {
  .contact-hero__note {
    width: 100%;
    max-width: 345px;
    margin-inline: auto;
    margin-block-end: 24px;
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.contact-hero__cta {
  display: inline-flex;
}

.contact-form-section {
  padding-bottom: clamp(60px, 31.04px + 6.734vw, 100px);
}

.contact-notice {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  width: 100%;
  max-width: 700px;
  margin: clamp(24px, 15.52px + 1.687vw, 32px) auto clamp(48px, 31.04px + 3.374vw, 64px);
  padding: 16px 20px;
  border-radius: 12px;
}
.contact-notice__badge {
  flex-shrink: 0;
  padding: 4px 12px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
  border-radius: 12px;
}
.contact-notice__text {
  flex: 1;
  min-width: 200px;
  font-size: 1.4rem;
  line-height: 1.6;
}
.contact-notice--alert {
  background-color: #FDECEA;
}
.contact-notice--alert .contact-notice__badge {
  color: #FFFFFF;
  background-color: #D92D20;
}
.contact-notice--alert .contact-notice__text {
  color: #D92D20;
}
.contact-notice--info {
  background-color: #E5F3FF;
}
.contact-notice--info .contact-notice__badge {
  color: #FFFFFF;
  background-color: #0083F8;
}
.contact-notice--info .contact-notice__text {
  color: #0083F8;
}
.contact-notice--normal {
  background-color: #E6E6E6;
}
.contact-notice--normal .contact-notice__badge {
  color: #FFFFFF;
  background-color: #A9A9A9;
}
.contact-notice--normal .contact-notice__text {
  color: #202020;
}
@media (max-width: 430px) {
  .contact-notice {
    padding: 12px 16px;
  }
  .contact-notice__text {
    min-width: 0;
    font-size: 1.3rem;
  }
}

.contact-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 24px;
  max-width: 1000px;
  margin-inline: auto;
  background-color: #FFFFFF;
  border-radius: 40px;
  padding: 64px 24px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.08);
  border: 1px solid #A9A9A9;
}
.contact-form form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
  width: 100%;
}
.contact-form .cf-turnstile {
  display: flex;
  justify-content: center;
}
.contact-form .wpcf7-response-output {
  width: 100%;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  margin-inline: auto !important;
  text-align: center;
}
.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  margin-inline: auto;
  text-align: left;
}
.contact-form__label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.6rem;
  font-weight: 700;
}
.contact-form__required {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #FFFFFF;
  background-color: #FF3C71;
  border-radius: 999px;
  padding: 2px 12px;
  line-height: 1.4;
}
.contact-form__input, .contact-form__textarea {
  width: 100%;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  color: #202020;
  background-color: #FFFFFF;
  border: 1px solid #A9A9A9;
  border-radius: 4px;
  padding-inline: 17px;
  height: 48px;
}
.contact-form__input::placeholder, .contact-form__textarea::placeholder {
  color: #A9A9A9;
}
.contact-form__input:focus, .contact-form__textarea:focus {
  outline: 2px solid #0083F8;
  outline-offset: 1px;
}
.contact-form__input:-webkit-autofill, .contact-form__input:-webkit-autofill:hover, .contact-form__input:-webkit-autofill:focus, .contact-form__textarea:-webkit-autofill, .contact-form__textarea:-webkit-autofill:hover, .contact-form__textarea:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset;
  -webkit-text-fill-color: #202020;
  transition: background-color 9999s ease-in-out 0s;
}
.contact-form__textarea {
  resize: vertical;
  min-height: 160px;
}
.contact-form__counter {
  display: block;
  width: 100%;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  margin: 4px auto 0;
  font-size: 1.2rem;
  color: #A9A9A9;
  text-align: right;
}
.contact-form__hp {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.contact-form__user-id {
  width: 100%;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  margin-inline: auto;
  text-align: left;
  font-size: 2rem;
  margin-top: -12px;
}
.contact-form__user-id p {
  margin-block-end: 20px;
  font-size: 1.6rem;
}
.contact-form__user-id-trigger {
  display: flex;
  width: fit-content;
  margin-inline: auto;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  border-block-end: 1px solid #202020;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  color: #202020;
  cursor: pointer;
  padding-block-end: 4px;
}
.contact-form__user-id-icon {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}
.contact-form__user-id-icon::before, .contact-form__user-id-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: currentColor;
  transform: translate(-50%, -50%);
}
.contact-form__user-id-icon::before {
  width: 14px;
  height: 2px;
}
.contact-form__user-id-icon::after {
  width: 2px;
  height: 14px;
  transition: opacity 0.2s;
}
[aria-expanded=true] .contact-form__user-id-icon::after {
  opacity: 0;
}
.contact-form__user-id-help {
  margin-block-start: 24px;
  text-align: left;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  margin-inline: auto;
}
.contact-form__user-id-help p {
  font-size: 1.3rem;
  color: #202020;
  margin-block-end: 8px;
}
.contact-form__field--user-id {
  margin-block-start: 24px;
}
.contact-form__dropzone {
  box-sizing: border-box;
  width: 100%;
  max-width: clamp(345px, 160.4px + 42.93vw, 600px);
  margin-inline: auto;
  text-align: center;
  border: 1px dashed #202020;
  border-radius: 12px;
  background-color: #F4FAFF;
  padding: 32px 72px;
  margin-bottom: 20px;
  transition: border-color 0.2s, background-color 0.2s;
}
@media (max-width: 430px) {
  .contact-form__dropzone {
    padding: 32px;
  }
}
.contact-form__dropzone.is-dragover {
  border-style: solid;
  border-color: #0083F8;
  background-color: #E6F2FF;
}
.contact-form__dropzone.has-file {
  border-style: solid;
  border-color: #0083F8;
}
.contact-form__dropzone.is-full .contact-form__dropzone-label,
.contact-form__dropzone.is-full .contact-form__dropzone-or,
.contact-form__dropzone.is-full .contact-form__file-button {
  opacity: 0.4;
  pointer-events: none;
}
.contact-form__dropzone-hint {
  margin-block-start: 16px;
  font-size: 1.6rem;
  font-weight: normal;
  color: #202020;
}
.contact-form__dropzone-filelist {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.contact-form__dropzone-file {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #FFFFFF;
  border: 1px solid #0083F8;
  border-radius: 4px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #0083F8;
}
.contact-form__dropzone-file .contact-form__dropzone-filename-text {
  flex: 1;
  min-width: 0;
  word-break: break-all;
}
.contact-form__dropzone-file .contact-form__dropzone-remove {
  flex-shrink: 0;
}
.contact-form__dropzone-label {
  font-size: 2rem;
  font-weight: 700;
  margin-block-end: 16px;
}
@media (max-width: 430px) {
  .contact-form__dropzone-label {
    font-size: 1.6rem;
  }
}
.contact-form__dropzone-or {
  font-size: 1.6rem;
  color: #202020;
  font-weight: normal;
  margin-block-end: 16px;
}
.contact-form__dropzone-filename {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-block-start: 16px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #0083F8;
  word-break: break-all;
}
.contact-form__dropzone-filename-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #0083F8;
}
.contact-form__dropzone-filename-icon::before {
  content: "";
  width: 10px;
  height: 5px;
  margin-block-start: -2px;
  border-left: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  transform: rotate(-45deg);
}
.contact-form__dropzone-actions {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-block-start: 12px;
}
.contact-form__dropzone-actions p {
  margin: 0;
}
.contact-form__dropzone-change, .contact-form__dropzone-remove {
  background: none;
  border: none;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  padding: 4px 8px;
}
.contact-form__dropzone-change:hover, .contact-form__dropzone-remove:hover {
  opacity: 0.8;
}
.contact-form__dropzone-change {
  color: #0083F8;
}
.contact-form__dropzone-remove {
  color: #202020;
}
.contact-form__file-button {
  display: inline-block;
  font-size: 2rem;
  line-height: 1.4;
  background-color: #E2E2E2;
  color: #202020;
  border-radius: 4px;
  padding: 8px 32px;
  cursor: pointer;
  border: 1px solid #202020;
  height: 44px;
}
@media (max-width: 430px) {
  .contact-form__file-button {
    font-size: 1.6rem;
    padding: 8px 24px 6px;
  }
}
.contact-form__submit {
  display: block;
  width: fit-content;
  margin-inline: auto;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  color: #FFFFFF;
  background-color: #0083F8;
  border: none;
  border-radius: 12px;
  padding: 16px 96px;
  cursor: pointer;
  transition: opacity 0.3s, transform 0.2s;
}
@media (max-width: 430px) {
  .contact-form__submit {
    font-size: 2rem;
    padding: 16px 72px;
  }
}
.contact-form__submit:hover {
  opacity: 0.85;
}
.contact-form__submit:active {
  transform: scale(0.98);
}

.user-id-steps {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-block-end: 24px;
}
.user-id-steps__item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.user-id-steps__item p {
  font-size: clamp(1.4rem, 13.28px + 0.1684vw, 1.5rem);
  line-height: 1.6;
  margin-block-end: 0;
}
.user-id-steps__num {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-block-start: 1px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  color: #FFFFFF;
  background-color: #0083F8;
  border-radius: 50%;
  vertical-align: top;
}
p .user-id-steps__num {
  margin-inline-end: 12px;
}
.user-id-steps__body {
  flex: 1;
  min-width: 0;
}
.user-id-steps__sub {
  list-style: none;
  counter-reset: user-id-sub;
  margin-block: 12px;
  padding-inline-start: 0;
}
.user-id-steps__sub li {
  position: relative;
  padding-inline-start: 24px;
  font-size: clamp(1.4rem, 13.28px + 0.1684vw, 1.5rem);
  line-height: 1.7;
  color: #202020;
}
.user-id-steps__sub li:not(:last-child) {
  margin-block-end: 8px;
}
.user-id-steps__sub li::before {
  counter-increment: user-id-sub;
  content: counter(user-id-sub) ".";
  position: absolute;
  left: 0;
  font-weight: 700;
}
.user-id-steps__note {
  font-size: 1.3rem;
  line-height: 1.6;
  color: #202020;
  margin-block-end: 16px;
}
.user-id-steps__note a {
  color: #202020;
  text-decoration: underline;
}
.user-id-steps__screens img {
  width: 100%;
  max-width: clamp(400px, 342.1px + 13.47vw, 480px);
  height: auto;
}

.contact-hero--thanks {
  padding-block-end: 0;
}
.contact-hero--thanks .sub-hero__inner {
  min-height: calc(738px + 14.4vw);
}
@media (max-width: 430px) {
  .contact-hero--thanks .sub-hero__inner {
    min-height: auto;
  }
}

.contact-thanks {
  position: relative;
  z-index: 1;
  padding-top: 0;
  margin-block-start: calc(clamp(-90px, -9vw, -50px) - 378px - 14.4vw);
  padding-bottom: clamp(100px, 24vw, 240px);
}
@media (min-width: 431px) and (max-width: 717px) {
  .contact-thanks {
    margin-block-start: calc(clamp(-90px, -9vw, -50px) - 558px - 14.4vw);
  }
}
@media (min-width: 718px) and (max-width: 1178px) {
  .contact-thanks {
    margin-block-start: calc(clamp(-90px, -9vw, -50px) - 838px + 24.6625vw);
  }
}
@media (min-width: 1441px) {
  .contact-thanks {
    margin-block-start: calc(-398px - 14.4vw);
  }
}
@media (max-width: 430px) {
  .contact-thanks {
    margin-block-start: 0;
  }
}
.contact-thanks__inner {
  margin-inline: auto;
  text-align: center;
}
.contact-thanks__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 3.6px + 8.44vw, 90px);
  aspect-ratio: 1/1;
  margin-inline: auto;
  margin-block-start: clamp(24px, 4vw, 48px);
  margin-block-end: 32px;
  border: 2px solid #0083F8;
  border-radius: 50%;
  color: #0083F8;
}
.contact-thanks__icon img {
  display: block;
  width: 66.667%;
  max-width: 60px;
  height: auto;
  max-height: 66.667%;
  object-fit: contain;
}
.contact-thanks__heading {
  font-size: clamp(2rem, 18.21px + 1vw, 3.2rem);
  font-weight: 700;
  margin-block-end: 24px;
}
.contact-thanks__text {
  font-size: clamp(1.4rem, 11.38px + 0.8418vw, 2rem);
  line-height: 1.8;
  color: #202020;
}

.contact-thanks-webview {
  text-align: center;
}
.contact-thanks-webview__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(40px, 3.6px + 8.44vw, 90px);
  aspect-ratio: 1/1;
  margin-inline: auto;
  margin-block-end: 32px;
  border: 2px solid #0083F8;
  border-radius: 50%;
  color: #0083F8;
}
.contact-thanks-webview__icon img {
  display: block;
  width: 66.667%;
  max-width: 60px;
  height: auto;
  max-height: 66.667%;
  object-fit: contain;
}
.contact-thanks-webview__heading {
  font-size: clamp(2rem, 18.21px + 1vw, 3.2rem);
  font-weight: 700;
  margin-block-end: 24px;
}
.contact-thanks-webview__text {
  font-size: clamp(1.4rem, 11.38px + 0.8418vw, 2rem);
  line-height: 1.8;
  color: #202020;
}

.webview-page__main {
  padding-block: 40px;
}
@media (max-width: 430px) {
  .webview-page__main {
    padding-block: 24px;
  }
}
.webview-page .wrapper {
  max-width: 760px;
  margin-inline: auto;
  padding-inline: 24px;
}
.webview-page__title {
  font-size: clamp(2.4rem, 18.21px + 1.347vw, 3.2rem);
  font-weight: 700;
  margin-block-end: 24px;
}
.webview-page__content {
  font-size: 1.6rem;
  line-height: 1.8;
}
.webview-page__content p {
  margin-block-end: 1.6em;
}
.webview-page .legal-hero {
  padding-top: 40px;
}
@media (max-width: 430px) {
  .webview-page .legal-hero {
    padding-top: 24px;
  }
}
