@font-face {
  font-family: VetoSans;
  src: url(../fonts/VetoSansCond-Cond.otf) format("opentype");
}


html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
  font-family: 'VetoSans', 'Josefin Sans';
}

/* html, body {
  overflow-x: hidden;
} */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth !important;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}



/* =========================
   Header base
========================= */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(8px);
  z-index: 9999;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.site-header__inner {
  max-width: 1400px;
  height: 100%;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body {
  padding-top: 90px;
  text-align: justify;
}

body.drawer-open {
  overflow: hidden;
}

/* =========================
   Logo
========================= */
.mainlogo {
  flex-shrink: 0;
}

.main-logo-cont {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.main-logo-cont img {
  width: 52px;
  height: auto;
  display: block;
}

.logoname {
  margin: 0;
  color: black;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  font-family: "VetoSans", "Josefin Sans", sans-serif;
  line-height: 1;
}

/* =========================
   PC nav
========================= */
.pc-nav {
  margin-left: auto;
  margin-right: 24px;
}

.pc-nav__list {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pc-nav__list li {
  margin: 0;
}

.pc-nav__list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: black;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  font-family: "VetoSans", "Josefin Sans", sans-serif;
  transition: color 0.3s ease;
  min-height: 1.5em;
  overflow: visible;
}

/* English text */
.pc-nav__list a span {
  display: inline-block;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    filter 0.35s ease;
}

/* Japanese text */
.pc-nav__list a::before {
  content: attr(data-jp);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 130%);
  opacity: 0;
  filter: blur(6px);
  white-space: nowrap;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 0.8rem;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    filter 0.35s ease;
  background-image: linear-gradient(to right, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 72%, #F7A416 79.61%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


/* underline */
.pc-nav__list a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg,
      #35BDE2 0%,
      #557BB0 20%,
      #75549A 40%,
      #E8443B 65%,
      #ED683B 82%,
      #F7A416 100%);
  transition: width 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
/* hover animation */
.pc-nav__list a:hover span {
  transform: translateY(-130%);
  opacity: 0;
  filter: blur(6px);
}

.pc-nav__list a:hover::before {
  transform: translate(-50%, -50%);
  opacity: 1;
  filter: blur(0);
}

.pc-nav__list a:hover::after {
  width: 100%;
}
}
/* =========================
   Hamburger
========================= */
.hamburger {
  width: 40px;
  height: 40px;
  position: relative;
  display: none;
  flex-shrink: 0;
  border: 1px solid transparent;
  background-color: #fff;
  /* border-image: linear-gradient(6.57deg,
      #35BDE2 27.54%,
      #557BB0 38.58%,
      #75549A 49.62%,
      #E8443B 61.38%,
      #ED683B 72%,
      #F7A416 79.61%) 1; */
  cursor: pointer;
  z-index: 10001;
  padding: 0;
}

.hamburger span {
  display: block;
  height: 2px;
  position: absolute;
  left: 50%;
  background: linear-gradient(90deg,
      #35BDE2 0%,
      #557BB0 20%,
      #75549A 40%,
      #E8443B 65%,
      #ED683B 82%,
      #F7A416 100%);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.hamburger span:nth-child(1) {
  top: 9px;
  width: 20px;
}

.hamburger span:nth-child(2) {
  top: 17px;
  width: 25px;
}

.hamburger span:nth-child(3) {
  top: 25px;
  width: 30px;
}

.hamburger.is-active span:nth-child(1) {
  top: 19px;
  transform: translateX(-50%) rotate(45deg);
}

.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
  top: 19px;
  transform: translateX(-50%) rotate(-45deg);
}

/* =========================
   Drawer
========================= */
.drawer {
  position: fixed;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  width: 100%;
  height: 100dvh;
  background: #fff;
  padding: 30px 0 40px;
  overflow-y: auto;
  transition: transform 0.35s ease;
  z-index: 10000;
}

.drawer.show {
  transform: translateY(0);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5%;
}

.drawer ul.main_nav {
  margin: 0 auto;
  padding: 0 10%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.drawer ul.main_nav li {
  display: flex;
  align-items: center;
  margin: 0;
}

.drawer ul.main_nav li a {
  display: block;
  text-align: left;
  color: black;
  text-decoration: none;
  font-weight: 500;
  font-size: 1.35rem;
  letter-spacing: 0.18em;
  font-family: "VetoSans", "Josefin Sans", sans-serif;
}

.drawer_bone {
  width: 28px;
  height: auto;
  margin-right: 10px;
  opacity: 0.85;
}

.fist-menu {
  width: 18px;
  height: auto;
  margin: 0 12px 0 0;
}

.drawer_logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: 100%;
  margin-top: 56px;
}

.sp-only {
  display: none;
}




/* =========================
   Tablet / SP
========================= */
@media screen and (max-width: 1024px) {
  .pc-nav {
    display: none;
  }

  .hamburger {
    display: block;
  }

  .site-header__inner {
    padding: 0 20px;
  }

  .logoname {
    font-size: 1rem;
    letter-spacing: 0.08em;
  }

  .drawer ul.main_nav li a {
    font-size: 1.6rem;
  }

  .drawer_logos.social-links i {
    font-size: 18px;
  }
}

#site-header {
  transition: transform 0.35s ease, box-shadow 0.3s ease;
}

#site-header.scrolled {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* =========================
   PC only
========================= */
@media screen and (min-width: 1025px) {
  .drawer {
    display: none;
  }
}

/* =========================
   SP adjustment
========================= */
@media screen and (max-width: 767px) {
  .site-header {
    height: 70px;
  }

  body {
    padding-top: 30px;
  }

  .site-header__inner {
    height: 70px;

  }

  .main-logo-cont img {
    width: 42px;
  }

  .logoname {
    font-size: 0.9rem;
  }


  .drawer ul.main_nav {
    padding: 0 8%;
  }

  .drawer ul.main_nav li a {
    font-size: 1.05rem;
    letter-spacing: 0.12em;
  }

  .drawer_logos {
    margin-top: 40px;
    gap: 18px;
  }

  .pc-only {
    display: none;
  }

  .sp-only {
    display: flex;
  }
}


/* =========================
   FIRSTVIEW
========================= */


.fv {
  overflow: visible;
}

.fv__inner {
  max-width: 1400px;
  padding: 0 2.5%;
  margin: 0 auto;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fv__left {
  width: 50%;
}

.fv__right {
  width: 47%;
}

.fv__copy {
  position: relative;
  max-width: 620px;
}

.fv__jp {
  position: absolute;
  font-family: "shinryu", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(9vw, 140px);
  color: white;
  text-shadow: 0px 0px 7px black;
  top: -40%;
}

.fv__en {
  position: relative;
  z-index: 2;
  font-family: "battery-park", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: min(3.5vw, 50px);
  padding-left: 5%;
  margin: -30px 0 0 40px;
  text-indent: -5%;

}

.fv__lead {
  margin-top: 72px;
}

.fv__lead p {
  font-family: 'VetoSans', 'Josefin Sans';
  font-weight: 400;
  font-style: normal;
  line-height: 2;
  font-size: clamp(13px, 1.2vw, 20px);
}

.fv__lead p+p {
  margin-top: 8px;
}

.fv__visual {
  width: 100%;
}

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

.fv__photo {
  inset: 0;
  z-index: 2;
  object-fit: contain;
}


@media (min-width: 768px) and (max-width: 1024px) {
  .fv__lead {
    margin-top: 10%;
  }

  .fv__copy {
    margin-top: 25%;
  }
}

@media (max-width: 767px) {
  .fv {
    padding: 70px 0 70px 0;
  }

  .fv__inner {
    flex-direction: column;
    gap: 36px;
    padding-top: 70px;
  }

  .fv__left,
  .fv__right {
    width: 100%;
  }

  .fv__copy {
    padding-top: 84px;
    max-width: none;
  }

  .fv__jp {
    font-size: clamp(52px, 20vw, 78px);
    top: 0;
    text-align: center;
    width: 100%;
  }

  .fv__en {
    padding-left: 0px;
    font-size: clamp(28px, 8vw, 42px);
    text-indent: 0%;
    margin: -25px 0 0 0;
    text-align: center;
  }

  .fv__lead {
    margin-top: 40px;
  }

  .fv__lead p {
    font-size: 14px;
    line-height: 2;
    text-align: center;
  }

  .fv__visual {
    max-width: 100%;
  }
}

.container {
  padding: 5%;
  margin: 0 auto;
  max-width: 1400px;
  width: 100%;
}

/* =========================
   ABOUT
========================= */

.about-tkd {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.about-tkd__title {
  position: relative;
  width: -webkit-fill-available;
}

.about-tkd__bg-circle {
  position: absolute;
  left: -15%;
  top: 0%;
  width: 60%;
  height: auto;
  z-index: 0;
}


.about-tkd__title-ring {
  width: 200px;
  height: auto;
}

.about-tkd__title-text {
  position: absolute;
  left: 5%;
  top: 19%;
}

.about-tkd__jp {
  margin: 0;
  font-size: clamp(54px, 5.6vw, 80px);
  font-family: "hot-gyoshokk", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: white;
  text-shadow: 0px 0px 7px black;
}

.about-tkd__en {
  margin: -20px 0 0 0;
  font-family: "battery-park", sans-serif;
  font-size: clamp(27px, 3vw, 40px);
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.about-tkd__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 -5%;
  width: 50%;
  gap: 50px;
}

.about-tkd__text p {
  font-family: 'VetoSans', 'Josefin Sans';
  font-weight: 400;
  font-style: normal;
  line-height: 2;
  font-size: clamp(13px, 1.2vw, 16px);
}

.about-tkd__text--top {
  top: 300px;
  left: 58%;
  transform: translateX(-50%);
  width: min(700px, 48vw);
}

.about-tkd__text--middle {
  top: 570px;
  left: 200px;
  width: min(760px, 52vw);
}

.about-tkd__text--bottom {
  bottom: 70px;
  left: 50px;
  width: min(760px, 52vw);
}

.about-tkd__tower {
  position: absolute;
  right: 90px;
  top: 40px;
  width: 170px;
  height: auto;
  z-index: 1;
  opacity: 0.92;
}

.about-tkd__fighter {
  position: absolute;
  right: 5%;
  bottom: 55px;
  width: min(280px, 29vw);
  height: auto;
  z-index: 2;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .about-tkd__title-ring {
    width: 140px;
  }

  .about-tkd__en {
    margin: -15px 0 0 0;
  }

  .about-tkd__text {
    margin: 0 0 0 -10%;
  }

  .about-tkd__title {
    margin-left: 5%;
  }
}

@media (max-width: 767px) {

  .container {
    padding: 10% 5%;
  }

  .about-tkd__fighter {

    right: 0;
  }

  .about-tkd__title {
    margin-bottom: 8%;
  }

  .about-tkd__title-ring {
    width: 120px;
    margin-left: clamp(20px, 2vw, 30px);
  }

  .about-tkd__title-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-45%, -65%);
    width: max-content;
  }

  .about-tkd__text {
    align-items: flex-start;
  }


  .about-tkd__text p:nth-child(2) {
    width: 70%;
  }

  .about-tkd__text p:last-child {
    width: 50%;
  }

  .about-tkd__text {
    width: 100%;
    margin: 0 auto;
  }

  .about-tkd__fighter {
    width: 50vw;
    bottom: 20px;
  }

  .about-tkd__bg-circle {
    top: -5%;
    width: 100%;
  }
}

/* =========================
  DOJO
========================= */

.about-dojo {
  position: relative;
  overflow: visible;
}

.about-dojo__inner {
  max-width: 1400px;
  padding: 0 2.5%;
  margin: 0 auto;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 80px;
}

.about-dojo__visual {
  position: relative;
  width: 80%;
  max-width: 600px;
}

.about-dojo__img-bg {
  position: absolute;
  inset: 0;
  width: 50vw;
  z-index: 1;
}

.about-dojo__img {
  position: relative;
  width: 100%;
  z-index: 2;
}

.about-dojo__content {
  position: relative;
  width: 100%;
}

.about-tkd__title--right {
  display: flex;
  justify-content: flex-end;
}

.about-tkd__title--right .about-tkd__title-ring {
  left: auto;
  right: 0px;
  width: 230px;
}

.about-tkd__title--right .about-tkd__title-text {
  top: 10%;
  text-align: right;
  right: 13%;
  left: auto;
}

.about-dojo__headline {
  font-size: clamp(18px, 2vw, 26px);
  margin: -3% 0 3% 0;
  font-weight: 500;
  font-family: 'VetoSans', 'Josefin Sans';
}


.about-dojo__text p {
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 2;
  margin-bottom: 20px;
  font-family: 'VetoSans', 'Josefin Sans';
}

.about-dojo__info {
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 1.8;
}

.about-dojo__text a {
  text-decoration: none;
  background-image: linear-gradient(to right, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 72%, #F7A416 79.61%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
}


.windsvg {
  position: absolute;
  right: 10%;
  top: 60%;
  height: 50vh;
  z-index: 1;
  width: auto;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .about-tkd__title--right .about-tkd__title-ring {
    width: 150px;
  }

  .about-dojo__inner {
    gap: 10px;
  }

  .about-dojo__visual {
    margin-top: 15%;
  }

  .about-tkd__title--right {
    margin-bottom: 5%;
  }

}

@media (max-width: 767px) {
  .about-dojo__inner {
    flex-direction: column;
    gap: 40px;
  }

  .about-dojo__visual,
  .about-dojo__content {
    width: 100%;
  }

  .about-dojo__visual {
    order: 2;
  }

  .about-dojo__content {
    padding-top: 30px;
  }

  .about-tkd__title--right {
    position: relative;
    right: auto;
    margin-bottom: 10%;
  }

  .about-tkd__title--right .about-tkd__title-ring {
    right: auto;
    width: 150px;
  }

  .about-tkd__title--right .about-tkd__title-text {
    right: auto;
    text-align: left;
    top: 52%;
  }

  .about-dojo__headline {
    margin-bottom: 5%;
  }

  .about-dojo__visual.sp-only {
    margin-bottom: 10%;
  }

  .windsvg {
    top: 77%;
  }
}

/* =========================
  MEMBERSHIP
========================= */
.membership {
  position: relative;
  padding-top: 3%;
}

.membership__title {
  position: relative;
  width: 100%;
  margin: 0 auto 60px;
  min-height: 190px;
  display: flex;
  justify-content: center;
}

.membership__title-wave {
  display: block;
  width: auto;
  height: clamp(80px, 10vw, 130px);
  margin-top: clamp(16px, 9vw, 50px);
}

.membership__title-text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.membership__jp {
  margin: 0;
  font-size: clamp(54px, 5.6vw, 80px);
  font-family: "hot-gyoshokk", sans-serif;
  font-weight: 400;
  color: #fff;
  text-shadow: 0 0 7px rgba(0, 0, 0, 0.45);
  line-height: 1;
}

.membership__en {
  margin: -18px 0 0;
  font-family: "battery-park", sans-serif;
  font-size: clamp(27px, 2.8vw, 40px);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: black;
}

.membership__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 400px));
  justify-content: center;
  gap: 70px;
}

.membership-card {
  border: 1px solid #e5e5e5;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.02);
}

.membership-card__media {
  position: relative;
  height: 160px;

}

.membership-card__video,
.membership-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.membership-card__badge {
  position: absolute;
  left: -20px;
  bottom: -70px;
  width: clamp(110px, 8vw, 140px);
  height: auto;
  z-index: 3;
}

.membership-card__head {
  position: relative;
  padding: 18px 24px 22px;
  text-align: center;
  border-bottom: 1px solid #e9e9e9;
}

.membership-card__name {
  position: relative;
  display: inline-block;
  margin: 0;
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 500;
  line-height: 1.2;
  z-index: 1;
  text-shadow: 0px 0px 3px rgb(255, 255, 255);
}

.membership-card__name::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -27%;
  transform: translateX(-50%);
  width: clamp(110px, 8vw, 140px);
  height: 28px;
  background: url("../images/wave4.png") center center / contain no-repeat;
  z-index: -1;
}

.membership-card__target {
  position: absolute;
  right: 18px;
  bottom: 10px;
  margin: 0;
  font-size: clamp(12px, 1.2vw, 14px);
}

.membership-card__row {
  padding: 4%;
  text-align: center;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.5;

  border-bottom: 1px solid #e9e9e9;
}

.membership-card__row--price {
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 700;
}

.membership-card__cta {
  background-image: linear-gradient(to right,
      #35BDE2 0%,
      #557BB0 35%,
      #75549A 55%,
      #E8443B 75%,
      #ED683B 88%,
      #F7A416 100%);
  background-size: 200% auto;
  transition: background-position 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
.membership-card__cta:hover {
  background-position: right center;
}}

.membership-card__cta a {
  display: block;
  padding: 15px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.4;
  font-weight: 500;
}


@media (max-width: 1024px) {

  .membership__cards {
    max-width: 690px;
    margin: 0 auto;
    gap: 48px;
  }

  .membership__title {
    margin: 0;
  }

}

@media (max-width: 767px) {

  .membership__inner {
    width: min(100% - 32px, 1180px);
  }

  .membership__title {
    margin-bottom: 40px;
    min-height: 120px;
  }

  .membership__title-wave {
    width: min(92vw, 520px);
  }

  .membership__jp {
    font-size: clamp(42px, 12vw, 64px);
  }

  .membership__en {
    margin-top: -10px;
    font-size: clamp(22px, 5.6vw, 34px);
    text-align: center;
  }

  .membership__cards {
    gap: 60px;
    flex-direction: column;
    display: flex;
  }

  .membership-card__badge {
    width: 120px;
    left: -10px;
    bottom: -40%;
  }

  .membership-card__head {
    padding: 16px 16px 18px;
  }

  .membership-card__name {
    font-size: 24px;
  }

  .membership-card__name::after {
    width: 110px;
    height: 22px;
    bottom: -5px;
  }

  .membership-card__target {
    position: static;
    display: block;
    margin-top: 6px;
    text-align: right;
    font-size: 12px;
  }

  .membership-card__row {
    padding: 14px 16px;
    font-size: clamp(13px, 1.1vw, 15px);
  }

  .membership-card__row--price {
    font-size: 24px;
  }

  .membership-card__cta a {
    padding: 16px 14px;
    font-size: clamp(15px, 1.4vw, 18px);
  }
}



/* =========================
  Instructor
========================= */

.about-inst__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}


.about-instructor__inner {
  max-width: 1400px;
  padding: 0 2.5%;
  margin: 0 auto;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  max-width: 1000px;
}

.about-inst__title--right {
  top: 7%;
  text-align: right;
  right: 8%;
  left: auto;
}

.about-inst__title-text {
  position: absolute;
  right: 8%;
  top: 5%;
}


.instructor .about-tkd__title--right {
  margin-bottom: 3%;
}

.message {
  font-weight: 400;
  font-style: normal;
  font-size: clamp(26px, 2vw, 25px);
  text-shadow: 0px 0px 3px rgb(255, 255, 255);
  position: relative;
  z-index: 1;
  text-align: left;
  padding: 0;
  font-weight: bold;
}


.message:before {

  content: '';
  position: absolute;
  background-image: url(../images/wave4.png);
  background-repeat: no-repeat;
  background-position: 0 clamp(16px, 2vw, 28px);
  background-size: clamp(100px, 8vw, 140px);

  width:-webkit-fill-available;
  height: clamp(60px, 8vw, 100px);
  z-index: -1;
}




.inst-and-msg {
  display: flex;
  flex-direction: row;
  margin-top: 5%;
  gap: 20px;
  align-items: center;
}

.about-inst__text {
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 2;
  text-align: justify;
}

.about-inst__visual {
  width: 40%;
}

.about-inst__visual img {
  width: 100%;
  object-fit: contain;
}

.about-inst__msg {
  width: 60%;
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 2;
  margin-top: -5%;
}

.about-inst__info {
  text-align: justify;
  margin-top: 5%;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .about-inst__info {

    margin-top: 2%;
  }

  .about-inst__visual {
    width: 50%;
  }

  .message:before {
    top: 3px;
  }
}

@media (max-width: 767px) {

  .about-inst__title-text {
    position: absolute;
    right: 15%;
    top: 3%;
  }

  .inst-and-msg {
    flex-direction: column;
  }

  .about-inst__msg,
  .about-inst__visual {
    width: fit-content;
  }

  .message {
    text-align: center;
  }

  .message:before {
    width: stretch;

content: '';
position: absolute;
background-image: url(../images/wave4.png);
background-repeat: no-repeat;
background-position: 0 clamp(16px, 2vw, 28px);
background-size: clamp(160px, 8vw, 140px);
width: -webkit-fill-available;
height: clamp(60px, 8vw, 100px);
z-index: -1;
top: 19%;
left: 30%;
}
  

}

/* =========================
  CONTACT
========================= */

.contact-section {
  position: relative;
}

.contact-section__inner {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 80px;
  align-items: start;
}


/* LEFT : FREE TRIAL */

.trial-block {
  position: relative;
}

.trial-block__title {
  position: relative;
  margin-bottom: 42px;
}

.trial-block__title-wave {
  display: block;
  width: min(220px, 19vw);
  height: auto;
}

.trial-block__title-text {
  position: absolute;
  left: 10%;
  top: 20%;
}

.trial-block__jp {
  margin: 0;
  font-size: clamp(54px, 5.6vw, 70px);
  font-family: "hot-gyoshokk", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: white;
  text-shadow: 0px 0px 7px black;
}

.trial-block__en {
  margin: -15px 0 0;
  ;
  font-family: "battery-park", sans-serif;
  font-size: clamp(32px, 2.6vw, 45px);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: black;
}

.trial-block__body {
  position: relative;
  padding-right: 60px;
}

.trial-block__text {
  position: relative;
  margin: 0;
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 2;
  color: black;
}

.trial-block__cta {
  position: relative;
  margin-top: 56px;
}

.trial-block__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 320px;
  padding: 15px;
  text-decoration: none;
  color: #fff;
  font-size: 32px;
  line-height: 1;
  background-image: linear-gradient(to right,
      #35BDE2 0%,
      #557BB0 35%,
      #75549A 55%,
      #E8443B 75%,
      #ED683B 88%,
      #F7A416 100%);
  background-size: 200% auto;
  transition: background-position 0.4s ease;
}

@media (hover: hover) and (pointer: fine) {
.trial-block__button:hover {
  background-position: right center;
}}

.trial-block__bg-kick {
  position: absolute;
  right: 0;
  top: 0px;
  height: 600px;
  width: auto;
  z-index: 1;
  pointer-events: none;
}


/* RIGHT : CONTACT */

.contact-block {
  position: relative;
}

.contact-block__head {
  display: flex;
  gap: 0;
  align-items: start;
  margin-bottom: 15px;
  flex-direction: row;
}

.contact-block__lead p {
  margin: 0;
  font-size: clamp(13px, 1.2vw, 16px);
  line-height: 2;
}

.contact-block__title {
  position: relative;
  min-width: 320px;
  min-height: 120px;
}

.contact-block__title-wave {
  position: absolute;
  right: 0;
  top: 40px;
  width: 250px;
  height: auto;
}

.contact-block__title-text {
  position: absolute;
  right: 48px;
  top: 0;
  text-align: right;
}

.contact-block__jp {
  margin: 0;
  font-size: clamp(44px, 4.4vw, 55px);
  font-family: "hot-gyoshokk", sans-serif;
  font-weight: 400;
  color: #fff;
  text-shadow: 0px 0px 7px black;
  line-height: 1;
}

.contact-block__en {
  margin: -12px 0 0;
  font-family: "battery-park", sans-serif;
  font-size: clamp(26px, 2vw, 38px);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: black;
}


/* CF7 */

.cf7-tkd {
  width: 100%;
}

.cf7-tkd__row {
  margin-bottom: 22px;
}

.cf7-tkd__row--two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.cf7-tkd__field .wpcf7-form-control-wrap {
  display: block;
}

.cf7-tkd input[type="text"],
.cf7-tkd input[type="email"],
.cf7-tkd textarea {
  width: 100%;
  border: 1px solid #bdbdbd;
  background: #fff;
  color: black;
  box-sizing: border-box;
  font-family: 'VetoSans', 'Josefin Sans', sans-serif;
}

.cf7-tkd input[type="text"],
.cf7-tkd input[type="email"] {
  height: 60px;
  padding: 0 24px;
  font-size: 16px;
}

.cf7-tkd textarea {
  max-height: 280px;
  padding: 24px;
  font-size: 16px;
  line-height: 2;
  resize: vertical;
}

.cf7-tkd input::placeholder,
.cf7-tkd textarea::placeholder {
  color: #b1b1b1;
  opacity: 1;
}

.cf7-tkd__submit .wpcf7-submit {
  width: 100%;
  border: none;
  padding: 15px;
  cursor: pointer;
  color: #fff;
  font-size: 34px;
  line-height: 1;
  text-transform: uppercase;
  background-image: linear-gradient(to right,
      #35BDE2 0%,
      #557BB0 35%,
      #75549A 55%,
      #E8443B 75%,
      #ED683B 88%,
      #F7A416 100%);
  background-size: 200% auto;
  transition: background-position 0.4s ease;
      font-family: 'VetoSans', 'Josefin Sans';
}

@media (hover: hover) and (pointer: fine) {
.cf7-tkd__submit .wpcf7-submit:hover {
  background-position: right center;
}}

.cf7-tkd .wpcf7-not-valid-tip {
  margin-top: 8px;
  font-size: 13px;
}

.cf7-tkd .wpcf7-spinner {
  margin: 12px 0 0;
}

.cf7-tkd .wpcf7-response-output {
  margin: 20px 0 0 !important;
  padding: 12px 16px !important;
  font-size: clamp(12px, 1.2vw, 14px);
}


@media (hover: hover) and (pointer: fine) {
.cf7-tkd input[type="text"]:hover,
.cf7-tkd input[type="email"]:hover,
.cf7-tkd textarea:hover,
.cf7-tkd input[type="text"]:focus,
.cf7-tkd input[type="email"]:focus,
.cf7-tkd textarea:focus {
  /* box-shadow: 5px 10px 10px -15px black; */

  outline: 1px solid transparent;
  border: 1px solid;

  border-image: linear-gradient(6.57deg,
      #35BDE2 27.54%,
      #557BB0 38.58%,
      #75549A 49.62%,
      #E8443B 61.38%,
      #ED683B 72%,
      #F7A416 79.61%) 1;
}}

/* MAP */

.contact-section__map {
  width: 100%;
  margin: 80px auto 0;
}

.contact-section__map iframe {
  width: 100%;
  height: 420px;
  display: block;
}


.cf7-popup {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s ease;
  z-index: 9999;
}

.cf7-popup.is-active {
  opacity: 1;
  visibility: visible;
}

.cf7-popup__inner {
  background: #fff;
  padding: 32px 24px;
  border-radius: 12px;
  text-align: center;
  max-width: 400px;
  width: calc(100% - 32px);
}

.cf7-popup__text {
  margin: 0 0 16px;
  font-size: clamp(15px, 1.4vw, 18px);
  color: black;
}

.cf7-popup__close {
  border: none;
  background: linear-gradient(90deg, #35BDE2 0%, #75549A 100%);
  color: #fff;
  padding: 12px 24px;
  cursor: pointer;
  font-size: 16px;
}

/* TABLET */

@media (min-width: 768px) and (max-width: 1024px) {

  .contact-section__inner {
    width: min(100% - 48px, 1380px);
    display: flex;
    flex-direction: column;
    gap: 70px;
  }

  .trial-block__body {
    min-height: auto;
    padding-right: 0;
  }

  .trial-block__title {
    margin-bottom: 20px;
  }

  .trial-block__bg-kick {
    right: 20px;
    top: 40px;
    height: 460px;
  }

  .trial-block__cta {
    margin-top: 20px;
  }

  .contact-block__head {
    gap: 50px;
    margin-bottom: 0;
  }

  .contact-block__title {
    margin-bottom: 0px;
    width: 40%;
    min-width: 30%;
  }

  .contact-block__lead {
    width: 70%;
  }

  .contact-block__title-wave {
    right: 0;
    width: 220px;
  }

  .contact-block__title-text {
    right: 24px;
  }

  .contact-section__map {
    width: min(100% - 48px, 1380px);
    margin-top: 60px;
  }

  .trial-block__button {
    font-size: 1.7rem;
    min-width: 240px;
    padding: 10px;
  }

  .cf7-tkd input[type="text"],
  .cf7-tkd input[type="email"] {
    height: 50px;
    font-size: clamp(12px, 1.2vw, 14px);
  }

  .contact-section__map iframe {

    height: 270px;
  }

  .cf7-tkd__submit .wpcf7-submit {
    font-size: 1.7rem;
  }
}

/* MOBILE */

@media (max-width: 767px) {
  .contact-section__inner {
    gap: 100px;
    flex-direction: column;
    display: flex;
  }

  .trial-block__body {
    padding-right: 0;
  }

  .trial-block__title {
    min-height: 150px;
    margin-bottom: 28px;
  }

  .trial-block__title-wave {
    width: 130px;
  }

  .trial-block__title-text {
    left: 15%;
    top: 21%;
  }

  .trial-block__jp {
    font-size: clamp(36px, 10.9vw, 56px);
  }

  .trial-block__en {
    margin-top: -10px;
    font-size: clamp(22px, 5.4vw, 30px);
  }

  .trial-block__text {
    line-height: 2;
  }

  .trial-block__cta {
    margin-top: 36px;
  }

  .trial-block__button {
    min-width: stretch;
    padding: 12px;
    font-size: 24px;
    display: flex;
  }

  .trial-block__bg-kick {
    top: 40px;
    right: -20px;
    height: 420px;
  }

  .contact-block__head {
    flex-direction: column;
  }

  .contact-block__lead {
    order: 2;
  }



  .contact-block__title {
    min-height: 100px;
    order: 1;
    text-align: center;
    display: flex;
    justify-content: center;
  }

  .contact-block__title-wave {
    width: 250px;
    top: 28px;
  }

  .contact-block__title-text {
    right: auto;
    left: auto;
  }


  .contact-block__en {
    margin-top: 0px;
  }

  .cf7-tkd__row--two {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .cf7-tkd input[type="text"],
  .cf7-tkd input[type="email"] {
    height: 50px;
    padding: 0 16px;
    font-size: 13px;
  }

  .cf7-tkd textarea {
    min-height: 200px;
    padding: 16px;
    font-size: 13px;
  }

  .cf7-tkd__submit .wpcf7-submit {
    padding: 12px;
    font-size: 24px;
  }

  .contact-section__map {
    margin-top: 40px;
  }

  .contact-section__map iframe {
    height: 300px;
  }
}



/* =========================
  Footer
========================= */


.fixed-footer.sp {
  display: none;
}

.footer-cont {
  max-width: 1400px;
  padding: 0 2.5%;
  margin: 0 auto;
  margin: 0 auto;
  padding: 3% 0 0 0;
}

footer {
  align-items: center;
  font-family: 'VetoSans', 'Josefin Sans';
  font-weight: 400;
  font-style: normal;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}


.row {
  display: flex;
  justify-content: space-between;

  /* flex-wrap: wrap; */
}

ul {
  list-style: none;
}

.footer {
  background-color: #24262b;
  padding: 70px 0;
  margin-bottom: 5%;
}


.footer-col h4 {
  font-size: clamp(16px, 1.6rem, 32px);
  color: white;
  text-transform: capitalize;
  margin-bottom: 35px;
  font-weight: 500;
  position: relative;
  z-index: -1;
  overflow: visible;
  text-shadow: 0px 0px 2px black;
}

.footer-col h4::before {
  content: "";
  position: absolute;
  width: 120px;
  height: 20px;
  background: url("../images/wave4.png") center / contain no-repeat;
  left: 0;
  top: 45%;
  z-index: -1;
}

.footer-col ul li:not(:last-child) {
  margin-bottom: 20px;
}

/* .footer-col ul li a {
  font-size: 16px;
  text-transform: capitalize;
  color: black;
  text-decoration: none;
  font-weight: 300;
  display: block;
  transition: all 0.3s ease;
}

.footer-col ul li a:hover {
  padding-left: 8px;
} */

.footer-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-nav__list li {
  margin: 0 0 12px;
}

.footer-nav__list a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: black;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  font-family: "VetoSans", "Josefin Sans", sans-serif;
  transition: color 0.3s ease;
  min-height: 1.5em;
  overflow: hidden;
}

/* English text */
.footer-nav__list a span {
  display: inline-block;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    filter 0.35s ease;
}

/* Japanese text */
.footer-nav__list a::before {
  content: attr(data-jp);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, 130%);
  opacity: 0;
  filter: blur(6px);
  white-space: nowrap;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 0.8rem;
  transition:
    transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    filter 0.35s ease;
  background-image: linear-gradient(to right,
      #35BDE2 27.54%,
      #557BB0 38.58%,
      #75549A 49.62%,
      #E8443B 61.38%,
      #ED683B 72%,
      #F7A416 79.61%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: left;
}

/* underline */
.footer-nav__list a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg,
      #35BDE2 0%,
      #557BB0 20%,
      #75549A 40%,
      #E8443B 65%,
      #ED683B 82%,
      #F7A416 100%);
  transition: width 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
/* hover animation */
.footer-nav__list a:hover span {
  transform: translateY(-130%);
  opacity: 0;
  filter: blur(6px);
}

.footer-nav__list a:hover::before {
  transform: translate(-50%, -50%);
  opacity: 1;
  filter: blur(0);
}

.footer-nav__list a:hover::after {
  width: 100%;
}
}
/* Fix overflow clipping */
.footer-nav__list a {
  overflow: visible;
  /* was: hidden */
}

/* Japanese text - left aligned */
.footer-nav__list a::before {
  left: 0;
  /* was: 50% */
  transform: translateY(130%);
  /* was: translate(-50%, 130%) */
}

@media (hover: hover) and (pointer: fine) {
.footer-nav__list a:hover::before {
  transform: translateY(-50%);
  /* was: translate(-50%, -50%) */
}}
.footer-col .social-links a {
  display: inline-block;
  height: 50px;
  width: 50px;
  background: transparent;
  margin: 0 10px 10px 0;
  text-align: center;
  line-height: 50px;
  border: solid 1px;
  color: black;
  transition: all 0.5s ease;
  font-size: 1.2rem;
  border-image: linear-gradient(6.57deg, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 72%, #F7A416 79.61%) 1;
}

@media (hover: hover) and (pointer: fine) {
.footer-col .social-links a:hover {
  color: white;
  background: linear-gradient(6.57deg, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 72%, #F7A416 79.61%);
}}

.footer_logo {
  width: 100%;
  max-width: 140px;
}



.logo2 a {
  display: flex;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.copyright {
  display: flex;
  justify-content: center;
  padding-top: 3%;
  font-family: 'VetoSans', 'Josefin Sans';
  ;
  font-weight: 400;
  font-style: normal;
  width: 100%;

}

.copyright p {
  margin-left: 0.5%;
}


.mfp-close {
  color: transparent !important;
}

.copyright_txt {
  padding-bottom: 2%;
  margin-left: 5px;
  font-size: clamp(13px, 1.1vw, 15px);
}

@media (max-width: 1024px) {


  .fixed-footer.sp {
    display: flex;
    flex-direction: column;
  }

  .fixed-footer.pc {
    display: none;
  }

  .footer-col {
    padding: 0 15px;
  }

  .footer-cont .row {
    display: flex;
    justify-content: space-around;
  }

  .footer-col h4::before {
    content: "";
    width: 110px;
    height: 13vw;
    background: url(../images/wave4.png) center 6px / contain no-repeat;
    position: absolute;
    left: -4%;
    z-index: -2;
    overflow: visible;
  }

  .followus {
    margin-top: 20%;
  }

  .footer-col ul li:not(:last-child) {
    margin-bottom: 20px;
  }

  .footer-col ul li a {
    font-size: clamp(12px, 1.2vw, 16px);
    text-transform: capitalize;
    line-height: 1.5;
    color: black;
    text-decoration: none;
    font-weight: 300;
    display: block;
    transition: all 0.3s ease;
  }
  @media (hover: hover) and (pointer: fine) {

  .footer-col ul li a:hover {
    padding-left: 8px;
  }
  }

  .footer-col .social-links a,
  .drawer_logos.social-links a {
    display: inline-block;
    height: 40px;
    width: 40px;
    background: transparent;
    text-align: center;
    line-height: 41px !important;
    border: solid 1px;
    color: black;
    transition: all 0.5s ease;
    font-size: 2.5vw;
    border-image: linear-gradient(6.57deg, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 71.9%, #F7A416 79.61%) 1;
  }

  .footer-col .social-links a {
    margin: 0 15px 15px 0;
  }
@media (hover: hover) and (pointer: fine) {
  .footer-col .social-links a:hover {
    color: white;
    background: linear-gradient(6.57deg, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 71.9%, #F7A416 79.61%);
  }
}
  .footer_logo {
    width: 130px;
    max-width: 100%;
  }

  .logo2 {
    display: flex;
    justify-content: center;
  }

  .logo2 a {
    justify-content: flex-start;
  }

  .copyright {
    margin: 5% 0;
  }

  .footer_sp2 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .logolink {
    display: flex;
  }

  .footer-cont {
    padding: 7% 0 0 0;
    width: 100%;
  }


}

@media (max-width: 767px) {

  .social-links {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    gap: 10px;
  }

  .footer-col .social-links a {
    margin: 0 5px 5px 0;
  }

  .footer-col .social-links a {
    font-size: 14px;
  }

  .copyright {
    margin: 10% 0;
  }

  .footer-cont {
    padding: 7% 5% 0 5%;
    width: stretch;
  }

}

/* =========================
 Free trial
========================= */

.free-trial-page{
  padding: 5% 5% 10% 5%;
}

.page__title {
  text-shadow: 0px 0px 2px white;
  position: relative;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 400;
  font-size: clamp(34px, 10vw, 50px);
  text-align: center;
  margin-bottom: 5%;
}

.page__title:before {
  content: '';
  position: absolute;
  background: url(../images/wave4.png) center center / contain no-repeat;
  width: 100%;
  height: 3vh;
  z-index: -1;
  left: 0;
  top: 41%;
}

.free-trial-page__lead {
  margin-bottom: 3%;
  text-align: center;
  font-size: clamp(14px, 1.1vw, 15px);
}

.trial-form-ui {
  margin: 0 auto;
  width: 60%;
}

.trial-form-ui__group {
  margin-bottom: 5%;
}

.trial-form-ui__label {
  display: block;
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  display: flex;
  justify-content: flex-start;
  align-items: end;
  margin-bottom: 10px;
}

.trial-form-ui__label span {
  color: #ff4a57;
}

.trial-form-ui__label small {
  display: inline-block;
  margin-left: 10px;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 400;
  color: black;
}

.trial-form-ui__input {
  height: 60px;
}

.trial-form-ui__input,
.trial-form-ui__textarea,
.trial-form-ui input[type="text"],
.trial-form-ui input[type="email"],
.trial-form-ui input[type="tel"],
.trial-form-ui input[type="date"],
.trial-form-ui input[type="number"],
.trial-form-ui textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d4d4d4;
  color: black;
  font-size: clamp(12px, 1.2vw, 14px);
  padding: 15px;
  outline: none;
  border-radius: 0;
  transition: 0.2s ease;
}

.trial-form-ui__textarea,
.trial-form-ui textarea {
  min-height: 280px;
  resize: vertical;
}

.trial-form-ui__input::placeholder,
.trial-form-ui__textarea::placeholder,
.trial-form-ui input::placeholder,
.trial-form-ui textarea::placeholder {
  color: #b7bcc7;
  opacity: 1;
}

.trial-form-ui__input:focus,
.trial-form-ui__textarea:focus,
.trial-form-ui input:focus,
.trial-form-ui textarea:focus {
  border: 1px solid;
  border-image: linear-gradient(90deg, #35BDE2 0%, #75549A 100%) 1;
  background: #fff;
}

.trial-form-ui__radios {
  padding-top: 8px;
}

.trial-form-ui__radios .wpcf7-list-item {
  margin: 0 48px 0 0;
}

.trial-form-ui__radios .wpcf7-list-item-label {
  font-size: clamp(15px, 1.4vw, 18px);
  color: black;
  margin-left: 10px;
}

.wpcf7-list-item label {
  display: flex;
  justify-content: center;
  align-items: center;
}

.wpcf7-list-item label input {
  margin: 0;
}

.trial-form-ui__radios input[type="radio"] {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

.trial-form-ui__submit {
  margin-top: 24px;
}

.trial-form-ui__submit input[type="submit"] {
  width: 100%;
  border: none;
  padding: 15px;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  background-image: linear-gradient(to right,
      #35BDE2 0%,
      #557BB0 35%,
      #75549A 55%,
      #E8443B 75%,
      #ED683B 88%,
      #F7A416 100%);
  background-size: 200% auto;
  transition: background-position 0.4s ease;
  transition: 0.25s ease;
  font-family: 'VetoSans', 'Josefin Sans';
}
@media (hover: hover) and (pointer: fine) {
.trial-form-ui__submit input:hover {
  background-position: right center;
}
}

.trial-form-ui .wpcf7-not-valid-tip {
  margin-top: 8px;
  color: #e53935;
  font-size: clamp(12px, 1.2vw, 14px);
}

.far.fa-copyright {
  margin-top: -2px;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .trial-form-ui {
    width: 100%;
  }

  .trial-form-ui__input {
    height: 50px;
  }

  .free-trial-page__lead {
    margin-bottom: 8%;
  }

  .trial-form-ui__submit input[type="submit"] {
    padding: 10px;
  }

  .free-trial-page {
    padding: 7% 0;
  }

  .free-trial-page__form {
    padding: 5%;
  }
}


@media (max-width: 767px) {

.free-trial-page{
  padding: 20% 5%;
}

  .trial-form-ui {
    width: 100%;
  }

  .free-trial-page__lead {
    line-height: 1.6;
    margin-bottom: 10%;
  }

  .trial-form-ui__label {
    font-size: 16px;
  }

  .trial-form-ui__input,
  .trial-form-ui__textarea,
  .trial-form-ui input[type="text"],
  .trial-form-ui input[type="email"],
  .trial-form-ui input[type="tel"],
  .trial-form-ui input[type="date"],
  .trial-form-ui input[type="number"],
  .trial-form-ui textarea {
    font-size: 13px;
    padding: 10px;
    height: 50px;
  }

  .trial-form-ui__radios .wpcf7-list-item {
    display: block;
    margin: 0 0 16px;
  }

  .trial-form-ui__radios .wpcf7-list-item-label {
    font-size: clamp(15px, 1.4vw, 18px);
  }

  .trial-form-ui__submit input[type="submit"] {
    font-size: 22px;
    padding: 10px;
  }

  .wpcf7-form-control.wpcf7-radio {
    display: flex;
    gap: 20px;
  }

  .free-trial-page__form {
    padding: 0%;
  }
}

/* ============================= */
/* Membership rules */
/* ============================= */

.legal-page__layout {
  display: flex;
  align-items: flex-start;
  gap: 80px;
}

.legal-page__main {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 80%;
}

.legal-page__sidebar {
  flex: 0 0 320px;
  width: 20%;
}


.legal-page__article h2 {
  margin: 0 0 40px;
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  
}

.legal-page__article h3 {
  margin: 48px 0 18px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}

.legal-page__article p {
  margin: 0 0 22px;
  font-size: clamp(13px, 1.1vw, 15px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.02em;
}

.legal-page__article ul {
  margin: 0 0 24px;
  padding-left: 1.5em;
  list-style: disc;
}

.legal-page__article ol {
  margin: 0 0 24px;
  padding-left: 1.5em;
}

.legal-page__article li {
  margin-bottom: 8px;
  font-size: clamp(13px, 1.1vw, 15px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.02em;
}

.legal-page__article li:last-child {
  margin-bottom: 0;
}

.legal-page__article strong,
.legal-page__article b {
  font-weight: 700;
}

.legal-page__article a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

@media (hover: hover) and (pointer: fine) {
.legal-page__article a:hover {
  opacity: 0.7;
}}

.legal-page__article br {
  content: "";
}

.legal-page__details {
  position: sticky;
  top: 120px;
}

.legal-page__details-title {
  margin: 0 0 28px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.legal-page__detail-item {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5e5e5;
  color: black;
}

.legal-page__detail-item h3 {
  margin: 0 0 8px;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.legal-page__detail-item p {
  margin: 0;
  font-size: clamp(12px, 1.2vw, 14px);
  font-weight: 400;
  line-height: 2;
}

.legal-page__detail-item a {
  color: black;
}

/* CTA */
.legal-page__cta {
  margin-top: 28px;
}

.legal-page__cta a {
  display: block;
  padding: 16px 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  background-image: linear-gradient(to right,
      #35BDE2 0%,
      #557BB0 35%,
      #75549A 55%,
      #E8443B 75%,
      #ED683B 88%,
      #F7A416 100%);
  background-size: 200% auto;
  transition: background-position 0.4s ease;
  transition: 0.25s ease;
}

@media (hover: hover) and (pointer: fine) {
.legal-page__cta a:hover {
  background-position: right center;
}}

.legal-page-det-items{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 1024px) {
  .legal-page__layout {
    flex-direction: column;
    gap: 48px;
  }

  .legal-page__main {
    max-width: none;
  }

  .legal-page__sidebar {
    width: 100%;
    flex: 0 0 auto;
  }

  .legal-page__details {
    position: static;
  }

    .legal-page__article h2 {
      text-align: center;
    }

    .legal-page__detail-item{
      border-bottom: none;
    }
    
}

@media (max-width: 767px) {
  .legal-page {
    padding: 50px 0;
  }

  /* .legal-page .container {
    padding: 0 16px;
  } */

  .page__title {
    margin-bottom: 40px;
    font-size: 32px;
  }

  .legal-page__layout {
    gap: 36px;
  }

  .legal-page__article h2 {
    margin-bottom: 28px;
    text-align: center;
  }

  .legal-page__article h3 {
    margin: 36px 0 14px;
    font-size: clamp(15px, 1.4vw, 18px);
  }

  .legal-page__article p,
  .legal-page__article li {
    font-size: clamp(12px, 1.2vw, 14px);
    line-height: 2;
  }

  .legal-page__details-title {
    font-size: 16px;
  }

  .legal-page__detail-item h3 {
    font-size: 12px;
  }

  .legal-page__detail-item p {
    font-size: 13px;
  }

  .legal-page__cta a {
    padding: 15px 18px;
  }

    .legal-page__detail-item{
      border-bottom: none;
    }
}

/* =========================
 Column
========================= */

/* 
.column-page .container {
  margin: 0 auto;
  padding: 0;
} */

.column-page__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 00px;
}

.column-page__title-image img {
  display: block;
  max-width: 260px;
  width: 100%;
  height: auto;
}

.column-page__search {
  flex-shrink: 0;
}

#searchInput,
.column-page__search input[type="search"],
.column-page__search input[type="text"] {
  width: 260px;
  height: 46px;
  padding: 0 16px;
  border: 1px solid #cfcfcf;
  background: #fff;
  color: black;
  font-size: 16px;
  outline: none;
  box-sizing: border-box;
  transition: 0.2s ease;
}

#searchInput:focus,
.column-page__search input[type="search"]:focus,
.column-page__search input[type="text"]:focus {
  border: 1px solid;
  border-image: linear-gradient(6.57deg,
      #35BDE2 27.54%,
      #557BB0 38.58%,
      #75549A 49.62%,
      #E8443B 61.38%,
      #ED683B 72%,
      #F7A416 79.61%) 1;
}

.column-page__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 56px 28px;
}

.column-card {
  display: block;
  color: black;
  text-decoration: none;
}

.column-card__thumb {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 2.5;
  background: #ddd;
}

.column-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
@media (hover: hover) and (pointer: fine) {
.column-card:hover .column-card__thumb img {
  transform: scale(1.04);
}}

.column-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  margin-bottom: 16px;
}

.column-card__category {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 80px;
  padding: 7px;
  border: 1px solid transparent;
  border-image: linear-gradient(6.57deg,
      #35BDE2 27.54%,
      #557BB0 38.58%,
      #75549A 49.62%,
      #E8443B 61.38%,
      #ED683B 72%,
      #F7A416 79.61%) 1;
  font-size: 12px;
  font-weight: 600;
  color: black;
  background: #fff;
  line-height: 1;
  white-space: nowrap;
}

.column-card__date {
  font-size: 13px;
  font-weight: 700;
  color: black;
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.column-card__title {
  margin: 0 0 14px;
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 500;
  line-height: 1.45;
  color: black;
}

.column-card__title a {
  color: black;
  text-decoration: none;
}

.column-card__excerpt {
  margin: 0;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 1.8;
  color: black;
}
@media (hover: hover) and (pointer: fine) {
.column-card:hover .column-card__title a {
  background: -webkit-linear-gradient(6.57deg, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 72%, #F7A416 79.61%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
}


.m_paginations,
.pagination {
  margin-top: 60px;
  text-align: center;
}

.m_paginations a,
.m_paginations span,
.pagination a,
.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 4px;
  border: 1px solid #ddd;
  background: #fff;
  color: black;
  text-decoration: none;
  font-size: clamp(12px, 1.2vw, 14px);
  transition: 0.2s ease;
}

.m_paginations .current,
.pagination .current {
  border: 1px solid transparent;
  border-image: linear-gradient(6.57deg,
      #35BDE2 27.54%,
      #557BB0 38.58%,
      #75549A 49.62%,
      #E8443B 61.38%,
      #ED683B 72%,
      #F7A416 79.61%) 1;
}

@media (max-width: 1100px) {
  .column-page__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .column-page {
    padding: 40px 0 60px;
  }

  /* .column-page .container {
    padding: 0 16px;
  } */

  .column-page__head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 40px;
  }

  .column-page__search {
    width: 100%;
  }

  #searchInput,
  .column-page__search input[type="search"],
  .column-page__search input[type="text"] {
    width: 100%;
  }

  .column-page__grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
}

.column-card__excerpt {
  margin: 0;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 1.8;
  color: black;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Article */

.article-page {
  padding: 0px 0 100px;
}

/* head */
.article-page__head {
  margin-bottom: 5%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.article-page__title-image img {
  display: block;
  max-width: 260px;
  width: 100%;
  height: auto;
}

.article-page__head .page__title {
  margin-bottom: 0;
}

.article-page__nav {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 700;
  color: black;
}

.article-page__nav a {
  color: black;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
.article-page__nav a:hover {
  opacity: 0.7;
}}

.article-page__arrow {
  font-size: 32px;
  line-height: 1;
}

/* layout */
.article-page__layout {
  display: flex;
  gap: 80px;
  align-items: flex-start;
}

.article-page__main {
  flex: 1;
  max-width: 80%;
}

.article-page__sidebar {
  width: 240px;
  flex-shrink: 0;
}

/* article */
.article-page__title {
  margin: 0 0 36px;
  font-size: clamp(18px, 1.8vw, 28px);
  font-weight: 600;
  line-height: 1.5;

}

.article-page__thumb {
  margin-bottom: 28px;
}

.article-page__thumb img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: cover;
}

.article-page__content figure {
  margin-bottom: 2% !important;
}


.article-page__content p {
  margin: 0 0 18px;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 2;

}

.article-page__content h2 {
  margin: 40px 0 18px;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.5;
  width: auto;
}

.article-page__content h3 {
  margin: 32px 0 16px;
  font-size: 17px;
  line-height: 1.5;

}

.article-page__content h4 {
  margin: 20px 0 15px;
  font-size: 16px;
}

.article-page__content ul,
.article-page__content ol {
  margin: 0 0 20px;
  padding-left: 1.5em;
  list-style: disc;
}

.article-page__content li {
  margin-bottom: 8px;
  font-size: clamp(13px, 1.1vw, 15px);
  line-height: 2;

}

.article-page__content img {
  max-width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: cover;
}

/* sidebar */
.article-page__details {
  position: sticky;
  top: 120px;
}

.article-page__details-title {
  margin: 0 0 28px;
  font-size: clamp(15px, 1.4vw, 18px);
  font-weight: 700;
  line-height: 1.3;

}

.article-page__detail-item {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e5e5e5;
}

.article-page__detail-item h3 {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;

}

.article-page__detail-item p {
  margin: 0;
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 2;

}

.article-page__layout a {
  text-decoration: underline;
  background-color: red;
  background-image: linear-gradient(to right, #35BDE2 27.54%, #557BB0 38.58%, #75549A 49.62%, #E8443B 61.38%, #ED683B 72%, #F7A416 79.61%);
  background-size: 100%;
  background-repeat: repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.article-page__nav {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 20px;
}

.article-page__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: black;
}

/* 矢印 */
.article-page__arrow {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid black;
  border-right: 2px solid black;
}

/* → */
.article-page__arrow--right {
  transform: rotate(45deg);
}

/* ← */
.article-page__arrow--left {
  transform: rotate(-135deg);
}

.fist {
  position: relative;
  padding-left: 30px;
  margin-bottom: 1em;
  font-weight: 700;
  line-height: 1.6;
  width: 100%;
}

.fist::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url('../images/fist.svg') no-repeat center / contain;
}

/* responsive */
@media (max-width: 1024px) {
  .article-page__layout {
    flex-direction: column;
    gap: 48px;
  }

  .article-page__sidebar {
    width: 100%;
  }

  .article-page__details {
    position: static;
  }

  .article-page__main {
    width: auto;
    max-width: 100%;
  }

  .article-page__thumb img {
    max-height: 350px;
  }

  .article-page__detail-item {
    border-bottom: none;
  }
}

@media (max-width: 767px) {
  .article-page {
    padding: 10% 0 ;
  }

  .article-page__head {
    margin-bottom: 40px;
  }

  .article-page__nav {
    flex-wrap: wrap;
    gap: 10px;
    font-size: 16px;
  }

  .article-page__title {
    margin-bottom: 20px;
  }

  .article-page__content p,
  .article-page__content li {
    font-size: clamp(12px, 1.2vw, 14px);
    line-height: 2;
  }
}


.belt_table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 4%;
}

.belt_table th,
.belt_table td {
  border: 1px solid #000;
  padding: 10px;
}

.belt_table th {
  text-align: center;
  font-size: clamp(12px, 1.2vw, 14px);
}

.belt_table td {
  font-size: clamp(12px, 1.2vw, 14px);
  vertical-align: middle !important;
}

.belt_table tr td:first-child,
.belt_table tr td:nth-child(2) {
  width: 90px;
  text-align: center;
}

.belt_img {
  width: 100%;
  display: block;
}

.image-cell {
  width: 12%;
  min-width: 100px;
}

td.merged-cell {
  vertical-align: middle !important;
}

@media screen and (min-width: 601px) {
  .belt_table.sp {
    display: none;
  }
}

/* Responsive styles */
@media screen and (max-width: 600px) {
  .belt_table.pc {
    display: none;
  }

  .belt_table tr td:first-child,
  .belt_table tr td:nth-child(2) {
    width: 30%;
    text-align: center;
  }

  .belt_table.sp {
    margin-bottom: 10% !important;
  }

  .belt_table,
  .belt_table thead,
  .belt_table tbody,
  .belt_table tr {
    display: block;
  }

  .belt_table.sp th {
    display: none;
  }

  /* Configure cells to be full width */
  .belt_table.sp tr td {
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    box-sizing: border-box;
  }

  /* Display the first three cells inline */
  .belt_table.sp td:not(.merged-cell) {
    /* width: 33.333%; */
    display: inline-block;
  }

  /* Merged cells appear as a separate block under each row */
  .merged-cell {
    width: 100%;
    display: block;
    padding: 15px;
    padding-bottom: 10px;
    text-align: justify;
    /* Add border to merged-cell for visual grouping */
    border-bottom: 1px solid black !important;
  }

  /* Ensure images scale down */
  .image-cell {
    width: 100%;
    height: auto;
    max-width: 100px;
    margin-left: 5px;
  }

  .belt_table.sp tr:first-child {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-right: 1px solid black;
  }

  .belt_table.sp tr {
    border-left: 1px solid black;
    border-right: 1px solid black;
  }

  .image-cell {
    width: 100%;
    min-width: 120px;
  }


  .belt_img {
    width: 100%;
  }
}

/* CF7 Settings */

/* Hide default CF7 response output box */
.wpcf7-response-output {
  display: none !important;
}

/* Hide the loading spinner */
.wpcf7-spinner {
  display: none !important;
}

.cf7-thankyou-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.cf7-thankyou-popup.is-show {
  display: block;
}

.cf7-thankyou-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}

.cf7-thankyou-popup__box {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(90%, 420px);
  transform: translate(-50%, -50%);
  background: #fff;
  padding: 40px 30px;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}

.cf7-thankyou-popup__title {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  color: black;
}

.cf7-thankyou-popup__text {
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.8;
}

.cf7-thankyou-popup__close {
  min-width: 180px;
  padding: 14px 20px;
  border: none;
  background-image: linear-gradient(to right, #35BDE2 0%, #557BB0 35%, #75549A 55%, #E8443B 75%, #ED683B 88%, #F7A416 100%);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  font-family: 'VetoSans', 'Josefin Sans';
}



@media (max-width: 767px) {
  .cf7-thankyou-popup__box {
    width: 80%;
        padding: 40px 20px;font-family: 'VetoSans', 'Josefin Sans';
}}


/* Q&A */

.qa-section {
  padding: 80px 0 10% 0;
  max-width: 1400px;
}

.qa-section__inner {
  margin: 0 auto;
}

.qa-section__title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5%;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.08em;
}

.qa-section__title-wave {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 250px;
  height: auto;
  transform: translate(-50%, -20%);
  z-index: -1;
}

.qa-section__title-text {
  text-align: right;
}

.qa-section__jp {
  margin: 0;
  font-size: clamp(44px, 4.4vw, 55px);
  font-family: "hot-gyoshokk", sans-serif;
  font-weight: 400;
  color: #fff;
  text-shadow: 0px 0px 7px black;
  line-height: 1;
}

.qa-section__en {
  margin: -12px 0 0;
  font-family: "battery-park", sans-serif;
  font-size: clamp(26px, 2vw, 38px);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: black;
  text-align: center;
}

.qa-accordion {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding: 0 5%;
  align-items: start;
  width: 100%;
}

.qa-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.qa-item {
  width: 100%;
  border: 1px solid #d7dce5;
  overflow: hidden;
  background: #fff;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.qa-item__question {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 24px;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  min-height: 95px;
  width: 100%;
}

.qa-item__q {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background-image: linear-gradient(to right, #35BDE2 0%, #557BB0 35%, #75549A 55%, #E8443B 75%, #ED683B 88%, #F7A416 100%);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}

.qa-item__text {
  flex: 1;
      font-size: clamp(13px, 2vw, 16px);
  font-weight: 500;
  line-height: 1.6;
  color: black;
}

.qa-item__icon {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.qa-item__icon::before,
.qa-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: linear-gradient(90deg, #35BDE2 0%, #557BB0 20%, #75549A 40%, #E8443B 65%, #ED683B 82%, #F7A416 100%);
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.qa-item__icon::before {
  width: 18px;
  height: 2px;
}

.qa-item__icon::after {
  width: 2px;
  height: 18px;
}

.qa-item.is-open .qa-item__icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}

.qa-item__answer-wrap {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}

.qa-item__answer {
  padding: 0 24px 24px;
}

.qa-item__answer p {
  margin: 0 0 14px;
  font-size: clamp(12px, 1.7vw, 14px);
  line-height: 1.9;
}

.qa-item__answer p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .qa-section {
    padding: 10% 0 20% 0;
  }

  .qa-accordion {
    grid-template-columns: 1fr;
  }

  .qa-item__question {
    padding: 18px 16px;
    gap: 12px;
    min-height: 70px;
  }

  .qa-item__q {
    width: 32px;
    height: 32px;
    font-size: 14px;
  }

  .qa-item__answer {
    padding: 0 16px 18px;
  }

  .qa-item__answer p {
    line-height: 1.8;
  }

  
}

@media (max-width: 767px) {
 .qa-section__title{ margin-bottom: 10%;}
}