@charset "UTF-8";
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

body {
  position: relative;
  background-color: #FFE259;
}
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/back-ground.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  z-index: -1;
}

.section__title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(24px, 3.13vw, 60px);
  color: #212121;
  text-align: center;
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.section__title::after {
  content: "";
  display: block;
  background-image: url("../img/section-title-item.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 26.04vw;
  height: 2.71vw;
  margin: 0 auto;
}

.concerns__title::after {
  display: none;
}

@media (max-width: 1024px) {
  .section__title {
    font-size: clamp(20px, 2.5vw, 40px);
  }
  .section__title::after {
    width: 30vw;
    height: 3.5vw;
  }
}
@media (max-width: 768px) {
  .section__title {
    font-size: clamp(20px, 6vw, 32px);
  }
  .section__title::after {
    width: 60vw;
    height: 6vw;
  }
}
.hero__entry-button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 2.08vw, 40px);
  color: #ffffff;
  background-color: #89e351;
  padding: 2.71vw 4.43vw;
  border-radius: 100px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  margin-top: 0.78vw;
  -webkit-box-shadow: 0 5px 0 #5db82e;
          box-shadow: 0 5px 0 #5db82e;
  -webkit-transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
}
.hero__entry-button:hover {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.sticky-cta {
  position: fixed;
  right: 0;
  top: 80%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.sticky-cta.is-visible {
  opacity: 1;
  visibility: visible;
}

.sticky-cta__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: 20.83vw;
  height: 7.81vw;
  padding: 0 2vw;
  background-color: #89e351;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(14px, 1.67vw, 32px);
  border-radius: 100px 0 0 100px;
  text-decoration: none;
  white-space: nowrap;
  -webkit-box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.15);
          box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.15);
}

.sticky-cta__button img {
  width: clamp(24px, 2.6vw, 50px);
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.stats__entry-button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 2.08vw, 40px);
  color: #ffffff;
  background-color: #89e351;
  padding: 2.71vw 4.43vw;
  border-radius: 100px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  margin: 0 auto;
  -webkit-box-shadow: 0 5px 0 #5db82e;
          box-shadow: 0 5px 0 #5db82e;
  -webkit-transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
}
.stats__entry-button:hover {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media (max-width: 768px) {
  .hero__entry-button {
    font-size: clamp(16px, 4.5vw, 20px);
    padding: 4vw 10vw;
    margin-top: 4vw;
  }
  .sticky-cta {
    right: 0;
    left: 0;
    top: auto;
    bottom: 0;
    -webkit-transform: none;
            transform: none;
  }
  .sticky-cta__button {
    width: 100%;
    height: 60px;
    font-size: clamp(14px, 4vw, 18px);
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 20px;
  }
  .sticky-cta__button img {
    width: clamp(20px, 5vw, 28px);
  }
}
.header {
  position: absolute;
  height: 10.47vw;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.header__logo {
  position: absolute;
  top: 2.6vw;
  left: 10.4vw;
}

@media (max-width: 1024px) {
  .header {
    height: 80px;
  }
  .header__logo {
    top: 16px;
    left: 40px;
  }
  .header__logo img {
    width: 80px;
    height: auto;
  }
}
@media (max-width: 768px) {
  .header {
    height: 60px;
  }
  .header__logo {
    top: 12px;
    left: 20px;
  }
  .header__logo img {
    width: 55px;
    height: auto;
  }
}
.hero {
  position: relative;
  width: 100vw;
}

.hero__photo-area {
  position: relative;
  width: 100%;
}
.hero__photo-area img {
  width: 100%;
  height: auto;
  display: block;
}

.hero__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.52vw;
  position: absolute;
  left: 10.4vw;
  top: 13.07vw;
}

.hero__benefit {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 2.08vw, 40px);
  color: #ffffff;
  background-color: rgba(255, 95, 135, 0.8);
  -webkit-filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
          filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  padding: 0.78vw 1.56vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 1.56vw;
}

.hero__copy-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  left: 10.4vw;
  top: 21.9vw;
  width: 79.2vw;
}

.hero__copy {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(20px, 2.6vw, 50px);
  line-height: 1.6;
  color: #595959;
  text-shadow: 5px 6px 8.2px rgb(255, 255, 255);
}

.hero__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding-bottom: 80px;
}

.hero__main-copy {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(30px, 4.69vw, 90px);
  color: #ffffff;
  text-shadow: 4px 4px 17.6px rgb(248, 120, 152);
  text-align: center;
  white-space: nowrap;
  margin-top: 6.51vw;
  -ms-flex-item-align: center;
      align-self: center;
}

.hero__entry {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.94vw;
  margin-top: 8.75vw;
}
.hero__entry::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.hero__entry::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.scroll {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(10px, 1.04vw, 20px);
  color: #212121;
  letter-spacing: 0.37em;
  text-align: center;
  margin-top: 2.97vw;
}

.scroll-down {
  display: block;
  width: 1px;
  height: 105px;
  background-color: #212121;
  margin: 1.04vw auto 0;
  position: relative;
}

.scroll-down--ball {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #212121;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-animation: scrollBall 1.5s ease-in-out infinite;
          animation: scrollBall 1.5s ease-in-out infinite;
}

@-webkit-keyframes scrollBall {
  0% {
    top: -10px;
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  100% {
    top: 105px;
    opacity: 0;
  }
}

@keyframes scrollBall {
  0% {
    top: -10px;
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  100% {
    top: 105px;
    opacity: 0;
  }
}
.sp-only {
  display: none;
}

@media (max-width: 1024px) {
  .hero__bottom {
    padding-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
  .hero__photo-area {
    height: 90vh;
    overflow: hidden;
  }
  .hero__photo-area img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right top;
       object-position: right top;
  }
  .hero__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    left: 5vw;
    top: 70vw;
  }
  .hero__benefit {
    font-size: clamp(10px, 3vw, 14px);
    padding: 6px 14px;
    border-radius: 20px;
  }
  .hero__copy-wrapper {
    left: 5vw;
    top: 98vw;
  }
  .hero__copy {
    font-size: clamp(14px, 4vw, 18px);
  }
  .hero__main-copy {
    white-space: normal;
    font-size: clamp(20px, 6vw, 32px);
    padding: 0 20px;
    margin-top: 2vw;
  }
  .hero__bottom {
    padding-bottom: 30px;
  }
  .hero__entry {
    font-size: clamp(12px, 3.5vw, 16px);
    margin-top: 2vw;
  }
  .scroll, .scroll-down, .scroll-down--ball {
    display: none;
  }
}
.footer {
  background-color: #FFE259;
}

.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6.25vw;
  width: 62.4vw;
  margin: 0 auto;
  padding-top: 10.42vw;
}

.footer__map {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.footer__map iframe {
  display: block;
  width: 26.04vw;
  height: 19.63vw;
  border-radius: 2.6vw;
  border: none;
}

.footer__map-note {
  margin-top: 1.04vw;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 1.04vw, 20px);
  color: #212121;
  text-align: center;
}

.footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.08vw;
}

.footer__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.77vw;
}

.footer__logo-image {
  width: auto;
  height: 5.21vw;
}

.footer__logo-tagline {
  font-size: 16px;
  letter-spacing: 0.28em;
  color: #212121;
  font-family: "Noto Sans JP", sans-serif;
}

.footer__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.56vw;
}

.footer__detail-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.08vw;
}

.footer__detail-key {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.04vw, 20px);
  color: #212121;
  font-weight: bold;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.footer__detail-val {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.04vw, 20px);
  color: #212121;
  line-height: 1.6;
}
.footer__detail-val a {
  color: #212121;
  text-decoration: none;
}
.footer__detail-val a:hover {
  text-decoration: underline;
}

.footer__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 6.25vw;
  padding-bottom: 2.4vw;
}

.footer__bottom::before {
  content: "";
  display: block;
  width: 79.17vw;
  height: 1px;
  background-color: #212121;
  margin-bottom: 1.04vw;
}

.footer__copyright {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  color: #212121;
  text-align: center;
}

@media (max-width: 1024px) {
  .footer__inner {
    width: 85vw;
    gap: 40px;
    padding-top: 60px;
  }
  .footer__map iframe {
    width: 35vw;
    height: 26vw;
    border-radius: 20px;
  }
  .footer__logo-image {
    height: 60px;
  }
  .footer__detail {
    gap: 16px;
  }
  .footer__detail-row {
    gap: 20px;
  }
  .footer__bottom {
    margin-top: 40px;
    padding-bottom: 20px;
  }
  .footer__bottom::before {
    width: 85vw;
    margin-bottom: 16px;
  }
}
@media (max-width: 768px) {
  .footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 90vw;
    gap: 30px;
    padding-top: 40px;
  }
  .footer__map {
    width: 100%;
  }
  .footer__map iframe {
    width: 100%;
    height: 50vw;
    border-radius: 16px;
  }
  .footer__map-note {
    font-size: clamp(12px, 3vw, 14px);
    margin-top: 8px;
  }
  .footer__info {
    width: 100%;
    gap: 20px;
  }
  .footer__logo-image {
    height: 40px;
  }
  .footer__logo-tagline {
    font-size: 13px;
    letter-spacing: 0.2em;
  }
  .footer__detail {
    gap: 12px;
  }
  .footer__detail-row {
    gap: 16px;
  }
  .footer__detail-key {
    font-size: clamp(13px, 3.5vw, 16px);
    min-width: 50px;
  }
  .footer__detail-val {
    font-size: clamp(12px, 3vw, 14px);
    line-height: 1.6;
    white-space: normal;
  }
  .footer__bottom {
    margin-top: 30px;
    padding-bottom: 80px;
  }
  .footer__bottom::before {
    width: 90vw;
    margin-bottom: 12px;
  }
  .footer__copyright {
    font-size: 11px;
  }
}
.benefit {
  padding: 200px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.benefit__wrapper {
  width: 100%;
}

.benefit__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4.17vw;
  background-color: #ffffff;
  border-radius: 50px;
  max-width: 79.17vw;
  height: 45.63vw;
  padding: 0 4vw;
  margin: 80px auto 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}

.benefit__list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.08vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 4vw 0;
}

.benefit__item {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: clamp(20px, 2.08vw, 40px);
  color: #212121;
  line-height: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.04vw;
  white-space: nowrap;
}
.benefit__item::before {
  content: "✓";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(28px, 2.6vw, 50px);
  height: clamp(28px, 2.6vw, 50px);
  border-radius: 50%;
  background-color: #FFAA43;
  color: #ffffff;
  font-size: clamp(14px, 1.25vw, 24px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.benefit__photos {
  position: absolute;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 28vw;
  right: -10px;
  bottom: -10px;
}

.benefit__photo {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 1024px) {
  .benefit {
    padding: 50px 0;
  }
  .benefit__inner {
    width: 85vw;
    height: auto;
    padding: 40px 24px 0;
    gap: 40px;
    margin: 40px auto 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .benefit__list {
    gap: 20px;
    padding: 20px 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .benefit__photos {
    position: relative;
    right: auto;
    bottom: auto;
    width: 25vw;
    -ms-flex-item-align: end;
        align-self: flex-end;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media (max-width: 768px) {
  .benefit {
    padding: 60px 0;
  }
  .benefit__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 40px auto 0;
    gap: 0;
    height: auto;
    width: 90vw;
    padding: 30px 20px 0;
    border-radius: 30px;
  }
  .benefit__list {
    gap: 14px;
    width: 100%;
    padding: 0 0 20px 0;
    z-index: 1;
  }
  .benefit__item {
    font-size: clamp(13px, 3.8vw, 16px);
    white-space: normal;
    line-height: 1.6;
    z-index: 1;
  }
  .benefit__photos {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40vw;
    -ms-flex-item-align: end;
        align-self: flex-end;
    margin-right: 0;
    opacity: 0.5;
  }
}
.concerns {
  background: -webkit-gradient(linear, left top, left bottom, from(#C5C6D5), to(#FFFFFF));
  background: linear-gradient(to bottom, #C5C6D5, #FFFFFF);
  color: #595959;
  overflow: hidden;
}

.concerns__wrapper {
  position: relative;
  width: 100%;
  height: 175vw;
}

.concerns__title {
  position: absolute;
  top: 10.42vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}
.concerns__title::after {
  display: none;
}

.concerns__photo {
  position: absolute;
}
.concerns__photo img {
  width: 48.96vw;
  height: auto;
  display: block;
}

.concerns__photo:first-of-type {
  left: 0;
  top: 23.54vw;
}

.concerns__photo:last-of-type {
  right: 0;
  top: 73.02vw;
}

.concerns__list {
  list-style: none;
}

.concerns__item {
  position: absolute;
}
.concerns__item img {
  height: auto;
  display: block;
}

.concerns__item--01 {
  left: 51.04vw;
  top: 21.51vw;
}
.concerns__item--01 img {
  width: 37.81vw;
}

.concerns__item--02 {
  left: 56.46vw;
  top: 43.07vw;
}
.concerns__item--02 img {
  width: 31.46vw;
}

.concerns__item--03 {
  left: 29.06vw;
  top: 55.68vw;
}
.concerns__item--03 img {
  width: 39.9vw;
}

.concerns__item--04 {
  left: 10.1vw;
  top: 70.99vw;
}
.concerns__item--04 img {
  width: 33.75vw;
}

.concerns__item--05 {
  left: 12.03vw;
  top: 90.47vw;
}
.concerns__item--05 img {
  width: 30.05vw;
}

.concerns__item--06 {
  left: 20vw;
  top: 108.59vw;
}
.concerns__item--06 img {
  width: 37.68vw;
}

.concerns__item--07 {
  left: 34.27vw;
  top: 126.35vw;
}
.concerns__item--07 img {
  width: 31.46vw;
}

.concerns__dot {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.concerns__dot:nth-of-type(1) {
  background-color: #FFDEBF;
  top: 145.47vw;
}
.concerns__dot:nth-of-type(2) {
  background-color: #FFCA96;
  top: 149.01vw;
}
.concerns__dot:nth-of-type(3) {
  background-color: #FFAA43;
  top: 152.55vw;
}
.concerns__dot.is-visible {
  opacity: 1;
}

.concerns__message {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%) scale(0.5);
          transform: translateX(-50%) scale(0.5);
  top: 159.32vw;
  white-space: nowrap;
  background-color: #FF5F87;
  color: #ffffff;
  padding: 50px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(18px, 2.08vw, 40px);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.3s ease, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease, -webkit-transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.concerns__message.is-visible {
  opacity: 1;
  -webkit-transform: translateX(-50%) scale(1);
          transform: translateX(-50%) scale(1);
}

.concerns__photo,
.concerns__item {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.concerns__photo.is-visible,
.concerns__item.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media (max-width: 1024px) {
  .concerns__wrapper {
    height: 175vw;
  }
  .concerns__dot {
    width: 14px;
    height: 14px;
  }
  .concerns__dot:nth-of-type(1) {
    top: 147vw;
  }
  .concerns__dot:nth-of-type(2) {
    top: 149.5vw;
  }
  .concerns__dot:nth-of-type(3) {
    top: 152vw;
  }
  .concerns__message {
    top: 160vw;
    font-size: clamp(14px, 2vw, 30px);
    padding: 30px 40px;
  }
}
@media (max-width: 768px) {
  .concerns__wrapper {
    height: 190vw;
  }
  .concerns__dot {
    width: 12px;
    height: 12px;
  }
  .concerns__dot:nth-of-type(1) {
    top: 145vw;
  }
  .concerns__dot:nth-of-type(2) {
    top: 149vw;
  }
  .concerns__dot:nth-of-type(3) {
    top: 153vw;
  }
  .concerns__message {
    top: 160vw;
    font-size: clamp(12px, 3.5vw, 18px);
    padding: 20px 30px;
    white-space: normal;
    text-align: center;
    width: 80vw;
  }
}
.reason {
  padding: 200px;
  position: relative;
}

.reason__wrapper {
  max-width: calc(100vw - 400px);
  margin: 0 auto;
}

.reason__innner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4.38vw;
  margin-top: 150px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.reason__card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.reason__card:nth-child(1) {
  margin-top: 0;
}
.reason__card:nth-child(2) {
  margin-top: 4.17vw;
}
.reason__card:nth-child(3) {
  margin-top: 8.33vw;
}

.reason__card-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px;
}

.reason__card-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 1.56vw, 30px);
  color: #212121;
  margin-bottom: 16px;
  line-height: 1.5;
}

.reason__card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  line-height: 40px;
}

@media (max-width: 1024px) {
  .reason {
    padding: 100px 60px;
  }
  .reason__wrapper {
    max-width: 100%;
  }
  .reason__innner {
    gap: 30px;
    margin-top: 80px;
  }
  .reason__card:nth-child(1) {
    margin-top: 0;
  }
  .reason__card:nth-child(2) {
    margin-top: 0;
  }
  .reason__card:nth-child(3) {
    margin-top: 0;
  }
  .reason__card-title {
    font-size: clamp(14px, 1.8vw, 24px);
  }
  .reason__card-text {
    font-size: clamp(12px, 1.4vw, 20px);
    line-height: 1.8;
  }
}
@media (max-width: 768px) {
  .reason {
    padding: 60px 20px;
  }
  .reason__innner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
    margin-top: 40px;
  }
  .reason__card {
    width: 100%;
  }
  .reason__card:nth-child(1) {
    margin-top: 0;
  }
  .reason__card:nth-child(2) {
    margin-top: 0;
  }
  .reason__card:nth-child(3) {
    margin-top: 0;
  }
  .reason__card-title {
    font-size: clamp(16px, 4.5vw, 22px);
  }
  .reason__card-text {
    font-size: clamp(13px, 3.5vw, 16px);
    line-height: 1.8;
  }
}
.stats {
  background-color: rgba(255, 251, 231, 0.5);
  padding: 200px;
}

.stats__wrapper {
  max-width: calc(100vw - 400px);
  margin: 0 auto;
}

.stats__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.13vw;
  list-style: none;
  margin-top: 150px;
  margin-bottom: 5.21vw;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.stats__item {
  width: calc((100% - 6.26vw) / 3);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.stats__item:hover {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
.stats__item img {
  width: 100%;
  height: auto;
  display: block;
}

.stats__entry {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.94vw;
  margin-bottom: 0.78vw;
}
.stats__entry::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.stats__entry::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media (max-width: 1024px) {
  .stats {
    padding: 100px 40px;
  }
  .stats__wrapper {
    max-width: 100%;
  }
  .stats__list {
    gap: 20px;
    margin-top: 80px;
    margin-bottom: 40px;
  }
  .stats__item {
    width: calc((100% - 40px) / 3);
  }
}
@media (max-width: 768px) {
  .stats {
    padding: 60px 20px;
  }
  .stats__list {
    gap: 16px;
    margin-top: 40px;
    margin-bottom: 30px;
  }
  .stats__item {
    width: calc((100% - 16px) / 2);
  }
  .stats__entry {
    font-size: clamp(12px, 3.5vw, 16px);
  }
}
.voice {
  padding: 200px;
  overflow: hidden;
}

.voice__title {
  text-align: center;
  margin-bottom: 200px;
}

.voice__carousel {
  position: relative;
  max-width: 50vw;
  margin: 0 auto;
}

.voice__list {
  display: none;
  list-style: none;
}
.voice__list.is-active {
  display: block;
}

.voice__card {
  background-color: #ffffff;
  border-radius: 50px;
  overflow: hidden;
  zoom: 0.7;
}

.voice__photo {
  position: relative;
}
.voice__photo img {
  width: 100%;
  height: auto;
  display: block;
}

.voice__header {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.voice__name {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: clamp(20px, 2.08vw, 40px);
  color: #212121;
  padding-left: 2.6vw;
  margin-bottom: 1.04vw;
}

.voice__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.52vw;
  list-style: none;
  padding-left: 2.6vw;
}

.voice__tag {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.56vw, 30px);
  color: #212121;
  border: 1px solid #212121;
  border-radius: 100px;
  padding: 0.63vw 1.56vw;
  background-color: transparent;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.voice__ba-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.56vw, 30px);
  color: #212121;
  padding: 2.6vw 0 0 3.13vw;
  margin-bottom: 1.04vw;
}

.voice__compare {
  padding: 0 3.13vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.83vw;
  margin-bottom: 1.56vw;
}

.voice__compare-row {
  display: grid;
  grid-template-columns: auto 16.3vw 2.86vw 16.3vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.41vw;
}

.voice__compare-key {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  text-align: right;
}

.voice__compare-before {
  background-color: #F3F3F3;
  border-radius: 100px;
  width: 16.3vw;
  height: 4.17vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 1.04vw, 20px);
  color: #212121;
  text-align: center;
}

.voice__compare-arrow {
  text-align: center;
  font-size: clamp(12px, 1.04vw, 20px);
  color: #212121;
}

.voice__compare-after {
  background-color: #FFE259;
  border-radius: 12px;
  width: 16.3vw;
  height: 5.21vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.56vw, 30px);
  font-weight: bold;
  color: #212121;
  text-align: center;
}
.voice__compare-after--tall {
  height: 7.6vw;
}

.voice__comment {
  border-top: 1px solid #BDBDBD;
  margin: 0 2.6vw;
  padding-top: 0.78vw;
  padding-bottom: 2.6vw;
  padding-left: 2.6vw;
  padding-right: 2.6vw;
}

.voice__comment-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.56vw, 30px);
  color: #212121;
  letter-spacing: 0.1em;
  margin-bottom: 0.78vw;
}

.voice__comment-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.3vw, 25px);
  color: #212121;
  line-height: 30px;
}
.voice__comment-text span {
  font-weight: bold;
  display: block;
  margin-top: 0.83vw;
  margin-bottom: 0.21vw;
}

.voice__nav {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 0;
}
.voice__nav img {
  width: auto;
  height: auto;
  display: block;
}
.voice__nav--prev {
  left: -6vw;
}
.voice__nav--next {
  right: -6vw;
}

.voice__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 30px;
  list-style: none;
  margin-top: 4.17vw;
}

.voice__dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #ffffff;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.voice__dot--active {
  background-color: #FFAA43;
}

@media (max-width: 1024px) {
  .voice {
    padding: 100px 40px;
  }
  .voice__title {
    margin-bottom: 80px;
  }
  .voice__carousel {
    max-width: 80vw;
  }
  .voice__card {
    zoom: 0.85;
  }
  .voice__nav img {
    width: 30px;
  }
  .voice__nav--prev {
    left: -5vw;
  }
  .voice__nav--next {
    right: -5vw;
  }
}
@media (max-width: 768px) {
  .voice {
    padding: 60px 10px;
  }
  .voice__title {
    margin-bottom: 40px;
  }
  .voice__carousel {
    max-width: 80vw;
    margin: 0 auto;
  }
  .voice__card {
    zoom: 0.5;
    border-radius: 30px;
  }
  .voice__header {
    padding-top: 4vw;
    bottom: 2vw;
  }
  .voice__name {
    font-size: clamp(14px, 4vw, 20px);
    padding-left: 4vw;
    margin-bottom: 1vw;
    white-space: nowrap;
  }
  .voice__tags {
    padding-left: 4vw;
    gap: 1vw;
  }
  .voice__tag {
    font-size: clamp(10px, 2.5vw, 14px);
    padding: 1vw 2vw;
    white-space: nowrap;
  }
  .voice__compare {
    gap: 5vw;
    padding: 0 5vw;
  }
  .voice__compare-row {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2vw;
  }
  .voice__compare-key {
    grid-row: 1/4;
    text-align: left;
    width: auto;
    padding-right: 3vw;
  }
  .voice__compare-before {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 10vw;
    padding: 8px 12px;
    border-radius: 8px;
  }
  .voice__compare-arrow {
    grid-column: 2;
    grid-row: 2;
    text-align: center;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .voice__compare-after {
    grid-column: 2;
    grid-row: 3;
    width: 100%;
    height: 10vw;
    padding: 8px 12px;
    border-radius: 8px;
  }
  .voice__compare-after--tall {
    height: 10vw;
  }
  .voice__nav img {
    width: 20px;
  }
  .voice__nav--prev {
    left: -10vw;
  }
  .voice__nav--next {
    right: -10vw;
  }
  .voice__dots {
    gap: 16px;
    margin-top: 20px;
  }
  .voice__dot {
    width: 12px;
    height: 12px;
  }
}
.message {
  position: relative;
  overflow: hidden;
  background-color: rgba(255, 251, 231, 0.5);
}

.message__wrapper {
  position: relative;
  height: 160.99vw;
}

.message__title {
  position: absolute;
  top: 10.42vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}

.message__inner {
  position: relative;
}

.message__photo {
  position: absolute;
  left: 0;
  top: 24.58vw;
  z-index: 1;
}
.message__photo img {
  width: 49.74vw;
  height: auto;
  display: block;
}

.message__inner > img {
  position: absolute;
  right: 0;
  top: 20vw;
  width: 58.38vw;
  height: auto;
  display: block;
  z-index: 2;
}

.message__text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.56vw, 30px);
  color: #212121;
  line-height: 3;
  text-align: center;
  position: absolute;
  top: 73.54vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100% - 400px);
}

.message__entry {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.94vw;
  white-space: nowrap;
  position: absolute;
  top: 130.84vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.message__entry::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.message__entry::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.message__entry-button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 2.08vw, 40px);
  color: #ffffff;
  background-color: #89e351;
  padding: 2.71vw 4.43vw;
  border-radius: 100px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  position: absolute;
  top: 134.42vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-box-shadow: 0 5px 0 #5db82e;
          box-shadow: 0 5px 0 #5db82e;
  -webkit-transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
}
.message__entry-button:hover {
  -webkit-transform: translateX(-50%) translateY(5px);
          transform: translateX(-50%) translateY(5px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media (max-width: 1024px) {
  .message__wrapper {
    height: auto;
    padding: 100px 0 100px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 60px;
  }
  .message__title {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    white-space: normal;
  }
  .message__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    width: 100%;
  }
  .message__photo {
    position: relative;
    top: auto;
    left: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .message__photo img {
    width: 45vw;
  }
  .message__inner > img {
    position: relative;
    top: auto;
    right: auto;
    width: 50vw;
    margin-top: -20px;
  }
  .message__text {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    width: 80%;
    text-align: center;
    line-height: 2;
    font-size: clamp(14px, 1.8vw, 24px);
    margin-top: 20px;
  }
  .message__entry {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    margin-top: 60px;
  }
  .message__entry-button {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    padding: 20px 40px;
    margin-top: 20px;
  }
  .message__entry-button:hover {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
}
@media (max-width: 768px) {
  .message__wrapper {
    height: auto;
    padding: 60px 0 60px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
  .message__title {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    white-space: normal;
  }
  .message__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
    width: 100%;
  }
  .message__photo {
    position: relative;
    top: auto;
    left: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .message__photo img {
    width: 50vw;
  }
  .message__inner > img {
    position: relative;
    top: auto;
    right: auto;
    width: 55vw;
    margin-top: -10px;
  }
  .message__text {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    width: 90%;
    text-align: center;
    line-height: 2;
    font-size: clamp(13px, 3.5vw, 16px);
    margin-top: 10px;
  }
  .message__entry {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    font-size: clamp(12px, 3.5vw, 16px);
    margin-top: 50px;
  }
  .message__entry-button {
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    font-size: clamp(14px, 4.5vw, 20px);
    padding: 16px 30px;
    margin-top: 16px;
  }
  .message__entry-button:hover {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
  }
}
.recruit {
  padding: 200px;
}

.recruit__title-deco {
  margin: 0 auto 150px;
}

.recruit__list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.6vw;
  max-width: 55vw;
  margin: 0 auto 2.6vw;
}

.recruit__item {
  background-color: #ffffff;
  border-radius: 30px;
  overflow: hidden;
}

.recruit__trigger {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.04vw;
  padding: 2.6vw;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
}

.recruit__badge {
  font-size: clamp(10px, 1.04vw, 20px);
  letter-spacing: 0.2em;
  padding: 8px 26px;
  border-radius: 100px;
  border: 1px solid #bababa;
  color: #212121;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.recruit__trigger-info {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.recruit__job-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  font-size: clamp(20px, 2.08vw, 40px);
  color: #212121;
  display: block;
  line-height: 1.4;
}

.recruit__job-salary {
  font-size: clamp(12px, 1.3vw, 25px);
  color: #8a8a8a;
  display: block;
  margin-top: 25px;
}

.recruit__toggle-icon {
  position: relative;
  width: 28px;
  height: 28px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.recruit__toggle-icon::before, .recruit__toggle-icon::after {
  content: "";
  position: absolute;
  background-color: #8a8a8a;
  top: 50%;
  left: 50%;
}
.recruit__toggle-icon::before {
  width: 20px;
  height: 2px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.recruit__toggle-icon::after {
  width: 2px;
  height: 20px;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.recruit__item.is-open .recruit__toggle-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

.recruit__panel {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.recruit__item.is-open .recruit__panel {
  max-height: 3000px;
}

.recruit__panel-inner {
  border-top: 1px solid #9c9c9c;
  padding: 0 2.6vw 2.6vw;
}

.recruit__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.recruit__row {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0 20px;
  padding: 1.04vw 2.6vw;
  border-bottom: 1px solid #9c9c9c;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 -2.6vw;
}

.recruit__row:last-child {
  border-bottom: none;
}

.recruit__row--salary {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}

.recruit__row-key {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.56vw, 30px);
  font-weight: 500;
  color: #212121;
  line-height: 1.6;
  padding-left: 2.6vw;
}

.recruit__row-val {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.3vw, 25px);
  color: #212121;
  padding-left: 5.21vw;
  padding-right: 2.6vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.recruit__salary-intro {
  line-height: 1.6;
}

.recruit__salary-note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6px;
  font-size: clamp(12px, 1.04vw, 20px);
  color: #ffaa43;
  line-height: 1.6;
}
.recruit__salary-note::before {
  content: "●";
  color: #ffaa43;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 10px;
  margin-top: 3px;
}

.recruit__salary-table {
  width: calc(100% - 50px);
  border-collapse: collapse;
  font-size: clamp(12px, 1.04vw, 20px);
}
.recruit__salary-table th {
  background-color: #FFE259;
  color: #212121;
  font-weight: 500;
  padding: 7px 10px;
  text-align: left;
  border: 1px solid #FFE259;
}
.recruit__salary-table td {
  padding: 8px 10px;
  border: 1px solid #ebebeb;
  color: #212121;
}

.recruit__example {
  background-color: #fff5b0;
  border-radius: 30px;
  padding: 14px 16px;
  border: 1px solid #FFE259;
  width: calc(100% - 50px);
}

.recruit__example-trigger {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.recruit__example-icon {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ffaa43;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.recruit__example-label {
  font-size: clamp(12px, 1.04vw, 20px);
  font-weight: bold;
  color: #212121;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.recruit__example-toggle {
  position: relative;
  width: 20px;
  height: 20px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.recruit__example-toggle::before, .recruit__example-toggle::after {
  content: "";
  position: absolute;
  background-color: #8a8a8a;
  top: 50%;
  left: 50%;
}
.recruit__example-toggle::before {
  width: 14px;
  height: 2px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.recruit__example-toggle::after {
  width: 2px;
  height: 14px;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
          transform: translate(-50%, -50%) rotate(0deg);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.recruit__example.is-open .recruit__example-toggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

.recruit__example-body {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.recruit__example.is-open .recruit__example-body {
  max-height: 600px;
}

.recruit__example-body-inner {
  padding-top: 12px;
}

.recruit__example-sales {
  font-size: clamp(12px, 1.04vw, 20px);
  color: #212121;
  line-height: 1.8;
}

.recruit__example-bullet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6px;
  font-size: clamp(12px, 1.04vw, 20px);
  color: #212121;
  line-height: 1.7;
}
.recruit__example-bullet::before {
  content: "●";
  color: #ffaa43;
  font-size: 9px;
  margin-top: 4px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.recruit__example-total {
  border-top: 1px solid #FFE259;
  margin-top: 10px;
  padding-top: 10px;
}

.recruit__example-total-row {
  font-size: clamp(12px, 1.04vw, 20px);
  color: #8a8a8a;
  line-height: 1.9;
  text-align: right;
}
.recruit__example-total-row.is-sum {
  font-size: clamp(14px, 1.3vw, 25px);
  font-weight: bold;
  color: #212121;
  border-top: 1px solid #FFE259;
  margin-top: 4px;
  padding-top: 6px;
}
.recruit__example-total-row.is-plus {
  font-size: clamp(10px, 0.94vw, 18px);
  color: #8a8a8a;
}

.recruit__sub-note {
  font-size: clamp(12px, 1.04vw, 20px);
  color: #212121;
  line-height: 1.9;
}

.recruit__welfare {
  background-color: #ffffff;
  border-radius: 30px;
  padding: 2.6vw;
  max-width: 55vw;
  margin: 0 auto;
}

.recruit__welfare-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(20px, 2.08vw, 40px);
  font-weight: bold;
  color: #212121;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #9c9c9c;
}

.recruit__welfare-group {
  margin-bottom: 20px;
}
.recruit__welfare-group:last-child {
  margin-bottom: 0;
}

.recruit__welfare-category {
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
}

.recruit__welfare-tags {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

.recruit__welfare-tag {
  font-size: clamp(12px, 1.3vw, 25px);
  padding: 10px 30px;
  border-radius: 30px;
  background-color: transparent;
  border: 1px solid #b0b0b0;
  color: #212121;
}
.recruit__welfare-tag--accent {
  background-color: transparent;
  border-color: #b0b0b0;
  color: #212121;
  font-weight: 500;
}

@media (max-width: 1024px) {
  .recruit {
    padding: 80px 40px;
  }
  .recruit__list {
    max-width: 90vw;
    gap: 20px;
  }
  .recruit__trigger {
    padding: 20px;
    gap: 12px;
  }
  .recruit__panel-inner {
    padding: 0 20px 20px;
  }
  .recruit__row {
    grid-template-columns: 120px 1fr;
    padding: 16px 20px;
    margin: 0 -20px;
  }
  .recruit__row-key {
    font-size: clamp(14px, 1.4vw, 20px);
    padding-left: 0;
    text-align: left;
  }
  #item-assistant .recruit__row--salary,
  #item-part .recruit__row--salary {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #item-assistant .recruit__row--salary .recruit__row-key,
  #item-part .recruit__row--salary .recruit__row-key {
    text-align: center;
    width: 100%;
  }
  #item-assistant .recruit__row--salary .recruit__row-val,
  #item-part .recruit__row--salary .recruit__row-val {
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .recruit__row-val {
    padding-left: 20px;
    padding-right: 0;
    font-size: clamp(13px, 1.3vw, 18px);
  }
  .recruit__salary-table {
    width: 100%;
    font-size: clamp(11px, 1.1vw, 16px);
  }
  .recruit__salary-table th, .recruit__salary-table td {
    padding: 6px 8px;
  }
  .recruit__example {
    width: 100%;
  }
  .recruit__welfare {
    max-width: 90vw;
  }
}
@media (max-width: 768px) {
  .recruit {
    padding: 60px 16px;
  }
  .recruit__list {
    max-width: 100%;
    gap: 16px;
  }
  .recruit__trigger {
    padding: 16px;
    gap: 8px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .recruit__badge {
    font-size: clamp(9px, 2.5vw, 12px);
    padding: 6px 16px;
  }
  .recruit__job-title {
    font-size: clamp(16px, 4vw, 20px);
  }
  .recruit__job-salary {
    font-size: clamp(12px, 3vw, 14px);
    margin-top: 8px;
  }
  .recruit__panel-inner {
    padding: 0 16px 16px;
  }
  .recruit__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8px;
    padding: 16px;
    margin: 0 -16px;
  }
  .recruit__row-key {
    font-size: clamp(14px, 3.5vw, 16px);
    padding-left: 0;
    font-weight: bold;
    text-align: left;
  }
  #item-assistant .recruit__row--salary,
  #item-part .recruit__row--salary {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #item-assistant .recruit__row--salary .recruit__row-key,
  #item-part .recruit__row--salary .recruit__row-key {
    text-align: center;
    width: 100%;
  }
  #item-assistant .recruit__row--salary .recruit__row-val,
  #item-part .recruit__row--salary .recruit__row-val {
    text-align: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .recruit__row-val {
    padding-left: 0;
    padding-right: 0;
    font-size: clamp(13px, 3.2vw, 15px);
    gap: 12px;
  }
  .recruit__salary-table {
    width: 100%;
    font-size: clamp(11px, 2.8vw, 13px);
    overflow-x: auto;
    display: block;
  }
  .recruit__salary-table th, .recruit__salary-table td {
    padding: 6px 8px;
    white-space: nowrap;
  }
  .recruit__example {
    width: 100%;
    border-radius: 16px;
  }
  .recruit__example-label {
    font-size: clamp(11px, 2.8vw, 13px);
  }
  .recruit__welfare {
    max-width: 100%;
    padding: 20px 16px;
    border-radius: 20px;
  }
  .recruit__welfare-title {
    font-size: clamp(16px, 4vw, 20px);
  }
  .recruit__welfare-tag {
    font-size: clamp(11px, 2.8vw, 13px);
    padding: 8px 16px;
  }
}
.apply {
  background-color: rgba(255, 251, 231, 0.5);
  padding: 200px;
}

.apply__inner {
  max-width: calc(100vw - 400px);
  margin: 0 auto;
}

.apply__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.6vw;
  margin-top: 5.21vw;
}

.apply__badge {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #ffffff;
  padding: 20px 30px;
  border-radius: 30px;
}
.apply__badge--pink {
  background-color: #FF5F87;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.apply__steps {
  margin-top: 4.69vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4.17vw;
}

.apply__step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.04vw;
}

.apply__step-label {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(18px, 2.08vw, 40px);
  font-weight: bold;
  color: #212121;
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 80px;
}

.apply__step-line {
  height: 1px;
  background-color: #212121;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.apply__step-line--short {
  width: 231px;
}
.apply__step-line--long {
  width: 357px;
}

.apply__step-card {
  background-color: #ffffff;
  border-radius: 30px;
  padding: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.apply__step-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #212121;
  line-height: 1.5;
}

.apply__step-card img:not(.apply__step-icon) {
  width: 224px;
  height: auto;
  margin-left: 130px;
}

.apply__step-icon {
  width: 216px;
  height: auto;
}

.apply__step-list {
  list-style: none;
  border: 1px solid #C6C6C6;
  border-radius: 50px;
  padding: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.apply__step-item {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.56vw, 30px);
  color: #212121;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 13px;
}
.apply__step-item::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #FFAA43;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.apply__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 38px;
  margin: 4.17vw auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.apply__dot {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #FFDEBF;
}
.apply__dot:nth-child(2) {
  background-color: #FFCA96;
}
.apply__dot--active {
  background-color: #FFAA43;
}

.apply__reply {
  margin-top: 4.17vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.apply__reply-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.56vw, 30px);
  color: #212121;
  background-color: #ffffff;
  width: 52.08vw;
  text-align: center;
  padding: 60px 0;
  border-radius: 30px;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.apply__cta-lead {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.94vw;
  white-space: nowrap;
  margin-top: 2.08vw;
}
.apply__cta-lead::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.apply__cta-lead::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #212121;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.apply__cta-button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(16px, 2.08vw, 40px);
  color: #ffffff;
  background-color: #89E351;
  padding: 2.71vw 4.43vw;
  border-radius: 100px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  margin: 0.78vw auto 0;
  -webkit-box-shadow: 0 5px 0 #5DB82E;
          box-shadow: 0 5px 0 #5DB82E;
  -webkit-transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
}
.apply__cta-button:hover {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.apply__message {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 1.3vw, 25px);
  color: #212121;
  text-align: center;
  margin-top: 1.04vw;
}

@media (max-width: 1024px) {
  .apply {
    padding: 80px 40px;
  }
  .apply__inner {
    max-width: 90vw;
  }
  .apply__badge {
    font-size: clamp(14px, 2vw, 24px);
    padding: 16px 24px;
  }
  .apply__step-card {
    padding: 30px 40px;
  }
  .apply__step-text {
    font-size: clamp(16px, 2vw, 24px);
  }
  .apply__step-card img:not(.apply__step-icon) {
    width: 160px;
    margin-left: 40px;
  }
  .apply__step-icon {
    width: 160px;
  }
  .apply__reply-text {
    width: 80vw;
    padding: 40px 0;
  }
}
@media (max-width: 768px) {
  .apply {
    padding: 60px 20px;
  }
  .apply__inner {
    max-width: 100%;
  }
  .apply__badges {
    gap: 16px;
    margin-top: 30px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .apply__badge {
    font-size: clamp(14px, 4vw, 18px);
    padding: 12px 20px;
    border-radius: 20px;
  }
  .apply__steps {
    margin-top: 30px;
    gap: 20px;
  }
  .apply__step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 12px;
  }
  .apply__step-label {
    font-size: clamp(16px, 4vw, 20px);
    width: auto;
  }
  .apply__step-card {
    padding: 24px 20px;
    border-radius: 20px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .apply__step-text {
    font-size: clamp(15px, 4vw, 18px);
    white-space: normal;
  }
  .apply__step:nth-child(1) .apply__step-card,
  .apply__step:nth-child(2) .apply__step-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .apply__step:nth-child(1) .apply__step-card img:not(.apply__step-icon) {
    width: 80px;
    margin-left: 10px;
  }
  .apply__step:nth-child(2) .apply__step-icon {
    width: 60px;
  }
  .apply__step:nth-child(3) .apply__step-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 16px;
  }
  .apply__step-list {
    padding: 20px;
    border-radius: 20px;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .apply__step-item {
    font-size: clamp(13px, 3.5vw, 16px);
    line-height: 1.5;
  }
  .apply__dots {
    gap: 16px;
    margin-top: 30px;
  }
  .apply__dot {
    width: 16px;
    height: 16px;
  }
  .apply__reply {
    margin-top: 30px;
  }
  .apply__reply-text {
    width: 100%;
    padding: 30px 20px;
    border-radius: 20px;
    font-size: clamp(14px, 4vw, 18px);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .apply__cta-lead {
    font-size: clamp(12px, 3.5vw, 16px);
    margin-top: 30px;
  }
  .apply__cta-button {
    font-size: clamp(14px, 4.5vw, 20px);
    padding: 16px 30px;
    margin-top: 12px;
  }
  .apply__message {
    font-size: clamp(12px, 3.5vw, 14px);
    margin-top: 16px;
  }
}
.faq {
  padding: 200px;
}

.faq__inner {
  max-width: calc(100vw - 400px);
  margin: 0 auto;
}

.faq__card {
  background-color: #ffffff;
  border-radius: 30px;
  padding: 60px 100px;
  margin-top: 150px;
}

.faq__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.faq__item {
  margin-bottom: 80px;
}
.faq__item:last-child {
  margin-bottom: 0;
}

.faq__question {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #212121;
  padding-bottom: 30px;
  border-bottom: 1px solid #9C9C9C;
}

.faq__answer {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.56vw, 30px);
  color: #212121;
  line-height: 1.7;
  margin-top: 50px;
}

@media (max-width: 1024px) {
  .faq {
    padding: 80px 40px;
  }
  .faq__inner {
    max-width: 90vw;
  }
  .faq__card {
    padding: 40px 60px;
    margin-top: 60px;
  }
  .faq__item {
    margin-bottom: 50px;
  }
  .faq__question {
    font-size: clamp(16px, 2vw, 28px);
    padding-bottom: 20px;
  }
  .faq__answer {
    font-size: clamp(14px, 1.6vw, 22px);
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .faq {
    padding: 60px 20px;
  }
  .faq__inner {
    max-width: 100%;
  }
  .faq__card {
    padding: 30px 24px;
    margin-top: 40px;
    border-radius: 20px;
  }
  .faq__item {
    margin-bottom: 40px;
  }
  .faq__question {
    font-size: clamp(15px, 4vw, 18px);
    padding-bottom: 16px;
    white-space: normal;
    word-break: break-all;
  }
  .faq__answer {
    font-size: clamp(13px, 3.5vw, 16px);
    margin-top: 20px;
    line-height: 1.8;
  }
}
.closing {
  background-color: #FFFBE7;
  padding: 200px;
  position: relative;
  overflow: hidden;
}

.closing__inner {
  position: relative;
  max-width: calc(100vw - 400px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 1;
}

.closing__deco {
  position: absolute;
  z-index: 0;
}
.closing__deco--scissors {
  width: 35.94vw;
  height: auto;
  top: -200px;
  left: -200px;
}
.closing__deco--dryer {
  width: 17.4vw;
  height: auto;
  top: 15.94vw;
  left: 1vw;
}
.closing__deco--comb {
  width: 16.2vw;
  height: auto;
  top: 32.97vw;
  right: 1vw;
}
.closing__deco--clip {
  width: 18.28vw;
  height: auto;
  top: 52.81vw;
  left: 2vw;
}
.closing__deco--dot-line-top {
  width: 13.49vw;
  height: auto;
  top: 75.94vw;
  right: 1vw;
}
.closing__deco--dot-line-bottom {
  width: 35.94vw;
  height: auto;
  bottom: -200px;
  right: -200px;
}

.closing__title {
  text-align: center;
  margin-bottom: 60px;
}

.closing__message {
  text-align: center;
  margin-bottom: 60px;
  z-index: 1;
}

.closing__message-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #212121;
  line-height: 122px;
}

.closing__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 38px;
  margin-bottom: 60px;
}

.closing__dot {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #FFDEBF;
}
.closing__dot:nth-child(2) {
  background-color: #FFCA96;
}
.closing__dot--active {
  background-color: #FFAA43;
}

.closing__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.6vw;
  margin-bottom: 60px;
}

.closing__badge {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #ffffff;
  padding: 20px 30px;
  border-radius: 30px;
  background-color: #FF5F87;
  -webkit-box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.closing__cta-lead {
  text-align: center;
  margin-bottom: 40px;
  z-index: 1;
}

.closing__cta-lead-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #212121;
  display: block;
  margin-bottom: 16px;
}
.closing__cta-lead-text:last-child {
  font-size: clamp(14px, 1.56vw, 30px);
  margin-top: 16px;
  margin-bottom: 0;
}

.closing__cta-options {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin: 16px 0;
}

.closing__cta-option {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.56vw, 30px);
  font-weight: bold;
  color: #212121;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.closing__cta-option::before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #FFAA43;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.closing__button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: clamp(18px, 2.08vw, 40px);
  color: #ffffff;
  background-color: #89E351;
  padding: 50px 0;
  border-radius: 50px;
  width: 52.08vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  text-decoration: none;
  -webkit-box-shadow: 0 5px 0 #5DB82E;
          box-shadow: 0 5px 0 #5DB82E;
  -webkit-transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  transition: transform 0.1s ease, box-shadow 0.1s ease, -webkit-transform 0.1s ease, -webkit-box-shadow 0.1s ease;
  margin-bottom: 40px;
  z-index: 1;
}
.closing__button:hover {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.closing__button-icon {
  width: 50px;
  height: auto;
}

.closing__footer-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.56vw, 30px);
  color: #212121;
  text-align: center;
}

@media (max-width: 1024px) {
  .closing {
    padding: 80px 40px;
  }
  .closing__inner {
    max-width: 90vw;
  }
  .closing__deco--scissors {
    width: 25vw;
    top: -100px;
    left: -100px;
  }
  .closing__deco--dryer {
    width: 12vw;
  }
  .closing__deco--comb {
    width: 12vw;
  }
  .closing__deco--clip {
    width: 13vw;
  }
  .closing__deco--dot-line-top {
    width: 10vw;
  }
  .closing__deco--dot-line-bottom {
    width: 25vw;
    bottom: -100px;
    right: -100px;
  }
  .closing__message-text {
    font-size: clamp(16px, 2vw, 28px);
    line-height: 5;
  }
  .closing__badge {
    font-size: clamp(14px, 2vw, 24px);
    padding: 16px 24px;
  }
  .closing__button {
    width: 70vw;
    padding: 30px 0;
    font-size: clamp(16px, 2vw, 28px);
  }
}
@media (max-width: 768px) {
  .closing {
    padding: 60px 20px;
  }
  .closing__inner {
    max-width: 100%;
  }
  .closing__deco--scissors {
    width: 40vw;
    top: -60px;
    left: -60px;
  }
  .closing__deco--dryer {
    width: 20vw;
    top: 20vw;
    left: 0;
  }
  .closing__deco--comb {
    width: 20vw;
    top: 45vw;
    right: 0;
  }
  .closing__deco--clip {
    width: 22vw;
    top: 100vw;
    left: 0;
  }
  .closing__deco--dot-line-top {
    width: 16vw;
    top: 150vw;
    right: 0;
  }
  .closing__deco--dot-line-bottom {
    width: 40vw;
    bottom: -70px;
    right: -30px;
  }
  .closing__title {
    margin-bottom: 30px;
  }
  .closing__message {
    margin-bottom: 30px;
  }
  .closing__message-text {
    font-size: clamp(15px, 4vw, 18px);
    line-height: 5;
  }
  .closing__dots {
    gap: 16px;
    margin-bottom: 30px;
  }
  .closing__dot {
    width: 16px;
    height: 16px;
  }
  .closing__badges {
    gap: 16px;
    margin-bottom: 30px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .closing__badge {
    font-size: clamp(14px, 4vw, 18px);
    padding: 12px 20px;
    border-radius: 20px;
  }
  .closing__cta-lead {
    margin-bottom: 24px;
  }
  .closing__cta-lead-text {
    font-size: clamp(15px, 4vw, 18px);
  }
  .closing__cta-lead-text:last-child {
    font-size: clamp(13px, 3.5vw, 16px);
  }
  .closing__cta-options {
    gap: 16px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .closing__cta-option {
    font-size: clamp(13px, 3.5vw, 16px);
  }
  .closing__button {
    width: 90vw;
    padding: 20px 0;
    font-size: clamp(15px, 4.5vw, 20px);
    border-radius: 30px;
    gap: 10px;
  }
  .closing__button-icon {
    width: 30px;
  }
  .closing__footer-text {
    font-size: clamp(12px, 3.5vw, 14px);
  }
}/*# sourceMappingURL=style.css.map */