@charset "UTF-8";
/* -----------------------
リセット
----------------------- */
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, button {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  list-style: none;
  overflow-wrap: break-word;
  word-break: break-all;
}

article, header, footer, aside, figure, figcaption, nav, section {
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  line-height: 1.2;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

ol, ul {
  list-style: none;
  list-style-type: none;
}

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

a {
  text-decoration: none;
}

img {
  display: block;
}

/* -----------------------
  unity
----------------------- */
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

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

html {
  scroll-behavior: smooth;
  scroll-padding-top: 10%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: #462204;
  background-image: url("../img/bg.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-repeat: repeat;
}
@media screen and (max-width: 767px) {
  body.active {
    overflow: hidden;
  }
}

.whopper {
  overflow: hidden;
  overflow: clip;
}

.grecaptcha-badge {
  visibility: hidden;
}

/* -----------------------
  header
----------------------- */
.header {
  background-color: #FF7700;
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .header {
    padding: 0.78125vw 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 0.5128205128vw 2.5641025641vw;
    height: 11.0256410256vw;
  }
}
.header .logo img {
  aspect-ratio: 244/35;
}
@media screen and (min-width: 768px) {
  .header .logo img {
    width: 14.84375vw;
  }
}
@media screen and (max-width: 767px) {
  .header .logo img {
    width: 33.3333333333vw;
    height: 4.6153846154vw;
  }
}
@media screen and (min-width: 768px) {
  .header nav {
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .header nav {
    position: absolute;
    background-image: url("../img/bg.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
    top: 11.0256410256vw;
    right: -100%;
    padding: 10.2564102564vw 0 17.9487179487vw 6.4102564103vw;
    transition: all 0.3s ease;
  }
}
.header nav ul {
  display: flex;
}
@media screen and (min-width: 768px) {
  .header nav ul {
    gap: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul {
    flex-direction: column;
    gap: 5.1282051282vw;
    height: 100%;
    overflow-y: scroll;
  }
}
@media screen and (min-width: 768px) {
  .header nav ul li {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul li {
    font-size: 4.1025641026vw;
  }
}
.header nav ul li .nav-TX {
  width: fit-content;
  cursor: pointer;
}
.header nav ul li a {
  color: #462204;
}
.header nav ul li .link {
  position: relative;
  transition: all 0.2s ease;
}
.header nav ul li .link::before {
  content: "";
  width: 0%;
  position: absolute;
  height: 105%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .header nav ul li .link::before {
    border-bottom: 0.078125vw solid #fff;
    bottom: -0.234375vw;
    background-color: #462204;
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul li .link::before {
    border-bottom: 0.2564102564vw solid #462204;
    bottom: -0.2564102564vw;
  }
}
.header nav ul li .link:hover {
  transition: all 0.2s ease;
}
@media screen and (min-width: 768px) {
  .header nav ul li .link:hover {
    color: #fff;
    z-index: 1;
  }
}
.header nav ul li .link:hover::before {
  width: 110%;
  transition: all 0.2s ease;
  z-index: -1;
}
.header nav ul li.nav-drow {
  position: relative;
}
@media screen and (min-width: 768px) {
  .header nav ul li.nav-drow .nav-drow-content {
    transition: all 0.3s ease;
    display: none;
    position: absolute;
    width: fit-content;
    top: 1.5625vw;
    background: rgba(255, 255, 255, 0.7);
    padding: 0.78125vw;
    font-size: 1.171875vw;
    line-height: 180%;
    border-radius: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul li.nav-drow .nav-drow-content {
    margin: 1.2820512821vw 0 0 1.2820512821vw;
    font-size: 3.0769230769vw;
    line-height: 160%;
  }
}
.header nav ul li.nav-drow .nav-drow-content a {
  position: relative;
  white-space: nowrap;
}
.header nav ul li.nav-drow .nav-drow-content a::before {
  content: "";
  width: 0%;
  position: absolute;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .header nav ul li.nav-drow .nav-drow-content a::before {
    border-bottom: 0.078125vw solid #462204;
    bottom: -0.234375vw;
  }
}
@media screen and (max-width: 767px) {
  .header nav ul li.nav-drow .nav-drow-content a::before {
    border-bottom: 0.2564102564vw solid #462204;
    bottom: -0.2564102564vw;
  }
}
.header nav ul li.nav-drow .nav-drow-content a:hover::before {
  width: 100%;
  transition: all 0.3s ease;
}
.header nav ul li.nav-drow:hover .nav-drow-content {
  display: block;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .header nav.show {
    right: 0;
    transition: all 0.3s ease;
  }
}
.header .nav-btn {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .header .nav-btn {
    margin-left: 0.78125vw;
    gap: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn {
    margin-left: auto;
    gap: 1.2820512821vw;
  }
}
.header .nav-btn .nav-btn-content {
  border-radius: 999px;
  display: inline-block;
  box-sizing: content-box;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 175/50;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content {
    width: 11.71875vw;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content {
    width: 20.5128205128vw;
    height: 6.4102564103vw;
  }
}
.header .nav-btn .nav-btn-content.application {
  background-image: url("../img/nav-btn.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.application {
    border: 0.078125vw solid #fff;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.application {
    border: 0.2564102564vw solid #fff;
  }
}
.header .nav-btn .nav-btn-content.application .button-textbox {
  position: relative;
  z-index: 1;
}
.header .nav-btn .nav-btn-content.application .button-textbox p {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header .nav-btn .nav-btn-content.application .button-textbox p.top-TX img {
  aspect-ratio: 87/13;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.application .button-textbox p.top-TX img {
    width: 6.796875vw;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.application .button-textbox p.top-TX img {
    width: 11.0256410256vw;
    height: 1.7948717949vw;
  }
}
.header .nav-btn .nav-btn-content.application .button-textbox p.main-TX img {
  aspect-ratio: 125/21;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.application .button-textbox p.main-TX img {
    width: 8.203125vw;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.application .button-textbox p.main-TX img {
    width: 15.1282051282vw;
    height: 2.5641025641vw;
  }
}
.header .nav-btn .nav-btn-content.application .nav-btn-deco {
  background-image: url("../img/nav-btn-deco.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 2;
  aspect-ratio: 55/56;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.application .nav-btn-deco {
    width: 3.90625vw;
    right: -0.78125vw;
    bottom: -1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.application .nav-btn-deco {
    width: 5.8974358974vw;
    height: 6.1538461538vw;
    right: -1.0256410256vw;
    bottom: -1.7948717949vw;
  }
}
.header .nav-btn .nav-btn-content.application::before {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: radial-gradient(65% 65% at 48.82% 50%, rgba(255, 255, 255, 0.55) 49.72%, rgba(255, 255, 255, 0) 93.03%);
  z-index: 0;
}
.header .nav-btn .nav-btn-content.application::after {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  aspect-ratio: 170/46;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.application::after {
    width: 11.328125vw;
    border: 0.0778125vw dashed #FFF;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.application::after {
    width: 19.7435897436vw;
    height: 5.8974358974vw;
    border: 0.098974359vw dashed #FFF;
  }
}
.header .nav-btn .nav-btn-content.mypage {
  background-color: #fff;
}
.header .nav-btn .nav-btn-content.mypage .top-TX {
  color: #FF7700;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.mypage .top-TX {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.mypage .top-TX {
    font-size: 2.1538461538vw;
  }
}
.header .nav-btn .nav-btn-content.mypage::after {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-sizing: border-box;
  aspect-ratio: 170/44;
}
@media screen and (min-width: 768px) {
  .header .nav-btn .nav-btn-content.mypage::after {
    width: 11.328125vw;
    border: 0.0778125vw dashed #FF7700;
  }
}
@media screen and (max-width: 767px) {
  .header .nav-btn .nav-btn-content.mypage::after {
    width: 19.4871794872vw;
    height: 5.641025641vw;
    border: 0.098974359vw dashed #FF7700;
  }
}
.header .nav-btn .nav-btn-content::before, .header .nav-btn .nav-btn-content::after {
  content: "";
  border-radius: 999px;
  position: absolute;
}
.header .hamburger-btn {
  cursor: pointer;
  background-image: url('data:image/svg+xml;utf-8,<svg width="27" height="16" viewBox="0 0 27 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1H26" stroke="white" stroke-width="2" stroke-linecap="round"/><path d="M1 8H26" stroke="white" stroke-width="2" stroke-linecap="round"/><path d="M1 15H26" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .header .hamburger-btn {
    margin-left: 2.0512820513vw;
    width: 7.1794871795vw;
    height: 4.6153846154vw;
  }
}
.header .hamburger-btn.show {
  background-image: url('data:image/svg+xml;utf-8,<svg width="23" height="17" viewBox="0 0 23 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.26074 16.0078L21.7395 1.6684" stroke="white" stroke-width="2" stroke-linecap="round"/><path d="M1.26074 1.66992L21.7395 16.0093" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .header .hamburger-btn.show {
    width: 6.6666666667vw;
    height: 4.6153846154vw;
  }
}

/* -----------------------
  footer
----------------------- */
.footer {
  background-color: #462204;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 3.125vw 7.8125vw 2.1875vw;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 4.1025641026vw 5.1282051282vw 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .footer .logo img {
    width: 20.078125vw;
    height: 3.4375vw;
  }
}
@media screen and (max-width: 767px) {
  .footer .logo img {
    width: 33.3333333333vw;
    height: 4.6153846154vw;
  }
}
.footer-nav {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .footer-nav {
    gap: 1.5625vw;
    margin-top: 4.453125vw;
  }
}
@media screen and (max-width: 767px) {
  .footer-nav {
    flex-direction: column;
    gap: 3.8461538462vw;
    margin: 7.6923076923vw 0 0 2.5641025641vw;
  }
}
.footer-nav li a {
  color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer-nav li a {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .footer-nav li a {
    font-size: 2.5641025641vw;
  }
}
.footer-nav li a::before {
  content: "";
  position: absolute;
  transition: all 0.3s ease;
  width: 0%;
}
@media screen and (min-width: 768px) {
  .footer-nav li a::before {
    border-bottom: 0.078125vw solid #fff;
    bottom: -0.234375vw;
  }
}
.footer-nav li a:hover::before {
  transition: all 0.3s ease;
  width: 100%;
}
.footer .copyright {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-style: normal;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer .copyright {
    font-size: 1.015625vw;
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .footer .copyright {
    font-size: 2.5641025641vw;
    margin-top: 7.1794871795vw;
  }
}

/* -----------------------
  C_
----------------------- */
/* -----------------------
  C_TL
----------------------- */
.C_TL {
  font-weight: 700;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .C_TL {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL {
    font-size: 4.1025641026vw;
  }
}
.C_TL-span {
  color: #FF7700;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .C_TL-span {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL-span {
    font-size: 5.641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .C_TL.underline {
    border-bottom: 0.078125vw solid #FF7700;
    padding-bottom: 0.15625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL.underline {
    border-bottom: 0.2564102564vw solid #FF7700;
    padding-bottom: 0.5128205128vw;
  }
}
.C_TL.underline::before {
  content: "";
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .C_TL.underline::before {
    border-bottom: 0.078125vw solid #FF7700;
    bottom: -0.3125vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL.underline::before {
    border-bottom: 0.2564102564vw solid #FF7700;
    bottom: -0.7692307692vw;
  }
}

.C_TL-under {
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .C_TL-under {
    font-size: 1.25vw;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL-under {
    font-size: 3.0769230769vw;
    margin-top: 3.8461538462vw;
    line-height: 150%;
  }
}

/* -----------------------
  C_simulation
----------------------- */
.C_simulation {
  position: relative;
  background-image: url("../img/simulation-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-position: 50% 90%;
}
@media screen and (min-width: 768px) {
  .C_simulation {
    padding: 4.21875vw 25.390625vw;
    background-position: 50% 90%;
    margin-top: 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .C_simulation {
    padding: 7.6923076923vw 11.5384615385vw;
    background-position: left bottom;
    background-size: 110%;
    margin-top: 12.8205128205vw;
  }
}
.C_simulation-content {
  background: rgba(255, 255, 255, 0.8);
  position: relative;
  z-index: 1;
  display: block;
}
@media screen and (min-width: 768px) {
  .C_simulation-content {
    padding-block: 2.34375vw 2.734375vw;
  }
}
@media screen and (max-width: 767px) {
  .C_simulation-content {
    padding-block: 4.6153846154vw;
  }
}
.C_simulation-content .top-TX {
  text-align: center;
  color: #462204;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .C_simulation-content .top-TX {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_simulation-content .top-TX {
    font-size: 3.0769230769vw;
  }
}
.C_simulation-content .btn {
  background-color: #fff;
  text-align: center;
  position: relative;
  transition: all 0.5s ease;
}
@media screen and (min-width: 768px) {
  .C_simulation-content .btn {
    border-radius: 1.5625vw;
    border: 0.234375vw solid #FF7700;
    padding-block: 1.5625vw;
    width: 31.25vw;
    margin: 1.328125vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .C_simulation-content .btn {
    border-radius: 2.5641025641vw;
    border: 0.5128205128vw solid #FF7700;
    padding-block: 3.5897435897vw;
    width: 65.641025641vw;
    margin: 1.7948717949vw auto 0;
  }
}
.C_simulation-content .btn-TX {
  font-weight: 700;
  color: #FF7700;
}
@media screen and (min-width: 768px) {
  .C_simulation-content .btn-TX {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_simulation-content .btn-TX {
    font-size: 3.5897435897vw;
  }
}
.C_simulation-content .btn::before {
  content: "";
  position: absolute;
  background-image: url('data:image/svg+xml;utf-8,<svg width="11" height="23" viewBox="0 0 11 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8.22917 11.6278L2 21.2556" stroke="%23FF7700" stroke-width="3" stroke-linecap="round"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .C_simulation-content .btn::before {
    width: 0.859375vw;
    height: 1.796875vw;
    right: 2.1875vw;
  }
}
@media screen and (max-width: 767px) {
  .C_simulation-content .btn::before {
    width: 1.5384615385vw;
    height: 3.0769230769vw;
    right: 2.5641025641vw;
  }
}
.C_simulation-content:hover {
  transition: all 0.5s ease;
}
.C_simulation-content:hover .btn {
  background-color: #FF7700;
}
.C_simulation-content:hover .btn .btn-TX {
  color: #fff;
}
.C_simulation-content:hover .btn::before {
  background-image: url('data:image/svg+xml;utf-8,<svg width="11" height="23" viewBox="0 0 11 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8.22917 11.6278L2 21.2556" stroke="%23FFFFFF" stroke-width="3" stroke-linecap="round"/></svg>');
}
.C_simulation::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.2);
}

/* -----------------------
  C_CTA
----------------------- */
.C_CTA {
  border-radius: 999px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .C_CTA {
    width: 29.6875vw;
    height: 4.6875vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA {
    width: 71.7948717949vw;
    height: 10.2564102564vw;
  }
}
.C_CTA::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .C_CTA::before {
    width: 0.546875vw;
    height: 0.9375vw;
    right: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA::before {
    width: 1.2820512821vw;
    height: 2.0512820513vw;
    right: 3.0769230769vw;
  }
}
.C_CTA.line {
  background-color: #fff;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .C_CTA.line {
    border: 0.15625vw solid #06C755;
    gap: 0.390625vw;
    padding-left: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.line {
    border: 0.2564102564vw solid #06C755;
    gap: 1.7948717949vw;
    padding-left: 5.3846153846vw;
  }
}
.C_CTA.line .icon {
  background-image: url("../img/line-icon.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .C_CTA.line .icon {
    width: 3.125vw;
    height: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.line .icon {
    width: 7.9487179487vw;
    height: 7.9487179487vw;
  }
}
.C_CTA.line .textbox {
  font-weight: 700;
  color: #06C755;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .C_CTA.line .textbox .top-TX {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.line .textbox .top-TX {
    font-size: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .C_CTA.line .textbox .main-TX {
    font-size: 1.40625vw;
    margin-top: 0.234375vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.line .textbox .main-TX {
    font-size: 3.0769230769vw;
    margin-top: 0.5128205128vw;
  }
}
.C_CTA.line::before {
  background-image: url('data:image/svg+xml;utf-8,<svg width="11" height="23" viewBox="0 0 11 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8.22917 11.6278L2 21.2556" stroke="%2306C755" stroke-width="3" stroke-linecap="round"/></svg>');
}
.C_CTA.application {
  background-color: #FF7700;
  display: block;
}
@media screen and (min-width: 768px) {
  .C_CTA.application {
    padding: 0.78125vw 0 0.78125vw 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.application {
    padding: 0.7692307692vw 0 0.5128205128vw 14.1025641026vw;
  }
}
.C_CTA.application .textbox {
  text-align: center;
  color: #fff;
  width: fit-content;
}
.C_CTA.application .textbox .top-TX {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .C_CTA.application .textbox .top-TX {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.application .textbox .top-TX {
    font-size: 2.5641025641vw;
  }
}
.C_CTA.application .textbox .main-TX {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .C_CTA.application .textbox .main-TX {
    font-size: 1.5625vw;
    margin-top: 0.234375vw;
    letter-spacing: 0.0625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.application .textbox .main-TX {
    font-size: 3.5897435897vw;
    margin-top: 0.5128205128vw;
    letter-spacing: 0.2820512821vw;
  }
}
.C_CTA.application::before {
  background-image: url('data:image/svg+xml;utf-8,<svg width="11" height="23" viewBox="0 0 11 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8.22917 11.6278L2 21.2556" stroke="%23FFF" stroke-width="3" stroke-linecap="round"/></svg>');
}
@media screen and (min-width: 768px) {
  .C_CTA.application::before {
    right: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .C_CTA.application::before {
    right: 4.1025641026vw;
  }
}

/* -----------------------
  C_page-TL
----------------------- */
@media screen and (min-width: 768px) {
  .page-TL {
    padding: 1.875vw 7.8125vw 0;
  }
}
@media screen and (max-width: 767px) {
  .page-TL {
    padding: 6.1538461538vw 5.1282051282vw 0;
  }
}
.page-TL-nav {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .page-TL-nav {
    gap: 1.5625vw;
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .page-TL-nav {
    gap: 3.8461538462vw;
    font-size: 2.5641025641vw;
  }
}
.page-TL-nav .link {
  color: #462204;
}
@media screen and (min-width: 768px) {
  .page-TL-nav .link {
    border-bottom: 0.078125vw solid;
  }
}
@media screen and (max-width: 767px) {
  .page-TL-nav .link {
    border-bottom: 0.2564102564vw solid;
  }
}
@media screen and (min-width: 768px) {
  .page-TL-wrap {
    margin: 4.6875vw 0 0 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .page-TL-wrap {
    margin-top: 7.6923076923vw;
  }
}
.page-TL-top {
  font-family: "Battambang", system-ui;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .page-TL-top {
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .page-TL-top {
    font-size: 7.6923076923vw;
  }
}
.page-TL-top span {
  color: #FF7700;
}
.page-TL-main {
  font-weight: 500;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .page-TL-main {
    font-size: 1.25vw;
    gap: 0.859375vw;
  }
}
@media screen and (max-width: 767px) {
  .page-TL-main {
    font-size: 3.0769230769vw;
    gap: 2.0512820513vw;
  }
}
.page-TL-main::before {
  content: "";
}
@media screen and (min-width: 768px) {
  .page-TL-main::before {
    border-top: 0.078125vw solid;
    width: 2.890625vw;
    height: 0.078125vw;
    margin-top: 0.234375vw;
  }
}
@media screen and (max-width: 767px) {
  .page-TL-main::before {
    border-top: 0.2564102564vw solid;
    width: 5.1282051282vw;
    height: 0.2564102564vw;
    margin-top: 0.7692307692vw;
  }
}

/* -----------------------
  mv
----------------------- */
.MV-01 {
  background-color: #FFE0C5;
  position: relative;
}
@media screen and (min-width: 768px) {
  .MV-01 {
    padding: 3.359375vw 7.578125vw 4.296875vw 0;
  }
}
@media screen and (max-width: 767px) {
  .MV-01 {
    height: 161.5384615385vw;
  }
}
.MV-01-bg {
  background-image: url("../img/mv-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 100%;
}
@media screen and (min-width: 768px) {
  .MV-01-bg {
    position: relative;
    width: 85.9375vw;
    height: 39.0625vw;
    background-position: right top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg {
    background-position: 50% 10%;
    background-size: 160%;
    width: 100%;
    height: 102.5641025641vw;
  }
}
.MV-01-bg .MV-01-text {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text {
    top: 1.5625vw;
    right: -7.03125vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text {
    width: 71.7948717949vw;
    bottom: 7.6923076923vw;
    left: 50%;
    transform: translateX(-50%);
  }
}
.MV-01-bg .MV-01-text .price {
  font-weight: 900;
  position: relative;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .price {
    font-size: 1.640625vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .price {
    font-size: 3.0769230769vw;
    margin-left: 2.5641025641vw;
  }
}
.MV-01-bg .MV-01-text .price img {
  display: inline;
  position: relative;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .price img {
    width: 7.65625vw;
    height: 5vw;
    top: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .price img {
    width: 17.9487179487vw;
    height: 11.5384615385vw;
    top: 3.0769230769vw;
  }
}
.MV-01-bg .MV-01-text .price::before {
  content: "";
  position: absolute;
  background-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="230" height="12" viewBox="0 0 230 12" fill="none"><path d="M6.36962 0.303017L90.7066 0.302734C90.8725 0.302734 91.0289 0.366406 91.1462 0.482147L101.022 10.227L110.882 0.48243C110.999 0.366972 111.156 0.302734 111.322 0.302734H223.629C223.972 0.302734 224.25 0.576098 224.25 0.913417C224.25 1.25074 223.972 1.52382 223.629 1.52382H111.579L101.462 11.5231C101.345 11.6386 101.189 11.7028 101.023 11.7028C100.857 11.7031 100.7 11.6388 100.583 11.5234L90.4493 1.52382L6.36962 1.5241C6.02721 1.5241 5.74949 1.25074 5.74949 0.9137C5.74949 0.576098 6.02721 0.303017 6.36962 0.303017Z" fill="%23462204"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 110%;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .price::before {
    height: 0.9375vw;
    left: -0.625vw;
    bottom: -1.015625vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .price::before {
    height: 2.0512820513vw;
    left: -1.5384615385vw;
    bottom: -2.5641025641vw;
  }
}
.MV-01-bg .MV-01-text .MV-01-top {
  font-weight: 900;
  line-height: 232%;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-top {
    font-size: 1.875vw;
    text-shadow: 0px 0.22265625vw 0.22265625vw rgba(141, 103, 72, 0.12);
    margin-left: -1.328125vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-top {
    font-size: 4.1025641026vw;
    text-shadow: 0 0.4994871795vw 0.4994871795vw rgba(141, 103, 72, 0.12);
  }
}
.MV-01-bg .MV-01-text .MV-01-TL {
  color: #FF7700;
  font-weight: 900;
  line-height: 120%;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-TL {
    font-size: 3.90625vw;
    text-shadow: 0px 0.22265625vw 0.22265625vw rgba(141, 103, 72, 0.12);
    margin: -0.546875vw 0 0 -0.546875vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-TL {
    font-size: 8.2051282051vw;
    text-shadow: 0 0.4994871795vw 0.4994871795vw rgba(141, 103, 72, 0.12);
    margin: -1.2820512821vw 0 0 1.2820512821vw;
  }
}
.MV-01-bg .MV-01-text .MV-01-bottom {
  font-weight: 700;
  line-height: 155%;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-bottom {
    font-size: 1.5625vw;
    letter-spacing: 0.125vw;
    text-shadow: 0px 0.15625vw 0.3125vw rgba(122, 91, 65, 0.15);
    margin: 1.171875vw 0 0 -0.234375vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-bottom {
    font-size: 3.0769230769vw;
    letter-spacing: 0.2051282051vw;
    text-shadow: 0 0.2564102564vw 0.5128205128vw rgba(122, 91, 65, 0.15);
    margin: 2.0512820513vw 0 0 2.3076923077vw;
  }
}
.MV-01-bg .MV-01-text .MV-01-btn {
  background-color: #FF7700;
  border-radius: 999px;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-btn {
    width: 21.875vw;
    height: 4.6875vw;
    padding-block: 0.625vw;
    filter: drop-shadow(0.15625vw 0.3125vw 0px #C75D00);
    margin: 1.796875vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-btn {
    width: 46.1538461538vw;
    height: 10.2564102564vw;
    padding-block: 1.5384615385vw;
    filter: drop-shadow(0.358974359vw 0.7179487179vw 0px #C75D00);
    margin: 4.1025641026vw auto 0;
  }
}
.MV-01-bg .MV-01-text .MV-01-btn .MV-btn-content {
  text-align: center;
  color: #fff;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-btn .MV-btn-content .top-TX {
    font-size: 1.015625vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-btn .MV-btn-content .top-TX {
    font-size: 2.5641025641vw;
  }
}
.MV-01-bg .MV-01-text .MV-01-btn .MV-btn-content .main-TX {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-btn .MV-btn-content .main-TX {
    font-size: 1.796875vw;
    letter-spacing: 0.125vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-btn .MV-btn-content .main-TX {
    font-size: 4.1025641026vw;
    letter-spacing: 0.2051282051vw;
  }
}
.MV-01-bg .MV-01-text .MV-01-btn::before {
  content: "";
  position: absolute;
  background-image: url('data:image/svg+xml;utf-8,<svg width="11" height="23" viewBox="0 0 11 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8.22917 11.6278L2 21.2556" stroke="%23FFF" stroke-width="3" stroke-linecap="round"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .MV-01-bg .MV-01-text .MV-01-btn::before {
    width: 0.625vw;
    height: 1.171875vw;
    right: 1.796875vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg .MV-01-text .MV-01-btn::before {
    width: 1.5384615385vw;
    height: 2.5641025641vw;
    right: 4.1025641026vw;
  }
}
.MV-01-bg::before {
  content: "";
  position: absolute;
}
@media screen and (min-width: 768px) {
  .MV-01-bg::before {
    border-radius: 0 1.5625vw 1.5625vw 0;
    background: linear-gradient(90deg, rgba(243, 243, 243, 0) 41.29%, #F5F5F5 77.98%);
    width: 84.453125vw;
    height: 39.0625vw;
    top: 0;
    right: -8.125vw;
  }
}
@media screen and (max-width: 767px) {
  .MV-01-bg::before {
    background: linear-gradient(178deg, rgba(255, 224, 197, 0) 6.23%, #FFE0C5 29.93%);
    width: 100%;
    height: 102.5641025641vw;
    bottom: 0;
    left: 0;
  }
}

/* -----------------------
  worry
----------------------- */
.worry {
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .worry {
    padding-top: 5.46875vw;
    height: 50.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .worry {
    padding-top: 13.3333333333vw;
    height: 179.4871794872vw;
  }
}
.worry-TL {
  font-weight: 700;
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .worry-TL {
    font-size: 1.875vw;
    letter-spacing: 0.125vw;
    border-bottom: 0.078125vw dashed;
    padding-bottom: 0.9375vw;
  }
}
@media screen and (max-width: 767px) {
  .worry-TL {
    font-size: 4.6153846154vw;
    letter-spacing: 0.2051282051vw;
    border-bottom: 0.2564102564vw dashed;
    padding-bottom: 1.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .worry-TL span {
    font-size: 2.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .worry-TL span {
    font-size: 6.1538461538vw;
  }
}
.worry-TL::before {
  content: "";
  background-image: url('data:image/svg+xml;utf-8,<svg width="33" height="28" viewBox="0 0 33 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.5989 26.421C4.26421 26.7099 4.9376 27.0591 5.66145 27.2312C6.44804 27.4186 7.32803 27.4185 8.13459 27.3471C9.90564 27.1898 11.6083 26.2792 12.3075 24.8545C13.9069 21.5951 8.91033 18.9342 5.99406 17.9207C5.10383 17.6114 4.05554 17.3102 3.14732 17.7633C2.28184 18.1948 1.96735 19.0315 2.19977 19.835C2.41512 20.5795 3.03288 21.1647 3.70767 21.6376C4.56041 22.2354 5.45267 22.7875 6.40157 23.2704C9.12272 24.6549 12.7525 25.9618 15.9613 25.0416C17.5119 24.597 18.7811 23.6089 19.2096 22.2367C19.7011 20.6618 19.099 19.0286 18.0078 17.7442C16.8428 16.3729 15.2363 15.2708 13.7095 14.2013C12.4129 13.2928 11.07 12.4268 9.573 11.7671C8.02333 11.0843 6.36915 10.6034 4.66059 10.3043C3.7259 10.1411 2.6701 9.89386 1.75723 10.2531C0.910862 10.5862 0.410697 11.282 0.446715 12.0804C0.518587 13.681 2.22255 14.7937 3.51277 15.7629C4.87744 16.7885 6.31509 17.7523 7.84543 18.5945C10.7284 20.1816 14.0559 21.4809 17.3681 22.2719C20.6607 23.0581 25.0847 21.9781 25.4321 18.6088C25.5751 17.2194 24.7898 15.6867 23.9081 14.5471C22.9524 13.3109 21.738 12.2213 20.4639 11.2197C17.8048 9.12969 14.8208 7.17265 11.6557 5.66777C9.29789 4.54665 5.83443 3.03603 3.09743 4.07516C2.02235 4.48319 1.22408 5.32874 1.45067 6.35615C1.59344 7.0033 2.06879 7.5674 2.568 8.05282C4.0279 9.4722 6.02893 10.5442 7.8971 11.5299C10.4782 12.8915 13.1758 14.0964 15.915 15.211C18.5664 16.2896 21.2777 17.3434 24.0632 18.1502C26.7957 18.9417 30.9621 18.2534 32.0663 15.6969C32.573 14.5229 32.0393 13.2128 31.4521 12.1392C30.7896 10.9274 29.8505 9.7855 28.7863 8.80493C27.4584 7.58187 25.8658 6.51278 24.343 5.47189C22.811 4.42438 21.216 3.4397 19.524 2.5858C17.8878 1.75955 16.1596 1.06435 14.3677 0.518225C13.6975 0.314062 12.9248 0.731231 12.7364 1.28598C12.5279 1.89992 12.9642 2.46617 13.6364 2.67085C16.5907 3.57076 19.2801 4.98153 21.7704 6.5885C23.1643 7.48774 24.4909 8.45895 25.7861 9.45892C26.721 10.1812 27.5594 10.9508 28.2466 11.856C28.8321 12.6271 29.4802 13.5888 29.6172 14.4564C29.6288 14.5297 29.6434 14.7658 29.6203 14.9044C29.6465 14.7482 29.5396 15.0513 29.5036 15.1052C29.2824 15.432 28.9284 15.6501 28.4872 15.833C26.3609 16.715 24.2714 15.8648 22.2695 15.1752C17.7331 13.6123 13.2842 11.7483 9.13171 9.54279C8.25024 9.07489 7.38241 8.58701 6.54721 8.06193C5.85962 7.63013 5.47473 7.38139 4.81941 6.8176C4.59584 6.62519 4.38262 6.42413 4.1911 6.20796C4.37158 6.41124 4.21377 6.23534 4.14485 6.12724C4.11666 6.08249 4.08968 6.03415 4.05793 5.99145C3.89754 5.77608 4.13636 6.05476 4.07666 6.04894C3.97837 6.03907 4.06264 5.51865 4.0398 6.04482C4.05223 5.7628 3.97285 6.17466 4.01157 6.07581C3.99704 6.11354 3.88745 6.27816 3.88798 6.30014C3.88785 6.29379 4.15189 6.09642 4.00914 6.19225C4.04601 6.16773 4.2603 6.07818 4.2809 6.073C4.68146 5.97302 4.84262 5.96763 5.38921 6.00425C5.79619 6.0316 6.28978 6.13349 6.78456 6.26042C8.01052 6.57485 9.16272 7.05096 10.2779 7.58068C12.8969 8.82523 15.3459 10.394 17.6158 12.0565C19.5239 13.454 21.6682 15.0927 22.5141 17.1699C22.9374 18.2099 22.9199 19.2064 21.7211 19.8625C20.8127 20.3598 19.5892 20.4029 18.5596 20.2164C17.1254 19.9571 15.7084 19.4334 14.3564 18.9606C13.1038 18.5226 11.8829 18.0186 10.7058 17.4495C8.19304 16.2347 5.926 14.7036 3.86097 12.9895C3.67556 12.836 3.48878 12.6866 3.34419 12.5037C3.31702 12.4694 3.07598 11.9619 3.06565 11.9604C3.25274 11.9963 2.85971 12.2758 2.85971 12.2758C2.84994 12.355 2.42831 12.2212 2.93552 12.3098C3.33972 12.3807 3.75554 12.4258 4.16183 12.5005C5.48937 12.7445 6.80519 13.0852 8.02095 13.6045C10.5424 14.6825 12.8167 16.332 14.8088 18.0137C15.767 18.8222 16.7406 19.824 16.7512 21.0352C16.7589 21.915 16.215 22.5817 15.3166 22.8731C12.9949 23.626 10.1947 22.5262 8.20905 21.572C7.49085 21.2269 6.79706 20.8436 6.13415 20.4266C5.86082 20.2546 5.59044 20.0789 5.3333 19.8895C5.21101 19.799 5.08344 19.7106 4.98066 19.603C4.93296 19.5535 4.7979 19.3156 4.7586 19.3002C4.68352 19.2707 5.08092 19.3229 4.65518 19.4668L4.56027 19.6369C4.11239 19.7065 4.05136 19.76 4.37681 19.7971C4.6909 19.9349 5.07031 19.9997 5.39614 20.1214C6.15112 20.4035 6.8719 20.7662 7.54624 21.1681C8.40441 21.6794 9.97387 22.6165 9.97084 23.6307C9.9683 24.4619 8.83901 25.0228 7.97595 25.1261C6.65856 25.2842 6.09806 24.9961 4.97786 24.5098C4.34538 24.2352 3.55666 24.3381 3.16581 24.8819C2.81618 25.3682 2.96393 26.1452 3.59996 26.4212L3.5989 26.421Z" fill="%23462204"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .worry-TL::before {
    width: 2.578125vw;
    height: 2.1875vw;
    top: -1.40625vw;
    left: 14.84375vw;
  }
}
@media screen and (max-width: 767px) {
  .worry-TL::before {
    width: 6.1538461538vw;
    height: 5.1282051282vw;
    top: -3.0769230769vw;
    left: 32.0512820513vw;
  }
}
.worry ul {
  position: relative;
}
@media screen and (min-width: 768px) {
  .worry ul {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul {
    margin-top: 7.6923076923vw;
  }
}
.worry ul .img {
  position: absolute;
}
.worry ul .img .img-content {
  background-image: url('data:image/svg+xml;utf-8,<svg width="358" height="174" viewBox="0 0 358 174" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M311.254 140.275C313.123 138.257 316.004 137.741 318.597 138.06C319.886 138.218 321.071 138.58 321.977 139.039C322.908 139.512 323.449 140.037 323.608 140.466C323.891 141.229 324.557 141.811 325.259 142.307C325.618 142.56 326.01 142.807 326.4 143.053C326.795 143.3 327.19 143.547 327.571 143.81C328.337 144.337 329.01 144.902 329.458 145.584C329.896 146.25 330.132 147.046 329.994 148.08C329.861 149.075 329.63 149.795 329.334 150.374C329.038 150.953 328.667 151.413 328.228 151.88C327.351 152.811 326.166 153.791 325.027 155.718C323.582 158.164 320.926 159.248 318.174 159.378C315.409 159.508 312.677 158.667 311.194 157.422C310.652 156.967 309.987 156.618 309.301 156.312C308.638 156.016 307.846 155.714 307.168 155.424C305.736 154.81 304.471 154.107 303.747 152.895C302.198 150.298 303.41 147.045 306.063 145.037C306.747 144.52 307.153 144.242 307.441 144.048C307.728 143.855 307.931 143.724 308.173 143.517C308.632 143.123 309.253 142.436 311.254 140.275Z" fill="white" stroke="%23462204"/><path d="M342.446 157.678C343.898 156.11 346.145 155.701 348.184 155.951C349.196 156.076 350.125 156.359 350.832 156.718C351.564 157.089 351.964 157.492 352.077 157.794C352.313 158.431 352.866 158.908 353.424 159.303C353.712 159.506 354.025 159.703 354.334 159.897C354.648 160.094 354.959 160.289 355.259 160.496C355.864 160.912 356.385 161.352 356.73 161.876C357.064 162.384 357.245 162.991 357.139 163.786C357.035 164.566 356.854 165.126 356.625 165.573C356.397 166.021 356.11 166.378 355.764 166.745C355.076 167.476 354.122 168.267 353.211 169.809C352.088 171.71 350.019 172.561 347.856 172.663C345.681 172.766 343.541 172.102 342.389 171.135C341.948 170.764 341.409 170.483 340.862 170.238C340.338 170.004 339.697 169.76 339.168 169.533C338.105 169.077 337.18 168.568 336.611 167.738L336.501 167.568C335.309 165.57 336.231 163.043 338.313 161.468C338.853 161.059 339.174 160.84 339.402 160.687C339.627 160.535 339.794 160.427 339.992 160.258C340.362 159.941 340.862 159.388 342.446 157.678Z" fill="white" stroke="%23462204"/><path d="M143.615 2.49707C151.204 -0.149094 159.264 -0.616042 168.073 3.88867C171.281 5.52894 173.968 7.16028 176.437 8.68652C178.901 10.2095 181.162 11.6374 183.491 12.8486C188.176 15.2854 193.14 16.8499 200.746 16.7119C204.185 16.6495 207.544 16.0626 210.839 15.332C214.163 14.5948 217.349 13.7307 220.59 13.0723C227.017 11.7665 233.311 11.3546 239.793 14.668C243.504 16.5654 246.585 18.6217 249.416 20.6445C252.235 22.6595 254.839 24.6658 257.539 26.417C262.981 29.9466 268.897 32.4978 278.284 32.4238C285.754 32.3649 291.606 32.0433 296.874 33.293C302.093 34.531 306.751 37.3211 311.746 43.5654C315.432 48.1745 314.927 53.0607 314.875 58.3428C314.849 60.9625 314.941 63.6664 315.782 66.3877C316.627 69.1195 318.218 71.8435 321.149 74.5293C327.286 80.1522 331.687 86.2119 333.765 94.9023C334.406 97.5797 334.209 102.126 333.33 106.542C332.892 108.74 332.29 110.884 331.552 112.723C330.81 114.57 329.946 116.071 329.004 117.02C323.634 122.421 317.838 124.098 311.826 126.198C305.812 128.3 299.652 130.811 293.825 137.943C284.958 148.797 277.758 159.562 261.378 160.091C254.941 160.299 248.911 157.277 242.675 154.438C236.491 151.622 230.119 148.999 223.196 150.327C219.099 151.113 215.511 153.52 212.125 156.078C208.704 158.662 205.507 161.38 202.088 162.972C196.983 165.348 189.479 166.443 183.984 166.991C179.291 167.459 175.595 166.814 172.452 165.541C169.301 164.265 166.681 162.35 164.147 160.239C159.107 156.042 154.372 151.012 146.589 149.252C143.407 148.532 140.203 149.028 137.028 150.168C133.858 151.307 130.684 153.101 127.553 155.016C124.406 156.94 121.317 158.976 118.25 160.651C115.187 162.324 112.204 163.605 109.31 164.025C102.213 165.057 96.7194 165.436 90.405 161.231C87.4124 159.239 85.3156 156.297 83.24 153.315C81.1869 150.367 79.1413 147.356 76.2732 145.442C70.3335 141.479 64.1544 143.405 58.2732 144.771C55.2981 145.461 52.3871 146.019 49.5125 145.729C46.66 145.44 43.8184 144.311 40.9939 141.571C38.3412 138.998 36.4877 136.084 34.948 133.124C34.1777 131.643 33.488 130.155 32.8142 128.689C32.1421 127.228 31.4837 125.786 30.7839 124.418C29.3849 121.682 27.7953 119.19 25.5066 117.316C23.207 115.434 20.2374 114.205 16.1296 113.931C9.64776 113.497 3.98281 109.192 1.64233 103.735C0.475314 101.014 0.139553 98.0183 0.928467 95.0762C1.71685 92.1361 3.63841 89.2117 7.05151 86.6514C9.68341 84.677 11.8092 81.7011 13.1531 78.5156C14.4957 75.3331 15.0795 71.8893 14.5681 68.9658C14.283 67.3358 13.6158 65.1147 13.0085 62.6885C12.3941 60.2336 11.8237 57.5097 11.6931 54.7666C11.5626 52.0243 11.8728 49.2852 13.0017 46.79C14.127 44.3029 16.0794 42.0258 19.2878 40.2197C25.8012 36.5536 30.6649 36.8909 35.3279 36.3203C37.6601 36.0349 39.929 35.5171 42.2498 34.1211C44.5667 32.7272 46.8993 30.4794 49.406 26.79C53.4482 20.8407 57.3888 15.3224 62.3132 11.5566C67.2095 7.8124 73.0919 5.79307 81.0574 6.88574C84.3648 7.33955 87.63 8.56787 90.9197 10.04C94.1768 11.4977 97.5246 13.228 100.843 14.5957C107.536 17.3548 114.491 18.812 121.954 14.2393C128.88 9.99499 135.991 5.15533 143.615 2.49707Z" fill="white" stroke="%23462204"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  display: grid;
  place-items: center;
}
.worry ul .img .worry-TX {
  line-height: 150%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .worry ul .img .worry-TX {
    font-size: 1.25vw;
    margin-left: -1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img .worry-TX {
    font-size: 2.8205128205vw;
    margin-left: -2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .worry ul .img.img01 {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img01 {
    left: 5.1282051282vw;
  }
}
.worry ul .img.img01 .img-content {
  background-image: url('data:image/svg+xml;utf-8,<svg width="335" height="168" viewBox="0 0 335 168" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M191.385 2.49707C183.795 -0.149094 175.736 -0.616042 166.927 3.88867C163.719 5.52894 161.032 7.16028 158.562 8.68652C156.099 10.2095 153.838 11.6374 151.509 12.8486C146.824 15.2854 141.859 16.8499 134.254 16.7119C130.815 16.6495 127.456 16.0626 124.161 15.332C120.836 14.5948 117.651 13.7307 114.41 13.0723C107.983 11.7665 101.689 11.3546 95.207 14.668C91.4957 16.5654 88.4144 18.6217 85.584 20.6445C82.7646 22.6595 80.1609 24.6658 77.4609 26.417C72.0192 29.9466 66.1024 32.4978 56.7158 32.4238C49.2458 32.3649 43.3938 32.0433 38.126 33.293C32.9072 34.531 28.2483 37.3211 23.2539 43.5654C19.5675 48.1745 20.0724 53.0607 20.125 58.3428C20.1511 60.9625 20.0591 63.6664 19.2178 66.3877C18.3732 69.1195 16.7817 71.8435 13.8506 74.5293C7.71375 80.1522 3.3126 86.2119 1.23438 94.9023C0.59394 97.5797 0.790958 102.126 1.66992 106.542C2.10749 108.74 2.71 110.884 3.44824 112.723C4.18982 114.57 5.0535 116.071 5.99609 117.02C11.3654 122.421 17.1621 124.098 23.1738 126.198C29.1881 128.3 35.3475 130.811 41.1748 137.943C50.0415 148.797 57.2413 159.562 73.6221 160.091C80.0591 160.299 86.0888 157.277 92.3252 154.438C98.5084 151.622 104.881 148.999 111.804 150.327C115.901 151.113 119.489 153.52 122.875 156.078C126.296 158.662 129.492 161.38 132.912 162.972C138.017 165.348 145.521 166.443 151.016 166.991C155.709 167.459 159.404 166.814 162.548 165.541C165.698 164.265 168.318 162.35 170.853 160.239C175.892 156.042 180.628 151.012 188.411 149.252C191.593 148.532 194.797 149.028 197.972 150.168C201.142 151.307 204.315 153.101 207.446 155.016C210.594 156.94 213.683 158.976 216.75 160.651C219.813 162.324 222.796 163.605 225.689 164.025C232.787 165.057 238.28 165.436 244.595 161.231C247.587 159.239 249.684 156.297 251.76 153.315C253.813 150.367 255.858 147.356 258.727 145.442C264.666 141.479 270.845 143.405 276.727 144.771C279.702 145.461 282.613 146.019 285.487 145.729C288.34 145.44 291.181 144.311 294.006 141.571C296.659 138.998 298.512 136.084 300.052 133.124C300.822 131.643 301.512 130.155 302.186 128.689C302.858 127.228 303.516 125.786 304.216 124.418C305.615 121.682 307.205 119.19 309.493 117.316C311.793 115.434 314.762 114.205 318.87 113.931C325.352 113.497 331.017 109.192 333.357 103.735C334.524 101.014 334.86 98.0183 334.071 95.0762C333.283 92.1361 331.361 89.2117 327.948 86.6514C325.316 84.677 323.191 81.7011 321.847 78.5156C320.504 75.3331 319.92 71.8893 320.432 68.9658C320.717 67.3358 321.384 65.1147 321.991 62.6885C322.606 60.2336 323.176 57.5097 323.307 54.7666C323.437 52.0243 323.127 49.2852 321.998 46.79C320.873 44.3029 318.92 42.0258 315.712 40.2197C309.199 36.5536 304.335 36.8909 299.672 36.3203C297.34 36.0349 295.071 35.5171 292.75 34.1211C290.433 32.7272 288.101 30.4794 285.594 26.79C281.552 20.8407 277.611 15.3224 272.687 11.5566C267.79 7.8124 261.908 5.79307 253.942 6.88574C250.635 7.33955 247.37 8.56787 244.08 10.04C240.823 11.4977 237.475 13.228 234.157 14.5957C227.464 17.3548 220.509 18.812 213.046 14.2393C206.12 9.99499 199.009 5.15533 191.385 2.49707Z" fill="white" stroke="%23462204"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 334/167;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .worry ul .img.img01 .img-content {
    width: 20.3125vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img01 .img-content {
    width: 46.1538461538vw;
  }
}
.worry ul .img.img01 .img-content .worry-TX {
  margin-left: unset;
}
@media screen and (min-width: 768px) {
  .worry ul .img.img02 {
    left: 15.625vw;
    top: 5.3125vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img02 {
    right: 0vw;
    top: 20.5128205128vw;
  }
}
.worry ul .img.img02 .img-content {
  aspect-ratio: 353/173;
}
@media screen and (min-width: 768px) {
  .worry ul .img.img02 .img-content {
    width: 23.48984375vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img02 .img-content {
    width: 51.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .worry ul .img.img03 {
    right: 15.625vw;
    top: 5.3125vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img03 {
    left: 0vw;
    top: 38.4615384615vw;
  }
}
.worry ul .img.img03 .img-content {
  aspect-ratio: 364/173;
}
@media screen and (min-width: 768px) {
  .worry ul .img.img03 .img-content {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img03 .img-content {
    width: 51.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .worry ul .img.img04 {
    left: 11.71875vw;
    top: 21.875vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img04 {
    right: 0;
    top: 58.9743589744vw;
  }
}
.worry ul .img.img04 .img-content {
  aspect-ratio: 364/173;
}
@media screen and (min-width: 768px) {
  .worry ul .img.img04 .img-content {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img04 .img-content {
    width: 51.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .worry ul .img.img05 {
    right: 11.71875vw;
    top: 21.875vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img05 {
    left: 0;
    top: 76.9230769231vw;
  }
}
.worry ul .img.img05 .img-content {
  aspect-ratio: 364/173;
}
@media screen and (min-width: 768px) {
  .worry ul .img.img05 .img-content {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767px) {
  .worry ul .img.img05 .img-content {
    width: 51.2820512821vw;
  }
}
.worry ul .img.worry-right {
  transform: scale(-1, 1);
}
.worry ul .img.worry-right .worry-TX {
  transform: scale(-1, 1);
}
.worry .worry-img {
  background-image: url("../img/worry-img.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  aspect-ratio: 455.79/377;
}
@media screen and (min-width: 768px) {
  .worry .worry-img {
    width: 25.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .worry .worry-img {
    width: 58.9743589744vw;
  }
}

/* -----------------------
  solution
----------------------- */
@media screen and (min-width: 768px) {
  .solution {
    padding: 6.25vw 15.625vw 0;
  }
}
@media screen and (max-width: 767px) {
  .solution {
    padding: 12.8205128205vw 10.2564102564vw 0;
  }
}
.solution-content {
  display: flex;
  flex-wrap: wrap;
  counter-reset: circle;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .solution-content {
    margin-top: 7.8125vw;
    gap: 3.90625vw 4.6875vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-content {
    margin-top: 17.9487179487vw;
    gap: 7.6923076923vw;
    flex-direction: column;
  }
}
.solution-content li {
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .solution-content li {
    border-radius: 1.5625vw;
    width: 29.6875vw;
    padding: 1.5625vw 1.5625vw 2.265625vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-content li {
    border-radius: 5.1282051282vw;
    padding: 2.5641025641vw 2.5641025641vw 4.6153846154vw;
  }
}
.solution-content li::before {
  counter-increment: circle;
  content: counter(circle, decimal-leading-zero);
  position: absolute;
  background-color: #81D8D0;
  border-radius: 50%;
  aspect-ratio: 1/1;
  color: #fff;
  display: grid;
  place-items: center;
  font-family: "Battambang", system-ui;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .solution-content li::before {
    width: 5.46875vw;
    font-size: 2.734375vw;
    top: -2.421875vw;
    left: -1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-content li::before {
    width: 15.3846153846vw;
    font-size: 6.6666666667vw;
    top: -5.3846153846vw;
    left: -2.5641025641vw;
  }
}
.solution-content-TL {
  color: #FF7700;
  font-weight: 700;
  line-height: 135%;
}
@media screen and (min-width: 768px) {
  .solution-content-TL {
    padding-left: 4.6875vw;
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-content-TL {
    padding-left: 12.8205128205vw;
    font-size: 4.1025641026vw;
  }
}
.solution-content-TX {
  font-weight: 500;
  line-height: 143%;
}
@media screen and (min-width: 768px) {
  .solution-content-TX {
    letter-spacing: 0.0859375vw;
    font-size: 1.09375vw;
    margin-top: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-content-TX {
    letter-spacing: 0.2871794872vw;
    font-size: 3.0769230769vw;
    margin-top: 2.0512820513vw;
  }
}
@media screen and (min-width: 768px) {
  .solution-graph {
    background-image: url("../img/graph-pc.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 880/464;
    width: 58.59375vw;
    margin: 7.8125vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .solution-graph {
    background-image: url("../img/graph-sp.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 350/464;
    width: 100%;
    margin-top: 25.641025641vw;
  }
}
.solution-case {
  display: flex;
}
@media screen and (min-width: 768px) {
  .solution-case {
    margin-top: 7.8125vw;
    justify-content: center;
    gap: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-case {
    flex-direction: column;
    gap: 5.1282051282vw;
    margin-top: 10.2564102564vw;
  }
}
.solution-case-img {
  aspect-ratio: 400/482;
}
@media screen and (min-width: 768px) {
  .solution-case-img {
    width: 23.4375vw;
  }
}
@media screen and (max-width: 767px) {
  .solution-case-img {
    width: 71.7948717949vw;
    height: 89.7435897436vw;
    margin: 0 auto;
  }
}
.solution-case-img.img01 {
  background-image: url("../img/solution-case-img01.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.solution-case-img.img02 {
  background-image: url("../img/solution-case-img02.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .reason-btn-TL-wrap {
    margin-top: 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-btn-TL-wrap {
    margin-top: 12.8205128205vw;
  }
}
.reason-btn-TL-wrap .reason-btn-TL {
  position: relative;
  width: fit-content;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .reason-btn-TL-wrap .reason-btn-TL {
    font-size: 1.5625vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .reason-btn-TL-wrap .reason-btn-TL {
    font-size: 3.5897435897vw;
    margin: 0 auto 0;
  }
}
.reason-btn-TL-wrap .reason-btn-TL::before, .reason-btn-TL-wrap .reason-btn-TL::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(23.237deg);
  font-weight: 500;
  animation: TL-deco 4s infinite;
  transform-origin: bottom;
}
@keyframes TL-deco {
  0% {
    transform: translateY(-50%) rotate(23.237deg);
  }
  50% {
    transform: translateY(-50%) rotate(0deg);
  }
  100% {
    transform: translateY(-50%) rotate(23.237deg);
  }
}
@media screen and (min-width: 768px) {
  .reason-btn-TL-wrap .reason-btn-TL::before, .reason-btn-TL-wrap .reason-btn-TL::after {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-btn-TL-wrap .reason-btn-TL::before, .reason-btn-TL-wrap .reason-btn-TL::after {
    font-size: 5.1282051282vw;
  }
}
.reason-btn-TL-wrap .reason-btn-TL::before {
  content: "!";
}
@media screen and (min-width: 768px) {
  .reason-btn-TL-wrap .reason-btn-TL::before {
    right: -1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-btn-TL-wrap .reason-btn-TL::before {
    right: -2.0512820513vw;
  }
}
.reason-btn-TL-wrap .reason-btn-TL::after {
  content: "?";
}
@media screen and (min-width: 768px) {
  .reason-btn-TL-wrap .reason-btn-TL::after {
    right: -2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-btn-TL-wrap .reason-btn-TL::after {
    right: -5.8974358974vw;
  }
}
.reason-btn-TL-wrap .reason-btn img {
  aspect-ratio: 880/152;
}
@media screen and (min-width: 768px) {
  .reason-btn-TL-wrap .reason-btn img {
    width: 42.96875vw;
    margin: 0.78125vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .reason-btn-TL-wrap .reason-btn img {
    object-fit: contain;
    width: 71.7948717949vw;
    height: 16.1538461538vw;
    margin: 0vw auto 0;
  }
}

/* -----------------------
  _btn-component
----------------------- */
.cta-area {
  display: flex;
}
@media screen and (min-width: 768px) {
  .cta-area {
    padding: 7.8125vw 3.90625vw;
    justify-content: center;
    gap: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .cta-area {
    flex-direction: column;
    align-items: center;
    gap: 3.8461538462vw;
    padding: 12.8205128205vw 5.1282051282vw 20.5128205128vw;
  }
}

/* -----------------------
  about
----------------------- */
.about {
  position: relative;
}
@media screen and (min-width: 768px) {
  .about {
    padding-block: 3.90625vw 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .about {
    padding-block: 12.8205128205vw 102.5641025641vw;
  }
}
.about-TX {
  text-align: center;
  font-weight: 500;
  line-height: 188%;
}
@media screen and (min-width: 768px) {
  .about-TX {
    margin-top: 4.296875vw;
    font-size: 1.25vw;
    letter-spacing: 0.1265625vw;
  }
}
@media screen and (max-width: 767px) {
  .about-TX {
    line-height: 200%;
    margin-top: 9.2307692308vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0.2051282051vw;
  }
}
.about-TX span {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .about-TX span {
    font-size: 1.40625vw;
    letter-spacing: 0.140625vw;
  }
}
@media screen and (max-width: 767px) {
  .about-TX span {
    font-size: 4.1025641026vw;
    letter-spacing: 0.2051282051vw;
  }
}
.about .about-img {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .about .about-img {
    width: 22.65625vw;
    height: 15.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .about .about-img {
    width: 53.8461538462vw;
    height: 36.4102564103vw;
  }
}
.about .about-img.img01 {
  background-image: url("../img/about01.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  left: 0;
}
@media screen and (min-width: 768px) {
  .about .about-img.img01 {
    border-radius: 0 1.171875vw 1.171875vw 0;
    top: 10.3125vw;
  }
}
@media screen and (max-width: 767px) {
  .about .about-img.img01 {
    border-radius: 0 3.8461538462vw 3.8461538462vw 0;
    bottom: 61.5384615385vw;
  }
}
.about .about-img.img02 {
  background-image: url("../img/about02.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  right: 0;
}
@media screen and (min-width: 768px) {
  .about .about-img.img02 {
    border-radius: 1.171875vw 0 0 1.171875vw;
    bottom: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .about .about-img.img02 {
    border-radius: 3.8461538462vw 0 0 3.8461538462vw;
    bottom: 12.8205128205vw;
  }
}
.about .about-img::before {
  content: "";
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/* -----------------------
  reason
----------------------- */
.reason {
  background-image: url("../img/reason-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .reason {
    padding: 6.25vw 15.625vw 5.859375vw;
  }
}
@media screen and (max-width: 767px) {
  .reason {
    padding: 12.8205128205vw 10.2564102564vw 15.3846153846vw;
  }
}
.reason-content {
  display: flex;
  flex-direction: column;
  counter-reset: circle;
}
@media screen and (min-width: 768px) {
  .reason-content {
    margin-top: 5.46875vw;
    gap: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-content {
    margin-top: 12.8205128205vw;
    gap: 10.2564102564vw;
  }
}
.reason-content li {
  background: rgba(255, 255, 255, 0.55);
  position: relative;
}
@media screen and (min-width: 768px) {
  .reason-content li {
    width: 41.40625vw;
    padding: 2.421875vw 1.5625vw 1.5625vw 1.953125vw;
    border-radius: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-content li {
    padding: 5.1282051282vw 2.5641025641vw 2.5641025641vw 3.8461538462vw;
    border-radius: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .reason-content li.reason-right {
    margin-left: auto;
  }
}
.reason-content li::before {
  counter-increment: circle;
  content: counter(circle);
  color: #81D8D0;
  position: absolute;
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .reason-content li::before {
    font-size: 3.515625vw;
    top: 1.171875vw;
    left: 2.34375vw;
    text-shadow: 0px 0.3125vw 1.015625vw rgba(113, 67, 30, 0.15);
  }
}
@media screen and (max-width: 767px) {
  .reason-content li::before {
    font-size: 7.6923076923vw;
    top: 2.5641025641vw;
    left: 5.1282051282vw;
    text-shadow: 0px 0.5128205128vw 1.5384615385vw rgba(113, 67, 30, 0.15);
  }
}
.reason-content-TL {
  color: #FF7700;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .reason-content-TL {
    font-size: 1.40625vw;
    margin-left: 4.140625vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-content-TL {
    font-size: 4.1025641026vw;
    margin-left: 10.2564102564vw;
  }
}
.reason-content-TX {
  font-weight: 500;
  line-height: 143%;
}
@media screen and (min-width: 768px) {
  .reason-content-TX {
    font-size: 1.09375vw;
    letter-spacing: 0.09375vw;
    margin-top: 1.640625vw;
  }
}
@media screen and (max-width: 767px) {
  .reason-content-TX {
    font-size: 3.0769230769vw;
    letter-spacing: 0.2051282051vw;
    margin-top: 2.5641025641vw;
  }
}

/* -----------------------
  promise
----------------------- */
@media screen and (min-width: 768px) {
  .promise {
    padding: 8.59375vw 23.4375vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .promise {
    padding: 20.5128205128vw 10.2564102564vw 0vw;
  }
}
.promise-inner {
  background: rgba(255, 240, 227, 0.6);
}
@media screen and (min-width: 768px) {
  .promise-inner {
    border: 0.078125vw solid #FF7700;
    border-top: 1.015625vw solid #FF7700;
    border-radius: 1.5625vw;
    padding: 4.6875vw 3.125vw 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .promise-inner {
    border: 0.2564102564vw solid #FF7700;
    border-top: 3.3333333333vw solid #FF7700;
    border-radius: 5.1282051282vw;
    padding: 12.8205128205vw 5.1282051282vw 5.1282051282vw;
  }
}
.promise-TL {
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .promise-TL {
    border-bottom: 0.078125vw solid;
    padding-bottom: 2.1875vw;
    font-size: 2.1875vw;
  }
}
@media screen and (max-width: 767px) {
  .promise-TL {
    border-bottom: 0.2564102564vw solid;
    padding-bottom: 5.1282051282vw;
    font-size: 5.1282051282vw;
  }
}
.promise-content {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .promise-content {
    margin-top: 2.34375vw;
    gap: 4.375vw;
  }
}
@media screen and (max-width: 767px) {
  .promise-content {
    margin-top: 5.1282051282vw;
    gap: 10.2564102564vw;
  }
}
.promise-content-TL {
  font-weight: 700;
  text-shadow: 0 0 0px;
}
@media screen and (min-width: 768px) {
  .promise-content-TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .promise-content-TL {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  .promise-content-TL span {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .promise-content-TL span {
    font-size: 4.6153846154vw;
  }
}
.promise-content-TX {
  line-height: 150%;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .promise-content-TX {
    margin: 0.546875vw 0 0 1.171875vw;
    font-size: 1.09375vw;
    letter-spacing: 0.1vw;
  }
}
@media screen and (max-width: 767px) {
  .promise-content-TX {
    margin: 1.2820512821vw 0 0 2.5641025641vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0.2564102564vw;
  }
}

/* -----------------------
  plan-table
----------------------- */
@media screen and (min-width: 768px) {
  .C_TL.plan-TL {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL.plan-TL {
    margin-top: 12.8205128205vw;
  }
}

@media screen and (min-width: 768px) {
  .plan-table-wrap {
    padding: 6.640625vw 23.4375vw 0;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap {
    padding: 10.2564102564vw 5.1282051282vw 0;
  }
}
.plan-table-wrap .plan-table {
  background: rgba(255, 255, 255, 0.7);
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table {
    border: 0.078125vw solid #FF7700;
    border-radius: 1.5625vw;
    drop-shadow: 0px 0.15625vw 1.171875vw rgba(91, 91, 91, 0.25);
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table {
    border: 0.2564102564vw solid #FF7700;
    border-radius: 2.5641025641vw;
  }
}
.plan-table-wrap .plan-table li {
  display: flex;
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li .plan {
    width: 11.71875vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li .plan {
    width: 19.2307692308vw;
  }
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li .data {
    width: 19.53125vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li .data {
    width: 32.0512820513vw;
  }
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li .price {
    width: 21.875vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li .price {
    width: 38.4615384615vw;
  }
}
.plan-table-wrap .plan-table li .TX {
  text-align: center;
}
.plan-table-wrap .plan-table li.top {
  background-color: #FF7700;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.top {
    border-radius: 1.40625vw 1.40625vw 0 0;
    font-size: 1.5625vw;
    padding-block: 1.640625vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.top {
    font-size: 4.1025641026vw;
    padding-block: 4.1025641026vw;
    border-radius: 2.0512820513vw 2.0512820513vw 0 0;
  }
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.plan-list {
    border-bottom: 0.078125vw solid #A14B04;
    padding-block: 1.953125vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.plan-list {
    border-bottom: 0.2564102564vw solid #A14B04;
    padding-block: 5.1282051282vw;
  }
}
.plan-table-wrap .plan-table li.plan-list .TX {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.plan-list .TX {
    font-size: 1.5625vw;
    letter-spacing: 0.1265625vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.plan-list .TX {
    font-size: 3.5897435897vw;
    letter-spacing: 0.2051282051vw;
  }
}
.plan-table-wrap .plan-table li.plan-list .TX .orange {
  color: #FF7700;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.plan-list .TX .orange {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.plan-list .TX .orange {
    font-size: 4.6153846154vw;
  }
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.plan-list .price .TX {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.plan-list .price .TX {
    font-size: 3.0769230769vw;
  }
}
.plan-table-wrap .plan-table li.plan-list .price .TX .tax {
  color: #888;
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.plan-list .price .TX .tax {
    font-size: 0.9375vw;
    margin-left: 0.859375vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.plan-list .price .TX .tax {
    font-size: 2.5641025641vw;
    margin-left: 1.5384615385vw;
  }
}
@media screen and (min-width: 768px) {
  .plan-table-wrap .plan-table li.plan-list .price .TX .tax .tax-span {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .plan-table-wrap .plan-table li.plan-list .price .TX .tax .tax-span {
    font-size: 3.0769230769vw;
  }
}
.plan-table-wrap .plan-table li:last-child {
  border-bottom: none;
}

/* -----------------------
  giga-plus
----------------------- */
@media screen and (min-width: 768px) {
  .giga-plus {
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-plus {
    margin-top: 10.2564102564vw;
  }
}
.giga-plus-img img {
  aspect-ratio: 347/104;
}
@media screen and (min-width: 768px) {
  .giga-plus-img img {
    width: 23.4375vw;
    margin-left: 13.203125vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-plus-img img {
    width: 51.2820512821vw;
    margin-left: 5.1282051282vw;
  }
}
.giga-plus-TL {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .giga-plus-TL {
    font-size: 1.71875vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-plus-TL {
    font-size: 4.1025641026vw;
    line-height: 160%;
  }
}
@media screen and (min-width: 768px) {
  .giga-plus-TL span {
    font-size: 2.1875vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-plus-TL span {
    font-size: 5.1282051282vw;
  }
}
.giga-plus-TL-bottom {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .giga-plus-TL-bottom {
    font-size: 0.9375vw;
    margin-top: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-plus-TL-bottom {
    margin-top: 1.2820512821vw;
    font-size: 2.0512820513vw;
  }
}

.kbps {
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .kbps {
    width: 62.5vw;
    margin: 6.25vw auto 0;
    border-radius: 1.5625vw;
    padding: 3.125vw 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .kbps {
    width: 89.7435897436vw;
    margin: 12.8205128205vw auto 0;
    border-radius: 2.5641025641vw;
    padding: 7.6923076923vw 5.1282051282vw 0;
  }
}
.kbps-TL {
  position: absolute;
  background-color: #81D8D0;
  border-radius: 999px;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .kbps-TL {
    width: 21.875vw;
    height: 3.125vw;
    top: -1.5625vw;
    left: 2.03125vw;
  }
}
@media screen and (max-width: 767px) {
  .kbps-TL {
    width: 56.4102564103vw;
    height: 7.6923076923vw;
    top: -3.8461538462vw;
    left: 2.5641025641vw;
  }
}
.kbps-TL .TL {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .kbps-TL .TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .kbps-TL .TL {
    font-size: 4.1025641026vw;
  }
}
.kbps-main ul {
  display: flex;
  flex-direction: column;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .kbps-main ul {
    gap: 1.015625vw;
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .kbps-main ul {
    gap: 2.5641025641vw;
    font-size: 3.0769230769vw;
  }
}
.kbps-main .main-TX {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .kbps-main .main-TX {
    margin-top: 2.34375vw;
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .kbps-main .main-TX {
    margin-top: 5.1282051282vw;
    font-size: 3.0769230769vw;
  }
}
.kbps-main-img {
  background-image: url("../img/200kbps-main-img.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 229/332;
}
@media screen and (min-width: 768px) {
  .kbps-main-img {
    position: absolute;
    width: 14.0625vw;
    bottom: 0;
    right: 4.375vw;
  }
}
@media screen and (max-width: 767px) {
  .kbps-main-img {
    width: 25.641025641vw;
    margin: 5.1282051282vw auto 0;
  }
}

@media screen and (min-width: 768px) {
  .giga-buy {
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-buy {
    margin-top: 7.6923076923vw;
  }
}
.giga-buy-TL {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .giga-buy-TL {
    font-size: 1.25vw;
    gap: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-buy-TL {
    font-size: 4.1025641026vw;
    gap: 0.7692307692vw;
  }
}
@media screen and (min-width: 768px) {
  .giga-buy-TL span {
    font-size: 2.1875vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-buy-TL span {
    font-size: 5.641025641vw;
  }
}
.giga-buy-TL::after {
  content: "";
  background-image: url('data:image/svg+xml;utf-8,<svg width="39" height="30" viewBox="0 0 39 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M37.1558 1.27118L9.26311 15.0848L6.39033 25.1517L14.1541 20.8352M1.20719 5.16521L37.1759 1.20071L23.1873 28.8563L1.20719 5.16521Z" stroke="%23FF7700" stroke-width="2.09375" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 39/30;
}
@media screen and (min-width: 768px) {
  .giga-buy-TL::after {
    width: 2.03125vw;
    margin-top: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-buy-TL::after {
    width: 5.1282051282vw;
    margin-top: 0.7692307692vw;
  }
}
.giga-buy-main img {
  aspect-ratio: 275/84;
}
@media screen and (min-width: 768px) {
  .giga-buy-main img {
    width: 21.484375vw;
    margin: 2.5vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .giga-buy-main img {
    width: 48.7179487179vw;
    margin: 5.1282051282vw auto 0;
  }
}
.giga-buy-bottom {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .giga-buy-bottom {
    font-size: 0.9375vw;
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .giga-buy-bottom {
    margin-top: 2.5641025641vw;
    font-size: 2.0512820513vw;
  }
}

/* -----------------------
  option
----------------------- */
@media screen and (min-width: 768px) {
  .option {
    margin-top: 6.25vw;
    padding: 0 23.4375vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .option {
    margin-top: 12.8205128205vw;
    padding: 0 5.1282051282vw 0vw;
  }
}
@media screen and (min-width: 768px) {
  .option-TL {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .option-TL {
    font-size: 4.6153846154vw;
  }
}
.option-TL span {
  position: relative;
  color: #FF7700;
}
@media screen and (min-width: 768px) {
  .option-TL span {
    font-size: 3.359375vw;
  }
}
@media screen and (max-width: 767px) {
  .option-TL span {
    font-size: 6.1538461538vw;
  }
}
.option-TL span::before {
  content: "";
  position: absolute;
  background-image: url('data:image/svg+xml;utf-8,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><line x1="11.8073" y1="6.19261" x2="7.03719" y2="11.3157" stroke="%23462204" stroke-width="2" stroke-linecap="round"/><line x1="15.2367" y1="13.1941" x2="8.3792" y2="14.5992" stroke="%23462204" stroke-width="2" stroke-linecap="round"/><line x1="1" y1="-1" x2="8" y2="-1" transform="matrix(-0.1304 0.991462 0.991462 0.1304 4.99512 1.75195)" stroke="%23462204" stroke-width="2" stroke-linecap="round"/></svg>');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  top: 0;
}
@media screen and (min-width: 768px) {
  .option-TL span::before {
    width: 1.40625vw;
    height: 1.40625vw;
    right: -1.015625vw;
  }
}
@media screen and (max-width: 767px) {
  .option-TL span::before {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
    right: -2.0512820513vw;
  }
}
.option-content {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .option-content {
    margin-top: 3.203125vw;
  }
}
@media screen and (max-width: 767px) {
  .option-content {
    flex-wrap: wrap;
    margin-top: 7.6923076923vw;
    padding-inline: 7.6923076923vw;
    row-gap: 5.1282051282vw;
  }
}
.option-content li {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: #81D8D0;
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .option-content li {
    width: 11.71875vw;
  }
}
@media screen and (max-width: 767px) {
  .option-content li {
    width: 34.6153846154vw;
  }
}
.option-content li:first-child {
  position: relative;
}
.option-content li:first-child::before {
  content: "";
  background-image: url("../img/option-bubble.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  aspect-ratio: 221/95;
  transform-origin: bottom;
  animation: option-bubble 3s infinite;
}
@keyframes option-bubble {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(-15deg);
  }
  60% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@media screen and (min-width: 768px) {
  .option-content li:first-child::before {
    width: 14.0625vw;
    top: -1.5625vw;
    left: -5.46875vw;
  }
}
@media screen and (max-width: 767px) {
  .option-content li:first-child::before {
    width: 36.6666666667vw;
    top: -2.5641025641vw;
    left: -11.5384615385vw;
  }
}
.option-content-TL {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .option-content-TL {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .option-content-TL {
    font-size: 4.6153846154vw;
  }
}
.option-content-TX {
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .option-content-TX {
    font-size: 1.09375vw;
    margin-top: 0.9375vw;
    line-height: 150%;
  }
}
@media screen and (max-width: 767px) {
  .option-content-TX {
    font-size: 3.5897435897vw;
    margin-top: 1.5384615385vw;
    line-height: 130%;
  }
}
.option .spetial-btn {
  width: fit-content;
  position: relative;
  transition: all 0.3s ease;
  right: 0;
  aspect-ratio: 561/116;
}
@media screen and (min-width: 768px) {
  .option .spetial-btn img {
    width: 37.5vw;
    margin: 6.25vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .option .spetial-btn img {
    width: 76.9230769231vw;
    margin: 20.5128205128vw auto 0;
  }
}
.option .spetial-btn:hover {
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .option .spetial-btn:hover {
    right: -3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .option .spetial-btn:hover {
    right: -5.1282051282vw;
  }
}

/* -----------------------
  plan-tab
----------------------- */
@media screen and (min-width: 768px) {
  .C_TL-special {
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL-special {
    margin-top: 12.8205128205vw;
  }
}
@media screen and (min-width: 768px) {
  .C_TL-special .C_TL-big {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .C_TL-special .C_TL-big {
    font-size: 6.1538461538vw;
  }
}

@media screen and (min-width: 768px) {
  .specialplan-wrap {
    padding: 6.25vw 21.875vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-wrap {
    padding: 10.2564102564vw 5.1282051282vw 0vw;
  }
}

.specialplan-tab {
  display: flex;
}
.specialplan-tab .tab-btn {
  background-color: #FF7700;
}
@media screen and (min-width: 768px) {
  .specialplan-tab .tab-btn {
    border-radius: 1.5625vw 1.5625vw 0 0;
    padding-block: 1.09375vw 0.546875vw;
    width: 13.828125vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-tab .tab-btn {
    border-radius: 2.5641025641vw 2.5641025641vw 0 0;
    padding: 2.0512820513vw 2.5641025641vw;
  }
}
.specialplan-tab .tab-btn .tab-TL {
  color: #fff;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .specialplan-tab .tab-btn .tab-TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-tab .tab-btn .tab-TL {
    font-size: 3.5897435897vw;
  }
}
.specialplan-tab .tab-btn.active {
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .specialplan-tab .tab-btn.active {
    border-top: 0.15625vw solid #FF7700;
    border-right: 0.15625vw solid #FF7700;
    border-left: 0.15625vw solid #FF7700;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-tab .tab-btn.active {
    border-top: 0.2564102564vw solid #FF7700;
    border-right: 0.2564102564vw solid #FF7700;
    border-left: 0.2564102564vw solid #FF7700;
  }
}
.specialplan-tab .tab-btn.active .tab-TL {
  color: #FF7700;
}
.specialplan-content {
  position: relative;
  background-color: #fff;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .specialplan-content {
    top: -0.15625vw;
    border: 0.15625vw solid #FF7700;
    border-radius: 0 1.5625vw 1.5625vw 1.5625vw;
    padding: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content {
    top: -0.2564102564vw;
    border: 0.2564102564vw solid orange;
    border-radius: 0 2.5641025641vw 2.5641025641vw 2.5641025641vw;
    padding: 3.8461538462vw;
  }
}
.specialplan-content .content {
  display: none;
  background-image: url("../img/tab-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #FF9E49;
  position: relative;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content {
    border-radius: 1.40625vw;
    padding: 3.90625vw 2.34375vw 2.34375vw 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content {
    border-radius: 2.0512820513vw;
    padding: 7.6923076923vw 3.8461538462vw;
  }
}
.specialplan-content .content-TL {
  color: #fff;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-TL {
    font-size: 3.5897435897vw;
    line-height: 140%;
  }
}
.specialplan-content .content-main {
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main {
    border-radius: 1.5625vw;
    margin: 3.203125vw auto 0;
    width: 37.5vw;
    padding-block: 1.5625vw 2.34375vw;
    filter: drop-shadow(0px 0.390625vw 0.625vw rgba(91, 91, 91, 0.15));
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main {
    border-radius: 2.5641025641vw;
    margin: 7.6923076923vw auto 0;
    padding-block: 3.8461538462vw 3.8461538462vw;
    filter: drop-shadow(0px 1.2820512821vw 2.0512820513vw rgba(91, 91, 91, 0.15));
  }
}
.specialplan-content .content-main-TL {
  background-color: #81D8D0;
  border-radius: 999px;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-TL {
    padding: 0.625vw 1.5625vw;
    top: -1.171875vw;
    left: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-TL {
    padding: 1.0256410256vw 3.8461538462vw;
    top: -2.5641025641vw;
    left: 2.0512820513vw;
  }
}
.specialplan-content .content-main-TL .TL {
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-TL .TL {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-TL .TL {
    font-size: 3.5897435897vw;
  }
}
.specialplan-content .content-main-price {
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-price {
    gap: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-price {
    gap: 1.2820512821vw;
  }
}
.specialplan-content .content-main-price .price {
  position: relative;
  width: fit-content;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-price .price {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-price .price {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-price .price span {
    font-size: 3.125vw;
    margin-inline: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-price .price span {
    font-size: 6.1538461538vw;
    margin-inline: 0.5128205128vw;
  }
}
.specialplan-content .content-main-price .price::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  width: 105.421686747%;
  bottom: 0;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-price .price::before {
    border-bottom: 0.78125vw solid #FFFF23;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-price .price::before {
    border-bottom: 1.2820512821vw solid #FFFF23;
  }
}
.specialplan-content .content-main-price .price-tax {
  color: #888888;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-price .price-tax {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-price .price-tax {
    font-size: 2.5641025641vw;
  }
}
.specialplan-content .content-main-bottom {
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main-bottom {
    font-size: 1.09375vw;
    margin-top: 1.015625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main-bottom {
    font-size: 2.5641025641vw;
    margin-top: 2.0512820513vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content-main.first {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content-main.first {
    margin-top: 10.2564102564vw;
  }
}
.specialplan-content .content .kids-bottom {
  font-weight: 500;
  text-align: center;
  color: #fff;
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .kids-bottom {
    font-size: 1.09375vw;
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .kids-bottom {
    margin-top: 5.1282051282vw;
    font-size: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .kids-bottom span {
    font-size: 1.171875vw;
    border-bottom: 0.078125vw dashed;
    padding-bottom: 0.15625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .kids-bottom span {
    font-size: 3.0769230769vw;
    border-bottom: 0.2564102564vw dashed;
    padding-bottom: 0.5128205128vw;
  }
}
.specialplan-content .content .atention-TX {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .atention-TX {
    font-size: 0.9375vw;
    margin: 0.625vw 0 0 4.375vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .atention-TX {
    font-size: 2.5641025641vw;
    margin: 1.2820512821vw 0 0 1.2820512821vw;
  }
}
.specialplan-content .content .caution {
  font-weight: 500;
  color: white;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .caution {
    margin: 2.34375vw 0 0 4.375vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .caution {
    margin: 6.4102564103vw 0 0 1.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .caution-TL {
    font-size: 1.015625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .caution-TL {
    font-size: 3.0769230769vw;
  }
}
.specialplan-content .content .caution-TX {
  line-height: 140%;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .caution-TX {
    font-size: 0.9375vw;
    margin: 0.390625vw 0 0 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .caution-TX {
    font-size: 2.5641025641vw;
    margin: 1.2820512821vw 0 0 1.2820512821vw;
  }
}
.specialplan-content .content .kbps {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .kbps {
    width: 37.5vw;
    padding-inline: 1.5625vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .kbps-TL {
    width: 20.3125vw;
    height: 2.734375vw;
    left: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .kbps-TL {
    width: 56.4102564103vw;
    height: 7.6923076923vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .kbps-TL .TL {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content .kbps-TL .TL {
    font-size: 4.1025641026vw;
  }
}
.specialplan-content .content .kbps-main-img {
  aspect-ratio: 229/332;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content .kbps-main-img {
    width: 9.375vw;
    right: 0vw;
  }
}
.specialplan-content .content:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content.student {
    padding-top: 4.53125vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content.student {
    padding: 11.5384615385vw;
  }
}
.specialplan-content .content.student .flag {
  background-image: url("../img/flag.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 352/132;
  position: absolute;
  transform: rotate(-7deg);
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content.student .flag {
    width: 25vw;
    top: -2.03125vw;
    left: -4.0625vw;
    padding: 2.265625vw 0 0 3.75vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content.student .flag {
    width: 60.2564102564vw;
    top: -4.1025641026vw;
    left: -9.2307692308vw;
    padding: 5.3846153846vw 0 0 8.7179487179vw;
  }
}
.specialplan-content .content.student .flag-TX {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #FF7700;
  transform: rotate(-2deg);
}
@media screen and (min-width: 768px) {
  .specialplan-content .content.student .flag-TX {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content.student .flag-TX {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content.giga .content-main {
    padding-top: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content.giga .content-main {
    padding-top: 5.1282051282vw;
  }
}
.specialplan-content .content.giga .content-main-top {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .specialplan-content .content.giga .content-main-top {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content.giga .content-main-top {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .specialplan-content .content.giga .content-main-bottom {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan-content .content.giga .content-main-bottom {
    font-size: 2.5641025641vw;
    line-height: 140%;
  }
}
.specialplan-content .content.active {
  display: block;
}
@media screen and (min-width: 768px) {
  .specialplan.wifi .specialplan-content {
    border-radius: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .specialplan.wifi .specialplan-content {
    border-radius: 2.5641025641vw;
  }
}

/* -----------------------
  flow
----------------------- */
@media screen and (min-width: 768px) {
  .flow-wrap {
    padding: 3.90625vw 15.625vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap {
    padding: 12.8205128205vw 5.1282051282vw 0vw;
  }
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-icon {
    background-image: url("../img/flow-icon-PC.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 80%;
    height: 15.625vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-icon {
    background-image: url("../img/flow-icon-sp.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 89.7435897436vw;
    height: 74.8717948718vw;
  }
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-line-btn {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-line-btn {
    margin-top: 12.8205128205vw;
  }
}
.flow-wrap .flow-line-btn-TX {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-line-btn-TX {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-line-btn-TX {
    font-size: 3.0769230769vw;
    line-height: 140%;
  }
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-line-btn .C_CTA {
    margin: 0.625vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-line-btn .C_CTA {
    margin: 1.2820512821vw auto 0;
  }
}
.flow-wrap .flow-content {
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content {
    padding: 3.125vw 7.8125vw 9.375vw;
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content {
    padding: 5.1282051282vw 5.1282051282vw 15.3846153846vw;
    margin-top: 12.8205128205vw;
  }
}
.flow-wrap .flow-content .flow-TL {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-TL {
    font-size: 1.40625vw;
    margin-left: 7.1875vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-TL {
    font-size: 3.5897435897vw;
    margin-left: 21.7948717949vw;
    line-height: 150%;
  }
}
.flow-wrap .flow-content .flow-TL span {
  font-weight: 700;
  color: #FF7700;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-TL span {
    font-size: 1.71875vw;
    margin-right: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-TL span {
    font-size: 4.6153846154vw;
  }
}
.flow-wrap .flow-content .flow-list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-list {
    margin-top: 4.6875vw;
    gap: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-list {
    margin-top: 7.6923076923vw;
    gap: 5.1282051282vw;
  }
}
.flow-wrap .flow-content .flow-list-TL {
  color: #FF7700;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-list-TL {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-list-TL {
    font-size: 3.5897435897vw;
  }
}
.flow-wrap .flow-content .flow-list-TX {
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-list-TX {
    font-size: 1.09375vw;
    margin: 0.390625vw 0 0 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-list-TX {
    font-size: 3.0769230769vw;
    margin: 1.2820512821vw 0 0 3.0769230769vw;
  }
}
.flow-wrap .flow-content .flow-list-TX .flow-link-member {
  color: #462204;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-list-TX .flow-link-member {
    font-size: 1.25vw;
    border-bottom: 0.078125vw solid;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-list-TX .flow-link-member {
    font-size: 3.5897435897vw;
    border-bottom: 0.2564102564vw solid;
  }
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .flow-list-TX.mnp-bottom {
    margin-top: 2.109375vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .flow-list-TX.mnp-bottom {
    margin-top: 5.1282051282vw;
  }
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .mnp {
    margin: 0.9375vw 0 0 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .mnp {
    margin: 2.5641025641vw 0 0 3.0769230769vw;
  }
}
.flow-wrap .flow-content .mnp-TL {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .mnp-TL {
    font-size: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .mnp-TL {
    font-size: 3.3333333333vw;
  }
}
.flow-wrap .flow-content .mnp-TX {
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .mnp-TX {
    margin: 0.390625vw 0 0 1.25vw;
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .mnp-TX {
    font-size: 3.0769230769vw;
    margin-left: 2.5641025641vw;
  }
}
.flow-wrap .flow-content .mnp-TX a {
  color: #462204;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .mnp-TX a {
    border-bottom: 0.078125vw solid;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .mnp-TX a {
    border-bottom: 0.2564102564vw solid;
  }
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content .mnp.mnp-top {
    margin-top: 2.03125vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content .mnp.mnp-top {
    margin-top: 3.3333333333vw;
  }
}
.flow-wrap .flow-content::before {
  content: "";
  position: absolute;
  top: 0;
  aspect-ratio: 148/142;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content::before {
    width: 8.59375vw;
    left: 1.953125vw;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content::before {
    width: 20.5128205128vw;
    height: 19.7435897436vw;
    left: 2.5641025641vw;
  }
}
.flow-wrap .flow-content:first-child .flow-step-icon {
  background-image: url("../img/step-1-icon.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 745/210;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content:first-child .flow-step-icon {
    width: 37.5vw;
    margin: 5.546875vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content:first-child .flow-step-icon {
    width: 76.9230769231vw;
    margin: 10.2564102564vw auto 0;
  }
}
.flow-wrap .flow-content:first-child::before {
  background-image: url("../img/step-1.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .flow-wrap .flow-content:nth-child(2) .flow-list {
    margin-top: 12.8205128205vw;
  }
}
.flow-wrap .flow-content:nth-child(2) .flow-step-icon {
  background-image: url("../img/step-2-icon.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  aspect-ratio: 745/210;
}
@media screen and (min-width: 768px) {
  .flow-wrap .flow-content:nth-child(2) .flow-step-icon {
    width: 39.0625vw;
    margin: 5.546875vw auto 0;
  }
}
.flow-wrap .flow-content:nth-child(2)::before {
  background-image: url("../img/step-2.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.cta-are.flow {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .cta-are.flow {
    padding-block: 9.375vw 8.359375vw;
  }
}
@media screen and (max-width: 767px) {
  .cta-are.flow {
    padding-block: 17.9487179487vw 20.5128205128vw;
  }
}
.cta-are.flow .C_CTA {
  position: relative;
}
.cta-are.flow .C_CTA::before {
  content: "";
  background-image: url("../img/flow-cta.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .cta-are.flow .C_CTA::before {
    width: 19.53125vw;
    height: 5.078125vw;
    left: -3.4375vw;
    top: -0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .cta-are.flow .C_CTA::before {
    width: 46.1538461538vw;
    height: 12.0512820513vw;
    left: -5.1282051282vw;
    top: -1.2820512821vw;
  }
}

/* -----------------------
  member
----------------------- */
.sub-TL {
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .sub-TL {
    font-size: 1.875vw;
    line-height: 156%;
  }
}
@media screen and (max-width: 767px) {
  .sub-TL {
    font-size: 4.1025641026vw;
    line-height: 160%;
  }
}
.sub-TL-bottom {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-TL-bottom {
    font-size: 1.25vw;
    line-height: 150%;
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .sub-TL-bottom {
    font-size: 3.0769230769vw;
    line-height: 140%;
    margin-top: 5.1282051282vw;
  }
}

.form .label {
  font-weight: 500;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .form .label {
    font-size: 1.40625vw;
    margin-top: 1.953125vw;
  }
}
@media screen and (max-width: 767px) {
  .form .label {
    font-size: 4.1025641026vw;
    margin-top: 4.1025641026vw;
  }
}
.form .label .required {
  background: #FF7700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .form .label .required {
    border-radius: 0.390625vw;
    font-size: 0.9375vw;
    padding: 0 0.625vw;
    margin-left: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .form .label .required {
    border-radius: 0.7692307692vw;
    font-size: 2.5641025641vw;
    padding: 0 1.2820512821vw;
    margin-left: 1.2820512821vw;
  }
}
.form input {
  width: -webkit-fill-available;
  color: #462204;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .form input {
    border: 0.078125vw solid #462204;
    height: 2.34375vw;
    border-radius: 0.78125vw;
    margin-top: 0.78125vw;
    font-size: 1.25vw;
    padding-inline: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .form input {
    border: 0.2564102564vw solid #462204;
    height: 5.1282051282vw;
    border-radius: 1.2820512821vw;
    margin-top: 1.2820512821vw;
    font-size: 3.5897435897vw;
    padding-inline: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .form input.input-error {
    border: 0.078125vw solid #FF7700;
  }
}
@media screen and (max-width: 767px) {
  .form input.input-error {
    border: 0.2564102564vw solid #FF7700;
  }
}
.form .error-message {
  font-weight: 500;
  color: #FF7700;
}
@media screen and (min-width: 768px) {
  .form .error-message {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 767px) {
  .form .error-message {
    font-size: 2.5641025641vw;
  }
}
.form .submit {
  color: #FF7700;
  font-weight: 500;
  display: block;
  background-color: #fff;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .form .submit {
    border: 0.15625vw solid #FF7700;
    border-radius: 0.78125vw;
    width: 15.625vw;
    height: 5.078125vw;
    font-size: 1.5625vw;
    margin: 6.25vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .form .submit {
    border: 0.5128205128vw solid #FF7700;
    border-radius: 1.2820512821vw;
    width: 30.7692307692vw;
    height: 10.2564102564vw;
    font-size: 4.1025641026vw;
    margin: 0 auto 0;
  }
}
.form .submit:hover {
  transition: all 0.3s ease;
  color: #fff;
  background-color: #FF7700;
}

@media screen and (min-width: 768px) {
  .member-wrap {
    padding: 6.25vw 19.53125vw 9.609375vw;
  }
}
@media screen and (max-width: 767px) {
  .member-wrap {
    padding: 10.2564102564vw 5.1282051282vw 15.3846153846vw;
  }
}
@media screen and (min-width: 768px) {
  .member-wrap #registerForm {
    margin-top: 4.0625vw;
  }
}
@media screen and (max-width: 767px) {
  .member-wrap #registerForm {
    margin-top: 10.2564102564vw;
  }
}
.member-wrap #registerForm .swpm-username-row, .member-wrap #registerForm .swpm-firstname-row, .member-wrap #registerForm .swpm-lastname-row, .member-wrap #registerForm .swpm-membership-level-row {
  display: none;
}
.member-wrap #registerForm label {
  position: relative;
  font-weight: 500;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .member-wrap #registerForm label {
    font-size: 1.40625vw;
    margin-top: 1.953125vw;
  }
}
@media screen and (max-width: 767px) {
  .member-wrap #registerForm label {
    font-size: 4.1025641026vw;
    margin-top: 2.0512820513vw;
  }
}
.member-wrap #registerForm label::before {
  content: "必須";
  background: #FF7700;
  color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .member-wrap #registerForm label::before {
    border-radius: 0.390625vw;
    font-size: 0.9375vw;
    padding: 0.15625vw 0.390625vw;
    right: -3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .member-wrap #registerForm label::before {
    border-radius: 0.7692307692vw;
    font-size: 2.5641025641vw;
    padding: 0.15625vw 1.2820512821vw;
    right: -8.9743589744vw;
  }
}
.member-wrap #registerForm .swpm-submit {
  color: #FF7700;
  font-weight: 500;
  display: block;
  background-color: #fff;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .member-wrap #registerForm .swpm-submit {
    border: 0.15625vw solid #FF7700;
    border-radius: 0.78125vw;
    width: 15.625vw;
    height: 5.078125vw;
    font-size: 1.5625vw;
    margin: 6.25vw auto 0;
    letter-spacing: 0.1015625vw;
  }
}
@media screen and (max-width: 767px) {
  .member-wrap #registerForm .swpm-submit {
    border: 0.5128205128vw solid #FF7700;
    border-radius: 1.2820512821vw;
    width: 30.7692307692vw;
    height: 10.2564102564vw;
    font-size: 4.1025641026vw;
    margin: 5.1282051282vw auto 0;
  }
}
.member-wrap #registerForm .swpm-submit:hover {
  transition: all 0.3s ease;
  color: #fff;
  background-color: #FF7700;
}

.member-link {
  color: #462204;
  width: fit-content;
  display: block;
}
@media screen and (min-width: 768px) {
  .member-link {
    margin: 0.859375vw auto 0;
    font-size: 1.09375vw;
    border-bottom: 0.078125vw solid;
    padding-bottom: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .member-link {
    margin: 1.2820512821vw auto 0;
    font-size: 2.5641025641vw;
    border-bottom: 0.2564102564vw solid;
    padding-bottom: 0.7692307692vw;
  }
}

.swpm-registration-success-msg {
  text-align: center;
  display: none;
}

/* -----------------------
  login
----------------------- */
@media screen and (min-width: 768px) {
  #swpm-login-form {
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  #swpm-login-form {
    margin-top: 7.6923076923vw;
  }
}
#swpm-login-form label {
  position: relative;
  font-weight: 500;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  #swpm-login-form label {
    font-size: 1.40625vw;
    margin-top: 1.953125vw;
  }
}
@media screen and (max-width: 767px) {
  #swpm-login-form label {
    font-size: 4.1025641026vw;
    margin-top: 2.0512820513vw;
  }
}
#swpm-login-form .swpm-text-field {
  width: -webkit-fill-available;
  color: #462204;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  #swpm-login-form .swpm-text-field {
    border: 0.078125vw solid #462204;
    height: 3.125vw;
    border-radius: 0.78125vw;
    margin-top: 0.78125vw;
    font-size: 1.25vw;
    padding-inline: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  #swpm-login-form .swpm-text-field {
    border: 0.2564102564vw solid #462204;
    height: 6.4102564103vw;
    border-radius: 1.2820512821vw;
    margin-top: 1.2820512821vw;
    font-size: 3.5897435897vw;
    padding-inline: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  #swpm-login-form .swpm-text-field.input-error {
    border: 0.078125vw solid #FF7700;
  }
}
@media screen and (max-width: 767px) {
  #swpm-login-form .swpm-text-field.input-error {
    border: 0.2564102564vw solid #FF7700;
  }
}
#swpm-login-form .swpm-submit-btn-default-style {
  all: unset;
  /* すべてのスタイルを初期化 */
}
#swpm-login-form .swpm-login-form-submit {
  color: #FF7700;
  text-align: center;
  cursor: pointer;
  font-weight: 500;
  display: block;
  background-color: #fff;
  transition: all 0.3s ease;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  #swpm-login-form .swpm-login-form-submit {
    border: 0.15625vw solid #FF7700;
    border-radius: 0.78125vw;
    width: 15.625vw;
    height: 5.078125vw;
    font-size: 1.5625vw;
    margin: 3.90625vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  #swpm-login-form .swpm-login-form-submit {
    border: 0.5128205128vw solid #FF7700;
    border-radius: 1.2820512821vw;
    width: 30.7692307692vw;
    height: 10.2564102564vw;
    font-size: 4.1025641026vw;
    margin: 5.1282051282vw auto 0;
  }
}
#swpm-login-form .swpm-login-form-submit:hover {
  transition: all 0.3s ease;
  color: #fff;
  background-color: #FF7700;
}

#forgot_pass {
  color: #462204;
  display: none;
}

.swpm-join-us-link {
  display: none;
}

/* -----------------------
  my
----------------------- */
.name-box-hello {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .name-box-hello {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .name-box-hello {
    font-size: 3.0769230769vw;
  }
}
.name-box-name {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .name-box-name {
    font-size: 1.796875vw;
    margin-top: 0.546875vw;
  }
}
@media screen and (max-width: 767px) {
  .name-box-name {
    font-size: 4.6153846154vw;
    margin-top: 0.234375vw;
  }
}
.name-box-name span {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .name-box-name span {
    font-size: 1.25vw;
    margin-left: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .name-box-name span {
    font-size: 3.0769230769vw;
    margin-left: 1.2820512821vw;
  }
}

@media screen and (min-width: 768px) {
  .my-plan {
    margin-top: 4.6875vw;
  }
}
@media screen and (max-width: 767px) {
  .my-plan {
    margin-top: 12.8205128205vw;
  }
}
.my-plan-TL {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .my-plan-TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .my-plan-TL {
    font-size: 3.5897435897vw;
  }
}
.my-plan-block {
  background-image: url("../img/reason-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 300%;
}
@media screen and (min-width: 768px) {
  .my-plan-block {
    margin-top: 0.78125vw;
    border-radius: 0.78125vw;
    padding: 1.5625vw 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .my-plan-block {
    margin-top: 2.5641025641vw;
    border-radius: 1.2820512821vw;
    padding: 2.5641025641vw 3.8461538462vw;
  }
}
@media screen and (min-width: 768px) {
  .my-plan-block:nth-child(n+2) {
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .my-plan-block:nth-child(n+2) {
    margin-top: 5.1282051282vw;
  }
}
.my-plan-name {
  color: #FF7700;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .my-plan-name {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .my-plan-name {
    font-size: 5.1282051282vw;
  }
}
.my-plan-option {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .my-plan-option {
    font-size: 1.40625vw;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .my-plan-option {
    font-size: 3.5897435897vw;
    margin-top: 2.5641025641vw;
  }
}

@media screen and (min-width: 768px) {
  .first-flow-content {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .first-flow-content {
    margin-top: 7.6923076923vw;
  }
}
.first-flow-link {
  color: #FF7700;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .first-flow-link {
    font-size: 1.40625vw;
    border-bottom: 0.078125vw solid;
  }
}
@media screen and (max-width: 767px) {
  .first-flow-link {
    font-size: 3.5897435897vw;
    border-bottom: 0.2564102564vw solid;
  }
}

.my-cta-area {
  flex-direction: column;
  align-items: center;
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .my-cta-area {
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .my-cta-area {
    gap: 0vw;
    padding-top: 12.8205128205vw;
  }
}
.my-cta-area .cta-TX {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .my-cta-area .cta-TX {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .my-cta-area .cta-TX {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  .my-cta-area .line {
    top: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .my-cta-area .line {
    top: 0.7692307692vw;
  }
}
.my-cta-area .application {
  display: grid;
  place-items: center left;
}
@media screen and (max-width: 767px) {
  .my-cta-area .application {
    margin-top: 5.1282051282vw;
  }
}

.logout-link {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .logout-link {
    padding: 0 15.625vw 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .logout-link {
    padding: 0 5.1282051282vw 3.8461538462vw;
  }
}
.logout-link-button {
  color: #462204;
}
@media screen and (min-width: 768px) {
  .logout-link-button {
    border-bottom: 0.078125vw solid;
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .logout-link-button {
    border-bottom: 0.2564102564vw solid;
    font-size: 3.0769230769vw;
  }
}

/* -----------------------
  setting
----------------------- */
@media screen and (min-width: 768px) {
  .setting {
    padding-inline: 7.8125vw;
  }
}
.setting-tab {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .setting-tab {
    gap: 9.609375vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-tab {
    gap: 5.1282051282vw;
  }
}
.setting-tab .tab-TL {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .setting-tab .tab-TL {
    font-size: 2.34375vw;
    border-bottom: 0px solid #462204;
    padding: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-tab .tab-TL {
    font-size: 4.1025641026vw;
    border-bottom: 0px solid #462204;
    padding: 0.7692307692vw;
  }
}
.setting-tab .tab.active .tab-TL {
  color: #FF7700;
}
@media screen and (min-width: 768px) {
  .setting-tab .tab.active .tab-TL {
    border-bottom: 0.15625vw solid #462204;
    padding: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-tab .tab.active .tab-TL {
    border-bottom: 0.5128205128vw solid #462204;
    padding: 0.7692307692vw;
  }
}
.setting-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .setting-btn {
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-btn {
    margin-top: 12.8205128205vw;
  }
}
.setting-btn .cta-TX {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .setting-btn .cta-TX {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-btn .cta-TX {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .setting-btn .line {
    margin-top: 0.390625vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-btn .line {
    margin-top: 0.7692307692vw;
  }
}
.setting .setting-link {
  width: fit-content;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .setting .setting-link {
    margin-top: 7.8125vw;
    gap: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .setting .setting-link {
    margin-top: 17.9487179487vw;
    gap: 3.8461538462vw;
  }
}
.setting .setting-link li a {
  font-weight: 700;
  color: #462204;
}
@media screen and (min-width: 768px) {
  .setting .setting-link li a {
    font-size: 1.5625vw;
    padding-left: 1.5625vw;
  }
}
.setting-content-wrap {
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .setting-content-wrap {
    padding-block: 0vw 7.03125vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-content-wrap {
    padding-block: 0vw 12.8205128205vw;
  }
}
@media screen and (min-width: 768px) {
  .setting-content-wrap .flow-content {
    padding-top: 3.90625vw;
    gap: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-content-wrap .flow-content {
    padding-top: 15.3846153846vw;
  }
}
@media screen and (min-width: 768px) {
  .setting-content-wrap .flow-content .flow-list {
    padding-top: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-content-wrap .flow-content .flow-list {
    padding-top: 7.6923076923vw;
  }
}
.setting-content-wrap .flow-content .flow-list .download-link {
  font-weight: 700;
  color: #FF7700;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .setting-content-wrap .flow-content .flow-list .download-link {
    font-size: 2.1875vw;
    margin-bottom: 3.125vw;
    border-bottom: 0.078125vw solid;
  }
}
@media screen and (max-width: 767px) {
  .setting-content-wrap .flow-content .flow-list .download-link {
    line-height: 160%;
    font-size: 3.5897435897vw;
    margin-bottom: 7.6923076923vw;
    border-bottom: 0.2564102564vw solid;
  }
}
.setting-content-wrap .flow-content .flow-list img {
  object-fit: contain;
  height: auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .setting-content-wrap .flow-content .flow-list img {
    border: 0.078125vw solid;
    margin-bottom: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .setting-content-wrap .flow-content .flow-list img {
    border: 0.2564102564vw solid;
    margin-bottom: 2.5641025641vw;
  }
}
.setting-content-wrap.iphone .setting-content::before {
  background-image: url("../img/setting-icon-iphone.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.setting-content-wrap.iphone .setting-content:nth-child(2)::before {
  background-image: url("../img/setting-icon-mail.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.setting-content-wrap.android {
  display: none;
}
.setting-content-wrap.android .setting-content::before {
  background-image: url("../img/setting-icon-android.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.setting-content-wrap.android .setting-content:nth-child(2)::before {
  background-image: url("../img/setting-icon-mail.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* -----------------------
  contact
----------------------- */
@media screen and (min-width: 768px) {
  .contact-wrap .contact-sub-TL {
    font-size: 1.40625vw;
  }
}
.contact-wrap .cta-area.contact {
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  .contact-wrap .wpcf7-form p {
    margin-top: 2.5641025641vw;
  }
}
.contact-wrap label {
  width: 100%;
}
.contact-wrap label textarea {
  width: 100%;
  width: -webkit-fill-available;
  color: #462204;
  background-color: #fff;
  resize: none;
}
@media screen and (min-width: 768px) {
  .contact-wrap label textarea {
    border: 0.078125vw solid #462204;
    height: 14.0625vw;
    border-radius: 0.78125vw;
    margin-top: 0.78125vw;
    font-size: 1.25vw;
    padding: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .contact-wrap label textarea {
    border: 0.2564102564vw solid #462204;
    height: 32.0512820513vw;
    border-radius: 1.2820512821vw;
    margin-top: 1.2820512821vw;
    font-size: 3.5897435897vw;
    padding: 2.5641025641vw;
  }
}
.contact-wrap label::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .contact-wrap .submit {
    margin-top: 10.2564102564vw;
  }
}

/* -----------------------
  member
----------------------- */
@media screen and (max-width: 767px) {
  .application-wrap .inline-group {
    margin-top: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .inline-group.mail-input {
    margin-bottom: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .inline-group.mail-input {
    margin-bottom: 7.6923076923vw;
  }
}
.application-wrap .flex-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap {
    margin-left: 2.5vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap {
    margin-left: 2.5641025641vw;
  }
}
.application-wrap .flex-wrap .input-side {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap input {
    margin-left: 0.703125vw;
    width: 21.875vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap input {
    width: 30.7692307692vw;
    margin-left: 1.0256410256vw;
  }
}
.application-wrap .flex-wrap .error-message {
  position: absolute;
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap .error-message {
    bottom: -1.40625vw;
    left: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap .error-message {
    bottom: -3.0769230769vw;
    left: 3.8461538462vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.birth {
    margin-left: 0;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.birth input {
    margin-left: 0.703125vw;
    width: 11.71875vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.birth input {
    margin-left: 0;
    width: 16.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.birth .label {
    margin-left: 0.703125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.birth .label {
    margin-left: 1.0256410256vw;
  }
}
.application-wrap .flex-wrap.mail {
  align-items: center;
  margin-left: 0;
}
.application-wrap .flex-wrap.mail .input-side {
  align-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.mail .input-side #email_local {
    width: 32.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.mail .input-side #email_local {
    width: 38.4615384615vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.mail .input-side .label {
    margin: 0 0.78125vw 0 0;
  }
}
.application-wrap .flex-wrap.mail #email_domain {
  width: -webkit-fill-available;
  color: #462204;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.mail #email_domain {
    width: 21.09375vw;
    border: 0.078125vw solid #462204;
    height: 3.125vw;
    border-radius: 0.78125vw;
    margin-top: 0.78125vw;
    font-size: 1.25vw;
    padding-inline: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.mail #email_domain {
    border: 0.2564102564vw solid #462204;
    height: 6.4102564103vw;
    border-radius: 1.2820512821vw;
    margin: 1.2820512821vw 0 0 1.2820512821vw;
    font-size: 3.5897435897vw;
    padding-inline: 2.5641025641vw;
    width: 35.8974358974vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.mail #email_domain.input-error {
    border: 0.078125vw solid #FF7700;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.mail #email_domain.input-error {
    border: 0.2564102564vw solid #FF7700;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .flex-wrap.mail #email_local_error.error-message,
  .application-wrap .flex-wrap.mail #email_domain_error.error-message {
    top: 4.6875vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .flex-wrap.mail #email_local_error.error-message,
  .application-wrap .flex-wrap.mail #email_domain_error.error-message {
    top: 8.9743589744vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .mail-check {
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .mail-check {
    margin-top: 7.6923076923vw;
  }
}
.application-wrap .form-TX {
  line-height: 140%;
}
@media screen and (min-width: 768px) {
  .application-wrap .form-TX {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .form-TX {
    font-size: 2.8205128205vw;
  }
}
.application-wrap .checkbox {
  aspect-ratio: 1/1;
  height: auto;
}
@media screen and (min-width: 768px) {
  .application-wrap .checkbox {
    width: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .checkbox {
    width: 3.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .tel-input {
    margin-top: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .tel-input {
    margin-top: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .upload #upload_container .input-wrap {
    display: flex;
    justify-content: center;
    gap: 0.78125vw;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .upload #upload_container input {
    width: 23.4375vw;
    font-size: 1.015625vw;
    padding-block: 1.5625vw 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .upload #upload_container input {
    padding-block: 3.8461538462vw;
  }
}
.application-wrap .upload #upload_container .upload-add,
.application-wrap .upload #upload_container .remove-upload {
  color: #FF7700;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .application-wrap .upload #upload_container .upload-add,
  .application-wrap .upload #upload_container .remove-upload {
    font-size: 1.171875vw;
    margin: 0.78125vw 0 0 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .upload #upload_container .upload-add,
  .application-wrap .upload #upload_container .remove-upload {
    font-size: 3.5897435897vw;
    margin: 1.2820512821vw 0 0 1.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .upload .upload-TX {
    margin-top: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .upload .upload-TX {
    margin-top: 2.0512820513vw;
  }
}
.application-wrap .apply .radio-group {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .apply .radio-group {
    gap: 5.625vw;
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .apply .radio-group {
    gap: 7.6923076923vw;
  }
}
.application-wrap .apply .apply-item {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .application-wrap .plan-TL {
    font-size: 1.25vw;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan-TL {
    font-size: 3.0769230769vw;
    margin-top: 2.5641025641vw;
  }
}
.application-wrap .plan .radio-group {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .plan .radio-group.nomal-plan {
    gap: 2.65625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .radio-group.nomal-plan {
    gap: 1.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .plan .radio-group.student-plan {
    gap: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .radio-group.student-plan {
    gap: 5.1282051282vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .radio-group.student-plan .label {
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .plan .radio-group.giga-plan {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .radio-group.giga-plan {
    flex-wrap: wrap;
    gap: 5.1282051282vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .plan .radio-group.giga-plan .custom-item {
    width: 14.0625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .radio-group.giga-plan .custom-item {
    width: 33.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .plan .radio-group.wifi-plan {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .radio-group.wifi-plan {
    flex-wrap: wrap;
    gap: 2.5641025641vw;
  }
}
.application-wrap .plan .custom-radio {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .custom-radio .custom-item {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .plan .custom-radio .custom-item .small {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .plan .custom-radio .custom-item .small {
    font-size: 2.5641025641vw;
  }
}
.application-wrap .option-select .checkbox-group {
  justify-content: space-between;
  display: flex;
}
@media screen and (max-width: 767px) {
  .application-wrap .option-select .checkbox-group {
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.5641025641vw 5.1282051282vw;
  }
}
.application-wrap .option-select .custom-checkbox {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .application-wrap .option-select .custom-item {
    width: 14.0625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .option-select .custom-item {
    width: 30.7692307692vw;
    font-size: 3.0769230769vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .option-select .custom-item .small {
    font-size: 2.5641025641vw;
  }
}
.application-wrap .option-select .option-span {
  text-align: center;
  display: block;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .application-wrap .option-select .option-span {
    margin: 0.234375vw auto 0;
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .option-select .option-span {
    margin: 0.5128205128vw auto 0;
    font-size: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .option-select .form-TX.option-bottom {
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .option-select .form-TX.option-bottom {
    margin-top: 2.5641025641vw;
    font-size: 2.5641025641vw;
  }
}
.application-wrap .nomal-checkbox .checkbox-group {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .application-wrap .nomal-checkbox .checkbox-group {
    margin-left: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .nomal-checkbox .checkbox-group {
    margin-left: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .nomal-checkbox .checkbox-group .label {
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .nomal-checkbox .checkbox-group .label {
    margin-top: 1.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .payment {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .payment {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .payment .label .pay-select {
    font-size: 3.5897435897vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .report-TX {
    margin-top: 0.78125vw;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .report-TX {
    margin-top: 1.2820512821vw;
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .report-TX.report-TX_bottom {
    font-size: 1.25vw;
    margin-left: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .report-TX.report-TX_bottom {
    font-size: 2.8205128205vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .report .report-select {
    font-size: 3.5897435897vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .current-info {
    width: 70%;
  }
}
.application-wrap .terms-text {
  resize: none;
  overflow-y: scroll;
  color: #462204;
  background: #fff;
  line-height: 130%;
}
@media screen and (min-width: 768px) {
  .application-wrap .terms-text {
    width: 58.59375vw;
    height: 20.3125vw;
    padding: 1.171875vw;
    margin: 1.5625vw auto 0;
    border-radius: 0.78125vw;
    border: 0.078125vw solid #462204;
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .terms-text {
    width: 84.6153846154vw;
    height: 64.1025641026vw;
    padding: 2.0512820513vw;
    margin: 2.5641025641vw auto 0;
    border-radius: 1.2820512821vw;
    border: 0.2564102564vw solid #462204;
    font-size: 3.0769230769vw;
  }
}
.application-wrap .terms .terms-agree {
  width: fit-content;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .terms .terms-agree {
    margin: 0.78125vw auto;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .terms .terms-agree {
    margin: 1.2820512821vw auto;
  }
}
.application-wrap .terms .terms-agree input {
  position: relative;
}
@media screen and (min-width: 768px) {
  .application-wrap .terms .terms-agree input {
    top: -0.234375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .button-group {
    margin-top: 20.5128205128vw;
  }
}
.application-wrap .custom-botton {
  display: none;
}
.application-wrap .custom-item {
  display: inline-block;
  cursor: pointer;
  transition: background 0.3s;
  color: #FF7700;
  background-color: #fff;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .custom-item {
    width: 15.625vw;
    height: 4.6875vw;
    padding: 0.78125vw 1.5625vw;
    border: 0.15625vw solid #f60;
    border-radius: 0.78125vw;
    margin-top: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .custom-item {
    height: 10.2564102564vw;
    width: 30.7692307692vw;
    padding: 1.2820512821vw 2.5641025641vw;
    font-size: 3.0769230769vw;
    border: 0.2564102564vw solid #f60;
    border-radius: 1.2820512821vw;
    margin-top: 1.2820512821vw;
  }
}
@media screen and (min-width: 768px) {
  .application-wrap .custom-item .small {
    font-size: 1.09375vw;
  }
}
.application-wrap .custom-item.apply_btn {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .application-wrap .custom-item.apply_btn {
    width: 20.3125vw;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .custom-item.apply_btn {
    height: 12.8205128205vw;
    font-size: 2.5641025641vw;
  }
}
.application-wrap .custom-botton:checked + .custom-item {
  background-color: #f60;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .application-wrap .password-hint {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .password-hint {
    font-size: 3.0769230769vw;
  }
}
.application-wrap .hidden {
  display: none;
}
.application-wrap .corp_line_count {
  display: flex;
  align-items: baseline;
}
@media screen and (min-width: 768px) {
  .application-wrap .corp_line_count input {
    width: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .corp_line_count input {
    width: 25.641025641vw;
  }
}
.application-wrap .corp_line_count p {
  position: relative;
}
@media screen and (min-width: 768px) {
  .application-wrap .corp_line_count p {
    font-size: 1.40625vw;
    top: 0.78125vw;
    margin-left: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  .application-wrap .corp_line_count p {
    font-size: 4.1025641026vw;
    top: 1.2820512821vw;
    margin-left: 1.2820512821vw;
  }
}

.next-application {
  color: #FF7700;
  margin: 0 auto;
  display: block;
  width: fit-content;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .next-application {
    font-size: 1.875vw;
    line-height: 156%;
    border-bottom: 0.234375vw solid;
  }
}
@media screen and (max-width: 767px) {
  .next-application {
    font-size: 4.1025641026vw;
    line-height: 160%;
    border-bottom: 0.7692307692vw solid;
  }
}
.next-application-bottom {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .next-application-bottom {
    font-size: 1.25vw;
    line-height: 150%;
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .next-application-bottom {
    font-size: 3.0769230769vw;
    line-height: 140%;
    margin-top: 5.1282051282vw;
  }
}

/* -----------------------
  _application-confirm
----------------------- */
@media screen and (min-width: 768px) {
  .form-title {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .form-title {
    font-size: 4.1025641026vw;
  }
}

@media screen and (min-width: 768px) {
  .confirm-form .label {
    font-size: 1.25vw;
    letter-spacing: 0.015625vw;
    margin-top: 3.125vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .label {
    margin-top: 7.6923076923vw;
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .confirm-form .value {
    margin: 0.78125vw 0 0 0.78125vw;
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .value {
    margin-top: 2.0512820513vw;
    font-size: 4.1025641026vw;
  }
}
.confirm-form .button-group {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .confirm-form .button-group {
    gap: 1.5625vw;
    margin-top: 6.25vw;
  }
}
.confirm-form .button-group .back {
  background-color: #D9D9D9;
  border: none;
  color: #462204;
}
@media screen and (min-width: 768px) {
  .confirm-form .button-group .back {
    width: 13.28125vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .button-group .back {
    width: 20.5128205128vw;
  }
}
.confirm-form .button-group button {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .confirm-form .uploaded-file {
    font-size: 1.09375vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .uploaded-file {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .confirm-form .uploaded-file img {
    width: 31.25vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .uploaded-file img {
    width: 51.2820512821vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .button-group {
    gap: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .confirm-form .submit {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .submit {
    font-size: 3.0769230769vw;
  }
}
@media screen and (max-width: 767px) {
  .confirm-form .submit .back {
    width: 20.5128205128vw;
  }
}

@media screen and (min-width: 768px) {
  .complete-cta-area .C_CTA {
    gap: 4.6875vw;
  }
}
@media screen and (max-width: 767px) {
  .complete-cta-area .C_CTA {
    gap: 7.6923076923vw;
  }
}

/* -----------------------
  law
----------------------- */
.law-table {
  border-collapse: collapse;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .law-table {
    margin-top: 6.25vw;
    width: 100%;
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .law-table {
    margin-top: 10.2564102564vw;
    width: 100%;
    font-size: 3.3333333333vw;
  }
}
.law-table th,
.law-table td {
  border: 1px solid #ccc;
  padding: 1em;
  text-align: left;
  vertical-align: top;
  background: #fff;
}
.law-table th {
  background: #f7f7f7;
  font-weight: bold;
  width: 35%;
  color: #462204;
}
.law-table td {
  width: 70%;
  color: #462204;
}

/* -----------------------
  archive
----------------------- */
@media screen and (min-width: 768px) {
  .archive-wrap {
    padding: 6.25vw 15.625vw 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap {
    padding: 10.2564102564vw 5.1282051282vw 0vw;
  }
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive {
    margin-top: 5.1282051282vw;
  }
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--lists li {
    border-bottom: 0.15625vw dashed #FF7700;
    padding-block: 2.65625vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--lists li {
    border-bottom: 0.5128205128vw dashed #FF7700;
    padding-block: 8.7179487179vw;
  }
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content {
    display: flex;
    align-items: center;
    gap: 5vw;
  }
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content .archive__img {
    width: 18.203125vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--content .archive__img {
    width: 84.6153846154vw;
    margin: 0 auto;
  }
}
.archive-wrap .C_archive--content .archive__img img {
  width: auto;
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content .archive__img img {
    height: 11.328125vw;
    max-width: 18.203125vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--content .archive__img img {
    height: 41.0256410256vw;
    max-width: 76.9230769231vw;
    margin: 0 auto;
  }
}
.archive-wrap .C_archive--content .text-box {
  color: #462204;
  flex: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--content .text-box {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content .text-box .archive__content .TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--content .text-box .archive__content .TL {
    font-size: 3.5897435897vw;
  }
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content .text-box .archive__commons {
    position: absolute;
    bottom: -3.203125vw;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--content .text-box .archive__commons {
    margin-top: 2.5641025641vw;
  }
}
.archive-wrap .C_archive--content .text-box .archive__commons .time {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content .text-box .archive__commons .time {
    font-size: 0.9375vw;
  }
}
@media screen and (max-width: 767px) {
  .archive-wrap .C_archive--content .text-box .archive__commons .time {
    font-size: 2.5641025641vw;
  }
}
.archive-wrap .C_archive--content.news .archive__commons {
  position: unset;
}
@media screen and (min-width: 768px) {
  .archive-wrap .C_archive--content.news .archive__commons {
    margin-bottom: 1.5625vw;
  }
}
.archive-wrap .C_archive--content.news .archive__commons .time {
  text-align: start;
}

/* -----------------------
  single
----------------------- */
@media screen and (min-width: 768px) {
  .C_single--content {
    padding-bottom: 7.8125vw;
    border-bottom: 0.15625vw dashed #FF7700;
  }
}
@media screen and (max-width: 767px) {
  .C_single--content {
    padding-bottom: 10.2564102564vw;
    border-bottom: 0.5128205128vw dashed #FF7700;
  }
}
.C_single--content .content--title .TL {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .C_single--content .content--title .TL {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .C_single--content .content--title .TL {
    font-size: 4.1025641026vw;
  }
}
.C_single--content .content--title .time {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .C_single--content .content--title .time {
    font-size: 1.09375vw;
    margin-top: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_single--content .content--title .time {
    font-size: 2.5641025641vw;
    margin-top: 5.1282051282vw;
  }
}
.C_single--content .content--img img {
  width: auto;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .C_single--content .content--img img {
    height: 23.4375vw;
    max-width: 46.875vw;
    margin: 3.515625vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  .C_single--content .content--img img {
    height: 41.0256410256vw;
    max-width: 76.9230769231vw;
    margin: 7.6923076923vw auto 0;
  }
}
@media screen and (min-width: 768px) {
  .C_single--content .content--text {
    padding-inline: 3.125vw;
    margin-top: 5.625vw;
  }
}
@media screen and (max-width: 767px) {
  .C_single--content .content--text {
    padding-inline: 2.5641025641vw;
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 768px) {
  .C_single--content .content--text p {
    font-size: 1.25vw;
    line-height: 160%;
  }
}
@media screen and (max-width: 767px) {
  .C_single--content .content--text p {
    font-size: 3.5897435897vw;
    line-height: 150%;
  }
}

.pageNation {
  display: flex;
  justify-content: space-around;
}
@media screen and (min-width: 768px) {
  .pageNation {
    margin-top: 1.953125vw;
  }
}
@media screen and (max-width: 767px) {
  .pageNation {
    margin-top: 3.8461538462vw;
  }
}
.pageNation .pageNation__button {
  color: #462204;
}
@media screen and (min-width: 768px) {
  .pageNation .pageNation__button {
    font-size: 1.25vw;
    margin-bottom: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .pageNation .pageNation__button {
    font-size: 3.5897435897vw;
    margin-bottom: 12.8205128205vw;
  }
}
.pageNation .pageNation__button a {
  color: #462204;
}

/* -----------------------
  qa
----------------------- */
@media screen and (min-width: 768px) {
  .qa-wrap {
    padding: 6.25vw 15.625vw 0;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap {
    padding: 12.8205128205vw 5.1282051282vw 0;
  }
}
.qa-wrap ul {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul {
    gap: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul {
    gap: 5.1282051282vw;
  }
}
.qa-wrap ul li .qa-content .icon {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content .icon {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content .icon {
    font-size: 5.1282051282vw;
    white-space: nowrap;
  }
}
.qa-wrap ul li .qa-content.question-content {
  background-color: #FF7700;
  color: #fff;
  align-items: center;
  position: relative;
  display: flex;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.question-content {
    padding: 0.78125vw 3.515625vw;
    border-radius: 1.5625vw;
    gap: 1.796875vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.question-content {
    padding: 1.2820512821vw 7.6923076923vw 1.2820512821vw 2.5641025641vw;
    border-radius: 2.5641025641vw;
    gap: 2.5641025641vw;
  }
}
.qa-wrap ul li .qa-content.question-content .q-TL {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.question-content .q-TL {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.question-content .q-TL {
    font-size: 3.5897435897vw;
  }
}
.qa-wrap ul li .qa-content.question-content::before {
  content: "";
  position: absolute;
  top: 40%;
  transform: translate(-50%) rotate(90deg);
  transition: all 0.3s ease;
  background: url('data:image/svg+xml;utf-8,<svg width="11" height="23" viewBox="0 0 11 23" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8.22917 11.6278L2 21.2556" stroke="%23FFF" stroke-width="3" stroke-linecap="round"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.question-content::before {
    width: 0.859375vw;
    height: 1.796875vw;
    right: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.question-content::before {
    width: 1.7948717949vw;
    height: 3.8461538462vw;
    right: 3.3333333333vw;
  }
}
.qa-wrap ul li .qa-content.question-content.active {
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.question-content.active {
    border-radius: 1.5625vw 1.5625vw 0 0;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.question-content.active {
    border-radius: 2.5641025641vw 2.5641025641vw 0 0;
  }
}
.qa-wrap ul li .qa-content.question-content.active::before {
  transform: translate(-50%) rotate(-90deg);
  transition: all 0.3s ease;
}
.qa-wrap ul li .qa-content.answer-content {
  background: rgba(255, 234, 203, 0.6);
  display: none;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.answer-content {
    border-radius: 0 0 1.5625vw 1.5625vw;
    padding: 1.5625vw 2.734375vw 1.015625vw 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.answer-content {
    border-radius: 0 0 2.5641025641vw 2.5641025641vw;
    padding: 3.3333333333vw 5.1282051282vw 3.8461538462vw 6.4102564103vw;
  }
}
.qa-wrap ul li .qa-content.answer-content .answer-wrap {
  display: flex;
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.answer-content .answer-wrap {
    gap: 1.796875vw;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.answer-content .answer-wrap {
    gap: 2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .qa-wrap ul li .qa-content.answer-content .a-TX {
    font-size: 1.25vw;
    letter-spacing: 0.0875vw;
    line-height: 143%;
  }
}
@media screen and (max-width: 767px) {
  .qa-wrap ul li .qa-content.answer-content .a-TX {
    font-size: 3.3333333333vw;
    line-height: 140%;
  }
}

.cta-area.qa {
  display: block;
}
.cta-area.qa .qa-cta-TX {
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .cta-area.qa .qa-cta-TX {
    font-size: 1.5625vw;
    margin-bottom: 0.625vw;
  }
}
@media screen and (max-width: 767px) {
  .cta-area.qa .qa-cta-TX {
    font-size: 3.5897435897vw;
    margin-bottom: 1.2820512821vw;
  }
}
.cta-area.qa .C_CTA {
  margin-inline: auto;
}

/* -----------------------
  simulator
----------------------- */
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap {
    margin-top: 6.25vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap {
    margin-top: 12.8205128205vw;
  }
}
.simulator-wrap .simulator-content-wrap .input-area {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap .input-area {
    gap: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap .input-area {
    flex-direction: column;
    gap: 2.5641025641vw;
  }
}
.simulator-wrap .simulator-content-wrap .current_price {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap .current_price {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap .current_price {
    font-size: 3.5897435897vw;
    margin-bottom: 2.0512820513vw;
  }
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap #current_price {
    width: 23.4375vw;
    height: 3.90625vw;
    border-radius: 0.78125vw;
    font-size: 1.5625vw;
    padding: 0.625vw 0.9375vw;
    border: 0.078125vw solid #ccc;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap #current_price {
    width: 51.2820512821vw;
    height: 6.4102564103vw;
    padding: 2.0512820513vw 3.0769230769vw;
    border: 0.2564102564vw solid #ccc;
    border-radius: 1.2820512821vw;
    font-size: 3.5897435897vw;
  }
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section {
    margin-top: 3.90625vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap section {
    margin-block: 11.5384615385vw 8.9743589744vw;
  }
}
.simulator-wrap .simulator-content-wrap section .label {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section .label {
    font-size: 1.5625vw;
    margin-bottom: 1.171875vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap section .label {
    font-size: 3.5897435897vw;
    margin-bottom: 3.0769230769vw;
  }
}
.simulator-wrap .simulator-content-wrap section .button-group {
  display: flex;
  justify-content: center;
  align-items: start;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section .button-group {
    gap: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap section .button-group {
    gap: 2.5641025641vw;
  }
}
.simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button {
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #FF7700;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button {
    width: 17.1875vw;
    height: 6.25vw;
    font-size: 1.40625vw;
    padding: 0.78125vw 0.78125vw;
    border: 0.15625vw solid #FF7700;
    border-radius: 0.625vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button {
    width: 41.0256410256vw;
    height: 15.3846153846vw;
    font-size: 3.0769230769vw;
    margin: 1.2820512821vw;
    padding: 2.0512820513vw 3.8461538462vw;
    border: 0.5128205128vw solid #FF7700;
    border-radius: 1.5384615385vw;
  }
}
.simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button:hover {
  background-color: rgba(255, 119, 0, 0.5);
}
.simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button.selected {
  background-color: #FF7700;
  color: #fff;
}
.simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button.option.selected {
  background-color: #ffa733;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section .button-group .button-inner .select-button.option-add {
    width: 15.625vw;
    font-size: 1.328125vw;
  }
}
.simulator-wrap .simulator-content-wrap section .button-group .button-inner .button-TX {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section .button-group .button-inner .button-TX {
    font-size: 1.015625vw;
    margin-top: 0.390625vw;
    line-height: 130%;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap section .button-group .button-inner .button-TX {
    font-size: 2.5641025641vw;
    margin-top: 0.5128205128vw;
    line-height: 130%;
  }
}
@media screen and (min-width: 768px) {
  .simulator-wrap .simulator-content-wrap section.simu-top {
    margin-top: 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .simulator-wrap .simulator-content-wrap section.simu-top {
    margin-top: 12.8205128205vw;
  }
}

@media screen and (min-width: 768px) {
  .result-section {
    margin-top: 8.59375vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section {
    margin-top: 15.3846153846vw;
  }
}
.result-section .label {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .result-section .label {
    font-size: 2.734375vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .label {
    font-size: 5.1282051282vw;
  }
}
.result-section .result-space {
  background-color: #FFFF59;
  position: relative;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .result-section .result-space {
    width: 62.5vw;
    padding: 2.34375vw 11.328125vw 2.34375vw 3.75vw;
    margin: 3.90625vw auto 0;
    gap: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .result-space {
    width: 82.0512820513vw;
    padding: 3.8461538462vw 20.5128205128vw 3.8461538462vw 3.8461538462vw;
    margin: 12.8205128205vw auto 0;
    gap: 2.5641025641vw;
  }
}
.result-section .result-space .result-TX {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .result-section .result-space .result-TX {
    font-size: 1.40625vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .result-space .result-TX {
    font-size: 3.0769230769vw;
  }
}
.result-section .result-space .result-TX .recommend-TX {
  color: #FF7700;
}
@media screen and (min-width: 768px) {
  .result-section .result-space .result-TX .recommend-TX {
    font-size: 1.875vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .result-space .result-TX .recommend-TX {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  .result-section .result-space .result-TX .recommend-TX.recommend-plan {
    font-size: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .result-space .result-TX .recommend-TX.recommend-plan {
    font-size: 5.1282051282vw;
  }
}
@media screen and (min-width: 768px) {
  .result-section .result-space .result-TX .recommend-TX.recommend-plan .result-tax {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .result-space .result-TX .recommend-TX.recommend-plan .result-tax {
    font-size: 3.0769230769vw;
  }
}
.result-section .result-space .simulator-img {
  background-image: url("../img/simulator.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  .result-section .result-space .simulator-img {
    width: 11.71875vw;
    height: 16.5625vw;
  }
}
@media screen and (max-width: 767px) {
  .result-section .result-space .simulator-img {
    width: 21.7948717949vw;
    height: 31.0256410256vw;
  }
}

@media screen and (min-width: 768px) {
  .cta-area.simu .application {
    margin-top: 2.34375vw;
  }
}
@media screen and (max-width: 767px) {
  .cta-area.simu .application {
    margin-top: 5.1282051282vw;
  }
}

/* -----------------------
  anime
----------------------- */
.hover-opa {
  transition: 0.3s;
}
.hover-opa:hover {
  opacity: 0.6;
}

.hover-scale {
  transition: 0.3s;
}
.hover-scale:hover {
  transform: scale(1.05);
}

.up {
  opacity: 0;
  transform: translateY(40%);
}
.up.show {
  animation: up 0.5s ease forwards;
}
@keyframes up {
  0% {
    opacity: 0;
    transform: translateY(40%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.down {
  opacity: 0;
  transform: translateY(-100%);
}
.down.show {
  animation: down ease forwards;
}
@keyframes down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.left {
  opacity: 0;
  transform: translateX(100%);
}
.left.show {
  animation: left 0.5s ease forwards;
}
@keyframes left {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.right {
  opacity: 0;
  transform: translateX(-100%);
}
.right.show {
  animation: right 0.5s ease forwards;
}
@keyframes right {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.pop {
  opacity: 0;
  transform: scale(0.5);
}
.pop.show {
  animation: pop ease forwards;
}
@keyframes pop {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.loadUp {
  opacity: 0;
  transform: translateY(50%);
}
.loadUp.show {
  animation: loadUp 1s ease forwards;
}
@keyframes loadUp {
  0% {
    opacity: 0;
    transform: translateY(50%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.loadDown {
  opacity: 0;
  transform: translateY(-100%);
}
.loadDown.show {
  animation: loadDown ease forwards;
}
@keyframes loadDown {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.loadLeft {
  opacity: 0;
  transform: translateX(100%);
}
.loadLeft.show {
  animation: loadLeft ease forwards;
}
@keyframes loadLeft {
  0% {
    opacity: 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.loadRight {
  opacity: 0;
  transform: translateX(-100%);
}
.loadRight.show {
  animation: loadRight ease forwards;
}
@keyframes loadRight {
  0% {
    opacity: 0;
    transform: translateX(-100%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.loadPop {
  opacity: 0;
  transform: scale(0.5);
}
.loadPop.show {
  animation: loadPop ease forwards;
}
@keyframes loadPop {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.delay-01 {
  animation-delay: 0.1s !important;
}

.delay-02 {
  animation-delay: 0.2s !important;
}

.delay-03 {
  animation-delay: 0.3s !important;
}

.delay-04 {
  animation-delay: 0.4s !important;
}

.delay-05 {
  animation-delay: 0.5s !important;
}

.delay-06 {
  animation-delay: 0.6s !important;
}

.delay-07 {
  animation-delay: 0.7s !important;
}

.delay-08 {
  animation-delay: 0.8s !important;
}

.delay-09 {
  animation-delay: 0.9s !important;
}

.delay-10 {
  animation-delay: 1s !important;
}

.delay-11 {
  animation-delay: 1.1s !important;
}

.delay-12 {
  animation-delay: 1.2s !important;
}

.delay-13 {
  animation-delay: 1.3s !important;
}

.delay-14 {
  animation-delay: 1.4s !important;
}

.delay-15 {
  animation-delay: 1.5s !important;
}

.duration-01 {
  animation-duration: 0.1s !important;
}

.duration-02 {
  animation-duration: 0.2s !important;
}

.duration-03 {
  animation-duration: 0.3s !important;
}

.duration-04 {
  animation-duration: 0.4s !important;
}

.duration-05 {
  animation-duration: 0.5s !important;
}

.duration-06 {
  animation-duration: 0.6s !important;
}

.duration-07 {
  animation-duration: 0.7s !important;
}

.duration-08 {
  animation-duration: 0.8s !important;
}

.duration-09 {
  animation-duration: 0.9s !important;
}

.duration-10 {
  animation-duration: 1s !important;
}

.duration-15 {
  animation-duration: 1.5s !important;
}

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