@charset "UTF-8";
/*!
Theme Name: warriors-gym
Theme URI: http://underscores.me/
Author: Heads.Inc
Author URI: -------
Description: warriors-gym Theme
Version: 1.0.0
License: GNU General Public License v2 or later
/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　直接編集しないように注意してください。a
--------------------------------------------------------------- */
/* 基本設定
============================================================================ */
/* base > color
============================================================================================================ */
/* 基本色一覧*/
/*白*/
/*黒*/
/*灰色*/
/*黄*/
/*赤*/
/*青*/
/*緑*/
/*金*/
/* mixin
============================================================================ */
/* mixin > rem  ($base-font-sizeはbase/_base.scssに)
============================================================================================================ */
/* mixin > flex
============================================================================================================ */
/* mixin > mediaqueries (setting/variables.scssに横幅記載あり)
============================================================================================================ */
/* mixin > last-bm
============================================================================================================ */
/*最後の要素の余白リセット*/
/* mixin > headline
============================================================================================================ */
/* mixin > mixin (mixin 集)
============================================================================================================ */
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/* mixin > img
============================================================================================================ */
figure {
  display: block;
  line-height: 0;
  font-size: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
}

img {
  vertical-align: bottom;
  line-height: 0;
  font-size: 0;
  backface-visibility: hidden;
}

/* mixin > display
============================================================================================================ */
/*-------------------------------------------------------------
display指定class

【only】
.pc-only / .tab-only / .pad-only / .sp-only /.se-only
.pctab-only / .tabsp-only / .sp-none

-------------------------------------------------------------*/
.pc-only {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pc-only {
    display: none !important;
  }
}
.pc-only--flex {
  display: flex !important;
}
@media screen and (max-width: 1024px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pc-only--flex {
    display: none !important;
  }
}

.tab-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tab-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tab-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .tab-only {
    display: none !important;
  }
}
.tab-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .tab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .tab-only--flex {
    display: none !important;
  }
}

.pad-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .pad-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pad-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .pad-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pad-only {
    display: none !important;
  }
}
.pad-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .pad-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pad-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .pad-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pad-only--flex {
    display: none !important;
  }
}

.sp-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block !important;
  }
}
@media screen and (max-width: 320px) {
  .sp-only {
    display: block !important;
  }
}
.sp-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .sp-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .sp-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .sp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 320px) {
  .sp-only--flex {
    display: flex !important;
  }
}

.se-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .se-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .se-only {
    display: block !important;
  }
}
.se-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .se-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .se-only--flex {
    display: flex !important;
  }
}

.pctab-only {
  display: block !important;
}
@media screen and (max-width: 1024px) {
  .pctab-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .pctab-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .pctab-only {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pctab-only {
    display: none !important;
  }
}
.pctab-only--flex {
  display: flex !important;
}
@media screen and (max-width: 1024px) {
  .pctab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .pctab-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .pctab-only--flex {
    display: none !important;
  }
}
@media screen and (max-width: 320px) {
  .pctab-only--flex {
    display: none !important;
  }
}

.tabsp-only {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .tabsp-only {
    display: block !important;
  }
}
@media screen and (max-width: 320px) {
  .tabsp-only {
    display: block !important;
  }
}
.tabsp-only--flex {
  display: none !important;
}
@media screen and (max-width: 1024px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 767px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}
@media screen and (max-width: 320px) {
  .tabsp-only--flex {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  .sp-none {
    display: none;
  }
}

/* 共通部分
============================================================================ */
/* base > common
============================================================================================================ */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

li {
  list-style: none;
}

ul,
ol,
dl,
p {
  padding: 0;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  /* ress.cssだとunderlineがつくのを阻止 */
  text-decoration: none;
}

select {
  color: #232323;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  line-height: 1 !important;
  position: relative;
}

table {
  table-layout: fixed;
  /* ress.css用 */
  border-collapse: collapse;
  border-spacing: 0;
}

td input {
  max-width: 100%;
}

i,
em {
  font-style: normal;
}

* {
  box-sizing: border-box;
}

small {
  font-size: 100%;
}
:root {
  --gutter: clamp(20px, calc(20/375*100%), 40px);
  --gutter-inner: clamp(20px, calc(20/375*100%), 40px);
  --height-header: 110;
  --width-inner: 1200;
  --width-subInner: 1100;
  --color-primary: #C72020;
  --color-secondary: #9f0000;
  --color-black: #232323;
  --color-back: #F4F0E4;
  --fontFamily-en: "Helvetica Neue", Meiryo, sans-serif;
  --zIndex-back: 20;
  --zIndex-header: 40;
  --zIndex-spmenu: 41;
  --zIndex-toggle: 42;
  --zIndex-splash: 50;
}
@media screen and (max-width: 1024px) {
  :root {
    --height-header: 96;
  }
}

strong {
  font-weight: unset;
}

address {
  font-style: normal;
}

:where(img),
:where(video),
:where(iframe) {
  max-width: 100%;
}

:where(h1) {
  font-weight: 400;
}

:where(h2) {
  font-weight: 400;
}

:where(h3) {
  font-weight: 400;
}

:where(h4) {
  font-weight: 400;
}

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

html,
body {
  width: 100%;
  line-height: 2.0625;
  color: #232323;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0em;
  font-size: 16px;
  font-weight: 400;
  position: relative;
  -webkit-print-color-adjust: exact;
  overflow-x: hidden;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}

#Wrapper {
  display: flex;
  flex-direction: column;
  background: #F4F0E4;
  min-height: 100vh;
  height: 100%;
  margin: 0 auto;
  overflow: clip;
}
@media screen and (max-width: 767px) {
  #Wrapper {
    border: none;
  }
}

#Footer {
  margin-top: auto;
  height: 100%;
}

img.object_fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.equalspace-1em {
  letter-spacing: 1em;
  text-indent: 1em;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.youtube-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
}

.youtube-item {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* base > heading
============================================================================================================ */
/* 基本設定 */
/* base > wordpress
============================================================================================================ */
img.size-auto,
img.size-large,
img.size-full,
img.size-medium {
  max-width: 100%;
  height: auto;
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 15px;
  margin-top: 4px;
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 15px;
  margin-top: 4px;
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 12px;
}

.wp-caption {
  background: #f1f1f1;
  border: none;
  border-radius: 0;
  color: #888;
  font-size: 12px;
  line-height: 18px;
  margin-bottom: 20px;
  padding: 4px;
  text-align: center;
}

.wp-caption img {
  margin: 5px;
}

.wp-caption p.wp-caption-text {
  margin: 0 0 4px;
}

.wp-smiley {
  margin: 0;
}

div.wpcf7-mail-sent-ok {
  border: 2px solid #398f14;
  padding: 50px 10px;
  text-align: center;
  font-weight: bold;
  margin: 50px 0;
}

/* base > wordpress-comments
============================================================================================================ */
.comments-area {
  margin: 0 auto 60px;
}

.comments-area > :last-child {
  margin-bottom: 0;
}

.comment-list + .comment-respond {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}

.comment-list + .comment-respond,
.comment-navigation + .comment-respond {
  padding-top: 1.6em;
}

.comments-title,
.comment-reply-title {
  border-top: 1px solid red;
  border-bottom: 1px solid red;
  padding: 12px 6px;
  font-weight: bold;
}

.comments-title {
  margin-bottom: 1.3333em;
}

.comment-list {
  list-style: none;
  margin: 0;
}

.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  padding: 1.6em 0;
}

.comment-list .children {
  list-style: none;
  margin: 0;
}

.comment-list .children > li {
  padding-left: 0.8em;
}

.comment-author {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  margin-bottom: 0.4em;
}

.comment-author a:hover {
  border-bottom: 1px solid #707070;
  border-bottom: 1px solid rgba(51, 51, 51, 0.7);
}

.comment-author .avatar {
  float: left;
  height: 24px;
  margin-right: 0.8em;
  width: 24px;
}

.comment-metadata,
.pingback .edit-link {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  line-height: 1.5;
}

.comment-metadata a,
.pingback .edit-link a {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
}

.comment-metadata a:hover,
.pingback .edit-link a:hover {
  border-bottom: 1px solid #333;
}

.comment-metadata a:hover,
.comment-metadata a:focus,
.pingback .edit-link a:hover,
.pingback .edit-link a:focus {
  color: #333;
}

.comment-metadata {
  margin-bottom: 1.6em;
}

.comment-metadata .edit-link {
  margin-left: 1em;
}

.pingback .edit-link {
  margin-left: 1em;
}

.pingback .edit-link:before {
  top: 5px;
}

.comment-content ul,
.comment-content ol {
  margin: 0 0 1.6em 1.3333em;
}

.comment-content li > ul,
.comment-content li > ol {
  margin-bottom: 0;
}

.comment-content > :last-child {
  margin-bottom: 0;
}

.comment-list .reply {
  font-size: 12px;
}

.comment-list .reply a {
  border: 1px solid #eaeaea;
  border: 1px solid rgba(51, 51, 51, 0.1);
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  display: inline-block;
  font-family: "Noto Sans", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin-top: 2em;
  padding: 0.4167em 0.8333em;
  text-transform: uppercase;
}

.comment-list .reply a:hover,
.comment-list .reply a:focus {
  border-color: #333;
  color: #333;
  outline: 0;
}

.comment-form {
  padding-top: 1.6em;
}

.comment-form label {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  font-weight: 700;
  display: block;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-transform: uppercase;
}

.comment-form #comment,
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url] {
  width: 100%;
  max-width: 100%;
  border-radius: 6px;
  padding: 3px;
  border: 1px solid #ccc;
}

.comment-form input[type=submit] {
  margin: 20px auto;
}

.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.form-allowed-tags {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 2em;
}

.logged-in-as a:hover {
  border-bottom: 1px solid #333;
}

.no-comments {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  font-weight: 700;
  padding-top: 1.6em;
}

.comment-navigation + .no-comments {
  border-top: 0;
}

.form-allowed-tags code {
  font-family: monospace;
}

.form-submit {
  margin-bottom: 0;
}

/*.required {
	color: #c0392b;
}*/
.comment-reply-title small {
  font-size: 100%;
}

.comment-reply-title small a {
  border: 0;
  float: right;
  height: 32px;
  overflow: hidden;
  width: 26px;
}

.comment-reply-title small a:before {
  content: "\f405";
  font-size: 32px;
  position: relative;
  top: -3px;
}

.comment-form #wp-comment-cookies-consent {
  margin: 0 10px 0 0;
}

.comment-form .comment-form-cookies-consent label {
  display: inline;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none;
}

/* base > editor-content
============================================================================================================ */
.editor-content h1 {
  font-size: 36px;
  font-size: 2.25rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h1 {
    font-size: 25px;
    font-size: 6.6666666667vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h2 {
  font-size: 30px;
  font-size: 1.875rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h2 {
    font-size: 22px;
    font-size: 5.8666666667vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h3 {
  font-size: 28px;
  font-size: 1.75rem;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .editor-content h3 {
    font-size: 20px;
    font-size: 5.3333333333vw;
    margin-top: 5.3333333333vw;
    margin-bottom: 5.3333333333vw;
  }
}
.editor-content h4 {
  font-size: 24px;
  font-size: 1.5rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h4 {
    font-size: 18px;
    font-size: 4.8vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.editor-content h5 {
  font-size: 22px;
  font-size: 1.375rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h5 {
    font-size: 16px;
    font-size: 4.2666666667vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.editor-content h6 {
  font-size: 20px;
  font-size: 1.25rem;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .editor-content h6 {
    font-size: 15px;
    font-size: 4vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.editor-content p {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .editor-content p {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.editor-content p strong {
  font-weight: normal;
}
.editor-content table {
  width: 100%;
  border: 1px solid #eee;
}
.editor-content table tr th,
.editor-content table tr td {
  padding: 0.5em;
  border: 1px solid #eee;
}
.editor-content table tr th {
  background: white;
  width: 24%;
  max-width: 240px;
  color: red;
}
.editor-content ul, .editor-content ul li {
  list-style: disc;
  margin-left: 10px;
}
.editor-content ol, .editor-content ol li {
  list-style: decimal;
  margin-left: 10px;
}
.editor-content a {
  color: blue;
  text-decoration: underline;
}
.editor-content blockquote {
  background: #eee;
  padding: 20px;
  border-radius: 0 30px 30px 0;
  border-left: 5px solid black;
}
@media screen and (max-width: 767px) {
  .editor-content blockquote {
    padding: 2.6666666667vw;
    border-radius: 0 4vw 4vw 0;
  }
}
.editor-content blockquote cite {
  text-align: right;
  margin-top: 20px;
  display: block;
}
.editor-content pre {
  border: 1px solid #eee;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0.5em;
}

/* layout
============================================================================ */
/* layout > common
============================================================================================================ */
.common-main {
  width: 100%;
  height: 100%;
  margin-top: calc(var(--height-header) * 1px);
}
/* layout > header
============================================================================== */
.common-header {
  height: calc(var(--height-header) * 1px);
  padding-left: 40px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-back);
  z-index: 56;
  transform: translateY(0);
  transition: transform 0.3s ease;
  border-bottom: 2px solid var(--color-primary);
}
.common-header.is-scroll {
  transform: translateY(-100%);
}
.common-header:has(.btn-hamburger[aria-expanded=true]) {
  transform: translateY(0) !important;
}
@media screen and (max-width: 1024px) {
  .common-header {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
}

.common-header__inner {
  height: 100%;
}

@media screen and (max-width: 767px) {
  .common-header__left {
    display: grid;
    place-items: center;
    flex: 1;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
}

.common-header__layout {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 2%;
       column-gap: 2%;
}
@media screen and (max-width: 767px) {
  .common-header__layout {
    justify-content: flex-end;
  }
}

.common-header__right {
  display: flex;
  align-items: center;
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media screen and (max-width: 1024px) {
  .common-header__right {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}

@media screen and (max-width: 1240px) {
  .common-header__logoImg {
    width: 300px;
  }
}
@media screen and (max-width: 1024px) {
  .common-header__logoImg {
    width: 120px;
    height: 56px;
  }
}

.common-header__logoLink {
  display: block;
}

@media screen and (max-width: 1024px) {
  .common-header__nav {
    display: none;
  }
}

.common-header__sns {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  flex-shrink: 0;
}
@media screen and (max-width: 1024px) {
  .common-header__sns {
    display: none;
  }
}

.common-header__lang {
  opacity: 0;
  pointer-events: none;
  border-top: 2px solid var(--color-primary);
  border-left: 2px solid var(--color-primary);
  border-bottom: 2px solid var(--color-primary);
  background-color: white;
  padding: 5px 13px;
  min-width: 112px;
}
@media screen and (max-width: 1024px) {
  .common-header__lang {
    display: none;
    border-right: 2px solid var(--color-primary);
    min-width: unset;
  }
}

.common-header__toggle {
  display: none;
}
@media screen and (max-width: 1024px) {
  .common-header__toggle {
    display: revert;
  }
}

.common-header__spmenu {
  height: 100vh;
  height: 100svh;
  left: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition: 0.3s;
  width: 100vw;
  z-index: var(--zIndex-spmenu);
  display: none;
}

@media screen and (max-width: 1024px) {
  .common-header__spmenu {
    display: block;
    z-index: 1;
  }
}
.common-header__toggle {
  display: none;
  position: relative;
  z-index: var(--zIndex-toggle);
}

@media screen and (max-width: 1024px) {
  .common-header__toggle {
    display: block;
    display: grid;
    place-items: center;
  }
}
/*  layout > footer
============================================================================================================ */
.common-footer {
  background-color: var(--color-primary);
  color: white;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  overflow-x: clip;
  padding-top: 24px;
  padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .common-footer {
    padding-top: 32px;
    padding-bottom: 154px;
  }
}

.common-footer__bar {
  height: 5px;
  background-color: white;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  display: block;
}
@media screen and (max-width: 767px) {
  .common-footer__bar {
    height: 2px;
  }
}

.common-footer__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.common-footer__logo {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .common-footer__logo {
    display: grid;
    place-items: center;
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  .common-footer__logoImg {
    width: 221px;
  }
}

.common-footer__layout {
  display: grid;
  grid-template-columns: 1.34fr 1fr;
  -moz-column-gap: 4%;
       column-gap: 4%;
  margin-top: 25px;
  padding-left: 4%;
  padding-right: 4%;
}
@media screen and (max-width: 767px) {
  .common-footer__layout {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 55px;
  }
}

.common-footer__right {
  padding-bottom: 10px;
  align-self: flex-end;
}

.common-footer__sns {
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .common-footer__sns {
    -moz-column-gap: 32px;
         column-gap: 32px;
    justify-content: center;
    margin-top: 10px;
  }
  .common-footer__sns > * {
    flex-basis: 40px;
  }
}

.common-footer__tel {
  margin-top: 40px;
  font-size: 18px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .common-footer__tel {
    font-size: 15px;
    text-align: center;
    width: unset;
    line-height: 1.6;
    font-weight: 400;
  }
}

.common-footer__business {
  margin-top: 20px;
  font-size: 18px;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .common-footer__business {
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
    font-weight: 400;
    width: unset;
    margin-top: 10px;
  }
}

.common-footer__address {
  margin-top: 25px;
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .common-footer__address {
    margin-top: 15px;
    font-size: 12px;
    text-align: center;
    width: unset;
    font-weight: 400;
    line-height: 2;
  }
}
.common-footer__address > .pctab-only {
  display: none !important;
}

.common-footer__lower {
  margin-top: 125px;
}
@media screen and (max-width: 767px) {
  .common-footer__lower {
    margin-top: 30px;
  }
}

.common-footer__copyright {
  display: block;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.2142857143;
  font-family: var(--fontFamily-en);
  text-align: center;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .common-footer__copyright {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .common-footer__copyrightBar {
    display: none;
  }
}

/* layout > front page （TOP,HOME）
============================================================================================================ */
/* layout > archive
============================================================================================================ */
.archive-post__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .archive-post__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.archive-post__heading-text {
  padding: 120px 0 40px;
  margin: 0 auto;
  text-align: center;
  max-width: 864px;
  width: 67.5vw;
}
@media screen and (max-width: 767px) {
  .archive-post__heading-text {
    padding: 10.6666666667vw 0;
    max-width: unset;
    width: 89.3333333333vw;
  }
}

.archive-post__inner {
  padding: 143px 136px 200px;
  display: grid;
  gap: 64px 0;
}
@media screen and (max-width: 767px) {
  .archive-post__inner {
    padding: 21.3333333333vw 5.3333333333vw 32vw;
  }
}

/* layout > single
============================================================================================================ */
/*  layout > container
============================================================================================================ */
.l-container--1000 {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .l-container--1000 {
    max-width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .l-container--1000 {
    max-width: 92vw;
  }
}

/* layout > contact
============================================================================================================ */
.page-contact__inner {
  max-width: 584px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .page-contact__inner {
    max-width: 84vw;
  }
}
.page-contact .common-heading {
  margin-bottom: 71px;
}
@media screen and (max-width: 767px) {
  .page-contact .common-heading {
    margin-bottom: 8.6666666667vw;
  }
}
.page-contact__intro {
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .page-contact__intro {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.page-contact__intro a {
  color: blue;
  text-decoration: underline;
}
.page-contact__note {
  font-size: 11px;
  font-size: 0.6875rem;
  display: block;
  margin: 71px 0 25px;
}
@media screen and (max-width: 767px) {
  .page-contact__note {
    font-size: 14px;
    font-size: 3.7333333333vw;
    margin: 10.6666666667vw 0 8vw;
  }
}

.page.confirm .page-contact__intro {
  text-align: center;
  margin-bottom: 71px;
}
@media screen and (max-width: 767px) {
  .page.confirm .page-contact__intro {
    margin-bottom: 13.3333333333vw;
  }
}

.page.thanks .page-contact .common-heading {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .page.thanks .page-contact .common-heading {
    margin-bottom: 10.6666666667vw;
  }
}
.page.thanks .page-contact__thanksLogo {
  width: 260px;
  margin: 0 auto 41px;
}
@media screen and (max-width: 767px) {
  .page.thanks .page-contact__thanksLogo {
    width: 52.5333333333vw;
    margin-bottom: 11.3333333333vw;
  }
}
.page.thanks .page-contact__intro {
  text-align: center;
  line-height: 2.2857142857;
  margin-bottom: 69px;
}
@media screen and (max-width: 767px) {
  .page.thanks .page-contact__intro {
    line-height: 2.0714285714;
    margin-bottom: 13.3333333333vw;
  }
}

/*  layout > form
============================================================================================================ */
.form__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: normal;
  align-content: normal;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .form__row {
    align-items: flex-start;
  }
}
.form__row:nth-of-type(n + 2) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .form__row:nth-of-type(n + 2) {
    margin-top: 8vw;
  }
}
.form__row.kinds .form__col:nth-of-type(2) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: normal;
  align-content: normal;
  flex-direction: row;
}
.form__row.content {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .form__row.content {
    margin-top: 8vw;
  }
}
.form__col:first-of-type {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 2;
  width: 173px;
}
@media screen and (max-width: 767px) {
  .form__col:first-of-type {
    font-size: 14px;
    font-size: 3.7333333333vw;
    line-height: 1.25;
    width: 100%;
    margin-bottom: 2.6666666667vw;
  }
}
.form__col:nth-of-type(2) {
  font-size: 14px;
  font-size: 0.875rem;
  width: 411px;
}
@media screen and (max-width: 767px) {
  .form__col:nth-of-type(2) {
    font-size: 14px;
    font-size: 3.7333333333vw;
    width: 100%;
  }
}
.form__note {
  font-size: 14px;
  font-size: 0.875rem;
  display: block;
  width: 100%;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .form__note {
    font-size: 14px;
    font-size: 3.7333333333vw;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 4vw;
  }
}
.form__note a {
  color: blue;
  text-decoration: underline;
}
.form__btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: normal;
  align-content: normal;
  flex-direction: row;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .form__btn {
    align-items: center;
    flex-direction: column-reverse;
    margin-top: 13.3333333333vw;
  }
}
.form__btn-col.submit {
  margin-top: 0;
}
.form__btn-col.back {
  margin-top: 0;
}
.form__btn-col.back:before {
  left: auto;
  right: 0;
  transform: rotateY(180deg);
}

/* layout > privacy-policy
============================================================================================================ */
.page-privacy {
  max-width: 764px;
  width: 100%;
  padding-top: 150px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .page-privacy {
    max-width: 92vw;
    padding-top: 22vw;
  }
}
.page-privacy h1 {
  font-size: 32px;
  font-size: 2rem;
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .page-privacy h1 {
    font-size: 26px;
    font-size: 6.9333333333vw;
    margin-bottom: 10.6666666667vw;
  }
}
.page-privacy h1 + h2 {
  margin-top: 0;
}
.page-privacy h2 {
  font-size: 22px;
  font-size: 1.375rem;
  margin: 50px 0 5px;
}
@media screen and (max-width: 767px) {
  .page-privacy h2 {
    font-size: 20px;
    font-size: 5.3333333333vw;
    margin: 6.6666666667vw 0 1.0666666667vw;
  }
}
.page-privacy ul {
  font-size: 15px;
  font-size: 0.9375rem;
  padding-left: 1.35em;
  margin: 15px 0;
}
@media screen and (max-width: 767px) {
  .page-privacy ul {
    font-size: 13px;
    font-size: 3.4666666667vw;
    display: inline-block;
    text-align: left;
    padding-left: 1.55em;
    line-height: 1.75;
    margin: 2.6666666667vw 0;
  }
}
.page-privacy ul li {
  list-style: disc;
}
.page-privacy ol {
  padding-left: 1em;
  margin: 15px 0;
}
@media screen and (max-width: 767px) {
  .page-privacy ol {
    font-size: 12px;
    font-size: 3.2vw;
    display: inline-block;
    text-align: left;
    line-height: 1.75;
    margin: 2.6666666667vw 0;
  }
}
.page-privacy ol li {
  list-style: inherit;
}
.page-privacy ol li > ol {
  padding-left: 2em;
  margin: 10px 0 20px;
}
@media screen and (max-width: 767px) {
  .page-privacy ol li > ol {
    margin: 2vw 0 3.3333333333vw;
  }
}
.page-privacy ol li > ol li {
  list-style-type: cjk-ideographic;
}
.page-privacy p.last {
  text-align: right;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .page-privacy p.last {
    margin-top: 13.3333333333vw;
  }
}
.page-privacy p a {
  color: blue;
  word-break: break-all;
}
.page-privacy p a:hover {
  text-decoration: underline;
}

.common-bnr {
  position: fixed;
  right: 0;
  bottom: 25px;
  z-index: 55;
}
@media screen and (max-width: 767px) {
  .common-bnr {
    bottom: 50px;
  }
}

.common-back {
  position: fixed;
  left: var(--gutter);
  bottom: 20px;
  z-index: 55;
}

/* layout > 404
============================================================================================================ */
.page-404 {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 125px;
  padding-bottom: 250px;
}
@media screen and (max-width: 767px) {
  .page-404 {
    padding-top: 100px;
    padding-bottom: 200px;
  }
}

.page-404__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.page-404__heading {
  font-size: clamp(140px, 15.625vw, 200px);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  font-family: var(--fontFamily-en);
}

.page-404__text {
  font-size: 32px;
  line-height: 1.0625;
  text-align: center;
  font-weight: 700;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .page-404__text {
    font-size: 24px;
    line-height: 1.3333333333;
  }
}

.page-404__textParts {
  display: inline-block;
}

.page-404__button {
  margin-top: 80px;
  display: grid;
  place-items: center;
}

/* module
============================================================================ */
/* module > Page-ttl
============================================================================ */
/* module > form
============================================================================ */
/*////////////////////////// 基本スタイル //////////////////////////*/
input[type=text], input[type=email], input[type=tel], select, textarea {
  font-size: 14px;
  font-size: 0.875rem;
  width: 100%;
  padding: 2px 7px;
  min-height: auto;
  outline: none;
  background: white;
  border: 1px solid gray;
  box-sizing: border-box;
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  vertical-align: bottom;
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, input[type=tel]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #aaa;
}
input[type=text]:placeholder-shown, input[type=email]:placeholder-shown, input[type=tel]:placeholder-shown, select:placeholder-shown, textarea:placeholder-shown {
  color: #aaa;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #aaa;
}
input[type=text]:-moz-placeholder, input[type=email]:-moz-placeholder, input[type=tel]:-moz-placeholder, select:-moz-placeholder, textarea:-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #aaa;
}
@media screen and (max-width: 767px) {
  input[type=text], input[type=email], input[type=tel], select, textarea {
    font-size: 14px;
    font-size: 3.7333333333vw;
    padding: 0 1.8666666667vw;
  }
}

/*////////////////////////// テキストエリア //////////////////////////*/
textarea {
  height: 238px;
}
@media screen and (max-width: 767px) {
  textarea {
    height: 72vw;
  }
}

/*////////////////////////// セレクトボックス //////////////////////////*/
select {
  height: 39px;
  -webkit-appearance: none; /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none; /* ベンダープレフィックス(Firefox用) */
  appearance: none; /* 標準のスタイルを無効にする */
  position: relative;
  background-image: url("./img/common/arw_select.svg");
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: center right 10px;
  box-sizing: border-box;
}

::-ms-expand { /* select要素のデザインを無効にする（IE用） */
  display: none;
}

/*////////////////////////// ラジオボタン //////////////////////////*/
.mw_wp_form .mwform-radio-field.horizontal-item {
  position: relative;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .mwform-radio-field.horizontal-item {
    margin-right: 4vw;
  }
}
.mw_wp_form .mwform-radio-field.horizontal-item + .horizontal-item {
  margin-left: 0;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .mwform-radio-field.horizontal-item + .horizontal-item {
    margin-right: 4vw;
  }
}
.mw_wp_form .mwform-radio-field-text {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .mwform-radio-field-text {
    font-size: 15px;
    font-size: 4vw;
    line-height: 1.5;
  }
}
.mw_wp_form input[type=radio] {
  position: absolute;
  opacity: 0;
}
.mw_wp_form input[type=radio] + .mwform-radio-field-text:before {
  content: "";
  background: white;
  border-radius: 50%;
  border: 1px solid black;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 10px;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.mw_wp_form input[type=radio]:checked + .mwform-radio-field-text:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 2px white;
}
.mw_wp_form input[type=radio]:focus + .mwform-radio-field-text:before {
  outline: none;
  border-color: #3197EE;
}
.mw_wp_form input[type=radio] + .mwform-radio-field-text:empty:before {
  margin-right: 0;
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  position: relative;
  margin-right: 30px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .wpcf7-radio .wpcf7-list-item {
    margin-right: 4vw;
  }
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item:first-of-type {
  margin-left: 0;
}

.wpcf7-radio .wpcf7-list-item-label {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .wpcf7-radio .wpcf7-list-item-label {
    font-size: 15px;
    font-size: 4vw;
    line-height: 1.5;
  }
}
.wpcf7-radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:before {
  content: "";
  background: white;
  border-radius: 50%;
  border: 1px solid black;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 10px;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 2px white;
}
.wpcf7-radio input[type=radio]:focus + .wpcf7-list-item-label:before {
  outline: none;
  border-color: #3197EE;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}
.wpcf7-radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:before {
  content: "";
  background: white;
  border-radius: 50%;
  border: 1px solid black;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 10px;
  vertical-align: top;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
}
.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label:before {
  background-color: #3197EE;
  box-shadow: inset 0 0 0 2px white;
}
.wpcf7-radio input[type=radio]:focus + .wpcf7-list-item-label:before {
  outline: none;
  border-color: #3197EE;
}
.wpcf7-radio input[type=radio] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}

/*///////////////// チェックボックス //////////////////////////*/
.mw_wp_form .mwform-checkbox-field.horizontal-item {
  display: block;
}
.mw_wp_form .mwform-checkbox-field.horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .mwform-checkbox-field.horizontal-item:nth-of-type(n + 2) {
  margin-top: 20px;
}
.mw_wp_form .mwform-checkbox-field-text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .mwform-checkbox-field-text {
    font-size: 15px;
    font-size: 4vw;
    line-height: 1.5;
  }
}
.mw_wp_form input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  position: relative;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:before {
  content: "";
  display: inline-block;
  background: white;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 10px;
  margin-right: 18px;
  cursor: pointer;
  transition: all 250ms ease;
}
@media screen and (max-width: 767px) {
  .mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:before {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
    border-radius: 2vw;
    margin-right: 3.2vw;
  }
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:after {
  content: "";
  position: absolute;
  top: 7px;
  left: 5px;
  z-index: 1;
  width: 20px;
  height: 17px;
  background: #3197EE;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:after {
    top: 1.6vw;
    left: 1.2vw;
    width: 4.2666666667vw;
    height: 3.6vw;
    border-radius: 2vw;
  }
}
.mw_wp_form input[type=checkbox]:checked + .mwform-checkbox-field-text:after {
  opacity: 1;
}
.mw_wp_form input[type=checkbox]:focus + .mwform-checkbox-field-text:before {
  outline: none;
  border-color: #3197EE;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text:empty:before {
  margin-right: 0;
}

.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
  margin-left: 0;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item:nth-of-type(n + 2) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .wpcf7-checkbox .wpcf7-list-item:nth-of-type(n + 2) {
    margin-top: 4vw;
  }
}
.wpcf7-form .wpcf7-list-item-label {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .wpcf7-list-item-label {
    font-size: 15px;
    font-size: 4vw;
    line-height: 1.5;
  }
}
.wpcf7-form input[type=checkbox] {
  position: absolute;
  opacity: 0;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
  position: relative;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:before {
  content: "";
  display: inline-block;
  background: white;
  width: 30px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 10px;
  margin-right: 18px;
  cursor: pointer;
  transition: all 250ms ease;
}
@media screen and (max-width: 767px) {
  .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:before {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
    border-radius: 2vw;
    margin-right: 3.2vw;
  }
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:after {
  content: "";
  position: absolute;
  top: 7px;
  left: 5px;
  z-index: 1;
  width: 20px;
  height: 17px;
  background: #3197EE;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:after {
    top: 1.6vw;
    left: 1.2vw;
    width: 4.2666666667vw;
    height: 3.6vw;
    border-radius: 2vw;
  }
}
.wpcf7-form input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}
.wpcf7-form input[type=checkbox]:focus + .wpcf7-list-item-label:before {
  outline: none;
  border-color: #3197EE;
}
.wpcf7-form input[type=checkbox] + .wpcf7-list-item-label:empty:before {
  margin-right: 0;
}

/*////////////////////////// ファイル添付 //////////////////////////*/
.mw_wp_form .form__row.file input[type=file] {
  display: none;
}
.mw_wp_form .form__row.file .form__col {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
.mw_wp_form .form__row.file .form__col .file_name {
  display: inline-block;
  word-break: break-all;
  line-height: 1.2;
  max-width: 40%;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .form__row.file .form__col .file_name {
    max-width: 60%;
    margin-top: 2.6666666667vw;
    margin-left: 0;
  }
}
.mw_wp_form .form__row.file .mw-wp-form_file a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mw_wp_form .file_label {
  font-size: 16px;
  font-size: 1rem;
  display: block;
  width: 172px;
  padding: 2px 7px;
  min-height: auto;
  border-radius: 10px;
  outline: none;
  text-align: center;
  background: #ddd;
  cursor: pointer;
}
.mw_wp_form .file_label:-moz-placeholder {
  color: #aaa;
}
.mw_wp_form .file_label:placeholder-shown {
  color: #aaa;
}
.mw_wp_form .file_label::-webkit-input-placeholder {
  color: #aaa;
}
.mw_wp_form .file_label:-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.mw_wp_form .file_label::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.mw_wp_form .file_label:-ms-input-placeholder {
  color: #aaa;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .file_label {
    font-size: 14px;
    font-size: 3.7333333333vw;
    padding: 0 1.8666666667vw;
    border-radius: 2vw;
  }
}
.mw_wp_form .mwform-file-delete {
  margin-left: 15px;
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  .mw_wp_form .mwform-file-delete {
    margin-left: 4vw;
    margin-right: 2.6666666667vw;
  }
}

.mw_wp_form_confirm .file_label {
  display: none;
}

.wpcf7-form .form__row.file input[type=file] {
  display: none;
}
.wpcf7-form .form__row.file .form__col {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: normal;
  flex-direction: row;
}
.wpcf7-form .form__row.file .form__col .file_name {
  display: inline-block;
  word-break: break-all;
  line-height: 1.2;
  max-width: 40%;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .form__row.file .form__col .file_name {
    max-width: 60%;
    margin-top: 2.6666666667vw;
    margin-left: 0;
  }
}
.wpcf7-form .form__row.file a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.wpcf7-form .file_label {
  font-size: 16px;
  font-size: 1rem;
  display: block;
  width: 172px;
  padding: 2px 7px;
  min-height: auto;
  border-radius: 10px;
  outline: none;
  text-align: center;
  background: #ddd;
  cursor: pointer;
}
.wpcf7-form .file_label:-moz-placeholder {
  color: #aaa;
}
.wpcf7-form .file_label:placeholder-shown {
  color: #aaa;
}
.wpcf7-form .file_label::-webkit-input-placeholder {
  color: #aaa;
}
.wpcf7-form .file_label:-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.wpcf7-form .file_label::-moz-placeholder {
  color: #aaa;
  opacity: 1;
}
.wpcf7-form .file_label:-ms-input-placeholder {
  color: #aaa;
}
@media screen and (max-width: 767px) {
  .wpcf7-form .file_label {
    font-size: 14px;
    font-size: 3.7333333333vw;
    padding: 0 1.8666666667vw;
    border-radius: 2vw;
  }
}

.page-contact.confirm .file_label {
  display: none;
}

/*////////////////////////// ボタン //////////////////////////*/
input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
}

/*////////////////////////// 入力画面・確認画面 //////////////////////////*/
.mw_wp_form_input .error {
  width: 100%;
}
.mw_wp_form_input .form__btn-col:first-of-type {
  display: none;
}

.mw_wp_form_confirm .form__row {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form__row {
    margin-top: 8.5333333333vw;
  }
}
.mw_wp_form_confirm .form__row.mail_confirm {
  display: none;
}
.mw_wp_form_confirm .form__col:nth-of-type(2) {
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form__col:nth-of-type(2) {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}
.mw_wp_form_confirm .form__btn {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form__btn {
    margin-top: 12vw;
  }
}
.mw_wp_form_confirm .form__btn-col.btn__more {
  margin: 0;
}
.mw_wp_form_confirm .form__btn-col:first-of-type {
  display: block;
}
@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form__btn-col.back {
    margin-top: 9.3333333333vw;
  }
}
.mw_wp_form_confirm .form__note {
  display: none;
}

.wpcf7-spinner {
  display: none;
}

.bnr-sticky {
  padding-left: 4px;
  padding-top: 16px;
  padding-bottom: 16px;
  padding-right: 40px;
  background-color: var(--color-primary);
  border-left: 3px solid white;
  border-top: 3px solid white;
  border-bottom: 3px solid white;
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 25%, transparent));
  color: white;
  display: block;
  transition: translate 0.3s;
}
@media screen and (max-width: 767px) {
  .bnr-sticky {
    padding-left: unset;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 14px;
  }
}
.bnr-sticky:has(.bnr-sticky__icon[aria-expanded=false]) {
  translate: calc(100% - 42px - 3px);
}
@media screen and (max-width: 767px) {
  .bnr-sticky:has(.bnr-sticky__icon[aria-expanded=false]) {
    translate: calc(100% - 25px - 3px);
  }
}

.bnr-sticky__inner {
  display: grid;
  grid-template-columns: 42px 2px auto;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__inner {
    grid-template-columns: 25px 1px auto;
  }
}

.bnr-sticky__icon {
  display: grid;
  place-items: center;
  transition: transform 0.2s;
  position: relative;
}

@media screen and (max-width: 767px) {
  .bnr-sticky__icon[aria-expanded=false] {
    transform: scaleX(-1);
  }
}
.bnr-sticky__icon[aria-expanded=false] .bnr-sticky__txt {
  opacity: 0;
}
.bnr-sticky__icon[aria-expanded=false] .bnr-sticky__arrow--pc {
  opacity: 1;
}

.bnr-sticky__body {
  padding-left: 20px;
  padding-bottom: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__body {
    padding-left: 8px;
    padding-bottom: unset;
  }
}

.bnr-sticky__bar {
  background-color: white;
  height: 100%;
}

.bnr-sticky__sub {
  font-size: 18px;
  line-height: 1.3333333333;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__sub {
    font-size: 12px;
    line-height: 2;
    letter-spacing: 0;
  }
}

.bnr-sticky__main {
  margin-top: 5px;
  font-size: 22px;
  line-height: 1.0909090909;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__main {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    margin-top: unset;
  }
}

.bnr-sticky__txt {
  display: flex;
  flex-direction: column;
  transition: 0.4s;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .bnr-sticky__txt {
    display: none;
  }
}
.bnr-sticky__txt span {
  line-height: 1;
  font-weight: 600;
}

.bnr-sticky__arrow--pc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.4s;
}

/* module > btn
============================================================================ */
.btn-arrow {
  --color-btn-arrow: var(--color-primary);
  display: grid;
  grid-template-columns: auto 24px;
  text-align: center;
  padding-right: 1.5em;
  font-size: 16px;
  padding-left: 0.5em;
  border: 2px solid var(--color-btn-arrow);
  background-color: var(--color-back);
  min-height: 48px;
  align-items: center;
  width: min(296px, 100%);
  color: var(--color-btn-arrow);
  filter: drop-shadow(0 4px 4px color-mix(in srgb, black 35%, transparent));
  transition: filter 0.3s;
}
@media screen and (max-width: 767px) {
  .btn-arrow {
    padding-right: 1.5em;
    font-size: clamp(10px, 3.125vw, 15px);
  }
}
.btn-arrow--price {
  background-color: #FAFAFA;
}
.btn-arrow--special {
  background-color: #9B0101;
  --color-btn-arrow: #FAFAFA;
}
.btn-arrow--white {
  --color-btn-arrow: #FBFBFB;
}
.btn-arrow--secondary {
  --color-btn-arrow: var(--color-secondary);
}
.btn-arrow--cta {
  --color-btn-arrow: #FAFAFA;
  background-color: var(--color-primary);
  border: 2px solid transparent;
}
.btn-arrow--spmenu {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  -moz-column-gap: 16px;
       column-gap: 16px;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
@media not screen and (max-width: 767px) {
  .btn-arrow:hover {
    filter: unset;
  }
}

.btn-arrow__text {
  overflow: hidden;
  line-height: 1;
  color: transparent;
  font-weight: 700;
  text-shadow: 0 0 0 var(--color-btn-arrow), 0 1.5em 0 var(--color-btn-arrow);
  transition: text-shadow 0.3s;
  letter-spacing: 0.1em;
}

@media not screen and (max-width: 767px) {
  .btn-arrow:hover .btn-arrow__text {
    text-shadow: 0 -1.5em 0 var(--color-btn-arrow), 0 0 0 var(--color-btn-arrow);
  }
}
.btn-strengthItem {
  --color-btn-arrow: white;
  display: grid;
  grid-template-columns: auto 24px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  text-align: center;
  font-size: 16px;
  min-height: 18px;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--color-btn-arrow);
}

.btn-strengthItem__text {
  overflow: clip;
  line-height: 1;
  color: transparent;
  font-weight: 700;
  text-shadow: 0 0 0 var(--color-btn-arrow), 0 1.5em 0 var(--color-btn-arrow);
  transition: text-shadow 0.3s;
}

@media not screen and (max-width: 767px) {
  .btn-strengthItem:hover .btn-strengthItem__text {
    text-shadow: 0 -1.5em 0 var(--color-btn-arrow), 0 0 0 var(--color-btn-arrow);
  }
}
.btn-strengthItem__arrow {
  translate: 0 2px;
}

.btn-back {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  pointer-events: auto;
  cursor: pointer;
  color: var(--color-primary);
  transition: color 0.2s, opacity 0.2s;
  opacity: 0;
  pointer-events: none;
}
.btn-back.is-on-footer {
  color: white;
}
.btn-back.is-on-footer .btn-back__square {
  background: transparent;
  border: 2px solid white;
}
.btn-back.is-on-footer .btn-back__text {
  color: white;
}
.btn-back.is-visible {
  opacity: 1;
  pointer-events: all;
}

.btn-back__square {
  background: var(--color-back);
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border: 2px solid var(--color-primary);
  transition: border 0.2s;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .btn-back__square {
    width: 64px;
    height: 64px;
  }
}

.btn-back__arrow {
  display: block;
  will-change: transform;
}

.btn-back__text {
  font-size: 24px;
  line-height: 1;
  text-align: center;
  color: var(--color-primary);
  letter-spacing: 0.1em;
  transition: color 0.2s;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .btn-back__text {
    font-size: 22px;
  }
}

.btn-back:hover .btn-back__arrow,
.btn-back:focus-visible .btn-back__arrow {
  animation: backArrowUp 0.3s linear both;
}

.btn-back:not(:hover):not(:focus-visible) .btn-back__arrow {
  animation: backArrowDown 0.3s linear both;
}

@keyframes backArrowUp {
  0% {
    transform: translateY(0);
  }
  49% {
    transform: translateY(-140%);
  }
  50% {
    transform: translateY(140%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes backArrowDown {
  0% {
    transform: translateY(0);
  }
  49% {
    transform: translateY(140%);
  }
  50% {
    transform: translateY(-140%);
  }
  100% {
    transform: translateY(0);
  }
}
.c-cta {
  color: white;
  padding: 40px 80px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-cta {
    padding: 32px 20px 16px;
  }
}

.c-cta__bg {
  width: 100%;
  height: 100%;
  filter: blur(3px);
  background-image: url("https://placehold.jp/3d4070/ffffff/1280x266.png?text=dummy");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1.1);
  z-index: 1;
}
.c-cta__bg:before {
  content: "";
  background: rgba(35, 35, 35, 0.6);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.c-cta__inner {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 40px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-cta__inner {
    text-align: left;
  }
}

.c-cta__cont {
  max-width: 336px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-cta__cont {
    max-width: none;
  }
}

.c-cta__cont-ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4166666667;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .c-cta__cont-ttl {
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 24px;
  }
}

.c-cta__cont-txt {
  font-size: 14px;
  line-height: 1.7142857143;
}

.c-cta__btn {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}

/*  module > breadcrumbs
============================================================================================================ */
/* module > pagination （WP-Pagenavi）
============================================================================ */
.heading-bar {
  --heading-bar-color: var(--color-primary);
}

.heading-bar--white {
  --heading-bar-color: #fafafa ;
}

.heading-bar__inner {
  display: flex;
  align-items: center;
  overflow-x: clip;
}

.heading-bar__en {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--heading-bar-color);
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .heading-bar__en {
    font-size: 18px;
    line-height: 1.3333333333;
  }
}

.heading-bar__ja {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .heading-bar__ja {
    font-size: 12px;
    line-height: 1.8333333333;
  }
}

.heading-bar--white .heading-bar__ja {
  color: var(--heading-bar-color);
}

.heading-bar__inner::after {
  height: 2px;
  background-color: var(--heading-bar-color);
  width: 100%;
  flex: 1;
  margin-left: 32px;
  content: "";
}
@media screen and (max-width: 767px) {
  .heading-bar__inner::after {
    margin-left: 8px;
  }
}

@media not screen and (max-width: 767px) {
  .heading-bar--top-news .heading-bar__inner::after {
    display: none;
  }
}

.card-price {
  --color-card-price-base: white;
  max-width: 320px;
  aspect-ratio: 320/400;
  padding: 30px 24px;
  border-radius: 20px;
  height: 400px;
  background-color: var(--color-card-price-base);
  color: var(--color-card-price-text, #232323);
  filter: drop-shadow(0 0 5px color-mix(in srgb, black 15%, transparent));
  transition: background-color 0.2s, color 0.2s;
}
@media screen and (max-width: 767px) {
  .card-price {
    aspect-ratio: 320/374;
    padding-left: 15px;
    padding-top: 35px;
    padding-bottom: 27px;
    padding-right: 30px;
    height: 374px;
  }
}
.card-price[data-type=personal] {
  width: 320px;
  height: 170px;
  aspect-ratio: 170/320;
}

.card-price:hover {
  --color-card-price-base: var(--color-primary);
  --color-card-price-text: white;
}

.card-price:hover .card-price__check path {
  stroke: var(--color-primary);
}

.card-price:hover .card-price__check circle {
  fill: white;
}

.card-price:hover .card-price__cross path {
  stroke: var(--color-primary);
}

.card-price__link {
  min-height: 0;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  height: 100%;
}

.card-price__head {
  min-width: 0;
}

.card-price__heading,
.card-price__catch {
  font-size: 23px;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-price__heading,
  .card-price__catch {
    font-size: 20px;
  }
}

.card-price__heading strong,
.card-price__catch strong {
  color: var(--color-card-price-text, var(--color-primary));
  transition: color 0.2s;
}

.card-price__heading span,
.card-price__catch span {
  color: var(--color-card-price-text, var(--color-primary));
  transition: color 0.2s;
}

.card-price__spacer {
  flex: 1 1 auto;
  min-height: 0;
}

.card-price__list {
  display: grid;
  margin-top: 35px;
  row-gap: 8px;
  min-height: 0;
}
@media screen and (max-width: 767px) {
  .card-price__list {
    margin-top: 22px;
    row-gap: 9px;
  }
}

.card-price__item {
  display: grid;
  grid-template-columns: 16px 1fr;
  align-items: center;
  -moz-column-gap: 8px;
       column-gap: 8px;
}

.card-price__feature {
  font-size: 14px;
  line-height: 1.7142857143;
  font-weight: 700;
}

.card-price__body {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  min-height: 0;
}

.card-price__price {
  font-size: 32px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--color-card-price-text, var(--color-primary));
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .card-price__price {
    font-size: 28px;
    line-height: 1.1428571429;
    margin-top: 10px;
  }
}

.card-price__priceNum {
  font-size: 125%;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .card-price__priceNum {
    font-size: 32px;
    line-height: 1;
  }
}

.card-price__check path,
.card-price__cross path {
  transition: stroke 0.2s;
}

.card-price__check circle {
  transition: fill 0.2s;
}

.nav-header__list {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}

.nav-header__link {
  font-size: 16px;
  font-weight: 700;
  font-style: italic;
  color: var(--color-secondary);
  text-transform: uppercase;
  padding-left: 0.5em;
  padding-right: 0.5em;
  transition: color 0.2s;
}

.nav-header__link:hover,
.nav-header__link:focus {
  color: var(--color-primary);
}

.nav-anchor__list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .nav-anchor__list {
    flex-direction: column;
  }
}

.nav-anchor__item {
  flex: 1;
  border-left: 2px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .nav-anchor__item {
    border-left: unset;
    border-top: 2px solid var(--color-primary);
  }
}
.nav-anchor__item:last-of-type {
  border-right: 2px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .nav-anchor__item:last-of-type {
    border-right: unset;
    border-bottom: 2px solid var(--color-primary);
  }
}

.nav-anchor__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 15px;
  padding-top: 20px;
  padding-bottom: 30px;
  padding-left: 5px;
  padding-right: 5px;
}
@media not screen and (max-width: 767px) {
  .nav-anchor__link:hover .nav-anchor__arrow {
    translate: 0 5px;
  }
}
@media screen and (max-width: 767px) {
  .nav-anchor__link {
    flex-direction: row;
    justify-content: space-between;
    -moz-column-gap: 10px;
         column-gap: 10px;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 9px;
    padding-top: 9px;
  }
}

.nav-anchor__text {
  color: var(--color-primary);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .nav-anchor__text {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .nav-anchor__text {
    font-size: 18px;
  }
}

.nav-anchor__arrow {
  flex-shrink: 0;
  transition: translate 0.3s;
}

.nav-footer__list {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}
@media screen and (max-width: 767px) {
  .nav-footer__list {
    align-items: center;
    row-gap: 8px;
  }
}

.nav-footer__link {
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-family: var(--fontFamily-en);
}

.nav-footerSub__list {
  display: flex;
  justify-content: center;
}

.nav-footerSub__item {
  display: flex;
  align-items: center;
}

.nav-footerSub__item:not(:first-of-type)::before {
  content: "";
  height: 24px;
  background-color: white;
  width: 2px;
  display: inline-block;
  margin-left: 16px;
  margin-right: 16px;
}

.nav-footerSub__link {
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.2142857143;
  font-family: var(--fontFamily-en);
}
@media screen and (max-width: 767px) {
  .nav-footerSub__link {
    font-size: 12px;
  }
}

.nav-lang__list {
  font-size: 16px;
  font-weight: 700;
  font-style: italic;
  display: flex;
}

.nav-lang__item:not(:first-of-type)::before {
  content: "/";
  margin-left: 0.3em;
  margin-right: 0.15em;
  color: var(--color-secondary);
}

.nav-lang__link {
  line-height: 1;
  color: #9f9f9f;
}
.nav-lang__link[aria-current=true] {
  color: var(--color-secondary);
  border-bottom: 2px solid currentColor;
}

.post-row {
  width: -moz-fit-content;
  width: fit-content;
}

.post-row__date {
  font-size: 14px;
  line-height: 1.1428571429;
  letter-spacing: 0.1em;
  transition: color 0.2s;
}
@media screen and (max-width: 767px) {
  .post-row__date {
    font-size: 12px;
    line-height: 1.3333333333;
  }
}

.post-row__body {
  padding-top: 15px;
}
@media screen and (max-width: 767px) {
  .post-row__body {
    padding-top: 5px;
  }
}

.post-row__title {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.125;
  font-weight: 700;
  transition: color 0.2s;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .post-row__title {
    font-size: 13px;
    line-height: 1.3846153846;
  }
}

.post-row__link:hover .post-row__date {
  color: var(--color-primary);
}

.post-row__link:hover .post-row__title {
  color: var(--color-primary);
}

.accordion-faq {
  position: relative;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .accordion-faq {
    padding-left: 15px;
    padding-right: 0;
  }
}
.accordion-faq[open] .accordion-faq__question {
  padding-left: 10px;
}
.accordion-faq[open] .accordion-faq__answer {
  padding-left: 10px;
}
.accordion-faq[open] .accordion-faq__arrow {
  transform: scaleY(-1);
}
.accordion-faq[open] .accordion-faq__container {
  grid-template-rows: 1fr;
}

.accordion-faq__bar {
  width: 50vw;
  translate: -100% 0;
  background-color: var(--color-primary);
  height: 2px;
  display: block;
  position: absolute;
  left: 0;
  top: 17px;
  max-width: 80px;
}
@media screen and (max-width: 767px) {
  .accordion-faq__bar {
    top: 14px;
  }
}

.accordion-faq__arrow {
  transition: transform 0.5s, padding 0.5s;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .accordion-faq__arrow {
    width: 20px;
  }
}

.accordion-faq__summary {
  display: flex;
  align-items: center;
  -moz-column-gap: 24px;
       column-gap: 24px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .accordion-faq__summary {
    -moz-column-gap: 12px;
         column-gap: 12px;
  }
}

.accordion-faq__question {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: padding 0.5s;
}
@media screen and (max-width: 767px) {
  .accordion-faq__question {
    font-size: 14px;
    line-height: 1.2857142857;
  }
}

.accordion-faq__answer {
  padding-top: 15px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  transition: padding 0.5s;
}
@media screen and (max-width: 767px) {
  .accordion-faq__answer {
    font-size: 14px;
    line-height: 1.2857142857;
  }
}

.accordion-faq__container {
  display: grid;
  transition: grid-template-rows 0.5s;
  grid-template-rows: 0fr;
}

.accordion-faq__containerInner {
  overflow-y: hidden;
}

.btn-hamburger {
  cursor: pointer;
  height: 32px;
  position: relative;
  width: 32px;
  border-radius: 999em;
}

.btn-hamburger__line {
  background-color: var(--color-primary);
  display: inline-block;
  height: 2px;
  pointer-events: none;
  position: absolute;
  transition: all 0.3s;
  width: 32px;
  left: 0;
  border-radius: 1px;
}

.btn-hamburger__line:nth-of-type(1) {
  top: 1px;
}

.btn-hamburger__line:nth-of-type(2) {
  top: 15px;
}

.btn-hamburger__line:nth-of-type(3) {
  top: 29px;
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line:nth-of-type(1) {
  transform: translateY(14px) rotate(-45deg);
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line:nth-of-type(2) {
  transform: translateX(100%);
  opacity: 0;
}

.btn-hamburger[aria-expanded=true] .btn-hamburger__line:nth-of-type(3) {
  transform: translateY(-14px) rotate(45deg);
}

.common-spmenu {
  height: 100vh;
  height: 100dvh;
  opacity: 0;
  pointer-events: none;
  position: relative;
  transition: opacity 0.3s;
  width: 100%;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: calc(var(--height-header) * 1px - 32px);
  padding-bottom: 100px;
  background-color: var(--color-back);
}

.common-spmenu__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.common-spmenu__bg .-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.common-spmenu._is-open {
  opacity: 1;
  pointer-events: all;
}

.common-spmenu__inner {
  display: block;
  position: relative;
  z-index: 2;
  overflow-y: auto;
  max-height: calc(100lvh - var(--height-header) * 1px - 80px);
}

.common-spmenu__nav {
  margin-top: 60px;
}

.common-spmenu__sns {
  display: flex;
  justify-content: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  align-items: center;
  margin-top: 80px;
}

.common-spmenu__snsLink {
  display: grid;
  place-items: center;
}

.common-spmenu__logo {
  display: grid;
  place-items: center;
}

.common-spmenu__lang {
  display: grid;
  place-items: center;
  margin-top: 60px;
  opacity: 0;
  pointer-events: none;
}
.common-spmenu__lang .nav-lang__link {
  font-size: 20px;
}

.spmenu-nav {
  position: relative;
  background: transparent;
}

.spmenu-nav__list {
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  row-gap: 5px;
}

.spmenu-nav__item {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.spmenu-nav__row {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 44px;
}

.spmenu-nav__row:has(.spmenu-nav__toggle) {
  padding-left: 40px;
}

.spmenu-nav__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  font-size: 24px;
  font-weight: 700;
  font-style: italic;
  color: var(--color-secondary);
  text-transform: uppercase;
  transition: color 0.2s;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.spmenu-nav__link:hover,
.spmenu-nav__link:focus {
  color: var(--color-primary);
}

.spmenu-nav__link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -2px;
}

/* ======================================
   TOGGLE BUTTON（矢印）
====================================== */
/* 矢印アイコン */
/* ======================================
   CHILD MENU（ACCORDION）
====================================== */
/* 子リンク */
.card-pricePlan {
  border-radius: 10px;
  padding: 55px 15px 15px;
  background-color: #fafafa;
  filter: drop-shadow(0 0 5px color-mix(in srgb, black 15%, transparent));
}
@media screen and (max-width: 767px) {
  .card-pricePlan {
    padding: 60px 15px 15px;
  }
}

.card-pricePlan__head {
  border-bottom: 2px solid var(--color-primary);
  padding-bottom: 24px;
}

.card-pricePlan__heading {
  font-size: 32px;
  line-height: 1.0625;
  min-height: 68px;
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .card-pricePlan__heading {
    font-size: 24px;
    line-height: 1;
    min-height: auto;
  }
}

.card-pricePlan__price {
  text-align: center;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .card-pricePlan__price {
    margin-top: 17px;
  }
}

.card-pricePlan__priceNum {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .card-pricePlan__priceNum {
    font-size: 32px;
    line-height: 1.3333333333;
  }
}

.card-pricePlan__priceUnit {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  margin-right: -1.7em;
}
@media screen and (max-width: 767px) {
  .card-pricePlan__priceUnit {
    line-height: 1.3333333333;
    margin-right: -0.3em;
    font-size: 18px;
  }
}

.card-pricePlan__note {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 32px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .card-pricePlan__note {
    margin-top: 22px;
  }
}
.card-pricePlan__note strong {
  font-weight: 700;
}
.card-pricePlan__note--sm {
  margin-top: 5px;
}
.card-pricePlan__note--md {
  margin-top: 10px;
}

.card-pricePlan__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 16px;
       column-gap: 16px;
  row-gap: 32px;
  border-bottom: 2px solid var(--color-primary);
  padding-bottom: 24px;
  padding-top: 32px;
}
@media screen and (max-width: 767px) {
  .card-pricePlan__list {
    margin-left: auto;
    margin-right: auto;
    row-gap: 27px;
    padding-bottom: 16px;
    padding-top: 16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .card-pricePlan__list .price-icon__icon {
    width: 60px;
    height: 60px;
  }
}

.card-pricePlan__button {
  margin-top: 16px;
  display: grid;
  place-items: center;
}

.card-priceTrainer {
  max-width: 240px;
}

.card-priceTrainer__thumbnail {
  filter: drop-shadow(0 0 5px color-mix(in srgb, black 15%, transparent));
  aspect-ratio: 240/300;
}
.card-priceTrainer__thumbnail img {
  border-radius: 10px;
}

.card-priceTrainer__img {
  aspect-ratio: 240/300;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: auto;
}

.card-priceTrainer__name {
  font-size: 18px;
  margin-top: 8px;
  font-weight: 600;
}

.price-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 8px;
}
.price-icon--active .price-icon__icon {
  color: var(--color-primary);
}
.price-icon--inactive .price-icon__icon {
  color: #D9D9D9;
}
.price-icon--inactive .price-icon__text {
  color: #D9D9D9;
}
.price-icon--inactive-special .price-icon__icon {
  color: #F0F0F0;
  opacity: 0.5;
}
.price-icon--inactive-special .price-icon__text {
  color: #F0F0F0;
  opacity: 0.5;
}
.price-icon--white .price-icon__icon {
  color: white;
}
.price-icon--white .price-icon__text {
  color: white;
}

.price-icon__text {
  white-space: nowrap;
  font-size: 10px;
  line-height: 1.2;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .price-icon__text {
    font-size: clamp(7px, 1.8666666667vw, 10px);
  }
}

.facility-c__item {
  background-color: #fff;
  color: #232323;
  max-width: 352px;
  width: 27.5vw;
  transition: ease-in 0.3s;
  display: grid;
  border-radius: 10px;
  padding: 32px 19px;
  gap: 16px 0;
  cursor: pointer;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 767px) {
  .facility-c__item {
    max-width: unset;
    width: 89.3333333333vw;
    border-radius: 2.6666666667vw;
    padding: 8.5333333333vw 7.4666666667vw;
    gap: 4.2666666667vw;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.facility-c__item:hover {
  background-color: #c72020;
  color: #fff;
}
.facility-c__item .facility-c__item-logo {
  width: 160px;
  height: 60px;
  margin: 0 auto 12px;
}
.facility-c__item .facility-c__item-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.facility-c__item .facility-c__item-img {
  max-width: 280px;
  width: 21.875vw;
  aspect-ratio: 1/1;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .facility-c__item .facility-c__item-img {
    max-width: unset;
    width: 53.3333333333vw;
  }
}
.facility-c__item .facility-c__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.facility-c__item .facility-c__item-ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 150%;
  height: 72px;
}
@media screen and (max-width: 767px) {
  .facility-c__item .facility-c__item-ttl {
    font-size: 5.3333333333vw;
    height: 16vw;
  }
}
.facility-c__item .facility-c__item-parts {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .facility-c__item .facility-c__item-parts {
    font-size: 4.2666666667vw;
    justify-content: center;
  }
}
.facility-c__item .icon-span-wrap p {
  font-weight: 700;
}
.facility-c__item .icon-span-inner {
  display: inline-block;
  max-width: 50px;
  width: 3.90625vw;
  max-height: 50px;
  height: 3.90625vw;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-color: transparent;
  transition: ease-in 0.2s;
}
@media screen and (max-width: 767px) {
  .facility-c__item .icon-span-inner {
    max-width: unset;
    max-height: unset;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.facility-c__item .icon-span-inner p {
  font-size: 18px;
  line-height: 150%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .facility-c__item .icon-span-inner p {
    font-size: 4.8vw;
  }
}
.facility-c__item #icn-leg {
  background-image: url("./img/common/icon_leg.svg");
}
.facility-c__item #icn-abs {
  background-image: url("./img/common/icon_abs.svg");
}
.facility-c__item #icn-arm {
  background-image: url("./img/common/icon_arm.svg");
}
.facility-c__item #icn-chest {
  background-image: url("./img/common/icon_chest.svg");
}
.facility-c__item #icn-shoulder {
  background-image: url("./img/common/icon_shoulder.svg");
}
.facility-c__item #icn-back {
  background-image: url("./img/common/icon_back.svg");
}
.facility-c__item #icn-hip {
  background-image: url("./img/common/icon_hip.svg");
}
.facility-c__item #icn-trunk {
  background-image: url("./img/common/icon_trunk.svg");
}
.facility-c__item #icn-wb {
  background-image: url("./img/common/icon_wb.svg");
}
.facility-c__item:hover #icn-leg {
  background-image: url("./img/common/icon_leg-w.svg");
}
.facility-c__item:hover #icn-abs {
  background-image: url("./img/common/icon_abs-w.svg");
}
.facility-c__item:hover #icn-arm {
  background-image: url("./img/common/icon_arm-w.svg");
}
.facility-c__item:hover #icn-chest {
  background-image: url("./img/common/icon_chest-w.svg");
}
.facility-c__item:hover #icn-shoulder {
  background-image: url("./img/common/icon_shoulder-w.svg");
}
.facility-c__item:hover #icn-back {
  background-image: url("./img/common/icon_back-w.svg");
}
.facility-c__item:hover #icn-hip {
  background-image: url("./img/common/icon_hip-w.svg");
}
.facility-c__item:hover #icn-trunk {
  background-image: url("./img/common/icon_trunk-w.svg");
}
.facility-c__item:hover #icn-wb {
  background-image: url("./img/common/icon_wb-w.svg");
}

.facility-c__modal {
  background: rgba(35, 35, 35, 0.8);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s linear, visibility 0.1s linear, z-index 0.1s linear;
}
.facility-c__modal.active {
  visibility: visible;
  opacity: 1;
  z-index: 99;
}

.facility-c__modal-inner {
  position: relative;
  width: 640px;
  padding: 48px 80px 24px;
  background-color: #fff;
  border-radius: 10px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #232323;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .facility-c__modal-inner {
    width: 89.3333333333vw;
    padding: 12.8vw 7.4666666667vw 4.2666666667vw;
  }
}

.facility-c__modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 23.999px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><rect width='31.9429' height='1.99643' rx='0.998215' transform='matrix(-0.707069 -0.707145 -0.707069 0.707145 23.9973 22.5884)' fill='%23C72020'/><rect width='31.9429' height='1.99643' rx='0.998215' transform='matrix(0.707069 -0.707145 0.707069 0.707145 0.0012207 22.5882)' fill='%23C72020'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}

.facility-c__modal-img {
  width: 280px;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .facility-c__modal-img {
    width: 53.3333333333vw;
  }
}
.facility-c__modal-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.facility-c__modal-ttl {
  font-size: 24px;
  font-weight: 700;
  padding: 12px 0 19px;
}
@media screen and (max-width: 767px) {
  .facility-c__modal-ttl {
    font-size: 5.3333333333vw;
  }
}

.facility-c__modal-parts {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}
.facility-c__modal-parts .icon-span-wrap p {
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .facility-c__modal-parts .icon-span-wrap p {
    font-size: 3.7333333333vw;
  }
}
.facility-c__modal-parts .icon-span-inner {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-color: transparent;
  transition: ease-in 0.2s;
}
@media screen and (max-width: 767px) {
  .facility-c__modal-parts .icon-span-inner {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.facility-c__modal-parts .icon-span-inner#modal-icn-leg {
  background-image: url("./img/common/icon_leg.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-abs {
  background-image: url("./img/common/icon_abs.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-arm {
  background-image: url("./img/common/icon_arm.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-chest {
  background-image: url("./img/common/icon_chest.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-shoulder {
  background-image: url("./img/common/icon_shoulder.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-back {
  background-image: url("./img/common/icon_back.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-hip {
  background-image: url("./img/common/icon_hip.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-trunk {
  background-image: url("./img/common/icon_trunk.svg");
}
.facility-c__modal-parts .icon-span-inner#modal-icn-wb {
  background-image: url("./img/common/icon_wb.svg");
}

.facility-c__modal-desc {
  font-size: 14px;
  font-weight: 400;
  padding: 24px 0 16px;
  height: 85px;
  overflow-y: auto;
  box-sizing: border-box;
}

.facility-c__modal-logo {
  width: 160px;
  height: 60px;
}
.facility-c__modal-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.facility-c__list {
  overflow: hidden;
}
.facility-c__list.open {
  height: auto !important;
}

.facility-c__list-wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  padding: 120px 80px 48px;
  gap: 32px;
  max-width: 1280px;
  margin: 0 auto;
  width: 100vw;
}
@media screen and (max-width: 767px) {
  .facility-c__list-wrap {
    padding: 21.3333333333vw 5.3333333333vw 32vw;
    gap: 5.3333333333vw;
    max-width: unset;
    width: 100%;
  }
}

.facility-c__arrow {
  height: 40px;
  width: 80px;
  display: block;
  margin: 0 auto;
  position: relative;
  transition: ease-in 0.2s;
  margin-top: 40px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .facility-c__arrow {
    height: 7.4666666667vw;
    width: 15.2vw;
    margin-top: 10.6666666667vw;
  }
}
.facility-c__arrow:hover {
  transform: translateY(10px);
}

.trainer_internal__item {
  width: 100%;
  cursor: pointer;
}
.trainer_internal__item:hover .trainer_internal__item-img {
  border-color: #c72020;
}
@media screen and (max-width: 767px) {
  .trainer_internal__item:hover .trainer_internal__item-img {
    border: 2px solid transparent;
  }
}
.trainer_internal__item:hover .trainer_internal__item-img img {
  scale: 0.98;
}
@media screen and (max-width: 767px) {
  .trainer_internal__item:hover .trainer_internal__item-img img {
    scale: 1;
  }
}
.trainer_internal__item:hover .trainer_internal__item-txt span p {
  text-shadow: 0 0 0 #c72020, 0 16px 0 #c72020;
}
@media screen and (max-width: 767px) {
  .trainer_internal__item:hover .trainer_internal__item-txt span p {
    text-shadow: 0 -16px 0 #c72020, 0 0 0 #c72020;
  }
}
.trainer_internal__item .trainer_internal__item-img {
  aspect-ratio: 24/30;
  width: 100%;
  border: 2px solid transparent;
  border-radius: 10px;
  transition: border-color 0.3s ease-in;
  overflow: hidden;
}
.trainer_internal__item .trainer_internal__item-img img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.3s ease-in;
}
.trainer_internal__item .trainer_internal__item-txt {
  margin-top: 24px;
}
.trainer_internal__item .trainer_internal__item-txt .trainer_internal__item-ttl {
  text-align: start;
  font-size: 20px;
  font-weight: 700;
  line-height: 120%;
}
.trainer_internal__item .trainer_internal__item-txt span {
  display: flex;
  align-items: center;
  gap: 0 13px;
  margin-top: 8px;
}
.trainer_internal__item .trainer_internal__item-txt span p {
  color: transparent;
  font-size: 16px;
  font-weight: 700;
  text-shadow: 0 -16px 0 #c72020, 0 0 0 #c72020;
  transition: text-shadow 0.3s;
  overflow: hidden;
  line-height: 1;
}
.trainer_internal__item .trainer_internal__item-txt span span {
  display: inline-block;
  width: 24px;
  height: 15px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='15' viewBox='0 0 26 15' fill='none'><path d='M1 6.36401C0.447715 6.36401 0 6.81173 0 7.36401C0 7.9163 0.447715 8.36401 1 8.36401V7.36401V6.36401ZM25.7071 8.07112C26.0976 7.6806 26.0976 7.04743 25.7071 6.65691L19.3431 0.292946C18.9526 -0.0975785 18.3195 -0.0975785 17.9289 0.292946C17.5384 0.68347 17.5384 1.31664 17.9289 1.70716L23.5858 7.36401L17.9289 13.0209C17.5384 13.4114 17.5384 14.0446 17.9289 14.4351C18.3195 14.8256 18.9526 14.8256 19.3431 14.4351L25.7071 8.07112ZM1 7.36401V8.36401H25V7.36401V6.36401H1V7.36401Z' fill='%23C72020'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}
.trainer_internal__modal {
  background: rgba(35, 35, 35, 0.8);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.1s linear, visibility 0.1s linear, z-index 0.1s linear;
}
.trainer_internal__modal.active {
  visibility: visible;
  opacity: 1;
  z-index: 99;
}

.trainer_internal__modal-wrap {
  max-width: 800px;
  width: 62.5vw;
  max-height: 640px;
  height: 50vw;
  position: relative;
  background-color: #fff;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #232323;
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-wrap {
    max-height: unset;
    width: 89.3333333333vw;
    height: auto;
  }
}

.trainer_internal__modal-inner {
  display: flex;
  flex-direction: row;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-inner {
    flex-direction: column;
  }
}

.trainer_internal__modal-left {
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-left {
    width: 100%;
    height: 64vw;
    margin-top: 19.2vw;
  }
}
.trainer_internal__modal-left img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.trainer_internal__modal-right {
  width: 50%;
  height: 100%;
  padding: 96px 30px 40px;
}
@media screen and (max-width: 1024px) {
  .trainer_internal__modal-right {
    padding: 50px 20px 40px;
  }
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-right {
    width: 100%;
    padding: 8.5333333333vw 7.4666666667vw;
  }
}

.trainer_internal__modal-txt p {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 150%;
}
@media screen and (max-width: 1024px) {
  .trainer_internal__modal-txt p {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-txt p {
    font-size: 5.3333333333vw;
  }
}
.trainer_internal__modal-txt .scroll__inner {
  width: 100%;
  font-size: 14px;
  font-weight: 400;
  line-height: 171.429%;
  margin-top: 40px;
  max-height: 280px;
}
@media screen and (max-width: 1024px) {
  .trainer_internal__modal-txt .scroll__inner {
    font-size: 10px;
    max-height: 200px;
  }
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-txt .scroll__inner {
    font-size: 3.2vw;
    max-height: 38.1333333333vw;
    margin-top: 4.2666666667vw;
    box-sizing: border-box;
  }
}

.trainer_internal__modal-link {
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-link {
    margin-top: 10.6666666667vw;
  }
}
.trainer_internal__modal-link a {
  margin: 0 auto;
}

.trainer_internal__modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><rect width='31.9429' height='1.99643' rx='0.998215' transform='matrix(-0.707069 -0.707145 -0.707069 0.707145 23.9973 22.5884)' fill='%23C72020'/><rect width='31.9429' height='1.99643' rx='0.998215' transform='matrix(0.707069 -0.707145 0.707069 0.707145 0.0012207 22.5882)' fill='%23C72020'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .trainer_internal__modal-close {
    top: 6.4vw;
    right: 6.4vw;
    width: 6.4vw;
    height: 6.4vw;
  }
}

.scroll__inner .simplebar-scrollbar::before {
  background-color: #c72020 !important;
  opacity: 1 !important;
  left: 2px;
  right: 2px;
  border-radius: 0;
}
.scroll__inner .simplebar-track.simplebar-vertical {
  background: rgba(0, 0, 0, 0.05);
  width: 6px;
  right: -3px !important;
}
.scroll__inner .scroll__inner .simplebar-content {
  padding-right: 15px !important; /* バーの幅＋3px程度の余白を確保 */
}

.trainer_external__item {
  display: inline-block;
  width: 100%;
}
.trainer_external__item:hover .trainer_external__item-img {
  border-color: #c72020;
}
@media screen and (max-width: 767px) {
  .trainer_external__item:hover .trainer_external__item-img {
    border: 2px solid transparent;
  }
}
.trainer_external__item:hover .trainer_external__item-img img {
  scale: 0.98;
}
@media screen and (max-width: 767px) {
  .trainer_external__item:hover .trainer_external__item-img img {
    scale: 1;
  }
}
.trainer_external__item .trainer_external__item-img {
  aspect-ratio: 24/30;
  width: 100%;
  border: 2px solid transparent;
  border-radius: 10px;
  transition: border-color 0.3s ease-in;
  overflow: hidden;
}
.trainer_external__item .trainer_external__item-img img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: scale 0.3s ease-in;
}
.trainer_external__item .trainer_external__item-txt {
  margin-top: 24px;
}
.trainer_external__item .trainer_external__item-txt .trainer_external__item-ttl {
  text-align: start;
  font-size: 20px;
  font-weight: 700;
  line-height: 120%;
}
.trainer_external__item .trainer_external__item-txt span {
  display: flex;
  align-items: center;
  gap: 0 4px;
  margin-top: 12px;
}
.trainer_external__item .trainer_external__item-txt span img {
  width: 23px;
  height: 23px;
}
.trainer_external__item .trainer_external__item-txt span p {
  line-height: 1.2;
  padding-bottom: 4px;
  overflow-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}

.module__post--date {
  color: #232323;
  font-size: 14px;
  font-weight: 400;
  line-height: 114.286%;
  letter-spacing: 1.4px;
}
@media screen and (max-width: 767px) {
  .module__post--date {
    font-size: 3.2vw;
    line-height: 133.333%;
    letter-spacing: 0.32vw;
  }
}

.module__post--ttl {
  overflow: hidden;
  color: #232323;
  text-overflow: ellipsis;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 112.5%;
  letter-spacing: 1.6px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 767px) {
  .module__post--ttl {
    -webkit-line-clamp: 2;
    width: 89.3333333333vw;
    flex-shrink: 0;
    align-self: stretch;
    white-space: normal;
    font-size: 3.7333333333vw;
    font-weight: 700;
    line-height: 171.429%;
    letter-spacing: 0.3733333333vw;
  }
}

.single-wrap {
  padding: 160px 0 200px;
}

.single-post__heading-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 88px;
}
.single-post__heading-bottom::before {
  position: absolute;
  content: "";
  bottom: -8px;
  width: 100%;
  border: 1px solid #c72020;
}
@media screen and (max-width: 767px) {
  .single-post__heading-bottom::before {
    bottom: -2.1333333333vw;
  }
}

.single-post__sns {
  display: flex;
  justify-content: flex-end;
  gap: 0 16px;
}
.single-post__sns a {
  display: block;
  width: 25px;
  height: 32px;
}
.single-post__sns a bottom img {
  width: 100%;
  height: 100%;
}

.single-post__inner {
  width: 650px;
  margin: 0 auto;
  padding-bottom: 120px;
  color: #232323;
}
@media screen and (max-width: 767px) {
  .single-post__inner {
    width: 89.3333333333vw;
  }
}
.single-post__inner h2 {
  display: flex;
  padding: 24px;
  align-items: flex-start;
  gap: 16px;
  border: 2px solid #c72020;
  font-size: 24px;
  font-weight: 700;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .single-post__inner h2 {
    font-size: 4.2666666667vw;
  }
}
.single-post__inner h2.single-post__heading {
  display: block;
  align-items: unset;
  padding: unset;
  gap: unset;
  border: unset;
  font-size: 32px;
  font-weight: 700;
  line-height: 170%;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .single-post__inner h2.single-post__heading {
    font-size: 5.3333333333vw;
  }
}
.single-post__inner h3.wp-block-heading {
  margin: 0 0 40px;
  font-size: 20px;
  font-weight: 700;
  line-height: 170%;
  padding-left: 16px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .single-post__inner h3.wp-block-heading {
    font-size: 4.2666666667vw;
  }
}
.single-post__inner h3.wp-block-heading::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 80%;
  background-color: #c72020;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.single-post__inner p {
  font-size: 14px;
  font-weight: 400;
  line-height: 171.429%;
  margin: 16px 0;
}
@media screen and (max-width: 767px) {
  .single-post__inner p {
    font-size: 3.2vw;
  }
}
.single-post__inner hr {
  margin: 64px 0;
  opacity: 0.3;
  color: #c72020;
  height: 2px;
  width: 100%;
}
.single-post__inner ul.wp-block-list {
  display: grid;
  gap: 24px 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 172%;
}
@media screen and (max-width: 767px) {
  .single-post__inner ul.wp-block-list {
    gap: 10.6666666667vw 0;
  }
}
.single-post__inner ul.wp-block-list li::marker {
  font-size: 14px;
}
.single-post__inner .wp-block-table {
  margin: 64px 0;
  overflow-x: visible;
}
.single-post__inner .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.6;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .single-post__inner .wp-block-table table {
    table-layout: auto;
  }
}
@media screen and (max-width: 767px) {
  .single-post__inner .wp-block-table tr {
    display: flex;
    flex-direction: column;
  }
}
.single-post__inner .wp-block-table tr td:first-of-type {
  width: 250px;
  padding: 8px 20px;
  gap: 8px;
  align-self: stretch;
  border: 2px solid #d98f8f;
  background: rgba(199, 32, 32, 0.1);
}
.single-post__inner .wp-block-table tr td:last-of-type {
  border: 2px solid #d98f8f;
  background: #fff;
}
.single-post__inner .wp-block-table th,
.single-post__inner .wp-block-table td {
  text-align: left;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .single-post__inner .wp-block-table th,
  .single-post__inner .wp-block-table td {
    width: 100% !important;
  }
}
.single-post__inner .wp-block-table .wp-element-caption {
  display: ruby-text;
  visibility: visible;
  color: #333;
  font-size: 13px;
  margin-top: 20px;
  line-height: 185%;
}

.single-post__bottom {
  max-width: 650px;
  width: 86.6666666667vw;
  margin: 0 auto;
  color: #232323;
  border-top: 2px solid #c72020;
}

.single-post__bottomRow {
  display: flex;
  justify-content: center;
  margin-top: 67px;
  gap: 0 80px;
}
@media screen and (max-width: 767px) {
  .single-post__bottomRow {
    gap: 0 10.6666666667vw;
  }
}

.c-card__heading {
  display: flex;
  overflow: hidden;
  color: #c72020;
  text-overflow: ellipsis;
  font-size: 16px;
  font-weight: 700;
  line-height: 112.5%;
  letter-spacing: 1.6px;
  gap: 0 16px;
}
@media screen and (max-width: 767px) {
  .c-card__heading {
    gap: 0 4.2666666667vw;
  }
}

.single-post__back a {
  margin: 120px auto 0;
  background-color: var(--color-back);
}

/* module > top
============================================================================ */
.top-access {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 135px;
  padding-bottom: 70px;
}
@media screen and (max-width: 1024px) {
  .top-access {
    padding-top: 90px;
    padding-bottom: 20px;
  }
}

.top-access__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-access__layout {
  margin-top: 130px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  padding-left: 8%;
  padding-right: 3%;
  -moz-column-gap: 4%;
       column-gap: 4%;
}
@media screen and (max-width: 1024px) {
  .top-access__layout {
    margin-top: 80px;
    row-gap: 10px;
    grid-template-columns: 1fr;
    padding-left: unset;
    padding-right: unset;
  }
}

.top-access__heading {
  margin-right: calc(-50vw + 50%);
}

.top-access__right {
  align-self: flex-end;
  padding-bottom: 10px;
}

.top-access__address {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .top-access__address {
    font-size: 14px;
    line-height: 1.7142857143;
  }
}

.top-access__map > * {
  aspect-ratio: 335/248;
  width: 100%;
  height: auto;
}

.top-access__tel {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 20px;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .top-access__tel {
    font-size: 18px;
    line-height: 1.3333333333;
    margin-top: 15px;
  }
}

.top-access__detail {
  margin-top: 20px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .top-access__detail {
    font-size: 14px;
    margin-top: 15px;
    line-height: 1.7142857143;
  }
}

.top-faq {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 130px;
  padding-bottom: 205px;
}
@media screen and (max-width: 767px) {
  .top-faq {
    padding-top: 90px;
  }
}

.top-faq__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-faq__heading {
  margin-right: calc(-50vw + 50%);
}

.top-faq__body {
  margin-top: 95px;
}
@media screen and (max-width: 767px) {
  .top-faq__body {
    margin-top: 75px;
  }
}

.top-faq__list {
  display: grid;
  row-gap: 35px;
}
@media screen and (max-width: 767px) {
  .top-faq__list {
    row-gap: 20px;
  }
}

.top-floor {
  padding-top: 95px;
  padding-bottom: 10px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-floor {
    padding-top: 20px;
  }
}

.top-floor__inner {
  margin-left: auto;
  margin-right: auto;
}

.top-floor__heading {
  margin-right: calc(-50vw + 50%);
}

.top-floor__map {
  position: relative;
  margin-top: 70px;
  display: grid;
  place-items: center;
  margin-left: calc(-50vw + 50% - 39px);
  margin-right: calc(-50vw + 50% - 39px);
}

.top-floor__placeholder {
  max-width: 1356px;
  margin-left: auto;
  margin-right: auto;
}

.top-floor__placeholderImg {
  max-width: 100%;
  margin-left: -3.046875vw;
  margin-right: -3.046875vw;
  width: 105.9375vw;
  max-width: 1356px;
}

.top-floor__button {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 64px;
       column-gap: 64px;
}

.top-mv {
  padding-left: 5%;
  padding-right: 5%;
}
@media screen and (max-width: 767px) {
  .top-mv {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-top: 10px;
  }
}

.top-mv__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .top-mv__layout {
    grid-template-columns: 1fr;
  }
}

.top-mv__left {
  margin-right: -40px;
  clip-path: polygon(0 0, calc(100% - 10px) 0, calc(100% - 90px) 100%, 0% 100%);
  aspect-ratio: 640/538;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-mv__left {
    aspect-ratio: 335/316;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 50px), 0% 100%);
    margin-right: unset;
  }
}
.top-mv__left .top-mv__logo {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 50%;
  bottom: 40px;
  translate: -70% 0;
}
@media screen and (max-width: 767px) {
  .top-mv__left .top-mv__logo {
    translate: -50% 0;
    width: 60.8vw;
  }
}

.top-mv__right {
  margin-left: -40px;
  clip-path: polygon(90px 0, 100% 0, 100% 100%, 10px 100%);
  aspect-ratio: 640/538;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-mv__right {
    margin-top: -20px;
    clip-path: polygon(0px 50px, 100% 0, 100% 100%, 0px 100%);
    aspect-ratio: 335/316;
    margin-left: unset;
  }
}
.top-mv__right .top-mv__logo {
  display: flex;
  justify-content: center;
  position: absolute;
  left: 50%;
  bottom: 25px;
  translate: -50% 0;
}
@media screen and (max-width: 767px) {
  .top-mv__right .top-mv__logo {
    width: 26.6666666667vw;
  }
}

.top-mv__video {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  pointer-events: none;
}

.top-news {
  padding-top: 115px;
  padding-bottom: 160px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-news {
    padding-bottom: 80px;
  }
}

.top-news__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-news__layout {
  margin-top: 5px;
  display: grid;
  grid-template-columns: 200px 1fr;
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .top-news__layout {
    row-gap: 20px;
    grid-template-columns: 1fr;
  }
}

.top-news__list {
  display: grid;
  row-gap: 25px;
}
@media screen and (max-width: 767px) {
  .top-news__list {
    margin-top: 40px;
    row-gap: 15px;
  }
}

@media screen and (max-width: 767px) {
  .top-news__left {
    margin-right: calc(-50vw + 50%);
  }
}

.top-price {
  padding-top: 170px;
  padding-bottom: 110px;
}
@media screen and (max-width: 767px) {
  .top-price {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
    padding-top: 80px;
  }
}

.top-price__inner {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

.top-price__heading {
  margin-right: calc(-50vw + 50%);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.top-price__slider {
  margin-top: 30px;
}
.top-price__slider .swiper-wrapper {
  padding-bottom: 10px;
}
.top-price__slider .swiper-slide {
  width: 320px;
}
@media screen and (max-width: 767px) {
  .top-price__slider .swiper-slide {
    width: 100%;
  }
  .top-price__slider .swiper-slide > * {
    margin-left: auto;
    margin-right: auto;
  }
}

.top-price__subheading {
  font-weight: 700;
  font-size: 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-price__subheading {
    font-size: 16px;
  }
}

.top-price__switch {
  display: flex;
  justify-content: center;
  -moz-column-gap: 64px;
       column-gap: 64px;
  margin-top: 125px;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: 55px;
}
@media screen and (max-width: 767px) {
  .top-price__switch {
    margin-top: 80px;
    -moz-column-gap: 35px;
         column-gap: 35px;
    margin-bottom: 40px;
  }
}
.top-price__switch:has(.top-price__switchBtn:nth-child(1)[aria-pressed=true])::before {
  translate: 0;
}
.top-price__switch:has(.top-price__switchBtn:nth-child(2)[aria-pressed=true])::before {
  translate: 178px;
}
@media screen and (max-width: 767px) {
  .top-price__switch:has(.top-price__switchBtn:nth-child(2)[aria-pressed=true])::before {
    translate: 135px;
  }
}

.top-price__switch::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 114px;
  background-color: var(--color-primary);
  height: 2px;
  transition: translate 0.2s;
}
@media screen and (max-width: 767px) {
  .top-price__switch::before {
    width: 100px;
  }
}

.top-price__switchBtn {
  width: 114px;
  text-align: center;
  display: block;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #888888;
  padding-bottom: 10px;
  transition: color 0.2s, font-weight 0.2s;
}
@media screen and (max-width: 767px) {
  .top-price__switchBtn {
    width: 100px;
    font-size: 16px;
  }
}
.top-price__switchBtn.is-active {
  font-weight: 700;
  color: #232323;
}

.top-price__progress {
  margin-top: 22px;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .top-price__progress {
    margin-top: 35px;
  }
}

.top-price-progress {
  position: relative;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  /* 好みで幅 */
  width: 100%;
  background-color: #C8C8C8;
}

.top-price-progress__thumb {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 999px;
  height: 100%;
  width: 100%;
  border-radius: 999px;
  transform: translateX(0);
  will-change: transform;
  background-color: var(--color-primary);
}

.top-price__note {
  margin-top: 24px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}
.top-price__note span {
  color: var(--color-card-price-text, var(--color-primary));
}

.top-price__button {
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 64px;
       column-gap: 64px;
}
@media screen and (max-width: 767px) {
  .top-price__button {
    flex-direction: column;
    row-gap: 15px;
  }
}

.top-price.is-switching .top-price__slider,
.top-price.is-switching [data-member-subheading] {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}

.top-price__slider,
[data-member-subheading] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.2s ease, transform 0.2s ease;
  will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
  .top-price__slider,
  [data-member-subheading] {
    transition: none;
    transform: none;
  }
}
.top-price__nav {
  display: flex;
  position: absolute;
  width: 100vw;
  justify-content: space-between;
  z-index: 2;
  left: 50%;
  translate: -50%;
  top: 38%;
  max-width: 1280px;
  padding-left: 16px;
  padding-right: 16px;
}
@media screen and (max-width: 767px) {
  .top-price__nav {
    display: none;
  }
}
.top-price__nav .top-price__prev,
.top-price__nav .top-price__next {
  cursor: pointer;
  transition: translate 0.3s;
}
.top-price__nav .top-price__prev:hover {
  translate: -5px;
}
.top-price__nav .top-price__next:hover {
  translate: 5px;
}

.top-strength {
  background-color: var(--color-black);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 20px;
  padding-bottom: 160px;
}
@media screen and (max-width: 1024px) {
  .top-strength {
    padding-bottom: 80px;
  }
}

.top-strength__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-strength__heading {
  margin-right: calc(-50vw + 50%);
}

.top-strength__list {
  margin-top: 160px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  -moz-column-gap: 10px;
       column-gap: 10px;
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 1024px) {
  .top-strength__list {
    margin-top: 100px;
    row-gap: 60px;
    grid-template-columns: 1fr;
    padding-left: unset;
    padding-right: unset;
  }
}

@media screen and (max-width: 767px) {
  .top-strength__item {
    width: 89.3333333333vw;
  }
}

.top-strength__item:nth-of-type(1) .top-strengthItem__head {
  -moz-column-gap: 25px;
       column-gap: 25px;
}

.top-strengthItem {
  color: white;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.top-strengthItem__head {
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
@media screen and (max-width: 1024px) {
  .top-strengthItem__head {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}

.top-strengthItem__num {
  flex-shrink: 0;
}

@media screen and (max-width: 1024px) {
  .top-strengthItem__numImg {
    height: 60px;
  }
}

.top-strengthItem__heading {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
}

.top-strengthItem__thumbnail {
  overflow: clip;
  display: block;
  border: 2px solid transparent;
  transition: border-color 0.2s;
  aspect-ratio: 367/456;
  margin-top: 5px;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .top-strengthItem__thumbnail {
    aspect-ratio: 335/200;
    margin-top: 15px;
  }
}
.top-strengthItem__thumbnail:has(.top-strengthItem__dummyImg):before {
  content: "";
  background: rgba(35, 35, 35, 0.7);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.top-strengthItem__dummyImg {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .top-strengthItem__dummyImg {
    aspect-ratio: 335/200;
  }
}

.top-strengthItem__comingSoon {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  row-gap: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .top-strengthItem__comingSoon {
    row-gap: 8px;
  }
}

.top-strengthItem__comingSoonTitle {
  font-size: 32px;
  line-height: 1.1875;
}
@media screen and (max-width: 767px) {
  .top-strengthItem__comingSoonTitle {
    font-size: 24px;
    line-height: 1;
  }
}

.top-strengthItem__comingSoonText {
  font-size: 18px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .top-strengthItem__comingSoonText {
    font-size: 14px;
    line-height: 2;
  }
}

.top-strengthItem__video {
  aspect-ratio: 367/456;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s;
  min-width: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .top-strengthItem__video {
    aspect-ratio: 335/200;
  }
}

.top-strengthItem__thumbnail:hover {
  border-color: white;
}

.top-strengthItem__thumbnail.noneHover:hover {
  border-color: unset !important;
  border: 2px solid transparent !important;
}

.top-strengthItem__thumbnail:hover .top-strengthItem__video {
  transform: scale(0.96);
}

.top-strengthItem__thumbnail.noneHover:hover .top-strengthItem__video {
  transform: unset !important;
}

.top-strengthItem__body {
  padding-top: 20px;
  padding-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .top-strengthItem__body {
    padding-bottom: 20px;
  }
}

.top-strengthItem__text {
  font-size: 14px;
  line-height: 1.7142857143;
}

.top-strengthItem__bottom {
  display: flex;
  justify-content: flex-end;
}

.top-strengthItem__button {
  margin-top: auto;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0 13px;
  margin-top: 8px;
}
.top-strengthItem__button:hover p {
  text-shadow: 0 0 0 #FAFAFA, 0 16px 0 #FAFAFA;
}
@media screen and (max-width: 767px) {
  .top-strengthItem__button:hover p {
    text-shadow: 0 -16px 0 #FAFAFA, 0 0 0 #FAFAFA;
  }
}
.top-strengthItem__button p {
  color: transparent;
  font-size: 16px;
  font-weight: 700;
  text-shadow: 0 -16px 0 #FAFAFA, 0 0 0 #FAFAFA;
  transition: text-shadow 0.3s;
  overflow: hidden;
  line-height: 1;
}
.top-strengthItem__button span {
  display: inline-block;
  width: 24px;
  height: 15px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='15' viewBox='0 0 26 15' fill='none'><path d='M1 6.36401C0.447715 6.36401 0 6.81173 0 7.36401C0 7.9163 0.447715 8.36401 1 8.36401V7.36401V6.36401ZM25.7071 8.07112C26.0976 7.6806 26.0976 7.04743 25.7071 6.65691L19.3431 0.292946C18.9526 -0.0975785 18.3195 -0.0975785 17.9289 0.292946C17.5384 0.68347 17.5384 1.31664 17.9289 1.70716L23.5858 7.36401L17.9289 13.0209C17.5384 13.4114 17.5384 14.0446 17.9289 14.4351C18.3195 14.8256 18.9526 14.8256 19.3431 14.4351L25.7071 8.07112ZM1 7.36401V8.36401H25V7.36401V6.36401H1V7.36401Z' fill='%23FAFAFA'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}
.top-trainers {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-top: 95px;
  padding-bottom: 75px;
}
@media screen and (max-width: 1024px) {
  .top-trainers {
    padding-top: 90px;
    padding-bottom: 30px;
  }
}

.top-trainers__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.top-trainers__heading {
  margin-right: calc(-50vw + 50%);
}

.top-trainers__layout {
  margin-top: 130px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  padding-left: 8%;
  padding-right: 3%;
  -moz-column-gap: 7%;
       column-gap: 7%;
}
@media screen and (max-width: 1024px) {
  .top-trainers__layout {
    margin-top: 80px;
    row-gap: 15px;
    grid-template-columns: 1fr;
    padding-left: unset;
    padding-right: unset;
  }
}

.top-trainers__thumbnail {
  aspect-ratio: 560/414;
}

.top-trainers__video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  pointer-events: none;
}

.top-trainers__text {
  font-size: 14px;
  line-height: 1.7142857143;
}
@media screen and (max-width: 1024px) {
  .top-trainers__text {
    padding-top: unset;
  }
}

.top-trainers__right {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-trainers__right {
    justify-content: space-between;
  }
}

.top-trainers__button {
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 1024px) {
  .top-trainers__button {
    margin-top: 40px;
    justify-content: center;
  }
}

.privacy-head {
  padding-top: 110px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .privacy-head {
    padding-top: 80px;
  }
}

.privacy-head__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.privacy-head__heading {
  margin-right: calc(-50vw + 50%);
}

.privacy-body {
  padding-top: 125px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
}

.privacy-body__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.privacy-body__heading {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .privacy-body__heading {
    font-size: 16px;
  }
}

.privacy-body__body {
  margin-top: 80px;
  font-size: 18px;
  line-height: 1.5555555556;
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .privacy-body__body {
    margin-top: 40px;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.privacy-body__body h3 {
  margin-top: 1lh;
}
.privacy-body__body h4 {
  margin-top: 1lh;
}

.terms-head {
  padding-top: 110px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .terms-head {
    padding-top: 80px;
  }
}

.terms-head__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.terms-head__heading {
  margin-right: calc(-50vw + 50%);
}

.terms-body {
  padding-top: 125px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
}

.terms-body__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.terms-body__heading {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .terms-body__heading {
    font-size: 16px;
  }
}

.terms-body__body {
  margin-top: 80px;
  font-size: 18px;
  line-height: 1.5555555556;
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .terms-body__body {
    margin-top: 40px;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.terms-body__body h3 {
  margin-top: 1lh;
}
.terms-body__body h4 {
  margin-top: 1lh;
}
.terms-body__body a {
  text-decoration: underline;
}

.tos-head {
  padding-top: 110px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .tos-head {
    padding-top: 80px;
  }
}

.tos-head__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.tos-head__heading {
  margin-right: calc(-50vw + 50%);
}

.tos-body {
  padding-top: 125px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  padding-bottom: 200px;
}

.tos-body__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.tos-body__heading {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .tos-body__heading {
    font-size: 16px;
  }
}

.tos-body__body {
  margin-top: 80px;
  font-size: 18px;
  line-height: 1.5555555556;
  max-width: 1008px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .tos-body__body {
    margin-top: 40px;
    font-size: 14px;
    line-height: 1.7142857143;
  }
}
.tos-body__body h3 {
  margin-top: 1lh;
}

.price-plan {
  padding-top: 120px;
  padding-bottom: 85px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .price-plan {
    padding-top: 75px;
    padding-bottom: 45px;
  }
}

.price-plan__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .price-plan__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.price-plan__heading {
  margin-right: calc(-50vw + 50%);
}

.price-plan__special {
  margin-top: 130px;
}
@media screen and (max-width: 767px) {
  .price-plan__special {
    margin-top: 80px;
  }
}

.price-plan__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  row-gap: 32px;
  -moz-column-gap: 32px;
       column-gap: 32px;
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .price-plan__list {
    grid-template-columns: 1fr;
    row-gap: 20px;
    margin-top: 20px;
  }
}

.price-plan__note {
  font-size: 14px;
  line-height: 1.7142857143;
  text-align: center;
  font-weight: 700;
  margin-top: 40px;
}

.price-plan__noteParts {
  display: inline-block;
}

.price-flow {
  margin-top: 120px;
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .price-flow {
    margin-top: 75px;
  }
}

.price-flow__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .price-flow__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.price-flow__heading {
  margin-right: calc(-50vw + 50%);
}

.price-flow__row--upper {
  margin-top: 110px;
}
@media screen and (max-width: 767px) {
  .price-flow__row--upper {
    margin-top: 80px;
  }
}
.price-flow__row--lower {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .price-flow__row--lower {
    margin-top: 80px;
  }
}
.price-flow__row--lower .price-flow__list {
  justify-content: center;
  -moz-column-gap: 60px;
       column-gap: 60px;
}

.price-flow__subheading {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .price-flow__subheading {
    font-size: 18px;
    line-height: 1.3333333333;
  }
}

.price-flow__list {
  display: flex;
  justify-content: space-between;
  padding-left: 4%;
  padding-right: 4%;
  margin-top: 40px;
}
@media screen and (max-width: 1024px) {
  .price-flow__list {
    padding-left: unset;
    padding-right: unset;
  }
}
@media screen and (max-width: 767px) {
  .price-flow__list {
    flex-direction: column;
    align-items: center;
    margin-top: 55px;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}
.price-flow__list > *:nth-of-type(2n+1) {
  flex-basis: 120px;
  width: 120px;
}
@media screen and (max-width: 1024px) {
  .price-flow__list > *:nth-of-type(2n+1) {
    flex-basis: 90px;
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .price-flow__list > *:nth-of-type(2n+1) {
    flex-basis: unset;
    width: 100%;
  }
}

.price-flow__item {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .price-flow__item {
    display: grid;
    grid-template-columns: 34px 60px 1fr;
    -moz-column-gap: 16px;
         column-gap: 16px;
    align-items: center;
    width: 100%;
  }
}
.price-flow__item--arrow {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .price-flow__item--arrow {
    display: grid;
    place-items: center;
  }
}

.price-flow__icon {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .price-flow__icon {
    margin-top: unset;
  }
}

.price-flow__name {
  margin-top: 24px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .price-flow__name {
    text-align: left;
    margin-top: unset;
    font-size: 18px;
    line-height: 1;
    padding-left: 4px;
  }
}

.price-flow__note {
  font-size: 16px;
  line-height: 1.8;
  margin-top: 40px;
  margin-top: 65px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .price-flow__note {
    margin-top: 55px;
    font-size: 14px;
    line-height: 1.7142857143;
    width: 78%;
    margin-left: auto;
    margin-right: auto;
  }
}

.price-flow__button {
  margin-top: 80px;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 767px) {
  .price-flow__button {
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .price-flow__arrow {
    rotate: 90deg;
    width: 8px;
  }
}

.price-other {
  padding-top: 120px;
  padding-bottom: 90px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .price-other {
    padding-bottom: 45px;
    padding-top: 75px;
  }
}

.price-other__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .price-other__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.price-other__heading {
  margin-right: calc(-50vw + 50%);
}

.price-other__list {
  margin-top: 135px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  row-gap: 32px;
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media screen and (max-width: 767px) {
  .price-other__list {
    margin-top: 80px;
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}

.price-other__note {
  font-size: 14px;
  line-height: 1.7142857143;
  text-align: center;
  font-weight: 700;
  margin-top: 40px;
}

.price-personal {
  padding-top: 120px;
  padding-bottom: 90px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .price-personal {
    padding-bottom: 45px;
    padding-top: 75px;
  }
}

.price-personal__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
}

.price-personal__heading {
  margin-right: calc(-50vw + 50%);
}

.price-personal__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  row-gap: 32px;
  -moz-column-gap: 32px;
       column-gap: 32px;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.2s ease, transform 0.2s ease;
  will-change: opacity, transform;
}
@media screen and (max-width: 767px) {
  .price-personal__list {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}

.price-personal.is-switching .price-personal__list {
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .price-personal__list {
    transition: none;
    transform: none;
  }
}
.price-personal__note {
  font-size: 14px;
  line-height: 1.7142857143;
  text-align: center;
  font-weight: 700;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .price-personal__note {
    margin-top: 20px;
  }
}

.price-personal__switch {
  display: flex;
  justify-content: center;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-top: 125px;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-bottom: 65px;
}
@media screen and (max-width: 767px) {
  .price-personal__switch {
    margin-top: 80px;
    -moz-column-gap: 35px;
         column-gap: 35px;
    margin-bottom: 40px;
  }
}
.price-personal__switch:has(.price-personal__switchBtn:nth-child(1)[aria-pressed=true])::before {
  translate: 0;
}
.price-personal__switch:has(.price-personal__switchBtn:nth-child(2)[aria-pressed=true])::before {
  translate: 144px;
}
@media screen and (max-width: 767px) {
  .price-personal__switch:has(.price-personal__switchBtn:nth-child(2)[aria-pressed=true])::before {
    translate: 85px;
  }
}

.price-personal__switch::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 64px;
  background-color: var(--color-primary);
  height: 2px;
  transition: translate 0.2s;
}
@media screen and (max-width: 767px) {
  .price-personal__switch::before {
    width: 50px;
  }
}

.price-personal__switchBtn {
  width: 64px;
  text-align: center;
  display: block;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #888888;
  padding-bottom: 10px;
  transition: color 0.2s, font-weight 0.2s;
}
@media screen and (max-width: 767px) {
  .price-personal__switchBtn {
    width: 50px;
    font-size: 16px;
  }
}
.price-personal__switchBtn.is-active {
  font-weight: 700;
  color: #232323;
}

.price-personal__body {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (max-width: 1024px) {
  .price-personal__body {
    padding-left: unset;
    padding-right: unset;
  }
}

.price-personal__progress {
  margin-top: 32px;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .price-personal__progress {
    margin-top: 45px;
  }
}

.price-trainer-progress {
  position: relative;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  /* 好みで幅 */
  width: 100%;
  background-color: #C8C8C8;
}

.price-trainer-progress__thumb {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 999px;
  height: 100%;
  width: 100%;
  border-radius: 999px;
  transform: translateX(0);
  will-change: transform;
  background-color: var(--color-primary);
}

.price-special__wrap {
  position: relative;
}
.price-special__wrap > p {
  text-align: center;
  margin-top: 10px;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .price-special__wrap > p {
    font-size: clamp(10px, 1.953125vw, 20px);
  }
}
@media screen and (max-width: 767px) {
  .price-special__wrap > p {
    font-size: clamp(12px, 3vw, 15px);
  }
}

.price-special__ribbonLeft {
  z-index: 1;
  position: absolute;
  top: -10%;
  right: 297px;
}
@media screen and (max-width: 1024px) {
  .price-special__ribbonLeft {
    top: -4%;
    right: 136px;
  }
}

.price-special__ribbonRight {
  position: absolute;
  z-index: 1;
  top: 18%;
  translate: 0;
  right: -78px;
}
@media screen and (max-width: 1024px) {
  .price-special__ribbonRight {
    top: 3%;
    translate: 0;
    right: -70px;
  }
}

.price-special__ribbonCenter {
  position: absolute;
  z-index: 5;
  right: 0;
  top: 0;
  translate: 11% -25%;
}
@media screen and (max-width: 1024px) {
  .price-special__ribbonCenter {
    translate: 12% -37%;
  }
}

.price-special__box {
  position: relative;
  z-index: 3;
  filter: drop-shadow(0 0 5px color-mix(in srgb, black 15%, transparent));
  background-color: var(--color-primary);
  border-radius: 10px;
  padding-top: 64px;
  padding-bottom: 64px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  overflow: clip;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .price-special__box {
    padding-top: 60px;
    padding-bottom: 60px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

.price-special__bg {
  position: absolute;
  left: 0;
  bottom: -1.0416666667%;
  width: 100%;
  height: 102.0833333333%;
  overflow: hidden;
  width: 100.8928571429%;
  left: -0.4464285714%;
}
@media screen and (max-width: 1024px) {
  .price-special__bg {
    bottom: -0.9615384615%;
    height: 101.9230769231%;
    width: 102.9850746269%;
    left: -1.4925373134%;
  }
}

.price-special__bgImg {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.price-special__boxWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 62px;
  margin-top: 40px;
}
@media screen and (max-width: 1280px) {
  .price-special__boxWrap {
    gap: 0 5vw;
  }
}
@media screen and (max-width: 767px) {
  .price-special__boxWrap {
    flex-direction: column;
    gap: 80px 0;
    margin-top: 30px;
  }
}

.price-special__contents {
  position: relative;
  z-index: 2;
  max-width: 424px;
  width: 33.125vw;
}
@media screen and (max-width: 767px) {
  .price-special__contents {
    width: 80vw;
  }
}

.price-special__contents-separator {
  width: 2px;
  height: 305px;
  background-color: white;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .price-special__contents-separator {
    display: none;
  }
}

.price-special__catch {
  font-size: clamp(24px, 3.28125vw, 42px);
  color: white;
  font-weight: 700;
  display: flex;
  align-items: center;
  line-height: 1;
  -moz-column-gap: 8px;
       column-gap: 8px;
  text-align: center;
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .price-special__catch {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .price-special__catch {
    flex-wrap: wrap;
    font-size: clamp(24px, 9.3023255814vw, 52px);
  }
}
.price-special__catch small {
  font-size: 76.1904761905%;
}
@media screen and (max-width: 1024px) {
  .price-special__catch small {
    font-size: 75%;
  }
}
@media screen and (max-width: 767px) {
  .price-special__catch small {
    font-size: clamp(24px, 9.3023255814vw, 52px);
  }
}
@media screen and (max-width: 767px) {
  .price-special__catch span:first-of-type {
    width: 100%;
    margin-bottom: 12px;
  }
}

.price-special__heading {
  font-size: clamp(20px, 2.34375vw, 35px);
  color: white;
  text-align: center;
  font-weight: 700;
  margin-top: -5px;
}
@media screen and (max-width: 1024px) {
  .price-special__heading {
    font-size: clamp(20px, 2.3148148148vw, 34px);
    margin-top: 5px;
  }
}

.price-special__price {
  text-align: center;
  margin-top: -10px;
  border-bottom: 2px solid #fafafa;
  width: min(100%, 305px);
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 10px;
}
@media screen and (max-width: 1024px) {
  .price-special__price {
    margin-top: 5px;
  }
}
@media screen and (max-width: 767px) {
  .price-special__price {
    margin-top: 0;
    padding-bottom: 12px;
    width: 75%;
  }
}

.price-special__priceNum {
  font-size: clamp(32px, 3.125vw, 40px);
  line-height: 1.2;
  color: white;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .price-special__priceNum {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .price-special__priceNum {
    font-size: clamp(20px, 6.6666666667vw, 34px);
  }
}

.price-special__priceUnit {
  font-size: clamp(18px, 1.875vw, 24px);
  line-height: 1.2;
  color: white;
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .price-special__priceUnit {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .price-special__priceUnit {
    font-size: clamp(9px, 3.7333333333vw, 18px);
  }
}

.price-special__list {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  -moz-column-gap: clamp(20px, 2.5vw, 32px);
       column-gap: clamp(20px, 2.5vw, 32px);
}
@media screen and (max-width: 1024px) {
  .price-special__list {
    display: grid;
    -moz-column-gap: 16px;
         column-gap: 16px;
    margin-top: 10px;
    grid-template-columns: 1fr 1fr 1fr;
    padding-left: 8px;
    padding-right: 8px;
    row-gap: 32px;
    max-width: 305px;
    margin-left: auto;
    margin-right: auto;
  }
  .price-special__list .price-icon {
    row-gap: 8px;
  }
  .price-special__list .price-icon__icon {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .price-special__list {
    max-width: 100%;
    margin-top: 32px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    -moz-column-gap: clamp(20px, 5.3333333333vw, 28px);
         column-gap: clamp(20px, 5.3333333333vw, 28px);
  }
  .price-special__list .price-icon__icon {
    width: clamp(20px, 16vw, 80px);
    height: clamp(20px, 16vw, 80px);
  }
}

.price-special__button {
  margin-top: 35px;
  display: grid;
  width: min(100%, 305px);
  place-items: center;
  padding-top: 20px;
  border-top: 2px solid #fafafa;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1024px) {
  .price-special__button {
    margin-top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .price-special__button {
    width: 75%;
    margin-top: 32px;
    padding-top: 24px;
  }
}

.price-trainer {
  padding-top: 65px;
}
@media screen and (max-width: 767px) {
  .price-trainer {
    padding-top: 80px;
  }
}

.price-trainer__heading {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .price-trainer__heading {
    font-size: 18px;
    line-height: 1.3333333333;
  }
}

.price-trainer__slider {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .price-trainer__slider {
    margin-top: 50px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
}
.price-trainer__slider .swiper {
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
.price-trainer__slider .swiper-slide {
  width: 240px;
}
@media screen and (max-width: 767px) {
  .price-trainer__slider .swiper-slide {
    width: 68.2666666667vw !important;
  }
}

.price-trainer.is-static .swiper-wrapper {
  display: grid;
  justify-content: flex-start;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 64px 32px;
}
@media screen and (max-width: 1279px) {
  .price-trainer.is-static .swiper-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 1024px) {
  .price-trainer.is-static .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .price-trainer.is-static .swiper-wrapper {
    display: flex;
    grid-template-columns: auto;
  }
}

.price-trainer.is-static .swiper-slide {
  width: auto !important;
  flex: 0 0 auto;
  margin-right: 0 !important;
}

.price-trainer__button {
  display: grid;
  place-items: center;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .price-trainer__button {
    margin-top: 50px;
  }
}

.price-trainer__progress {
  margin-top: 30px;
}

.price-rental {
  padding-top: 120px;
  padding-bottom: 90px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .price-rental {
    padding-bottom: 45px;
    padding-top: 75px;
  }
}

.price-rental__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .price-rental__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.price-rental__heading {
  margin-right: calc(-50vw + 50%);
}

.price-rental__list {
  margin-top: 130px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  row-gap: 32px;
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media screen and (max-width: 767px) {
  .price-rental__list {
    margin-top: 80px;
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}

.price-rental__note {
  font-size: 14px;
  line-height: 1.7142857143;
  text-align: center;
  font-weight: 700;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .price-rental__note {
    margin-top: 20px;
  }
}

.price-anchor {
  padding-top: 100px;
  padding-bottom: 10px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .price-anchor {
    padding-top: 30px;
  }
}

.price-anchor__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 1024px) {
  .price-anchor__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.facility-anchor {
  padding-top: 100px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .facility-anchor {
    padding-top: 30px;
  }
}

.facility-anchor__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 1024px) {
  .facility-anchor__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.facility-cardio {
  padding-bottom: 150px;
}

.facility-cardio__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .facility-cardio__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.facility-floorMap {
  padding-bottom: 176px;
}
@media screen and (max-width: 767px) {
  .facility-floorMap {
    padding-bottom: 32vw;
  }
}

.facility-floorMap__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.facility-floorMap__placeholder {
  width: 108%;
  position: relative;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 80px 0 120px;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__placeholder {
    width: 110%;
    padding: 21.3333333333vw 0;
  }
}

.facility-floorMap__floorList {
  display: flex;
  flex-direction: column;
  padding: 0 80px;
  row-gap: 80px;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__floorList {
    padding: 0 5.3333333333vw;
    row-gap: 12.8vw;
  }
}

.facility-floorMap__floorItem {
  display: grid;
  align-items: center;
  grid-template-columns: 560px 1fr;
  -moz-column-gap: 80px;
       column-gap: 80px;
}
@media screen and (max-width: 1024px) {
  .facility-floorMap__floorItem {
    grid-template-columns: 1.5fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .facility-floorMap__floorItem {
    grid-template-columns: unset;
    grid-template-rows: 59.4666666667vw 1fr;
    -moz-column-gap: unset;
         column-gap: unset;
    row-gap: 6.4vw;
  }
}

.facility-floorMap__floorItem-img {
  width: 100%;
  height: 373px;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__floorItem-img {
    height: 59.4666666667vw;
  }
}
.facility-floorMap__floorItem-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.facility-floorMap__floorItem-desc {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 40px;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__floorItem-desc {
    flex-direction: row;
    row-gap: 1.6vw;
  }
}
.facility-floorMap__floorItem-desc p:first-of-type {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__floorItem-desc p:first-of-type {
    font-size: 5.3333333333vw;
  }
}
.facility-floorMap__floorItem-desc p:last-of-type {
  font-size: 14px;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .facility-floorMap__floorItem-desc p:last-of-type {
    font-size: 3.7333333333vw;
  }
}

.facility-freeWeight {
  padding-bottom: 150px;
}

.facility-freeWeight__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .facility-freeWeight__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.facility-hyrox {
  padding-bottom: 150px;
}

.facility-hyrox__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .facility-hyrox__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.facility-machine {
  padding-bottom: 150px;
}

.facility-machine__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .facility-machine__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.facility-studio {
  padding-bottom: 150px;
}

.facility-studio__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .facility-studio__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.floor-anchor {
  padding-top: 100px;
  padding-bottom: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .floor-anchor {
    padding-top: 30px;
  }
}

.floor-anchor__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 1024px) {
  .floor-anchor__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.floor-slider__sec {
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec {
    padding-bottom: 120px;
  }
}
.floor-slider__sec#cafe {
  color: #F4F0E4;
  background: #7E6450;
  padding-top: 16px;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec#cafe {
    padding-top: 28px;
    padding-bottom: 80px;
  }
}
.floor-slider__sec#cafe .floor-slider__sec-heading .heading-bar__inner:after {
  background-color: #F4F0E4;
}
.floor-slider__sec#cafe .floor-slider__sec-heading .heading-bar__en {
  color: #F4F0E4;
}
.floor-slider__sec#cafe .floor-slider__sec-inner {
  padding-top: 61px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec#cafe .floor-slider__sec-inner {
    padding-top: 64px;
  }
}
.floor-slider__sec#cafe .floor-slider__sec-cont .swiper {
  border-color: #F4F0E4;
}
.floor-slider__sec#cafe .floor-slider__sec-cont .swiper-button .swiper-button__arw svg {
  filter: drop-shadow(0px 0px 5px rgba(244, 240, 228, 0.8));
}
.floor-slider__sec#cafe .floor-slider__sec-cont .swiper-button .swiper-button__arw svg path {
  stroke: #F4F0E4;
}
.floor-slider__sec#hyrox {
  margin-top: 120px;
}

.floor-slider__sec-heading {
  padding: 0 0 0 40px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.floor-slider__sec-inner {
  padding-top: 120px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-inner {
    padding-top: 80px;
  }
}

.floor-slider__sec-cont {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-cont {
    max-width: 100%;
    padding-left: 17px;
    padding-right: 17px;
  }
}
.floor-slider__sec-cont .swiper {
  width: 100%;
  padding: 4px;
  border: solid 2px #C72020;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-cont .swiper {
    padding: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
  }
}
.floor-slider__sec-cont .swiper-slide {
  border-radius: 6px;
  overflow: hidden;
}
.floor-slider__sec-cont .swiper-button {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  row-gap: 36px;
  position: relative;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  transform: translate(0);
  position: relative;
  pointer-events: none !important;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-cont .swiper-button {
    display: none;
  }
}
.floor-slider__sec-cont .swiper-button.swiper-button-prev {
  align-items: flex-end;
}
.floor-slider__sec-cont .swiper-button.swiper-button-next {
  align-items: flex-start;
}
.floor-slider__sec-cont .swiper-button:hover.swiper-button-prev .swiper-button__arw {
  transform: translateX(-5px);
}
.floor-slider__sec-cont .swiper-button:hover.swiper-button-next .swiper-button__arw {
  transform: translateX(5px);
}
.floor-slider__sec-cont .swiper-button:hover .swiper-button__thumb {
  opacity: 1;
}
.floor-slider__sec-cont .swiper-button .swiper-button__arw {
  width: 43px;
  display: block;
  cursor: pointer;
  pointer-events: all;
  transition: transform 0.3s;
}
.floor-slider__sec-cont .swiper-button .swiper-button__arw svg {
  filter: drop-shadow(0px 0px 5px rgba(250, 250, 250, 0.8));
}
.floor-slider__sec-cont .swiper-button .swiper-button__arw svg path {
  fill: transparent;
}
.floor-slider__sec-cont .swiper-button .swiper-button__thumb {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 135/90;
  width: 100%;
  border-radius: 5px;
  opacity: 0.6;
  transition: opacity 0.3s;
  cursor: pointer;
  pointer-events: all;
}
.floor-slider__sec-cont .swiper-button .swiper-navigation-icon {
  display: none;
}
.floor-slider__sec-cont .swiper-scrollbar {
  background: #C8C8C8;
  width: calc(100% - 332px);
  height: 4px;
  margin: 32px auto 0;
  position: relative;
  top: auto;
  bottom: auto;
  left: auto;
  right: auto;
  transform: translate(0);
  border-radius: 4px;
}
@media screen and (max-width: 1024px) {
  .floor-slider__sec-cont .swiper-scrollbar {
    width: calc(100% - 27.9166666667vw - 64px);
  }
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-cont .swiper-scrollbar {
    margin-top: 24px;
    width: 100%;
  }
}
.floor-slider__sec-cont .swiper-scrollbar .swiper-scrollbar-drag {
  background: #C72020;
}

.floor-slider__sec-logo {
  width: 136px;
  margin: 0 auto 32px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-logo {
    width: 130px;
    margin-bottom: 40px;
  }
}

.floor-slider__sec-intro {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 64px;
}

.floor-slider__sec-grid {
  display: grid;
  grid-template-columns: 0.268fr 1fr 0.268fr;
  align-items: flex-end;
  -moz-column-gap: 32px;
       column-gap: 32px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-grid {
    display: flex;
    align-items: flex-start;
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}

.floor-slider__sec-overview {
  font-size: 14px;
  line-height: 1.7142857143;
  margin-top: 40px;
}

.floor-slider__sec-btn {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  -moz-column-gap: 64px;
       column-gap: 64px;
}
@media screen and (max-width: 767px) {
  .floor-slider__sec-btn {
    margin-top: 40px;
    flex-direction: column;
    align-items: center;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 16px;
  }
}

.trainer-anchor {
  padding-top: 100px;
  padding-bottom: 10px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .trainer-anchor {
    padding-top: 30px;
    margin-bottom: 21.3333333333vw;
  }
}

.trainer-anchor__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media screen and (max-width: 1024px) {
  .trainer-anchor__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.trainer-heading {
  text-align: center;
  max-width: 780px;
  width: 60.9375vw;
  margin: 0 auto 120px;
}
@media screen and (max-width: 767px) {
  .trainer-heading {
    max-width: unset;
    width: 89.3333333333vw;
    margin-bottom: 21.3333333333vw;
  }
}

.trainer_internal__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .trainer_internal__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.trainer_internal__inner {
  padding: 120px 0 200px;
}
@media screen and (max-width: 767px) {
  .trainer_internal__inner {
    padding: 0 0 32vw;
  }
}
.trainer_internal__inner .swiper-wrapper {
  max-width: 1120px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex-wrap: wrap;
  gap: 64px 32px;
  margin: 0 auto;
}
@media screen and (max-width: 1279px) {
  .trainer_internal__inner .swiper-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 1024px) {
  .trainer_internal__inner .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .trainer_internal__inner .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    grid-template-columns: auto;
    gap: unset;
  }
}

.trainer_internal__progress {
  margin-top: 22px;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
  display: none;
}
@media screen and (max-width: 767px) {
  .trainer_internal__progress {
    width: 89.3333333333vw;
    display: block;
    margin-top: 35px;
  }
}

.trainer_internal-progress {
  position: relative;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  width: 100%;
  background-color: #c8c8c8;
}

.trainer_internal-progress__thumb {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 999px;
  height: 100%;
  width: 100%;
  border-radius: 999px;
  transform: translateX(0);
  will-change: transform;
  background-color: var(--color-primary);
}

.trainer_internal__btn a {
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .trainer_internal__btn a {
    margin: 10.6666666667vw auto 0;
  }
}

.trainer_external {
  padding-bottom: 310px;
}
@media screen and (max-width: 767px) {
  .trainer_external {
    padding-bottom: 16vw;
  }
}

.trainer_external__heading {
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .trainer_external__heading {
    padding: 0 0 0 5.3333333333vw;
  }
}

.trainer_external_list {
  display: flex;
  gap: 64px 32px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1120px;
  width: 100%;
  margin: 120px auto 0;
}
@media screen and (max-width: 767px) {
  .trainer_external_list {
    gap: 8.5333333333vw 4.2666666667vw;
    max-width: unset;
    width: 100%;
    margin: 16vw auto 0;
  }
}

.trainer_external__inner .swiper-wrapper {
  max-width: 1120px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex-wrap: wrap;
  gap: 64px 32px;
  margin: 0 auto;
  justify-content: center;
}
@media screen and (max-width: 1279px) {
  .trainer_external__inner .swiper-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 1024px) {
  .trainer_external__inner .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .trainer_external__inner .swiper-wrapper {
    max-width: unset;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    flex-wrap: unset;
    grid-template-columns: auto;
    gap: unset;
    margin: 0;
  }
}

.trainer_external__message {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4583333333;
  text-align: center;
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .trainer_external__message {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 80px;
  }
}

.trainer_external__progress {
  margin-top: 22px;
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
  display: none;
}
@media screen and (max-width: 767px) {
  .trainer_external__progress {
    width: 89.3333333333vw;
    display: block;
    margin-top: 35px;
  }
}

.trainer_external-progress {
  position: relative;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  width: 100%;
  background-color: #c8c8c8;
}

.trainer_external-progress__thumb {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 999px;
  height: 100%;
  width: 100%;
  border-radius: 999px;
  transform: translateX(0);
  will-change: transform;
  background-color: var(--color-primary);
}

.trainer_external__btn a {
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .trainer_external__btn a {
    margin: 10.6666666667vw auto 0;
  }
}

.voice-intro {
  padding-top: 120px;
  padding-bottom: 160px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .voice-intro {
    padding-top: 75px;
    padding-bottom: 120px;
  }
}

.voice-intro__contTxt {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice-intro__contTxt {
    font-size: 20px;
    line-height: 1.6;
  }
}

.voice-intro__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-top: 120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .voice-intro__inner {
    margin-top: 80px;
    padding-left: unset;
    padding-right: unset;
  }
}

.voice-intro__heading {
  margin-right: calc(-50vw + 50%);
}

.voice-intro__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  row-gap: 48px;
  -moz-column-gap: 80px;
       column-gap: 80px;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .voice-intro__list {
    grid-template-columns: 1fr;
    row-gap: 40px;
    margin-top: 48px;
  }
}

.voice-intro__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 24px;
}
@media screen and (max-width: 767px) {
  .voice-intro__list-item {
    row-gap: 20px;
  }
}

@media screen and (max-width: 767px) {
  .voice-intro__list-img {
    width: 100px;
    margin: 0 auto;
  }
}

.voice-intro__list-txt {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice-intro__list-txt {
    font-size: 16px;
    line-height: 1.5;
  }
}

.voice-customers {
  padding-bottom: 200px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 767px) {
  .voice-customers {
    padding-bottom: 120px;
  }
}

.voice-customers__inner {
  max-width: calc(var(--width-inner) * 1px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}
@media screen and (max-width: 1024px) {
  .voice-customers__inner {
    padding-left: unset;
    padding-right: unset;
  }
}

.voice-customers__list-item {
  display: grid;
  grid-template-columns: 0.7143fr 1fr;
  -moz-column-gap: 40px;
       column-gap: 40px;
  padding: 80px 0;
  border-bottom: solid 2px rgba(199, 32, 32, 0.3);
}
@media screen and (max-width: 767px) {
  .voice-customers__list-item {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 24px;
  }
}
.voice-customers__list-item:first-of-type {
  padding-top: 0;
}
.voice-customers__list-item:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}

.voice-customers__list-img {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6px;
  overflow: hidden;
}
.voice-customers__list-img img {
  aspect-ratio: 3/2;
  height: auto;
}

.voice-customers__list-cont {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

.voice-customers__list-cont-meta {
  font-weight: 700;
  padding: 6px 0 6px 16px;
  display: flex;
  flex-direction: column;
  border-left: solid 2px #C72020;
}
@media screen and (max-width: 767px) {
  .voice-customers__list-cont-meta {
    padding: 0 0 0 8px;
  }
}

.voice-customers__list-cont-name {
  font-size: 24px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .voice-customers__list-cont-name {
    font-size: 20px;
    line-height: 1.2;
  }
}

.voice-customers__list-cont-info {
  font-size: 16px;
  line-height: 1.5;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
}

.voice-customers__list-cont-txt {
  font-size: 14px;
  line-height: 1.7142857143;
}/*# sourceMappingURL=style.css.map */