/*!
Theme Name: STUDIO TT
Description: 完全プライベートピラティススタジオ
Version: 1.0.0
*/

/* ========================================
   External Resources
======================================== */
@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://fonts.googleapis.com/css?family=Shippori+Mincho:500,400|Poppins:300");

/* ========================================
   Custom Fonts
======================================== */
@font-face {
  font-family: "Didot-Italic";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/Didot Bold Italic.ttf") format("truetype");
}

@font-face {
  font-family: "Goldenbook-Regular";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Goldenbook Regular.otf") format("opentype");
}

@font-face {
  font-family: "Goldenbook-Light";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/Goldenbook Light.otf") format("opentype");
}

@font-face {
  font-family: "Harshita-Regular";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Harshita.otf") format("opentype");
}

/* ========================================
   CSS Variables & Design Tokens
======================================== */
:root {
  --black: #000000;
  --desert-storm: #f9f9f7;
  --mercury: #e6e6e6;
  --metallic-sunburst: #9f8346;
  --pumpkin: #ff751f;
  --sandstone: #766d63;
  --shadow: #867a60;
  --sonic-silver: #727272;
  --timberwolf: #ddd4cb;
  --white: #ffffff;

  --font-size-l: 15px;
  --font-size-m: 14px;
  --font-size-s: 13px;
  --font-size-xl: 16px;
  --font-size-xs: 11px;
  --font-size-xxl: 18px;
  --font-size-xxxl: 20px;

  --font-family-anastasiascript-regular: "AnastasiaScript-Regular", Helvetica;
  --font-family-didot: "Didot", Helvetica;
  --font-family-didot-italic: "Didot-Italic", Helvetica;
  --font-family-dnp_shueigoginstd: "DNP ShueiGoGinStd", Helvetica;
  --font-family-dnpshueigoginstd-b: "DNPShueiGoGinStd-B", Helvetica;
  --font-family-dnpshueigoginstd-l: "DNPShueiGoGinStd-L", Helvetica;
  --font-family-dnpshueigoginstd-m: "DNPShueiGoGinStd-M", Helvetica;
  --font-family-dnpshueiminpr6n-l: "DNPShueiMinPr6N-L", Helvetica;
  --font-family-dnpshueiminpr6n-m: "DNPShueiMinPr6N-M", Helvetica;
  --font-family-goldenbook: "Goldenbook", Helvetica;
  --font-family-goldenbook-light: "Goldenbook-Light", Helvetica;
  --font-family-goldenbook-regular: "Goldenbook-Regular", Helvetica;
  --font-family-harshita: "Harshita", Helvetica;
  --font-family-harshita-regular: "Harshita-Regular", Helvetica;
  --font-family-poppins: "Poppins", Helvetica;
  --font-family-shippori_mincho: "Shippori Mincho", Helvetica;
}

.poppins-light-white-16px {
  color: var(--white);
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-xl);
  font-style: normal;
  font-weight: 300;
}

.dnpshueigoginstd-l-normal-white-11px {
  color: var(--white);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: var(--font-size-xs);
  font-style: normal;
  font-weight: 400;
}

.dnpshueigoginstd-l-normal-sandstone-14px {
  color: var(--sandstone);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: var(--font-size-m);
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .dnpshueigoginstd-l-normal-sandstone-14px {
    font-size: 3.589vw;
  }
}

.dnpshueigoginstd-l-normal-white-13px {
  color: var(--white);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: var(--font-size-s);
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .dnpshueigoginstd-l-normal-white-13px {
    font-size: 3.333vw;
  }
}

.dnpshueigoginstd-l-normal-sandstone-13px {
  color: var(--sandstone);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: var(--font-size-s);
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .dnpshueigoginstd-l-normal-sandstone-13px {
    font-size: 3.333vw;
  }
}

.poppins-light-sandstone-14px {
  color: var(--sandstone);
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-m);
  font-style: normal;
  font-weight: 300;
}

@media screen and (max-width: 768px) {
  .poppins-light-sandstone-14px {
    font-size: 3.589vw;
  }
}

.goldenbook-light-sandstone-38px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-light);
  font-size: 2.676vw;
  font-style: normal;
  font-weight: 300;
}

.dnpshueigoginstd-l-normal-white-10px {
  color: var(--white);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: 0.704vw;
  font-style: normal;
  font-weight: 400;
}

.didot-italic-normal-sandstone-36px {
  color: var(--sandstone);
  font-family: var(--font-family-didot-italic);
  font-size: 2.535vw;
  font-style: italic;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-18px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xxl);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-metallic-sunburst-16px {
  color: var(--metallic-sunburst);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xl);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-16px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xl);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-20px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xxxl);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-14px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-m);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-15px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-l);
  font-style: normal;
  font-weight: 400;
}

.dnpshueigoginstd-l-normal-sandstone-12px {
  color: var(--sandstone);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: 0.845vw;
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .dnpshueigoginstd-l-normal-sandstone-12px {
    font-size: 3.076vw;
  }
}

.harshita-regular-normal-sandstone-40px {
  color: var(--sandstone);
  font-family: var(--font-family-harshita-regular);
  font-size: 2.817vw;
  font-style: normal;
  font-weight: 400;
}

.dnpshueigoginstd-l-normal-sandstone-15px {
  color: var(--sandstone);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: var(--font-size-l);
  font-style: normal;
  font-weight: 400;
}

.anastasiascript-regular-normal-white-37px {
  color: var(--white);
  font-family: var(--font-family-anastasiascript-regular);
  font-size: 2.606vw;
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-22px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.549vw;
  font-style: normal;
  font-weight: 400;
}

.goldenbook-light-sandstone-20px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-light);
  font-size: var(--font-size-xxxl);
  font-style: normal;
  font-weight: 300;
}

@media screen and (max-width: 768px) {
  .dnpshueigoginstd-l-normal-sonic-silver-12px {
    font-size: 3.076vw;
  }
}

.shipporimincho-normal-metallic-sunburst-20px {
  color: var(--metallic-sunburst);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xxxl);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-medium-sandstone-18px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xxl);
  font-style: normal;
  font-weight: 500;
}

.goldenbook-regular-normal-sandstone-18px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-regular);
  font-size: var(--font-size-xxl);
  font-style: normal;
  font-weight: 400;
}

.harshita-regular-normal-sandstone-54px {
  color: var(--sandstone);
  font-family: var(--font-family-harshita-regular);
  font-size: 3.803vw;
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-17px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.197vw;
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-medium-shadow-15px {
  color: var(--shadow);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-l);
  font-style: normal;
  font-weight: 500;
}

.shipporimincho-medium-white-28px {
  color: var(--white);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.972vw;
  font-style: normal;
  font-weight: 500;
}

.goldenbook-light-white-23px {
  color: var(--white);
  font-family: var(--font-family-goldenbook-light);
  font-size: 1.62vw;
  font-style: normal;
  font-weight: 300;
}

.dnpshueiminpr6n-m-normal-sandstone-13px {
  color: var(--sandstone);
  font-family: var(--font-family-dnpshueiminpr6n-m);
  font-size: var(--font-size-s);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-24px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.69vw;
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .shipporimincho-normal-sandstone-24px {
    font-size: 6.153vw;
  }
}

.goldenbook-light-sandstone-18px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-light);
  font-size: var(--font-size-xxl);
  font-style: normal;
  font-weight: 300;
}

@media screen and (max-width: 768px) {
  .goldenbook-light-sandstone-18px {
    font-size: 4.358vw;
  }
}

.dnpshueigoginstd-l-normal-sandstone-11px {
  color: var(--sandstone);
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: var(--font-size-xs);
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .dnpshueigoginstd-l-normal-sandstone-11px {
    font-size: 2.820vw;
  }
}

.goldenbook-light-sandstone-18px-2 {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook);
  font-size: var(--font-size-xxl);
}

.goldenbook-light-sandstone-23px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-light);
  font-size: 1.62vw;
  font-style: normal;
  font-weight: 300;
}

.didot-italic-normal-white-31px {
  color: var(--white);
  font-family: var(--font-family-didot-italic);
  font-size: 2.183vw;
  font-style: italic;
  font-weight: 400;
}

.didot-italic-normal-metallic-sunburst-42px {
  color: var(--metallic-sunburst);
  font-family: var(--font-family-didot-italic);
  font-size: 2.958vw;
  font-style: italic;
  font-weight: 400;
}

.shipporimincho-normal-metallic-sunburst-24px {
  color: var(--metallic-sunburst);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.69vw;
  font-style: normal;
  font-weight: 400;
}

.goldenbook-regular-normal-sandstone-20px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-regular);
  font-size: var(--font-size-xxxl);
  font-style: normal;
  font-weight: 400;
}

.goldenbook-regular-normal-sandstone-16px {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-regular);
  font-size: var(--font-size-xl);
  font-style: normal;
  font-weight: 400;
}

.shipporimincho-normal-sandstone-19px {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.338vw;
  font-style: normal;
  font-weight: 400;
}

/* ========================================
   Base Styles & Common Components
======================================== */

/* * {
  transition: all 0.6s ease;
} */

ul,
ol,
ul ul,
ul ol,
ol ol,
ol ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

dl,
dl dt,
dl dd {
  padding: 0;
  margin: 0;
}

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/* ---------------------------------------
	BASIC
--------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  height: 100%;
  scroll-behavior: auto
}

.pc-only {
  display: block;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

/* リンク */
a {
  display: contents;
  color: #40D9C5;
  opacity: 1;
  transition: 0.3s;
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
}

a img {
  opacity: 1;
  transition: 0.3s;
}

a:hover img {
  opacity: 0.7;
}

/* 透過 */

.over:hover {
  opacity: 0.7;
}

.l-wrapper {
  position: relative;
  padding: 0;
  margin: 0;
}

.container-center-horizontal {
  display: flex;
  flex-direction: row;
  justify-content: center;
  pointer-events: none;
  width: 100%;
}

.container-center-horizontal>* {
  flex-shrink: 0;
  pointer-events: auto;
}

* {
  box-sizing: border-box;
}

/* ==========================================================================
   Header - BEM準拠 (他ページのクラスとの干渉を避けるため.header__で統一)
   ========================================================================== */

/* Block: header
   ========================================================================== */
.header {
  background: rgba(255, 255, 255, 0.9);
  /* background-color: #f00; */
  display: flex;
  max-height: 118px;
  height: 10.352vw;
  justify-content: space-between;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

/* TOPページのヘッダーは背景がグラデーション */
.toppage .header {
  background: linear-gradient(rgba(124, 124, 124, 0.8), rgba(255, 255, 255, 0.01));
  background-color: transparent;
}

@media screen and (max-width: 768px) {
  .header {
    height: 20vw;
    max-height: 78px;
  }
}

/* スクロール時のヘッダー */
.header.is-fixed {
  background: rgba(255, 255, 255, 0.9);
}

/* Element: header__logo-link
   ========================================================================== */
.header__logo-link {
  cursor: pointer;
  display: block;
}

/* Element: header__logo
   ========================================================================== */
.header__logo {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-left: 2.817vw;
  /* margin-top: 2.464vw; */
  margin-top: 20px;
  max-width: 300px;
  width: 19.72vw;
  transition: all 0.6s ease;
}

/* .header.is-fixed .header__logo {
  margin-top: 1.408vw;
} */

@media screen and (max-width: 768px) {
  .header__logo {
    margin-left: 3.589vw;
    margin-top: 1.408vw;
    width: 51.282vw;
    max-width: 250px;
  }
}

/* @media screen and (max-width: 768px) {
  .header.is-fixed .header__logo {
    margin-top: 1.408vw;
  }
} */

/* Element: header__logo-img
   ========================================================================== */
.header__logo-img {
  height: 6.338vw;
  max-height: 76px;
  width: 8.661vw;
  max-width: 104px;
  margin-right: 15px;
}

/* Modifier: 白ロゴ（TOPページの初期状態） */
.toppage .header__logo-img--white {
  display: inline;
}

.toppage .header.is-fixed .header__logo-img--white {
  display: none;
}

/* Modifier: 黒ロゴ（TOPページのis-fixed時 / 下層ページ常時） */
.toppage .header__logo-img--black {
  display: none;
}

.toppage .header.is-fixed .header__logo-img--black {
  display: inline;
}

@media screen and (max-width: 768px) {
  .header__logo-img {
    height: 15.384vw;
    max-height: 63px;
    width: 21.0256vw;
    max-width: 90px;
    margin-right: 15px;
  }
}

/* Element: header__logo-text
   ========================================================================== */
.header__logo-text {
  color: #727272;
  font-family: var(--font-family-dnpshueigoginstd-b);
  font-size: min(1.056vw, 12px);
  font-weight: 400;
  letter-spacing: 0.08vw;
  line-height: 1.6;
  white-space: nowrap;
  width: 10.35vw;
  transition: all 0.6s ease;
}

@media screen and (max-width: 768px) {
  .header__logo-text {
    font-size: 11px;
    letter-spacing: 0.08vw;
    line-height: 1.6;
    white-space: nowrap;
    width: 27.179vw;
  }
}

/* TOPページのロゴテキストは白 */
.toppage .header__logo-text {
  color: var(--white);
}

/* スクロール時は黒に戻る */
.header.is-fixed .header__logo-text {
  color: #727272;
}

/* Element: header__menu-btn (ハンバーガーメニューボタン)
   ========================================================================== */
.header__menu-btn {
  height: 2.61vw;
  margin-right: 2.817vw;
  /* margin-top: 4.08vw; */
  margin-top: min(4.08vw, 45px);
  position: relative;
  min-width: 24px;
  width: 1.69vw;
  cursor: pointer;
  z-index: 300;
  transition: all 0.6s ease;
  border: none;
  background: transparent;
  padding: 0;
}

@media screen and (max-width: 768px) {
  .header__menu-btn {
    height: 4.871vw;
    margin-right: 3.846vw;
    /* margin-top: 6.41vw; */
    margin-top: min(6.41vw, 28px);
    width: 5.128vw;
  }
}

/* Element: header__menu-line (ハンバーガーメニューの線)
   ========================================================================== */
.header__menu-line {
  background-color: var(--sandstone);
  height: 0.14vw;
  left: 0;
  position: absolute;
  width: 100%;
  transition: all 0.6s ease;
}

/* Modifier: 各線の位置 */
.header__menu-line--top {
  top: 2px;
}

.header__menu-line--middle {
  top: 12px;
}

.header__menu-line--bottom {
  top: 22px;
}

/* TOPページの初期状態は白 */
.toppage .header__menu-line {
  background-color: var(--white);
}

/* スクロール時は茶色に戻る */
.header.is-fixed .header__menu-line {
  background-color: var(--sandstone);
}

/* メニュー開いた時は茶色 */
.header__menu-btn.is-active .header__menu-line {
  background-color: var(--white);
}

.header.is-fixed .header__menu-btn.is-active .header__menu-line {
  background-color: var(--white);
}

.toppage .header__menu-btn.is-active .header__menu-line {
  background-color: var(--white);
}

@media screen and (max-width: 768px) {
  .header__menu-line {
    height: 0.512vw;
  }
}

/* メニューアクティブ時のアニメーション */
.header__menu-btn.is-active .header__menu-line--top {
  top: 12px;
  transform: rotate(45deg);
}

.header__menu-btn.is-active .header__menu-line--middle {
  opacity: 0;
}

.header__menu-btn.is-active .header__menu-line--bottom {
  top: 12px;
  transform: rotate(-45deg);
}

/* Element: header__menu (ドロワーメニュー)
   ========================================================================== */
.header__menu {
  display: none;
  width: 45.774vw;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 200;
  background-color: #867A60;
  padding: 4.577vw 6.126vw;
  overflow-y: scroll;
  height: 100svh;
}

.header__menu.is-active {
  display: block;
  transition: all 0.6s ease;
}

@media screen and (max-width: 768px) {
  .header__menu {
    width: 100%;
    padding: 8.974vw;
  }
}

/* Element: header__nav
   ========================================================================== */
.header__nav {
  /* ナビゲーション全体のスタイル */
}

/* Element: header__nav-list
   ========================================================================== */
.header__nav-list {
  /* リストのスタイルは継承 */
}

/* Element: header__nav-item
   ========================================================================== */
.header__nav-item {
  border-bottom: 1px solid #fff;
}

/* Element: header__nav-link
   ========================================================================== */
.header__nav-link {
  display: block;
  color: #fff;
  font-size: 1.056vw;
  letter-spacing: 0.16vw;
  padding: 1.619vw 1.83vw;
  position: relative;
}

@media screen and (max-width: 768px) {
  .header__nav-link {
    font-size: 2.820vw;
    padding: 6.153vw 2.564vw;
  }
}

/* 矢印アイコン */
.header__nav-link::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #ABA290;
}

/* Element: header__nav-en (英語テキスト)
   ========================================================================== */
.header__nav-en {
  /* 英語テキストのスタイル */
}

.header__nav-en::after {
  content: "/";
  padding: 0 1.056vw;
}

@media screen and (max-width: 768px) {
  .header__nav-en {
    display: block;
    padding-bottom: 1.282vw;
  }

  .header__nav-en::after {
    display: none;
  }
}

/* Element: header__nav-ja (日本語テキスト)
   ========================================================================== */
.header__nav-ja {
  /* 日本語テキストのスタイル */
}

/* Element: header__cta (Call To Action ボタンエリア)
   ========================================================================== */
.header__cta {
  display: flex;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .header__cta {
    display: block;
  }
}

/* Element: header__cta-wrap
   ========================================================================== */
.header__cta-wrap {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 2.817vw;
  margin: 2.253vw auto 0;
}

@media screen and (max-width: 768px) {
  .header__cta-wrap {
    display: block;
    width: 65.641vw;
    height: auto;
    margin: 8.205vw auto 4.102vw;
  }
}

/* Element: header__cta-item
   ========================================================================== */
.header__cta-item {
  position: relative;
  width: 15.774vw;
}

@media screen and (max-width: 768px) {
  .header__cta-item {
    width: 65.641vw;
    margin-bottom: 3.076vw;
  }

  .header__cta-item:last-child {
    margin-bottom: 0;
  }
}

/* Element: header__cta-link
   ========================================================================== */
.header__cta-link {
  background-color: var(--white);
  border: 0.07vw solid;
  border-color: var(--shadow);
  border-radius: 3.52vw;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.817vw;
  color: #867A60;
  letter-spacing: 0.11vw;
  line-height: 1.41vw;
  font-size: 0.915vw;
  text-align: center;
  white-space: nowrap;
  transition: opacity 0.3s;
}

@media screen and (max-width: 768px) {
  .header__cta-link {
    border-radius: 6.153vw;
    height: auto;
    line-height: 1.6;
    white-space: normal;
    font-size: 3.333vw;
    padding: 3.846vw;
  }
}

.header__cta-link:hover {
  opacity: 0.7;
}

/* ==========================================================================
   Footer - BEM準拠 (他ページのクラスとの干渉を避けるため.footer__で統一)
   ========================================================================== */

/* Block: footer
   ========================================================================== */
.footer a {
  opacity: 1;
  transition: 0.3s;
}

.footer a:hover {
  opacity: 0.7;
}

/* Element: footer__container
   ========================================================================== */
.footer__container {
  background-color: var(--sandstone);
  flex: 1;
  max-height: 22.96vw;
  position: relative;
  padding: 2.816vw;
}

@media screen and (max-width: 768px) {
  .footer__container {
    max-height: 100%;
    padding: 11.538vw 8.974vw;
  }
}

/* Element: footer__inner
   ========================================================================== */
.footer__inner {
  display: flex;
  justify-content: space-between;
  width: 81.13vw;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .footer__inner {
    display: block;
    width: 100%;
    text-align: center;
  }
}

/* Element: footer__logo
   ========================================================================== */
.footer__logo {
  height: 6.89vw;
  margin-top: 0;
  mix-blend-mode: screen;
  object-fit: cover;
  width: 9.44vw;
}

@media screen and (max-width: 768px) {
  .footer__logo {
    height: auto;
    width: 28.205vw;
  }
}

/* Element: footer__nav
   ========================================================================== */
.footer__nav {
  display: flex;
  gap: 2.68vw;
  margin-top: 1.54vw;
  width: 68.31vw;
}

@media screen and (max-width: 768px) {
  .footer__nav {
    display: block;
    margin-top: 8.205vw;
    width: 100%;
  }
}

/* Element: footer__nav-list
   ========================================================================== */
.footer__nav-list {
  display: flex;
  gap: 2.68vw;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .footer__nav-list {
    display: block;
    width: 100%;
  }
}

/* Element: footer__nav-item
   ========================================================================== */
.footer__nav-item {
  cursor: pointer;
  height: 3.03vw;
  position: relative;
  flex-shrink: 0;
}

/* 各ナビゲーション項目の幅を個別に設定（PCのみ） */
@media screen and (min-width: 769px) {
  .footer__nav-item:nth-child(1) {
    width: 5.92vw;
  }

  /* Concept */
  .footer__nav-item:nth-child(2) {
    width: 3.52vw;
  }

  /* Price */
  .footer__nav-item:nth-child(3) {
    width: 4.37vw;
  }

  /* Studio */
  .footer__nav-item:nth-child(4) {
    width: 6.9vw;
  }

  /* Beginners */
  .footer__nav-item:nth-child(5) {
    width: 3.52vw;
  }

  /* News */
  .footer__nav-item:nth-child(6) {
    width: 8.73vw;
  }

  /* Information */
  .footer__nav-item:nth-child(7) {
    width: 7.61vw;
  }

  /* Instructors */
  .footer__nav-item:nth-child(8) {
    width: 9.15vw;
  }

  /* Men's Pilates */
}

@media screen and (max-width: 768px) {
  .footer__nav-item {
    height: auto;
    width: 100% !important;
    text-align: center;
  }
}

/* Element: footer__nav-link
   ========================================================================== */
.footer__nav-link {
  display: block;
  width: 100%;
  height: 100%;
}

/* Element: footer__nav-en (英語テキスト)
   ========================================================================== */
.footer__nav-en {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 1.127vw;
  font-weight: 300;
  height: 1.76vw;
  left: 0;
  letter-spacing: 0.16vw;
  line-height: 1.41vw;
  position: absolute;
  text-align: center;
  top: 0.14vw;
  white-space: nowrap;
  width: 100%;
  display: block;
}

@media screen and (max-width: 768px) {
  .footer__nav-en {
    font-size: 3.846vw;
    height: auto;
    line-height: 1.6;
    position: relative;
    top: 0;
    width: 100%;
  }
}

/* Element: footer__nav-ja (日本語テキスト)
   ========================================================================== */
.footer__nav-ja {
  color: #fff;
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: 0.775vw;
  font-weight: 400;
  bottom: 0.07vw;
  height: 1.2vw;
  letter-spacing: 0.09vw;
  line-height: 1.41vw;
  position: absolute;
  text-align: center;
  white-space: nowrap;
  width: 100%;
  display: block;
}

@media screen and (max-width: 768px) {
  .footer__nav-ja {
    font-size: 2.820vw;
    bottom: 0;
    height: auto;
    left: 0;
    line-height: 1.6;
    position: relative;
    text-align: center;
    width: auto;
    padding-bottom: 6.666vw;
  }
}

/* Element: footer__bottom
   ========================================================================== */
.footer__bottom {
  text-align: center;
  color: #fff;
  font-size: 0.845vw;
  line-height: 1.41vw;
  margin-top: 30px;
  position: relative;
}

@media screen and (max-width: 768px) {
  .footer__bottom {
    font-size: 2.564vw;
    line-height: 1.6;
    margin-top: 7.692vw;
    position: relative;
  }
}

/* Element: footer__legal
   ========================================================================== */
.footer__legal {
  margin: 0;
}

.footer__legal a {
  color: #fff;
}

/* Element: footer__copyright
   ========================================================================== */
.footer__copyright {
  letter-spacing: 0.08vw;
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .footer__copyright {
    position: relative;
    padding-top: 5.897vw;
  }
}

/* Element: footer__cta (Call To Action)
   ========================================================================== */
.footer__cta {
  background-color: var(--white);
  display: flex;
  height: 6.2vw;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .footer__cta {
    height: 20.512vw;
  }
}

/* Element: footer__cta-wrap
   ========================================================================== */
.footer__cta-wrap {
  display: flex;
  height: 2.817vw;
  justify-content: space-between;
  width: 43.38vw;
  margin: 1.69vw auto;
}

@media screen and (max-width: 768px) {
  .footer__cta-wrap {
    display: flex;
    height: 12.307vw;
    width: 92.307vw;
    margin: 4.102vw auto;
  }
}

/* Element: footer__cta-item
   ========================================================================== */
.footer__cta-item {
  position: relative;
  width: 19.72vw;
}

@media screen and (max-width: 768px) {
  .footer__cta-item {
    width: 43.589vw;
  }
}

/* Element: footer__cta-link
   ========================================================================== */
.footer__cta-link {
  background-color: var(--sandstone);
  border: 0.07vw solid;
  border-color: var(--shadow);
  border-radius: 3.52vw;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-family: var(--font-family-dnpshueigoginstd-l);
  font-size: 0.915vw;
  font-weight: 400;
  letter-spacing: 0.11vw;
  line-height: 1.41vw;
  text-align: center;
  white-space: nowrap;
  transition: opacity 0.3s;
}

@media screen and (max-width: 768px) {
  .footer__cta-link {
    border-radius: 6.153vw;
    font-size: 3.333vw;
    line-height: 1.3;
    white-space: normal;
    padding: 3.846vw;
  }
}

.footer__cta-link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .foot-btn_link {
    width: 43.589vw;
  }
}

.x1::-webkit-scrollbar {
  display: none;
  width: 0;
}

.x6161 {
  background-color: var(--mercury);
  border-radius: 1.41vw;
  height: 19.15vw;
  width: 15.21vw;
}

.x6067 {
  background-color: var(--sandstone);
  height: 22.96vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.x6998 {
  display: flex;
  gap: 2.68vw;
  height: 10.39%;
  left: 21.62vw;
  position: absolute;
  top: 12.11vw;
  width: 68.31%;
}

.x2025-09-04-154215-1 {
  height: 23.64%;
  left: 8.8vw;
  mix-blend-mode: screen;
  object-fit: cover;
  position: absolute;
  top: 10.56vw;
  width: 9.44%;
}

.x6076 {
  background-color: var(--white);
  bottom: 0;
  height: 6.2vw;
  left: 0;
  position: absolute;
  width: 100%;
}

.x6999 {
  height: 9.66%;
  left: 28.38vw;
  position: absolute;
  top: 24.65vw;
  width: 43.38%;
}

.x6109 {
  background-color: var(--sandstone);
  border: 0.07vw solid;
  border-color: var(--shadow);
  border-radius: 3.52vw;
  cursor: pointer;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 45.45%;
}

.x6110 {
  background-color: var(--sandstone);
  border: 0.07vw solid;
  border-color: var(--shadow);
  border-radius: 3.52vw;
  cursor: pointer;
  height: 100%;
  left: 23.66vw;
  position: absolute;
  top: 0;
  width: 45.45%;
}

.s__36143119 {
  height: 24.15%;
  left: 38.87vw;
  mix-blend-mode: screen;
  object-fit: cover;
  position: absolute;
  top: 2.817vw;
  width: 24.37%;
}

.u-bpad20 {
  padding-bottom: 20px;
}

/* u-marker */
.u-marker {
  position: relative;
  z-index: 0;
}

.u-marker::after {
  content: "";
  position: absolute;
  left: -5%;
  bottom: -0.1em;
  width: 110%;
  z-index: -1;
  height: 0.85vw;
  background-color: var(--metallic-sunburst);
  opacity: 0.1;
}

@media screen and (max-width: 768px) {
  .u-marker::after {
    height: 2.85vw
  }
}

/* Component: c-marker--orange (オレンジマーカー) - BEM準拠 */
.c-marker--orange {
  position: relative;
  z-index: 0;
}

.c-marker--orange::after {
  content: "";
  position: absolute;
  left: -5%;
  bottom: 0.1em;
  width: 110%;
  z-index: -1;
  height: 0.85vw;
  background-color: var(--pumpkin);
  opacity: 0.22;
}

@media screen and (max-width: 768px) {
  .c-marker--orange::after {
    height: 2.85vw
  }
}

/* c-title01 */
.c-title01_wrap {
  flex: 1;
  position: relative;
  margin-bottom: 3.661vw;
}

@media screen and (max-width: 768px) {
  .c-title01_wrap {
    margin-bottom: 7.435vw;
  }
}

.c-title01_wrap::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 1.549vw;
  width: 100%;
  height: 1px;
  background-color: var(--sandstone);
}

@media screen and (max-width: 768px) {
  .c-title01_wrap::before {
    top: 3.549vw;
  }
}

.c-title01 {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook);
  font-size: 2.676vw;
  font-weight: 300;
  letter-spacing: 0.21vw;
}

@media screen and (max-width: 768px) {
  .c-title01 {
    font-size: 7.179vw;
  }
}

.c-title01 .goldenbook-light-sandstone-38px {
  background-color: #fff;
  position: relative;
  padding-right: 1em;
}

@media screen and (max-width: 768px) {
  .c-title01 .goldenbook-light-sandstone-38px {
    font-size: 7.179vw;
  }
}

.c-title01_jp {
  letter-spacing: 0.09vw;
  line-height: 1.8;
  padding-top: 0.704vw;
}

@media screen and (max-width: 768px) {
  .c-title01_jp {
    padding-top: 2.564vw;
  }
}

/* Component: c-page-title (ページタイトル) - BEM準拠 */
.c-page-title {
  text-align: center;
  height: auto;
  margin: 0 auto 0;
  position: relative;
}

.c-page-title__en {
  letter-spacing: 0;
  line-height: 4.23vw;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .c-page-title__en {
    line-height: 1.8;
    font-size: 7.179vw;
  }
}

.c-page-title__ja {
  bottom: 0.28vw;
  letter-spacing: 0.09vw;
  line-height: 2.54vw;
  white-space: nowrap;
  font-size: 1.127vw;
}

@media screen and (max-width: 768px) {
  .c-page-title__ja {
    font-size: 4.102vw;
  }
}

/* Component: c-main-visual (メインビジュアル) - BEM準拠 */
.c-main-visual {
  margin: 3.66vw auto 0;
  position: relative;
  width: 84.507vw;
}

@media screen and (max-width: 768px) {
  .c-main-visual {
    margin: 5.128vw auto 0;
    width: 100%;
  }
}

.c-main-visual__image {
  border-radius: 2.817vw;
  object-fit: cover;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-main-visual__image {
    border-radius: 0;
  }
}

.c-main-visual__title {
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  text-align: center;
  margin-top: 3.239vw;
  font-size: 1.408vw;
}

@media screen and (max-width: 768px) {
  .c-main-visual__title {
    padding: 8.205vw 3.589vw 0;
    margin-top: 0;
    font-size: 4.102vw;
  }
}

.c-main-visual__text {
  letter-spacing: 0.08vw;
  line-height: 2.5;
  text-align: center;
  margin-top: 1.408vw;
  font-size: 0.986vw;
}

@media screen and (max-width: 768px) {
  .c-main-visual__text {
    line-height: 2.5;
    padding: 5.128vw 3.589vw 0;
    margin-top: 0;
    font-size: 3.076vw;
  }
}

/* ==========================================================================
   Component: Campaign (キャンペーンセクション) - BEM準拠
   ※index.html と price.html で共通使用
   ========================================================================== */

/* Block: c-campaign
   ========================================================================== */
.c-campaign {
  background-color: var(--desert-storm);
  padding: 6.338vw 7.746vw;
}

@media screen and (max-width: 768px) {
  .c-campaign {
    padding: 11.538vw 8.974vw;
  }
}

/* Element: c-campaign__title (タイトルエリア)
   ========================================================================== */
.c-campaign__title {
  text-align: center;
}

.c-campaign__title-img {
  width: 39.718vw;
  object-fit: cover;
  max-width: 564px;
  margin-left: 7.225vw;
}

@media screen and (max-width: 768px) {
  .c-campaign__title-img {
    width: 64.102vw;
    margin-left: 12.817vw;
  }
}

/* Element: c-campaign__menu (特典メニューエリア)
   ========================================================================== */
.c-campaign__menu {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .c-campaign__menu {
    display: block;
  }
}

/* Element: c-campaign__item (各特典アイテム)
   ========================================================================== */
.c-campaign__item {
  height: 30.49vw;
  object-fit: cover;
  /* width: 25.65vw; */
}

.c-campaign__item:not(:first-child) {
  margin-left: 3.44vw;
}

@media screen and (max-width: 768px) {
  .c-campaign__item {
    height: auto;
    width: 100%;
    margin-left: 0;
  }

  .c-campaign__item:not(:first-child) {
    margin-top: 7.179vw;
    margin-left: 0;
  }
}

.c-price-section {
  width: 84.51vw;
  margin: 4.51vw auto 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .c-price-section {
    width: 82.051vw;
    margin: 12.307vw auto 0;
    position: relative;
  }
}

.c-price-trial {
  width: 100%;
  position: relative;
  margin-bottom: 5.492vw;
}

@media screen and (max-width: 768px) {
  .c-price-trial {
    text-align: center;
    margin-bottom: 15.384vw;
  }
}

@media screen and (max-width: 768px) {
  .c-price-trial .c-title01_wrap {
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .c-price-trial__label {
    margin-bottom: 5.128vw;
  }
}

.c-price-trial__box {
  display: inline-flex;
  align-items: baseline;
  position: relative;
  margin-bottom: 2.112vw;
  background: linear-gradient(transparent 50%, #F5F2EC 50%, #F5F2EC 75%, transparent 75%);
}

@media screen and (max-width: 768px) {
  .c-price-trial__box {
    text-align: center;
    margin-bottom: 11.538vw !important;
    background: linear-gradient(transparent 45%, #F5F2EC 45%, #F5F2EC 105%, transparent 105%);
  }
}

.c-price-trial__box-title {
  display: inline-block;
  letter-spacing: 0.1vw;
  line-height: 2.54vw;
  padding-left: 0.5em;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .c-price-trial__box-title {
    font-size: 3.589vw;
  }
}

.c-price-trial__box-price {
  display: inline-block;
  letter-spacing: 0.1vw;
  line-height: 2.89vw;
  font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", "MS Mincho", serif !important;
  white-space: nowrap;
  padding-left: .3em;
}

@media screen and (max-width: 768px) {
  .c-price-trial__box-price {
    font-size: 8.205vw;
  }
}

.c-price-trial__box-tax {
  display: inline-block;
  letter-spacing: 0.11vw;
  line-height: 3.38vw;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .c-price-trial__box-tax {
    font-size: 3.333vw;
  }
}

.c-price-trial__box-info {
  position: absolute;
  left: 9em;
  bottom: -10px;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .c-price-trial__box-info {
    position: absolute;
    left: 7em;
    bottom: -5.128vw;
    white-space: nowrap;
  }
}

.pricepage .text-80 {
  letter-spacing: 0.11vw;
  line-height: 1.8;
}

.c-btn-reserve {
  background-color: var(--sandstone);
  border: 0.07vw solid;
  border-color: var(--shadow);
  border-radius: 3.52vw;
  display: flex;
  min-width: 170px;
  max-width: 316px;
  width: 19.72vw;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.549vw;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .c-btn-reserve {
    min-width: 1px;
    max-width: 100%;
    width: 58.974vw;
    margin: 0 auto 5.128vw;
    border-radius: 5.128vw;
  }
}

.c-btn-reserve a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 1.5vw;
  text-align: center;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .c-btn-reserve a {
    padding: 3vw;
  }
}

.c-price-section .c-price-regular {
  width: 100%;
  margin-bottom: 4.718vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-regular {
    text-align: center;
    margin-bottom: 14.358vw;
  }
}

@media screen and (max-width: 768px) {
  .c-price-section .c-title01_wrap {
    text-align: left;
  }
}

.c-price-section .c-price-trial__box {
  margin-bottom: 40px;
}

.c-price-regular__content .c-price-trial__box {
  margin-bottom: 40px;
}

.c-price-menu__list .c-price-trial__box {
  margin-bottom: 2.112vw;
}

@media screen and (max-width: 768px) {
  .c-price-menu__list .c-price-trial__box {
    margin-bottom: 11.538vw !important;
  }
}

.c-price-section .c-price-regular__content {
  position: relative;
  padding-bottom: 4.436vw;
  border-bottom: 1px dashed #BAB5B0;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-regular__content {
    padding-bottom: 14.358vw;
  }
}

@media screen and (max-width: 768px) {
  .c-price-regular__label {
    margin-bottom: 5.128vw;
  }
}

.c-price-section .c-price-regular__note {
  letter-spacing: 0.11vw;
  line-height: 1.97vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-regular__note {
    text-align: left;
    line-height: 1.8;
  }
}

.c-price-section .c-price-menu {
  display: flex;
  flex-direction: column;
  gap: 2.25vw;
  justify-content: flex-end;
  max-width: 67.68vw;
  padding-top: 4.436vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-menu {
    max-width: 100%;
    padding-top: 14.358vw;
  }
}

.c-price-section .c-price-menu__list {
  display: flex;
  flex: 1;
  justify-content: space-between;
  max-width: 1100px;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-menu__list {
    display: block;
  }
}

.c-price-section .c-price-menu__category--month {
  position: relative;
  width: 42.07vw;
  max-width: 550px;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-menu__category--month {
    width: 100%;
  }
}

.c-price-section .c-price-menu__category--month .c-price-menu__label--subscription {
  padding-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-menu__category--month .c-price-menu__label--subscription {
    padding-bottom: 8.974vw;
  }
}

.c-price-section .c-price-menu__category--coupon {
  position: relative;
  width: 32.96vw;
  max-width: 450px;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-menu__category--coupon {
    width: 100%;
  }
}

.c-price-section .c-price-menu__label--coupon {
  padding-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-price-menu__label--coupon {
    padding-bottom: 8.974vw;
  }
}

.c-price-section .c-price-trial__box--month8 {
  margin-bottom: 0;
}

.c-price-section .c-price-trial__box--coupon8 {
  margin-bottom: 0;
}

.c-price-section .text-95 {
  letter-spacing: 0.1vw;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .c-price-section .text-95 {
    text-align: left;
  }
}

.c-price-section .c-essentials {
  position: relative;
  margin-bottom: 8.45vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-essentials {
    margin-bottom: 15.38vw;
  }
}

.c-price-section .c-essentials__content {
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-essentials__content {
    display: block;
  }
}

.c-price-section .c-essentials__image {
  align-self: flex-end;
  border-radius: 2.817vw;
  height: 27.18vw;
  object-fit: cover;
  width: 50.7vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-essentials__image {
    height: auto;
    width: 100%;
  }
}

.c-price-section .c-essentials__text {
  letter-spacing: 0.12vw;
  line-height: 3.1vw;
  width: 28.73vw;
}

@media screen and (max-width: 768px) {
  .c-price-section .c-essentials__text {
    line-height: 2;
    width: 100%;
    margin-top: 8.205vw;
    font-size: 3.076vw;
  }
}

/* ==========================================================================
   Component: Feature Grid (3カラムの特徴グリッド) - BEM準拠
   ※beginners.html と concept.html で共通使用
   ========================================================================== */

/* Block: c-feature-grid
   ========================================================================== */
.c-feature-grid {
  display: flex;
  flex-direction: column;
  margin: 7.61vw auto;
  width: 84.51vw;
}

@media screen and (max-width: 768px) {
  .c-feature-grid {
    display: block;
    margin: 0 auto;
    width: 82.051vw;
  }
}

/* Element: c-feature-grid__list (3カラムのリスト)
   ========================================================================== */
.c-feature-grid__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .c-feature-grid__list {
    display: block;
  }
}

/* Element: c-feature-grid__item (各アイテム)
   ========================================================================== */
.c-feature-grid__item {
  width: 25.35vw;
}

@media screen and (max-width: 768px) {
  .c-feature-grid__item {
    width: 100%;
    text-align: center;
  }

  .c-feature-grid__item:not(:first-child) {
    margin-top: 10.256vw;
  }
}

/* Element: c-feature-grid__image (画像)
   ========================================================================== */
.c-feature-grid__image {
  border-radius: 3.52vw;
  object-fit: cover;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c-feature-grid__image {
    width: 76%;
    margin: 0 auto;
  }
}

/* Element: c-feature-grid__title (タイトル)
   ========================================================================== */
.c-feature-grid__title {
  letter-spacing: 0.11vw;
  line-height: 2.817vw;
  font-size: 1.408vw;
  padding-top: 2.535vw;
}

@media screen and (max-width: 768px) {
  .c-feature-grid__title {
    line-height: 1.8;
    font-size: 4.358vw;
    padding-top: 3.846vw;
    text-align: left;
  }
}

/* Element: c-feature-grid__description (説明文)
   ========================================================================== */
.c-feature-grid__description {
  letter-spacing: 0.07vw;
  line-height: 2.18vw;
  font-size: 1.127vw;
  padding-top: 1.338vw;
}

@media screen and (max-width: 768px) {
  .c-feature-grid__description {
    line-height: 1.8;
    font-size: 3.846vw;
    padding-top: 3.076vw;
    text-align: left;
  }
}

/* ==========================================================================
/* ========================================
   TOP PAGE
======================================== */

/* screen - toppage */

.toppage {
  background-color: var(--white);
  position: relative;
  width: 100%;
}

.toppage .p-top-mv {
  display: flex;
  /* height: 49.3vw; */
  width: 100%;
  position: relative;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv {
    min-height: 100vh;
    min-height: 100svh;
  }
}

.toppage .p-top-mv__slider {
  flex: 1;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv__slider {
    width: 100%
  }
}

.toppage .p-top-mv__slide {
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
}

.toppage .p-top-mv__slide p {
  background-position: 50% 50%;
  background-size: cover;
  display: flex;
  min-height: 100vh;
  min-height: 100svh;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv__slide p {
    background-position: 90% 50%;
  }
}

.toppage .p-top-mv__slide .pc-only {
  display: block !important;
}

.toppage .p-top-mv__slide .sp-only {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv__slide .pc-only {
    display: none !important;
  }

  .toppage .p-top-mv__slide .sp-only {
    display: block !important;
  }
}

/* .toppage .x6114 {
  background: linear-gradient(180deg, #bfbfb2 0%, #ffffff 100%);
  margin-bottom: -1.2vw;
  margin-left: 1.2vw;
  margin-top: -1.2vw;
  mix-blend-mode: multiply;
  transform: rotate(-90deg);
  width: 49.3vw;
} */

.toppage .p-top-mv__text {
  bottom: 5.14vw;
  display: flex;
  flex-direction: column;
  height: 26.71%;
  justify-content: space-between;
  left: 7.61vw;
  position: absolute;
  width: 24.93%;
  z-index: 50;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv__text {
    bottom: 5.897vw;
    height: auto;
    left: 6.41vw;
    width: 24.93%;
  }
}

.toppage .p-top-mv__title {
  -webkit-text-stroke: 0.04vw var(--white);
  color: var(--white);
  flex: 1;
  font-family: var(--font-family-harshita-regular);
  font-size: 3.803vw;
  font-weight: 400;
  height: 5.21vw;
  letter-spacing: 0;
  line-height: 4.23vw;
  margin-left: 0.21vw;
  margin-right: 1.27vw;
  margin-top: 0.42vw;
  max-height: 5.21vw;
  text-shadow: 0.21vw 0.21vw 0.42vw #00000029;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv__title {
    font-size: 9.23vw;
    height: auto;
    margin: 0;
    max-height: 100%;
  }
}

.toppage .p-top-mv__subtitle {
  color: var(--white);
  flex: 1;
  font-family: var(--font-family-shippori_mincho);
  font-size: 2.113vw;
  font-weight: 500;
  height: 6.97vw;
  letter-spacing: 0.17vw;
  line-height: 3.66vw;
  margin-bottom: 0.11vw;
  margin-right: -0.14vw;
  max-height: 6.97vw;
  text-shadow: 0.21vw 0.21vw 0.42vw #00000029;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-mv__subtitle {
    font-size: 4.102vw;
    height: auto;
    line-height: 1.6;
    margin: 3.333vw 0 0;
    max-height: 100%;
  }
}

.toppage .p-top-lead {
  background-image: url(../img/file--------1-1x-png@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  display: flex;
  left: 0;
  width: 100%;
}

.toppage .p-top-lead__wrap {
  text-align: center;
  padding: 10.77vw 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-lead__wrap {
    padding: 26.923vw 0;
  }
}

.toppage .p-top-lead__text {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.901vw;
  font-weight: 500;
  letter-spacing: 0.15vw;
  line-height: 3.31vw;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-lead__text {
    font-size: 4.102vw;
    line-height: 2;
    white-space: normal;
  }
}

.toppage .p-top-lead__text-en {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-light);
  font-size: 1.69vw;
  font-weight: 300;
  height: 2.25vw;
  letter-spacing: 0.1vw;
  line-height: 2.68vw;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-lead__text-en {
    font-size: 3.846vw;
    height: auto;
    line-height: 2;
    white-space: normal;
  }
}

.toppage .p-top-concept {
  background-color: #E9E5DF;
  padding: 7.746vw;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept {
    padding: 11.538vw 8.974vw;
  }
}

.toppage .p-top-concept__wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__wrap {
    display: block;
  }
}

.p-top-concept__content {
  width: 45%;
  padding-top: 2.816vw;
  margin-left: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-top-concept__content {
    width: 100%;
    padding-top: 7.179vw;
    margin-left: 0;
  }
}

.toppage .p-top-concept__image {
  border-radius: 4.23vw;
  object-fit: cover;
  width: calc(45% - 1.408vw);
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__image {
    width: 100%;
  }
}

.toppage .p-top-concept__title-wrap {
  color: var(--shadow);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xxxl);
  font-weight: 400;
  left: 0;
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  white-space: nowrap;
  width: 20.19%;
}

.toppage .p-top-concept__title-en {
  display: block;
  color: var(--shadow);
  font-family: var(--font-family-harshita-regular);
  font-size: 3.803vw;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.00px;
  line-height: 60px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__title-en {
    font-size: 8.717vw;
    line-height: 1.8;
  }
}

.toppage .p-top-concept__title-ja {
  display: block;
  color: var(--shadow);
  font-family: var(--font-family-shippori_mincho);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 1.60px;
  line-height: 36px;
  padding-top: 1.408vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__title-ja {
    line-height: 1.6;
    padding-top: 0;
  }
}

.p-top-concept__btn-wrap {
  width: 9.86vw;
  text-align: left;
  margin: 2.887vw 0 0 auto;
}

@media screen and (max-width: 768px) {
  .p-top-concept__btn-wrap {
    width: 26.666vw;
    margin: 8.205vw 0 0 auto;
  }
}

.p-top-concept__btn-wrap a {
  display: block;
  position: relative;
}

.toppage .p-top-concept__btn {
  position: relative;
  bottom: 0;
  right: 0;
  background: url(../img/file---4278-1x-png-1@1x.png) no-repeat right bottom;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__btn {
    padding-bottom: 6.41vw;
  }
}

.toppage .p-top-concept__btn-text {
  color: var(--shadow);
  font-family: var(--font-family-goldenbook-light);
  font-size: var(--font-size-xxxl);
  font-weight: 300;
  letter-spacing: 0.08vw;
  line-height: 2.11vw;
  white-space: nowrap;
}

.toppage .p-top-concept__text {
  letter-spacing: 0.08vw;
  line-height: 3.1vw;
  width: 100%;
  padding-top: 20px;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__text {
    line-height: 2.5;
    padding-top: 7.179vw;
  }
}

.toppage .p-top-feature {
  width: 100%;
  padding: 7.464vw 0;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature {
    padding: 11.538vw 8.974vw;
  }
}

.toppage .p-top-feature__title {
  text-align: center;
  margin-bottom: 4.718vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__title {
    margin-bottom: 8.205vw;
  }
}

.toppage .p-top-feature__title-en {
  color: var(--sandstone);
  font-family: var(--font-family-harshita);
  font-size: 3.521vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 4.23vw;
  white-space: nowrap;
  width: 28.73vw;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__title-en {
    font-size: 7.692vw;
    line-height: 1.8;
    width: 100%;
  }
}

.toppage .p-top-feature__title-ja {
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  margin-left: 13.45vw;
  text-align: center;
  white-space: nowrap;
  padding-top: 10px;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__title-ja {
    font-size: 4.102vw;
    margin-left: 0;
  }
}

.toppage .span-1 {
  font-family: var(--font-family-harshita-regular);
}

.toppage .p-top-feature__item--01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 92.32vw;
  position: relative;
  margin: 0 0 0 auto;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__item--01 {
    width: 100%;
    flex-wrap: wrap;
  }
}

.toppage .p-top-feature__content {
  position: relative;
  width: 29.01vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__content {
    order: 2;
    width: 100%;
    padding-top: 3.846vw;
  }
}

.toppage .p-top-feature__number-wrap {
  width: 3.2em;
  margin-bottom: 2em;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__number-wrap {
    margin-bottom: 1.5em;
  }
}

.toppage .p-top-feature__number {
  display: block;
  letter-spacing: 0.12vw;
  margin-left: 0.28vw;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__number {
    display: block;
    letter-spacing: 0.12vw;
    margin-left: 0.28vw;
    font-size: 7.179vw;
  }
}

.toppage .p-top-feature__line {
  background-color: var(--metallic-sunburst);
  height: 0.99vw;
  margin-top: -1vw;
  margin-bottom: 0.07vw;
  margin-right: 0.5vw;
  max-height: 0.99vw;
  opacity: 0.1;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__line {
    height: 2.564vw;
    max-height: 2.564vw;
    margin-top: -2.5vw;
  }
}

.toppage .p-top-feature__item-title {
  letter-spacing: 0.1vw;
  line-height: 3.66vw;
  width: 23.73vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__item-title {
    line-height: 1.8;
    width: 100%;
    font-size: 4.102vw;
  }
}

.toppage .p-top-feature__description {
  bottom: 0.42vw;
  letter-spacing: 0.08vw;
  line-height: 2.68vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__description {
    line-height: 1.8;
  }
}

.toppage .p-top-feature__image {
  border-radius: 5.63vw;
  height: 30.99vw;
  object-fit: cover;
  width: 53.94vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__image {
    order: 1;
    height: auto;
    width: 100%;
  }
}

.toppage .p-top-feature__item--02 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 92.32vw;
  position: relative;
  margin: 5.633vw auto 0 0;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__item--02 {
    width: 100%;
    flex-wrap: wrap;
    margin: 11.282vw auto 0;
  }
}

.toppage .p-top-feature__item--03 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 92.32vw;
  position: relative;
  margin: 5.633vw 0 0 auto;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-feature__item--03 {
    width: 100%;
    flex-wrap: wrap;
    margin: 11.282vw auto 0;
  }
}

.toppage .p-top-studio {
  width: 100%;
  background-color: #F9F8F5;
  padding: 7.746vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio {
    padding: 11.538vw 8.974vw;
  }
}

.toppage .p-top-studio__title {
  text-align: center;
}

.toppage .p-top-studio__title-en {
  letter-spacing: 0;
  line-height: 4.23vw;
  text-align: center;
  white-space: nowrap;
  font-size: 3.803vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__title-en {
    line-height: 1.8;
    font-size: 8.717vw;
  }
}

.toppage .p-top-studio__title-jp {
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__title-jp {
    line-height: 1.8;
    font-size: 4.102vw;
  }
}

.toppage .p-top-studio__text {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-l);
  font-weight: 500;
  letter-spacing: 0.08vw;
  line-height: 3vw;
  text-align: center;
  padding-top: 20px;
  padding-bottom: 5.422vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__text {
    line-height: 2.5;
    padding-top: 20px;
    padding-bottom: 5.422vw;
  }
}

.toppage .p-top-studio__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 3.943vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__list {
    display: block;
    gap: 0;
  }
}

.toppage .p-top-studio__item {
  flex-basis: calc((100% - 3.943vw) / 2);
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item:nth-child(n+2) {
    margin-top: 8.205vw;
  }
}

.toppage .p-top-studio__item-link {
  display: block;
  position: relative;
  height: 22.54vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item-link {
    height: 45.897vw;
  }
}

.toppage .p-top-studio__item-image {
  border-radius: 2.817vw;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item-image {
    height: 45.897vw;
    width: 100%;
  }
}

.toppage .p-top-studio__item-cover {
  background-color: var(--black);
  border-radius: 2.817vw;
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.15;
  position: absolute;
  top: 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item-cover {
    height: 45.897vw;
  }
}

.toppage .p-top-studio__item-name-jp {
  height: 13.44%;
  left: 2.96vw;
  letter-spacing: 0.16vw;
  line-height: 3.31vw;
  position: absolute;
  top: 15.21vw;
  white-space: nowrap;
  width: 15.73%;
  font-size: 1.972vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item-name-jp {
    height: 100%;
    left: 6.923vw;
    top: 27.948vw;
    width: 15.73%;
    font-size: 4.615vw;
  }
}

.toppage .p-top-studio__item-name-en {
  height: 9.69%;
  left: 2.96vw;
  letter-spacing: 0.1vw;
  line-height: 2.46vw;
  position: absolute;
  top: 18.17vw;
  white-space: nowrap;
  width: 30.42%;
  font-size: 1.62vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-studio__item-name-en {
    height: 100%;
    left: 6.923vw;
    top: 35.128vw;
    width: 30.42%;
    font-size: 3.846vw;
  }
}

/* .toppage .x7499 {
  display: flex;
  gap: 3.94vw;
  height: 22.54vw;
  width: 84.51vw;
  margin-top: 3.943vw;
}

@media screen and (max-width: 768px) {
  .toppage .x7499 {
    display: block;
    gap: 0;
    height: auto;
    width: 100%;
    margin-top: 8.205vw;
  }
}

@media screen and (max-width: 768px) {
  .toppage .x7499 a:nth-child(n+2) {
    display: block;
    margin-top: 8.205vw;
  }
} */

/* .toppage .x6060 {
  background-color: var(--black);
  border-radius: 2.817vw;
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.15;
  position: absolute;
  top: 0;
  width: 100%;
}

.toppage .x6059 {
  background-color: var(--black);
  border-radius: 2.817vw;
  height: 100%;
  left: 0;
  mix-blend-mode: multiply;
  opacity: 0.25;
  position: absolute;
  top: 0;
  width: 100%;
} */

.toppage .btn-more-2 {
  bottom: 7.04vw;
  right: 7.75vw;
}

.toppage .p-top-concept__btn-text-1 {
  height: 1.9vw;
  left: 0.14vw;
  letter-spacing: 0.08vw;
  line-height: 2.11vw;
  position: absolute;
  top: -0.14vw;
  white-space: nowrap;
  width: 6.62vw;
}

.toppage .topbeginners {
  background-color: #F4F2EB;
  width: 100%;
}

.topbeginners_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .topbeginners_wrap {
    display: block;
  }
}

.toppage .x1756549855587 {
  /* height: 47.54vw; */
  object-fit: cover;
  width: 44.08vw;
}

@media screen and (max-width: 768px) {
  .toppage .x1756549855587 {
    width: 100%;
  }
}

.toppage .topbeginners_text {
  margin-right: 7.75vw;
  position: relative;
  width: 41.27vw;
}

@media screen and (max-width: 768px) {
  .toppage .topbeginners_text {
    margin-right: 0;
    width: 100%;
    text-align: center;
    padding: 12.307vw 7.746vw;
  }
}

.toppage .for-beginners {
  color: var(--shadow);
  font-family: var(--font-family-harshita-regular);
  font-size: 3.732vw;
  font-weight: 400;
  left: 0;
  letter-spacing: 0;
  line-height: 4.23vw;
  white-space: nowrap;
  width: 55.12%;
}

@media screen and (max-width: 768px) {
  .toppage .for-beginners {
    font-size: 8.717vw;
    line-height: 1.8;
    white-space: nowrap;
    width: 100%;
  }
}

.toppage .text-17 {
  color: var(--shadow);
  font-family: var(--font-family-shippori_mincho);
  font-size: var(--font-size-xxxl);
  font-weight: 400;
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .text-17 {
    font-size: 4.102vw;
    line-height: 1.8;
  }
}

.toppage .text-18 {
  letter-spacing: 0.08vw;
  line-height: 3vw;
  width: 100%;
  padding-top: 2.816vw;
}

@media screen and (max-width: 768px) {
  .toppage .text-18 {
    text-align: left;
    letter-spacing: 0.08vw;
    line-height: 2.5;
    width: 100%;
    padding-top: 7.179vw;
  }
}

.toppage .btn-more {
  bottom: 0.07vw;
  cursor: pointer;
  height: 2.68vw;
  position: absolute;
  right: 0;
  width: 9.86vw;
}

.toppage .p-top-news {
  width: 84.51vw;
  position: relative;
  margin: 7.746vw auto;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-news {
    width: 100%;
    padding: 11.538vw 8.974vw;
  }
}

.toppage .p-top-news__title {
  height: 7.82vw;
  left: 0;
  position: absolute;
  top: 0;
  width: 9.23vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-news__title {
    height: auto;
    position: relative;
    width: 100%;
  }
}

.toppage .news {
  height: 66.67%;
  left: 0;
  letter-spacing: 0;
  line-height: 4.23vw;
  position: absolute;
  top: 0.42vw;
  white-space: nowrap;
  font-size: 3.803vw;
}

@media screen and (max-width: 768px) {
  .toppage .news {
    height: 100%;
    line-height: 1;
    position: relative;
    top: 0;
    font-size: 8.717vw;
  }
}

.toppage .text-19 {
  height: 27.93%;
  left: 0;
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  position: absolute;
  top: 5.49vw;
  white-space: nowrap;
  width: 65.41%;
}

@media screen and (max-width: 768px) {
  .toppage .text-19 {
    height: 100%;
    line-height: 1.8;
    position: relative;
    top: 0;
    font-size: 4.102vw;
  }
}

.toppage .x7502 {
  width: 100%;
  padding-left: calc(22.69% - 1.48vw);
}

@media screen and (max-width: 768px) {
  .toppage .x7502 {
    width: 100%;
    padding-left: 0;
  }
}

.toppage .x7502 ul {
  width: 42.253vw;
}

@media screen and (max-width: 768px) {
  .toppage .x7502 ul {
    width: 100%;
    padding-top: 7.692vw;
  }
}

.toppage .x7502 li {
  line-height: 2;
  padding-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .toppage .x7502 li {
    line-height: 1.6;
    padding-bottom: 7.692vw;
  }
}

.toppage .x7502 li a {
  display: block;
  color: var(--shadow);
  position: relative;
  padding-left: 12em;
}

@media screen and (max-width: 768px) {
  .toppage .x7502 li a {
    padding-left: 0;
  }
}

.toppage .x7502 li .date {
  display: block;
  position: absolute;
  width: 10em;
  left: 0;
  top: 0;
}

@media screen and (max-width: 768px) {
  .toppage .x7502 li .date {
    position: relative;
    width: 100%;
  }
}

.p-top-news .p-top-concept__btn-wrap {
  margin-top: 0;
}

.toppage .topsns {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 50%;
  margin: 0 auto;
  padding: 4.225vw 0;
}

@media screen and (max-width: 768px) {
  .toppage .topsns {
    width: 100%;
    padding: 11.538vw 8.974vw;
  }
}

.toppage .topsns_title {
  color: var(--sandstone);
  font-family: var(--font-family-harshita);
  font-size: 2.817vw;
  font-weight: 400;
  letter-spacing: 0.11vw;
  line-height: 4.23vw;
  margin-top: -0.25vw;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .toppage .topsns_title {
    font-size: 8.717vw;
    line-height: 1.8;
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .toppage .topsns_title .harshita-regular-normal-sandstone-40px {
    font-size: 8.717vw;
  }
}

.toppage .span0 {
  letter-spacing: 0.28vw;
}

.toppage .snsbtn {
  display: flex;
  flex: 1;
  justify-content: space-between;
  max-height: 3.94vw;
  width: 10.422vw;
  margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
  .toppage .snsbtn {
    height: auto;
    justify-content: center;
    max-height: 100%;
    width: 37.948vw;
    margin: 5.128vw auto 0;
    justify-content: space-between;
  }
}

.toppage .btn-line {
  background-color: var(--sandstone);
  border-radius: 0.99vw;
  cursor: pointer;
  display: flex;
  align-items: center;
  /* ← 追加 */
  justify-content: center;
  /* ← 追加 */
  opacity: 0.8;
  width: 3.94vw;
  height: 3.94vw;
  /* ← 追加 */
}

@media screen and (max-width: 768px) {
  .toppage .btn-line {
    width: 14.358vw;
    height: 14.358vw;
  }
}

.toppage .x66 {
  width: 2.25vw;
  height: 2.25vw;
  object-fit: contain;
  /* ← 画像全体を表示 */
}

@media screen and (max-width: 768px) {
  .toppage .x66 {
    width: 8.2vw;
    height: 8.2vw;
    object-fit: contain;
    /* ← 画像全体を表示 */
  }
}

/* Instagram ボタン：iPhoneでの見切れ修正 */

.toppage .btn-insta {
  background-color: var(--sandstone);
  border-radius: 0.99vw;
  cursor: pointer;
  opacity: 0.8;
  display: flex;
  /* 追加 */
  align-items: center;
  /* 追加 */
  justify-content: center;
  /* 追加 */
  width: 3.94vw;
  height: 3.94vw;
  /* 追加 */
}

@media screen and (max-width: 768px) {
  .toppage .btn-insta {
    width: 14.358vw;
    height: 14.358vw;
    cursor: pointer;
    display: flex;
  }
}

.toppage .icon_instagram {
  width: 1.9vw;
  height: 1.9vw;
  object-fit: contain;
  /* cover → contain に変更 */
  /* position: absolute を削除 */
  /* left, top を削除（flexで中央揃え） */
}

@media screen and (max-width: 768px) {
  .toppage .icon_instagram {
    width: 8.2vw;
    /* 固定幅 */
    height: 8.2vw;
    /* 固定高さ */
    object-fit: contain;
    /* cover → contain に変更 */
    /* flex: 1 を削除 */
    /* margin を削除 */
    /* position: relative を削除 */
  }
}


.toppage .topinstagram {
  width: 100%;
  padding: 7.746vw 0;
}

@media screen and (max-width: 768px) {
  .toppage .topinstagram {
    padding: 11.538vw 8.974vw;
  }
}

@media screen and (max-width: 768px) {
  .toppage .topinstagram_title {
    font-size: 8.717vw;
    line-height: 1.8;
  }
}

.topinstagram__wrap {
  padding-top: 3.521vw;
}

@media screen and (max-width: 768px) {
  .topinstagram__wrap {
    padding-top: 7.692vw;
  }
}

.toppage .x2025-09-10-153931 {
  left: 0;
  width: 15.42vw;
}

.toppage .x2025-09-10-163658 {
  left: calc(19.90% - 3.1vw);
  width: 15.49vw;
}

.toppage .x7504 {
  height: 100%;
  left: calc(49.95% - 16.2vw);
  position: absolute;
  top: 0;
  width: 32.39vw;
}

.toppage .topinstagram {
  letter-spacing: 0;
  line-height: 4.23vw;
  text-align: center;
  white-space: nowrap;
}

.toppage .x2025-09-10-163602 {
  left: 0;
  width: 15.49vw;
}

.toppage .x2025-09-10-163635 {
  right: 0;
  width: 15.49vw;
}

.toppage .x2025-09-10-163602-1 {
  border-radius: 1.41vw;
  bottom: 0;
  height: 20.85vw;
  object-fit: cover;
  position: absolute;
  right: calc(19.98% - 3.1vw);
  width: 15.49vw;
}

.toppage .information {
  height: 1.76vw;
  left: 0.28vw;
  letter-spacing: 0.16vw;
  line-height: 1.41vw;
  position: absolute;
  text-align: center;
  top: 0.14vw;
  white-space: nowrap;
  width: calc(100% - 0.42vw);
}

.toppage .p-top-concept__btn--style {
  cursor: pointer;
  height: 2.68vw;
  width: 9.86vw;
}

@media screen and (max-width: 768px) {
  .toppage .p-top-concept__btn--style {
    cursor: pointer;
    height: 4.102vw;
    width: 26.666vw;
  }
}

/* .toppage .x2025-09-10 {
  border-radius: 1.41vw;
  bottom: 0;
  height: 20.85vw;
  object-fit: cover;
  position: absolute;
} */
/* ========================================
   concept PAGE
======================================== */

/* screen - conceptpage */

.conceptpage {
  /* align-items: center;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  height: 279.01vw;
  width: 100.0vw; */
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .conceptpage {
    padding-top: calc(20vw + 10.256vw);
  }
}

.conceptpage .p-concept-vision {
  display: flex;
  width: 84.507vw;
  margin: 6.55vw auto 0;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision {
    display: block;
    width: 82.051vw;
    margin: 13.333vw auto 16.41vw;
  }
}

.conceptpage .p-concept-vision__content {
  width: 54.507vw;
  padding-right: 2.816vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision__content {
    width: 100%;
    padding-right: 0;
  }
}

.conceptpage .p-concept-vision__title-wrap {
  height: 2.11vw;
  position: relative;
  width: 34.65vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision__title-wrap {
    height: auto;
    position: relative;
    width: 100%;
  }
}

.conceptpage .p-concept-vision__icon {
  background-color: var(--metallic-sunburst);
  bottom: -0.352vw;
  height: 0.85vw;
  left: 0.77vw;
  opacity: 0.1;
  position: absolute;
  width: calc(100% - 0.77vw);
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision__icon {
    background-color: var(--metallic-sunburst);
    bottom: 1vw;
    height: 2vw;
    left: 0.77vw;
    opacity: 0.1;
    position: absolute;
    width: calc(100% - 0.77vw);
  }
}

.conceptpage .p-concept-vision__title {
  height: calc(100% + 0.07vw);
  left: 0;
  letter-spacing: 0.11vw;
  line-height: 2.54vw;
  width: calc(100% - 0.21vw);
  font-size: 1.408vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision__title {
    height: auto;
    line-height: 1.8;
    width: 100%;
    font-size: 4.102vw;
    text-align: center;
  }
}

.conceptpage .p-concept-vision__text {
  letter-spacing: 0.12vw;
  line-height: 3.1vw;
  margin-top: 2.8169vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision__text {
    letter-spacing: 0.12vw;
    line-height: 2.5;
    margin-top: 2.8169vw;
    font-size: 3.076vw;
  }
}

.conceptpage .p-concept-vision__image-wrap {
  width: 22.253vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-vision__image-wrap {
    width: 100%;
    padding: 6.153vw 0 0;
  }
}

.conceptpage .p-concept-vision__image-wrap img {
  width: 100%;
}

.conceptpage .p-concept-testimonials {
  margin: 14.358vw auto;
  width: 84.51vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-testimonials {
    margin: 7.61vw auto;
    width: 82.051vw;
  }
}

.conceptpage .p-concept-testimonials__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 40.845vw;
  background-color: rgba(118, 109, 99, 0.04);
  border-radius: 2.817vw;
  min-height: 17.746vw;
  padding: 3.521vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-testimonials__item {
    display: block;
    width: 100%;
    min-height: auto;
    padding: 7.692vw;
  }
}

.conceptpage .p-concept-testimonials__item:nth-child(n+3) {
  margin-top: 3.239vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-testimonials__item:nth-child(n+2) {
    margin-top: 8.205vw;
  }
}

.conceptpage .p-concept-testimonials__avatar {
  width: 9.014vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-testimonials__avatar {
    width: 33.076vw;
    margin: 0 auto 9.487vw;
  }
}

.conceptpage .p-concept-testimonials__avatar img {
  width: 100%;
}

.p-concept-testimonials__content {
  width: 21.971vw;
}

@media screen and (max-width: 768px) {
  .p-concept-testimonials__content {
    width: 100%;
  }
}

.conceptpage .p-concept-testimonials__name {
  letter-spacing: 0.1vw;
  line-height: 1.97vw;
  font-size: 1.197vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-testimonials__name {
    line-height: 1.8;
    font-size: 4.102vw;
  }
}

.conceptpage .p-concept-testimonials__comment {
  letter-spacing: 0.1vw;
  line-height: 1.83vw;
  font-size: 0.845vw;
  padding-top: 1.408vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-testimonials__comment {
    line-height: 1.8;
    font-size: 3.333vw;
    padding-top: 7.692vw;
  }
}

.conceptpage .p-concept-instructors {
  background-color: rgba(226, 221, 213, 0.4);
  margin-top: 7.75vw;
  position: relative;
  padding: 5.07vw 0;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-instructors {
    margin-top: 10.256vw;
    padding: 12.817vw 0;
  }
}

.conceptpage .p-concept-instructors__title-wrap {
  padding-bottom: 3.098vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-instructors__title-wrap {
    padding-bottom: 7.692vw;
  }
}

.conceptpage .p-concept-instructors__title-en {
  letter-spacing: 0.21vw;
  line-height: 3.04vw;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-instructors__title-en {
    line-height: 1.8;
  }
}

.conceptpage .p-concept-instructors__title-ja {
  letter-spacing: 0.09vw;
  line-height: 2.54vw;
  text-align: center;
  white-space: nowrap;
  padding-top: 10px;
}

@media screen and (max-width: 768px) {
  .conceptpage .p-concept-instructors__title-ja {
    line-height: 1.6;
    padding-top: 0;
  }
}

.conceptpage .p-concept-instructors__list {
  width: 100%;
}

.p-concept-instructors__item {
  text-align: center;
  margin: 0 20px;
}

.conceptpage .flex-col {
  align-items: flex-start;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 0.99vw;
  margin-bottom: -0.28vw;
  min-height: 21.69vw;
  width: 15.21vw;
  margin: 0 1.408vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .flex-col {
    margin-bottom: 0;
    min-height: 58.205vw;
    width: 46.153vw;
    margin: 0 7.179vw;
  }
}

.conceptpage .overlap-group {
  align-items: flex-end;
  background-color: var(--mercury);
  border-radius: 1.41vw;
  display: flex;
  height: 19.15vw;
  justify-content: flex-end;
  min-width: 15.21vw;
  padding: 8.59vw 5.7vw;
}

@media screen and (max-width: 768px) {
  .conceptpage .overlap-group {
    height: 58.205vw;
    min-width: 46.153vw;
    padding: 8.59vw 5.7vw;
    justify-content: center;
    align-items: center;
  }
}

.c-instructors__item-photo {
  width: 15.211vw;
  height: 19.154vw;
  border-radius: 20px;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .c-instructors__item-photo {
    width: 46.153vw;
    height: 58.205vw;
  }
}

.c-instructors__item-image {
  width: 15.211vw;
  height: 19.154vw;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .c-instructors__item-image {
    width: 46.153vw;
    height: 58.205vw;
    object-fit: cover;
  }
}

.c-instructors__item-name {
  letter-spacing: 0.16vw;
  line-height: 1.8;
  opacity: 0.8;
  white-space: nowrap;
  margin-top: 15px;
}

@media screen and (max-width: 768px) {
  .c-instructors__item-name {
    line-height: 1.8;
    margin-top: 10px;
  }
}

/* ========================================
   price PAGE
======================================== */

/* screen - price- */
.pricepage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .pricepage {
    padding-top: calc(20vw + 10.256vw);
  }
}

.pricepage .p-price-intro {
  text-align: center;
  margin: 3.873vw 3.873vw 4.929vw;
  position: relative;
}

@media screen and (max-width: 768px) {
  .pricepage .p-price-intro {
    margin: 8.461vw 8.974vw 15.384vw;
  }
}

.pricepage .p-price-intro__text {
  letter-spacing: 0.11vw;
  line-height: 2;
}

.pricepage .p-price-intro__note {
  margin-top: 2.464vw;
  letter-spacing: 0.08vw;
  line-height: 2;
}

@media screen and (max-width: 768px) {
  .pricepage .p-price-intro__note {
    line-height: 2.5;
    font-size: 3.076vw;
  }
}

/* ========================================
   studio PAGE
======================================== */

/* ==========================================================================
   Page: Studio - BEM準拠
   ※将来globals.cssに統合される際、.p-studio__プレフィックスで名前空間を保護
   ========================================================================== */

/* Page Container
   ========================================================================== */
.studiopage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .studiopage {
    padding-top: calc(20vw + 10.256vw);
  }
}

/* Component: p-studio-contents (スタジオコンテンツエリア)
   ========================================================================== */
.p-studio-contents {
  padding: 4.788vw 0 2.816vw;
}

@media screen and (max-width: 768px) {
  .p-studio-contents {
    padding: 5.897vw 0 7.692vw;
  }
}

/* Component: p-studio-item (各スタジオ店舗アイテム)
   ========================================================================== */
.p-studio-item {
  display: flex;
  width: 84.507vw;
  justify-content: space-between;
  position: relative;
  margin: 0 auto 5.211vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item {
    display: block;
    width: 82.051vw;
    font-size: 3.333vw;
    margin: 0 auto 16.41vw;
  }
}

/* Element: p-studio-item__image (店舗画像)
   ========================================================================== */
.p-studio-item__image {
  width: 35.633vw;
  border-radius: 2.817vw;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-studio-item__image {
    width: 100%;
    margin-bottom: 6.153vw;
  }
}

/* Element: p-studio-item__content (店舗情報コンテンツ)
   ========================================================================== */
.p-studio-item__content {
  width: 44.366vw;
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-studio-item__content {
    width: 100%;
  }
}

/* Element: p-studio-item__name (店舗名エリア)
   ========================================================================== */
.p-studio-item__name {
  padding-bottom: 1.056vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__name {
    padding-bottom: 3.846vw;
  }
}

/* Element: p-studio-item__name-ja (店舗名 日本語)
   ========================================================================== */

/* Element: p-studio-item__name-en (店舗名 英語)
   ========================================================================== */
.p-studio-item__name-en {
  letter-spacing: 0.08vw;
  line-height: 1.8;
  padding-left: 1em;
}

@media screen and (max-width: 768px) {
  .p-studio-item__name-en {
    display: block;
    padding: 2.564vw 0 0;
  }
}

/* Element: p-studio-item__info (情報ボックス dl要素)
   ========================================================================== */
.p-studio-item__info {
  padding-bottom: 1.056vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__info {
    padding-bottom: 3.846vw;
  }
}

/* Element: p-studio-item__info-title (情報タイトル dt要素)
   ========================================================================== */
.p-studio-item__info-title {
  letter-spacing: 0.12vw;
  line-height: 1.8;
}

/* Element: p-studio-item__info-text (情報テキスト dd要素)
   ========================================================================== */
.p-studio-item__info-text {
  letter-spacing: 0.11vw;
  line-height: 1.8;
}

/* Element: p-studio-item__access (交通アクセス - アイコン付き)
   ========================================================================== */
.p-studio-item__access {
  letter-spacing: 0.11vw;
  line-height: 1.8;
  position: relative;
  padding: 0.563vw 0 0 0;
  padding-left: calc(2.112vw);
}

@media screen and (max-width: 768px) {
  .p-studio-item__access {
    padding-left: 8.974vw;
  }
}

.p-studio-item__access:before {
  content: '';
  background-image: url(../img/file-----7141@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  top: 0.704vw;
  left: 0;
  height: 1.55vw;
  position: absolute;
  width: 1.27vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__access:before {
    top: 0.704vw;
    height: 5.641vw;
    width: 4.615vw;
  }
}

/* Element: p-studio-item__note (補足情報)
   ========================================================================== */
.p-studio-item__note {
  letter-spacing: 0.11vw;
  line-height: 1.8;
  padding-bottom: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__note {
    padding-bottom: 5.128vw;
  }
}

/* Element: p-studio-item__parking (駐車場情報 - アイコン付き)
   ========================================================================== */
.p-studio-item__parking {
  letter-spacing: 0.11vw;
  line-height: 1.8;
  position: relative;
  padding: 0.563vw 0 0 0;
  padding-left: 2.112vw;
  margin-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__parking {
    padding-left: 8.974vw;
    margin-bottom: 10.256vw;
  }
}

.p-studio-item__parking:before {
  content: '';
  background-image: url(../img/file-----7143@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 1.41vw;
  top: 0.704vw;
  left: 0;
  position: absolute;
  width: 1.41vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__parking:before {
    top: 0.704vw;
    height: 5.641vw;
    width: 4.615vw;
  }
}

/* Element: p-studio-item__cta (予約ボタン)
   ========================================================================== */
.p-studio-item__cta {
  background-color: var(--sandstone);
  border: 0.07vw solid;
  border-color: var(--shadow);
  border-radius: 3.52vw;
  display: flex;
  justify-content: center;
  width: 14.65vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__cta {
    width: 58.974vw;
    border-radius: 5.128vw;
    margin: 0 auto;
  }
}

.p-studio-item__cta-link {
  display: block;
  padding: 0.774vw 0;
  letter-spacing: 0.11vw;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-studio-item__cta-link {
    padding: 3.076vw 0;
  }
}

/* Element: p-studio-item__map-btn (地図ボタン)
   ========================================================================== */
.p-studio-item__map-btn {
  height: 2.04vw;
  position: absolute;
  right: 3.73vw;
  top: 0;
  width: 1.55vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__map-btn {
    height: 6.666vw;
    right: 10.769vw;
    width: 4.871vw;
  }
}

.p-studio-item__map-btn img {
  width: 100%;
  opacity: 0.5;
}

/* Element: p-studio-item__tel-btn (電話ボタン)
   ========================================================================== */
.p-studio-item__tel-btn {
  height: 2.04vw;
  opacity: 0.5;
  position: absolute;
  right: 0.07vw;
  top: 0;
  width: 2.18vw;
}

@media screen and (max-width: 768px) {
  .p-studio-item__tel-btn {
    height: 6.666vw;
    right: 0;
    width: 7.179vw;
  }
}

.p-studio-item__tel-btn img {
  width: 100%;
  opacity: 1;
}

/* ========================================
   beginners PAGE
======================================== */

/* screen - beginners-pc */
.beginnerspage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .beginnerspage {
    padding-top: calc(20vw + 10.256vw);
  }
}

@media screen and (max-width: 768px) {
  .beginnerspage .c-main-visual__text {
    text-align: left;
    padding-left: 8.974vw;
    padding-right: 8.974vw;
    padding-bottom: 14.358vw;
  }
}

.beginnerspage .p-beginners-recommended {
  background-color: #F4F2EF;
  margin-top: 5.63vw;
  padding: 6.197vw 0 6.76vw;
  margin: 7.61vw auto;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended {
    padding: 12.307vw 0 12.307vw;
    margin: 14.358vw auto 0;
  }
}

.beginnerspage .p-beginners-recommended .c-title01 .goldenbook-light-sandstone-38px {
  background-color: #F4F2EF !important;
}

.beginnerspage .p-beginners-recommended__wrap {
  width: 84.507vw;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended__wrap {
    width: 82.051vw;
  }
}

.beginnerspage .p-beginners-recommended__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.beginnerspage .p-beginners-recommended__list::after {
  content: "";
  width: calc((100% - 3 * 20px) / 4);
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended__list::after {
    display: none;
  }
}

.beginnerspage .flex-col {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  min-height: 53.38vw;
  width: 19.72vw;
}

.p-beginners-recommended__item {
  background-color: var(--white);
  border-radius: 2.817vw;
  display: flex;
  flex-direction: column;
  gap: 1.06vw;
  min-height: 22.39vw;
  padding: 2.11vw 2.32vw;
  width: 19.72vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-recommended__item {
    min-height: 50.256vw;
    padding: 0 3.333vw;
    width: 38.974vw;
  }
}

.p-beginners-recommended__item:nth-child(n+5) {
  margin-top: 2.816vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-recommended__item:nth-child(n+3) {
    margin-top: 5.128vw;
  }
}

.p-beginners-recommended__item:nth-child(3),
.p-beginners-recommended__item:nth-child(6) {
  padding-left: 1.32vw;
  padding-right: 1.32vw;
}

.p-beginners-recommended__item .shipporimincho-normal-sandstone-15px {
  font-size: 1.056vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-recommended__item .shipporimincho-normal-sandstone-15px {
    font-size: 2.307vw;
  }
}

.p-beginners-recommended__item .shipporimincho-medium-sandstone-18px {
  font-size: 1.268vw;
  letter-spacing: 0.1vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-recommended__item .shipporimincho-medium-sandstone-18px {
    font-size: 2.817vw;
  }
}

.beginnerspage .p-beginners-recommended__text {
  text-align: center;
  letter-spacing: 0.08vw;
  line-height: 1.8;
}

.beginnerspage .text-20 .u-marker::after {
  width: 100%;
}

.beginnerspage .p-beginners-recommended__icon--01 {
  align-self: center;
  background-image: url(../img/file-----7177@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 12.75vw;
  margin-right: 0.05vw;
  margin-top: 0.49vw;
  opacity: 0.6;
  width: 6.83vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended__icon--01 {
    height: 26.341vw;
    margin-top: 5.128vw;
    width: 14.166vw;
  }
}

.beginnerspage .beginner-recom__list-image02 {
  align-self: center;
  background-image: url(../img/file-----7181@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 10.77vw;
  margin-left: 0.0vw;
  margin-top: 1.83vw;
  opacity: 0.6;
  width: 8.59vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .beginner-recom__list-image02 {
    height: 22.33vw;
    margin-top: 7.692vw;
    width: 17.779vw;
  }
}

.beginnerspage .p-beginners-recommended__icon--02 {
  align-self: flex-end;
  background-image: url(../img/file-----7175@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 11.55vw;
  margin-right: 2.8vw;
  margin-top: 1.55vw;
  opacity: 0.6;
  width: 9.01vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended__icon--02 {
    height: 23.915vw;
    margin: 6.051vw auto 2vw;
    width: 18.674vw;
  }
}

.beginnerspage .beginner-recom__list-image04 {
  align-self: center;
  background-image: url(../img/file-----7195@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 10.77vw;
  margin-left: 0.03vw;
  margin-top: 1.9vw;
  opacity: 0.5;
  width: 7.89vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .beginner-recom__list-image04 {
    height: 22.212vw;
    margin: 5.974vw auto 2vw;
    width: 16.376vw;
  }
}

.beginnerspage .p-beginners-recommended__icon--03 {
  background-image: url(../img/file-----7183@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 10.7vw;
  margin-right: 0.01vw;
  margin-top: 2.5vw;
  opacity: 0.6;
  width: 5.07vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended__icon--03 {
    height: 22.207vw;
    margin-top: 7.692vw;
    width: 10.474vw;
  }
}

.beginnerspage .beginner-recom__list-image06 {
  align-self: center;
  background-image: url(../img/file-----7179@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 10.56vw;
  margin-top: 1.971vw;
  margin-left: 0.05vw;
  opacity: 0.6;
  width: 7.25vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .beginner-recom__list-image06 {
    height: 23.507vw;
    margin-top: 7.974vw;
    width: 16.11vw;
  }
}

.beginnerspage .p-beginners-recommended__icon--04 {
  background-image: url(../img/file-----7187@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  height: 11.549vw;
  margin-top: 1.408vw;
  opacity: 0.6;
  width: 14.22vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-recommended__icon--04 {
    height: 24.358vw;
    margin-top: 5.641vw;
    width: 33.589vw;
  }
}

.beginnerspage .beginner-flow {
  position: relative;
  width: 82.051vw;
  margin: 5.63vw auto 0;
}

@media screen and (max-width: 768px) {
  .beginnerspage .beginner-flow {
    position: relative;
    width: 84.51vw;
    margin: 12.307vw auto 0;
  }
}

.p-beginners-flow {
  position: relative;
}

.p-beginners-flow__item {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-left: 4.929vw;
  margin-bottom: 7.042vw;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item {
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 12.817vw;
  }
}

.p-beginners-flow__item::before {
  content: '';
  width: calc(100% - 7.4vw);
  height: calc(100% + 7.042vw);
  position: absolute;
  left: 7.4vw;
  top: 0;
  border-left: 1px dashed #b9b5b0;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item::before {
    height: calc(100% + 12.817vw);
    width: calc(100% - 6.4vw; );
    left: 6.4vw;
  }
}

.p-beginners-flow__item:last-child::before {
  display: none;
}

.p-beginners-flow__item-num {
  background-color: var(--sandstone);
  border-radius: 2.43vw;
  height: 4.86vw;
  width: 4.86vw;
  text-align: center;
  line-height: 4.86vw;
  overflow: hidden;
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-num {
    border-radius: 50%;
    height: 12.817vw;
    width: 12.817vw;
    line-height: 12.817vw;
  }
}

.p-beginners-flow__item-step {
  letter-spacing: 0.13vw;
  line-height: 4.3vw;
  white-space: nowrap;
}

.p-beginners-flow__item-textarea {
  max-width: 36.619vw;
  width: 36.619vw;
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-textarea {
    max-width: calc(100% - 15.82vw);
    width: calc(100% - 15.82vw);
    position: relative;
    z-index: 10;
  }
}

.p-beginners-flow__item-textarea .c-btn-reserve {
  margin-top: 1.761vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-textarea .c-btn-reserve {
    margin-top: 5.128vw;
  }
}

.p-beginners-flow__item-title {
  letter-spacing: 0.11vw;
  line-height: 1.8;
  white-space: nowrap;
  width: 6.13vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-title {
    width: 100%;
  }
}

.p-beginners-flow__item-text {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  max-width: 36.619vw;
  margin-top: 1.197vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-text {
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 5.128vw;
  }
}

.p-beginners-flow__item .btn_reserve {
  margin-top: 1.69vw;
}

.p-beginners-flow__item-imagearea {
  width: 23.66vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-imagearea {
    width: calc(100% - 15.82vw);
    margin-left: 15.82vw;
  }
}

.p-beginners-flow__item-image {
  border-radius: 2.11vw;
  height: 15.07vw;
  object-fit: cover;
  width: 23.66vw;
}

@media screen and (max-width: 768px) {
  .p-beginners-flow__item-image {
    height: auto;
    width: 100%;
  }
}

.beginnerspage .p-beginners-style {
  background-color: #F4F2EF;
  margin-top: 5.63vw;
  padding: 6.197vw 0 6.76vw;
  margin: 6.2vw auto 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-style {
    padding: 12.307vw 0;
    margin: 6.2vw auto 0;

  }
}

.beginnerspage .p-beginners-style .c-title01 .goldenbook-light-sandstone-38px {
  background-color: #F4F2EF !important;
}

.beginnerspage .p-beginners-style__wrap {
  width: 84.507vw;
  position: relative;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-style__wrap {
    width: 82.051vw;
  }
}

.beginnerspage .beginner-ourstyle__toptext {
  letter-spacing: 0.08vw;
  line-height: 1.8;
  margin-top: 3.31vw;
  margin-bottom: 3.943vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .beginner-ourstyle__toptext {
    margin-top: 8.205vw;
    margin-bottom: 8.205vw;
  }
}

.beginnerspage .p-beginners-style__item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-style__item {
    display: block;
    width: 100%;
  }
}

.beginnerspage .p-beginners-style__item-item {
  align-items: flex-start;
  background-color: var(--white);
  border-radius: 1.97vw;
  display: flex;
  flex-direction: column;
  min-height: 18.73vw;
  padding: 2.15vw 2.68vw;
  width: 26.48vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-style__item-item {
    border-radius: 1.97vw;
    min-height: 100%;
    padding: 7.692vw;
    width: 100%;
  }
}

.beginnerspage .p-beginners-style__item-item:nth-child(n+4) {
  margin-top: 2.535vw;
}

@media screen and (max-width: 768px) {
  .beginnerspage .p-beginners-style__item-item:nth-child(n+2) {
    margin-top: 7.692vw;
  }
}

.beginnerspage .p-beginners-style__item-title {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 1.9vw;
}

.beginnerspage .p-beginners-style__item-text {
  letter-spacing: 0.11vw;
  line-height: 1.8;
}

/* ========================================
   information PAGE
======================================== */

/* screen - information-pc */
.informationpage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .informationpage {
    padding-top: calc(20vw + 10.256vw);
  }
}

.informationpage .p-information-lesson__wrap {
  display: flex;
  margin: 3.661vw auto 6.197vw;
  width: 84.507vw;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .informationpage .p-information-lesson__wrap {
    display: block;
    margin: 5.897vw auto 14.358vw;
    width: 82.051vw;
  }
}

.informationpage .p-information-lesson__item {
  position: relative;
  width: 48%;
}

@media screen and (max-width: 768px) {
  .informationpage .p-information-lesson__item {
    width: 100%;
    margin-bottom: 12.307vw;
  }
}

.informationpage .p-information-lesson__image-wrap {
  margin-bottom: 2.112vw;
}

@media screen and (max-width: 768px) {
  .informationpage .p-information-lesson__image-wrap {
    margin-bottom: 7.179vw;
  }
}

.informationpage .p-information-lesson__image {
  border-radius: 2.39vw;
  object-fit: cover;
  width: 100%;
}

.informationpage .p-information-lesson__title {
  letter-spacing: 0.12vw;
  line-height: 2.817vw;
  text-align: center;
  margin-bottom: 1.83vw;
}

@media screen and (max-width: 768px) {
  .informationpage .p-information-lesson__title {
    margin-bottom: 7.179vw;
    font-size: 4.358vw;
  }
}

.informationpage .p-information-lesson__text {
  letter-spacing: 0.08vw;
  line-height: 1.8;
  overflow: hidden;
  text-align: center;
  margin-bottom: 1.83vw;
}

@media screen and (max-width: 768px) {
  .informationpage .p-information-lesson__text {
    margin-bottom: 8.205vw;
  }
}

.p-information-lesson__item .c-btn-reserve {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}

/* ========================================
   instructors PAGE
======================================== */

/* ========================================
   Instructors Page
======================================== */
.instructorspage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .instructorspage {
    padding-top: calc(20vw + 10.256vw);
  }
}

/* ========================================
   Instructors List
======================================== */
.p-instructors-list {
  width: 100%;
  margin: 4.788vw auto 9.577vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-list {
    width: 100%;
    margin: 9.487vw auto 15.897vw;
  }
}

.p-instructors-list__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-list__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 5.128vw;
  }
}

.p-instructors-list__item {
  text-align: center;
  margin: 0 20px;
}

.p-instructors-list__photo {
  background-color: #E8E8E8;
  border-radius: 1.408vw;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 1.127vw;
  margin-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-list__photo {
    border-radius: 3.589vw;
    font-size: 3.589vw;
    margin-bottom: 3.589vw;
  }
}

.p-instructors-list__name {
  letter-spacing: 0.16vw;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .p-instructors-list__name {
    font-size: 3.589vw;
  }
}

/* ========================================
   Training Program Section
======================================== */
.p-instructors-training {
  padding: 0 7.746vw;
  margin-bottom: 6.197vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-training {
    padding: 0;
    margin-bottom: 16.41vw;
  }
}

.p-instructors-training__wrap {
  width: 84.507vw;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-instructors-training__wrap {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .p-instructors-training__wrap .c-title01_wrap {
    width: 82.051vw;
    margin: 0 auto 7.435vw;
  }
}

.p-instructors-training__image {
  margin-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-training__image {
    margin-bottom: 9.23vw;
  }
}

.p-instructors-training__image img {
  width: 100%;
  border-radius: 2.817vw;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-instructors-training__image img {
    border-radius: 0;
  }
}

.p-instructors-training__text {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-training__text {
    font-size: 3.589vw;
    width: 84.507vw;
    margin: 0 auto 5.128vw;
  }
}

.p-instructors-training__subtitle {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-training__subtitle {
    font-size: 4.615vw;
    margin-bottom: 7.692vw;
  }
}

.p-instructors-training .c-btn-reserve {
  margin: 0 auto;
}

/* ========================================
   Instagram Section
======================================== */
.p-instructors-instagram {
  width: 84.507vw;
  margin: 0 auto 8.450vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-instagram {
    width: 82.051vw;
    margin: 0 auto 16.41vw;
  }
}

.p-instructors-instagram__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-instagram__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.589vw;
  }
}

.p-instructors-instagram__item {
  overflow: hidden;
  border-radius: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-instagram__item {
    border-radius: 2.564vw;
  }
}

.p-instructors-instagram__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ========================================
   Lead Section (TOPページのp-top-leadから完全にコピー)
======================================== */
.p-instructors-lead {
  background-image: url(../img/file--------1-1x-png@1x.png);
  background-position: 50% 50%;
  background-size: cover;
  display: flex;
  left: 0;
  width: 100%;
  margin-bottom: 6.69vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-lead {
    background-position: top right;
    margin-bottom: 14.358vw;
  }
}

.p-instructors-lead__wrap {
  text-align: center;
  padding: 10.77vw 0;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-instructors-lead__wrap {
    padding: 18.076vw 3.846vw;
  }
}

.p-instructors-lead__text {
  color: var(--sandstone);
  font-family: var(--font-family-shippori_mincho);
  font-size: 1.549vw;
  font-weight: 500;
  letter-spacing: 0.15vw;
  line-height: 1.8;
  text-align: center;
  white-space: nowrap;
  padding-bottom: 1.197vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-lead__text {
    font-size: 4.102vw;
    line-height: 2;
    white-space: normal;
  }
}

.p-instructors-lead__text-en {
  color: var(--sandstone);
  font-family: var(--font-family-goldenbook-light);
  font-size: 1.408vw;
  font-weight: 300;
  height: 2.25vw;
  letter-spacing: 0.1vw;
  line-height: 2.68vw;
  text-align: center;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .p-instructors-lead__text-en {
    font-size: 3.846vw;
    height: auto;
    line-height: 2;
    white-space: normal;
  }
}

/* ========================================
   Mission Section (TOPページのp-top-feature__itemから構造をコピー、背景色なし、番号なし)
======================================== */
.p-instructors-mission {
  width: 84.507vw;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 8.45vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission {
    width: 82.051vw;
    margin: 0 auto 15.384vw;
    padding: 0;
  }
}

.p-instructors-mission__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: relative;
  margin: 0 0 8.169vw;
}

.p-instructors-mission__item:nth-last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission__item {
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: 10.256vw;
  }
}

.p-instructors-mission__item:last-child {
  margin-bottom: 0;
}

.p-instructors-mission__item--reverse {
  margin: 0 0 8.169vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission__item--reverse {
    margin: 0 auto 10.256vw;
  }
}

.p-instructors-mission__content {
  position: relative;
  width: 45%;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission__content {
    order: 2;
    width: 100%;
    padding-top: 3.846vw;
  }
}

.p-instructors-mission__item-title {
  font-size: 1.479vw !important;
  letter-spacing: 0.14vw;
  line-height: 2.5;
  margin-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission__item-title {
    line-height: 1.8;
    width: 100%;
    font-size: 4.615vw !important;
    margin-bottom: 3.846vw;
  }
}

.p-instructors-mission__description {
  font-size: 0.986vw !important;
  letter-spacing: 0.08vw;
  line-height: 3;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission__description {
    line-height: 2.5;
    font-size: 3.589vw !important;
  }
}

.p-instructors-mission__image {
  border-radius: 5.63vw;
  height: auto;
  object-fit: cover;
  width: 50%;
}

@media screen and (max-width: 768px) {
  .p-instructors-mission__image {
    order: 1;
    height: auto;
    width: 100%;
    border-radius: 0;
  }
}

/* ========================================
   training-program PAGE
======================================== */

/* ========================================
   Training Program Page
======================================== */
.training-program-page {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .training-program-page {
    padding-top: calc(20vw + 10.256vw);
  }
}

@media screen and (max-width: 768px) {
  .training-program-page .c-page-title__en {
    font-size: 6.153vw;
  }
}

/* ========================================
   Page Intro Section
======================================== */
.p-training-intro {
  width: 84.507vw;
  margin: 4.788vw auto 8.450vw;
}

@media screen and (max-width: 768px) {
  .p-training-intro {
    width: 82.051vw;
    margin: 9.487vw auto 15.897vw;
  }
}

.p-training-intro__image {
  text-align: center;
  margin-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .p-training-intro__image {
    margin-bottom: 5.128vw;
  }
}

.p-training-intro__image img {
  max-width: 100%;
  border-radius: 2.817vw;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-training-intro__image img {
    border-radius: 0;
  }
}

.p-training-intro__content {
  text-align: center;
}

.p-training-intro__title {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-training-intro__title {
    font-size: 4.615vw;
    margin-bottom: 3.589vw;
  }
}

.p-training-intro__text {
  letter-spacing: 0.08vw;
  line-height: 1.8;
  margin-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .p-training-intro__text {
    font-size: 3.589vw;
    text-align: left;
    margin-bottom: 9.23vw;
  }
}

.p-training-intro .c-btn-reserve {
  margin: 0 auto;
}

/* ========================================
   Feature of Program Section (p-instructors-missionと同じ構造)
======================================== */
.p-training-feature {
  width: 84.507vw;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 8.45vw;
}

@media screen and (max-width: 768px) {
  .p-training-feature {
    width: 82.051vw;
    margin: 0 auto 15.384vw;
    padding: 0;
  }
}

.p-training-feature__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: relative;
  margin: 0 0 8.169vw;
}

.p-training-feature__item:nth-last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .p-training-feature__item {
    width: 100%;
    flex-wrap: wrap;
    margin-bottom: 10.256vw;
  }
}

.p-training-feature__item:last-child {
  margin-bottom: 0;
}

.p-training-feature__item--reverse {
  margin: 0 0 8.169vw;
}

@media screen and (max-width: 768px) {
  .p-training-feature__item--reverse {
    margin: 0 auto 10.256vw;
  }
}

.p-training-feature__content {
  position: relative;
  width: 45%;
}

@media screen and (max-width: 768px) {
  .p-training-feature__content {
    order: 2;
    width: 100%;
    padding-top: 7.179vw;
  }
}

.p-training-feature__item-title {
  font-size: 1.479vw !important;
  letter-spacing: 0.14vw;
  line-height: 2.5;
  margin-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-training-feature__item-title {
    line-height: 2.5;
    width: 100%;
    font-size: 4.615vw !important;
    margin-bottom: 5.128vw;
  }
}

.p-training-feature__description {
  font-size: 0.986vw !important;
  letter-spacing: 0.08vw;
  line-height: 3;
}

@media screen and (max-width: 768px) {
  .p-training-feature__description {
    line-height: 2.5;
    font-size: 3.589vw !important;
  }
}

.p-training-feature__image {
  border-radius: 5.63vw;
  height: auto;
  object-fit: cover;
  width: 50%;
}

@media screen and (max-width: 768px) {
  .p-training-feature__image {
    order: 1;
    height: auto;
    width: 100%;
    border-radius: 0;
  }
}

/* ========================================
   Reformer Course Section
======================================== */
.p-training-reformer {
  padding: 0 7.746vw 7.887vw;
}

@media screen and (max-width: 768px) {
  .p-training-reformer {
    padding: 0 8.974vw 15.897vw;
  }
}

.p-training-reformer .c-title01_wrap {
  width: 84.507vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .p-training-reformer .c-title01_wrap {
    width: 100%;
  }
}

.p-training-reformer__cont {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__cont {
    display: block;
  }
}

.p-training-reformer__image {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__image {
    width: 100%;
    margin-bottom: 5.128vw;
  }
}

.p-training-reformer__image img {
  width: 100%;
  border-radius: 2.817vw;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__image img {
    border-radius: 0;
  }
}

.p-training-reformer__content {
  width: 45%;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__content {
    width: 100%;
  }
}

.p-training-reformer__subtitle {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__subtitle {
    font-size: 5.128vw;
    text-align: center;
    margin-bottom: 5.128vw;
  }
}

.p-training-reformer__list {
  display: flex;
  flex-direction: column;
  gap: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__list {
    gap: 3.589vw;
  }
}

.p-training-reformer__item {
  display: flex;
  border-bottom: 1px solid var(--sandstone);
  padding-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__item {
    padding-bottom: 3.589vw;
  }
}

@media screen and (max-width: 768px) {
  .p-training-reformer__item-value .shipporimincho-normal-sandstone-19px {
    font-size: 4.871vw;
    vertical-align: bottom;
  }
}

.p-training-reformer__item-label {
  width: 20%;
  letter-spacing: 0.12vw;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__item-label {
    font-size: 4.102vw;
    width: 30%;
  }
}

.p-training-reformer__item-value {
  width: 80%;
  letter-spacing: 0.08vw;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .p-training-reformer__item-value {
    font-size: 3.589vw;
    width: 70%;
  }
}

/* ========================================
   Student Voice Section
======================================== */
.p-training-voice {
  padding: 0 7.746vw 8.450vw;
}

@media screen and (max-width: 768px) {
  .p-training-voice {
    padding: 0 8.974vw 15.897vw;
  }
}

.p-training-voice .c-title01_wrap {
  width: 84.507vw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4.788vw;
}

@media screen and (max-width: 768px) {
  .p-training-voice .c-title01_wrap {
    width: 100%;
  }
}

.p-training-voice__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.225vw;
  width: 84.507vw;
  margin: 0 auto 4.225vw;
}

@media screen and (max-width: 768px) {
  .p-training-voice__grid {
    grid-template-columns: 1fr;
    gap: 5.128vw;
    width: 100%;
    margin-bottom: 9.23vw;
  }
}

.p-training-voice__item {
  text-align: center;
}

.p-training-voice__image {
  margin-bottom: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-training-voice__image {
    margin-bottom: 7.692vw;
  }
}

.p-training-voice__image img {
  max-width: 100%;
  border-radius: 2.817vw;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-training-voice__image img {
    border-radius: 0;
  }
}

.p-training-voice__text {
  letter-spacing: 0.08vw;
  line-height: 2.5;
}

@media screen and (max-width: 768px) {
  .p-training-voice__text {
    font-size: 3.589vw;
  }
}

.p-training-voice__name {
  letter-spacing: 0.12vw;
  line-height: 2.5;
  margin-bottom: 0.704vw;
}

@media screen and (max-width: 768px) {
  .p-training-voice__name {
    font-size: 3.589vw !important;
  }
}

.p-training-voice .c-btn-reserve {
  margin: 0 auto;
}

/* ========================================
   Recruit Section
======================================== */
.p-training-recruit {
  padding: 0 7.746vw 8.450vw;
}

@media screen and (max-width: 768px) {
  .p-training-recruit {
    padding: 0 8.974vw 15.897vw;
  }
}

.p-training-recruit .c-title01_wrap {
  width: 84.507vw;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .p-training-recruit .c-title01_wrap {
    width: 100%;
  }
}

.p-training-recruit__intro {
  width: 84.507vw;
  margin: 4.788vw auto 8.450vw;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__intro {
    width: 82.051vw;
    margin: 9.487vw auto 15.897vw;
  }
}

.p-training-recruit__intro-image {
  text-align: center;
  margin-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__intro-image {
    margin-bottom: 5.128vw;
  }
}

.p-training-recruit__intro-image img {
  max-width: 100%;
  border-radius: 2.817vw;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__intro-image img {
    border-radius: 0;
  }
}

.p-training-recruit__intro-content {
  text-align: center;
}

.p-training-recruit__intro-title {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 1.408vw;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__intro-title {
    font-size: 4.615vw;
    margin-bottom: 3.589vw;
  }
}

.p-training-recruit__intro-text {
  letter-spacing: 0.08vw;
  line-height: 2.5;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__intro-text {
    font-size: 3.589vw;
  }
}

.p-training-recruit__details {
  width: 84.507vw;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__details {
    width: 100%;
  }
}

.p-training-recruit__section {
  margin-bottom: 3.661vw;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__section {
    margin-bottom: 7.435vw;
  }
}

.p-training-recruit__section:last-child {
  margin-bottom: 0;
}

.p-training-recruit__section-title {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  text-align: center;
  position: relative;
  margin-bottom: 2.816vw;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__section-title {
    font-size: 5.128vw !important;
    margin-bottom: 3.589vw;
  }
}

.p-training-recruit__section-title::before {
  content: '';
  width: 100%;
  height: 1px;
  border-top: 1px dashed #b9b5b0;
  position: absolute;
  top: 50%;
  left: 0;
}

.p-training-recruit__section-title-bk {
  display: inline-block;
  background-color: var(--white);
  padding: 0 1em;
  position: relative;
  z-index: 10;
}

.p-training-recruit__section-text {
  letter-spacing: 0.08vw;
  line-height: 2.5;
}

@media screen and (max-width: 768px) {
  .p-training-recruit__section-text {
    font-size: 3.589vw;
  }
}

/* ========================================
   Anatomical Pilates Section (背景色あり)
======================================== */
.p-training-anatomical {
  background: rgba(28, 25, 25, 0.05);
  padding: 6.338vw 7.746vw;
}

@media screen and (max-width: 768px) {
  .p-training-anatomical {
    padding: 11.538vw 8.974vw;
  }
}

.p-training-anatomical__content {
  width: 84.507vw;
  margin: 0 auto;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-training-anatomical__content {
    width: 100%;
  }
}

.p-training-anatomical__title {
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 0.704vw;
}

@media screen and (max-width: 768px) {
  .p-training-anatomical__title {
    font-size: 9.487vw;
    margin-bottom: 2.564vw;
  }
}

.p-training-anatomical__subtitle {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 2.464vw;
}

@media screen and (max-width: 768px) {
  .p-training-anatomical__subtitle {
    font-size: 4.102vw;
    margin-bottom: 5.128vw;
  }
}

.p-training-anatomical__text {
  letter-spacing: 0.12vw;
  line-height: 2.5;
  margin-top: 2.957vw;
}

@media screen and (max-width: 768px) {
  .p-training-anatomical__text {
    font-size: 3.333vw !important;
    margin-bottom: 3.589vw;
  }
}

/* ========================================
   privacy PAGE
======================================== */

/* screen - privacy-policy-pc */
.privacypage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .privacypage {
    padding-top: calc(20vw + 10.256vw);
  }
}

.privacypage .p-privacy-content {
  width: 84.65vw;
  margin: 4.788vw auto 8.450vw;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-content {
    width: 82.051vw;
    margin: 9.487vw auto 15.897vw;
  }
}

.privacypage .p-privacy-content__title {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-content__title {
    margin-bottom: 6.666vw;
  }
}

.privacypage .p-privacy-content__text {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  margin-bottom: 4.225vw;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-content__text {
    margin-bottom: 13.589vw;
  }
}

.privacypage .p-privacy-contact {
  display: flex;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact {
    display: block;
  }
}

.privacypage .p-privacy-contact__text {
  letter-spacing: 0.12vw;
  line-height: 1.8;
  width: 441px;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact__text {
    width: 100%;
  }
}

.p-privacy-contact__qr {
  width: calc(100% - 441px - 20px);
  margin-left: 20px;
}

@media screen and (max-width: 768px) {
  .p-privacy-contact__qr {
    width: 100%;
    margin-top: 15.384vw;
    margin-left: 0;
  }
}

.privacypage .p-privacy-contact__qr-title {
  letter-spacing: 0.14vw;
  line-height: 1.8;
  margin-bottom: 1.056vw;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact__qr-title {
    text-align: center;
    margin-bottom: 7.692vw;
  }
}

.privacypage .p-privacy-contact__qr-wrap {
  display: flex;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact__qr-wrap {
    display: flex;
    text-align: center;
    flex-wrap: wrap;
  }
}

.privacypage .p-privacy-contact__qr-icon {
  height: 6.69vw;
  object-fit: cover;
  width: 6.62vw;
  margin-left: 1.056vw;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact__qr-icon {
    height: 30%;
    width: 30%;
    margin: 0 auto;
  }
}

.privacypage .p-privacy-contact__qr-icon:nth-child(1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact__qr-icon:nth-child(1) {
    margin: 0 auto;
  }
}

.privacypage .p-privacy-contact__qr-text {
  line-height: 1.8;
  padding-left: 2.112vw;
}

@media screen and (max-width: 768px) {
  .privacypage .p-privacy-contact__qr-text {
    width: 100%;
    margin-top: 7.692vw;
  }
}

/* ========================================
   company PAGE
======================================== */

/* ==========================================================================
   Page: Company - BEM準拠
   ※将来globals.cssに統合される際、.p-company__プレフィックスで名前空間を保護
   ========================================================================== */

/* Page Container
   ========================================================================== */
.companypage {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .companypage {
    padding-top: calc(20vw + 10.256vw);
  }
}

/* Component: p-company-content (会社情報コンテンツエリア)
   ========================================================================== */
.p-company-content {
  max-width: 880px;
  min-width: 768px;
  width: 61.971vw;
  margin: 4.788vw auto 8.450vw;
}

@media screen and (max-width: 768px) {
  .p-company-content {
    width: 82.051vw;
    max-width: 82.051vw;
    min-width: 82.051vw;
    margin: 9.487vw auto 15.897vw;
  }
}

/* Component: p-company-table (会社情報テーブル)
   ========================================================================== */
.p-company-table dl {
  display: flex;
  color: #766D63;
  line-height: 1.8;
  border-bottom: 1px solid rgba(118, 109, 99, 0.2);
}

@media screen and (max-width: 768px) {
  .p-company-table dl {
    display: block;
  }
}

/* Element: p-company-table__term (テーブル項目名 dt要素)
   ========================================================================== */
.p-company-table dt {
  width: 30%;
  padding: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-company-table dt {
    width: 100%;
    background-color: rgba(118, 109, 99, 0.1);
    border-bottom: 1px solid rgba(118, 109, 99, 0.2);
    padding: 5.128vw;
  }
}

/* Element: p-company-table__description (テーブル内容 dd要素)
   ========================================================================== */
.p-company-table dd {
  width: 70%;
  padding: 2.112vw;
}

@media screen and (max-width: 768px) {
  .p-company-table dd {
    width: 100%;
    padding: 5.128vw;
  }
}

/* ========================================
   news PAGE
======================================== */

.newspage .main {
  padding-top: calc(10.352vw + 2.323vw);
}

@media screen and (max-width: 768px) {
  .newspage .main {
    padding-top: calc(20vw + 10.256vw);
  }
}