@charset "UTF-8";
/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
/* header画像切り替え */
@keyframes img-slide-in {
  0% {
    transform: translateX(0%);
  }
  20% {
    transform: translateX(0%);
  }
  25% {
    transform: translateX(-100%);
  }
  45% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(-200%);
  }
  70% {
    transform: translateX(-200%);
  }
  75% {
    transform: translateX(-300%);
  }
  95% {
    transform: translateX(-300%);
  }
  100% {
    transform: translateX(0%);
  }
}
/* header文字スライドイン */
@keyframes textAnime {
  to {
    transform: translateY(0px);
  }
}
/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
html {
  height: 100%;
  font-size: clamp(14px, 13.5145631068px + 0.1294498382vw, 16px);
  color: #fff;
  background-color: #101010;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.8;
  font-feature-settings: "palt";
  word-break: break-all;
  overflow-wrap: break-word;
  line-break: strict;
}
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

* {
  min-height: 0vw;
  min-height: 0;
}

a {
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  outline: none;
}

.page-top {
  position: fixed;
  z-index: 10;
  right: 1rem;
  bottom: 1rem;
  background: #a07c1b;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.page-top svg {
  width: clamp(40px, 35.145631068px + 1.2944983819vw, 60px);
  height: clamp(40px, 35.145631068px + 1.2944983819vw, 60px);
  fill: #fff;
}
.page-top svg:hover {
  fill: #101010;
}

.is-active {
  opacity: 0.8;
  visibility: visible;
}

h2,
h3,
.h2-sub,
[class$=-h3-sub] {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  letter-spacing: 0.15em;
}

h2 {
  font-size: clamp(22px, 19.572815534px + 0.6472491909vw, 32px);
  font-weight: 600;
}

.h2-sub {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  font-size: clamp(14px, 13.0291262136px + 0.2588996764vw, 18px);
}

.br-pc {
  display: none;
}

@media screen and (max-width: 576px) {
  .br-pc {
    display: inline;
  }
  .br-sp {
    display: none;
  }
}
b {
  font-weight: 600;
}

.txt-small {
  font-size: 0.8em;
}

.txt-large {
  font-size: 1.2em;
}

.txt-gold {
  color: #f4d570;
}

.txt-trans {
  opacity: 0.5;
}

.txt-right {
  text-align: right;
}

.txt-left {
  text-align: left;
}

address {
  font-style: normal;
}

section,
.header-visual {
  letter-spacing: 0.15em;
}
section > p,
.header-visual > p {
  line-height: 2.2;
}

.small {
  font-size: 73%;
}

/*====== グローバルナビ ======*/
header .global-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  padding: 1rem;
  background: rgba(16, 16, 16, 0.7882352941);
  /*------ PC用表示 ------*/
  /* ハンバーガーメニュー(非表示) */
  /*------ Mobile用表示 ------*/
}
header .global-nav .logo {
  width: 20%;
}
header .global-nav .menu {
  position: relative;
  z-index: 2000;
  width: 80%;
}
header .global-nav .menu .menu-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75em;
  font-family: "Noto Serif JP", serif;
}
header .global-nav .menu .menu-list a {
  display: block;
}
header .global-nav .menu .menu-list .menu-text {
  padding-right: 1em;
}
header .global-nav .menu .menu-list .menu-text:hover {
  color: #f4d570;
}
header .global-nav .menu .menu-list .menu-button {
  min-width: 12em;
  padding: 0.25em;
  border-radius: 9999px;
  text-align: center;
  transition: transform 0.3s ease, background-color 0.1s ease;
}
header .global-nav .menu .menu-list .menu-button:hover {
  transform: translate(1px, 1px);
}
header .global-nav .menu .menu-list .menu-button.trial {
  border: 1px solid #f4d570;
  color: #f4d570;
}
header .global-nav .menu .menu-list .menu-button.trial:hover {
  background-color: rgba(255, 255, 255, 0.2666666667);
}
header .global-nav .menu .menu-list .menu-button.line {
  background: linear-gradient(to right, #ba871b 0%, #deb34d 25%, #ebd692 50%, #deb34d 75%, #ba871b 100%);
  color: #101010;
}
header .global-nav .menu .menu-list .menu-button.line:hover {
  background: linear-gradient(to right, #e6c57b 0%, #f3dca2 25%, #fff2cc 50%, #f3dca2 75%, #e6c57b 100%);
}
header .global-nav .menu-icon {
  display: none;
  z-index: 3000;
  flex-direction: column;
  justify-content: space-between;
  width: clamp(30px, 22.7184466019px + 1.9417475728vw, 60px);
  height: clamp(20px, 12.7184466019px + 1.9417475728vw, 50px);
  margin-left: auto;
  cursor: pointer;
  user-select: none;
  outline: none;
}
header .global-nav .menu-icon > span {
  display: inline-block;
  height: 1px;
  background: #fff;
  transition: transform 0.5s ease, opacity 0.5s ease;
}
@media screen and (max-width: 1200px) {
  header .global-nav {
    /* ハンバーガーメニュー(表示) */
  }
  header .global-nav .logo {
    width: 50%;
  }
  header .global-nav .menu {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    padding: 5rem 1rem 2rem 1rem;
    background: #101010;
    transform: translateX(100%);
    transition: transform 0.5s ease;
    font-size: clamp(18px, 15.572815534px + 0.6472491909vw, 28px);
    overflow-y: auto;
  }
  header .global-nav .menu.active {
    transform: translateX(0);
  }
  header .global-nav .menu .menu-list {
    flex-direction: column;
    text-align: center;
  }
  header .global-nav .menu .menu-list .menu-text {
    padding-right: 0;
  }
  header .global-nav .menu-icon {
    display: flex;
    /* クリック時 */
  }
  header .global-nav .menu-icon.active > span:nth-child(2) {
    opacity: 0;
  }
  header .global-nav .menu-icon.active > span:nth-child(1) {
    transform: translateY(clamp(9.5px, 5.859223301px + 0.9708737864vw, 24.5px)) rotate(135deg) scale(1.2);
  }
  header .global-nav .menu-icon.active > span:nth-child(3) {
    transform: translateY(calc(-1 * clamp(9.5px, 5.859223301px + 0.9708737864vw, 24.5px))) rotate(-135deg) scale(1.2);
  }
}
@media screen and (max-width: 425px) {
  header .global-nav .logo {
    width: 70%;
  }
}

/*====== ヘッダービジュアル ======*/
header .slider,
header .header-visual {
  aspect-ratio: 64/25;
}
@media screen and (max-width: 576px) {
  header .slider {
    aspect-ratio: 1/1;
  }
}
header .header-visual {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 50px;
}
@media screen and (max-width: 1024px) {
  header .header-visual {
    aspect-ratio: initial;
    padding: 5rem 1rem;
  }
}
header .header-visual h1,
header .header-visual .h1-sub {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  letter-spacing: 0.15em;
}
header .header-visual h1 {
  font-size: clamp(20px, 17.0873786408px + 0.7766990291vw, 32px);
  font-weight: 600;
}
header .header-visual .h1-sub {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  font-size: clamp(14px, 13.0291262136px + 0.2588996764vw, 18px);
}
header .header-visual p {
  width: 50%;
}
@media screen and (max-width: 1024px) {
  header .header-visual p {
    width: 70%;
  }
}
@media screen and (max-width: 425px) {
  header .header-visual p {
    width: calc(100% - 20px);
  }
}

/*====== 料金テーブル ======*/
.price-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 425px) {
  .price-table {
    font-size: clamp(12px, 5.9047619048px + 1.9047619048vw, 14px);
  }
}
.price-table th,
.price-table td {
  width: 25%;
  padding: 1.5rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .price-table th,
  .price-table td {
    padding: 1rem 0.5rem;
  }
}
.price-table thead th {
  padding: 1rem 0.5rem;
  font-weight: 600;
  color: #101010;
}
@media screen and (max-width: 768px) {
  .price-table thead th {
    padding: 0.25rem;
  }
}
.price-table thead span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0.25rem;
}
@media screen and (max-width: 576px) {
  .price-table thead span {
    min-height: 4em;
  }
}
.price-table thead .regular {
  background: linear-gradient(to right, #827c7c 0%, #aaa7a7 25%, #d3d0cf 35%, #ffffff 50%, #d3d0cf 65%, #aaa7a7 75%, #827c7c 100%);
}
.price-table thead .vip {
  background: linear-gradient(to right, #a57e5f 0%, #cca688 25%, #f8e7d8 50%, #cca688 75%, #a57e5f 100%);
}
.price-table thead .vvip {
  background: linear-gradient(to right, #ba871b 0%, #deb34d 25%, #ebd692 50%, #deb34d 75%, #ba871b 100%);
}
.price-table tbody tr {
  border-bottom: 1px solid #a07c1b;
}
.price-table tbody th {
  font-weight: 400;
  text-align: left;
}
.price-table tbody .tooltip-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.15em;
  height: 1.15em;
  margin-left: 0.5em;
  background-color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  color: #101010;
  line-height: 1em;
  letter-spacing: 0;
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  outline: none;
}
.price-table tbody .tooltip-icon:hover {
  background-color: #a07c1b;
}

/*====== 料金テーブル(ツールチップ(?)モーダル制御) ======*/
.tooltip-detail {
  display: none;
}
.tooltip-detail.active {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  background-color: rgba(16, 16, 16, 0.7882352941);
  overflow-y: auto;
}
.tooltip-detail .detail-wrap {
  position: relative;
  width: 40%;
  padding: 2rem;
  background-color: #fff;
  border: 2px solid #a07c1b;
  font-family: "Noto Serif JP", serif;
  color: #101010;
}
@media screen and (max-width: 1024px) {
  .tooltip-detail .detail-wrap {
    width: 60%;
  }
}
@media screen and (max-width: 768px) {
  .tooltip-detail .detail-wrap {
    width: 90%;
  }
}
.tooltip-detail .detail-wrap dt {
  margin-bottom: 0.5rem;
  font-weight: 600;
}
.tooltip-detail .detail-wrap .close-btn {
  position: absolute;
  top: calc(-1 * clamp(20px, 16.359223301px + 0.9708737864vw, 35px) - 2px);
  right: -2px;
  z-index: 10;
  width: clamp(20px, 16.359223301px + 0.9708737864vw, 35px);
  height: clamp(20px, 16.359223301px + 0.9708737864vw, 35px);
  background-color: #a07c1b;
  cursor: pointer;
  user-select: none;
  outline: none;
}
.tooltip-detail .detail-wrap .close-btn::before, .tooltip-detail .detail-wrap .close-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(15px, 11.359223301px + 0.9708737864vw, 30px);
  height: 1px;
  background-color: #fff;
  transform-origin: center;
}
.tooltip-detail .detail-wrap .close-btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.tooltip-detail .detail-wrap .close-btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*====== 料金表示(文字組み) ======*/
.price-content {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(14px, 8.6601941748px + 1.4239482201vw, 36px);
  font-weight: 600;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .price-content {
    flex-direction: column;
  }
}
.price-content .currency-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .price-content .currency-box {
    flex-direction: row-reverse;
  }
}
.price-content .currency-box .tax {
  font-size: 0.3em;
}
@media screen and (max-width: 768px) {
  .price-content .currency-box .tax {
    font-size: 0.6em;
  }
}
.price-content .currency-box .yen {
  font-size: 0.6em;
}
.price-content .currency-box .tax,
.price-content .currency-box .yen {
  line-height: 1;
}

/*====== お問い合わせボックス ======*/
#sec-contact {
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  padding: 5rem 0;
}
#sec-contact .contact-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 49.4791666667vw;
  margin: 0 auto;
  padding: 2rem 1rem;
  background: linear-gradient(-40deg, rgba(157, 120, 71, 0.5960784314) 0%, rgba(162, 124, 62, 0.5960784314) 20%, rgba(193, 161, 103, 0.5960784314) 35%, rgba(172, 140, 72, 0.5960784314) 45%, rgba(172, 140, 72, 0.5960784314) 55%, rgba(193, 161, 103, 0.5960784314) 65%, rgba(162, 124, 62, 0.5960784314) 80%, rgba(157, 120, 71, 0.5960784314) 100%);
  text-align: center;
}
@media screen and (max-width: 1280px) {
  #sec-contact .contact-box {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  #sec-contact .contact-box {
    width: calc(100% - 20px);
  }
}
#sec-contact .contact-box p {
  font-family: "Noto Serif JP", serif;
}
#sec-contact .contact-box .msg {
  margin-bottom: 0.5rem;
  font-size: clamp(16px, 14.5436893204px + 0.3883495146vw, 22px);
}
#sec-contact .contact-box .tel {
  display: flex;
  align-items: center;
  font-size: clamp(28px, 23.145631068px + 1.2944983819vw, 48px);
  font-weight: 600;
}
#sec-contact .contact-box .tel img {
  width: 1.25em;
  margin-right: 0.75rem;
}
#sec-contact .contact-box .hour {
  margin-bottom: 1.5rem;
}
#sec-contact .contact-box .contact-button {
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 768px) {
  #sec-contact .contact-box .contact-button {
    gap: 0.75rem;
    flex-direction: column;
  }
}
#sec-contact .contact-box .contact-button .reserve,
#sec-contact .contact-box .contact-button .line {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 14em;
  padding: 0.5em 1.5em 0.5em 2.5em;
  transition: transform 0.3s ease, background-color 0.1s ease;
}
#sec-contact .contact-box .contact-button .reserve::before,
#sec-contact .contact-box .contact-button .line::before {
  content: "";
  display: block;
  position: absolute;
  left: 1.5em;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 0.5em solid transparent;
  border-bottom: 0.5em solid transparent;
}
#sec-contact .contact-box .contact-button .reserve:hover,
#sec-contact .contact-box .contact-button .line:hover {
  transform: translate(1px, 1px);
  background-color: rgba(255, 255, 255, 0.6156862745);
}
#sec-contact .contact-box .contact-button .reserve {
  background-color: #fff;
  color: #74604f;
}
#sec-contact .contact-box .contact-button .reserve::before {
  border-left: 0.7em solid #74604f;
}
#sec-contact .contact-box .contact-button .line {
  background-color: #4a3216;
}
#sec-contact .contact-box .contact-button .line::before {
  border-left: 0.7em solid #fff;
}

/*====== フッター ======*/
footer {
  padding: 4rem 0 1rem 0;
  background-color: #333;
}
footer .footer-wrap {
  width: 31.25vw;
  margin: 0 auto;
}
@media screen and (max-width: 1440px) {
  footer .footer-wrap {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  footer .footer-wrap {
    width: 80%;
  }
}
footer .footer-wrap .footer-logo {
  width: 80%;
  margin: 0 auto;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 576px) {
  footer .footer-wrap .footer-logo {
    width: 100%;
  }
}
footer .footer-wrap address {
  margin-bottom: 2rem;
  font-size: clamp(10px, 9.0291262136px + 0.2588996764vw, 14px);
  text-align: center;
}
footer .footer-wrap .insta-icon {
  margin: 0 auto;
  margin-bottom: 2rem;
  width: 10%;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 425px) {
  footer .footer-wrap .insta-icon {
    width: 15%;
  }
}
footer .footer-wrap .insta-icon:hover {
  transform: translate(1px, 1px);
  opacity: 0.8;
}
footer .footer-wrap .footer-nav {
  display: flex;
  justify-content: space-between;
  width: 80%;
  margin: 0 auto;
  margin-bottom: 5rem;
}
@media screen and (max-width: 576px) {
  footer .footer-wrap .footer-nav {
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
  }
  footer .footer-wrap .footer-nav .nav-l {
    margin-bottom: 0.5rem;
  }
}
footer .footer-wrap .footer-nav li {
  margin-bottom: 0.5rem;
  transition: color 0.3s ease;
}
footer .footer-wrap .footer-nav li:last-child {
  margin-bottom: 0;
}
footer .footer-wrap .footer-nav li:hover {
  color: #f4d570;
}
footer hr {
  height: 1px;
  margin-bottom: 0.5rem;
  border: none;
  background-color: #777;
}
footer .footer-note {
  display: flex;
  justify-content: space-between;
  width: 41.6666666667vw;
  margin: 0 auto;
  font-size: 0.8em;
  color: #777;
  text-align: center;
}
@media screen and (max-width: 1280px) {
  footer .footer-note {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  footer .footer-note {
    width: calc(100% - 20px);
    flex-direction: column;
    align-items: center;
  }
}

/*====== スクロールイベント フェードイン ======*/
.fade-in {
  opacity: 0;
  transform: translateY(2rem);
  transition: all 0.4s ease-out;
  will-change: opacity, transform;
}

.js-anim-active.fade-in {
  opacity: 1;
  transform: translateY(0);
}

.fade-in-right {
  opacity: 0;
  transform: translateX(2rem);
  transition: all 0.4s ease-out;
  will-change: opacity, transform;
}

.js-anim-active.fade-in-right {
  opacity: 1;
  transform: translateX(0);
}

.delay-1 {
  transition-delay: 0.5s;
}

.delay-2 {
  transition-delay: 1s;
}

.delay-3 {
  transition-delay: 1.5s;
}

/*2507追記*/
.tooltip-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.15em;
  height: 1.15em;
  margin-left: 0.5em;
  background-color: #fff;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  color: #101010;
  line-height: 1em;
  letter-spacing: 0;
  border-radius: 50%;
  cursor: pointer;
  user-select: none;
  outline: none;
}

.news-title .tooltip-icon {
  color: #fff;
  display: inline;
  margin-left: 0;
  background-color: unset;
  border-radius: unset;
  letter-spacing: 0.15em;
  line-height: 1.8;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 5px;
}
.news-title .tooltip-icon:hover {
  opacity: 0.5;
}

/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
header {
  /*====== ヘッダーイメージ ======*/
}
header.header-index {
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
header .slider {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding: 2rem;
}
@media screen and (max-width: 768px) {
  header .slider {
    padding: 1rem;
  }
}
header .slider .image {
  position: absolute;
  inset: 0;
  z-index: 10;
}
header .slider .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
header .slider .image picture {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(100%);
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 0;
}
header .slider .image picture.active {
  opacity: 1;
  transform: translateX(0);
  z-index: 1;
}
header .slider .image picture.prev {
  opacity: 0;
  transform: translateX(-100%);
  z-index: 0;
}
header .slider .text {
  z-index: 20;
}
header .slider .text .slide-in {
  overflow: hidden;
  margin: 0;
}
header .slider .text .slide-in span {
  display: block;
  font-family: "Old Standard TT", serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(36px, 13.6699029126px + 5.9546925566vw, 128px);
  line-height: 1;
  animation: textAnime 0.5s forwards;
  transform: translateY(100%);
}
header .slider .text .slide-in:nth-child(1) > span {
  animation-delay: 0.25s;
}
header .slider .text .slide-in:nth-child(2) > span {
  opacity: 0.6;
  animation-delay: 0.5s;
}
header .slider .text .slide-in:nth-child(3) > span {
  animation-delay: 0.75s;
}
header .slider .text .slide-in:nth-child(4) > span {
  opacity: 0.6;
  animation-delay: 1s;
}

/*====== メインコンテンツ ======*/
main {
  /* 
  #sec4 {
    @include mx.margin-bottom-wide;
    padding: 5rem 0;
    background-color: var.$gray;

    ナビ(矢印)付きスワイプ画像スライダーのスタイル
    .swipe-slider-wrap {
      position: relative;
      width: fn.calc-vw(1100);
      margin: 0 auto;

      @media screen and (max-width: 1280px) {
        width: 80%;
      }

      .arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        width: fn.clamp-px(30, 40);
        height: fn.clamp-px(30, 40);
        cursor: pointer;
        user-select: none;
        outline: none;

        &.previous {
          left: calc(-1 * fn.clamp-px(15, 20));
        }

        &.forward {
          right: calc(-1 * fn.clamp-px(15, 20));
        }
      }

      .swipe-slider-container {
        overflow: hidden;

        .swipe-slider-track {
          display: flex;
          gap: 0.5rem;
          transition: transform 0.5s ease;

          @media screen and (max-width: 425px) {
            gap: 0;
          }

          .slide {
            width: calc(50% - 0.25rem);
            flex-shrink: 0;

            @media screen and (max-width: 425px) {
              width: 100%;
            }
          }
        }
      }
    }
  } */
}
main #sec1 {
  width: 41.6666666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  text-align: center;
}
@media screen and (max-width: 1280px) {
  main #sec1 {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #sec1 {
    width: calc(100% - 20px);
  }
}
main #sec1 .sec1-h2 {
  position: relative;
  display: inline-block;
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  padding: 1rem 4rem;
  background: linear-gradient(to right, #ba871b 0%, #deb34d 25%, #ebd692 50%, #deb34d 75%, #ba871b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /*for Firefox*/
  color: transparent;
  font-size: clamp(18px, 10.7184466019px + 1.9417475728vw, 48px);
  letter-spacing: 0.5em;
}
main #sec1 .sec1-h2::before, main #sec1 .sec1-h2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, rgba(186, 136, 27, 0.1882352941) 0%, rgba(222, 179, 77, 0.5019607843) 25%, #ebd692 50%, rgba(222, 179, 77, 0.5019607843) 75%, rgba(186, 136, 27, 0.1882352941) 100%);
}
main #sec1 .sec1-h2::before {
  top: 0;
}
main #sec1 .sec1-h2::after {
  bottom: 0;
}
main #sec1 .sec1-h3-sub {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px, 13.0873786408px + 0.7766990291vw, 28px);
}
main #sec1 .sec1-h3 {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  font-size: clamp(18px, 10.7184466019px + 1.9417475728vw, 48px);
}
main #sec1 p {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  text-align: left;
}
main #sec1 .promo-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 205/106;
  object-fit: cover;
}
main #sec2 {
  width: 41.6666666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #sec2 {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  main #sec2 {
    width: calc(100% - 20px);
  }
}
main #sec2 .news-list {
  margin-bottom: 1rem;
  padding: 0.5em 2em;
  border: 1px solid #f4d570;
  border-radius: 9999px;
}
main #sec2 .news-list:last-child {
  margin-bottom: 0;
}
main #sec2 .news-list time {
  margin-right: 0.75em;
  color: #f4d570;
}
main #sec3 {
  width: 57.2916666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #sec3 {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #sec3 {
    width: calc(100% - 20px);
  }
}
main #sec3 .feature .card {
  background-color: #000;
}
main #sec3 .feature .card .number {
  position: absolute;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(64px, 58.1747572816px + 1.5533980583vw, 88px);
  height: clamp(64px, 58.1747572816px + 1.5533980583vw, 88px);
  border: 1px solid #f4d570;
  border-radius: 50%;
  background: linear-gradient(to right, #ba871b 0%, #deb34d 25%, #ebd692 50%, #deb34d 75%, #ba871b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text; /*for Firefox*/
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(24px, 20.1165048544px + 1.0355987055vw, 40px);
  color: transparent;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature .card .number {
    right: unset;
    left: 0;
  }
}
main #sec3 .feature .card .desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem 1.5rem 2rem;
}
main #sec3 .feature .card .desc .title,
main #sec3 .feature .card .desc .title-sub1,
main #sec3 .feature .card .desc .title-sub2 {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  line-height: 1.3;
}
main #sec3 .feature .card .desc .title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.5rem 0;
  font-size: clamp(16px, 8px + 1.0416666667vw, 28px);
  letter-spacing: 0.05em;
}
main #sec3 .feature .card .desc .title .vertical {
  font-size: 0.8em;
  writing-mode: vertical-rl;
}
main #sec3 .feature .card .desc .title-sub1 {
  font-size: clamp(14px, 10px + 0.5208333333vw, 20px);
}
main #sec3 .feature .card .desc .title-sub2 {
  margin-bottom: 1rem;
  font-size: clamp(16px, 8px + 1.0416666667vw, 28px);
  font-family: "Corinthia", cursive;
  letter-spacing: 0;
  color: #f4d570;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature .card .desc .title-sub2 {
    font-size: clamp(18px, 10.8571428571px + 2.2321428571vw, 28px);
  }
}
main #sec3 .feature .card .desc p {
  margin-bottom: 2rem;
  font-size: clamp(12px, 11.2718446602px + 0.1941747573vw, 15px);
}
main #sec3 .feature .card .desc .more-button {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 60%;
  padding: 0.8em 2em;
  border: 1px solid #f4d570;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(12px, 11.2718446602px + 0.1941747573vw, 15px);
  color: #f4d570;
  line-height: 1.1;
  transition: transform 0.3s ease, background-color 0.1s ease;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature .card .desc .more-button {
    min-width: 35%;
  }
}
@media screen and (max-width: 576px) {
  main #sec3 .feature .card .desc .more-button {
    min-width: 70%;
  }
}
main #sec3 .feature .card .desc .more-button:hover {
  transform: translate(1px, 1px);
  background-color: rgba(255, 255, 255, 0.2666666667);
}
main #sec3 .feature .card .desc .more-button:hover svg {
  transform: translateX(3px);
}
main #sec3 .feature .card .desc .more-button svg {
  width: 2.5em;
  margin-top: -0.3em;
  margin-left: 1em;
  transition: transform 0.3s ease;
}
main #sec3 .feature .card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #sec3 .feature.rect {
  margin-bottom: clamp(80px, 58.640776699px + 5.6957928803vw, 168px);
}
main #sec3 .feature.rect .card {
  display: flex;
  width: calc(100% - clamp(32px, 29.0873786408px + 0.7766990291vw, 44px));
  margin-bottom: clamp(80px, 58.640776699px + 5.6957928803vw, 168px);
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.rect .card {
    flex-direction: column;
    width: 100%;
  }
}
main #sec3 .feature.rect .card:last-child {
  margin-bottom: 0;
}
main #sec3 .feature.rect .card:nth-child(odd) {
  flex-direction: row-reverse;
  margin-right: 0;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.rect .card:nth-child(odd) {
    flex-direction: column;
  }
}
main #sec3 .feature.rect .card .image {
  aspect-ratio: 118/79;
}
main #sec3 .feature.rect .card .desc {
  position: relative;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.rect .card .desc .title-sub1 {
    font-size: clamp(14px, 9.7142857143px + 1.3392857143vw, 20px);
  }
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.rect .card .desc .title {
    font-size: clamp(18px, 10.8571428571px + 2.2321428571vw, 28px);
  }
}
main #sec3 .feature.rect .card .number {
  top: calc(-1 * clamp(32px, 29.0873786408px + 0.7766990291vw, 44px));
  right: calc(-1 * clamp(32px, 29.0873786408px + 0.7766990291vw, 44px));
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.rect .card .number {
    right: unset;
    left: 0;
  }
}
main #sec3 .feature.rect .card:nth-child(odd) .number {
  right: unset;
  left: calc(-1 * clamp(32px, 29.0873786408px + 0.7766990291vw, 44px));
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.rect .card:nth-child(odd) .number {
    left: 0;
  }
}
main #sec3 .feature.sq {
  display: flex;
  justify-content: space-between;
  gap: clamp(48px, 36.3495145631px + 3.1067961165vw, 96px);
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  padding-left: clamp(32px, 29.0873786408px + 0.7766990291vw, 44px);
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.sq {
    flex-direction: column;
    justify-content: initial;
    gap: clamp(80px, 58.640776699px + 5.6957928803vw, 168px);
    width: 100%;
    padding-left: 0;
  }
}
main #sec3 .feature.sq .card {
  display: flex;
  flex-direction: column;
  width: 50%;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.sq .card {
    width: 100%;
  }
}
main #sec3 .feature.sq .card .image {
  position: relative;
}
main #sec3 .feature.sq .card .number {
  top: calc(-1 * clamp(32px, 29.0873786408px + 0.7766990291vw, 44px));
  left: calc(-1 * clamp(32px, 29.0873786408px + 0.7766990291vw, 44px));
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.sq .card .number {
    top: unset;
    bottom: -2rem;
    left: 0;
  }
}
main #sec3 .feature.sq .card .desc {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
main #sec3 .feature.sq .card .desc .desc-contents {
  flex-grow: 1;
}
main #sec3 .feature.sq .card .desc .desc-contents .title {
  font-size: clamp(16px, 14.5436893204px + 0.3883495146vw, 22px);
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.sq .card .desc .desc-contents .title {
    font-size: clamp(18px, 10.8571428571px + 2.2321428571vw, 28px);
  }
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.sq .card .desc .desc-contents .title-sub1 {
    font-size: clamp(14px, 9.7142857143px + 1.3392857143vw, 20px);
  }
}
main #sec3 .feature.txt {
  display: flex;
  gap: 0.5rem;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.txt {
    flex-wrap: wrap;
  }
}
main #sec3 .feature.txt .card {
  display: block;
  width: 25%;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.txt .card {
    width: calc(50% - 0.25rem);
  }
}
main #sec3 .feature.txt .card .desc {
  padding: 1rem;
}
main #sec3 .feature.txt .card .desc .title {
  min-height: 4em;
  font-size: clamp(12px, 5.3333333333px + 0.8680555556vw, 22px);
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.txt .card .desc .title {
    font-size: clamp(14px, 8.2857142857px + 1.7857142857vw, 22px);
  }
}
main #sec3 .feature.txt .card .desc .title-sub2 {
  font-size: clamp(14px, 10px + 0.5208333333vw, 20px);
}
@media screen and (max-width: 768px) {
  main #sec3 .feature.txt .card .desc .title-sub2 {
    font-size: clamp(15px, 10px + 1.5625vw, 22px);
  }
}
main #sec3 .feature.bnr .card {
  display: flex;
}
@media screen and (max-width: 820px) {
  main #sec3 .feature.bnr .card {
    flex-direction: column;
  }
}
main #sec3 .feature.bnr .card .image {
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 495/419;
}
@media screen and (max-width: 820px) {
  main #sec3 .feature.bnr .card .image {
    width: 100%;
    aspect-ratio: 2/1;
  }
}
main #sec3 .feature.bnr .card .desc {
  width: 50%;
  padding: 2rem;
}
@media screen and (max-width: 820px) {
  main #sec3 .feature.bnr .card .desc {
    width: 100%;
  }
}
main #sec3 .feature.bnr .card .desc .title-gold {
  margin-bottom: 1rem;
  padding: 0.25rem 1rem;
  width: 100%;
  background-color: #a07c1b;
  font-size: clamp(12px, 11.0291262136px + 0.2588996764vw, 16px);
  text-align: center;
}
main #sec3 .feature.bnr .card .desc .title {
  margin: 0.25rem 0 1rem 0;
  font-size: clamp(28px, 19.2621359223px + 2.3300970874vw, 64px);
}
main #sec3 .feature.bnr .card .desc .title-sub1 {
  font-size: clamp(14px, 9.145631068px + 1.2944983819vw, 34px);
}
main #sec3 .feature.bnr .card .desc p {
  margin-bottom: 0;
}
main #sec4 {
  position: relative;
  width: 100%;
  height: 60vh;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
}
@media screen and (max-width: 768px) {
  main #sec4 {
    height: 30vh;
  }
}
main #sec4::before {
  content: "";
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/sec4-1.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 20%;
  z-index: -10;
}
main #sec5 {
  position: relative;
  width: 57.2916666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  text-align: center;
}
@media screen and (max-width: 1280px) {
  main #sec5 {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #sec5 {
    width: calc(100% - 20px);
  }
}
main #sec5 .map-container {
  position: relative;
  width: 100%;
  aspect-ratio: 2198/2413;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container {
    aspect-ratio: 1405/1638;
  }
}
main #sec5 .map-container .overlay-box {
  position: absolute;
  inset: 0;
}
main #sec5 .map-container .overlay-box .overlay {
  position: absolute;
  background-color: transparent;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20%;
  opacity: 0;
  transition: background-color 0.3s ease, opacity 0.5s ease;
}
@media screen and (hover: hover) and (pointer: fine) and (min-width: 769px) {
  main #sec5 .map-container .overlay-box .overlay:hover {
    background-color: rgba(0, 0, 0, 0.3882352941);
    background-image: url("../img/magnifier.webp");
    opacity: 1;
  }
}
main #sec5 .map-container .overlay-box .overlay.room1 {
  width: 33.53%;
  aspect-ratio: 737/503;
  top: 3.65%;
  left: 12.7%;
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container .overlay-box .overlay.room1 {
    width: 37.01%;
    aspect-ratio: 104/71;
    top: 4%;
    left: 3.5%;
  }
}
main #sec5 .map-container .overlay-box .overlay.room2 {
  width: 41.49%;
  aspect-ratio: 304/195;
  top: 0;
  right: 0.4%;
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container .overlay-box .overlay.room2 {
    width: 45.84%;
    aspect-ratio: 92/59;
    right: 0.7%;
  }
}
main #sec5 .map-container .overlay-box .overlay.room3 {
  width: 22.61%;
  aspect-ratio: 497/358;
  top: 33.6%;
  left: 0;
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container .overlay-box .overlay.room3 {
    width: 19.22%;
    aspect-ratio: 135/97;
    top: 80.6%;
  }
}
main #sec5 .map-container .overlay-box .overlay.room4 {
  width: 20.97%;
  aspect-ratio: 461/340;
  top: 63%;
  left: 3.07%;
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container .overlay-box .overlay.room4 {
    width: 20.57%;
    aspect-ratio: 289/213;
    top: 87%;
    left: 20.07%;
  }
}
main #sec5 .map-container .overlay-box .overlay.room5 {
  width: 35.3%;
  aspect-ratio: 776/511;
  right: 36.79%;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container .overlay-box .overlay.room5 {
    width: 27.83%;
    aspect-ratio: 391/258;
    right: 29.3%;
    bottom: 2.55%;
  }
}
main #sec5 .map-container .overlay-box .overlay.room6 {
  width: 31.21%;
  aspect-ratio: 98/65;
  right: 0;
  bottom: 10.57%;
}
@media screen and (max-width: 768px) {
  main #sec5 .map-container .overlay-box .overlay.room6 {
    width: 25.48%;
    aspect-ratio: 358/237;
    bottom: 4%;
  }
}
main #sec5 .room-detail {
  display: none;
}
main #sec5 .room-detail.active {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  background-color: rgba(16, 16, 16, 0.7882352941);
  overflow-y: auto;
}
main #sec5 .room-detail .detail-wrap {
  position: relative;
  width: 60%;
  aspect-ratio: 1573/1000;
  border: clamp(5px, 3.786407767px + 0.3236245955vw, 10px) solid #74604f;
}
@media screen and (max-width: 768px) {
  main #sec5 .room-detail .detail-wrap {
    width: 90%;
  }
}
main #sec5 .room-detail .detail-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
main #sec5 .room-detail .detail-wrap .room-name {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  padding: 0 1rem 0.15rem 1rem;
  background-color: #74604f;
}
main #sec5 .room-detail .detail-wrap .close-btn {
  position: absolute;
  top: calc(-1 * clamp(5px, 3.786407767px + 0.3236245955vw, 10px) + -1 * clamp(20px, 16.359223301px + 0.9708737864vw, 35px));
  right: calc(-1 * clamp(5px, 3.786407767px + 0.3236245955vw, 10px));
  z-index: 10;
  width: clamp(20px, 16.359223301px + 0.9708737864vw, 35px);
  height: clamp(20px, 16.359223301px + 0.9708737864vw, 35px);
  background-color: #fff;
  border: 1px solid #74604f;
  cursor: pointer;
  user-select: none;
  outline: none;
}
main #sec5 .room-detail .detail-wrap .close-btn::before, main #sec5 .room-detail .detail-wrap .close-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(15px, 11.359223301px + 0.9708737864vw, 30px);
  height: 2px;
  background-color: #74604f;
  transform-origin: center;
}
main #sec5 .room-detail .detail-wrap .close-btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
main #sec5 .room-detail .detail-wrap .close-btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
main #sec5 .facility-button {
  display: inline-block;
  min-width: 45%;
  margin: 0 auto;
  padding: 0.5em 2.5em;
  border: 1px solid #a07c1b;
  border-radius: 9999px;
  font-size: 1.2em;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  transition: transform 0.3s ease, background-color 0.1s ease;
}
@media screen and (max-width: 1440px) {
  main #sec5 .facility-button {
    min-width: 55%;
  }
}
@media screen and (max-width: 425px) {
  main #sec5 .facility-button {
    min-width: 85%;
  }
}
main #sec5 .facility-button:hover {
  transform: translate(1px, 1px);
  background-color: rgba(255, 255, 255, 0.2666666667);
}
main #sec6 {
  width: 57.2916666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #sec6 {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #sec6 {
    width: calc(100% - 20px);
  }
}
main #sec6 .sec6-inner {
  padding: 3rem 2rem 5rem 2rem;
  background-color: #333;
}
@media screen and (max-width: 768px) {
  main #sec6 .sec6-inner {
    padding: 3rem 1rem 5rem 1rem;
  }
}
main #sec6 .sec6-inner .price-table {
  font-family: "Noto Serif JP", serif;
}
main #sec6 .more-button-circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateY(-1rem);
}
main #sec6 .more-button-circle .line {
  width: 0.5px;
  height: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  background-color: #a07c1b;
}
main #sec6 .more-button-circle .circle {
  width: clamp(80px, 75.145631068px + 1.2944983819vw, 100px);
  height: clamp(80px, 75.145631068px + 1.2944983819vw, 100px);
  border: 1px solid #a07c1b;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: serif;
  font-size: 1.2rem;
  transition: background 0.3s;
}
main #sec6 .more-button-circle .circle:hover {
  background: rgba(255, 255, 255, 0.2666666667);
}
main #sec6 .more-button-circle .circle a {
  display: block;
}
main #sec7 {
  padding: 5rem 0;
  background-color: #333;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
main #sec7 .flow-wrap {
  width: 80%;
  margin: 0 auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 1280px) {
  main #sec7 .flow-wrap {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  main #sec7 .flow-wrap {
    width: calc(100% - 20px);
  }
}
main #sec7 .flow-wrap .flow-container {
  display: flex;
  gap: 0.5rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  main #sec7 .flow-wrap .flow-container {
    width: 1100px;
  }
}
main #sec7 .flow-wrap .flow-container .card {
  width: 20%;
  padding: 1.75rem;
  background-color: #101010;
  font-size: clamp(12px, 11.5145631068px + 0.1294498382vw, 14px);
  line-height: 1.4;
}
@media screen and (max-width: 1024px) {
  main #sec7 .flow-wrap .flow-container .card {
    padding: 1.75rem 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  main #sec7 .flow-wrap .flow-container .card {
    padding: 1.75rem 1.75rem;
  }
}
main #sec7 .flow-wrap .flow-container .card dt {
  min-height: 3em;
  margin-bottom: 0.5rem;
  font-size: 1.2em;
  font-weight: 600;
  text-align: center;
}
main #sec7 .flow-wrap .flow-container .arrow-container {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
main #sec7 .flow-wrap .flow-container .arrow-container .arrow-right {
  width: 12px;
}
main #sec8 {
  width: 41.6666666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1440px) {
  main #sec8 {
    width: 60%;
  }
}
@media screen and (max-width: 1024px) {
  main #sec8 {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  main #sec8 {
    width: calc(100% - 20px);
  }
}
main #sec8 .access {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
@media screen and (max-width: 576px) {
  main #sec8 .access {
    flex-direction: column;
  }
}
main #sec8 .access .info {
  padding: 1rem;
}
@media screen and (max-width: 576px) {
  main #sec8 .access .info {
    margin-bottom: 1rem;
    padding: 0;
  }
}
main #sec8 .access .info p {
  margin-bottom: 1rem;
}
main #sec8 .access .info p:last-child {
  margin-bottom: 0;
}
main #sec8 .access .photo {
  width: 50%;
  aspect-ratio: 439/331;
}
@media screen and (max-width: 576px) {
  main #sec8 .access .photo {
    width: 100%;
  }
}
main #sec8 .access .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #sec8 .access-map {
  margin-bottom: 2rem;
}
main #sec8 .parking > span {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0 1rem;
  background-color: #74604f;
  font-size: clamp(16px, 15.5145631068px + 0.1294498382vw, 18px);
}
main #sec9 {
  padding: 5rem 0;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  background-image: url("../img/sec9-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
main #sec9 .voice-wrap {
  display: flex;
  width: 62.5vw;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  main #sec9 .voice-wrap {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  main #sec9 .voice-wrap {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  main #sec9 .voice-wrap {
    width: calc(100% - 20px);
  }
}
main #sec9 .voice-wrap .voice-l,
main #sec9 .voice-wrap .voice-r {
  width: 50%;
}
@media screen and (max-width: 576px) {
  main #sec9 .voice-wrap .voice-l,
  main #sec9 .voice-wrap .voice-r {
    width: 100%;
  }
}
main #sec9 .voice-wrap .voice-l {
  padding-top: 2rem;
}
@media screen and (max-width: 576px) {
  main #sec9 .voice-wrap .voice-l {
    padding-top: 0;
  }
}
main #sec10 {
  width: 41.6666666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1440px) {
  main #sec10 {
    width: 60%;
  }
}
@media screen and (max-width: 1024px) {
  main #sec10 {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  main #sec10 {
    width: calc(100% - 20px);
  }
}
main #sec10 .faq {
  padding: 2rem 0;
  border-top: 1px solid #a07c1b;
}
main #sec10 .faq:last-child {
  border-bottom: 1px solid #a07c1b;
}
main #sec10 .faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  cursor: pointer;
  user-select: none;
  outline: none;
  list-style: none;
}
main #sec10 .faq summary::-webkit-details-marker {
  display: none !important;
}
main #sec10 .faq summary .circle-button {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  border: 1px solid #a07c1b;
  border-radius: 50%;
}
main #sec10 .faq summary .circle-button .arrow {
  display: block;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: #a07c1b #a07c1b transparent transparent;
  transform: rotate(45deg);
  margin-right: 4px;
}
main #sec10 .faq p {
  opacity: 0;
}
main #sec10 .faq[open] summary .arrow {
  border-color: transparent transparent #a07c1b #a07c1b;
  transform: rotate(-45deg);
  margin-right: 0;
  margin-bottom: 4px;
}
main #sec10 .faq[open] p {
  padding-top: 2rem;
  padding-left: 1em;
  opacity: 1;
}

/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
header {
  /*====== ヘッダービジュアル ======*/
}
header .header-visual .header-button {
  display: flex;
  gap: 0.5rem;
  width: 50%;
}
@media screen and (max-width: 768px) {
  header .header-visual .header-button {
    width: 70%;
  }
}
@media screen and (max-width: 576px) {
  header .header-visual .header-button {
    flex-direction: column;
    gap: 0;
    width: 40%;
  }
}
@media screen and (max-width: 425px) {
  header .header-visual .header-button {
    width: 50%;
  }
}
header .header-visual .header-button .plan-button {
  transition: transform 0.3s ease, filter 0.3s ease;
}
header .header-visual .header-button .plan-button:hover {
  transform: translate(1px, 1px);
  filter: brightness(1.1);
}

/*====== メインコンテンツ ======*/
main #pri-sec1,
main #pri-sec3 {
  padding: 5rem 0;
  background-color: #333;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
main #pri-sec1 .price-button,
main #pri-sec3 .price-button {
  width: 25%;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1024px) {
  main #pri-sec1 .price-button,
  main #pri-sec3 .price-button {
    width: 30%;
  }
}
@media screen and (max-width: 768px) {
  main #pri-sec1 .price-button,
  main #pri-sec3 .price-button {
    width: 40%;
  }
}
@media screen and (max-width: 425px) {
  main #pri-sec1 .price-button,
  main #pri-sec3 .price-button {
    width: 65%;
  }
}
main #pri-sec1 .price-table-wrap,
main #pri-sec3 .price-table-wrap {
  width: 57.2916666667vw;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  main #pri-sec1 .price-table-wrap,
  main #pri-sec3 .price-table-wrap {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #pri-sec1 .price-table-wrap,
  main #pri-sec3 .price-table-wrap {
    width: calc(100% - 20px);
  }
}
main #pri-sec1 .price-table-wrap .price-table,
main #pri-sec3 .price-table-wrap .price-table {
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
main #pri-sec1 .price-table-wrap .price-table thead th,
main #pri-sec3 .price-table-wrap .price-table thead th {
  font-family: "Noto Serif JP", serif;
}
main #pri-sec1 .price-table-wrap .price-table .price-content,
main #pri-sec3 .price-table-wrap .price-table .price-content {
  font-family: "Noto Serif JP", serif;
}
main #pri-sec1 h3,
main #pri-sec3 h3 {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
}
main #pri-sec1 .add-plan,
main #pri-sec3 .add-plan {
  display: flex;
  gap: 1rem;
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  main #pri-sec1 .add-plan,
  main #pri-sec3 .add-plan {
    flex-direction: column;
    align-items: center;
  }
}
main #pri-sec1 .add-plan .plan-card,
main #pri-sec3 .add-plan .plan-card {
  width: 33.3333333333%;
  border: 1px solid #564518;
}
@media screen and (max-width: 768px) {
  main #pri-sec1 .add-plan .plan-card,
  main #pri-sec3 .add-plan .plan-card {
    width: 60%;
  }
}
@media screen and (max-width: 425px) {
  main #pri-sec1 .add-plan .plan-card,
  main #pri-sec3 .add-plan .plan-card {
    width: 80%;
  }
}
main #pri-sec1 .add-plan .plan-card .plan-title,
main #pri-sec3 .add-plan .plan-card .plan-title {
  padding: 0.5rem;
  text-align: center;
  background-color: #564518;
}
main #pri-sec1 .add-plan .plan-card .plan-price,
main #pri-sec3 .add-plan .plan-card .plan-price {
  padding: 1rem;
}
main #pri-sec1 .add-plan .plan-card .plan-price .price-content,
main #pri-sec3 .add-plan .plan-card .plan-price .price-content {
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  main #pri-sec1 .add-plan .plan-card .plan-price .price-content,
  main #pri-sec3 .add-plan .plan-card .plan-price .price-content {
    flex-direction: row;
  }
}
main #pri-sec1 .add-plan .plan-card .plan-price .price-content .time,
main #pri-sec3 .add-plan .plan-card .plan-price .price-content .time {
  margin-right: 0.5em;
  padding-top: 0.5em;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.6em;
}
@media screen and (max-width: 768px) {
  main #pri-sec1 .add-plan .plan-card .plan-price .price-content .currency-box,
  main #pri-sec3 .add-plan .plan-card .plan-price .price-content .currency-box {
    padding-top: 0.3em;
  }
}
main #pri-sec1 .vvip-limited,
main #pri-sec3 .vvip-limited {
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 576px) {
  main #pri-sec1 .vvip-limited,
  main #pri-sec3 .vvip-limited {
    flex-direction: column;
  }
}
main #pri-sec1 .vvip-limited .image,
main #pri-sec3 .vvip-limited .image {
  flex-shrink: 0;
  width: 50%;
  aspect-ratio: 56/39;
}
@media screen and (max-width: 576px) {
  main #pri-sec1 .vvip-limited .image,
  main #pri-sec3 .vvip-limited .image {
    width: 100%;
    aspect-ratio: 2/1;
  }
}
main #pri-sec1 .vvip-limited .image img,
main #pri-sec3 .vvip-limited .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #pri-sec1 .vvip-limited .desc,
main #pri-sec3 .vvip-limited .desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 50%;
}
@media screen and (max-width: 576px) {
  main #pri-sec1 .vvip-limited .desc,
  main #pri-sec3 .vvip-limited .desc {
    width: 100%;
  }
}
main #pri-sec1 .vvip-limited .desc .title-gold,
main #pri-sec3 .vvip-limited .desc .title-gold {
  margin-bottom: 1rem;
  padding: 0.25rem 2rem;
  background-color: #564518;
  font-size: clamp(12px, 11.0291262136px + 0.2588996764vw, 16px);
  text-shadow: 1px 1px 4px #101010;
  text-align: center;
}
main #pri-sec1 .vvip-limited .desc p,
main #pri-sec3 .vvip-limited .desc p {
  font-size: clamp(10px, 9.0291262136px + 0.2588996764vw, 14px);
}
main #pri-sec2 {
  width: 57.2916666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #pri-sec2 {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  main #pri-sec2 {
    width: calc(100% - 20px);
  }
}
main #pri-sec2 .personal-feature {
  display: flex;
  gap: 1rem;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 576px) {
  main #pri-sec2 .personal-feature {
    flex-direction: column;
  }
}
main #pri-sec2 .personal-feature .image {
  flex-shrink: 0;
  width: 30%;
  aspect-ratio: 351/304;
}
@media screen and (max-width: 576px) {
  main #pri-sec2 .personal-feature .image {
    width: 100%;
    aspect-ratio: 2/1;
  }
}
main #pri-sec2 .personal-feature .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #pri-sec2 .personal-feature .desc {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70%;
}
@media screen and (max-width: 576px) {
  main #pri-sec2 .personal-feature .desc {
    width: 100%;
  }
}
main #pri-sec2 .personal-feature .desc p {
  font-size: clamp(10px, 9.0291262136px + 0.2588996764vw, 14px);
}
main #pri-sec2 .per-price-table-wrap {
  width: 80%;
  margin: 0 auto;
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  padding: 3rem 5rem 5rem 5rem;
  background-color: #333;
}
@media screen and (max-width: 1024px) {
  main #pri-sec2 .per-price-table-wrap {
    width: 100%;
  }
}
@media screen and (max-width: 576px) {
  main #pri-sec2 .per-price-table-wrap {
    padding: 3rem 1rem 4rem 1rem;
  }
}
main #pri-sec2 .per-price-table-wrap:last-child {
  margin-bottom: 0;
}
main #pri-sec2 .per-price-table-wrap h3 {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}
main #pri-sec2 .per-price-table-wrap .price-table {
  width: 90%;
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  main #pri-sec2 .per-price-table-wrap .price-table {
    width: calc(100% - 20px);
    width: 100%;
  }
}
main #pri-sec2 .per-price-table-wrap .price-table tr {
  border-bottom: 1px solid #a07c1b;
}
main #pri-sec2 .per-price-table-wrap .price-table th,
main #pri-sec2 .per-price-table-wrap .price-table td {
  width: auto;
}
main #pri-sec2 .per-price-table-wrap .price-table th {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}
main #pri-sec2 .per-price-table-wrap .price-table thead th {
  color: #a07c1b;
}
@media screen and (max-width: 335px) {
  main #pri-sec2 .per-price-table-wrap .price-table tbody th {
    width: 25%;
  }
}
main #pri-sec2 .per-price-table-wrap .price-table tbody .price-content {
  justify-content: flex-end;
  font-size: clamp(20px, 16.1165048544px + 1.0355987055vw, 36px);
}
@media screen and (max-width: 768px) {
  main #pri-sec2 .per-price-table-wrap .price-table tbody .price-content {
    flex-direction: row;
  }
}
@media screen and (max-width: 768px) {
  main #pri-sec2 .per-price-table-wrap .price-table tbody .price-content .currency-box {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  main #pri-sec2 .per-price-table-wrap .price-table tbody .price-content .currency-box .tax {
    font-size: 0.3em;
  }
}
main #pri-sec3 .price-table-wrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2rem;
  width: 62.5vw;
  padding: 4rem 5rem 4rem 5rem;
  background-color: #101010;
}
@media screen and (max-width: 1280px) {
  main #pri-sec3 .price-table-wrap {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #pri-sec3 .price-table-wrap {
    padding: 3rem 1rem 5rem 1rem;
  }
}
@media screen and (max-width: 576px) {
  main #pri-sec3 .price-table-wrap {
    width: calc(100% - 20px);
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
  }
}
main #pri-sec3 .price-table-wrap .vip-price {
  width: 100%;
  padding: 1rem;
  border-bottom: 1px solid #a07c1b;
}
main #pri-sec3 .price-table-wrap .vip-price .price-content {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(24px, 18.1747572816px + 1.5533980583vw, 48px);
}
@media screen and (max-width: 768px) {
  main #pri-sec3 .price-table-wrap .vip-price .price-content {
    flex-direction: row;
  }
}
main #pri-sec3 .price-table-wrap .vip-price .price-content .time {
  margin-right: 1em;
  padding-top: 0.5em;
  font-weight: 400;
  font-size: 0.6em;
}
@media screen and (max-width: 768px) {
  main #pri-sec3 .price-table-wrap .vip-price .price-content .currency-box {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  main #pri-sec3 .price-table-wrap .vip-price .price-content .currency-box .tax {
    font-size: 0.3em;
  }
}
main #pri-sec3 .price-table-wrap .price-table {
  width: calc(50% - 1rem);
  margin: 0;
}
@media screen and (max-width: 576px) {
  main #pri-sec3 .price-table-wrap .price-table {
    width: 100%;
  }
}
main #pri-sec3 .price-table-wrap .price-table th,
main #pri-sec3 .price-table-wrap .price-table td {
  width: 50%;
  height: 6em;
}

/*2507追記*/
/*
main {
  #pri-sec1 {

    .price-button {

    }

    .price-table-wrap {

      //共通部分は_common.scssに記述
      .price-table {
        margin-bottom: fn.clamp-px(15, 30) !important;
      }
    }
  }
}*/
.annot {
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  font-size: clamp(10px, 9.0291262136px + 0.2588996764vw, 14px);
}

/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
/*====== メインコンテンツ ======*/
main #per-sec1 {
  padding: 10rem 0 5rem 0;
  background-color: #333;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
main #per-sec1 .trainer-prof-wrap {
  position: relative;
  width: 67.7083333333vw;
  margin: 0 auto;
  margin-bottom: clamp(120px, 90.8737864078px + 7.7669902913vw, 240px);
  padding: 8rem 0 3rem 0;
  background-color: #101010;
}
@media screen and (max-width: 1280px) {
  main #per-sec1 .trainer-prof-wrap {
    width: 80%;
  }
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap {
    padding: 6rem 0 1rem 0;
  }
}
@media screen and (max-width: 768px) {
  main #per-sec1 .trainer-prof-wrap {
    width: calc(100% - 20px);
  }
}
main #per-sec1 .trainer-prof-wrap:last-child {
  margin-bottom: 0;
}
main #per-sec1 .trainer-prof-wrap .trainer-num {
  position: absolute;
  top: -2.25em;
  left: -1em;
  z-index: 10;
  padding: 0.5em;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(20px, 14.6601941748px + 1.4239482201vw, 42px);
  color: #8d8d8d;
  letter-spacing: 0.15em;
  line-height: 1.2;
  border-left: 1px solid #8d8d8d;
  border-bottom: 1px solid #8d8d8d;
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-num {
    padding-right: 1.5em;
    top: 2rem;
    left: 1.5rem;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-prof {
  display: flex;
  width: 80%;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
  transform: translate(-1.5rem, 1.5rem);
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof {
    flex-direction: column;
    align-items: center;
    gap: 0;
    width: calc(100% - 3rem);
    transform: translate(0, 0);
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .image {
  width: 40%;
  aspect-ratio: 15/13;
  transform: translate(3rem, -3rem);
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .image {
    width: 60%;
    transform: translate(0, 0);
  }
}
@media screen and (max-width: 425px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .image {
    width: 80%;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 60%;
  padding: 2rem 2.5rem 2rem 6rem;
  background-color: #333;
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc {
    width: 100%;
    padding: 2rem;
  }
}
@media screen and (max-width: 425px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc {
    padding: 1rem;
  }
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .position {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 425px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .position {
    margin-left: 0;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name,
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name-en {
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name,
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name-en {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 425px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name,
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name-en {
    margin-left: 0;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name {
  margin-bottom: 0.25rem;
  font-size: clamp(22px, 18.6019417476px + 0.9061488673vw, 36px);
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .name-en {
  margin-bottom: 1rem;
  font-size: clamp(16px, 14.0582524272px + 0.5177993528vw, 24px);
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .license {
  margin-bottom: 2rem;
  padding-right: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4784313725);
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .license {
    margin-left: 3rem;
  }
}
@media screen and (max-width: 425px) {
  main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .license {
    flex-shrink: 0;
    width: 100%;
    padding-right: 0;
    margin-left: 0;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-prof .desc .license span {
  display: inline-block;
  margin-right: 1rem;
  padding: 0 0.5rem;
  color: #101010;
  background-color: rgba(255, 255, 255, 0.4784313725);
}
main #per-sec1 .trainer-prof-wrap .trainer-title {
  display: block;
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  width: 10em;
  padding: 0.5rem 0;
  padding-left: 1em;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(28px, 24.6019417476px + 0.9061488673vw, 42px);
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.4784313725);
  border-bottom: 1px solid rgba(255, 255, 255, 0.4784313725);
}
main #per-sec1 .trainer-prof-wrap .trainer-title.txt-right {
  margin-left: auto;
  padding-right: 1em;
  text-align: right;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
  width: 80%;
  margin: 0 auto;
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
}
@media screen and (max-width: 1024px) {
  main #per-sec1 .trainer-prof-wrap .trainer-detail {
    gap: 1rem;
    width: calc(100% - 3rem);
  }
}
@media screen and (max-width: 576px) {
  main #per-sec1 .trainer-prof-wrap .trainer-detail {
    flex-direction: column-reverse;
    align-items: center;
    gap: 0;
  }
  main #per-sec1 .trainer-prof-wrap .trainer-detail.reverse {
    flex-direction: column;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .image {
  flex-shrink: 0;
  width: 40%;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 576px) {
  main #per-sec1 .trainer-prof-wrap .trainer-detail .image {
    width: 60%;
    margin-left: auto;
  }
  main #per-sec1 .trainer-prof-wrap .trainer-detail .image.img-left {
    margin-right: auto;
    margin-left: 0;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc {
  width: 60%;
}
@media screen and (max-width: 576px) {
  main #per-sec1 .trainer-prof-wrap .trainer-detail .desc {
    width: 100%;
    padding-top: 3rem;
    transform: translateY(-4rem);
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-msg {
  margin-bottom: 3rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: clamp(20px, 18.0582524272px + 0.5177993528vw, 28px);
  text-align: center;
}
@media screen and (max-width: 576px) {
  main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-msg {
    text-align: left;
  }
  main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-msg.txt-right {
    text-align: right;
  }
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-q {
  margin-bottom: 1rem;
  font-weight: 600;
  font-size: 1.1em;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-q::before {
  content: "Q.";
  margin-right: 0.5em;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-a {
  margin-bottom: 2rem;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-a::before {
  content: "A.";
  margin-right: 0.5em;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-a:last-child {
  margin-bottom: 0;
}
main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-voice-box img:nth-of-type(2) {
  transform: translateX(-5rem);
}
@media screen and (max-width: 576px) {
  main #per-sec1 .trainer-prof-wrap .trainer-detail .desc .trainer-voice-box img:nth-of-type(2) {
    text-align: center;
    transform: translateX(0);
  }
}

/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
/*====== メインコンテンツ ======*/
main [id^=ftr-sec] .ftr-h2 {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  padding-left: 2rem;
  border-left: 4px solid #a07c1b;
  text-align: left;
}
main [id^=ftr-sec] .booth-img {
  margin-bottom: 2rem;
}
main [id^=ftr-sec] .booth-desc {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
}
main [id^=ftr-sec] .ftr-card {
  display: flex;
  margin-bottom: 2rem;
}
@media screen and (max-width: 576px) {
  main [id^=ftr-sec] .ftr-card {
    flex-direction: column;
  }
}
main [id^=ftr-sec] .ftr-card:last-child {
  margin-right: 0;
}
main [id^=ftr-sec] .ftr-card .image {
  flex-shrink: 0;
  width: 30%;
  aspect-ratio: 26/29;
}
@media screen and (max-width: 576px) {
  main [id^=ftr-sec] .ftr-card .image {
    width: 100%;
    aspect-ratio: 2/1;
  }
}
main [id^=ftr-sec] .ftr-card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main [id^=ftr-sec] .ftr-card .desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 70%;
  padding: 2rem 4rem;
  background-color: #333;
}
@media screen and (max-width: 1024px) {
  main [id^=ftr-sec] .ftr-card .desc {
    padding: 2rem 2rem;
  }
}
@media screen and (max-width: 576px) {
  main [id^=ftr-sec] .ftr-card .desc {
    width: 100%;
  }
}
main [id^=ftr-sec] .ftr-card .desc h4 {
  margin-bottom: 1rem;
  font-size: clamp(22px, 18.6019417476px + 0.9061488673vw, 36px);
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05em;
}
main [id^=ftr-sec] .ftr-card .desc .h4-sub {
  margin-bottom: 1rem;
  font-size: clamp(16px, 14.5436893204px + 0.3883495146vw, 22px);
}
main [id^=ftr-sec] .ftr-card .desc .title-gray {
  width: 80%;
  margin-bottom: 1rem;
  padding: 0 1rem;
  background-color: rgba(255, 255, 255, 0.4235294118);
  font-size: clamp(12px, 11.0291262136px + 0.2588996764vw, 16px);
  color: #101010;
  text-align: center;
}
@media screen and (max-width: 576px) {
  main [id^=ftr-sec] .ftr-card .desc .title-gray {
    width: 100%;
  }
}
main [id^=ftr-sec] .ftr-card .desc ul {
  width: 75%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 576px) {
  main [id^=ftr-sec] .ftr-card .desc ul {
    width: 100%;
  }
}
main [id^=ftr-sec] .ftr-card .desc ul li {
  display: flex;
  align-items: flex-start;
  margin-bottom: 0.25rem;
}
main [id^=ftr-sec] .ftr-card .desc ul li .icon-check {
  width: 1.25em;
  margin-top: 0.35em;
  margin-right: 1em;
}
main [id^=ftr-sec] .ftr-card .desc p {
  font-size: clamp(10px, 9.0291262136px + 0.2588996764vw, 14px);
}
main #ftr-sec1,
main #ftr-sec3,
main #ftr-sec4 {
  width: 57.2916666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #ftr-sec1,
  main #ftr-sec3,
  main #ftr-sec4 {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #ftr-sec1,
  main #ftr-sec3,
  main #ftr-sec4 {
    width: calc(100% - 20px);
  }
}
main #ftr-sec2 {
  width: 67.7083333333vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #ftr-sec2 {
    width: 80%;
  }
}
@media screen and (max-width: 1280px) {
  main #ftr-sec2 {
    width: 100%;
  }
}
main #ftr-sec2 h3 {
  margin-bottom: clamp(40px, 30.2912621359px + 2.5889967638vw, 80px);
  font-size: clamp(18px, 15.572815534px + 0.6472491909vw, 28px);
  line-height: 1.8;
}
main #ftr-sec2 .equipment-wrap {
  display: flex;
  overflow: hidden;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 576px) {
  main #ftr-sec2 .equipment-wrap {
    flex-direction: column;
  }
}
main #ftr-sec2 .equipment-wrap div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-right: -12%;
}
@media screen and (max-width: 576px) {
  main #ftr-sec2 .equipment-wrap div {
    position: relative;
    display: block;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}
main #ftr-sec2 .equipment-wrap div:last-child {
  margin-right: 0;
}
main #ftr-sec2 .equipment-wrap dd {
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (max-width: 576px) {
  main #ftr-sec2 .equipment-wrap dd {
    position: absolute;
    right: 0;
    bottom: 1rem;
    width: 50%;
  }
}
main #ftr-sec2 .equipment-wrap dd span {
  display: inline-block;
  margin-left: -35%;
  text-align: center;
}
@media screen and (max-width: 576px) {
  main #ftr-sec2 .equipment-wrap dd span {
    margin-left: 0;
  }
}
@media screen and (max-width: 576px) {
  main #ftr-sec2 .equipment-wrap dt {
    width: 80%;
    position: relative;
    left: -3rem;
    top: 0;
    margin-right: 0;
  }
  main #ftr-sec2 .equipment-wrap div:nth-child(even) dt {
    left: unset;
    right: -10rem;
    right: -25%;
  }
  main #ftr-sec2 .equipment-wrap div:nth-child(even) dd {
    right: unset;
    right: unset;
    left: 0;
  }
}
main #ftr-sec2 .ftr-sec2-wrap {
  width: 67.7083333333vw;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  main #ftr-sec2 .ftr-sec2-wrap {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #ftr-sec2 .ftr-sec2-wrap {
    width: calc(100% - 20px);
  }
}
main #ftr-sec2 .ftr-sec2-wrap .ftr-card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}
main #ftr-sec5 {
  display: flex;
  gap: 2rem;
  width: 57.2916666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main #ftr-sec5 {
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  main #ftr-sec5 {
    width: calc(100% - 20px);
  }
}
@media screen and (max-width: 576px) {
  main #ftr-sec5 {
    flex-direction: column;
  }
}
main #ftr-sec5 .ftr-h2 {
  margin-bottom: 2rem;
}
main #ftr-sec5 .other-booth {
  width: 50%;
}
@media screen and (max-width: 576px) {
  main #ftr-sec5 .other-booth {
    width: 100%;
  }
}
main #ftr-sec5 .other-booth .image {
  margin-bottom: 1rem;
  aspect-ratio: 49/43;
}
@media screen and (max-width: 576px) {
  main #ftr-sec5 .other-booth .image {
    width: 100%;
    aspect-ratio: 2/1;
  }
}
main #ftr-sec5 .other-booth .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------------- Note ----------------

・SCSSで記入
・View Port min:375px max:1920pxで計算

-------------------------------------- */
/*====== メインコンテンツ ======*/
header .header-visual.others {
  padding: 5rem 1rem;
  aspect-ratio: initial;
}
header .header-visual.others .h1-sub {
  margin-bottom: 0;
}

main.others {
  width: 41.6666666667vw;
  margin: 0 auto;
  margin-bottom: clamp(60px, 45.4368932039px + 3.8834951456vw, 120px);
}
@media screen and (max-width: 1280px) {
  main.others {
    width: 80%;
  }
}
@media screen and (max-width: 425px) {
  main.others {
    width: 90%;
  }
}
main.others .prv-sec,
main.others .trm-sec,
main.others .cmp-sec {
  margin-bottom: 4rem;
}
main.others .prv-sec .prv-h2,
main.others .trm-sec .prv-h2,
main.others .cmp-sec .prv-h2 {
  margin-bottom: 1rem;
  font-size: 1.2em;
  font-weight: 700;
  text-align: left;
}
main.others .prv-sec p,
main.others .trm-sec p,
main.others .cmp-sec p {
  margin-bottom: 0.5rem;
}
main.others .prv-sec ul,
main.others .prv-sec ol,
main.others .prv-sec address,
main.others .trm-sec ul,
main.others .trm-sec ol,
main.others .trm-sec address,
main.others .cmp-sec ul,
main.others .cmp-sec ol,
main.others .cmp-sec address {
  line-height: 2.2;
}
main.others .prv-sec ul,
main.others .trm-sec ul,
main.others .cmp-sec ul {
  margin-left: 1.25em;
  list-style-type: disc;
}
main.others .prv-sec ol,
main.others .trm-sec ol,
main.others .cmp-sec ol {
  margin-left: 1.75em;
  list-style-type: decimal;
}
main.others .prv-sec li,
main.others .trm-sec li,
main.others .cmp-sec li {
  margin-bottom: 0.25em;
}
main.others .prv-sec li ul li ol,
main.others .prv-sec li ol li ol,
main.others .trm-sec li ul li ol,
main.others .trm-sec li ol li ol,
main.others .cmp-sec li ul li ol,
main.others .cmp-sec li ol li ol {
  margin-left: 0;
  list-style-type: none;
}
main.others .cmp-sec .company-table {
  width: 100%;
  border-collapse: collapse;
}
main.others .cmp-sec .company-table th,
main.others .cmp-sec .company-table td {
  border-bottom: 1px solid #a07c1b;
  padding: 0.75em;
  text-align: left;
  vertical-align: top;
}
main.others .cmp-sec .company-table th {
  width: 30%;
  font-weight: 400;
}
main.others .cmp-sec .company-table td ul {
  margin-left: 1.25em;
  line-height: 1.8;
}

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