@charset "UTF-8";
/* base */
/* フォント
***************************************************************/
/* レイアウト（単位不要）
***************************************************************/
/* カラー変数
***************************************************************/
/* base */
/* ブレイク
***************************************************************/
/*　hover設定
***************************************************************/
/* base */
/* ルートフォント設定
***************************************************************/
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1280px) and (min-width: 768px) {
  html {
    font-size: calc(10 / 1280 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: calc(10 / 375 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  html {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  html::-webkit-scrollbar {
    display: none;
  }
}

/* スクロール設定
***************************************************************/
html {
  scroll-padding-top: 9rem;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 5rem;
  }
}

/* base（基本）設定
***************************************************************/
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #444444;
  font-size: 1.6rem;
  overflow-x: hidden;
  background: rgb(254, 254, 254);
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}
body.is-drawerActive {
  height: 100%;
  overflow: hidden;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: inherit;
}
@media (any-hover: hover) {
  a:hover {
    cursor: pointer;
  }
}

picture,
img,
a {
  display: inline-block;
}

video,
img,
svg {
  width: 100%;
  height: 100%;
}

:root {
  --anchor-offset-pc: 12.5rem;
  --anchor-offset-sp: 6.25rem;
}

/* ヘッダーが大きいページ */
.is-header-compact {
  --anchor-offset-pc: 18rem;
  --anchor-offset-sp: 11rem;
}

.is-pc {
  display: block;
}
@media (max-width: 767px) {
  .is-pc {
    display: none;
  }
}

.is-sp {
  display: none;
}
@media (max-width: 767px) {
  .is-sp {
    display: block;
  }
}

.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
  pointer-events: auto;
}

/* components */
/* base */
/* 見出し
***************************************************************/
.c-heading01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .c-heading01 {
    margin-bottom: 5rem;
  }
}

.c-heading01__sub {
  font-family: "Marcellus", serif;
  font-size: 3.6rem;
  letter-spacing: 1.44px;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .c-heading01__sub {
    font-size: 2.8rem;
    letter-spacing: 1.12px;
  }
}

.c-heading01__text {
  font-size: 1.4rem;
}

.c-heading01.v-left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-heading01.v-right {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.c-heading01.v-blue {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: #4965B2;
}

.c-child-heading01--height-auto {
  height: auto;
  margin-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .c-child-heading01--height-auto {
    margin-bottom: 6rem;
  }
}

.c-heading02 {
  font-size: 2.4rem;
  margin-bottom: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-heading02 {
    margin-bottom: 1.6rem;
  }
}

.c-heading03 {
  position: relative;
  color: var(--black, #444);
  font-family: Marcellus;
  font-size: 3.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 1.44px;
  padding-block: 8rem 5rem;
  text-align: center;
  height: 24.6rem;
}
@media screen and (max-width: 767px) {
  .c-heading03 {
    font-size: 2.8rem;
    line-height: 1.2;
    letter-spacing: 1.12px;
    padding-block: 5rem;
    height: 22.8rem;
  }
}
.c-heading03::after {
  content: "";
  width: 0.1rem;
  height: 5rem;
  position: absolute;
  bottom: 5rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  background: #444444;
}
@media screen and (max-width: 767px) {
  .c-heading03::after {
    bottom: 4rem;
  }
}

.c-heading03--logo {
  text-align: center;
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 1.28px;
}
@media screen and (max-width: 767px) {
  .c-heading03--logo {
    font-size: 2.4rem;
  }
}
.c-heading03--logo picture {
  height: 16.6rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767px) {
  .c-heading03--logo picture {
    height: 11rem;
    margin-bottom: 1rem;
  }
}

.c-heading04 {
  font-size: 3.2rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .c-heading04 {
    font-size: 2.4rem;
  }
}

.c-heading05 {
  font-size: 2.8rem;
  line-height: 1;
  margin-bottom: 5rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-heading05 {
    font-size: 2.4rem;
    line-height: 1.4;
    margin-bottom: 4rem;
  }
}

/* 下層見出し */
.c-child-heading01 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 25.6rem;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .c-child-heading01 {
    display: inherit;
    height: 100%;
    padding-top: 5rem;
    min-height: 18rem;
  }
}

.c-child-heading01__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1rem;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .c-child-heading01__inner {
    margin-bottom: 3rem;
  }
}

.c-child-heading01__sub {
  font-family: "Marcellus", serif;
  font-size: 3.6rem;
  letter-spacing: 1.44px;
}
@media screen and (max-width: 767px) {
  .c-child-heading01__sub {
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: 1.12px;
  }
}

.c-child-heading01__text {
  font-size: 1.4rem;
}

.c-child-heading01__slider {
  position: absolute;
  overflow: hidden;
  width: 62%;
  top: 4rem;
  right: 0;
  height: 21.6rem;
}
@media screen and (max-width: 767px) {
  .c-child-heading01__slider {
    position: relative;
    padding-left: 2rem;
    height: 14rem;
    width: 100%;
    top: 0;
  }
}

.c-child-heading01__slider-track {
  overflow: hidden;
}

.c-child-heading01__slider-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  will-change: transform;
}

.c-child-heading01__slider-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.333%;
}
@media screen and (max-width: 767px) {
  .c-child-heading01__slider-item {
    width: 50%;
  }
}

.c-child-heading01__slider-item img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
  /* 操作完全無効 */
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-child-heading02 {
  font-size: 3.2rem;
  padding-block: 8rem;
}
@media screen and (max-width: 767px) {
  .c-child-heading02 {
    font-size: 2rem;
    padding-block: 5rem;
  }
}

/* ボタン
***************************************************************/
.c-btn01 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-font-feature-settings: "liga" off, "clig" off;
          font-feature-settings: "liga" off, "clig" off;
  letter-spacing: 0.64px;
  margin: auto;
  -webkit-transition: color 0.2s ease-in;
  transition: color 0.2s ease-in;
}
.c-btn01 svg {
  width: 8.7rem;
  height: 6rem;
  margin-left: -2rem;
}
@media (hover: hover) {
  .c-btn01:hover {
    color: #4965B2;
  }
}

.c-btn02 {
  background: #fff;
  border-radius: 0.4rem;
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 50rem;
  padding: 1.6rem 4rem;
  min-height: 6.1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-btn02 {
    font-size: 1.4rem;
    min-height: 4.6rem;
  }
}
@media (any-hover: hover) {
  .c-btn02:hover {
    background: #F6F6F6;
  }
}

.c-btn-reserve {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 29rem;
  padding: 1.6rem 4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
  border-radius: 0.4rem;
  background: var(--btn-grd, linear-gradient(180deg, #606060 0%, #414141 100%));
  color: var(--fff, #FFF);
  letter-spacing: 0.64px;
}
@media (hover: hover) and (hover: hover) {
  .c-btn-reserve:hover {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-btn-reserve:hover:hover {
    opacity: 0.7;
  }
}

/* お知らせ
***************************************************************/
.c-news {
  width: 92%;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .c-news {
    margin-bottom: 4rem;
  }
}

.c-news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  padding: 1.6rem 0;
}
@media screen and (max-width: 767px) {
  .c-news__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c-news__date {
  width: 9rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 1.6;
}

.c-news__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-decoration: none;
  color: #333;
  line-height: 1.6;
}

@media (hover: hover) {
  a.c-news__title:hover {
    text-decoration: underline;
  }
}

/* ロゴパネル
***************************************************************/
.c-logo-panel {
  position: relative;
}
.c-logo-panel ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2rem;
  padding: 1rem;
}
@media screen and (max-width: 767px) {
  .c-logo-panel ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.6rem 1rem;
    padding: 0;
    width: 93%;
    margin: auto;
  }
}
.c-logo-panel ul a {
  height: 12rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-shadow: 0px 0px 10px 2px #eaeaea;
          box-shadow: 0px 0px 10px 2px #eaeaea;
  background: #fff;
}
@media (hover: hover) {
  .c-logo-panel ul a:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    max-width: 12.7rem;
    max-height: 12.7rem;
  }
}
.c-logo-panel ul a img {
  max-width: 12rem;
  max-height: 12rem;
  width: 100%;
  height: auto;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (max-width: 767px) {
  .c-logo-panel ul a {
    width: 9.9rem;
    height: 9.9rem;
  }
}

/* スライダー
***************************************************************/
/*c-slider01*/
.c-slider01 {
  position: relative;
  width: 100%;
  padding: 0 0 11rem;
  overflow: hidden;
}

.c-slider01__container {
  overflow: visible;
}
.c-slider01__container.is-single-slide .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-slider01__container.is-single-slide .c-slider01__slide {
  opacity: 1;
}
.c-slider01__container.is-single-slide + .c-slider01__controller {
  display: none;
}

.c-slider01__slide {
  width: 31rem;
  background: #fff;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  height: auto;
  opacity: 0.4;
}
@media screen and (max-width: 767px) {
  .c-slider01__slide {
    width: 25rem;
  }
}
@media (hover: hover) {
  .c-slider01__slide:hover picture img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.c-slider01__slide picture {
  width: 100%;
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media screen and (max-width: 767px) {
  .c-slider01__slide picture {
    width: 25rem;
    height: auto;
  }
}

.c-slider01__slide picture img {
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-slider01__txt {
  padding: 2rem 3rem;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: calc(100% - 22rem);
}
@media screen and (max-width: 767px) {
  .c-slider01__txt {
    height: calc(100% - 18rem);
  }
}

.c-slider01__slide.swiper-slide-active {
  -webkit-transform: scale(1.13);
          transform: scale(1.13);
  z-index: 2;
}

.c-slider01 .swiper-slide-next,
.c-slider01 .swiper-slide-prev,
.c-slider01 .swiper-slide-active {
  opacity: 1;
}

.c-slider01__nav {
  cursor: pointer;
}
@media (hover: hover) {
  .c-slider01__nav {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-slider01__nav:hover {
    opacity: 0.7;
  }
}

.c-slider01__nav--prev {
  width: 3.4rem;
  height: 3.4rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34' fill='none'%3E%3Ccircle cx='17' cy='17' r='16.5' stroke='%23444444'/%3E%3Cpath d='M13.1768 16.3486L20.0078 20.3662C18.8799 19.2754 18.1768 17.7477 18.1768 16.0547C18.1768 14.4907 18.7765 13.067 19.7568 11.999L13.1768 16.3486Z' fill='%23444444'/%3E%3C/svg%3E");
}
@media screen and (max-width: 767px) {
  .c-slider01__nav--prev {
    margin-left: -12rem;
  }
}

.c-slider01__nav--next {
  width: 3.4rem;
  height: 3.4rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34' fill='none'%3E%3Ccircle cx='17' cy='17' r='16.5' transform='matrix(-1 0 0 1 34 0)' stroke='%23444444'/%3E%3Cpath d='M13.1768 16.3486L20.0078 20.3662C18.8799 19.2754 18.1768 17.7477 18.1768 16.0547C18.1768 14.4907 18.7765 13.067 19.7568 11.999L13.1768 16.3486Z' fill='%23444444'/%3E%3C/svg%3E");
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
  .c-slider01__nav--next {
    margin-right: -12rem;
  }
}

.c-slider01__pagination {
  text-align: center;
}

.c-slider01__controller {
  position: relative;
  top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}

.c-slider01__pause {
  width: 1.6rem;
  height: 1.6rem;
}
@media (hover: hover) {
  .c-slider01__pause {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-slider01__pause:hover {
    opacity: 0.7;
  }
}

.swiper-pagination-bullet {
  background: transparent;
  border: 1px solid #444;
  opacity: 1;
  margin: 0 0.5rem;
  width: 1rem;
  height: 1rem;
}

.swiper-pagination-bullet-active {
  background: #444;
}

@media (hover: hover) {
  .c-slider01 .swiper-button-next,
  .c-slider01 .swiper-button-prev {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-slider01 .swiper-button-next:hover,
  .c-slider01 .swiper-button-prev:hover {
    opacity: 0.7;
  }
}

/* block */
.c-tab01 {
  width: 100%;
}

/* tab nav */
.c-tab01__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .c-tab01__nav {
    margin-bottom: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-tab01__nav.v-col6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .c-tab01__nav.v-col6 .c-tab01__tab {
    width: 33.3%;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
}

.c-tab01__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.6rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  cursor: pointer;
  color: rgba(68, 68, 68, 0.6);
  border-bottom: 2px solid #E8E8E8;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-tab01__tab {
    letter-spacing: -0.1px;
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  .c-tab01__tab:hover {
    color: #444444;
    border-bottom: 2px solid #444;
  }
}
.c-tab01__tab.is-current {
  color: #444444;
  border-bottom: 2px solid #444;
}

.c-tab01__tab.is-active {
  color: #444444;
  border-bottom: 2px solid #444;
}

/* contents */
.c-tab01__content {
  display: none;
}

.c-tab01__content.is-active {
  display: block;
}

/* 2-column layout */
.c-tab01__content-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-tab01__content-inner {
    display: inherit;
  }
}

.c-tab01__col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* list */
.c-tab01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-tab01__list {
    font-size: 1.6rem;
    width: calc(100% - 4rem);
    margin-inline: auto;
    gap: 0;
  }
}

.c-tab01__list-item + .c-tab01__list-item {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .c-tab01__list-item + .c-tab01__list-item {
    margin-top: 0;
  }
}

.c-tab01__list-link {
  position: relative;
  padding-left: 1.5rem;
  text-decoration: none;
  color: inherit;
  padding-bottom: 0.5rem;
}
.c-tab01__list-link::after {
  opacity: 0;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #444;
  -webkit-transition: opacity 0.2s ease-in;
  transition: opacity 0.2s ease-in;
}
@media (hover: hover) {
  .c-tab01__list-link:hover::after {
    opacity: 1;
  }
  .c-tab01__list-link:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .c-tab01__list-link {
    border-bottom: 0.2rem dotted rgba(68, 68, 68, 0.4);
    display: block;
    width: 100%;
    padding: 2rem 0;
  }
}

.c-tab01__list-link::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0;
  display: inline-block;
  width: 0.7rem;
  height: 0.9rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='9' viewBox='0 0 7 9' fill='none'%3E%3Cpath d='M6.83105 4.34961L0 8.36719C1.12791 7.27636 1.83097 5.74868 1.83105 4.05566C1.83105 2.49165 1.23134 1.068 0.250977 0L6.83105 4.34961Z' fill='%23444444'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .c-tab01__list-link::before {
    display: none;
  }
}

/* =========================
   c-panel01
========================= */
.c-panel01--end {
  position: relative;
}
.c-panel01--end::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(232, 232, 232, 0.8);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.c-panel01__end-text {
  color: #444;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.8;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .c-panel01__end-text {
    font-size: 2rem;
    width: 100%;
  }
}

/* =========================
   上段（PC）
========================= */
.c-panel01__upper {
  display: grid;
  grid-template-columns: 21rem 1fr;
  gap: 2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-panel01__upper--single {
  display: block;
}

.c-panel01__upper--single .c-panel01__text {
  margin-bottom: 0;
}

.c-panel01__upper--single .c-panel01__text-wrap {
  margin-bottom: 3rem;
}

/* ===== media ===== */
.c-panel01__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__media {
    width: 18rem;
    margin: auto;
  }
}

.c-panel01__image-main {
  margin-bottom: 3rem;
  aspect-ratio: 1/1;
  overflow: hidden;
}

.c-panel01__image-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.c-panel01__image-logo {
  width: 9rem;
  height: 9rem;
  background: #fff;
  -webkit-box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.15);
          box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.15);
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__image-logo {
    position: absolute;
    top: -1rem;
    left: 50%;
    -webkit-transform: translateX(-135%);
            transform: translateX(-135%);
    width: 7.5rem;
    height: 7.5rem;
  }
}

.c-panel01__image-logo img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

/* ===== summary ===== */
.c-panel01__summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-panel01__text-wrap {
  width: calc(100% - 10rem);
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__text-wrap {
    width: 100%;
    margin-bottom: 1rem;
  }
}

.c-panel01__lead {
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
}

.c-panel01__title {
  font-size: 2.2rem;
  line-height: 1.4;
  margin-bottom: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-panel01__title {
    font-size: 2rem;
    margin-bottom: 0;
  }
}

.c-panel01__text {
  line-height: 1.8;
  width: 100%;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__text {
    line-height: 1.6;
  }
}

/* =========================
   下段
========================= */
.c-panel01__info {
  display: grid;
  grid-template-columns: 21rem 1fr;
  gap: 1.2rem 2.4rem;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__info {
    gap: 0.3rem 0;
  }
}

.c-panel01__info dt {
  font-weight: 500;
  font-family: "Marcellus", serif;
  font-size: 2rem;
  letter-spacing: 0.8px;
  padding-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__info dt {
    padding-top: 0;
  }
}

.c-panel01__info dd {
  margin: 0;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-panel01__info dd {
    line-height: 1.6;
  }
}

@media screen and (max-width: 767px) {
  .c-panel01__info dd + dt {
    margin-top: 2rem;
  }
}

/* ===== buttons ===== */
.c-panel01__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  padding-left: 23.5rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-panel01__buttons a {
  max-width: 29rem;
}
@media screen and (max-width: 767px) {
  .c-panel01__buttons a {
    max-width: 16rem;
  }
}
@media screen and (max-width: 767px) {
  .c-panel01__buttons {
    padding-left: 0;
  }
}

/* =========================
   SP（ここで初めて重ねる）
========================= */
@media (max-width: 767px) {
  .c-panel01__upper {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .c-panel01__media {
    position: relative;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-panel01__info {
    grid-template-columns: 1fr;
  }
  .c-panel01__buttons {
    gap: 16px;
  }
}
.c-panel02 {
  overflow-x: visible;
  padding-bottom: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .c-panel02 {
    position: relative;
    margin-right: calc(50% - 50vw);
    padding-right: 2rem;
    overflow-x: auto;
  }
}

.c-panel02__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .c-panel02__list {
    gap: 2rem;
    margin-right: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .c-panel02__list::after {
    content: "";
    display: block;
    width: 2rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.c-panel02__item {
  width: 35rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .c-panel02__item {
    width: 26.4rem;
  }
}

.c-panel02__img {
  width: 30rem;
}
@media screen and (max-width: 767px) {
  .c-panel02__img {
    width: 20rem;
  }
}

.c-panel02__img img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.c-panel02__title {
  font-weight: 500;
  line-height: 1;
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.c-panel02__body {
  font-size: 1.4rem;
  line-height: 1.8;
}

.c-panel02__text {
  position: relative;
  margin-left: auto;
  margin-top: -5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 30rem;
  padding: 2rem 3rem 3rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .c-panel02__text {
    width: 24.4rem;
    padding: 2rem 2rem 3rem 2rem;
    gap: 1rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

.c-panel02__price {
  -ms-flex-item-align: end;
      align-self: flex-end;
  font-weight: 500;
}

.c-panel03 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .c-panel03 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 1.5rem;
  }
}

.c-panel03__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-decoration: none;
  color: inherit;
  width: 26rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .c-panel03__item {
    width: 16rem;
  }
}

.c-panel03__img {
  width: 26rem;
  height: 26rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-panel03__img {
    width: 16rem;
    height: 16rem;
  }
}

.c-panel03__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: block;
}
@media (hover: hover) {
  .c-panel03__item:hover .c-panel03__img img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.c-panel03__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 26rem;
  padding: 2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  background: var(--fff, #fff);
}
@media screen and (max-width: 767px) {
  .c-panel03__body {
    padding: 1rem;
    gap: 1rem;
    width: auto;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}

.c-panel03__date {
  color: var(--777, #777);
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.056rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .c-panel03__date {
    font-size: 1.2rem;
    letter-spacing: 0.048rem;
  }
}

.c-panel03__text {
  color: var(--black, #444);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 180%;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .c-panel03__text {
    font-size: 1.2rem;
    line-height: 160%;
  }
}

.c-hr01 {
  display: block;
  position: relative;
  z-index: 1;
  border: none;
  height: 1px;
  min-height: 1px;
  width: 100%;
  max-width: 120rem;
  margin: 4rem auto;
  background: -webkit-gradient(linear, left top, right top, from(#FFF), color-stop(5%, #C7C7C7), color-stop(95%, #C7C7C7), to(#FFF));
  background: linear-gradient(90deg, #FFF 0%, #C7C7C7 5%, #C7C7C7 95%, #FFF 100%);
}
.c-hr01.v-margin-lg {
  margin: 8rem auto;
}
@media screen and (max-width: 767px) {
  .c-hr01.v-margin-lg {
    margin: 4rem auto;
  }
}

.c-media01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .c-media01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}

.c-media01__img {
  width: 45.1982rem;
  height: 29.8496rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 451.98/298.5;
}
@media screen and (max-width: 767px) {
  .c-media01__img {
    width: 100%;
    height: auto;
  }
}

.c-media01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .c-media01__img img {
    height: auto;
  }
}

.c-media01__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
}

.c-media01__catch {
  color: #444;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.096rem;
}
@media screen and (max-width: 767px) {
  .c-media01__catch {
    font-size: 2rem;
    letter-spacing: 0.08rem;
  }
}

.c-media01__body {
  color: #444;
  font-family: "Zen Kaku Gothic New";
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.064rem;
}
@media screen and (max-width: 767px) {
  .c-media01__body {
    font-size: 1.4rem;
    letter-spacing: 0.056rem;
  }
}

/* =========================
  gallery
========================= */
.c-gallery01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6rem;
}

.c-gallery01__grid {
  display: grid;
  grid-template-columns: repeat(3, 23.4rem);
  gap: 60px;
}

.c-gallery01__item {
  width: 23.4rem;
  height: 23.4rem;
  border: none;
  background: none;
  padding: 0;
}

.c-gallery01__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* SP */
@media (max-width: 767px) {
  .c-gallery01__grid {
    grid-template-columns: repeat(3, 100px);
    gap: 20px;
  }
  .c-gallery01__item {
    width: 100px;
    height: 100px;
  }
}
.c-gallery02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 6rem;
}

.c-gallery02__grid {
  display: grid;
  grid-template-columns: repeat(5, 14rem);
  gap: 6rem;
}

.c-gallery02__item {
  width: 14rem;
  height: 14rem;
  border: none;
  background: none;
  padding: 0;
}

.c-gallery02__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}

@media (hover: hover) {
  .c-gallery02__item:hover img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
/* SP */
@media (max-width: 767px) {
  .c-gallery02__grid {
    grid-template-columns: repeat(3, 10rem);
    gap: 2rem;
  }
  .c-gallery02__item {
    width: 10rem;
    height: 10rem;
  }
}
/* =========================
  modal
========================= */
body.is-modal-open {
  position: fixed;
}

.c-modal01 {
  position: fixed;
  inset: 0;
  z-index: 99999;
  /* 中央配置 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* まずは非表示（フェードの土台） */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0.3s;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.c-modal01.v-wide .c-modal01__content {
  width: 90vw;
  max-width: 110rem;
  overflow-y: auto;
  padding: 4rem 3rem;
}
@media (min-width: 768px) {
  .c-modal01.v-wide .c-modal01__content {
    height: 100svh;
  }
}
@media screen and (max-width: 767px) {
  .c-modal01.v-wide .c-modal01__content {
    width: 100%;
    max-height: 100svh;
    padding-top: 10rem;
    padding: 3rem 2rem;
  }
}
.c-modal01.v-wide .c-modal01__close {
  top: 0;
  right: 0;
}

/* 表示状態（ここでクリック可能にする） */
.c-modal01.is-visible {
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.3s ease, visibility 0s linear 0s;
  transition: opacity 0.3s ease, visibility 0s linear 0s;
}

/* フェードイン開始 */
.c-modal01.is-open {
  opacity: 1;
}

.c-modal01__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
}

/* content */
.c-modal01__content {
  position: relative;
  z-index: 1;
  background: #fff;
  width: 50%;
  max-width: 112rem;
  min-width: 50rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-height: 95svh;
  -webkit-transform: translateY(1rem);
          transform: translateY(1rem);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (min-width: 768px) {
  .c-modal01__content {
    height: 85svh;
  }
}
@media screen and (max-width: 767px) {
  .c-modal01__content {
    width: 31.5rem;
    min-width: auto;
    background: #FFF;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}

.c-modal01.is-open .c-modal01__content {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.c-modal01__content-inner {
  padding: 3rem 3rem 1rem;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-modal01__content-inner {
    padding: 3rem 2rem;
  }
}

.c-modal01__image {
  margin: 0 auto 2rem;
  width: 100%;
}

.c-modal01__image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 63svh;
  display: block;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .c-modal01__image img {
    max-height: 100%;
  }
}

.c-modal01__text {
  width: 100%;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-modal01__text {
    margin-top: 1rem;
  }
}

.c-modal01__caption {
  margin-top: 1rem;
}

/* close button */
.c-modal01__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 4.8rem;
  height: 4.8rem;
  padding: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  aspect-ratio: 1/1;
  position: absolute;
  right: -2.4rem;
  top: -2.4rem;
  background: var(--lightgray-bg, #F6F6F6);
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.1);
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-modal01__close {
    z-index: 2;
    background: #FFF;
  }
}

.c-modal01__note {
  background: #F6F6F6;
  padding: 2rem;
  margin-top: 3rem;
  width: 100%;
}

.c-modal01__note-head {
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

/* SP */
/* body scroll lock */
body.is-modal-open {
  position: fixed;
  width: 100%;
}

.c-modal01__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  margin-bottom: 3rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-modal01__heading {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    margin-bottom: 1rem;
    margin-top: 3rem;
  }
}
.c-modal01__heading .c-btn-reserve {
  position: relative;
}
.c-modal01__heading .c-btn-reserve::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 0.8rem;
  height: 0.4rem;
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath d='M0 0H8L4 4L0 0Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath d='M0 0H8L4 4L0 0Z'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
}
@media screen and (max-width: 767px) {
  .c-modal01__heading .c-btn-reserve::after {
    top: auto;
    right: auto;
    left: 50%;
    bottom: 1rem;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 767px) {
  .c-modal01__heading .c-btn-reserve {
    width: 10rem;
    padding: 1.6rem 1.6rem 2.5rem;
  }
}

.c-modal01__ttl {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-modal01__ttl {
    font-size: 1.6rem;
    width: 80%;
  }
}

.c-modal01__body-text {
  line-height: 1.6;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .c-modal01__body-text {
    margin-bottom: 0;
  }
}

.c-modal01__content-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .c-modal01__content-top {
    gap: 3rem;
    width: 100%;
  }
}

.c-modal01__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .c-modal01__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .c-modal01__menu figure {
    margin: auto;
  }
}
.c-modal01__menu img {
  max-width: 34.8rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-modal01__menu img {
    max-width: 22rem;
  }
}

@media screen and (max-width: 767px) {
  .c-modal01__menu-list {
    margin-top: 3rem;
  }
}

.c-modal01__menu-body {
  position: relative;
  --MENU_MAX_H: 28rem;
  /* 折りたたみ時の高さ */
  --FADE_H: 8rem;
  /* フェードの高さ */
}
@media screen and (max-width: 767px) {
  .c-modal01__menu-body {
    width: 100%;
  }
}

/* 折りたたみ */
.c-modal01__menu-body[aria-expanded=false] {
  max-height: var(--MENU_MAX_H);
  overflow: hidden;
}

/* 展開 */
.c-modal01__menu-body[aria-expanded=true] {
  max-height: none;
  overflow: visible;
  padding-bottom: 6rem;
}

/* フェード（白→透明） */
.c-modal01__menu-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--FADE_H);
  background: -webkit-gradient(linear, left bottom, left top, from(#fff), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 1;
}

/* 展開時はフェード消す */
.c-modal01__menu-body[aria-expanded=true] .c-modal01__menu-fade {
  display: none;
}

/* MORE/CLOSEボタン（フェードの上に重ねる） */
.c-modal01__menu-more {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 10.6rem;
  padding: 0.6rem 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  border-radius: 4rem;
  background: #444;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.28px;
}
@media (hover: hover) {
  .c-modal01__menu-more {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-modal01__menu-more:hover {
    opacity: 0.7;
  }
}
.c-modal01__menu-more::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 0.8rem;
  height: 0.4rem;
  margin-left: 0.6rem;
  background-color: #fff;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath d='M0 0H8L4 4L0 0Z' fill='white'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath d='M0 0H8L4 4L0 0Z' fill='white'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  right: 1rem;
}

.c-modal01__menu-body[aria-expanded=true] .c-modal01__menu-more::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-modal01__menu-body.is-no-more .c-modal01__menu-more,
.c-modal01__menu-body.is-no-more .c-modal01__menu-fade {
  display: none;
}

.c-modal01__menu-head {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}

.c-modal01__menu-content {
  font-size: 1.4rem;
  line-height: 180%;
  margin-top: 2rem;
}

.c-modal01__course-wrap {
  position: relative;
  width: 100%;
  padding-block: 2rem;
  margin-top: 4rem;
}
.c-modal01__course-wrap::after, .c-modal01__course-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(#FFF), color-stop(5%, #C7C7C7), color-stop(95%, #C7C7C7), to(#FFF));
  background: linear-gradient(90deg, #FFF 0%, #C7C7C7 5%, #C7C7C7 95%, #FFF 100%);
}
.c-modal01__course-wrap::after {
  bottom: 0;
}
.c-modal01__course-wrap::before {
  top: 0;
}

.c-modal01__course {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.c-modal01__course:has(> a:only-child) {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}
@media screen and (max-width: 767px) {
  .c-modal01__course {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .c-modal01__course-btn {
    width: 100%;
  }
}

.c-modal01__course-head {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-modal01__course-head {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .c-modal01__course-btn {
    margin-inline: auto;
  }
}

.c-modal01__slider {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
@media screen and (max-width: 767px) {
  .c-modal01__slider {
    margin-bottom: 0;
    max-height: 67svh;
  }
}
.c-modal01__slider .swiper-container {
  width: 100%;
  height: auto;
}
.c-modal01__slider .swiper-slide {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-modal01__slider .swiper-button-prev {
  left: -5rem;
  background: url(/assets/images/btn-modal-slider.svg) no-repeat;
  background-size: contain;
  width: 3.4rem;
  height: 3.4rem;
}
@media screen and (max-width: 767px) {
  .c-modal01__slider .swiper-button-prev {
    left: -2rem;
  }
}
.c-modal01__slider .swiper-button-next {
  right: -5rem;
  background: url(/assets/images/btn-modal-slider.svg) no-repeat;
  background-size: contain;
  width: 3.4rem;
  height: 3.4rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .c-modal01__slider .swiper-button-next {
    right: -2rem;
  }
}
.c-modal01__slider .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.c-modal01__slide {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 60svh;
  margin-bottom: 2rem;
}
.c-modal01__slide img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  display: block;
  margin: auto;
}

/* table */
.c-table01 {
  width: 100%;
}

.c-table01__table {
  width: 100%;
  border-collapse: collapse;
}

.c-table01 iframe {
  height: 38.5341rem;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  aspect-ratio: 639/385.34;
  margin-top: 1rem;
}

.c-table01__th {
  width: 16rem;
  padding: 1.4rem 0 1.4rem 2rem;
  border: 0.1rem solid #CCC;
  background: #444444;
  color: #FCFCFC;
  font-style: normal;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .c-table01__th {
    width: 10rem;
    padding: 1.4rem 0 1.4rem 1.4rem;
  }
}

.c-table01__td {
  padding: 1.4rem 2rem 1.4rem 2rem;
  border: 1px solid #CCC;
  line-height: 1.5;
  letter-spacing: 0.32px;
}
@media screen and (max-width: 767px) {
  .c-table01__td {
    padding: 1.4rem;
  }
}

/* =========================
   c-navi01
========================= */
.c-navi01 {
  -webkit-box-shadow: 0px 1rem 1.5rem -1rem #dad8d8;
          box-shadow: 0px 1rem 1.5rem -1rem #dad8d8;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .c-navi01 {
    position: relative;
    z-index: 1;
    margin-top: 1rem;
  }
}

.c-navi01__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-navi01__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.2rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  background: var(--fff, #fff);
  font-weight: 500;
  text-decoration: none;
  color: #000;
  position: relative;
}
.c-navi01__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(25%, #c7c7c7), color-stop(75%, #c7c7c7), to(#ffffff));
  background: linear-gradient(to bottom, #ffffff 0%, #c7c7c7 25%, #c7c7c7 75%, #ffffff 100%);
  max-width: 1px;
  width: 2px;
  min-width: 1px;
  height: 80%;
}
.c-navi01__item:first-child::before {
  display: none;
}

@media (hover: hover) {
  .c-navi01__item:hover {
    color: #fff;
    background: #8b8b8b;
    -webkit-transition: background 0.3s ease-in, color 0.3s ease-in;
    transition: background 0.3s ease-in, color 0.3s ease-in;
  }
}
/* is-current */
.c-navi01__item.is-current {
  color: #fff;
  background: #8b8b8b;
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
  .c-navi01__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6.4rem;
    padding: 3rem 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
    border-left: 0.1rem solid #fff;
    background: #fff;
  }
  .c-navi01__item.is-current {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 6.4rem;
    padding: 3rem 1rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
    background: #8b8b8b;
    backdrop-filter: blur(0.5rem);
  }
}
/* =========================
   fixed state
========================= */
.c-navi01.v-border {
  border-top: 1px solid #ccc;
}

.c-navi01.is-fixed {
  position: fixed;
  top: 11.8rem;
  left: 0;
  width: 100%;
  z-index: 9000;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .c-navi01.is-fixed {
    top: 0rem;
    border-top: none;
    margin-top: 0;
  }
}

.c-map {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .c-map {
    aspect-ratio: 16/10;
  }
}

.c-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.c-anchor {
  scroll-margin-top: 1200px;
}

.c-pagenation01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  margin-top: 5rem;
}

.c-pagenation01__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  text-decoration: none;
}
@media (hover: hover) {
  .c-pagenation01__btn {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-pagenation01__btn:hover {
    opacity: 0.7;
  }
}

.c-pagenation01__btn svg {
  width: 3.4rem;
  height: 3.4rem;
  display: block;
}

.c-pagenation01__btn--prev {
  margin-right: 3rem;
}

.c-pagenation01__btn--next {
  margin-left: 3rem;
}

.c-pagenation01__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.c-pagenation01__num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
  color: var(--333, #333);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  width: 3.4rem;
  height: 3.4rem;
  aspect-ratio: 1/1;
  border-radius: 2.3rem;
}
@media (hover: hover) {
  .c-pagenation01__num {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .c-pagenation01__num:hover {
    opacity: 0.7;
  }
}

.c-pagenation01__num.is-current {
  border: 0.15rem solid var(--333, #333);
  background: var(--333, #333);
  color: #fff;
}

.c-pagenation01__dots {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1rem;
  height: 1rem;
  color: var(--333, #333);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
}

.c-list-note {
  line-height: 1.6;
}

.c-list-note--sm {
  font-size: 1.2rem;
}

.c-list-dot {
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-list-dot {
    line-height: 1.6;
  }
}
.c-list-dot li {
  position: relative;
  padding-left: 1rem;
}
.c-list-dot li::before {
  content: "";
  position: absolute;
  width: 0.6rem;
  height: 0.6rem;
  aspect-ratio: 1/1;
  background: #444444;
  top: 1rem;
  left: 0.5rem;
  border-radius: 50%;
}

.c-list li {
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}

.c-modal01__tbl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-modal01__tbl {
    grid-template-columns: 1fr;
  }
}

.c-modal01__tbl-item {
  display: grid;
  grid-template-columns: 15.4rem 1fr;
}
@media screen and (max-width: 767px) {
  .c-modal01__tbl-item {
    grid-template-columns: 35% 65%;
  }
}
@media (min-width: 768px) {
  .c-modal01__tbl-item:last-child .c-modal01__tbl-content, .c-modal01__tbl-item:nth-last-child(2) .c-modal01__tbl-content {
    border-bottom: 1px solid #444;
  }
  .c-modal01__tbl-item:last-child .c-modal01__tbl-label, .c-modal01__tbl-item:nth-last-child(2) .c-modal01__tbl-label {
    border-bottom: 1px solid #444;
  }
}
@media screen and (max-width: 767px) {
  .c-modal01__tbl-item:nth-last-child(2) .c-modal01__tbl-label {
    border-bottom: 1px solid #ccc;
  }
  .c-modal01__tbl-item:last-child .c-modal01__tbl-label, .c-modal01__tbl-item:last-child .c-modal01__tbl-content {
    border-bottom: 1px solid #444;
  }
}

.c-modal01__tbl-label,
.c-modal01__tbl-content {
  border-top: 1px solid #444;
  border-right: 1px solid #444;
  padding: 1.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-modal01__tbl-label,
  .c-modal01__tbl-content {
    border-left: 1px solid #444;
  }
}

.c-modal01__tbl-label {
  color: #FCFCFC;
  width: 15.4rem;
  background: #444;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .c-modal01__tbl-label {
    border-bottom: 1px solid #ccc;
    width: 100%;
  }
}

.c-modal01__acc {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .c-modal01__acc {
    margin-top: 1.5rem;
  }
}

.c-modal01__acc summary {
  list-style: none;
  cursor: pointer;
  text-align: center;
}

.c-modal01__acc summary::-webkit-details-marker {
  display: none;
}

.c-modal01__acc-head {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-modal01__acc-head {
    font-size: 1.6rem;
  }
}
.c-modal01__acc-head::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  margin-left: 2rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cline x1='8' y1='16' x2='8' stroke='%23333333' stroke-width='2'/%3E%3Cline y1='8.0332' x2='16' y2='8.0332' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E") no-repeat center/contain;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* 開いてる状態 */
.c-modal01__acc[open] .c-modal01__acc-head::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='2' viewBox='0 0 16 2' fill='none'%3E%3Cline y1='1' x2='16' y2='1' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.c-modal01__acc-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 85rem;
  margin: 2rem auto 0;
  color: #444;
  line-height: 1.8;
}
.c-modal01__acc-panel dd {
  padding-left: 3rem;
}

.c-gallery02 {
  display: grid;
  grid-template-columns: repeat(5, 14rem);
  gap: 3.5rem;
}
@media screen and (max-width: 767px) {
  .c-gallery02 {
    grid-template-columns: repeat(3, 10rem);
    gap: 1.2rem;
  }
}

.c-gallery02__item {
  display: block;
  width: 14rem;
  height: 14rem;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-gallery02__item {
    width: 10rem;
    height: 10rem;
  }
}

.c-gallery02__figure {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 0.4rem;
}

.c-gallery02__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.c-gallery02__mask {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 33%;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.75)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

.c-gallery02__caption {
  position: absolute;
  left: 0.8rem;
  right: 0.8rem;
  bottom: 0.6rem;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-link01 {
  position: relative;
}
.c-link01::after {
  content: "";
  position: relative;
  top: -0.5rem;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='4' viewBox='0 0 32 4' fill='none'%3E%3Cpath d='M0 3.34473H30L27.1429 0.344727' stroke='%23444444'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 3rem;
  height: 0.3rem;
}

.c-txt {
  line-height: 1.8;
}

.c-txtLink {
  text-decoration: underline;
}
@media (hover: hover) {
  .c-txtLink:hover {
    text-decoration: none;
  }
}

.c-scrollHint {
  width: 100%;
}

.c-scrollHint__area {
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-scrollHint__area {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2rem;
  }
}

.c-scrollHint__inner {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-scrollHint__inner {
    width: 200vw;
    /* 中身の横幅分だけ広げる */
  }
}

.c-scrollHint__img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .c-scrollHint__img {
    width: 200vw;
    height: auto;
    max-width: none;
  }
}

.c-scrollHint__hint {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
  opacity: 1;
  -webkit-transition: opacity 200ms ease;
  transition: opacity 200ms ease;
}

.c-scrollHint__hint.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.c-scrollHint__hintImg {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-scrollHint__hintImg {
    display: block;
    width: 12rem;
    height: auto;
    margin-top: 3rem;
  }
}

.c-accordion[open] .c-accordion__summary::before {
  display: none;
}
.c-accordion + .c-accordion {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .c-accordion + .c-accordion {
    margin-top: 0;
  }
}

.c-accordion__summary {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  padding-bottom: 3rem;
  border-bottom: 1px solid #999;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-accordion__summary {
    font-size: 1.6rem;
    line-height: 1.4;
    padding-right: 3rem;
    padding-top: 3rem;
  }
}
.c-accordion__summary::after, .c-accordion__summary::before {
  content: "";
  position: absolute;
  top: 0;
  background: #444444;
}
.c-accordion__summary::after {
  right: 0;
  width: 1.8rem;
  height: 0.2rem;
  top: 0.7rem;
}
@media screen and (max-width: 767px) {
  .c-accordion__summary::after {
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
.c-accordion__summary::before {
  right: 0.8rem;
  height: 1.8rem;
  width: 0.2rem;
}
@media screen and (max-width: 767px) {
  .c-accordion__summary::before {
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}

.c-accordion__content {
  margin-left: 2em;
}
@media screen and (max-width: 767px) {
  .c-accordion__content {
    margin-left: 1rem;
  }
}
.c-accordion__content[open]::before {
  display: none;
}

.c-accordion-child[open] .c-accordion-child__summary {
  border: none;
}
.c-accordion-child[open] .c-accordion-child__summary::before {
  display: none;
}
.c-accordion-child[open] .c-accordion-child__content {
  border-bottom: 1px solid #999;
}

.c-accordion-child__summary {
  cursor: pointer;
  padding-right: 3rem;
  line-height: 1;
  padding-top: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #999;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-accordion-child__summary {
    line-height: 1.6;
  }
}
.c-accordion-child__summary::after, .c-accordion-child__summary::before {
  content: "";
  position: absolute;
  top: 50%;
  background: #444444;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.c-accordion-child__summary::after {
  right: 0;
  width: 1.8rem;
  height: 0.2rem;
}
.c-accordion-child__summary::before {
  right: 0.8rem;
  height: 1.8rem;
  width: 0.2rem;
}

.c-accordion-child__content {
  line-height: 1.8;
  padding-bottom: 2rem;
  padding-left: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-accordion-child__content {
    padding-left: 1.5rem;
  }
}

.c-terms01 dt {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .c-terms01 dt {
    font-size: 2rem;
  }
}
.c-terms01 dd {
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-terms01 dd {
    line-height: 1.6;
  }
}
.c-terms01 dd + dt {
  margin-top: 5rem;
}

.c-list-num {
  list-style: decimal;
  padding-left: 2em;
}

.c-history {
  text-align: right;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-history {
    line-height: 1.6;
  }
}

.c-history__text {
  display: inline-block;
  text-align: left;
}

/* base */
/* fadeInアニメーション
***************************************************************/
.fadeIn {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.fadeIn.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* layout */
/* base */
/* 共通（レイアウト）
***************************************************************/
main.v-topMain {
  overflow: hidden;
  margin-top: 0;
}
main {
  margin-top: 90px;
}
@media screen and (max-width: 767px) {
  main {
    margin-top: 50px;
  }
}

/* 共通（inner レイアウト）
***************************************************************/
.l-inner {
  max-width: 112rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 2rem;
  padding-inline: 2rem;
}

@media (min-width: 768px) {
  .l-inner-pc {
    max-width: 112rem;
    width: 100%;
    margin-inline: auto;
    padding-inline: 2rem;
    padding-inline: 2rem;
  }
}

.l-inner-sm {
  max-width: 88rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 2rem;
}
@media screen and (max-width: 767px) {
  .l-inner-sm.v-nopad-sp {
    padding-inline: 0;
  }
}

.l-bg-gray {
  background: #F6F6F6;
}

.l-bg-pattern {
  background: url(/assets/images/bg-pattern.jpg) no-repeat;
  background-size: cover;
}

.l-pad {
  padding-block: 10rem 15rem;
}
@media screen and (max-width: 767px) {
  .l-pad {
    padding-block: 8rem 12rem;
  }
}

.l-pad-sm {
  padding-block: 8rem 15rem;
}
@media screen and (max-width: 767px) {
  .l-pad-sm {
    padding-block: 8rem 12rem;
  }
}

.l-pad-bottom-lg {
  padding-bottom: 8rem;
}

.l-pad-bottom {
  padding-bottom: 6rem;
}

.l-pad-bottom-sm {
  padding-bottom: 3rem;
}

.l-overlap {
  margin-top: -3rem;
}

/* pages */
/* base */
/* ヘッダー
***************************************************************/
.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99999;
  height: 9rem;
  color: #fff;
  mix-blend-mode: exclusion;
}
@media screen and (max-width: 767px) {
  .header {
    height: 5rem;
  }
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  height: 9rem;
}
@media screen and (max-width: 767px) {
  .header__inner {
    height: 5rem;
  }
}

@media (hover: hover) {
  .header-logo {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .header-logo:hover {
    opacity: 0.7;
  }
}

.header-logo svg {
  width: 7.7rem;
  height: 1.6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 77/16;
}
@media screen and (max-width: 767px) {
  .header-logo svg {
    width: 5.4rem;
    height: auto;
  }
}

.header-nav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 19rem;
}
@media screen and (max-width: 767px) {
  .header-nav {
    display: none;
  }
}

.header-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2rem;
}
.header-nav__list > li {
  position: relative;
  margin: 0 1.5rem;
}
.header-nav__list > li > a {
  position: relative;
}
.header-nav__list > li > a::after {
  content: "";
  position: relative;
  bottom: 0.7rem;
  display: inline-block;
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media (hover: hover) {
  .header-nav__list > li > a:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

.header-mypage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17rem;
  height: 4.4rem;
  border-radius: 5rem;
  background: var(--fff, #FFF);
  color: var(--black, #444);
  margin-left: 2rem;
  isolation: isolate;
  -webkit-box-shadow: 0 0 10px rgba(35, 30, 25, 0.15);
          box-shadow: 0 0 10px rgba(35, 30, 25, 0.15);
  position: fixed;
  top: 2.5rem;
  left: calc(50% + 34rem);
  z-index: 99999;
}
@media (hover: hover) {
  .header-mypage:hover {
    background: #E8E8E8;
  }
}
.header-mypage span {
  display: inline-block;
  margin: 0 1rem;
}
.header-mypage svg {
  width: 1.4rem;
  height: 1.4rem;
}

.mypage-icon {
  display: none;
}

/* ヘッダー・ドロワー(sp用)
***************************************************************/
.drawerIcon,
.drawer {
  display: none;
}

@media screen and (max-width: 767px) {
  .drawerIcon {
    position: fixed;
    top: 1.5rem;
    right: 1rem;
    width: 2.4rem;
    height: 1.8rem;
    z-index: 200;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.6rem;
  }
  .drawerIcon.is-checked .drawerIcon__bar:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    translate: 0 0.8rem;
  }
  .drawerIcon.is-checked .drawerIcon__bar:nth-of-type(2) {
    display: none;
  }
  .drawerIcon.is-checked .drawerIcon__bar:nth-of-type(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    translate: 0 0;
  }
  .drawerIcon__bar {
    width: 100%;
    height: 0.2rem;
    background: #fff;
    border-radius: 100vmax;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }
  .drawer {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow-y: scroll;
    background: #fff;
    z-index: 9999;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    transition: transform 0.2s ease, -webkit-transform 0.2s ease;
    padding: 7rem 1rem 4.1rem 1rem;
  }
  .drawer.is-checked {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .drawer__body {
    width: 100%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .drawer-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-inline: auto;
  }
  .drawer-list > li {
    border-bottom: 1px solid rgba(68, 68, 68, 0.4);
  }
  .drawer-list > li > a {
    display: block;
    position: relative;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    padding-block: 2rem;
  }
  .drawer-list > li > a svg {
    width: 1.4rem;
    height: 1.4rem;
    margin-left: 0.5rem;
    position: relative;
    top: -0.1rem;
  }
  .drawer-search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 3rem;
  }
  .drawer-search a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3rem 0.8rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
    border-top: 1px solid rgba(68, 68, 68, 0.4);
    border-bottom: 1px solid rgba(68, 68, 68, 0.4);
    border-left: 1px solid rgba(68, 68, 68, 0.4);
    background-blend-mode: overlay, normal;
    font-size: 1.4rem;
    font-weight: 500;
  }
  .drawer-search a:last-child {
    border-right: 1px solid rgba(68, 68, 68, 0.4);
  }
  .drawer-search a svg {
    width: 1.4rem;
    height: 1.4rem;
  }
  .drawer__body .header-mypage {
    width: 17rem;
    height: 4.4rem;
    -webkit-box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2);
            box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2);
    margin: 0 auto 2rem;
  }
  .mypage-icon {
    display: block;
    position: fixed;
    top: 0.8rem;
    right: 5rem;
    width: 3.2rem;
    height: 3.2rem;
  }
}
/**************************************************************
shopの下層ページ用
***************************************************************/
.is-header-compact .header-nav {
  display: none;
}
.is-header-compact .mypage-icon {
  display: none;
}
.is-header-compact .header-mypage {
  display: none;
}

/* base */
/* フッター
***************************************************************/
.footer {
  background: url(/assets/images/bg-footer.jpg) no-repeat;
  background-size: cover;
  color: #ffffff;
  padding: 4rem 2rem;
  font-size: 1.4rem;
}
@media (hover: hover) {
  .footer a {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .footer a:hover {
    opacity: 0.7;
  }
}

.footer__inner {
  max-width: 120rem;
  margin: 0 auto;
}

/* 上段：ロゴ + 4カラム */
.footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 6rem;
}

.footer__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 25%;
}

.footer__logo svg {
  width: 7.7rem;
  height: 1.6rem;
  aspect-ratio: 77/16;
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
}

.footer__nav-col {
  min-width: 10rem;
}

.footer__nav-title {
  font-weight: 500;
  margin-bottom: 2rem;
}

.footer__nav-list li {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='8' viewBox='0 0 6 8' fill='none'%3E%3Cpath d='M0.330078 0.376465L4.33008 3.87647L0.330078 7.37647' stroke='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 0 top 0.5rem;
  padding-left: 1.5rem;
  margin-block: 1rem;
}

.footer__nav-item {
  margin-bottom: 0.6rem;
}

.footer__nav-link {
  color: #ffffff;
  text-decoration: none;
  font-size: 1.4rem;
}

.footer__nav-link--external::after {
  position: relative;
  display: inline-block;
  content: "";
  font-size: 1.1rem;
  margin-left: 0.4rem;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'><path d='M12.1669 8.27844V12.9451C12.1669 13.3577 12.003 13.7533 11.7113 14.0451C11.4195 14.3368 11.0239 14.5007 10.6113 14.5007H2.05558C1.64302 14.5007 1.24735 14.3368 0.95562 14.0451C0.663891 13.7533 0.5 13.3577 0.5 12.9451V4.38954C0.5 3.97698 0.663891 3.58132 0.95562 3.2896C1.24735 2.99787 1.64302 2.83398 2.05558 2.83398H6.72234' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/><path d='M9.83398 0.5H14.5007V5.16668' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/><path d='M5.94531 9.05558L14.501 0.5' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0.1rem;
  margin-left: 0.5rem;
}

/* 中段〜下段 */
.footer__bottom {
  margin-top: 4rem;
}

.footer__line {
  border: none;
  border-top: 1px solid #cccccc;
  margin: 0 0 2.4rem;
}

.footer__bottom-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .footer__bottom-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.footer__bottom-link {
  color: #ffffff;
  text-decoration: none;
  font-size: 1.3rem;
}

.footer__bottom-link--external::after {
  position: relative;
  display: inline-block;
  content: "";
  font-size: 1.1rem;
  margin-left: 0.4rem;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'><path d='M12.1669 8.27844V12.9451C12.1669 13.3577 12.003 13.7533 11.7113 14.0451C11.4195 14.3368 11.0239 14.5007 10.6113 14.5007H2.05558C1.64302 14.5007 1.24735 14.3368 0.95562 14.0451C0.663891 13.7533 0.5 13.3577 0.5 12.9451V4.38954C0.5 3.97698 0.663891 3.58132 0.95562 3.2896C1.24735 2.99787 1.64302 2.83398 2.05558 2.83398H6.72234' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/><path d='M9.83398 0.5H14.5007V5.16668' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/><path d='M5.94531 9.05558L14.501 0.5' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0.1rem;
}

.footer__copy {
  text-align: center;
  font-size: 1.2rem;
  opacity: 0.8;
  font-family: "Marcellus", serif;
}

/* SPざっくり（必要ならここから詰めて） */
@media screen and (max-width: 767px) {
  .footer {
    padding: 3rem 1.6rem;
  }
  .footer__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .footer__bottom-nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem;
  }
}
/* base */
/* ページトップ
***************************************************************/
.pagetop {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  width: 6rem;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 9999;
}
@media screen and (max-width: 767px) {
  .pagetop {
    bottom: 7rem;
  }
}

.pagetop.is-show {
  opacity: 1;
  visibility: visible;
}

/* ぱんくず
***************************************************************/
.breadcrumb {
  background: #444;
  color: #fff;
  padding-block: 1.2rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 1.4rem;
  }
}

.breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .breadcrumb__list {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
  }
}

.breadcrumb__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .breadcrumb__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.breadcrumb__item::after {
  content: "";
  position: relative;
  top: 0.1rem;
  display: inline-block;
  width: 0.6rem;
  height: 0.8rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 8' fill='none'%3E%3Cpath d='M0.328125 0.376221L4.32812 3.87622L0.328125 7.37622' stroke='white'/%3E%3C/svg%3E") no-repeat center/contain;
}
.breadcrumb__item:last-child::after {
  display: none;
}
.breadcrumb__item a,
.breadcrumb__item span {
  color: #fff;
  text-decoration: none;
}
@media (hover: hover) {
  .breadcrumb__item a:hover {
    text-decoration: underline;
  }
}

.breadcrumb__link--home {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem;
  position: relative;
}
.breadcrumb__link--home::before {
  content: "";
  display: inline-block;
  width: 1.6rem;
  height: 1.4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='14' viewBox='0 0 16 14' fill='none'%3E%3Cpath d='M6.38498 14H2.40376V7.40496H0L8 0L16 7.40496H13.5962V14H9.61502V9.06336H6.38498V14Z' fill='white'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* エリア選択
***************************************************************/
/* =========================
  area-select 共通
========================= */
.area-select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  margin-bottom: 5rem;
  z-index: 1;
  border-radius: 0.4rem;
}
@media screen and (max-width: 767px) {
  .area-select {
    margin-bottom: 1rem;
  }
}

/* label */
.area-select__label {
  margin-bottom: 8px;
  font-size: 14px;
  color: #333;
}

/* =========================
  select wrap
========================= */
.area-select__select-wrap {
  position: absolute;
  top: -1rem;
  border-radius: 0.4rem;
}
@media screen and (max-width: 767px) {
  .area-select__select-wrap {
    position: relative;
    top: 0;
    width: 100%;
  }
}

/* details（外枠） */
.area-select__select {
  position: relative;
  border-radius: 0.4rem;
  background: #fff;
  width: 52.8rem;
  border: 1px solid rgba(68, 68, 68, 0.6);
}
@media screen and (max-width: 767px) {
  .area-select__select {
    width: 100%;
  }
}

/* summary（閉じている状態） */
.area-select__select > summary {
  list-style: none;
  padding: 1.2rem 4rem 1.2rem 1.6rem;
  cursor: pointer;
  font-size: 1.4rem;
  color: #333;
}

/* デフォルトの三角を消す */
.area-select__select > summary::-webkit-details-marker {
  display: none;
}

/* ▼アイコン（CSSで追加） */
.area-select__select > summary::after {
  content: "";
  position: absolute;
  top: 2rem;
  right: 1.6rem;
  width: 0.7rem;
  height: 0.7rem;
  border-right: 0.1rem solid #444;
  border-bottom: 0.1rem solid #444;
  -webkit-transform: translateY(-60%) rotate(45deg);
          transform: translateY(-60%) rotate(45deg);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* open時：矢印を上向きに */
.area-select__select[open] > summary::after {
  -webkit-transform: translateY(-40%) rotate(-135deg);
          transform: translateY(-40%) rotate(-135deg);
}

/* =========================
  選択肢リスト
========================= */
.area-select__select > ul {
  margin: 0;
  padding: 8px 0;
  list-style: none;
  /* ← スクロール高さ */
  overflow-y: auto;
}

/* option */
.area-select__select > ul > li {
  padding: 8px 16px;
  font-size: 14px;
  cursor: pointer;
}

/* hover */
.area-select__select > ul > li:hover {
  background: #f5f5f5;
}

.accordion-trigger {
  text-align: center;
  margin-bottom: 5rem;
}
.accordion-trigger button {
  position: relative;
  text-align: center;
  font-weight: 500;
  width: 100%;
}
.accordion-trigger button::after {
  content: "+";
  position: absolute;
  top: -0.4rem;
  right: 0;
  font-weight: 700;
  font-size: 2rem;
}
.accordion-trigger button.is-trig-open::after {
  content: "－";
}

/* base */
.home main {
  margin-top: 0;
}
.home {
  /* mv
  ***************************************************************/
}
.home .mv-area {
  width: 100%;
  height: calc(100vh + 3rem);
  margin-top: -1rem;
}
.home .mv-slider {
  width: 100%;
  height: calc(100svh - 5rem);
  opacity: 0;
  -webkit-animation: mv-fadein 1s cubic-bezier(0.3, 0.84, 0.44, 1) forwards;
          animation: mv-fadein 1s cubic-bezier(0.3, 0.84, 0.44, 1) forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
  background: #000;
}
@media screen and (max-width: 767px) {
  .home .mv-slider {
    height: calc(100svh - 3rem);
  }
}
.home .mv-slider__slide {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  background: #000;
}
@media screen and (max-width: 767px) {
  .home .mv-slider__slide {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.home .mv-slider__slide.v-slide01 .mv-slider__bg.v-left {
  background-image: url(/assets/images/home/mv1.jpg);
  background-size: cover;
}
.home .mv-slider__slide.v-slide01 .mv-slider__bg.v-right {
  background-image: url(/assets/images/home/mv2.jpg);
  background-size: cover;
}
.home .mv-slider__slide.v-slide02 .mv-slider__bg.v-left {
  background-image: url(/assets/images/home/mv3.jpg);
  background-size: cover;
}
.home .mv-slider__slide.v-slide02 .mv-slider__bg.v-right {
  background-image: url(/assets/images/home/mv4.jpg);
  background-size: cover;
}
.home .mv-slider__slide.v-slide03 .mv-slider__bg.v-left {
  background-image: url(/assets/images/home/mv5.jpg);
  background-size: cover;
}
.home .mv-slider__slide.v-slide03 .mv-slider__bg.v-right {
  background-image: url(/assets/images/home/mv6.jpg);
  background-size: cover;
}
.home .mv-slider__img {
  width: 50%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .home .mv-slider__img {
    width: 100%;
    height: 50%;
  }
}
.home .mv-slider__bg {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
  -webkit-transition: all 0.5s linear;
  transition: all 0.5s linear;
}
.home .mv-slider__bg.v-left {
  background-position: right center;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.home .mv-slider__bg.v-right {
  background-position: left center;
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
@-webkit-keyframes mv-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mv-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.home .mv-slider .swiper-container {
  height: 100%;
}
.home .mv-slider .swiper-slide.swiper-slide-active .mv-slider__bg {
  -webkit-filter: grayscale(0%);
          filter: grayscale(0%);
}
.home .mv-scroll {
  position: absolute;
  right: 8rem;
  bottom: 15rem;
  height: 10.4rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
  font-family: "Marcellus", serif;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .home .mv-scroll {
    bottom: 30%;
    left: 50%;
    right: auto;
    height: 7.4rem;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    font-size: 1.4rem;
  }
}
.home .mv-scroll svg {
  width: 0.7rem;
  height: 10.4rem;
}
@media screen and (max-width: 767px) {
  .home .mv-scroll svg {
    height: 7.4rem;
  }
}
.home .mv-btn {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  bottom: 0rem;
  -webkit-box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.1);
}
.home .mv-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 25rem;
  height: 8.4rem;
  padding: 1.6rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
  border-left: 1px solid #fff;
  background: var(--fff, #fff);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .home .mv-btn a {
    width: 11.5rem;
    height: 6.4rem;
    padding: 3rem 0rem;
    font-size: 1.4rem;
  }
}
.home .mv-btn a::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.9rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='9' viewBox='0 0 5 9' fill='none'%3E%3Cpath d='M0.353516 0.353516L4.35352 4.35352L0.353516 8.35352' stroke='%23444444' stroke-linejoin='round'/%3E%3C/svg%3E");
  position: absolute;
  top: 50%;
  right: 3rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .home .mv-btn a::after {
    display: none;
  }
}
.home .mv-btn a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0.1rem;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(255, 255, 255)), color-stop(33%, rgb(199, 199, 199)), color-stop(66%, rgb(199, 199, 199)), to(rgb(255, 255, 255)));
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(199, 199, 199) 33%, rgb(199, 199, 199) 66%, rgb(255, 255, 255) 100%);
}
.home .mv-btn a:last-child::before {
  display: none;
}
@media (hover: hover) {
  .home .mv-btn a:hover {
    background: #E8E8E8;
  }
}
.home {
  /* ブランド紹介
  ***************************************************************/
}
.home .brand {
  padding-top: 15rem;
  padding-bottom: 15rem;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .home .brand {
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
}
.home .brand-tab {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 4rem;
}
.home .brand-tab__item {
  padding: 1.6rem 0;
  text-align: center;
  border-bottom: 0.2rem solid rgba(232, 232, 232, 0.8);
  height: 100%;
  color: rgba(68, 68, 68, 0.6);
  letter-spacing: -0.1px;
}
@media screen and (max-width: 767px) {
  .home .brand-tab__item {
    padding: 1.6rem 0.4rem;
  }
}
@media (hover: hover) {
  .home .brand-tab__item:hover {
    border-bottom: 0.2rem solid #444444;
    color: #444444;
  }
}
.home .brand-tab__item.is-active {
  border-bottom: 0.2rem solid #444444;
  color: #444444;
}
@media screen and (max-width: 767px) {
  .home .brand-tab__item {
    font-size: 1.4rem;
  }
}
.home .tab-content {
  display: none;
  width: 85.6rem;
  height: 32rem !important;
  margin-inline: auto;
  margin-bottom: 4rem;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .home .tab-content {
    width: 100%;
    height: auto !important;
    padding-block: 1rem;
  }
}
.home .tab-content.is-active {
  display: block;
}
.home .tab-content .swiper {
  overflow: hidden;
}
.home .tab-content .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 30rem;
}
@media screen and (max-width: 767px) {
  .home .tab-content .swiper-wrapper {
    height: 40rem;
  }
}
.home .tab-content .swiper-slide {
  width: 100% !important;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
}
.home .tab-content .swiper-button-prev.swiper-button-disabled,
.home .tab-content .swiper-button-next.swiper-button-disabled {
  display: none;
}
.home .tab-content .swiper-pagination-bullets {
  bottom: 0;
}
.home .tab-content .swiper-button-next,
.home .tab-content .swiper-button-prev {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='65' height='7' viewBox='0 0 65 7' fill='none'><path d='M0 6.35352H63L57 0.353516' stroke='%23444444'/></svg>");
  width: 6.3rem;
  height: 0.6rem;
  background-size: contain;
  top: auto;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .home .tab-content .swiper-button-next,
  .home .tab-content .swiper-button-prev {
    bottom: 0.5rem;
  }
}
.home .tab-content .swiper-button-prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.home .tab-content .swiper-container {
  overflow: visible;
}
.home {
  /* 3カラム写真
  ***************************************************************/
}
.home .picture-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .home .picture-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.home .picture-grid picture {
  position: relative;
  overflow: hidden;
}
.home .picture-grid picture img {
  position: relative;
  width: 100%;
  height: 110%;
  -o-object-fit: cover;
     object-fit: cover;
  top: -5%;
  will-change: transform;
}
.home {
  /* エリア検索
  ***************************************************************/
}
.home .area {
  position: relative;
  background: url(/assets/images/home/bg01.png);
  margin-left: 10rem;
  margin-top: 13rem;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .home .area {
    margin-left: 2rem;
  }
}
.home .area__inner {
  max-width: 119rem;
  padding: 11rem 9rem 11rem 24rem;
}
@media screen and (min-width: 1100px) {
  .home .area__inner {
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .home .area__inner {
    padding: 1rem 1rem 11rem 1rem;
  }
}
.home .area__heading {
  margin-top: -13rem;
  margin-bottom: 5rem;
  margin-left: -17rem;
}
@media screen and (max-width: 767px) {
  .home .area__heading {
    margin-top: -3rem;
    margin-left: -1rem;
  }
}
.home .area__btn-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .home .area__btn-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}
.home .area__btn-top a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding: 3.2rem 4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
  border-radius: 4px;
  background: var(--fff, #FFF);
  -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
  font-size: 1.8rem;
  letter-spacing: 0.72px;
  width: 39rem;
}
@media screen and (max-width: 767px) {
  .home .area__btn-top a {
    width: 26.4rem;
    padding: 2.4rem 3rem;
  }
}
.home .area__btn-top a::after {
  content: "";
  position: absolute;
  right: 4rem;
  width: 1.9rem;
  height: 0.8rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='8' viewBox='0 0 19 8' fill='none'%3E%3Cpath d='M0.5 3.18188C0.223858 3.18188 0 3.40574 0 3.68188C0 3.95803 0.223858 4.18188 0.5 4.18188L0.5 3.68188L0.5 3.18188ZM18.8536 4.03544C19.0488 3.84018 19.0488 3.52359 18.8536 3.32833L15.6716 0.146351C15.4763 -0.0489113 15.1597 -0.0489113 14.9645 0.146351C14.7692 0.341613 14.7692 0.658195 14.9645 0.853458L17.7929 3.68188L14.9645 6.51031C14.7692 6.70557 14.7692 7.02216 14.9645 7.21742C15.1597 7.41268 15.4763 7.41268 15.6716 7.21742L18.8536 4.03544ZM0.5 3.68188L0.5 4.18188L18.5 4.18188V3.68188V3.18188L0.5 3.18188L0.5 3.68188Z' fill='%23444444'/%3E%3C/svg%3E");
}
@media (hover: hover) {
  .home .area__btn-top a:hover {
    background: #E8E8E8;
  }
}
.home .area__btn-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1rem;
  margin-top: 2rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .home .area__btn-bottom {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    justify-items: flex-end;
    max-width: 98%;
    margin-inline: auto;
  }
}
.home .area__btn-bottom a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.6rem 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 4px;
  background: var(--fff, #FFF);
  -webkit-box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .home .area__btn-bottom a {
    width: 100%;
    font-size: 1.4rem;
    min-height: 5.6rem;
    padding: 1rem 2rem;
  }
}
@media (hover: hover) {
  .home .area__btn-bottom a:hover {
    background: #E8E8E8;
  }
}
.home {
  /* ピックアップ
  ***************************************************************/
}
.home .pickup {
  padding-top: 24rem;
  padding-bottom: 15rem;
  background: var(--gray-bg, #E8E8E8);
  margin-top: -10rem;
}
.home .pickup:has(.c-slider01__container.is-single-slide) {
  padding-bottom: 4rem;
}
.home {
  /* 倶楽部ダイナック
  ***************************************************************/
}
.home .clubdynac {
  padding-top: 10rem;
  padding-bottom: 15rem;
  background: url(/assets/images/home/bg02.jpg) no-repeat;
  background-size: cover;
}
.home .clubdynac-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .home .clubdynac-contents {
    display: block;
  }
}
.home {
  /* 左カラム */
}
.home .clubdynac-contents__left {
  width: 50rem;
  height: 29.7rem;
}
@media screen and (max-width: 767px) {
  .home .clubdynac-contents__left {
    width: 100%;
    height: auto;
  }
}
.home .clubdynac-contents__left picture,
.home .clubdynac-contents__left img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .home .clubdynac-contents__left picture,
  .home .clubdynac-contents__left img {
    height: auto;
  }
}
.home {
  /* 中央カラム */
}
.home .clubdynac-contents__center {
  width: 36.4rem;
  height: 29.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .home .clubdynac-contents__center {
    width: 100%;
    height: auto;
    margin-top: 2rem;
  }
}
.home .clubdynac-contents__set {
  height: 7.9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .home .clubdynac-contents__set {
    height: 12rem;
    padding-top: 3rem;
  }
}
.home .clubdynac-contents__heading {
  font-size: 1.8rem;
  font-weight: bold;
  color: #4965B2;
}
.home .clubdynac-contents__text {
  margin-bottom: 1rem;
  line-height: 1.6;
  font-size: 1.4rem;
}
.home .clubdynac-contents__line {
  border: none;
  border-bottom: 1px dashed #444444;
  margin: 0;
  opacity: 0.4;
}
.home {
  /* 右カラム */
}
.home .clubdynac-contents__right {
  width: 16rem;
  height: 29.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .home .clubdynac-contents__right {
    display: none;
  }
}
.home .clubdynac-contents__right-text {
  margin-bottom: 1.6rem;
  text-align: center;
}
.home .clubdynac-contents__right-imgwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
}
.home .clubdynac-contents__right-imgwrap img {
  width: calc(50% - 0.5rem);
  height: auto;
}
.home .clubdynac-contents__right-imgwrap img:first-child {
  width: 5.8rem;
  height: 5.8rem;
}
.home .news {
  position: relative;
  background: #F6F6F6;
  margin-right: 10rem;
  margin-top: 13rem;
}
@media screen and (max-width: 767px) {
  .home .news {
    margin-right: 1rem;
  }
}
.home .news-inner {
  max-width: 119rem;
  padding: 11rem 10rem 11rem 9rem;
}
@media screen and (min-width: 1100px) {
  .home .news-inner {
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .home .news-inner {
    padding: 1rem 1rem 8cqmax 1rem;
  }
}
.home .news__heading {
  margin-top: -13rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .home .news__heading {
    margin-top: -3rem;
    margin-right: 0;
  }
}

/* base */
/**************************************************************
エリア検索結果
***************************************************************/
.shop_search-list .result-text {
  margin-bottom: 4rem;
}
.shop_search-list .result-text span {
  font-size: 2.4rem;
  margin-right: 0.1rem;
}
.shop_search-list {
  /* 初期状態：非表示 */
}
@media screen and (max-width: 767px) {
  .shop_search-list .js-accordion-target {
    display: none;
  }
}
.shop_search-list {
  /* 開いた状態 */
}
@media screen and (max-width: 767px) {
  .shop_search-list .js-accordion-target.is-accordion-open {
    display: block;
  }
}

/* base */
/*
shop配下全て共通
*/
.shop-detail {
  /* SPページ下部ナビ */
}
.shop-detail .sp-shop-detail-navi {
  display: none;
}
@media screen and (max-width: 767px) {
  .shop-detail .sp-shop-detail-navi {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    background: #ffffff;
    padding-bottom: env(safe-area-inset-bottom);
  }
  .shop-detail .sp-shop-detail-navi__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .shop-detail .sp-shop-detail-navi__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
    text-decoration: none;
  }
  .shop-detail .sp-shop-detail-navi__link--map {
    width: 6.6rem;
    height: 6rem;
    padding: 1.8rem 1rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    border-top: 1px solid rgba(68, 68, 68, 0.4);
    border-right: 1px solid rgba(68, 68, 68, 0.4);
    border-bottom: 1px solid rgba(68, 68, 68, 0.4);
    background: #FFF;
  }
  .shop-detail .sp-shop-detail-navi__link--map svg {
    width: 2.2rem;
    aspect-ratio: 1/1;
  }
  .shop-detail .sp-shop-detail-navi__link--tel {
    width: 6.6rem;
    height: 6rem;
    padding: 1.8rem 1rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    border-top: 1px solid rgba(68, 68, 68, 0.4);
    border-bottom: 1px solid rgba(68, 68, 68, 0.4);
    background: #E8E8E8;
  }
  .shop-detail .sp-shop-detail-navi__link--tel .sp-shop-detail-navi__note {
    display: none;
  }
  .shop-detail .sp-shop-detail-navi__link--reserve {
    height: 6rem;
    padding: 0 1rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0px;
            flex: 1 0 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#414141));
    background: linear-gradient(180deg, #606060 0%, #414141 100%);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .shop-detail .sp-shop-detail-navi__text {
    color: #ffffff;
    font-size: 1.4rem;
    line-height: 1;
    white-space: nowrap;
    position: relative;
  }
  .shop-detail .sp-shop-detail-navi__text::before {
    content: "";
    position: relative;
    top: 0.3rem;
    margin-right: 0.5rem;
    display: inline-block;
    width: 1.6rem;
    height: 1.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14' fill='none'%3E%3Cg clip-path='url(%23clip0_847_10503)'%3E%3Cpath d='M2.72063 12.2705H15.2774C15.7443 12.2705 16.1237 11.8042 16.1237 11.2285V1.04193C16.1237 0.467045 15.7443 0 15.2774 0H2.72063C2.25369 0 1.875 0.467045 1.875 1.04193V11.2285C1.875 11.8042 2.25369 12.2705 2.72063 12.2705Z' fill='white'/%3E%3Cpath d='M17.68 12.7772H11.6927C11.534 12.7772 11.4056 12.8899 11.4056 13.0294C11.4056 13.1689 11.2771 13.2078 11.1184 13.2078H6.88038C6.72166 13.2078 6.59323 13.1689 6.59323 13.0294C6.59323 12.8899 6.46481 12.7772 6.30608 12.7772H0.320135C0.0836998 12.7772 -0.0710695 12.9953 0.0329881 13.1818L0.4018 13.8435C0.455805 13.94 0.567107 14.0008 0.688947 14.0008H17.3112C17.433 14.0008 17.5443 13.94 17.5983 13.8435L17.9671 13.1818C18.0712 12.9953 17.9164 12.7772 17.68 12.7772Z' fill='white'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_847_10503'%3E%3Crect width='18' height='14' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
  }
  .shop-detail .sp-shop-detail-navi__note {
    position: relative;
    top: -0.2rem;
    color: #fff;
    font-size: 1.2rem;
  }
  .shop-detail .sp-shop-detail-navi__nav:not(:has(.sp-shop-detail-navi__link--reserve)) .sp-shop-detail-navi__link--tel {
    width: calc(100% - 6.6rem);
  }
  .shop-detail .sp-shop-detail-navi__nav:not(:has(.sp-shop-detail-navi__link--reserve)) .sp-shop-detail-navi__link--tel svg {
    width: 4rem;
  }
  .shop-detail .sp-shop-detail-navi__nav:not(:has(.sp-shop-detail-navi__link--reserve)) .sp-shop-detail-navi__link--tel .sp-shop-detail-navi__note {
    display: block;
    color: #444444;
    top: 0rem;
  }
}

/*
ブランド扉ページ
*/
.brand-top .shop-hero-slider {
  position: relative;
  overflow: hidden;
  height: 38rem;
}
@media screen and (max-width: 767px) {
  .brand-top .shop-hero-slider {
    height: 24.8rem;
  }
}
.brand-top .shop-hero-slider__track {
  position: relative;
  width: 100%;
  height: 100%;
}
.brand-top .shop-hero-slider__track > .shop-hero-slider__slide:only-child {
  opacity: 1;
}
.brand-top .shop-hero-slider__slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  -webkit-transition: opacity 1.5s linear;
  transition: opacity 1.5s linear;
}
.brand-top .shop-hero-slider__slide.is-active {
  opacity: 1;
  z-index: 2;
}
.brand-top .shop-hero-slider__slide.is-out {
  opacity: 0;
  z-index: 1;
}
.brand-top .shop-hero-slider__img {
  width: 100%;
  height: 100%;
}
.brand-top .shop-hero-slider__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  -webkit-transform: scale(1);
          transform: scale(1);
  will-change: transform;
}
.brand-top .shop-description {
  font-size: 1.4rem;
  line-height: 2;
  padding-block: 5rem 10rem;
}
@media screen and (max-width: 767px) {
  .brand-top .shop-description {
    padding-block: 5rem 8rem;
    line-height: 1.6;
  }
}

.shop-detail-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-block: 2rem 0;
  background: #fff;
  min-height: 10rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head {
    padding-block: 1rem 2rem;
    display: inherit;
    min-height: auto;
    margin-bottom: 0;
  }
}
.shop-detail-head.shop-detail-head--child {
  padding-bottom: 0;
}
.shop-detail-head.shop-detail-head--child .shop-detail-head__access {
  display: none;
}
.shop-detail-head.shop-detail-head--child .shop-detail-head__free {
  display: none;
}
.shop-detail-head.is-fixed {
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 900;
  padding: 2rem;
  width: 100%;
  max-width: 112rem;
  height: 11.8rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head.is-fixed {
    display: none;
  }
}
.shop-detail-head.is-fixed::after {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  background: #fff;
  width: calc(100vw + 50%);
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .shop-detail-head.is-fixed::after {
    display: none;
  }
}
.shop-detail-head.is-fixed .shop-detail-head__access,
.shop-detail-head.is-fixed .shop-detail-head__free {
  display: none;
}
.shop-detail-head:has(.shop-detail-head__reserved) .shop-detail-head__asside .shop-detail-head__note {
  display: none;
}

.shop-detail-head__main {
  width: 68.2rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head__main {
    width: 100%;
  }
}

.shop-detail-head__asside {
  width: 16.8rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head__asside {
    display: none;
  }
}

.shop-detail-head__btn {
  width: 20rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head__btn {
    display: none;
  }
}

.shop-detail-head__free {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head__free {
    margin-bottom: 1rem;
  }
}

.shop-detail-head__store {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.96px;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-head__store {
    font-size: 2rem;
    font-style: normal;
    letter-spacing: 0.2px;
    margin-bottom: 1rem;
  }
}

.shop-detail-head__access {
  line-height: 1.6;
}

.shop-detail-head__tel {
  line-height: 1.6;
  margin-bottom: 1rem;
}
.shop-detail-head__tel span {
  display: inline-block;
  font-family: "Marcellus", serif;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.8px;
  margin-right: 0.8rem;
}

.shop-detail-head__map {
  position: relative;
  padding-left: 3.7rem;
  padding-top: 0.5rem;
}
.shop-detail-head__map::before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 0;
  top: 0;
  width: 3.2rem;
  height: 3.2rem;
  padding: 0.2rem 1rem 0 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  aspect-ratio: 1/1;
  border: 1px solid #444;
}
.shop-detail-head__map::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 1.3rem;
  left: 0.5rem;
  width: 1.1rem;
  height: 0.7rem;
  margin-left: 0.6rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M0 0H11L5.5 7L0 0Z' fill='%23444444'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.shop-detail-head__reserved {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 20rem;
  height: 4rem;
  padding: 0 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#414141));
  background: linear-gradient(180deg, #606060 0%, #414141 100%);
  color: #FFF;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.32px;
}
@media (hover: hover) {
  .shop-detail-head__reserved {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .shop-detail-head__reserved:hover {
    opacity: 0.7;
  }
}
.shop-detail-head__reserved::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 1.8rem;
  height: 1.4rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='14' viewBox='0 0 18 14'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M2.72063 12.2705H15.2774C15.7443 12.2705 16.1237 11.8042 16.1237 11.2285V1.04193C16.1237 0.467045 15.7443 0 15.2774 0H2.72063C2.25369 0 1.875 0.467045 1.875 1.04193V11.2285C1.875 11.8042 2.25369 12.2705 2.72063 12.2705ZM2.62514 1.04193C2.62514 0.976254 2.66795 0.923549 2.72063 0.923549H15.2774C15.3307 0.923549 15.3735 0.976254 15.3735 1.04193V11.2285C15.3735 11.2942 15.3307 11.3469 15.2774 11.3469H2.72063C2.66795 11.3469 2.62514 11.2942 2.62514 11.2285V1.04193Z' fill='white'/%3E%3Cpath d='M17.68 12.7772H11.6927C11.534 12.7772 11.4056 12.8899 11.4056 13.0294C11.4056 13.1689 11.2771 13.2078 11.1184 13.2078H6.88038C6.72166 13.2078 6.59323 13.1689 6.59323 13.0294C6.59323 12.8899 6.46481 12.7772 6.30608 12.7772H0.320135C0.0836998 12.7772 -0.0710695 12.9953 0.0329881 13.1818L0.4018 13.8435C0.455805 13.94 0.567107 14.0008 0.688947 14.0008H17.3112C17.433 14.0008 17.5443 13.94 17.5983 13.8435L17.9671 13.1818C18.0712 12.9953 17.9164 12.7772 17.68 12.7772Z' fill='white'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.shop-detail-head__note {
  font-size: 1.2rem;
  margin-top: 1.5rem;
}

/*
子ページのあるブランド
*/
.shop-detail-top .shop-detail-top-slider {
  position: relative;
  overflow: hidden;
  padding-bottom: 3.8rem;
}
.shop-detail-top .shop-detail-top-slider.is-single-slide {
  padding-bottom: 1.8rem;
}
.shop-detail-top .shop-detail-top-slider.is-single-slide .swiper-slide {
  margin: auto;
}
.shop-detail-top .shop-detail-top-slider.is-single-slide .shop-detail-top-slider__controller {
  display: none;
}
.shop-detail-top .shop-detail-top-slider .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.shop-detail-top .shop-detail-top-slider .swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 55.5rem;
  height: 32rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-top .shop-detail-top-slider .swiper-slide {
    width: 33.2rem;
    height: 18rem;
  }
}
.shop-detail-top .shop-detail-top-slider__img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.shop-detail-top .shop-detail-top-slider__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.shop-detail-top .shop-detail-top-slider__controller {
  position: relative;
  top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.shop-detail-top .shop-detail-top-slider .swiper-button-prev,
.shop-detail-top .shop-detail-top-slider .swiper-button-next {
  position: inherit;
  width: auto;
  height: auto;
  top: auto;
  margin: 0;
}
.shop-detail-top .shop-detail-top-slider .swiper-button-prev {
  width: 3.6rem;
  height: 3.6rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='-1 -1 37 37' fill='none'%3E%3Ccircle cx='17' cy='17' r='16.5' stroke='%23444444' stroke-width='1'/%3E%3Cpath d='M13.1768 16.3486L20.0078 20.3662C18.8799 19.2754 18.1768 17.7477 18.1768 16.0547C18.1768 14.4907 18.7765 13.067 19.7568 11.999L13.1768 16.3486Z' fill='%23444444'/%3E%3C/svg%3E");
}
@media (hover: hover) {
  .shop-detail-top .shop-detail-top-slider .swiper-button-prev {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .shop-detail-top .shop-detail-top-slider .swiper-button-prev:hover {
    opacity: 0.7;
  }
}
.shop-detail-top .shop-detail-top-slider .swiper-button-next {
  width: 3.6rem;
  height: 3.6rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='-1 -1 37 37' fill='none'%3E%3Ccircle cx='17' cy='17' r='16.5' stroke='%23444444' stroke-width='1'/%3E%3Cpath d='M13.1768 16.3486L20.0078 20.3662C18.8799 19.2754 18.1768 17.7477 18.1768 16.0547C18.1768 14.4907 18.7765 13.067 19.7568 11.999L13.1768 16.3486Z' fill='%23444444'/%3E%3C/svg%3E");
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media (hover: hover) {
  .shop-detail-top .shop-detail-top-slider .swiper-button-next {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .shop-detail-top .shop-detail-top-slider .swiper-button-next:hover {
    opacity: 0.7;
  }
}
.shop-detail-top .shop-detail-top-slider .swiper-pagination-bullet {
  margin: 0 0.4rem;
  position: inherit;
}
.shop-detail-top .shop-detail-top-slider .swiper-pagination {
  position: inherit;
  margin-left: 6rem;
  margin-right: 2rem;
}
.shop-detail-top .shop-detail-top-slider .swiper-button-pause {
  margin-right: 6rem;
  cursor: pointer;
  width: 1.6rem;
  height: 1.6rem;
}
@media (hover: hover) {
  .shop-detail-top .shop-detail-top-slider .swiper-button-pause {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .shop-detail-top .shop-detail-top-slider .swiper-button-pause:hover {
    opacity: 0.7;
  }
}
.shop-detail-top .shop-detail-top-catchcopy {
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.96px;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-top .shop-detail-top-catchcopy {
    font-size: 2rem;
  }
}
.shop-detail-top .shop-detail-top-text {
  font-size: 1.4rem;
  line-height: 2;
}
.shop-detail-top .shop-detail-top-text a {
  text-decoration: underline;
}
@media (hover: hover) {
  .shop-detail-top .shop-detail-top-text a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .shop-detail-top .shop-detail-top-text {
    line-height: 1.6;
  }
}

.shop-detail-child main {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .shop-article.l-pad {
    padding-top: 5rem;
  }
}
.shop-article .article-date {
  margin-bottom: 1rem;
}
.shop-article h1 {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 1.12px;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .shop-article h1 {
    font-size: 2.4rem;
    letter-spacing: 0.96px;
    margin-bottom: 4rem;
  }
}

/* ヘッダーがfixedした時にコンテンツ表示がずれないように */
.shop-detail-head.is-fixed + #js-header-spacer {
  height: 26.4rem;
}

.shop-detail-child .shop-detail-head.is-fixed + #js-header-spacer {
  height: 19.6rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-child .shop-detail-head.is-fixed + #js-header-spacer {
    height: 5rem;
  }
}

.shop-detail-kodawari .kodawari {
  width: 100%;
}
.shop-detail-kodawari .kodawari + .kodawari {
  margin-top: 6rem;
}
.shop-detail-kodawari .kodawari__inner {
  max-width: 114rem;
  /* コンテンツ最大幅 */
  margin: 0 auto;
  padding: 0 2rem;
  /* 画面端の余白 */
}
@media screen and (max-width: 767px) {
  .shop-detail-kodawari .kodawari__inner {
    padding: 0;
  }
}
.shop-detail-kodawari .kodawari__grid {
  display: grid;
  grid-template-columns: 36rem calc(100% - 36rem);
  /* ここを 55% 45% などにしてもOK */
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.shop-detail-kodawari .kodawari__image img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .shop-detail-kodawari .kodawari__image img {
    width: 65%;
  }
}
.shop-detail-kodawari {
  /* 右カラム */
}
.shop-detail-kodawari .kodawari__body {
  position: relative;
  padding: 4rem 0 4rem 9rem;
  z-index: 0;
  margin-top: 5rem;
  margin-left: -12rem;
  margin-right: 3rem;
  min-height: 21.6rem;
}
.shop-detail-kodawari .kodawari__body::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: calc(50% - 50vw);
  background: rgba(255, 255, 255, 0.9);
  -webkit-box-shadow: 0 0 20px 0 rgba(60, 86, 52, 0.1);
          box-shadow: 0 0 20px 0 rgba(60, 86, 52, 0.1);
  z-index: -1;
}
.shop-detail-kodawari .kodawari__bodyInner {
  position: relative;
}
.shop-detail-kodawari .kodawari__txt p {
  line-height: 1.6;
  letter-spacing: 0.56px;
}
.shop-detail-kodawari .kodawari__txt p + p {
  margin-top: 3rem;
}
.shop-detail-kodawari .kodawari__point {
  font-family: "Marcellus", serif;
  color: #444;
  font-size: 3.6rem;
  font-weight: 400;
  letter-spacing: 2.88px;
  text-align: right;
  margin-top: -6rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-kodawari .kodawari__point {
    font-size: 2.4rem;
    font-weight: 400;
    letter-spacing: 1.92px;
    margin-top: -2.5rem;
  }
}
.shop-detail-kodawari .kodawari__ttl {
  color: #444;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.8px;
  margin-bottom: 2rem;
}
.shop-detail-kodawari {
  /* SP：縦積み */
}
@media (max-width: 767px) {
  .shop-detail-kodawari .kodawari__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .shop-detail-kodawari .kodawari__body {
    padding: 1rem 0 2.8rem 4.5rem;
    margin-left: 0;
    margin-top: -4.5rem;
    min-height: auto;
    margin-right: 0;
  }
  .shop-detail-kodawari .kodawari__body::before {
    left: 2rem;
    right: calc(50% - 50vw);
  }
}
.shop-detail-kodawari .kodawari.v-reverse .kodawari__bodyInner {
  direction: ltr;
}
.shop-detail-kodawari .kodawari.v-reverse .kodawari__point {
  text-align: left;
}
.shop-detail-kodawari .kodawari.v-reverse .kodawari__grid {
  direction: rtl;
}
.shop-detail-kodawari .kodawari.v-reverse .kodawari__body {
  padding: 4rem 9rem 4rem 0;
  margin-left: 4rem;
  margin-right: -12rem;
}
.shop-detail-kodawari .kodawari.v-reverse .kodawari__body::before {
  left: calc(50% - 50vw);
  right: 0;
}
@media screen and (max-width: 767px) {
  .shop-detail-kodawari .kodawari.v-reverse .kodawari__grid {
    grid-auto-flow: inherit;
  }
  .shop-detail-kodawari .kodawari.v-reverse .kodawari__body {
    margin-left: 0;
    margin-right: 2.5rem;
    padding: 1rem 2rem 2.8rem 0;
  }
}

.shop-detail-menu .menu-panel01 {
  display: grid;
  grid-template-columns: 18rem 1fr;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  row-gap: 1.6rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template-areas: "side main" "side cta";
  padding: 3rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01 {
    grid-template-columns: 12rem 1fr;
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    grid-template-areas: "main main" "side lead" "note note" "meta meta" "cta  cta";
  }
}
.shop-detail-menu .menu-panel01 + .menu-panel01 {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01 + .menu-panel01 {
    margin-top: 3rem;
  }
}
.shop-detail-menu .menu-panel01 + .menu-panel01--pickup {
  margin-top: 8rem;
}
.shop-detail-menu .menu-panel01 + .menu-heading01 {
  margin-top: 5rem;
}
.shop-detail-menu .menu-panel01.v-noimg {
  grid-template-areas: "main main" "side lead";
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01.v-noimg {
    grid-template-areas: "main main" "lead lead" "note note" "meta meta" "cta  cta";
  }
}
.shop-detail-menu .menu-panel01.v-noimg .menu-panel01__main {
  display: contents;
}
.shop-detail-menu .menu-panel01.v-noimg .menu-panel01__title {
  grid-area: main;
}
.shop-detail-menu .menu-panel01.v-noimg .menu-panel01__description {
  grid-area: lead;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01.v-type1 {
    grid-template-areas: "main main" "side side";
  }
}
.shop-detail-menu .menu-panel01.v-type2 {
  display: block;
}
.shop-detail-menu .menu-panel01.menu-panel01--pickup {
  position: relative;
  background: #CDC8BB;
  margin-top: 7rem;
}
.shop-detail-menu .menu-panel01.menu-panel01--pickup::before {
  content: "PICK UP";
  position: absolute;
  left: 0;
  top: -4rem;
  font-family: "Marcellus", serif;
  font-size: 2rem;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 17.5rem;
  height: 4rem;
  padding: 1rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #CDC8BB;
  border-radius: 0.4rem 0.4rem 0 0;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01.menu-panel01--pickup::before {
    font-size: 1.6rem;
    width: 12rem;
    height: 3rem;
    top: -3rem;
  }
}
.shop-detail-menu .menu-panel01__side {
  grid-area: side;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__side {
    display: contents;
  }
}
.shop-detail-menu .menu-panel01__media {
  cursor: pointer;
}
@media (hover: hover) {
  .shop-detail-menu .menu-panel01__media:hover {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .shop-detail-menu .menu-panel01__media:hover:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__media {
    grid-area: side;
  }
}
.shop-detail-menu .menu-panel01__media img {
  display: block;
  width: auto;
  height: auto;
  max-width: 18rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__media img {
    width: auto;
    max-width: 100%;
  }
}
.shop-detail-menu .menu-panel01__price-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-column-gap: 1.6rem;
     -moz-column-gap: 1.6rem;
          column-gap: 1.6rem;
  row-gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__price-txt {
    grid-area: meta;
  }
}
.shop-detail-menu .menu-panel01__price-txt span {
  font-size: 1.6rem;
}
.shop-detail-menu .menu-panel01__freetxt {
  font-weight: 500;
  line-height: 1;
}
.shop-detail-menu .menu-panel01__price {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.96px;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__price {
    font-size: 2rem;
    letter-spacing: 0.8px;
  }
}
.shop-detail-menu .menu-panel01__price--before {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  text-align: left;
}
.shop-detail-menu .menu-panel01__main {
  grid-area: main;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 2rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__main {
    display: contents;
  }
}
.shop-detail-menu .menu-panel01__title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__title {
    grid-area: main;
  }
}
.shop-detail-menu .menu-panel01__description {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__description {
    grid-area: lead;
    margin: 0;
  }
}
.shop-detail-menu .menu-panel01__note {
  font-size: 1.4rem;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__note {
    grid-area: note;
    line-height: 1.4;
  }
}
.shop-detail-menu .menu-panel01__cta {
  grid-area: cta;
  justify-self: end;
  align-self: end;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-panel01__cta {
    justify-self: stretch;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}
.shop-detail-menu .menu-heading01 {
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .shop-detail-menu .menu-heading01 {
    font-size: 1.8rem;
  }
}
.shop-detail-menu .menu-lead01 {
  line-height: 1.6;
  margin-bottom: 2rem;
}

/* base */
.news-article h1 {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 5rem;
}

/* base */
.wisywig h2 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  border-bottom: 1px solid rgba(68, 68, 68, 0.6);
  padding-bottom: 0.8rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .wisywig h2 {
    font-size: 1.8rem;
    margin-bottom: 4rem;
  }
}
.wisywig h3 {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  padding-left: 1.4rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .wisywig h3 {
    font-size: 1.6rem;
  }
}
.wisywig h3::before {
  content: "";
  position: absolute;
  width: 0.4rem;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(68, 68, 68, 0.6);
}
.wisywig p {
  line-height: 1.6;
}
.wisywig p + p {
  margin-top: 3rem;
}
.wisywig img {
  display: block;
  max-width: 50rem;
  height: auto;
}
.wisywig ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.8rem;
  background: var(--f7, #F7F7F7);
  padding: 2.4rem;
  margin-bottom: 5rem;
}
.wisywig ul li {
  position: relative;
  padding-left: 1.5em;
}
.wisywig ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.wisywig a {
  color: #4965B2;
  line-height: 1.6;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

/* base */
/*
***************************************************************/
.clubdynac .appdl-pc {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  right: 3rem;
  bottom: 20rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 12rem;
  padding: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  border-radius: 0.4rem;
  border: 0.1rem solid rgba(68, 68, 68, 0.6);
  background: #E8E8E8;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.clubdynac .appdl-pc__logo {
  width: 7.997rem;
  height: auto;
}
.clubdynac .appdl-pc__qr {
  width: 7.25rem;
  height: 7.25rem;
}
.clubdynac .appdl-pc__close {
  position: absolute;
  top: -1.3rem;
  right: -1.3rem;
  border-radius: 4rem;
  background: var(--fff, #FFF);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2.6rem;
  padding: 0.8rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  aspect-ratio: 1/1;
}
.clubdynac .appdl-sp {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  left: 0;
  bottom: 0;
  padding-bottom: env(safe-area-inset-bottom);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 6rem;
  padding: 1rem 1rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#414141));
  background: linear-gradient(180deg, #606060 0%, #414141 100%);
  color: #fff;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.032rem;
  z-index: 999;
  width: 100%;
}
.clubdynac .appdl-sp svg {
  width: 2.4471rem;
  height: 1.8655rem;
  aspect-ratio: 24.47/18.66;
  margin-right: -0.5rem;
  position: relative;
  top: 0;
}
.clubdynac .appdl-sp p {
  position: absolute;
  top: -1rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 35.5rem;
  height: 2.6rem;
  padding: 1rem 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1;
  border-radius: 7rem;
  border: 1px solid #444;
  background: #FFF;
  color: #444444;
}

.clubdynac-top main {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .c-navi01__links {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.clubdynac-top .c-navi01__item {
  padding-block: 2.6rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .c-navi01__item {
    width: 50%;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    border-bottom: 1px solid rgba(199, 199, 199, 0.7);
  }
}
@media screen and (max-width: 767px) {
  .clubdynac-top .c-navi01__item:nth-child(odd)::before {
    display: none;
  }
}
.clubdynac-top .c-logo-panel {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .c-logo-panel {
    margin-bottom: 4rem;
  }
}
.clubdynac-top .c-logo-panel ul {
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem 4rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .c-logo-panel ul {
    gap: 1rem;
  }
}
.clubdynac-top .c-logo-panel ul a {
  aspect-ratio: 1/1;
  height: auto;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .c-logo-panel ul a {
    width: 7.6rem;
  }
}
.clubdynac-top .mv {
  padding-top: 9rem;
  background: url(/assets/images/clubdynac/bg-mv.png) no-repeat;
  background-size: cover;
  max-height: 60rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv {
    max-height: 100%;
    padding-bottom: 4rem;
  }
}
.clubdynac-top .mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
  }
}
.clubdynac-top .mv__main {
  width: calc(100% - 54rem);
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__main {
    width: 100%;
  }
}
.clubdynac-top .mv__name {
  color: #4965B2;
  font-family: "Marcellus", serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.96px;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__name {
    margin-bottom: 1.6rem;
  }
}
.clubdynac-top .mv__name span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  padding-left: 1rem;
  letter-spacing: normal;
}
.clubdynac-top .mv__copy {
  color: #4965B2;
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 3rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__copy {
    font-size: 3.2rem;
  }
}
.clubdynac-top .mv__campaign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 49rem;
  height: 8rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.4rem;
  border: 0.1rem solid #4965B2;
  background: #4965B2;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__campaign {
    display: block;
    width: 33.5rem;
    height: auto;
    padding: 1.5rem;
    line-height: 1.2;
    margin-bottom: 0;
  }
}
.clubdynac-top .mv__campaign span {
  font-size: 2.4rem;
  margin-top: -0.5rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__campaign span {
    margin-top: 0;
  }
}
.clubdynac-top .mv__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__dl {
    display: block;
  }
}
.clubdynac-top .mv__dl-txt {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 8px 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  color: var(--black, #444);
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  /* 16px */
  letter-spacing: 0.64px;
  border-radius: 30px;
  border: 1px solid var(--black, #444);
  background: var(--fff, #FFF);
  position: absolute;
  top: -1.5rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  white-space: nowrap;
}
.clubdynac-top .mv__dl-inner {
  position: relative;
  padding: 3rem 1rem 2rem 1rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  border-radius: 0.4rem;
  border: 1px solid var(--black, #444);
  background: #E8E8E8;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__dl-inner {
    margin-bottom: 3rem;
  }
}
.clubdynac-top .mv__dl-box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
}
.clubdynac-top .mv__dl-box img {
  width: 8rem;
}
.clubdynac-top .mv__qr img {
  width: 7.25rem;
}
.clubdynac-top .mv__mypage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #000;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__mypage {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
}
@media (hover: hover) {
  .clubdynac-top .mv__mypage:hover {
    border-color: transparent;
  }
}
.clubdynac-top .mv__mypage svg {
  width: 1.5rem;
}
.clubdynac-top .mv__slider {
  width: 51rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__slider {
    width: 100vw;
    margin-left: -2rem;
  }
}
.clubdynac-top .mv__viewport {
  overflow: hidden;
}
.clubdynac-top .mv__track {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  row-gap: 0;
  will-change: transform;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 1.6rem;
  }
}
.clubdynac-top .mv__item {
  width: 24rem;
  height: 18rem;
  overflow: hidden;
  border-radius: 0.4rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__item {
    width: 16.8rem;
    height: 12.6rem;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.clubdynac-top .mv__item:nth-child(odd) {
  margin-top: 4rem;
  grid-column: 1;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__item:nth-child(odd) {
    margin-top: 2rem;
  }
}
.clubdynac-top .mv__item:nth-child(even) {
  grid-column: 2;
}
.clubdynac-top .mv__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .mv__img {
    width: 100%;
    height: 100%;
  }
}
.clubdynac-top .about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.clubdynac-top .about__catch-txt {
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 3rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .about__catch-txt {
    font-size: 1.6rem;
    margin-bottom: 2rem;
  }
}
.clubdynac-top .about__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 53.4rem;
  padding: 3rem 2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  border-radius: 0.4rem;
  border: 1px solid #4965B2;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .about__block {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}
.clubdynac-top .about__block svg {
  width: 8.2rem;
}
.clubdynac-top .about__block p {
  width: 100%;
}
.clubdynac-top .about__ttl {
  color: #4965B2;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.56px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .about__ttl {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 0.064rem;
  }
}
.clubdynac-top .about__ttl span {
  color: #4965B2;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.48px;
}
.clubdynac-top .about__ttl svg {
  width: 1.5rem;
  margin-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .about__ttl svg {
    position: relative;
    top: -0.5rem;
  }
}
.clubdynac-top .benefits {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits {
    display: grid;
    grid-template-areas: "num head" "txt txt";
  }
}
.clubdynac-top .benefits__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 7.3rem;
  height: 7.3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  border-radius: 5rem;
  background: #444444;
  color: #fff;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits__num {
    width: 6.3rem;
    height: 6.3rem;
    aspect-ratio: 1/1;
    grid-area: num;
  }
}
.clubdynac-top .benefits__txt-wrap {
  color: #444444;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits__txt-wrap {
    display: contents;
  }
}
.clubdynac-top .benefits__head {
  color: #444444;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.096rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits__head {
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 0.08rem;
    grid-area: head;
    width: 26rem;
  }
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits__txt {
    grid-area: txt;
  }
}
.clubdynac-top .benefits-point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  margin-block: 3rem 6rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits-point {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.clubdynac-top .benefits-point__ban {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 68.8rem;
  padding: 2rem 4rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  border-radius: 0.4rem;
  background: #fff;
  -webkit-box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.15);
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits-point__ban {
    width: 100%;
    padding: 2rem;
    gap: 1rem;
    font-size: 1.6rem;
  }
}
.clubdynac-top .benefits-point__em {
  color: #444444;
  text-align: center;
  font-size: 2.4rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits-point__em {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .clubdynac-top .benefits-point__example {
    font-size: 1.4rem;
  }
}
.clubdynac-top .step {
  position: relative;
  padding-top: 2%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .step {
    padding-top: 4%;
  }
}
.clubdynac-top .step::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='18' viewBox='0 0 26 18' fill='none'%3E%3Cpath d='M12.9922 18L0.00180593 -5.39648e-07L25.9826 1.73166e-06L12.9922 18Z' fill='%23444444'/%3E%3C/svg%3E") no-repeat;
  background-size: contain;
  width: 2.6rem;
  height: 1.8rem;
}
.clubdynac-top .step svg {
  width: 9.2rem;
}
.clubdynac-top .step.step--last {
  margin-bottom: 0;
}
.clubdynac-top .step.step--last::after {
  display: none;
}
.clubdynac-top .step__num {
  position: absolute;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 6.8rem;
  height: 6.8rem;
  padding: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  aspect-ratio: 1/1;
  background: #444444;
  color: #fff;
  line-height: 1;
  font-family: "Marcellus", serif;
}
.clubdynac-top .step__num span {
  font-size: 2.4rem;
}
.clubdynac-top .step__inner {
  background: #fff;
  width: 98%;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 4rem 2rem 4rem 8rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .step__inner {
    width: 96%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 3rem 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1rem;
  }
}
.clubdynac-top .step__head {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .step__head {
    font-size: 2rem;
    line-height: 1.4;
  }
}
.clubdynac-top .step__txt {
  line-height: 1.8;
  width: 83.8rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .step__txt {
    width: 100%;
  }
}
.clubdynac-top .step__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1rem 4rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  background: #E8E8E8;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .step__value {
    padding: 1rem 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 1.6;
  }
}
.clubdynac-top .cta {
  margin-top: -10.9rem;
  margin-bottom: -10.9rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .cta {
    margin-block: -13.3rem -13.3rem;
  }
}
@media (hover: hover) {
  .clubdynac-top .cta a {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .clubdynac-top .cta a:hover {
    opacity: 0.7;
  }
}
.clubdynac-top .sec-flow {
  padding-block: 20rem 15rem;
}
@media screen and (max-width: 767px) {
  .clubdynac-top .sec-flow {
    padding-block: 18rem 8rem;
  }
}

/* base */
/*
***************************************************************/
.sitemap .sitemap-block__head {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__head {
    margin-bottom: 3rem;
  }
}
.sitemap .sitemap-block__head a {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__head a {
    font-size: 2.4rem;
    line-height: 1.4;
  }
}
@media (hover: hover) {
  .sitemap .sitemap-block__head a:hover {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .sitemap .sitemap-block__head a:hover:hover {
    opacity: 0.7;
  }
}
.sitemap .sitemap-block__category {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__category {
    font-size: 2rem;
  }
}
.sitemap .sitemap-block__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.sitemap .sitemap-block__grid.sitemap-block__grid--clubdynac {
  grid-template-columns: 30rem auto;
  gap: 10rem;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__grid.sitemap-block__grid--clubdynac {
    grid-template-columns: 1fr;
    gap: 6rem;
  }
}
.sitemap .sitemap-block__grid.sitemap-block__grid--head {
  grid-template-columns: 30rem auto;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__grid.sitemap-block__grid--head {
    grid-template-columns: 1fr;
  }
}
.sitemap .sitemap-block__list {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  gap: 3rem;
  grid-template-columns: auto;
}
.sitemap .sitemap-block__list a {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.4;
  letter-spacing: 0.072rem;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__list a {
    line-height: 1.4;
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .sitemap .sitemap-block__list a:hover {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .sitemap .sitemap-block__list a:hover:hover {
    opacity: 0.7;
  }
}
.sitemap .sitemap-block__list a::before {
  content: "";
  position: relative;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='9' viewBox='0 0 7 9' fill='none'%3E%3Cpath d='M6.83105 4.34961L0 8.36719C1.12791 7.27636 1.83097 5.74868 1.83105 4.05566C1.83105 2.49165 1.23134 1.068 0.250977 0L6.83105 4.34961Z' fill='%23444444'/%3E%3C/svg%3E");
  width: 0.6831rem;
  height: 0.8367rem;
  top: -0.2rem;
  margin-right: 1rem;
  background-repeat: no-repeat;
  background-size: contain;
}
.sitemap .sitemap-block__list a[target=_blank]::after {
  content: "";
  position: relative;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' fill='none'%3E%3Cpath d='M13.8333 9.38909V14.7224C13.8333 15.1939 13.646 15.6461 13.3126 15.9795C12.9792 16.3129 12.5271 16.5002 12.0556 16.5002H2.27778C1.80628 16.5002 1.3541 16.3129 1.0207 15.9795C0.687301 15.6461 0.5 15.1939 0.5 14.7224V4.94465C0.5 4.47315 0.687301 4.02097 1.0207 3.68757C1.3541 3.35417 1.80628 3.16687 2.27778 3.16687H7.61111' stroke='%23444444' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.1641 0.5H16.4974V5.83333' stroke='%23444444' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.71875 10.2778L16.4965 0.5' stroke='%23444444' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.997rem;
  height: 1.6rem;
  aspect-ratio: 16/16;
  margin-left: 1rem;
}
.sitemap .sitemap-block__list.sitemap-block__list--head a {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .sitemap .sitemap-block__list.sitemap-block__list--head a {
    font-size: 2rem;
  }
}
.sitemap .sitemap-block__list.sitemap-block__list--head a:before {
  display: none;
}
.sitemap .sitemap-block__sub-heading {
  line-height: 1;
  font-size: 1.8rem;
  margin-bottom: 3rem;
  font-weight: 500;
}

/* base */
/*
***************************************************************/
.hibiki main {
  margin-top: 0;
}
.hibiki .btn01 {
  background: #fff;
  border: 1px solid #000;
  font-size: 2.4rem;
  line-height: 1;
  padding: 2.5rem;
  min-width: 38rem;
  color: #5e5e5e;
}
@media screen and (max-width: 767px) {
  .hibiki .btn01 {
    min-width: auto;
    font-size: 1.4rem;
    padding: 1.5rem 2.5rem;
  }
}
@media (hover: hover) {
  .hibiki .btn01:hover {
    background: #000;
    color: #fff;
  }
}
.hibiki .mv .btn01 {
  min-width: 22rem;
  font-size: 1.8rem;
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .hibiki .mv .btn01 {
    min-width: 14rem;
    font-size: 1.4rem;
  }
}
.hibiki .mv {
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  .hibiki .mv {
    width: 100%;
    position: relative;
  }
}
.hibiki .mv__inner {
  max-width: 112rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__inner {
    max-width: 100%;
    display: grid;
    position: relative;
    z-index: 1;
  }
}
.hibiki .mv__text {
  width: 44rem;
  padding-top: 15rem;
  line-height: 2;
  text-align: center;
  font-size: 2.9rem;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__text {
    padding-top: 5rem;
    font-size: 2rem;
    line-height: 2;
    width: 100%;
    padding-bottom: 1vh;
    position: relative;
  }
}
.hibiki .mv__copy-head {
  margin-top: 16.7rem;
  margin-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__copy-head {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
.hibiki .mv__copy {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__copy {
    font-size: 1.6rem;
  }
}
.hibiki .mv__logo {
  width: 31rem;
  margin: 0 auto 13.4rem;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__logo {
    width: 100%;
    margin-top: 6rem;
    margin-bottom: 3rem;
    position: relative;
    z-index: 2;
    -webkit-transform: none !important;
            transform: none !important;
    display: block;
    will-change: transform;
  }
}
@media screen and (max-width: 767px) {
  .hibiki .mv__logo img {
    width: 12rem;
    display: block;
    margin: auto;
  }
}
.hibiki .mv__video {
  position: fixed;
  top: 6rem;
  right: 8rem;
  --header: 6rem;
  --gap-bottom: 2rem;
  --size: clamp(20rem, min(100vw, calc(100vh - var(--header) - var(--gap-bottom))), 70rem);
  --zoom: 1.78;
  width: var(--size);
  height: var(--size);
  overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1320px) {
  .hibiki .mv__video {
    --size: clamp(20rem, min(100vw, calc(100vh - var(--header) - var(--gap-bottom))), 60rem);
  }
}
@media screen and (max-width: 767px) {
  .hibiki .mv__video {
    width: 76%;
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 12%;
    opacity: 0;
    position: sticky;
    top: 6rem;
    z-index: 1;
    opacity: 1;
    -webkit-box-shadow: 0 -6rem 0 0rem #fff, 0rem -2rem 2.5rem 4.4rem #fff;
            box-shadow: 0 -6rem 0 0rem #fff, 0rem -2rem 2.5rem 4.4rem #fff;
    -webkit-transform: none !important;
            transform: none !important;
  }
  .hibiki .mv__video::after {
    content: "";
    background: #fff;
    width: 100%;
    height: 50px;
    left: 0;
    bottom: -50px;
    position: absolute;
    z-index: 4;
  }
}
.hibiki .mv__video.is-static {
  position: static;
}
.hibiki .mv__video-spacer {
  height: 0;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__video-pin {
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
  }
}
.hibiki .mv__item {
  /*
  width: 178%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  aspect-ratio: 1/1;
  overflow: hidden;*/
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% * var(--zoom));
  height: calc(100% * var(--zoom));
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 0;
  display: block;
}
@media screen and (max-width: 767px) {
  .hibiki .mv__item {
    width: 162vw;
  }
}
.hibiki .mv__item.fadeIn {
  opacity: 1;
}
.hibiki .mv__item video {
  width: 100%;
  height: 100%;
}
.hibiki .mv__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.hibiki .mv__poster {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  aspect-ratio: 1/1;
  pointer-events: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.hibiki .mv__poster img,
.hibiki .mv__poster picture {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top center;
  object-position: top center;
  display: block;
}
.hibiki .mv__poster.fadeOut {
  opacity: 0;
  visibility: hidden;
}
.hibiki .shoplist {
  background: #000;
  color: #94928a;
}
.hibiki .shop__name {
  font-size: 3.5rem;
}
.hibiki .shop__tel {
  font-size: 4rem;
}
@media (max-width: 767px) {
  .hibiki .mv__video.is-fixed {
    position: fixed;
    top: 5rem;
    z-index: 10;
    left: 5%;
    margin: 0;
  }
}
.hibiki .btn-reserve {
  position: fixed;
  left: 50%;
  bottom: 2rem;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  text-align: center;
}
.hibiki .btn-reserve.is-show {
  opacity: 1;
  pointer-events: auto;
}
.hibiki {
  /* shoplist手前で止める（ページ上に固定） */
}
.hibiki .btn-reserve.is-stop {
  position: absolute;
  top: var(--stop-top);
  bottom: auto;
}
.hibiki .copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5rem;
  font-size: 2.1rem;
  line-height: 3;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 767px) {
  .hibiki .copy {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 100%;
    font-size: 1.2rem;
    line-height: 2.4;
  }
}
.hibiki .copy__img img {
  width: 30rem;
}
@media screen and (max-width: 767px) {
  .hibiki .copy__img img {
    width: 20rem;
  }
}
.hibiki .slider {
  overflow: hidden;
  margin-top: 5rem;
  margin-bottom: 25rem;
}
.hibiki .slider__viewport {
  overflow: hidden;
}
.hibiki .slider__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.hibiki .slider__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
  width: 34.6rem;
}
@media screen and (max-width: 767px) {
  .hibiki .slider__item {
    width: 15rem;
  }
}
.hibiki .slider__item img {
  display: block;
  width: 100%;
}
.hibiki .shoplist {
  font-family: "Zen Old Mincho", serif;
  padding-block: 8rem;
}
.hibiki .shoplist__head {
  font-size: 3.5rem;
  color: #fffeed;
  text-align: center;
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shoplist__head {
    font-size: 1.4rem;
  }
}
.hibiki .shop__name {
  position: relative;
  font-size: 2.4rem;
  padding-block: 5rem;
  cursor: pointer;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__name {
    font-size: 1.8rem;
    width: 100%;
    padding-block: 3rem 2rem;
  }
}
.hibiki .shop__name::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 5rem;
  background: #808080;
  width: 2rem;
  height: 0.2rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .hibiki .shop__name::before {
    width: 1.5rem;
    height: 0.1rem;
    right: 0;
  }
}
.hibiki .shop__name::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.9rem;
  background: #808080;
  height: 2rem;
  width: 0.2rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .hibiki .shop__name::after {
    right: 0.7rem;
    width: 0.1rem;
    height: 1.5rem;
  }
}
.hibiki .shop__name[aria-expanded=true]::after {
  display: none;
}
.hibiki .shop__btn {
  background: #63625d;
  color: #fff;
  padding: 2rem;
  font-size: 1.6rem;
}
@media (hover: hover) {
  .hibiki .shop__btn {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .hibiki .shop__btn:hover {
    opacity: 0.7;
  }
}
.hibiki .shop__btn {
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__btn {
    width: 50%;
    padding: 1rem;
  }
}
.hibiki .shop__btn--reserve {
  background: #1f2945;
}
.hibiki .shop__about {
  display: grid;
  grid-template-columns: 1fr 15rem 15rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.hibiki .shop__tel {
  font-size: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__tel {
    font-size: 1.6rem;
    line-height: 1.6;
  }
}
.hibiki .shop__add {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__add {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}
.hibiki .shop__route {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__route {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.hibiki .shop {
  display: grid;
  border-top: 1px solid #808080;
  grid-template-columns: 1fr auto;
  -webkit-column-gap: 1.6rem;
     -moz-column-gap: 1.6rem;
          column-gap: 1.6rem;
  row-gap: 1.2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .hibiki .shop {
    grid-template-columns: 1fr;
  }
}
.hibiki .shop__name {
  grid-column: 1;
  justify-self: start;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__name {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.hibiki {
  /* ボタン群 */
}
.hibiki .shop__actions {
  grid-column: 2;
  justify-self: end;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0.8rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__actions {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    justify-self: start;
    margin-top: 0;
    width: 100%;
    margin-bottom: 3rem;
    gap: 1.5rem;
  }
}
.hibiki {
  /* 開閉される中身：PCでは2カラムぶち抜きで下へ */
}
.hibiki .shop__panel {
  grid-column: 1/-1;
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .hibiki .shop__panel {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .hibiki .shop__name,
  .hibiki .shop__panel,
  .hibiki .shop__actions {
    grid-column: 1;
  }
}

/* base */
/*
***************************************************************/
.hiruenkai {
  /* overwrite */
}
.hiruenkai .c-heading01 {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .hiruenkai .c-child-heading01__slider-item {
    width: 150%;
  }
}
.hiruenkai.top {
  background: #F2F2E5 url(/assets/images/hiruenkai/top/bg.webp) no-repeat;
  background-size: 100%;
  background-position: 0 -20vw;
}
@media screen and (max-width: 767px) {
  .hiruenkai.top {
    background-position: 0 0;
    background-size: 200%;
  }
}
.hiruenkai .heading01 {
  color: #B19F47;
  font-size: 4.8rem;
  font-weight: 500;
  line-height: 1;
  margin-block: 13rem 5rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .heading01 {
    font-size: 4.2rem;
    font-weight: 500;
    line-height: 1.4;
    margin-block: 10rem 3rem;
  }
}
.hiruenkai .heading01__txt01 {
  letter-spacing: -0.25rem;
}
.hiruenkai .heading01__txt02 {
  letter-spacing: -1.4rem;
}
.hiruenkai .lead {
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.64px;
}
.hiruenkai .lead__head {
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 2rem;
}
.hiruenkai .map {
  position: relative;
  top: -8rem;
}
.hiruenkai .area-btn {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 20.2rem;
  padding: 2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  border-radius: 0.4rem;
  background: var(--fff, #FFF);
  -webkit-box-shadow: 0 0 1rem 0 rgba(187, 161, 35, 0.4);
          box-shadow: 0 0 1rem 0 rgba(187, 161, 35, 0.4);
  color: #B19F47;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn {
    width: 10rem;
    padding: 0.8rem 0.4rem;
    gap: 0.6688rem;
    font-size: 1.4rem;
  }
}
@media (hover: hover) {
  .hiruenkai .area-btn:hover {
    background: #E2D6A3;
    color: #fff;
  }
}
.hiruenkai .area-btn--shinjuku {
  top: 2rem;
  right: 15rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--shinjuku {
    top: 1rem;
    right: 9rem;
  }
}
.hiruenkai .area-btn--akihabara {
  top: 10rem;
  right: 3rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--akihabara {
    top: 6rem;
    right: 0;
  }
}
.hiruenkai .area-btn--tokyo {
  top: 23rem;
  right: 3rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--tokyo {
    top: 12rem;
    right: 0;
  }
}
.hiruenkai .area-btn--yurakucho-shiodome {
  top: 33rem;
  right: 3rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--yurakucho-shiodome {
    top: 17.5rem;
    right: 0;
  }
}
.hiruenkai .area-btn--shinagawa {
  top: 43rem;
  right: 11rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--shinagawa {
    top: 24rem;
    right: 3rem;
  }
}
.hiruenkai .area-btn--shibuya {
  top: 45rem;
  right: 33rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--shibuya {
    top: 27rem;
    right: 15rem;
  }
}
.hiruenkai .area-btn--yokohama {
  top: 25.5rem;
  left: 14rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--yokohama {
    top: 13.6rem;
    left: 1rem;
  }
}
.hiruenkai .area-btn--urawa {
  top: 6rem;
  left: 19rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--urawa {
    top: 4.5rem;
    left: 3.5rem;
  }
}
.hiruenkai .area-btn--nomap {
  position: static;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--nomap {
    font-size: 1.6rem;
    width: 17.8rem;
    padding: 1.6rem 0;
    gap: 1.6rem;
    margin: auto;
  }
}
.hiruenkai .area-btn--nomap + .area-btn--nomap {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-btn--nomap + .area-btn--nomap {
    margin-top: 2rem;
  }
}
.hiruenkai .area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area {
    display: block;
    margin-bottom: 6rem;
  }
}
.hiruenkai .area-heading {
  margin-right: 3rem;
  -ms-flex-item-align: start;
      align-self: flex-start;
  text-align: left;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-heading {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}
.hiruenkai .area__col {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area__col {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .hiruenkai .area__col + .area__col {
    margin-top: 3rem;
  }
}
.hiruenkai .note {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.64px;
}
@media screen and (max-width: 767px) {
  .hiruenkai .note {
    color: #444;
    font-size: 1.2rem;
    line-height: 1.6;
    letter-spacing: 0.48px;
  }
}
.hiruenkai .area-map {
  position: relative;
  margin-block: 5rem 5rem;
  max-width: 70rem;
  margin: 0 auto 12rem;
}
.hiruenkai .area-map__number {
  padding-left: 1.4em;
  text-indent: -1.4em;
  line-height: 1;
}
.hiruenkai .area-map__btn {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem 3rem 0.5rem 2rem;
  border-radius: 0.4rem;
  border: 2px solid #B19F47;
  background: #F8F4E0;
  color: #B19F47;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn {
    border: 1px solid #B19F47;
    font-size: 1rem;
    padding: 0.3rem 1.5rem 0.2rem 0.5rem;
  }
}
.hiruenkai .area-map__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  display: inline-block;
  width: 0.6rem;
  height: 0.8rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='8' viewBox='0 0 6 8' fill='none'%3E%3Cpath d='M0.329102 0.376343L4.3291 3.87634L0.329101 7.37634' stroke='%23B19F47'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn::after {
    width: 0.5rem;
    height: 0.7rem;
    right: 0.5rem;
  }
}
@media (hover: hover) {
  .hiruenkai .area-map__btn:hover {
    background: #E2D6A3;
    color: #fff;
  }
  .hiruenkai .area-map__btn:hover::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='8' viewBox='0 0 6 8' fill='none'%3E%3Cpath d='M0.329102 0.376343L4.3291 3.87634L0.329101 7.37634' stroke='%23ffffff'/%3E%3C/svg%3E");
  }
}
.hiruenkai .area-map__btn span {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 0.3rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn span {
    font-size: 0.8rem;
  }
}
.hiruenkai .area-map__btn--shinagawa-01 {
  position: absolute;
  width: 18rem;
  top: 3.5rem;
  left: 20rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinagawa-01 {
    width: 11rem;
    left: 8.2rem;
    top: 1.6rem;
  }
}
.hiruenkai {
  /* 地図ボタン 新宿 */
}
.hiruenkai .area-map__btn--shinjuku-01 {
  width: 27rem;
  top: 4rem;
  left: 31rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinjuku-01 {
    width: 14rem;
    left: 14.2rem;
    top: 1.8rem;
  }
}
.hiruenkai .area-map__btn--shinjuku-02 {
  width: 28rem;
  top: 10.5rem;
  left: 38rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinjuku-02 {
    width: 14.5rem;
    top: 5.2rem;
    left: 17.5rem;
  }
}
.hiruenkai .area-map__btn--shinjuku-03 {
  width: 18rem;
  top: 12.8rem;
  left: 1rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinjuku-03 {
    width: 9.5rem;
    top: 5.9rem;
    left: -0.5rem;
  }
}
.hiruenkai .area-map__btn--shinjuku-04 {
  width: 23.5rem;
  top: 31.8rem;
  left: 34.2rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinjuku-04 {
    width: 12.5rem;
    top: 15rem;
    left: 16.5rem;
  }
}
.hiruenkai .area-map__btn--shinjuku-05 {
  width: 20rem;
  top: 40.8rem;
  left: 34.2rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinjuku-05 {
    width: 10.5rem;
    top: 20rem;
    left: 16.5rem;
  }
}
.hiruenkai .area-map__btn--shinjuku-06 {
  width: 22rem;
  top: 40rem;
  left: 6rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shinjuku-06 {
    width: 12.5rem;
    top: 19rem;
    left: 2.5rem;
  }
}
.hiruenkai {
  /* 地図ボタン　東京 */
}
.hiruenkai .area-map__btn--tokyo-01 {
  width: 27rem;
  top: 5rem;
  left: 36rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-01 {
    width: 14rem;
    left: 16rem;
    top: 2rem;
  }
}
.hiruenkai .area-map__btn--tokyo-02 {
  width: 18.5rem;
  top: 31rem;
  left: 18.6rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-02 {
    width: 10rem;
    left: 7.8rem;
    top: 14.8rem;
  }
}
.hiruenkai .area-map__btn--tokyo-03 {
  width: 25.5rem;
  top: 19rem;
  left: 43.8rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-03 {
    width: 13rem;
    left: 20.8rem;
    top: 9rem;
  }
}
.hiruenkai .area-map__btn--tokyo-04 {
  width: 29.5rem;
  top: 47rem;
  left: 40rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-04 {
    width: 16rem;
    left: 19rem;
    top: 22rem;
  }
}
.hiruenkai .area-map__btn--tokyo-05 {
  width: 18rem;
  top: 47rem;
  left: 12.2rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-05 {
    width: 8rem;
    left: 7rem;
    top: 22rem;
  }
}
.hiruenkai .area-map__btn--tokyo-06 {
  width: 15rem;
  top: 63rem;
  left: 43rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-06 {
    width: 7rem;
    top: 29rem;
    left: 21.5rem;
  }
}
.hiruenkai .area-map__btn--tokyo-07 {
  width: 23rem;
  top: 28rem;
  left: 43.8rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--tokyo-07 {
    width: 13rem;
    left: 20.8rem;
    top: 13.5rem;
  }
}
.hiruenkai .area-map__btn--akihabara-01 {
  width: 20rem;
  top: 29.6rem;
  left: 25rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--akihabara-01 {
    width: 10rem;
    left: 12.7rem;
    top: 14rem;
  }
}
.hiruenkai .area-map__btn--yurakucho-shiodome-01 {
  width: 16rem;
  top: 10rem;
  left: 53rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yurakucho-shiodome-01 {
    width: 8rem;
    left: 25.3rem;
    top: 4.5rem;
  }
}
.hiruenkai .area-map__btn--yurakucho-shiodome-02 {
  width: 23rem;
  top: 53rem;
  left: 34rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yurakucho-shiodome-02 {
    width: 12rem;
    left: 16rem;
    top: 25.5rem;
  }
}
.hiruenkai .area-map__btn--yurakucho-shiodome-03 {
  width: 16rem;
  top: 79rem;
  left: 53rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yurakucho-shiodome-03 {
    width: 8rem;
    left: 25rem;
    top: 37.6rem;
  }
}
.hiruenkai .area-map__btn--shibuya-01 {
  width: 18rem;
  top: 4.6rem;
  left: 39rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--shibuya-01 {
    width: 9rem;
    top: 2rem;
    left: 19rem;
  }
}
.hiruenkai .area-map__btn--yokohama-01 {
  width: 15rem;
  top: 3rem;
  left: 49.5rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yokohama-01 {
    width: 7rem;
    top: 1.5rem;
    left: 23.5rem;
  }
}
.hiruenkai .area-map__btn--yokohama-02 {
  width: 17rem;
  top: 11.7rem;
  left: 49.5rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yokohama-02 {
    width: 8rem;
    top: 5.8rem;
    left: 23.5rem;
  }
}
.hiruenkai .area-map__btn--yokohama-03 {
  width: 19rem;
  top: 6rem;
  left: 13rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yokohama-03 {
    width: 10rem;
    top: 3rem;
    left: 5rem;
  }
}
.hiruenkai .area-map__btn--yokohama-04 {
  width: 22rem;
  top: 34rem;
  left: 38rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--yokohama-04 {
    width: 12rem;
    top: 16rem;
    left: 16.5rem;
  }
}
.hiruenkai .area-map__btn--urawa-01 {
  width: 22rem;
  top: 1.5rem;
  left: 31.5rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--urawa-01 {
    width: 10.7rem;
    top: 0.5rem;
    left: 15rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-01 {
  width: 26rem;
  top: 9rem;
  left: 6.4rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-01 {
    width: 13rem;
    top: 4rem;
    left: 3rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-02 {
  width: 21rem;
  top: 17.5rem;
  left: 6.4rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-02 {
    width: 10.5rem;
    top: 8.4rem;
    left: 3rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-03 {
  width: 21rem;
  top: 2.5rem;
  left: 48rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-03 {
    width: 11.5rem;
    top: 1rem;
    left: 23rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-04 {
  width: 21rem;
  top: 11rem;
  left: 48rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-04 {
    width: 11.5rem;
    top: 5.3rem;
    left: 23rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-05 {
  width: 26rem;
  top: 33rem;
  left: 40rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-05 {
    width: 12.5rem;
    top: 16rem;
    left: 19rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-06 {
  width: 21rem;
  top: 48rem;
  left: 30rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-06 {
    width: 11.5rem;
    top: 22.8rem;
    left: 14.5rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-07 {
  width: 21rem;
  top: 55rem;
  left: 30rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-07 {
    width: 11.5rem;
    top: 26.2rem;
    left: 14.5rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-08 {
  width: 19rem;
  top: 75rem;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-08 {
    width: 11rem;
    top: 36rem;
    left: -1rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-09 {
  width: 19rem;
  top: 85rem;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-09 {
    width: 11rem;
    top: 41.5rem;
    left: -1rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-10 {
  width: 23rem;
  top: 76rem;
  left: 45rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-10 {
    width: 12rem;
    top: 35.8rem;
    left: 22.5rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-11 {
  width: 19rem;
  top: 80rem;
  left: 25.5rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-11 {
    width: 10rem;
    top: 38rem;
    left: 12rem;
  }
}
.hiruenkai .area-map__btn--osaka-kita-12 {
  width: 31rem;
  top: 112rem;
  left: 3.5rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--osaka-kita-12 {
    width: 17rem;
    top: 53.5rem;
    left: 2rem;
  }
}
.hiruenkai .area-map__btn--kyoto-01 {
  width: 27rem;
  top: 10.3rem;
  left: 29rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--kyoto-01 {
    width: 14.5rem;
    left: 13.5rem;
    top: 4rem;
  }
}
.hiruenkai .area-map__btn--kyobashi-01 {
  width: 24rem;
  top: 23.3rem;
  left: 32rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--kyobashi-01 {
    width: 12.5rem;
    left: 15.5rem;
    top: 11rem;
  }
}
.hiruenkai .area-map__btn--kyobashi-02 {
  width: 19rem;
  top: 29.7rem;
  left: 32rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .area-map__btn--kyobashi-02 {
    width: 9.5rem;
    left: 15.5rem;
    top: 14.3rem;
  }
}
.hiruenkai .shop {
  position: relative;
  min-height: 47rem;
  margin-bottom: 8rem;
}
.hiruenkai .shop__photo {
  position: absolute;
  top: 7rem;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 60%;
  max-width: 80rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .shop__photo {
    position: static;
    max-width: 112rem;
    width: 100%;
    margin-inline: auto;
  }
}
.hiruenkai .shop__detail {
  width: 37rem;
}
@media screen and (min-width: 1120px) {
  .hiruenkai .shop__detail {
    max-width: 30vw;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .hiruenkai .shop__detail {
    width: 100%;
  }
}
.hiruenkai .shop__name {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 1.3em;
  text-indent: -1.3em;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .hiruenkai .shop__name {
    font-size: 1.8rem;
    line-height: 1.6;
    margin-bottom: 1rem;
  }
}
.hiruenkai .shop__logo {
  width: 10.9rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .hiruenkai .shop__logo {
    display: block;
    margin: auto;
  }
}
.hiruenkai .shop__text {
  line-height: 1.8;
  margin-bottom: 2rem;
}
.hiruenkai .shop__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#606060), to(#414141));
  background: linear-gradient(180deg, #606060 0%, #414141 100%);
  width: 30.5rem;
  height: 5rem;
  padding: 0 2rem 0.1rem 2rem;
  margin-bottom: 2rem;
  color: #fff;
  font-weight: 500;
}
@media (hover: hover) {
  .hiruenkai .shop__btn {
    -webkit-transition: opacity 0.2s ease-in;
    transition: opacity 0.2s ease-in;
  }
  .hiruenkai .shop__btn:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .hiruenkai .shop__btn {
    width: 100%;
  }
}
@media (hover: hover) {
  .hiruenkai .shop__btn:hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#414141), to(#414141));
    background: linear-gradient(180deg, #414141 0%, #414141 100%);
  }
}
.hiruenkai .shop__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.72px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 767px) {
  .hiruenkai .shop__link {
    font-size: 1.6rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-left: 1rem;
  }
}
.hiruenkai .shop__link::before {
  content: "";
  position: relative;
  margin-right: 1rem;
  top: 0.6rem;
  left: 0;
  width: 0.7rem;
  height: 0.9rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='9' viewBox='0 0 7 9' fill='none'%3E%3Cpath d='M6.83105 4.34961L0 8.36719C1.12791 7.27636 1.83097 5.74868 1.83105 4.05566C1.83105 2.49165 1.23134 1.068 0.250977 0L6.83105 4.34961Z' fill='%23444444'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media (hover: hover) {
  .hiruenkai .shop__link:hover {
    text-decoration-line: none;
  }
}

/* utility*/
/* base */
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .u-tel {
    pointer-events: none;
  }
}

.u-center {
  text-align: center;
}

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

.u-mt0 {
  margin-top: 0;
}

.u-fwN {
  font-weight: normal;
}

.u-none {
  display: none !important;
}/*# sourceMappingURL=style.css.map */