/* =========================================
   Reset
========================================= */
*,
*::before,
*::after {
  box-sizing: border-box; }

/* =========================================
   Base
========================================= */
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth; }

body {
  margin: 0;
  line-height: 1.6;
  text-rendering: optimizeLegibility; }

/* =========================================
   Typography
========================================= */
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0; }

/* =========================================
   Lists
========================================= */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* =========================================
   Media
========================================= */
img,
picture {
  max-width: 100%;
  height: auto;
  display: block; }

svg {
  display: block; }

/* =========================================
   Links
========================================= */
a {
  text-decoration: none;
  color: inherit; }

/* =========================================
   Forms
========================================= */
input,
button,
textarea,
select {
  font: inherit;
  color: inherit; }

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer; }

/* =========================================
   Tables
========================================= */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* =========================================
   Accessibility
========================================= */
[hidden] {
  display: none; }

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #444444;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0;
  overflow-x: hidden;
  max-width: 2520px; }

.u-din {
  font-family: "DIN 2014", sans-serif; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9); }

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1440px;
  margin-inline: auto;
  padding: 16px 40px; }
  @media (320px <= width <= 1259px) {
    .header__inner {
      padding: 16px 24px; } }

.header__logo {
  display: block;
  flex-shrink: 0; }

.header__logo img {
  display: block;
  width: 180px;
  height: 59px; }
  @media (320px <= width <= 1259px) {
    .header__logo img {
      width: 128px;
      height: initial; } }

@media (320px <= width <= 1259px) {
  .header__nav {
    width: 100%; } }

.header__nav-area {
  display: flex;
  align-items: center;
  gap: 40px; }
  @media (320px <= width <= 1259px) {
    .header__nav-area {
      position: fixed;
      top: 0;
      left: 0;
      display: flex;
      flex-direction: column;
      width: 100%;
      height: 100vh;
      background: #fff;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-20px);
      transition: all .3s ease; } }
  @media (320px <= width <= 1259px) {
    .header__nav-area.is-open {
      transform: translateY(0);
      opacity: 1;
      visibility: visible;
      padding-top: 80px; } }

.header__nav-list {
  display: flex;
  align-items: center;
  gap: 36px; }
  @media (320px <= width <= 1259px) {
    .header__nav-list {
      gap: 0;
      flex-direction: column;
      text-align: center; } }

@media (320px <= width <= 1259px) {
  .header__nav-list li {
    width: 100%; } }
@media (320px <= width <= 1259px) {
  .header__nav-list li:last-child a {
    border-bottom: 2px solid #ff7d11; } }

.header__nav-list a {
  font-weight: 700;
  color: #444444;
  transition: opacity .2s; }
  @media (320px <= width <= 1259px) {
    .header__nav-list a {
      display: block;
      width: 100%;
      border-top: 2px solid #ff7d11;
      padding-block: 16px; } }
  .header__nav-list a:hover {
    opacity: .7; }

.header__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  gap: 12px;
  padding: 16px 14px 16px 24px;
  background-color: #ff7d11;
  border-radius: 32px;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: .04em;
  transition: opacity .2s; }
  .header__btn:hover {
    opacity: .8; }

.header__btn-icon {
  display: inline-flex;
  width: 6px;
  height: 9px; }

.header__btn-icon svg {
  width: 100%;
  height: 100%; }

.header-hamburger {
  display: none; }
  @media (320px <= width <= 1259px) {
    .header-hamburger {
      position: fixed;
      top: 18px;
      right: 24px;
      width: 40px;
      height: 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 8px;
      background: transparent;
      border: none;
      cursor: pointer;
      z-index: 3000; } }
  .header-hamburger.is-active {
    gap: 0; }
    .header-hamburger.is-active .header-hamburger-line:nth-child(1) {
      transform: translateY(5px) rotate(45deg); }
    .header-hamburger.is-active .header-hamburger-line:nth-child(2) {
      opacity: 0; }
    .header-hamburger.is-active .header-hamburger-line:nth-child(3) {
      transform: translateY(0) rotate(-45deg); }
  @media (320px <= width <= 1259px) {
    .header-hamburger .header-hamburger-line {
      display: block;
      width: 40px;
      height: 2px;
      background-color: #ff7d11;
      transition: all 0.3s ease;
      transform-origin: center; } }

.is-menu-open .c-header {
  z-index: 1000; }
  .is-menu-open .c-header .c-header-nav {
    z-index: 2000; }

.footer {
  background: #000;
  padding-block: 56px 24px;
  color: #ffffff; }

.footer__inner {
  max-width: 1200px;
  margin-inline: auto; }
  @media (320px <= width <= 1259px) {
    .footer__inner {
      padding-inline: 24px; } }

.footer__main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 56px; }
  @media (320px <= width <= 1259px) {
    .footer__main {
      flex-direction: column;
      gap: 40px; } }

.footer__brand {
  display: flex;
  flex-direction: column;
  gap: 48px; }
  @media (320px <= width <= 1259px) {
    .footer__brand {
      gap: 40px; } }

.footer__identity {
  display: flex;
  flex-direction: column;
  gap: 32px; }
  @media (320px <= width <= 1259px) {
    .footer__identity {
      gap: 24px; } }

.footer__logo {
  width: 280px;
  height: auto; }

.footer__address {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  font-weight: 400;
  font-style: normal; }

.footer__sns {
  display: flex;
  align-items: center;
  gap: 16px; }

.footer__sns img {
  display: block;
  width: 20px;
  height: 20px; }

.footer__legal {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-size: 14px;
  font-weight: 400; }

.footer__nav {
  display: flex;
  gap: 100px; }
  @media (320px <= width <= 1259px) {
    .footer__nav {
      flex-direction: column;
      gap: 40px; } }

.footer__nav-col {
  display: flex;
  flex-direction: column;
  gap: 32px;
  font-weight: 700; }
  @media (320px <= width <= 1259px) {
    .footer__nav-col {
      gap: 24px; } }

.footer__nav-sub {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  font-weight: 400;
  line-height: 1.8; }

.footer__nav-sub li::before {
  color: #ffffff;
  content: '- '; }

.footer__address a,
.footer__legal a,
.footer__nav a {
  color: #ffffff;
  text-decoration: none;
  transition: opacity .2s; }
  .footer__address a:hover,
  .footer__legal a:hover,
  .footer__nav a:hover {
    opacity: .7; }

.footer__copyright {
  margin-top: 56px;
  font-size: 12px;
  font-weight: 400;
  color: #b7b7b7; }
  @media (320px <= width <= 1259px) {
    .footer__copyright {
      margin-top: 40px; } }

.follow__btn {
  position: fixed;
  right: 0;
  bottom: 40px;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #ffffff;
  text-align: center;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s, visibility .3s; }
  @media (320px <= width <= 1259px) {
    .follow__btn {
      bottom: 8px;
      font-size: 18px; } }
  .follow__btn.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto; }

.follow__btn a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 24px 32px;
  background-color: #ff7d11;
  border-radius: 12px 0 0 12px;
  box-shadow: 0 2px 25px rgba(0, 0, 0, 0.08);
  transition: opacity .2s; }
  @media (320px <= width <= 1259px) {
    .follow__btn a {
      padding: 16px;
      gap: 0; } }
  .follow__btn a:hover {
    opacity: .7; }

.follow__close {
  position: absolute;
  top: -12px;
  left: -12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  color: #333;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
  z-index: 500; }
  @media (320px <= width <= 1259px) {
    .follow__close {
      width: 32px;
      height: 32px; } }
  .follow__close:hover {
    transform: scale(1.1); }

.coming-soon {
  padding: 100px 20px 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  color: #fff;
  text-align: center; }

.coming-soon__inner {
  max-width: 720px;
  width: 100%; }

.coming-soon__label {
  margin-bottom: 20px;
  font-family: "Poppins", sans-serif;
  font-size: clamp(40px, 8vw, 96px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  color: #ff7d11; }

.coming-soon__title {
  margin-bottom: 20px;
  font-size: clamp(24px, 4vw, 40px);
  font-weight: 700;
  line-height: 1.5; }

.coming-soon__text {
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 2; }

.coming-soon__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 56px;
  padding: 0 32px;
  border-radius: 999px;
  background: #ff7d11;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .3s; }
  .coming-soon__btn:hover {
    opacity: .8; }

.hero {
  position: relative;
  width: 100%;
  height: 790px;
  background-image: url("../img/page/home/main_visual@2x.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }
  @media (320px <= width <= 1024px) {
    .hero {
      height: initial;
      background-image: url("../img/page/home/main_visual_sp@2x.jpg"); } }

.hero__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 56px;
  max-width: 1440px;
  height: 100%;
  margin-inline: auto;
  padding-left: 80px;
  box-sizing: border-box; }
  @media (320px <= width <= 1024px) {
    .hero__inner {
      align-items: center;
      width: 100%;
      margin-inline: 0;
      padding: 180px 24px 40px; } }

.hero__heading {
  display: flex;
  flex-direction: column;
  margin-top: 260px; }
  @media (320px <= width <= 1024px) {
    .hero__heading {
      margin-top: 0; } }

.hero__title {
  font-family: "DIN 2014", sans-serif;
  font-size: 140px;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 3px 3px 9px rgba(0, 0, 0, 0.35);
  line-height: 1; }
  @media (320px <= width <= 1024px) {
    .hero__title {
      width: 100%;
      max-width: 360px;
      text-align: center;
      font-size: 50px; } }

.hero__tagline {
  align-self: flex-start;
  margin-top: 24px;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
  color: #444444; }
  @media (320px <= width <= 1024px) {
    .hero__tagline {
      max-width: 360px; } }

.hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 500px;
  height: 100px;
  gap: 32px;
  padding: 24px 56px 24px 80px;
  background-color: #ff7d11;
  border-radius: 80px;
  box-shadow: 0 2px 11px rgba(0, 0, 0, 0.2);
  font-size: 34px;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #ffffff;
  transition: opacity .2s; }
  @media (320px <= width <= 1024px) {
    .hero__cta {
      width: 100%;
      height: initial;
      max-width: 360px;
      gap: 16px;
      padding: 24px 16px 24px 24px;
      font-size: 24px; } }
  .hero__cta:hover {
    opacity: .8; }

.hero__cta-icon {
  display: inline-flex;
  width: 12px;
  height: 19px; }

.hero__cta-icon svg {
  width: 100%;
  height: 100%; }

.new-open {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 40px;
  background-color: #fbfaf9; }
  @media (320px <= width <= 1024px) {
    .new-open {
      padding: 24px; } }

.what-is {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 100px;
  background-color: #ffffff; }
  @media (320px <= width <= 1259px) {
    .what-is {
      padding-block: 64px; } }

.what-is__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  width: 100%;
  max-width: 1200px; }
  @media (320px <= width <= 1259px) {
    .what-is__inner {
      gap: 64px;
      padding-inline: 24px; } }

.what-is__heading {
  position: relative;
  display: inline-grid;
  align-items: center; }

.what-is__heading-bg {
  font-family: "Poppins", sans-serif;
  font-size: 122px;
  font-weight: 700;
  line-height: 1;
  color: #ffe7ca; }

.what-is__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%; }
  @media (320px <= width <= 1259px) {
    .what-is__content {
      gap: 24px; } }

.what-is__subtitle {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 42px;
  font-weight: 700;
  color: #ff7d11;
  text-align: center; }
  @media (320px <= width <= 1259px) {
    .what-is__subtitle {
      font-size: 22px;
      gap: 0; } }

.what-is__deco {
  display: inline-flex;
  flex-shrink: 0;
  width: 29px;
  height: 50px; }
  @media (320px <= width <= 1259px) {
    .what-is__deco {
      width: 24px;
      height: 46px; } }

.what-is__deco svg {
  width: 100%;
  height: 100%; }

.what-is__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
  padding: 40px 32px;
  background-color: #fff4e5;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  box-sizing: border-box; }
  @media (320px <= width <= 1259px) {
    .what-is__box {
      padding: 32px 24px; } }

.what-is__lead {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #444444;
  text-align: center; }

.what-is__quote {
  font-size: 25px;
  color: #ff7d11; }
  @media (320px <= width <= 1259px) {
    .what-is__quote {
      font-size: 20px; } }

.what-is__gallery {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 64px;
  width: 100%; }
  @media (320px <= width <= 1259px) {
    .what-is__gallery {
      align-items: center;
      flex-direction: column; } }

.what-is__photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  flex: 1; }

.what-is__photo img {
  display: block;
  width: 100%;
  height: 238px;
  border-radius: 12px;
  object-fit: cover; }
  @media (320px <= width <= 1259px) {
    .what-is__photo img {
      width: 100%;
      height: initial; } }

.what-is__badge {
  position: relative;
  padding: 16px 20px;
  border: 1px solid #d4d4d4;
  border-radius: 24px;
  background-color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #444444;
  white-space: nowrap; }
  .what-is__badge::after {
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    bottom: 0;
    left: 50%;
    background: #ffffff;
    border-right: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4;
    transform: translate(-50%, 55%) rotate(45deg); }

.specialist {
  display: flex;
  justify-content: center;
  padding-block: 100px;
  background-color: #fff9ea; }
  @media (320px <= width <= 1259px) {
    .specialist {
      padding-block: 56px; } }

.specialist__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  width: 100%;
  max-width: 1200px; }
  @media (320px <= width <= 1259px) {
    .specialist__inner {
      max-width: 100%;
      padding-inline: 24px;
      gap: 56px; } }

.specialist__heading {
  position: relative;
  display: inline-grid;
  align-items: center; }

.specialist__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  width: 100%; }
  @media (320px <= width <= 1259px) {
    .specialist__content {
      gap: 56px; } }

.specialist__badge {
  width: 100%;
  padding: 16px 0;
  background-color: #ff7d11;
  border-radius: 4px;
  font-family: "DIN 2014", sans-serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  text-align: center; }
  @media (320px <= width <= 1259px) {
    .specialist__badge {
      font-size: 20px; } }

.specialist__categories {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%; }
  @media (320px <= width <= 1259px) {
    .specialist__categories {
      flex-direction: column; } }

.specialist__categories-img {
  flex-shrink: 0; }
  @media (320px <= width <= 1259px) {
    .specialist__categories-img {
      width: 320px; } }

.specialist__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  flex: 1; }

.specialist__summary-title {
  display: inline-block;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.3;
  color: #ff7d11;
  text-align: center;
  background-image: linear-gradient(transparent 60%, #ffeb7a 60%); }
  @media (320px <= width <= 1259px) {
    .specialist__summary-title {
      font-size: 16px; } }

.specialist__summary-text {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.04em;
  color: #444444;
  text-align: left; }
  @media (320px <= width <= 1259px) {
    .specialist__summary-text {
      font-size: 16px; } }

.specialist__coaches-wrap {
  display: flex;
  align-items: center;
  gap: 64px;
  width: 100%; }
  @media (320px <= width <= 1259px) {
    .specialist__coaches-wrap {
      gap: 24px; } }

.specialist__coaches {
  display: flex;
  flex-direction: column;
  gap: 56px;
  flex: 1; }

.specialist__coach-list {
  display: flex;
  flex-direction: column;
  gap: 64px;
  list-style: none;
  margin: 0;
  padding: 0; }
  @media (320px <= width <= 1259px) {
    .specialist__coach-list {
      gap: 40px; } }

.specialist__coach {
  display: flex;
  flex-direction: column;
  gap: 16px; }

.specialist__coach-head {
  display: flex;
  align-items: center;
  gap: 12px; }
  @media (320px <= width <= 1259px) {
    .specialist__coach-head {
      flex-direction: column; } }

.specialist__coach-icon {
  flex-shrink: 0;
  width: 80px;
  height: 80px; }

.specialist__coach-info {
  display: flex;
  flex-direction: column;
  gap: 12px; }

.specialist__coach-name {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  color: #ff7d11; }
  @media (320px <= width <= 1259px) {
    .specialist__coach-name {
      text-align: center;
      font-size: 20px; } }

.specialist__coach-role {
  font-weight: 500;
  line-height: 1.7;
  color: #444444; }
  @media (320px <= width <= 1259px) {
    .specialist__coach-role {
      text-align: center; } }

.specialist__coach-desc {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
  color: #444444; }
  @media (320px <= width <= 1259px) {
    .specialist__coach-desc {
      text-align: center;
      font-size: 16px; } }

.specialist__detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 320px;
  gap: 40px;
  padding: 20px 24px 20px 60px;
  background-color: #ffffff;
  border: 1px solid #ff7d11;
  border-radius: 40px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #ff7d11;
  transition: opacity .2s; }
  @media (320px <= width <= 1259px) {
    .specialist__detail-link {
      margin-inline: auto; } }
  .specialist__detail-link:hover {
    opacity: .7; }

.specialist__detail-icon {
  display: inline-flex;
  width: 10px;
  height: 16px; }

.specialist__detail-icon svg {
  width: 100%;
  height: 100%; }

.specialist__photo {
  flex-shrink: 0; }
  @media (320px <= width <= 1259px) {
    .specialist__photo {
      display: none; } }

.specialist__photo img {
  display: block; }

.specialist__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  max-width: 680px; }

.specialist__cta-text {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  font-size: 31px;
  font-weight: 700;
  color: #444444;
  text-align: center; }
  @media (320px <= width <= 1259px) {
    .specialist__cta-text {
      gap: 0;
      font-size: 18px; } }

.specialist__cta-deco {
  display: inline-flex;
  flex-shrink: 0;
  width: 24px;
  height: 42px; }
  @media (320px <= width <= 1259px) {
    .specialist__cta-deco {
      width: 20px;
      height: 36px; } }

.specialist__cta-deco svg {
  width: 100%;
  height: 100%; }

.specialist__cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  padding-block: 28px;
  background-color: #ff7d11;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  font-size: 42px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #ffffff;
  transition: opacity .2s; }
  @media (320px <= width <= 1259px) {
    .specialist__cta-btn {
      padding-block: 20px;
      gap: 20px;
      font-size: 20px;
      max-width: 375px; } }
  .specialist__cta-btn:hover {
    opacity: 0.8; }

.specialist__cta-btn-icon {
  display: inline-flex;
  width: 16px;
  height: 28px; }
  @media (320px <= width <= 1259px) {
    .specialist__cta-btn-icon {
      width: 12px;
      height: 20px; } }

.specialist__cta-btn-icon svg {
  width: 100%;
  height: 100%; }

.value {
  display: flex;
  justify-content: center;
  padding-block: 100px;
  background-color: #ffffff; }
  @media (320px <= width <= 1259px) {
    .value {
      padding-block: 64px; } }

.value__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  width: 100%;
  max-width: 1200px; }
  @media (320px <= width <= 1259px) {
    .value__inner {
      max-width: 100%;
      padding-inline: 24px;
      gap: 64px; } }

.value__heading {
  position: relative;
  display: inline-grid;
  align-items: center; }

.value__cards {
  display: flex;
  gap: 24px;
  list-style: none; }
  @media (320px <= width <= 1259px) {
    .value__cards {
      flex-direction: column; } }

.value__card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 385px;
  min-height: 464px;
  padding: 24px 24px 64px;
  background-color: #f9f9f9;
  border-radius: 20px;
  box-sizing: border-box; }
  @media (320px <= width <= 1259px) {
    .value__card {
      width: 100%;
      min-height: initial;
      max-width: 480px;
      padding: 40px 24px 24px; } }

.value__card-number {
  position: absolute;
  width: 70px;
  height: 70px;
  top: 20px;
  left: 20px; }
  @media (320px <= width <= 1259px) {
    .value__card-number {
      width: 56px;
      height: 56px;
      top: 8px;
      left: 16px; } }

.value__card-media {
  display: flex;
  flex: 1;
  align-items: flex-end;
  justify-content: center; }
  @media (320px <= width <= 1259px) {
    .value__card-media {
      margin-inline: auto; } }

.value__card-media img {
  display: block; }
  @media (320px <= width <= 1259px) {
    .value__card-media img {
      width: 50%; } }

.value__card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 24px; }

.value__card-title {
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  color: #ff7d11; }
  @media (320px <= width <= 1259px) {
    .value__card-title {
      font-size: 28px; } }

.value__card-desc {
  margin-top: 16px;
  font-weight: 500;
  color: #444444; }

.value__card-desc-en {
  display: block;
  margin-bottom: 4px;
  font-size: 24px;
  color: #ff7d11; }

.voice {
  display: flex;
  justify-content: center;
  padding-block: 100px;
  background-color: #f9f9f9; }
  @media (320px <= width <= 1259px) {
    .voice {
      padding-block: 64px; } }

.voice__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  width: 100%;
  max-width: 1200px; }
  @media (320px <= width <= 1259px) {
    .voice__inner {
      gap: 64px;
      padding-inline: 24px; } }

.voice__heading {
  position: relative;
  display: inline-grid;
  align-items: center; }

.voice__list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0; }

.voice__card {
  position: relative;
  padding: 32px 60px;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  box-sizing: border-box; }
  @media (320px <= width <= 1259px) {
    .voice__card {
      padding: 32px 24px; } }

.voice__card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px; }

.voice__card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 8px; }
  @media (320px <= width <= 1259px) {
    .voice__card-header {
      gap: 8px;
      align-items: flex-start;
      flex-direction: column; } }

.voice__card-headline {
  font-size: 28px;
  font-weight: 700;
  color: #ff7d11; }
  @media (320px <= width <= 1259px) {
    .voice__card-headline {
      font-size: 24px; } }

.voice__card-meta {
  flex-shrink: 0;
  font-size: 18px;
  font-weight: 400;
  color: #ff7d11; }

.voice__card-main {
  display: flex;
  align-items: center;
  gap: 32px; }

.voice__card-photo {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover; }
  @media (320px <= width <= 1259px) {
    .voice__card-photo {
      display: none; } }

.voice__card-comment {
  flex: 1;
  font-weight: 500;
  line-height: 1.9;
  color: #444444; }

.voice__card-quote {
  position: absolute;
  z-index: 0; }

.voice__card-quote--open {
  top: -16px;
  left: 24px; }

.voice__card-quote--close {
  right: 24px;
  bottom: -16px; }

.course {
  position: relative;
  display: flex;
  justify-content: center;
  padding-block: 100px;
  overflow: hidden;
  background-color: #ffffff; }
  @media (320px <= width <= 1259px) {
    .course {
      padding-block: 64px; } }

.course__deco {
  position: absolute;
  pointer-events: none; }

.course__deco--shape {
  top: 50px;
  left: -38px;
  width: 290px; }

.course__deco--circle {
  right: -100px;
  bottom: -64px;
  width: 426px; }

.course__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 80px;
  width: 100%;
  max-width: 1080px; }
  @media (320px <= width <= 1259px) {
    .course__inner {
      gap: 64px;
      padding-inline: 24px; } }

.course__heading {
  position: relative;
  display: inline-grid;
  align-items: center; }

.course__content {
  width: 100%; }

.course__pricing {
  display: flex;
  flex-direction: column;
  gap: 56px; }
  @media (320px <= width <= 1259px) {
    .course__pricing {
      gap: 40px; } }

.course__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  border: 1px solid #cacaca; }
  @media (320px <= width <= 1259px) {
    .course__table {
      font-size: 14px; } }

.course__table tr th,
.course__table tr td {
  padding: 20px 16px;
  border-bottom: 1px solid #cacaca; }
  @media (320px <= width <= 1259px) {
    .course__table tr th,
    .course__table tr td {
      padding: 8px; } }

.course__table tr:last-child td {
  border-bottom: none; }

.course__table thead th {
  background-color: #fff9ea;
  color: #ff7d11; }

.course__table tbody th,
.course__table tbody td {
  padding: 24px 16px;
  background-color: #ffffff;
  color: #444444;
  font-weight: 700;
  border-bottom: 1px solid #cacaca; }
  @media (320px <= width <= 1259px) {
    .course__table tbody th,
    .course__table tbody td {
      padding: 8px; } }

.course__table tbody .course__table-cell--link {
  width: 80px;
  padding: 24px 40px; }
  @media (320px <= width <= 1259px) {
    .course__table tbody .course__table-cell--link {
      width: 40px;
      padding: 8px; } }

.course__table-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #ff7d11;
  border-radius: 50%;
  transition: opacity .2s; }
  @media (320px <= width <= 1259px) {
    .course__table-link {
      width: 30px;
      height: 30px; } }
  .course__table-link:hover {
    opacity: .8; }

.course__table-icon {
  display: inline-flex;
  width: 14px;
  height: 10px; }

.course__table-icon svg {
  width: 100%;
  height: 100%; }

.course__hyrox {
  display: flex;
  flex-direction: column;
  border: 1px solid #cacaca;
  border-radius: 16px;
  overflow: hidden; }

.course__hyrox-title {
  display: flex;
  align-items: center;
  height: 64px;
  padding-inline: 40px;
  background-color: #222222;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  color: #ffffff; }
  @media (320px <= width <= 1259px) {
    .course__hyrox-title {
      height: 56px;
      padding-inline: 32px;
      font-size: 20px; } }

.course__hyrox-body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 40px;
  background-color: #fbfaf9; }
  @media (320px <= width <= 1259px) {
    .course__hyrox-body {
      padding: 24px; } }

.course__hyrox-desc {
  font-size: 22px;
  font-weight: 700;
  color: #222222; }
  @media (320px <= width <= 1259px) {
    .course__hyrox-desc {
      font-size: 18px; } }

.course__hyrox-link {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #222222;
  border-radius: 50%;
  transition: opacity .2s; }
  .course__hyrox-link:hover {
    opacity: .8; }

.course__hyrox-icon {
  display: inline-flex;
  width: 14px;
  height: 10px; }

.course__hyrox-icon svg {
  width: 100%;
  height: 100%; }

.course__note {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.9;
  color: #444444; }

.course__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 80px;
  padding: 36px 60px 36px 100px;
  background-color: #ff7d11;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  font-size: 42px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #ffffff;
  transition: opacity .2s; }
  @media (320px <= width <= 1259px) {
    .course__cta {
      width: 100%;
      max-width: 375px;
      gap: 24px;
      padding: 24px;
      font-size: 20px; } }
  .course__cta:hover {
    opacity: .8; }

.course__cta-icon {
  display: inline-flex;
  width: 16px;
  height: 28px; }

.course__cta-icon svg {
  width: 100%;
  height: 100%; }

.coursemenu__cta {
  display: flex;
  justify-content: center;
  padding-block: 100px;
  background-image: url("../img/page/home/menu_bg@2x.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }
  @media (320px <= width <= 1380px) {
    .coursemenu__cta {
      padding-block: 64px; } }

.coursemenu__cta-inner {
  width: 100%;
  max-width: 1360px;
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (320px <= width <= 1380px) {
    .coursemenu__cta-inner {
      padding-inline: 24px; } }

.coursemenu__list {
  display: flex;
  flex-direction: row;
  gap: 12px; }
  @media (320px <= width <= 1380px) {
    .coursemenu__list {
      flex-direction: column;
      gap: 24px; } }

.coursemenu__list-items {
  flex: 1; }

.coursemenu__list-title {
  padding: 12px 0;
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  background-color: #FFE7CA;
  border-radius: 12px 12px 0 0; }
  .coursemenu__list-title.coursemenu__list-title-black {
    color: #ffffff;
    background-color: #222; }

.coursemenu__list-image > img {
  width: 100%; }

.coursemenu__list-detail {
  height: 442px;
  padding: 16px 24px 24px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 0 0 12px 12px; }

.coursemenu__list-year {
  display: flex;
  align-items: center;
  gap: 16px;
  font-weight: 500; }

.coursemenu__list-tag {
  display: flex;
  padding: 4px 16px;
  justify-content: center;
  align-items: center;
  color: #FF7D11;
  border: 1px solid #FF7D11; }

.coursemenu__list-text {
  font-weight: 500; }

.coursemenu__cta-heading {
  margin-top: 40px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  color: #222222; }
  @media (320px <= width <= 1380px) {
    .coursemenu__cta-heading {
      margin-top: 32px;
      font-size: 20px; } }

.coursemenu__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  margin-top: 8px;
  padding: 28px 36px 28px 90px;
  background-color: #222222;
  border-radius: 56px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: .04em;
  color: #ffffff;
  transition: opacity .2s; }
  @media (320px <= width <= 1380px) {
    .coursemenu__cta-btn {
      gap: 24px;
      margin-top: 8px;
      padding: 24px;
      font-size: 24px;
      color: #ffffff;
      max-width: 375px; } }
  .coursemenu__cta-btn:hover {
    opacity: .8; }

.coursemenu__cta-btn-icon {
  display: inline-flex;
  width: 16px;
  height: 28px; }

.coursemenu__cta-btn-icon svg {
  width: 100%;
  height: 100%; }

/*# sourceMappingURL=style.css.map */
