.c-gap--05 {
  padding-right: 0.05em;
}

.c-gap--06 {
  padding-right: 0.06em;
}

.c-gap--07 {
  padding-right: 0.07em;
}

.c-gap--08 {
  padding-right: 0.08em;
}

.c-gap--09 {
  padding-right: 0.09em;
}

.c-gap--10 {
  padding-right: 0.1em;
}

.c-gap--11 {
  padding-right: 0.11em;
}

.c-gap--12 {
  padding-right: 0.12em;
}

.c-gap--13 {
  padding-right: 0.13em;
}

.c-gap--14 {
  padding-right: 0.14em;
}

.c-gap--15 {
  padding-right: 0.15em;
}

.c-gap--16 {
  padding-right: 0.16em;
}

.c-gap--17 {
  padding-right: 0.17em;
}

.c-gap--18 {
  padding-right: 0.18em;
}

.c-gap--19 {
  padding-right: 0.19em;
}

.c-gap--20 {
  padding-right: 0.2em;
}

.c-gap--21 {
  padding-right: 0.21em;
}

.c-gap--22 {
  padding-right: 0.22em;
}

.c-gap--23 {
  padding-right: 0.23em;
}

.c-gap--24 {
  padding-right: 0.24em;
}

.c-gap--25 {
  padding-right: 0.25em;
}

.c-gap--26 {
  padding-right: 0.26em;
}

.c-gap--27 {
  padding-right: 0.27em;
}

.c-gap--28 {
  padding-right: 0.28em;
}

.c-gap--29 {
  padding-right: 0.29em;
}

.c-gap--30 {
  padding-right: 0.3em;
}

.c-gap--31 {
  padding-right: 0.31em;
}

.c-gap--32 {
  padding-right: 0.32em;
}

.c-gap--33 {
  padding-right: 0.33em;
}

.c-gap--34 {
  padding-right: 0.34em;
}

.c-gap--35 {
  padding-right: 0.35em;
}

.c-gap--36 {
  padding-right: 0.36em;
}

.c-gap--37 {
  padding-right: 0.37em;
}

.c-gap--38 {
  padding-right: 0.38em;
}

.c-gap--39 {
  padding-right: 0.39em;
}

.c-gap--40 {
  padding-right: 0.4em;
}

.c-gap--41 {
  padding-right: 0.41em;
}

.c-gap--42 {
  padding-right: 0.42em;
}

.c-gap--43 {
  padding-right: 0.43em;
}

.c-gap--44 {
  padding-right: 0.44em;
}

.c-gap--45 {
  padding-right: 0.45em;
}

.c-gap--46 {
  padding-right: 0.46em;
}

.c-gap--47 {
  padding-right: 0.47em;
}

.c-gap--48 {
  padding-right: 0.48em;
}

.c-gap--49 {
  padding-right: 0.49em;
}

.c-gap--50 {
  padding-right: 0.5em;
}

.c-gap--51 {
  padding-right: 0.51em;
}

.c-gap--52 {
  padding-right: 0.52em;
}

.c-gap--53 {
  padding-right: 0.53em;
}

.c-gap--54 {
  padding-right: 0.54em;
}

.c-gap--55 {
  padding-right: 0.55em;
}

.c-gap--56 {
  padding-right: 0.56em;
}

.c-gap--57 {
  padding-right: 0.57em;
}

.c-gap--58 {
  padding-right: 0.58em;
}

.c-gap--59 {
  padding-right: 0.59em;
}

.c-gap--60 {
  padding-right: 0.6em;
}

.c-gap--61 {
  padding-right: 0.61em;
}

.c-gap--62 {
  padding-right: 0.62em;
}

.c-gap--63 {
  padding-right: 0.63em;
}

.c-gap--64 {
  padding-right: 0.64em;
}

.c-gap--65 {
  padding-right: 0.65em;
}

.c-gap--66 {
  padding-right: 0.66em;
}

.c-gap--67 {
  padding-right: 0.67em;
}

.c-gap--68 {
  padding-right: 0.68em;
}

.c-gap--69 {
  padding-right: 0.69em;
}

.c-gap--70 {
  padding-right: 0.7em;
}

.c-gap--71 {
  padding-right: 0.71em;
}

.c-gap--72 {
  padding-right: 0.72em;
}

.c-gap--73 {
  padding-right: 0.73em;
}

.c-gap--74 {
  padding-right: 0.74em;
}

.c-gap--75 {
  padding-right: 0.75em;
}

.c-gap--76 {
  padding-right: 0.76em;
}

.c-gap--77 {
  padding-right: 0.77em;
}

.c-gap--78 {
  padding-right: 0.78em;
}

.c-gap--79 {
  padding-right: 0.79em;
}

.c-gap--80 {
  padding-right: 0.8em;
}

.c-gap--81 {
  padding-right: 0.81em;
}

.c-gap--82 {
  padding-right: 0.82em;
}

.c-gap--83 {
  padding-right: 0.83em;
}

.c-gap--84 {
  padding-right: 0.84em;
}

.c-gap--85 {
  padding-right: 0.85em;
}

.c-gap--86 {
  padding-right: 0.86em;
}

.c-gap--87 {
  padding-right: 0.87em;
}

.c-gap--88 {
  padding-right: 0.88em;
}

.c-gap--89 {
  padding-right: 0.89em;
}

.c-gap--90 {
  padding-right: 0.9em;
}

.c-gap--91 {
  padding-right: 0.91em;
}

.c-gap--92 {
  padding-right: 0.92em;
}

.c-gap--93 {
  padding-right: 0.93em;
}

.c-gap--94 {
  padding-right: 0.94em;
}

.c-gap--95 {
  padding-right: 0.95em;
}

.c-gap--96 {
  padding-right: 0.96em;
}

.c-gap--97 {
  padding-right: 0.97em;
}

.c-gap--98 {
  padding-right: 0.98em;
}

.c-gap--99 {
  padding-right: 0.99em;
}

.c-gap--100 {
  padding-right: 1em;
}

.c-gap--100 {
  padding-right: 1.01em;
}

[data-word-reveal] {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
[data-word-reveal] .rect {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
[data-word-reveal] .label {
  visibility: hidden;
  opacity: 0;
  position: relative;
}

[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}

[data-splash] {
  visibility: hidden;
  opacity: 0;
}

[data-splash-drip] {
  visibility: hidden;
  opacity: 0;
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 348px;
  height: 66px;
  border: 0.75px solid transparent;
  border-radius: 50px;
  box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.1);
  background: transparent;
  color: inherit;
  font-weight: 600;
  font-size: clamp(1rem, 0.1876056338vw + 17.2964788732px, 1.111rem);
  text-decoration: none;
  transition: all 0.3s ease;
}
@media (max-width: 820px) {
  .c-btn {
    width: 100%;
    max-width: 348px;
    font-size: 18px;
  }
}
.c-btn::before {
  position: absolute;
  z-index: 0;
  border-radius: inherit;
  background: inherit;
  content: "";
  inset: 0;
}
.c-btn:hover {
  transform: translateY(-2px);
  box-shadow: 6px 6px 6px 0 rgba(0, 0, 0, 0.15);
}
.c-btn--sm {
  width: 240px;
  height: 48px;
  font-size: clamp(0.875rem, 0.2112676056vw + 14.9577464789px, 1rem);
}
@media (max-width: 820px) {
  .c-btn--sm {
    max-width: 240px;
  }
}
.c-btn--md {
  width: 280px;
  height: 56px;
  font-size: clamp(0.938rem, 0.1994366197vw + 16.1361126761px, 1.056rem);
}
@media (max-width: 820px) {
  .c-btn--md {
    max-width: 280px;
  }
}
.c-btn--lg {
  width: 348px;
  height: 66px;
}
.c-btn--xl {
  width: 500px;
  height: 66px;
}
@media (max-width: 820px) {
  .c-btn--xl {
    max-width: 500px;
  }
}
@media (max-width: 480px) {
  .c-btn--xl {
    max-width: 280px;
    height: 56px;
    font-size: clamp(0.938rem, 0.1994366197vw + 16.1361126761px, 1.056rem);
  }
}
.c-btn--line {
  border-color: #252525;
  background: #33b747;
  color: #252525;
}
.c-btn--cta-line {
  background: #33b747;
  color: #fff;
}
.c-btn--ylw {
  border-color: #252525;
  background: #f7c843;
  color: #252525;
}
.c-btn--footer-green {
  border: none;
  box-shadow: none;
  background: #6bcf3c;
  color: #333;
}
.c-btn--footer-green:hover {
  opacity: 0.8;
  transform: none;
  box-shadow: none;
}
.c-btn--footer-blue {
  border: none;
  box-shadow: none;
  background: #3ec7ff;
  color: #333;
}
.c-btn--footer-blue:hover {
  opacity: 0.8;
  transform: none;
  box-shadow: none;
}
.c-btn--footer-pink {
  border: none;
  box-shadow: none;
  background: #f77ba3;
  color: #333;
}
.c-btn--footer-pink:hover {
  opacity: 0.8;
  transform: none;
  box-shadow: none;
}
.c-btn--no-border {
  border: none;
}
.c-btn--no-shadow {
  box-shadow: none;
}
.c-btn--no-shadow:hover {
  box-shadow: none;
}

.c-btn__text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  font-weight: 600;
  font-size: inherit;
  text-wrap: nowrap;
}

.c-btn__arrow {
  position: absolute;
  top: 50%;
  right: 24px;
  z-index: 2;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
}
@media (max-width: 820px) {
  .c-btn__arrow {
    right: 20px;
    width: 12px;
    height: 12px;
  }
}
.c-btn__arrow--left {
  right: auto;
  left: 24px;
}
@media (max-width: 820px) {
  .c-btn__arrow--left {
    left: 20px;
  }
}

.c-btn__splash {
  position: absolute;
  top: 50%;
  z-index: -1;
  transform: translate(20%, -55%);
  width: 98px;
  height: 113.28px;
  pointer-events: none;
}
@media (max-width: 820px) {
  .c-btn__splash {
    width: 80px;
  }
}
.c-btn__splash--right {
  right: -40px;
}
@media (max-width: 820px) {
  .c-btn__splash--right {
    right: -20px;
  }
}
.c-btn__splash--left {
  left: -40px;
}
@media (max-width: 820px) {
  .c-btn__splash--left {
    left: -20px;
  }
}
.c-btn__splash--sm {
  width: 60px;
  height: 60px;
}
@media (max-width: 820px) {
  .c-btn__splash--sm {
    width: 45px;
    height: 45px;
  }
}
.c-btn__splash--lg {
  width: 100px;
  height: 100px;
}
@media (max-width: 820px) {
  .c-btn__splash--lg {
    width: 75px;
    height: 75px;
  }
}

.c-cta-line-box {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 620px;
  margin: 0 auto;
}
.c-cta-line-box__bracket {
  flex-shrink: 0;
  position: relative;
  width: 35px;
  min-width: 35px;
}
@media (max-width: 480px) {
  .c-cta-line-box__bracket {
    width: 20px;
    min-width: 20px;
  }
}
.c-cta-line-box__bracket--left {
  border-top: 1px solid #252525;
  border-bottom: 1px solid #252525;
  border-left: 1px solid #252525;
}
.c-cta-line-box__bracket--right {
  border-top: 1px solid #252525;
  border-right: 1px solid #252525;
  border-bottom: 1px solid #252525;
}
.c-cta-line-box__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem) clamp(2.5rem, 1.877915493vw + 37.9578169014px, 3.6111rem);
}
@media (max-width: 480px) {
  .c-cta-line-box__content {
    padding: clamp(0.8rem, 0.7098591549vw + 11.738028169px, 1.22rem);
  }
}
.c-cta-line-box__text {
  margin-bottom: 24px;
  font-weight: 500;
  text-align: center;
}
.c-cta-line-box__highlight {
  margin: 0 0.15em;
  font-size: clamp(1.1rem, 0.1690140845vw + 19.1661971831px, 1.2rem);
}
.c-cta-line-box__note {
  margin-top: 18px;
  font-weight: 500;
  font-size: clamp(0.78rem, 0.185915493vw + 13.3428169014px, 0.89rem);
  text-align: center;
}
.c-cta-line-box--white .c-cta-line-box__bracket--left {
  border-top-color: #fff;
  border-bottom-color: #fff;
  border-left-color: #fff;
}
.c-cta-line-box--white .c-cta-line-box__bracket--right {
  border-top-color: #fff;
  border-right-color: #fff;
  border-bottom-color: #fff;
}
.c-cta-line-box--white .c-cta-line-box__text,
.c-cta-line-box--white .c-cta-line-box__note {
  color: #fff;
}

.c-section-en-title {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-section-en-title__icon {
  flex-shrink: 0;
  width: 0.86em;
  height: auto;
}
.c-section-en-title__text {
  margin: 0;
  font-weight: 600;
  font-size: 1rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.05em;
}
@media (max-width: 480px) {
  .c-section-en-title__text {
    font-size: 0.95rem;
  }
}
.c-section-en-title--white .c-section-en-title__icon {
  filter: brightness(0) invert(1);
}

.c-hamburger-btn {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
  opacity: 0;
  position: relative;
  z-index: 1001;
  width: 110px;
  height: 40px;
  margin: auto 0;
  padding: 0 20px;
  border: 2px solid #252525;
  border-radius: 50px;
  box-sizing: border-box;
  background-color: #4caf50;
  color: #252525;
  font-weight: 700;
  font-size: 14px;
  font-family: "Plus Jakarta Sans", sans-serif;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  animation: fadeInButton 0.1s ease 0.05s forwards;
  contain: layout size;
  will-change: transform;
}
@media (width <= 768px) {
  .c-hamburger-btn {
    width: 90px;
    height: 35px;
    margin: 0 2vw;
    padding: 0 16px;
    border: 1.5px solid #252525;
    font-size: 12px;
  }
}
.c-hamburger-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.c-hamburger-btn:active {
  transform: translateY(0);
}
.c-hamburger-btn__icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  width: 18px;
  height: 14px;
}
.c-hamburger-btn__icon span {
  display: block;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: #252525;
  transition: all 0.3s ease;
}
.c-hamburger-btn.is-active .c-hamburger-btn__icon span:nth-child(1) {
  transform: translateY(6.5px) rotate(45deg);
}
.c-hamburger-btn.is-active .c-hamburger-btn__icon span:nth-child(2) {
  opacity: 0;
}
.c-hamburger-btn.is-active .c-hamburger-btn__icon span:nth-child(3) {
  transform: translateY(-6.5px) rotate(-45deg);
}

.c-hamburger-overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  clip-path: circle(0% at 95% 5%);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
  transform: translateZ(0);
  width: 100vw;
  height: 100vh;
  background: #4caf50;
  backface-visibility: hidden;
  pointer-events: none;
  will-change: clip-path, opacity, visibility;
}
.c-hamburger-overlay.is-open {
  visibility: visible;
  pointer-events: auto;
}

.c-hamburger-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1000;
  max-width: 600px;
  padding: 60px 40px;
}
@media (width <= 768px) {
  .c-hamburger-content {
    padding: 40px 20px;
  }
}

.c-hamburger-nav {
  width: 100%;
}

.c-hamburger-menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-hamburger-item {
  opacity: 0;
}
.c-hamburger-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 32px;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  text-decoration: none;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
@media (width <= 768px) {
  .c-hamburger-item a {
    padding: 16px 24px;
    font-size: 18px;
  }
}
.c-hamburger-item a:hover {
  transform: translateX(8px);
}
.c-hamburger-item a:active {
  transform: translateX(4px);
}
.c-hamburger-item__icon {
  margin-right: 16px;
  font-size: 24px;
}
@media (width <= 768px) {
  .c-hamburger-item__icon {
    margin-right: 12px;
    font-size: 20px;
  }
}
.c-hamburger-item__text {
  flex: 1;
}
.c-hamburger-item__arrow {
  opacity: 0.6;
  margin-left: auto;
  font-size: 20px;
  transition: opacity 0.2s ease;
}
a:hover .c-hamburger-item__arrow {
  opacity: 1;
}

.c-hamburger-close {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  position: absolute;
  top: 32px;
  right: 32px;
  z-index: 1001;
  width: 48px;
  height: 48px;
  border: 3px solid #252525;
  border-radius: 50%;
  background-color: #fff;
  color: #252525;
  font-size: 24px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
@media (width <= 768px) {
  .c-hamburger-close {
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
}
.c-hamburger-close:hover {
  transform: rotate(90deg) scale(1.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

@keyframes fadeInButton {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fix_header .l-header__inner,
.fix_header .l-container {
  display: flex;
  align-items: center;
  width: min(100%, 1320px);
  margin: 0 auto;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
@media (width <= 1350px) {
  .fix_header .l-header__inner,
  .fix_header .l-container {
    padding: 0 clamp-generator(1.5, 3);
  }
}

.l-header__inner .c-hamburger-btn {
  margin-left: auto;
}

.l-fixHeader__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-fixHeader .c-hamburger-btn {
  margin-left: auto;
}

.l-footer {
  position: relative;
  background-color: #252525;
  color: #fff;
}
.l-footer__decoration {
  position: absolute;
  top: -2%;
  right: 4%;
  width: 140px;
  height: auto;
  pointer-events: none;
}
@media (max-width: 480px) {
  .l-footer__decoration {
    width: 90px;
  }
}
.l-footer__decoration img {
  display: block;
  width: 100%;
  height: auto;
}
.l-footer__inner {
  position: relative;
  padding: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem) 2.8rem clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
}
@media (max-width: 480px) {
  .l-footer__inner {
    padding: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem) 0 clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
  }
}
.l-footer__main {
  margin-bottom: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
}
.l-footer__catch {
  margin: 0 0 clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
  color: #fff;
  font-weight: 700;
  font-size: clamp(3.33rem, 2.8225352113vw + 49.3554929577px, 5rem);
  line-height: 1.3;
  font-family: "Plus Jakarta Sans", sans-serif;
}
@media (max-width: 480px) {
  .l-footer__catch {
    font-size: clamp(3.5rem, 0.8450704225vw + 59.8309859155px, 4rem);
  }
}
.l-footer__nav {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
}
@media (max-width: 480px) {
  .l-footer__nav .c-btn {
    width: 270px;
    height: 54px;
    font-size: clamp(0.938rem, 0.1994366197vw + 16.1361126761px, 1.056rem);
  }
}
.l-footer .c-btn {
  color: #252525;
  font-size: 0.95rem;
  font-family: "Plus Jakarta Sans", sans-serif;
}
.l-footer__branding {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
}
@media (max-width: 480px) {
  .l-footer__branding {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
  }
}
.l-footer__logo-area {
  display: flex;
  align-items: center;
  gap: 16px;
}
.l-footer__logo {
  width: auto;
  height: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
}
.l-footer__logo-divider {
  display: block;
  width: clamp(1.88rem, 0.2028169014vw + 33.0794366197px, 2rem);
  height: 1px;
  background-color: #fff;
}
.l-footer__tagline {
  color: #fff;
  font-size: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem);
  font-family: "Plus Jakarta Sans", sans-serif;
}
.l-footer__company-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #fff;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  text-decoration: none;
  transition: opacity 0.3s;
}
.l-footer__company-link:hover {
  opacity: 0.7;
}
.l-footer__company-icon {
  width: 0.95em;
  height: auto;
}
.l-footer__divider {
  margin: 0 0 clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.l-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 480px) {
  .l-footer__bottom {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  }
}
.l-footer__sns {
  display: flex;
  align-items: center;
  gap: 24px;
}
.l-footer__sns-link {
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.3s;
}
.l-footer__sns-link:hover {
  opacity: 0.7;
}
.l-footer__sns-link img {
  width: clamp(1.33rem, 0.5746478873vw + 21.7850704225px, 1.67rem);
  height: auto;
}
.l-footer__copyright {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: clamp(0.78rem, 0.185915493vw + 13.3428169014px, 0.89rem);
}

.page-service {
  font-family: "Zen Kaku Gothic New", sans-serif !important;
}

.s-keyvisual {
  position: relative;
  overflow: hidden;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.s-keyvisual__inner {
  width: min(100%, 1320px);
  margin: 0 auto;
}
@media (width <= 1350px) {
  .s-keyvisual__inner {
    padding: 0 clamp(1.5rem, 2.5352112676vw + 17.4929577465px, 3rem);
  }
}
@media (max-width: 820px) {
  .s-keyvisual__inner {
    padding: 0 2.5rem;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__inner {
    padding: 0 1.5rem;
  }
}
.s-keyvisual__wrap {
  display: grid;
  align-items: center;
  gap: clamp(1rem, 5.0704225352vw + -1.014084507px, 4rem);
  position: relative;
  grid-template-columns: 1fr 1.1fr;
}
@media (max-width: 820px) {
  .s-keyvisual__wrap {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__wrap {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
.s-keyvisual__content {
  z-index: 2;
}
@media (max-width: 480px) {
  .s-keyvisual__content {
    display: contents;
  }
}
.s-keyvisual__title-area {
  margin-top: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
  margin-bottom: clamp(3.5rem, 3.3802816901vw + 50.323943662px, 5.5rem);
}
@media (max-width: 820px) {
  .s-keyvisual__title-area {
    margin-bottom: 30px;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__title-area {
    order: 1;
    width: 95%;
    margin-top: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
    margin-bottom: 0;
  }
}
.s-keyvisual__subtitle {
  margin-bottom: clamp(2rem, 1.1830985915vw + 31.5633802817px, 2.7rem);
  color: #333;
  font-weight: 600;
  font-size: clamp(0.8rem, 0.7098591549vw + 11.738028169px, 1.22rem);
}
@media (max-width: 820px) {
  .s-keyvisual__subtitle {
    margin-bottom: 16px;
    font-size: 16px;
  }
}
.s-keyvisual__subtitle-normal {
  margin-right: 2px;
}
.s-keyvisual__subtitle-highlight {
  padding: 4px 2px 4px 4px;
  background: #f7c843;
  font-weight: bold;
  font-size: clamp(1rem, 0.4732394366vw + 16.2253521127px, 1.28rem);
}
.s-keyvisual__title {
  margin-bottom: clamp(2rem, 2.3661971831vw + 27.1267605634px, 3.4rem);
  color: #252525;
  font-weight: bold;
  font-size: clamp(1.5rem, 2.5352112676vw + 17.4929577465px, 3rem);
  line-height: 1.5;
}
@media (max-width: 820px) {
  .s-keyvisual__title {
    margin-bottom: 20px;
    font-size: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  }
}
@media (max-width: 480px) {
  .s-keyvisual__title {
    margin-bottom: 16px;
    font-size: clamp(1.8rem, 0.338028169vw + 31.1323943662px, 2rem);
  }
}
.s-keyvisual__title-line {
  display: block;
}
.s-keyvisual__title-accent {
  color: #e53935;
}
.s-keyvisual__title-blue {
  color: #2196f3;
}
.s-keyvisual__desc {
  font-weight: 600;
  line-height: 1.8;
}
@media (max-width: 820px) {
  .s-keyvisual__desc {
    font-size: 16px;
  }
}
.s-keyvisual__cta-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  margin-right: 86px;
}
@media (max-width: 820px) {
  .s-keyvisual__cta-area {
    align-items: flex-start;
    gap: 24px;
    margin-right: 0;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__cta-area {
    align-items: center;
    order: 3;
    width: 95%;
    margin-top: 1.5rem;
  }
}
.s-keyvisual__cta-area .c-btn--line {
  position: relative;
}
@media (max-width: 820px) {
  .s-keyvisual__cta-area .c-btn--line {
    width: 90%;
    height: 46px;
    font-size: clamp(0.9rem, 0.1690140845vw + 15.5661971831px, 1rem);
  }
}
@media (max-width: 480px) {
  .s-keyvisual__cta-area .c-btn--line {
    width: 100%;
    max-width: 348px;
  }
}
.s-keyvisual__cta-area .c-btn__splash--right {
  position: absolute;
  top: 50%;
  right: -40px;
  z-index: -1;
  transform: translate(20%, -55%);
  width: 98px;
  height: 113.28px;
  pointer-events: none;
}
@media (max-width: 820px) {
  .s-keyvisual__cta-area .c-btn__splash--right {
    right: -20px;
    width: 80px;
  }
}
.s-keyvisual__phone {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media (max-width: 820px) {
  .s-keyvisual__phone {
    gap: 10px;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__phone {
    margin: 0 auto;
  }
}
.s-keyvisual__phone-icon {
  flex-shrink: 0;
  width: 28px;
  height: auto;
  aspect-ratio: 1/1;
}
@media (max-width: 820px) {
  .s-keyvisual__phone-icon {
    width: 20px;
  }
}
.s-keyvisual__phone-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.s-keyvisual__phone-number {
  color: #333;
  font-weight: bold;
  font-size: clamp(1.222rem, 0.3752112676vw + 20.5889577465px, 1.444rem);
  line-height: 1;
  font-family: "Plus Jakarta Sans", sans-serif;
  text-decoration: none;
  transition: color 0.3s ease;
}
@media (max-width: 820px) {
  .s-keyvisual__phone-number {
    font-size: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
  }
}
.s-keyvisual__phone-number:hover {
  color: #2196f3;
}
.s-keyvisual__phone-hours {
  margin: 0;
  color: #777;
  font-size: clamp(0.6rem, 0.1115492958vw + 10.3816901408px, 0.666rem);
}
@media (max-width: 820px) {
  .s-keyvisual__phone-hours {
    font-size: 12px;
  }
}
.s-keyvisual__image-area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(1rem, 2.7042253521vw + 7.8591549296px, 2.6rem);
  position: relative;
  z-index: 1;
}
@media (max-width: 820px) {
  .s-keyvisual__image-area {
    gap: clamp(0.8rem, 0vw + 14.4px, 0.8rem);
  }
}
@media (max-width: 480px) {
  .s-keyvisual__image-area {
    order: 2;
  }
}
.s-keyvisual__copy {
  position: absolute;
  top: 80px;
  left: 0;
  z-index: 10;
  width: clamp(8rem, 14.5352112676vw + 89.4929577465px, 16.6rem);
  height: auto;
}
@media (max-width: 820px) {
  .s-keyvisual__copy {
    width: 140px;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__copy {
    top: 60px;
    left: 15%;
    width: 150px;
  }
}
.s-keyvisual__image-wrap {
  position: relative;
  margin-top: 100px;
  overflow: hidden;
}
@media (max-width: 820px) {
  .s-keyvisual__image-wrap {
    border-radius: 36px;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__image-wrap {
    width: 90%;
    margin-top: 0;
  }
}
.s-keyvisual__image {
  display: block;
  width: 100%;
  height: auto;
}
.s-keyvisual__price-box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: fit-content;
}
@media (max-width: 820px) {
  .s-keyvisual__price-box {
    width: 90%;
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__price-box {
    width: 100%;
    margin-top: 0;
  }
}
.s-keyvisual__price-main {
  width: fit-content;
  padding: 16px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
}
@media (max-width: 480px) {
  .s-keyvisual__price-main {
    width: 90%;
    margin: 0 auto;
  }
}
.s-keyvisual__price-row {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: clamp(0.8rem, 0.338028169vw + 13.1323943662px, 1rem);
  margin: 0;
}
@media (max-width: 820px) {
  .s-keyvisual__price-row {
    gap: clamp(0.5rem, 0.5070422535vw + 7.0985915493px, 0.8rem);
  }
}
.s-keyvisual__price-label {
  font-weight: 500;
  font-size: clamp(0.5rem, 1.0563380282vw + 5.0387323944px, 1.125rem);
  line-height: 1.8;
}
@media (max-width: 820px) {
  .s-keyvisual__price-label {
    font-size: 14px;
  }
}
.s-keyvisual__price-amount {
  font-weight: bold;
  font-size: clamp(1rem, 3.3802816901vw + 5.323943662px, 3rem);
  line-height: 1;
  font-family: "Plus Jakarta Sans", sans-serif;
}
@media (max-width: 820px) {
  .s-keyvisual__price-amount {
    font-size: 24px;
  }
}
.s-keyvisual__price-unit {
  font-weight: 500;
  font-size: clamp(0.5rem, 1.0563380282vw + 5.0387323944px, 1.125rem);
  line-height: 1.8;
}
@media (max-width: 820px) {
  .s-keyvisual__price-unit {
    font-size: 14px;
  }
}
.s-keyvisual__price-note {
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: -0.04em;
  text-align: right;
}
@media (max-width: 820px) {
  .s-keyvisual__price-note {
    margin-top: 16px;
    text-align: left;
  }
}
@media (max-width: 480px) {
  .s-keyvisual__price-note {
    width: 100%;
    text-align: center;
  }
}
.s-keyvisual__price-note br {
  display: none;
}
@media (max-width: 1000px) {
  .s-keyvisual__price-note br {
    display: inline;
  }
}

.s-line-guide {
  padding: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem) 0;
}
@media (max-width: 820px) {
  .s-line-guide {
    padding: 60px 0;
  }
}
.s-line-guide__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  max-width: 960px;
  padding: 0 clamp(1.5rem, 2.5352112676vw + 17.4929577465px, 3rem);
  width: min(100%, 1320px);
  margin: 0 auto;
}
@media (width <= 1350px) {
  .s-line-guide__inner {
    padding: 0 clamp(1.5rem, 2.5352112676vw + 17.4929577465px, 3rem);
  }
}
@media (max-width: 820px) {
  .s-line-guide__inner {
    gap: 40px;
    padding: 0 20px;
  }
}
.s-line-guide__campaign {
  width: 100%;
}
.s-line-guide__campaign-link {
  display: block;
  max-width: 850px;
  transition: opacity 0.3s ease;
}
.s-line-guide__campaign-link:hover {
  opacity: 0.85;
}
.s-line-guide__campaign-image {
  display: block;
  width: 100%;
  height: auto;
}
.s-line-guide__banner {
  width: 100%;
}
.s-line-guide__banner-link {
  display: block;
  transition: opacity 0.3s ease;
}
.s-line-guide__banner-link:hover {
  opacity: 0.85;
}
.s-line-guide__banner-image {
  display: block;
  width: 100%;
  height: auto;
}

.s-intro {
  position: relative;
  padding: clamp(4rem, 6.7605633803vw + 46.6478873239px, 8rem) 0;
}
.s-intro__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 480px) {
  .s-intro__inner {
    margin-bottom: clamp(4rem, 6.7605633803vw + 46.6478873239px, 8rem);
  }
}
.s-intro__images {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(2rem, 3.3802816901vw + 23.323943662px, 4rem);
  position: relative;
  margin-bottom: clamp(8rem, 1.6901408451vw + 137.661971831px, 9rem);
}
@media (max-width: 480px) {
  .s-intro__images {
    flex-wrap: wrap;
    gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
    margin-bottom: clamp(5rem, 5.0704225352vw + 70.985915493px, 8rem);
  }
}
.s-intro__image-wrapper {
  position: relative;
}
.s-intro__image-wrapper--left {
  position: absolute;
  top: 87%;
  left: 0;
  transform: translate(-30%, -50%);
  width: 24%;
}
@media (max-width: 820px) {
  .s-intro__image-wrapper--left {
    transform: translate(-5%, -50%);
    width: 21%;
  }
}
@media (max-width: 480px) {
  .s-intro__image-wrapper--left {
    order: 1;
    position: static;
    transform: none;
    width: calc(45% - clamp(0.75rem, 0.4225352113vw + 11.9154929577px, 1rem));
  }
}
.s-intro__image-wrapper--right {
  position: absolute;
  top: 45%;
  right: 0;
  z-index: 2;
  transform: translate(35%, -50%);
  width: 22.5%;
}
@media (max-width: 820px) {
  .s-intro__image-wrapper--right {
    transform: translate(0%, -50%);
    width: 20%;
  }
}
@media (max-width: 480px) {
  .s-intro__image-wrapper--right {
    order: 2;
    position: static;
    transform: none;
    width: calc(38% - clamp(0.75rem, 0.4225352113vw + 11.9154929577px, 1rem));
  }
}
.s-intro__image {
  display: block;
  width: 100%;
  height: auto;
}
.s-intro__image--left {
  aspect-ratio: 320/264;
}
.s-intro__image--right {
  aspect-ratio: 1/1;
}
.s-intro__splash {
  position: absolute;
  z-index: -1;
}
.s-intro__splash--left {
  top: 0;
  right: 0;
  transform: translate(-20%, -42%);
  width: 52%;
  height: auto;
  aspect-ratio: 164/189.54;
}
@media (max-width: 480px) {
  .s-intro__splash--left {
    top: 80%;
    right: auto;
    left: 0;
    transform: translate(-20%, -15%);
    width: 20%;
  }
}
.s-intro__splash--right {
  top: 0;
  left: 0;
  transform: translate(-40%, -52%);
  width: 60%;
  height: auto;
  aspect-ratio: 137/158.37;
}
@media (max-width: 480px) {
  .s-intro__splash--right {
    top: 80%;
    right: 0;
    left: auto;
    transform: translate(25%, -15%);
    width: 20%;
  }
}
.s-intro__splash--bottom {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  transform: translate(20%, 35%);
  width: 9.5%;
  height: auto;
  aspect-ratio: 122/120.3;
}
@media (max-width: 820px) {
  .s-intro__splash--bottom {
    transform: translate(-16%, 40%);
    width: 16%;
  }
}
.s-intro__content {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (max-width: 480px) {
  .s-intro__content {
    order: 0;
    width: 100%;
    margin-bottom: clamp(3rem, 6.3836619718vw + 30.0612676056px, 6.777rem);
  }
}
.s-intro__label {
  margin-bottom: 1rem;
}
.s-intro__title {
  margin-bottom: clamp(3rem, 6.3836619718vw + 30.0612676056px, 6.777rem);
  font-weight: 700;
  font-size: clamp(2rem, 1.1323943662vw + 31.7535211268px, 2.67rem);
  line-height: 1.55;
}
.s-intro__text {
  font-weight: 500;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 2;
}

.s-concerns {
  background-color: #2d2d2d;
  color: #fff;
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
  padding-top: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-concerns {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-concerns__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-concerns__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-concerns__inner {
    padding: 0 1.8rem;
  }
}
.s-concerns__header {
  text-align: center;
  margin-bottom: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
}
.s-concerns__label {
  display: flex;
  justify-content: center;
  margin-bottom: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
}
.s-concerns__title {
  margin-bottom: clamp(2.5rem, 1.6901408451vw + 38.661971831px, 3.5rem);
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
}
@media (max-width: 480px) {
  .s-concerns__title {
    margin-left: 26px;
  }
}
.s-concerns__description {
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 0.5070422535vw + 7.0985915493px, 0.8rem);
}
.s-concerns__desc-item {
  line-height: 1.6;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-concerns__cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(2rem, 5.0704225352vw + 16.985915493px, 5rem);
  padding-top: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
}
.s-concerns__card {
  position: relative;
  width: 250px;
  height: auto;
  aspect-ratio: 250/360;
}
@media (max-width: 820px) {
  .s-concerns__card {
    width: 230px;
  }
}
.s-concerns__card::before {
  position: absolute;
  z-index: 0;
  border-radius: 12px;
  background-color: #aaa;
  content: "";
  inset: 0;
}
.s-concerns__card--1 .s-concerns__card-content {
  margin-left: 14px;
}
.s-concerns__card--1 .s-concerns__card-text {
  margin-left: 4px;
}
.s-concerns__card--1 .s-concerns__card-bg {
  transform: rotate(-5deg);
}
.s-concerns__card--2 .s-concerns__card-content {
  margin-right: 4px;
}
.s-concerns__card--2 .s-concerns__card-text {
  margin-right: 4px;
}
.s-concerns__card--2 .s-concerns__card-bg {
  transform: rotate(6deg);
}
.s-concerns__card--3 .s-concerns__card-content {
  margin-left: 14px;
}
.s-concerns__card--3 .s-concerns__card-text {
  margin-left: 4px;
}
.s-concerns__card--3 .s-concerns__card-bg {
  transform: rotate(-5deg);
}
.s-concerns__card-bg {
  position: absolute;
  z-index: 1;
  border-radius: 12px;
  background: linear-gradient(135deg, #f8f8f8 0%, #dfdfdf 100%);
  inset: 0;
}
.s-concerns__card-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  height: 100%;
  padding: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
}
.s-concerns__card-image {
  width: 120px;
  height: 120px;
  margin-bottom: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
  border-radius: 8px;
  object-fit: cover;
}
.s-concerns__card-title {
  margin-bottom: clamp(0.8rem, 0.338028169vw + 13.1323943662px, 1rem);
  color: #252525;
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
  line-height: 1.4;
}
.s-concerns__card-text {
  color: #252525;
  font-size: clamp(0.6rem, 0.338028169vw + 9.5323943662px, 0.8rem);
  line-height: 1.6;
  text-align: center;
}
.s-concerns__arrow {
  width: 0;
  height: 0;
  margin: 0 auto;
  border-top: 48px solid #2d2d2d;
  border-right: 105px solid transparent;
  border-left: 105px solid transparent;
}

.s-cta-line {
  position: relative;
  z-index: 2;
  margin-bottom: clamp(4.5rem, 3.3802816901vw + 68.323943662px, 6.5rem);
  padding: clamp(3rem, 3.3802816901vw + 41.323943662px, 5rem) 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (max-width: 820px) {
  .s-cta-line {
    margin-bottom: clamp(2rem, 3.3802816901vw + 23.323943662px, 4rem);
  }
}
.s-cta-line__image-wrapper {
  position: absolute;
  z-index: -1;
}
.s-cta-line__image-wrapper--right {
  top: 0;
  right: 0;
}
@media (max-width: 820px) {
  .s-cta-line__image-wrapper--right {
    top: 20%;
    width: 8%;
  }
}
.s-cta-line__image-wrapper--left {
  bottom: 0;
  left: 0;
}
@media (max-width: 820px) {
  .s-cta-line__image-wrapper--left {
    top: 50%;
    bottom: auto;
    width: 10%;
  }
}
.s-cta-line__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto;
  padding: 0 20px;
}
.s-cta-line__title {
  width: fit-content;
  margin-bottom: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  margin-left: 0.5em;
  font-weight: 700;
  font-size: clamp(2rem, 1.1323943662vw + 31.7535211268px, 2.67rem);
  line-height: 1.55;
  text-align: center;
}
.s-cta-line__subtitle-wrapper {
  position: relative;
  width: fit-content;
  margin-bottom: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  text-align: center;
}
.s-cta-line__subtitle {
  margin-bottom: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
  font-weight: 600;
  font-size: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem);
}
.s-cta-line__underline {
  display: block;
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto;
}
.s-cta-line__image {
  margin-bottom: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
  text-align: center;
}
.s-cta-line__img {
  width: 100%;
  max-width: 900px;
  height: auto;
  border-radius: 12px;
}
@media (max-width: 820px) {
  .s-cta-line__img {
    max-width: 90%;
  }
}

.s-difference {
  position: relative;
  padding: clamp(5rem, 1.6901408451vw + 83.661971831px, 6rem) 0;
  background-color: #252525;
  color: #fff;
}
.s-difference__wave-wrapper {
  position: relative;
  overflow: visible;
}
.s-difference__wave-wrapper--top {
  margin-bottom: -1px;
}
.s-difference__wave-wrapper--bottom {
  margin-top: -1px;
}
.s-difference__wave {
  display: block;
  width: 100%;
  aspect-ratio: 1440/132;
}
.s-difference__splash {
  position: absolute;
  z-index: 2;
  width: 180px;
  height: auto;
}
.s-difference__splash--top {
  top: 24%;
  right: 32px;
}
@media (max-width: 480px) {
  .s-difference__splash--top {
    right: 15px;
    width: 100px;
  }
}
.s-difference__splash--bottom {
  bottom: -24%;
  left: 40px;
  width: 130px;
}
@media (max-width: 820px) {
  .s-difference__splash--bottom {
    bottom: -100%;
  }
}
@media (max-width: 480px) {
  .s-difference__splash--bottom {
    bottom: -200%;
    left: 15px;
    width: 100px;
  }
}
.s-difference__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-difference__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-difference__inner {
    padding: 0 1.8rem;
  }
}
.s-difference__header {
  text-align: left;
  margin-bottom: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
}
.s-difference__label {
  margin-bottom: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
}
.s-difference__title {
  margin-bottom: clamp(2.5rem, 1.6901408451vw + 38.661971831px, 3.5rem);
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
}
.s-difference__description {
  max-width: 600px;
  margin: 0 auto 0 0;
  text-align: left;
}
.s-difference__desc-item {
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-difference__cards {
  display: grid;
  gap: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  margin-bottom: clamp(8rem, 3.3802816901vw + 131.323943662px, 10rem);
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
}
@media (max-width: 480px) {
  .s-difference__cards {
    margin-bottom: clamp(4rem, 1.6901408451vw + 65.661971831px, 5rem);
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
.s-difference__card {
  display: flex;
  flex-direction: column;
  max-width: 550px;
  height: 100%;
  padding: clamp(1.6rem, 0.0845070423vw + 28.4830985915px, 1.65rem);
  border-radius: 12px;
  background-color: #fff;
  color: #252525;
}
.s-difference__card-label {
  margin-bottom: clamp(1.2rem, 0.338028169vw + 20.3323943662px, 1.4rem);
  color: #666;
  font-weight: 600;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(0.78rem, 0.185915493vw + 13.3428169014px, 0.89rem);
  line-height: 1.6;
}
.s-difference__card-title {
  margin-bottom: clamp(2rem, 0.676056338vw + 33.4647887324px, 2.4rem);
  font-weight: 700;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
  line-height: 1.4;
}
.s-difference__card-text {
  margin-top: auto;
  font-size: 0.925rem;
  line-height: 2;
}

.s-before-after {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
  padding-top: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-before-after {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-before-after__inner {
  display: grid;
  align-items: start;
  gap: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
  grid-template-columns: 1fr 1fr;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-before-after__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-before-after__inner {
    padding: 0 1.8rem;
  }
}
@media (max-width: 820px) {
  .s-before-after__inner {
    grid-template-columns: 1fr;
  }
}
.s-before-after__splash {
  position: absolute;
  z-index: 0;
}
.s-before-after__splash--left {
  bottom: 8%;
  left: 0;
  transform: translateY(-50%);
  width: 140px;
  height: auto;
}
@media (max-width: 820px) {
  .s-before-after__splash--left {
    width: 100px;
  }
}
@media (max-width: 480px) {
  .s-before-after__splash--left {
    width: 80px;
  }
}
.s-before-after__splash--right {
  top: -20%;
  right: -30%;
  width: 138px;
  height: auto;
}
@media (max-width: 820px) {
  .s-before-after__splash--right {
    top: -10%;
    right: -15%;
    width: 100px;
  }
}
@media (max-width: 480px) {
  .s-before-after__splash--right {
    width: 60px;
  }
}
.s-before-after__content {
  position: relative;
  z-index: 1;
}
.s-before-after__header {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
}
.s-before-after__title {
  margin-bottom: clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
  font-size: clamp(1.7rem, 1.0647887324vw + 26.6070422535px, 2.33rem);
}
.s-before-after__description {
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
}
.s-before-after__desc-item {
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
@media (max-width: 820px) {
  .s-before-after .c-btn {
    width: 300px;
    padding: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem) clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
    font-size: 0.9rem;
  }
}
.s-before-after .c-btn__text {
  font-weight: 600;
}
.s-before-after__examples {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.s-before-after__example {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 2vw, 16px);
  position: relative;
  width: 100%;
  margin-bottom: clamp(1rem, 0.5070422535vw + 16.0985915493px, 1.3rem);
}
@media (max-width: 480px) {
  .s-before-after__example {
    gap: clamp(4px, 1vw, 8px);
  }
}
.s-before-after__example:first-child {
  margin-top: clamp(6rem, 4.8676056338vw + 89.7464788732px, 8.88rem);
}
@media (max-width: 820px) {
  .s-before-after__example:first-child {
    margin-top: 0;
  }
}
.s-before-after__example-item {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  position: relative;
  min-width: 140px;
  max-width: 280px;
  aspect-ratio: 150/190;
  padding: 0.8rem clamp(0.8rem, 0.676056338vw + 11.8647887324px, 1.2rem) clamp(0.8rem, 0.676056338vw + 11.8647887324px, 1.2rem);
  border-radius: 12px;
}
@media (max-width: 820px) {
  .s-before-after__example-item {
    min-width: 160px;
    max-width: 240px;
  }
}
@media (max-width: 480px) {
  .s-before-after__example-item {
    min-width: 120px;
    max-width: 180px;
    padding: clamp(0.8rem, 0.676056338vw + 11.8647887324px, 1.2rem);
  }
}
.s-before-after__example-item--before {
  background-color: #d1d1d1;
}
.s-before-after__example-item--after {
  background-color: #efefef;
}
.s-before-after__example-label {
  font-weight: 600;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(0.78rem, 0.185915493vw + 13.3428169014px, 0.89rem);
  line-height: 1.6;
}
.s-before-after__example-image {
  display: block;
  flex: 1;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.s-before-after__arrow {
  flex-shrink: 0;
  width: clamp(36px, 5vw, 54px);
  height: auto;
}
@media (max-width: 480px) {
  .s-before-after__arrow {
    width: clamp(24px, 6vw, 36px);
  }
}
.s-before-after__example-caption {
  margin-bottom: clamp(2.5rem, 1.6901408451vw + 38.661971831px, 3.5rem);
  text-align: center;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
@media (max-width: 480px) {
  .s-before-after__example-caption {
    font-size: 0.8rem;
  }
}

.s-materials {
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-materials {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
@media (max-width: 480px) {
  .s-materials {
    padding-top: 0;
  }
}
.s-materials__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}
.s-materials__block {
  display: grid;
  align-items: center;
  gap: clamp(3rem, 3.3802816901vw + 41.323943662px, 5rem);
  margin-bottom: clamp(6rem, 3.3802816901vw + 95.323943662px, 8rem);
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 820px) {
  .s-materials__block {
    gap: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
    grid-template-columns: 1fr;
  }
}
@media (max-width: 820px) {
  .s-materials__block--reverse .s-materials__text-section {
    order: 1;
  }
  .s-materials__block--reverse .s-materials__images {
    order: 2;
  }
}
.s-materials__text-section {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
}
.s-materials__title {
  font-weight: 700;
  font-size: clamp(2rem, 1.1323943662vw + 31.7535211268px, 2.67rem);
  line-height: 1.5;
}
@media (max-width: 480px) {
  .s-materials__title {
    font-size: clamp(1.8rem, 0.2535211268vw + 31.4492957746px, 1.95rem);
  }
}
.s-materials__desc {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-materials__desc[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}
.s-materials__desc p {
  margin: 0;
}
.s-materials__images {
  position: relative;
}
.s-materials__image-main {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 3rem;
}
.s-materials__colors-section {
  margin-top: clamp(8rem, 3.3802816901vw + 131.323943662px, 10rem);
}
@media (max-width: 820px) {
  .s-materials__colors-section {
    margin-top: 0;
  }
}
.s-materials__colors-title {
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  font-weight: 700;
  font-size: clamp(1.56rem, 0.7436619718vw + 25.2912676056px, 2rem);
  text-align: center;
}
@media (max-width: 480px) {
  .s-materials__colors-title {
    font-size: clamp(1.4rem, 0.338028169vw + 23.9323943662px, 1.6rem);
  }
}
.s-materials__popular {
  margin-bottom: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
}
.s-materials__popular-title {
  display: inline-block;
  position: relative;
  margin-bottom: clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
  padding-bottom: 0.5rem;
  font-weight: 600;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
}
.s-materials__popular-title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #00a7ea 0%, #08a9e1 4%, #21aecb 11%, #49b7a6 20%, #80c474 30%, #c5d434 42%, #ffe100 50%, #fccf0a 53%, #f48a35 66%, #ed5357 77%, #e92b6f 87%, #e92b6f 100%);
  content: "";
}
.s-materials__color-grid {
  display: grid;
  width: 100%;
}
.s-materials__color-grid--popular {
  gap: 0;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 480px) {
  .s-materials__color-grid--popular {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .s-materials__color-grid--popular .s-materials__color-item--popular:first-child {
    grid-column: 1/3;
  }
}
.s-materials__color-grid--other {
  gap: 0;
  grid-template-columns: repeat(7, 1fr);
}
@media (max-width: 820px) {
  .s-materials__color-grid--other {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 480px) {
  .s-materials__color-grid--other {
    grid-template-columns: repeat(2, 1fr);
  }
}
.s-materials__color-item {
  display: flex;
  align-items: center;
  height: 64px;
  padding-left: 24px;
}
.s-materials__color-name {
  margin: 0;
  color: #fff;
  font-weight: 500;
  font-size: clamp(0.8rem, 0.0507042254vw + 14.2098591549px, 0.83rem);
  text-align: left;
}

.s-banner-line-campaign {
  padding: 1rem 0;
}
.s-banner-line-campaign__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-banner-line-campaign__inner {
    max-width: 600px;
  }
}
.s-banner-line-campaign__link {
  display: block;
  transition: opacity 0.3s ease;
}
.s-banner-line-campaign__link:hover {
  opacity: 0.85;
}
.s-banner-line-campaign__image {
  display: block;
  width: 100%;
  height: auto;
}

.s-pricing {
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
  padding-top: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-pricing {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-pricing__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-pricing__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-pricing__inner {
    padding: 0 1.8rem;
  }
}
.s-pricing__header {
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
}
.s-pricing__title {
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
}
.s-pricing__notes {
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 0.5070422535vw + 7.0985915493px, 0.8rem);
  margin-bottom: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
}
.s-pricing__note {
  margin: 0;
  line-height: 1.6;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
@media (max-width: 480px) {
  .s-pricing__note {
    font-size: 1rem;
  }
}
.s-pricing__caution {
  margin-bottom: clamp(4rem, 1.6901408451vw + 65.661971831px, 5rem);
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
@media (max-width: 480px) {
  .s-pricing__caution {
    font-size: 1rem;
  }
}
.s-pricing__caution p {
  margin: 0;
}
.s-pricing__grid {
  display: grid;
  gap: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 820px) {
  .s-pricing__grid {
    gap: clamp(2.5rem, 0.8450704225vw + 41.8309859155px, 3rem);
    grid-template-columns: 1fr;
  }
}
.s-pricing__splash {
  position: absolute;
  top: -30%;
  right: -8%;
  z-index: -1;
  width: 130px;
  height: auto;
}
@media (max-width: 480px) {
  .s-pricing__splash {
    top: 0%;
    width: 80px;
  }
}
.s-pricing__category {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.s-pricing__category-header {
  display: flex;
  align-items: center;
  gap: clamp(0.8rem, 0.338028169vw + 13.1323943662px, 1rem);
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  margin-left: 0.4em;
}
.s-pricing__category-icon {
  width: 40px;
  height: auto;
}
.s-pricing__category-title {
  margin: 0;
  font-weight: 600;
  font-weight: 700;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
  line-height: 1.4;
}
.s-pricing__category-list {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.338028169vw + 13.1323943662px, 1rem);
}
.s-pricing__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem) clamp(1.2rem, 0.5070422535vw + 19.6985915493px, 1.5rem);
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  background-color: #fff;
}
.s-pricing__item-label {
  font-weight: 400;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-pricing__item-price {
  font-weight: 600;
  font-size: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem);
}

.s-contact {
  overflow: hidden;
}
.s-contact__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1340px;
}
@media (max-width: 820px) {
  .s-contact__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-contact__inner {
    padding: 0 1.8rem;
  }
}
@media (max-width: 480px) {
  .s-contact__inner {
    padding: 0;
  }
}
.s-contact__content {
  display: grid;
  align-items: self-start;
  gap: 62px;
  position: relative;
  margin: 0 auto;
  padding: 72px 42px;
  border-radius: 16px;
  background-image: url("../img/service/s-contact-bg.jpg");
  background-position: center;
  background-size: cover;
  grid-template-columns: 504fr 657fr;
}
@media (max-width: 820px) {
  .s-contact__content {
    gap: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
    padding: 36px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .s-contact__content {
    align-items: center;
    padding: 4rem 24px;
    border-radius: 0;
  }
}
.s-contact__text-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
}
.s-contact__label {
  margin-bottom: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
}
.s-contact__title {
  margin: 0;
  margin-bottom: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  font-weight: 700;
  font-size: clamp(2rem, 0.1690140845vw + 35.3661971831px, 2.1rem);
  line-height: 1.7;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 480px) {
  .s-contact__title {
    width: 100%;
    font-size: clamp(1.6rem, 0.5070422535vw + 26.8985915493px, 1.9rem);
  }
}
.s-contact__desc {
  margin: 0;
  font-size: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem);
  line-height: 1.6;
}
.s-contact__cta-section {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 42px;
}
@media (max-width: 820px) {
  .s-contact__cta-section {
    justify-content: space-between;
    gap: 0;
  }
}
@media (max-width: 480px) {
  .s-contact__cta-section {
    flex-direction: column;
    align-items: center;
    gap: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  }
}
.s-contact__cta-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 340px;
  padding: 34px;
  border-radius: 12px;
  background-color: #fff;
}
@media (max-width: 820px) {
  .s-contact__cta-card {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .s-contact__cta-card {
    max-width: 90%;
  }
}
.s-contact__cta-card .c-btn {
  width: 255px;
  height: 42px;
  margin: 0 auto;
  border: none;
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .s-contact__cta-card .c-btn {
    width: 100%;
  }
}
.s-contact__cta-header {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.s-contact__cta-header::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(50%, -50%);
  width: 68px;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url("../img/common/icon-osusume.svg");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.s-contact__line-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.s-contact__line-icon {
  width: 32px;
  height: auto;
}
.s-contact__line-text {
  font-weight: 600;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
}
.s-contact__recommend-icon {
  width: clamp(4rem, 1.6901408451vw + 65.661971831px, 5rem);
  height: auto;
  margin-left: auto;
}
.s-contact__cta-title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(1.5rem, 0.5070422535vw + 25.0985915493px, 1.8rem);
  text-align: center;
}
.s-contact__points {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 6px;
}
.s-contact__point {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.25rem;
  padding-left: 10px;
  border-left: 1px solid #888;
}
.s-contact__point-label {
  color: #252525;
  font-weight: 600;
  font-size: 6px;
}
.s-contact__point-text {
  margin: 0;
  font-size: 10px;
  line-height: 1.6;
  text-wrap: nowrap;
}
.s-contact__cta-note {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
.s-contact__tel-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
  height: auto;
  padding: 36px 28px;
  border-radius: 12px;
  background-color: #fff;
  text-align: center;
}
@media (max-width: 820px) {
  .s-contact__tel-card {
    padding: 24px;
  }
}
.s-contact__tel-card .c-btn {
  width: 205px;
  height: 38px;
  margin: 0 auto;
  border: 1px solid #333;
  font-size: 14px;
}
.s-contact__tel-number {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  font-weight: 700;
  line-height: 1;
  font-family: "Plus Jakarta Sans", sans-serif;
  white-space: nowrap;
}
.s-contact__tel-number a {
  color: inherit;
  font-size: 26px;
  text-decoration: none;
}
.s-contact__tel-label {
  font-size: 16px;
}
.s-contact__tel-hours {
  margin: 0;
  color: #252525;
  font-size: 12px;
}

.s-flow {
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
  padding-top: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-flow {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-flow__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-flow__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-flow__inner {
    padding: 0 1.8rem;
  }
}
.s-flow__header {
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
}
.s-flow__title {
  margin-bottom: clamp(5rem, 2.1971830986vw + 81.7605633803px, 6.3rem);
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
}
.s-flow__content {
  display: grid;
  gap: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
  margin-bottom: clamp(4rem, 1.6901408451vw + 65.661971831px, 5rem);
  grid-template-columns: 1fr auto;
}
@media (max-width: 820px) {
  .s-flow__content {
    gap: 1rem;
    grid-template-columns: 2fr 1fr;
  }
}
@media (max-width: 480px) {
  .s-flow__content {
    grid-template-columns: 1fr;
  }
}
.s-flow__steps {
  display: flex;
  flex-direction: column;
}
.s-flow__step {
  display: flex;
  gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
  position: relative;
  padding-bottom: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
}
.s-flow__step:not(:last-child)::before {
  position: absolute;
  top: 60px;
  bottom: 10px;
  left: 24.5px;
  width: 1px;
  border-left: 1px dashed #ccc;
  content: "";
}
@media (max-width: 480px) {
  .s-flow__step:not(:last-child)::before {
    top: 28px;
    left: 18px;
  }
}
.s-flow__step-number {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 50px;
  height: 50px;
  border: 1px solid #333;
  border-radius: 50%;
  background-color: #fff;
  font-weight: 700;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
  line-height: 1.4;
}
@media (max-width: 480px) {
  .s-flow__step-number {
    width: 36px;
    height: 36px;
  }
}
.s-flow__step-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(0.5rem, 0.5070422535vw + 7.0985915493px, 0.8rem);
}
.s-flow__step-title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
  line-height: 1.4;
}
.s-flow__step-desc {
  margin: 0;
  line-height: 1.6;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-flow__step-duration {
  margin: 0;
  font-weight: 600;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-flow__images {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  position: sticky;
  top: 100px;
}
@media (max-width: 480px) {
  .s-flow__images {
    display: none;
  }
}
.s-flow__image {
  width: clamp(12rem, 5.0704225352vw + 196.985915493px, 15rem);
  height: auto;
  border-radius: 8px;
}
.s-flow__image:last-child {
  width: clamp(13rem, 5.0704225352vw + 214.985915493px, 16rem);
}
.s-flow__notes {
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem, 0.676056338vw + 19.0647887324px, 1.6rem);
  margin-bottom: clamp(4rem, 1.6901408451vw + 65.661971831px, 5rem);
  line-height: 1.8em;
}
.s-flow__note {
  margin: 0;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-flow__note[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}
.s-flow__note:first-child {
  font-size: 20px;
}
.s-flow__note strong {
  font-weight: 700;
}
.s-material-guide {
  margin: 0 2.8rem;
  border-radius: 16px;
  background-color: #333;
  color: #fff;
}
@media (max-width: 820px) {
  .s-material-guide {
    margin: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-material-guide {
    margin: 0;
    border-radius: 0;
  }
}
.s-material-guide__inner {
  display: grid;
  gap: 28px;
  margin: 0 auto;
  padding: 72px 42px;
  grid-template-columns: 470fr 713fr;
}
@media (max-width: 820px) {
  .s-material-guide__inner {
    gap: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
    grid-template-columns: 1fr;
  }
}
@media (max-width: 480px) {
  .s-material-guide__inner {
    padding: 72px 36px;
  }
}
.s-material-guide__left {
  display: flex;
  flex-direction: column;
  gap: 38px;
}
.s-material-guide__alert {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
}
.s-material-guide__alert-icon {
  flex-shrink: 0;
  width: 64px;
  height: auto;
}
@media (max-width: 480px) {
  .s-material-guide__alert-icon {
    width: 54px;
  }
}
.s-material-guide__title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(1.56rem, 0.3549295775vw + 26.7490140845px, 1.77rem);
  line-height: 1.5;
}
@media (max-width: 480px) {
  .s-material-guide__title {
    font-size: clamp(1.2rem, 0.5070422535vw + 19.6985915493px, 1.5rem);
  }
}
.s-material-guide__desc {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-left: 0.8rem;
}
.s-material-guide__desc-text {
  margin: 0;
  font-size: clamp(0.8rem, 0.150084507vw + 13.8371830986px, 0.8888rem);
  line-height: 1.55;
}
.s-material-guide__desc-text[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}
@media (max-width: 480px) {
  .s-material-guide__desc-text {
    font-size: 1rem;
  }
}
.s-material-guide__right {
  display: flex;
  flex-direction: column;
}
.s-material-guide__card {
  display: flex;
  flex-direction: row;
  gap: 48px;
  padding: 28px 48px;
  border-radius: 12px;
  background-color: #fff;
  color: #333;
}
@media (max-width: 480px) {
  .s-material-guide__card {
    gap: 28px;
    padding: 28px;
  }
}
.s-material-guide__card--ok {
  margin-bottom: clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
}
.s-material-guide__card--ng {
  margin-bottom: 12px;
}
.s-material-guide__card-header {
  display: flex;
  justify-content: center;
}
.s-material-guide__card-icon {
  width: 48px;
  height: auto;
}
.s-material-guide__card-content {
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 0.5070422535vw + 7.0985915493px, 0.8rem);
}
.s-material-guide__card-title {
  margin: 0;
  font-weight: 400;
  font-size: clamp(1.11rem, 0.3718309859vw + 18.5856338028px, 1.33rem);
}
.s-material-guide__card-title strong {
  font-weight: 700;
}
.s-material-guide__card-text {
  margin: 0;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
}
.s-material-guide__card-text[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}
.s-material-guide__card-note {
  margin: 0;
  font-size: clamp(0.78rem, 0.185915493vw + 13.3428169014px, 0.89rem);
  line-height: 1.6;
}
.s-material-guide__card-note[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}
.s-material-guide__notice {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
}
.s-material-guide__notice-mark {
  flex-shrink: 0;
  color: #ccc;
  font-size: clamp(0.67rem, 0.185915493vw + 11.3628169014px, 0.78rem);
  line-height: 1.6;
}
.s-material-guide__notice-text {
  margin: 0;
  color: #ccc;
  font-size: clamp(0.67rem, 0.185915493vw + 11.3628169014px, 0.78rem);
  line-height: 1.6;
}
.s-material-guide__notice-text[data-slide-fade] {
  visibility: hidden;
  opacity: 0;
  transform: translateX(-32px);
}
.s-voice {
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
  padding-top: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-voice {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-voice__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-voice__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-voice__inner {
    padding: 0 1.8rem;
  }
}
.s-voice__header {
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
}
.s-voice__title {
  margin-bottom: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
}
.s-voice__subtitle {
  margin-bottom: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
}
.s-voice__desc {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
  margin-bottom: clamp(4rem, 1.6901408451vw + 65.661971831px, 5rem);
}
.s-voice__desc-text {
  margin: 0;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-voice__slider {
  position: relative;
  right: 50%;
  left: 50%;
  width: 100vw;
  margin-right: -50vw;
  margin-bottom: clamp(5rem, 3.3802816901vw + 77.323943662px, 7rem);
  margin-left: -50vw;
  overflow: hidden;
}
.s-voice__track {
  display: flex;
  gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  animation: slide 20s linear infinite;
}
@media (max-width: 480px) {
  .s-voice__track {
    animation: slide 8s linear infinite;
  }
}
@media (prefers-reduced-motion: reduce) {
  .s-voice__track {
    animation: none;
  }
}
.s-voice__card {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  gap: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
  width: clamp(20rem, 6.7605633803vw + 334.6478873239px, 24rem);
  padding: clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
  border: 1px solid #252525;
  border-radius: 12px;
}
@media (max-width: 480px) {
  .s-voice__card {
    width: clamp(14rem, 3.3802816901vw + 239.323943662px, 16rem);
    padding: clamp(1.2rem, 0.5070422535vw + 19.6985915493px, 1.5rem);
  }
}
.s-voice__card--pink {
  background-color: #f3c0c0;
}
.s-voice__card--blue {
  background-color: #b9cef4;
}
.s-voice__card--green {
  background-color: #a8f6a3;
}
.s-voice__card--yellow {
  background-color: #f6f6a0;
}
.s-voice__card-title {
  margin: 0;
  font-weight: 700;
  font-size: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem);
}
.s-voice__card-image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 8px;
}
.s-voice__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s-voice__card-text {
  margin: 0;
  font-size: clamp(0.78rem, 0.185915493vw + 13.3428169014px, 0.89rem);
  line-height: 1.6;
}

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.s-faq {
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
}
@media (max-width: 820px) {
  .s-faq {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-faq__inner {
  display: flex;
  flex-direction: row;
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-faq__inner {
    flex-direction: column;
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-faq__inner {
    padding: 0 1.8rem;
  }
}
.s-faq__header {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  margin-bottom: clamp(3rem, 1.6901408451vw + 47.661971831px, 4rem);
}
.s-faq__title {
  flex-shrink: 0;
  margin: 0;
  font-weight: 700;
  font-size: clamp(2.22rem, 1.876056338vw + 32.9247887324px, 3.33rem);
  line-height: 1.4;
}
.s-faq__content {
  width: 100%;
  max-width: 735px;
  margin-left: auto;
}
@media (max-width: 820px) {
  .s-faq__content {
    max-width: none;
  }
}
.s-faq__list {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 1.6901408451vw + 29.661971831px, 3rem);
  margin-top: clamp(2.5rem, 3.3802816901vw + 32.323943662px, 4.5rem);
}
.s-faq__item {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
}
.s-faq__question {
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
}
.s-faq__q-mark {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background-color: #333;
  color: #fff;
  font-weight: 700;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-faq__q-text {
  flex: 1;
  margin: 0;
  padding-top: 0.15rem;
  font-weight: 600;
  font-size: clamp(1rem, 0.185915493vw + 17.3028169014px, 1.11rem);
  line-height: 1.6;
}
.s-faq__answer {
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 0.338028169vw + 16.7323943662px, 1.2rem);
}
.s-faq__a-mark {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  border: 2px solid #333;
  border-radius: 4px;
  background-color: #fff;
  color: #333;
  font-weight: 700;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}
.s-faq__a-text {
  flex: 1;
  margin: 0;
  padding-top: 0.15rem;
  font-size: clamp(0.89rem, 0.185915493vw + 15.3228169014px, 1rem);
  line-height: 1.8;
}

.s-mail-form {
  padding-bottom: clamp(6rem, 6.7605633803vw + 82.6478873239px, 10rem);
  padding-top: clamp(4rem, 3.3802816901vw + 59.323943662px, 6rem);
}
@media (max-width: 820px) {
  .s-mail-form {
    padding-bottom: clamp(3rem, 5.0704225352vw + 34.985915493px, 6rem);
  }
}
.s-mail-form__inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 820px) {
  .s-mail-form__inner {
    padding: 0 2.8rem;
  }
}
@media (max-width: 480px) {
  .s-mail-form__inner {
    padding: 0 1.8rem;
  }
}
.s-mail-form__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(1.5rem, 0.8450704225vw + 23.8309859155px, 2rem);
  max-width: 650px;
  margin: 0 auto;
  padding: clamp(1.8rem, 0.338028169vw + 31.1323943662px, 2rem) clamp(2rem, 0.8450704225vw + 32.8309859155px, 2.5rem);
  border: 1px solid #c9c3ba;
  border-radius: 12px;
  background-color: #fff;
}
@media (max-width: 480px) {
  .s-mail-form__box {
    flex-direction: column;
    justify-content: center;
    gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
  }
}
.s-mail-form__top {
  display: flex;
  flex-direction: row;
  gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
}
@media (max-width: 480px) {
  .s-mail-form__top {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(1rem, 0.8450704225vw + 14.8309859155px, 1.5rem);
    width: 100%;
    margin-left: 65px;
  }
}
.s-mail-form__icon {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
}
@media (max-width: 820px) {
  .s-mail-form__icon {
    width: 40px;
    height: 40px;
  }
}
.s-mail-form__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.s-mail-form__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: clamp(0.3rem, 0.338028169vw + 4.1323943662px, 0.5rem);
}
@media (max-width: 820px) {
  .s-mail-form__content {
    text-align: center;
  }
}
.s-mail-form__text {
  margin: 0;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 820px) {
  .s-mail-form__text {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .s-mail-form__text {
    width: fit-content;
    text-align: left;
  }
}
.s-mail-form .c-btn {
  width: 205px;
  height: 38px;
  margin: 0 auto;
  border: 1px solid #333;
  font-size: 14px;
}

.sp-only {
  display: none;
}
@media (max-width: 480px) {
  .sp-only {
    display: inline;
  }
}

.tab-only {
  display: none;
}
@media (max-width: 820px) {
  .tab-only {
    display: inline;
  }
}

.tw-only {
  display: none;
}
@media (max-width: tw) {
  .tw-only {
    display: inline;
  }
}

.pc-only {
  display: inline;
}
@media (max-width: tw) {
  .pc-only {
    display: none !important;
  }
}
@media (max-width: 480px) {
  .pc-only {
    display: none !important;
  }
}

html {
  font-size: 18px;
}

/*# sourceMappingURL=main.css.map */
