@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@800&display=swap");
/* -----------------------------------------------------------------------------------
デフォルトCSS
----------------------------------------------------------------------------------- */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "メイリオ", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  color: #000;
  background: #ffffff;
  -webkit-text-size-adjust: 100%; /*スマホ横画面で文字の拡大・収縮防止用*/
  -webkit-font-smoothing: antialiased; /* 文字の太さを整える。Safari環境用 */
}

img {
  width: 100%;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.2em;
  word-break: break-all;
}
@media (1080px <= width) {
  a[href*=tel] {
    pointer-events: none; /* pcでリンクさせない */
  }
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
[class*=heading] {
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
}

h1 {
  font-size: clamp(28px, 4.1720990874vw, 32px);
}

h2 {
  font-size: clamp(20px, 2.2222222222vw, 24px);
}

h3 {
  font-size: clamp(18px, 1.8518518519vw, 20px);
}

h4 {
  font-size: clamp(17px, 1.6666666667vw, 18px);
}

nav {
  line-height: 1.5;
  letter-spacing: 0.05em;
}

header,
footer {
  line-height: 1.25;
}

main {
  font-size: 16px;
  line-height: 1.625;
}

/*--------------------------------------
body用CSS
----------------------------------------*/
/* 背景 */
body[class*=about] {
  background: url(../img/bg_border_pink.png) repeat, #fff;
  background-size: 700px;
}
body[class*=pick-up] {
  background: #acedfb;
}
body[class*=floor] {
  background: #fff1bf;
}
body[class*=food-booth], body[class*=cafe] {
  background: url(../img/bg_border_yellow.png) repeat, #fff;
  background-size: 700px;
}
body[class*=live] {
  background: #ffc1c8;
}
body[class*=collab-cafe] {
  background: #acedfb;
}
body[class*=news] {
  background: url(../img/bg_border_blue.png) repeat, #fff;
  background-size: 700px;
}
body[class*=access] {
  background: #fff1bf;
}
body[class*=contact] {
  background: #ffc1c8;
}

/* body直下に設定 */
.body-wrap {
  display: block;
  width: max(100%, 320px);
  min-height: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

/*--------------------------------------
パーツ用CSS
----------------------------------------*/
/* ----------------
// ボタン
---------------- */
.button {
  display: block;
  width: min(100%, 340px);
  height: 88px;
  line-height: 1;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  z-index: 1;
}
@media (width < 540px) {
  .button {
    height: 72px;
  }
}
.button::before {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 98px;
  border: 3px solid #000;
  -webkit-box-shadow: 3px 5px #000;
          box-shadow: 3px 5px #000;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.button a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 2px;
  text-align: center;
  font-size: clamp(16px, 1.6666666667vw, 18px);
  font-weight: 700;
  color: #000;
}

/* ----------------
// タイトル
---------------- */
.title {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: clamp(62px, 9.1264667536vw, 70px);
  line-height: 1.1 !important;
  letter-spacing: 0;
}

/* ----------------
// イメージフィルター
---------------- */
.img-frame {
  display: block;
  padding: 0 min(3.33%, 18.3px) min(3.33%, 18.3px) 0;
}
.img-frame--2 {
  padding: 0 min(6.66%, 36.6px) min(6.66%, 36.6px) 0;
}
.img-frame__body {
  display: block;
  width: 100%;
  padding: 84.51% 0 0;
  margin: 0;
  line-height: 1;
  font-size: 0;
  position: relative;
  z-index: 1;
}
.img-frame__body--wide {
  padding: 40.14% 0 0;
}
.img-frame__body::before, .img-frame__body::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 11px;
  border: 3px solid #000;
  background-color: #fff;
  position: absolute;
  top: min(3.33%, 18.3px);
  left: min(3.33%, 18.3px);
  z-index: -1;
}
.img-frame__body::after {
  display: none;
  top: min(6.66%, 36.6px);
  left: min(6.66%, 36.6px);
  z-index: -2;
}
.img-frame--2 .img-frame__body::after {
  display: block;
}

.img-frame__img {
  display: block;
  width: 100%;
  height: 100%;
  padding: min(11.41%, 64px) 0 0;
  margin: 0;
  border-radius: 11px;
  border: 3px solid #000;
  background-color: #fff1bf;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.img-frame__img::before, .img-frame__img::after {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  content: "";
  display: block;
  width: 100%;
  padding: min(11.41%, 64px) 0 0;
  border-radius: 11px 11px 0 0;
  border: 3px solid #000;
  background: #fff;
  position: absolute;
  top: -3px;
  left: -3px;
  z-index: 3;
}
.img-frame__img::after {
  border: none;
  background: url(../img/icon_img_filter_yellow.svg) left 4.63% center no-repeat;
  background-size: min(14.62%, 82px);
  top: 0;
  z-index: 4;
}
.img-frame__img--pink {
  background-color: #ffc1c8;
}
.img-frame__img--pink::after {
  background-image: url(../img/icon_img_filter_pink.svg);
}
.img-frame__img img {
  display: block;
  width: calc(100% + 3px); /* 謎の左余白対策 */
  height: calc(100% + 3px);
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  top: -3px;
  left: -3px; /* 謎の左余白対策 */
}

/* ----------------
// イメージフィルター２
// (Pink up)
---------------- */
.img-frame-2 {
  display: block;
  width: 100%;
  padding: 1.3333333333em 0 0;
  position: relative;
  z-index: 1;
}
.img-frame-2__body {
  display: block;
  width: 100%;
  padding: 109.59% 0 0;
  margin: 0;
  line-height: 1;
  font-size: 0;
  position: relative;
  z-index: 1;
}
.img-frame-2__body img {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border-radius: 10px;
  border: 3px solid #000;
  -o-object-fit: cover;
     object-fit: cover;
  line-height: 1;
  font-size: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.img-frame-2__body:not(:has(img)) {
  border-radius: 10px;
  border: 3px solid #000;
  background-color: #ffc1c8;
}
.img-frame-2__tag {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 8.3333333333em;
  height: 2.5833333333em;
  border-radius: 6px;
  border: 3px solid #000;
  background: #FFF;
  color: #000;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: clamp(20px, 2.2222222222vw, 24px);
  position: absolute;
  top: -2.6666666667em;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 3;
}

/* ----------------
// ブロックエディター上書き
---------------- */
.wp-block-heading {
  margin-bottom: 1.1em;
  font-weight: 600;
}

.wp-block-heading ~ .wp-block-heading {
  margin-top: 1.65em;
}

.wp-block-heading ~ p,
.wp-block-heading ~ ul,
.wp-block-heading ~ ol {
  margin-bottom: 1.65em;
}
.wp-block-heading ~ p a:not([class]),
.wp-block-heading ~ ul a:not([class]),
.wp-block-heading ~ ol a:not([class]) {
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.1em;
  text-underline-position: under;
  background-color: transparent;
}

.wp-block-heading ~ p:has(+ ul),
.wp-block-heading ~ p:has(+ ol) {
  margin-bottom: 1em;
}

.wp-block-image.size-full img {
  width: 100%;
}

.wp-block-group-is-layout-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
  width: 100%;
}

.wp-block-image img {
  width: min(100%, 380px);
}

.wp-block-image + [class*=wp-container-content-],
[class*=wp-container-content-]:has(+ .wp-block-image) {
  width: min(100%, 380px);
}

/* ----------------
// クラシックエディター上書き
---------------- */
.mce-content-body img {
  width: auto;
}
.mce-content-body ul {
  list-style: disc;
  padding-left: 1.5em;
}
.mce-content-body ol {
  list-style: decimal;
  padding-left: 1.5em;
}

/*--------------------------------------
ヘッダー
----------------------------------------*/
.header {
  display: block;
  width: 100%;
  height: 115px;
  padding: 32px 0 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
@media (width < 767px) {
  .header {
    height: 64px;
    padding: 8px 0 0;
  }
}
.header__inner {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
  width: calc(100% - clamp(20px, 3.7037037037vw, 40px));
  margin: 0 auto;
  height: 100%;
}
@media (width < 767px) {
  .header__inner {
    grid-template-columns: 1fr auto;
  }
}
.header__logo {
  width: clamp(160px, 31.6818774446vw, 243px);
}
.header__logo .custom-logo-link {
  display: block;
}
.header__logo .custom-logo {
  width: 100%;
  height: auto;
}
.header__nav-pc {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
}
@media (width < 767px) {
  .header__nav-pc {
    display: none;
  }
}
.header__list-sns .nav-menu, .header__list-btn .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 16px;
  width: 100%;
}
.header__list-sns .menu-item, .header__list-btn .menu-item {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.header__list-sns .menu-item::before, .header__list-btn .menu-item::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.header__list-sns .menu-item {
  display: block;
  width: 56px;
  height: 56px;
}
.header__list-sns .menu-item::before {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background: #000;
}
.header__nav-foot .header__list-sns .menu-item::before {
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid #fff;
  background: transparent;
}

.header__list-sns .menu-item a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0;
  position: relative;
}
.header__list-sns .menu-item a::before {
  content: "";
  display: none;
  width: 42.8571428571%;
  height: 42.8571428571%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header__list-sns .menu-item.type_x a::before {
  display: block;
  background-image: url(../img/icon_x_w.svg);
}
.header__list-sns .menu-item.type_in a::before {
  display: block;
  background-image: url(../img/icon_in_w.svg);
}
.header__list-sns .menu-item.type_fb a::before {
  display: block;
  background-image: url(../img/icon_fb_w.svg);
}
.header__list-btn .menu-item {
  display: block;
  min-width: 164px;
  height: 56px;
}
.header__list-btn .menu-item::before {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  background: #000;
}
.header__list-btn .menu-item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 2px;
  font-weight: 700;
  font-size: 18px;
  color: #fff;
}
.header__nav {
  display: block;
  width: 0;
  height: 100vh;
  background: #000;
  opacity: 0;
  overflow-x: scroll;
  color: #fff;
  position: absolute;
  top: 0;
  right: -200vw;
  z-index: 999;
  -webkit-transition: right 0.5s ease-in-out, opacity 0.3s ease-in-out;
  transition: right 0.5s ease-in-out, opacity 0.3s ease-in-out;
}
#header.type_mobile.click_btn .header__nav {
  width: min(100%, 480px);
  opacity: 1;
  right: 0;
  -webkit-transition: right 0.5s ease-in-out, opacity 0.3s ease-in-out;
  transition: right 0.5s ease-in-out, opacity 0.3s ease-in-out;
}

.header__nav-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - clamp(20px, 3.7037037037vw, 40px));
  margin: 0 auto;
  height: 115px;
  padding: 32px 0 0;
  background: #000;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  right: 0;
}
@media (width < 767px) {
  .header__nav-head {
    height: 64px;
    padding: 8px 0 0;
  }
}
.header__nav-foot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: calc(100% - clamp(20px, 3.7037037037vw, 40px));
  margin: 0 auto;
  height: 200vh;
  padding: clamp(16px, 3.1290743155vw, 24px) 0;
}
.header__open-btn {
  display: block;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #000;
  position: relative;
}
.header__open-btn::before {
  content: "";
  display: block;
  width: 0;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 997;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
#header.type_mobile.click_btn .header__open-btn::before {
  width: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}

.header__open-btn-inner {
  display: block;
  width: calc(100% - clamp(16px, 3.1290743155vw, 24px));
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header__open-btn-inner::before, .header__open-btn-inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: -8px;
  left: 0;
}
.header__open-btn-inner::after {
  top: 8px;
  left: 0;
}
.header__close-btn {
  display: inline-block;
  width: 56px;
  height: 56px;
  position: relative;
}
.header__close-btn::before, .header__close-btn::after {
  content: "";
  display: block;
  width: calc(100% - 16px);
  height: 2px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.header__close-btn::after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.header__list .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 16px; /* 他のリストを下に挿入する場合の余白 */
}
.header__list .menu-item {
  font-size: 20px;
  font-weight: 800;
}
.header__list .menu-item > a {
  display: block;
  padding: 16px 8px;
  border-bottom: 1px solid;
}
.header__list .sub-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  margin: 16px 0 8px 8px;
}
.header__list .sub-menu .menu-item {
  font-size: 0.75em;
  font-weight: 700;
}
.header__list .sub-menu .menu-item::before {
  content: "-";
  margin: 0 8px 0 0;
}
.header__list .sub-menu .menu-item > a {
  display: inline-block;
  padding: 0;
  border-bottom: none;
}
.header__list-switch .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 12px;
}
.header__list-switch .menu-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 12px;
}
.header__list-switch .menu-item.type_night::before {
  content: "";
  display: block;
  width: 1px;
  height: 24px;
  background: #666;
  position: relative;
}
.header__list-switch .menu-item a {
  display: block;
  width: 62px;
  height: 32px;
  font-size: 0px;
  opacity: 1;
  position: relative;
  z-index: 1;
}
.header__list-switch .menu-item a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/icon_day.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.header__nav-foot .header__list-switch .menu-item a::before {
  background-image: url(../img/icon_day_w.svg);
}

.header__list-switch .menu-item.type_night a {
  opacity: 0.4;
}
.header__list-switch .menu-item.type_night a::before {
  background-image: url(../img/icon_night.svg);
}
.header__nav-foot .header__list-switch .menu-item.type_night a::before {
  background-image: url(../img/icon_night_w.svg);
}

/*--------------------------------------
フッター
----------------------------------------*/
.footer {
  display: block;
  width: 100%;
  padding: clamp(64px, 9.3872229465vw, 72px) 0 clamp(24px, 4.1720990874vw, 32px);
  background: url(../img/bg_border_black.png) center, #000000;
  background-size: 700px;
  color: #fff;
}
.footer__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(calc(100% - clamp(20px, 3.7037037037vw, 40px)), 1200px);
  margin: 0 auto;
}
.footer__logo {
  display: block;
  width: min(100%, 222px);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin: 0 0 clamp(32px, 5.2151238592vw, 40px);
  line-height: 1;
}
.footer__logo a {
  display: block;
}
.footer__nav {
  display: block;
  width: 100%;
}
.footer__list-sns {
  display: block;
  width: 100%;
  margin: 0 0 clamp(32px, 5.2151238592vw, 40px);
}
.footer__list-sns .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
  width: 100%;
}
.footer__list-sns .menu-item {
  width: 177px;
  height: 64px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.footer__list-sns .menu-item::before {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 98px;
  border: 3px solid #000;
  -webkit-box-shadow: 3px 5px #000;
          box-shadow: 3px 5px #000;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.footer__list-sns .menu-item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6875em;
  width: 100%;
  height: 100%;
  padding: 0 0 2px;
  text-align: center;
  font-size: clamp(14px, 1.4814814815vw, 16px);
  font-weight: 700;
  color: #000;
}
.footer__list-sns .menu-item a::before {
  content: "";
  display: none;
  width: 1.625em;
  height: 1.625em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.footer__list-sns .menu-item.type_x a::before {
  display: block;
  background-image: url(../img/icon_x.svg);
}
.footer__list-sns .menu-item.type_in a::before {
  display: block;
  background-image: url(../img/icon_in.svg);
}
.footer__list-sns .menu-item.type_fb a::before {
  display: block;
  background-image: url(../img/icon_fb.svg);
}
.footer__list-live {
  display: block;
  width: 100%;
  margin: 0 0 clamp(48px, 7.3011734029vw, 56px);
}
.footer__list-live .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 24px;
}
.footer__list-live .menu-item a {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 0.2666666667em;
  font-weight: 400;
  font-size: 15px;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  text-align: center;
}
.footer__list-live .menu-item a::before {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.0666666667em;
  background: url(../img/icon_live.svg) center no-repeat;
  background-size: contain;
}
.footer__foot {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: clamp(24px, 4.1720990874vw, 32px);
  width: 100%;
}
@media (width < 540px) {
  .footer__foot {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer__list-foot .nav-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px clamp(24px, 4.1720990874vw, 32px);
}
.footer__list-foot .menu-item a {
  line-height: 1.25;
  color: #c7c7c7;
  font-weight: 400;
  font-size: 14px;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.footer__copyright {
  display: block;
  line-height: 1;
  color: #c7c7c7;
  font-weight: 400;
  font-size: 14px;
}

/*--------------------------------------
メイン
----------------------------------------*/
.main {
  display: block;
  width: 100%;
  min-height: 100vh;
  padding: 115px 0 128px; /* ヘッダーの高さ */
}
@media (width < 767px) {
  .main {
    padding: 64px 0 128px;
  }
}
.main:has(.main__section) {
  padding-bottom: 0; /* セクションがある場合、余白を消す */
}
.main__inner {
  display: block;
  width: calc(100% - clamp(20px, 3.7037037037vw, 40px));
  margin: 0 auto;
  max-width: 1800px;
}
.main__head {
  display: block;
  margin: 0 0 clamp(48px, 7.3011734029vw, 56px);
  line-height: 1.25;
  overflow: hidden;
}
.main__breadcrumb {
  display: block;
  margin: clamp(40px, 6.258148631vw, 48px) 0 clamp(48px, 7.3011734029vw, 56px);
  line-height: 1;
}
.main__contents {
  display: block;
  line-height: 1.8;
}
.main__pagination {
  display: block;
  margin: clamp(72px, 10.4302477184vw, 80px) 0 0;
  line-height: 1;
}
.main__section {
  display: block;
  padding: clamp(72px, 10.4302477184vw, 80px) 0 clamp(88px, 12.5162972621vw, 96px);
}
.main__section--lead {
  padding: 0 0 clamp(104px, 14.6023468057vw, 112px);
}
.main__section--pink {
  background: url(../img/bg_border_pink.png) repeat, #fff;
  background-size: 700px;
}
.main__section--blue {
  background: url(../img/bg_border_blue.png) repeat, #fff;
  background-size: 700px;
}
.main__section--yellow {
  background: url(../img/bg_border_yellow.png) repeat, #fff;
  background-size: 700px;
}
.main__section--black {
  background: url(../img/bg_border_black.png) repeat, #000;
  background-size: 700px;
}
.main__section-notbg {
  display: block;
  margin: 0 0 64px;
}
.main__container {
  display: block;
  width: min(calc(100% - clamp(20px, 3.7037037037vw, 40px)), 1200px);
  margin: 0 auto;
}
.main__heading {
  display: block;
  width: 100%;
  margin: 0 0 clamp(24px, 4.1720990874vw, 32px);
  font-size: clamp(42px, 6.518904824vw, 50px);
  text-align: center;
}
.main__heading--sub {
  margin: 0 0 16px;
  font-size: clamp(22px, 3.9113428944vw, 30px);
}
.main__lead {
  display: block;
  width: 100%;
  margin: 0 0 clamp(32px, 5.2151238592vw, 40px);
  text-align: center;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
.main__column--2 .main__lead,
.main__column--3 .main__lead,
.main__column--4 .main__lead {
  margin: 0 0 clamp(24px, 4.1720990874vw, 32px);
}

.main__img-caption {
  display: block;
  width: 100%;
  margin: 16px 0 0;
  line-height: 1.25;
}
.main__columns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: clamp(32px, 5.2151238592vw, 40px);
  width: 100%;
}
.main__column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.main__column--2 {
  width: calc((100% - 40px) / 2);
}
.main__column--3 {
  width: calc((100% - 40px) / 3);
}
.main__column--4 {
  width: calc((100% - 40px) / 4);
}
@media (width < 767px) {
  .main__column {
    width: min(100%, 560px);
  }
}
.main__txt-column {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em 0;
  width: 100%;
  font-size: 16px;
  line-height: 1.6;
}
.main__txt-column dt {
  margin: 0 1em 0 0;
  font-weight: 700;
}
.main__txt-column dd {
  margin: 0 2em 0 0;
  font-weight: 400;
}
.main__txt-column dd:has(+ dd) {
  margin: 0 1em 0 0;
}
.main__txt-column dd + dd {
  font-size: 14px;
}
.main__txt-column--row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.main__txt-column--row dt {
  margin: 0;
}
.main__txt-column--row dd {
  margin: 0 0 1.5em;
}
.main__txt-column--row dd:has(+ dd) {
  margin: 0;
}
.main__txt-column--row dd + dd {
  font-size: 14px;
}

/* ----------------
// パンクズリスト
---------------- */
.breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 0;
}
.breadcrumb li {
  text-align: left;
  font-weight: 700;
  font-size: 16px;
  color: #5c5c5c;
}
.breadcrumb li:not(:last-of-type)::after {
  content: ">";
  margin: 0 8px;
  font-weight: 400;
  color: #000;
}
.breadcrumb li a {
  font-weight: 400;
  text-decoration: underline;
  color: #000;
}

/* -----------------------------------------------------------------------------------
HOME用CSS
----------------------------------------------------------------------------------- */
.home {
  display: block;
  width: 100%;
}
.home__main {
  padding: 0;
}
.home__fv {
  display: block;
  width: 100%;
  padding: 131px 0 clamp(32px, 5.2151238592vw, 40px);
  background: #ffc1c8;
  background: url(../img/bg_border_pink.png) repeat, #ffc1c8;
  background-size: 700px;
}
@media (width < 767px) {
  .home__fv {
    padding: 104px 0 clamp(48px, 7.3011734029vw, 56px);
  }
}
.home__section {
  display: block;
  width: 100%;
  padding: 90px 0 clamp(96px, 13.5593220339vw, 104px);
}
.home__section--about {
  opacity: 1;
  position: relative;
  z-index: 1;
}
.home__section--about::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/bg_border_pink.png) repeat, #fff;
  background-size: 700px;
  opacity: 0.5;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.home__section--pick-up {
  background: #acedfb;
}
.home__section--floor {
  background: #fff1bf;
}
.home__section--live {
  background: #ffc1c8;
}
.home__section--cafe {
  background: #acedfb;
}
.home__section--news {
  background: url(../img/bg_border_blue.png) repeat, #fff;
  background-size: 700px;
}
.home__section--access {
  background: #fff1bf;
}
.home__section--contact {
  background: #ffc1c8;
}
.home__section--follow {
  background: url(../img/bg_border_black.png) repeat, #000;
  background-size: 700px;
  color: #fff;
}
.home__container {
  display: block;
  width: min(calc(100% - clamp(20px, 3.7037037037vw, 40px)), 1200px);
  margin: 0 auto;
}
.home__title {
  display: block;
  width: 100%;
  margin: 0 0 clamp(56px, 8.3441981747vw, 64px);
  font-size: clamp(48px, 5.9259259259vw, 64px);
  text-align: center;
}
.home__title--left {
  text-align: left;
}
.home__title--pc-left {
  text-align: left;
}
@media (width < 767px) {
  .home__title--pc-left {
    text-align: center;
  }
}
.home__lead {
  text-align: center;
}
.home__contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: clamp(32px, 5.2151238592vw, 40px) clamp(16px, 2.2222222222vw, 24px);
  width: 100%;
}
.home__contents--row {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.home__contents--pc-row {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
}
@media (width < 767px) {
  .home__contents--pc-row {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.home__about-cont-left {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em 0;
  width: min(100%, 598px);
}
.home__about-cont-left .home__title {
  margin: 0;
}
.home__about-cont-left p {
  line-height: 2;
  font-weight: 500;
}
.home__about-cont-right {
  width: min(100%, 547px);
}
.home__access-cont-left {
  width: min(100%, 623px);
}
.home__access-cont-right {
  width: min(100%, 525px);
}
.home__btn-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: clamp(24px, 4.1720990874vw, 32px) clamp(32px, 5.2151238592vw, 40px);
  width: 100%;
  margin: clamp(48px, 7.3011734029vw, 56px) 0 0;
}

/*--------------------------------------
ファーストビュー用CSS（プラグイン使用）

【XO Slider】
テンプレート CSS: 組み込まない
Swiper のバージョン: デフォルト
テンプレート: Simple
効果: Slide
コンテンツ: ON
ループ: ON
自動高さ調整:ON
グループ単位: 1
表示単位: 1.5
間のスペース: 40px
中央配置: ON
----------------------------------------*/
.fv-slider .splide {
  padding: 0 0 48px 0;
}
.fv-slider .splide__track {
  display: block;
  width: 100%;
  min-width: 100%;
  min-width: 100vw;
  padding: 0 0 13px 0;
  overflow: hidden;
}
.fv-slider .splide__slide {
  display: block;
  width: min(100%, 1140px);
  padding-top: clamp(50px, 5.09%, 58px);
  border-radius: 10px;
  -webkit-box-shadow: 10px 13px 0 #000;
          box-shadow: 10px 13px 0 #000;
  position: relative;
  z-index: 1;
}
@media (width < 767px) {
  .fv-slider .splide__slide {
    padding: clamp(24px, 10.8%, 35px) 0 0;
    -webkit-box-shadow: 7px 10px 0 #000;
            box-shadow: 7px 10px 0 #000;
  }
}
.fv-slider .splide__slide::before, .fv-slider .splide__slide::after {
  content: "";
  display: block;
  width: 100%;
  padding: clamp(50px, 5.09%, 58px) 0 0;
  border-radius: 10px 10px 0 0;
  border: 3px solid #000;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media (width < 767px) {
  .fv-slider .splide__slide::before, .fv-slider .splide__slide::after {
    padding: clamp(24px, 10.8%, 35px) 0 0;
  }
}
.fv-slider .splide__slide::after {
  border: none;
  background: url(../img/icon_img_filter_pink.svg) left 4.63% center no-repeat;
  background-size: clamp(64px, 7.19%, 82px);
  top: 3px;
  z-index: 4;
}
@media (width < 767px) {
  .fv-slider .splide__slide::after {
    background-size: clamp(40px, 15.43%, 50px);
  }
}
.fv-slider .splide__slide a {
  display: block;
  width: 100%;
  border-radius: 10px;
  border: 3px solid #000;
  overflow: hidden;
  position: relative;
}
.fv-slider .splide__img {
  display: block;
  width: 100%;
  height: auto;
  padding: 40.350877193% 0 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #ffffff;
}
@media (width < 767px) {
  .fv-slider .splide__img {
    display: none;
  }
}
.fv-slider .splide__img--mobile {
  display: none;
}
@media (width < 767px) {
  .fv-slider .splide__img--mobile {
    display: block;
    padding: 75% 0 0;
  }
}
.fv-slider .splide__pagination__page {
  width: 42px;
  height: 5px;
  border-radius: 20px;
  background: #fff;
}
.fv-slider .splide__pagination__page.is-active {
  background: #CA3B4C;
  -webkit-transform: none;
          transform: none;
  z-index: 1;
}
@media (width < 767px) {
  .fv-slider .splide__pagination__page {
    width: 25px;
    height: 3px;
  }
}

/* -----------------------------------------------------------------------------------
記事ページ用CSS
----------------------------------------------------------------------------------- */
.s-news-title {
  margin: 0 0 clamp(24px, 4.1720990874vw, 32px);
  font-size: clamp(28px, 4.1720990874vw, 32px);
  font-weight: 700;
  text-align: left;
}
.s-news-head-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
}
.s-news-head-cont__date {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: clamp(16px, 3.1290743155vw, 24px);
  letter-spacing: 0;
  line-height: 1;
}
.s-news-head-cont__date--md {
  display: inline;
  font-size: 2.6666666667em;
}
.s-news-head-cont__tag {
  display: inline-block;
  padding: 6px 8px 8px;
  border-radius: 40px;
  border: 2px solid;
  line-height: 1;
  font-weight: 600;
  font-size: 14px;
}
.s-news-contents {
  line-height: 2;
}
.s-news-contents .single-thumbnail img {
  -o-object-fit: cover;
     object-fit: cover;
}
.s-news-contents .wp-block-image.size-full img {
  width: 100%;
}
.s-news-contents .wp-block-group-is-layout-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 16px;
  width: 100%;
}
.s-news-contents .wp-block-image img {
  width: min(100%, 380px);
}
.s-news-contents .wp-block-image + [class*=wp-container-content-],
.s-news-contents [class*=wp-container-content-]:has(+ .wp-block-image) {
  width: min(100%, 380px);
}
.s-news-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
  margin: 120px 0 0;
}

.s-event-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(24px, 4.1720990874vw, 32px) 0;
  width: min(100%, 880px);
  padding: clamp(24px, 3.7037037037vw, 40px) clamp(24px, 3.7037037037vw, 40px) clamp(32px, 5.1851851852vw, 56px);
  margin: 0 auto;
  border-radius: 10px;
  border: 4px solid #000;
  background: #FFF;
  -webkit-box-shadow: 8px 12px 0px 0px #000;
          box-shadow: 8px 12px 0px 0px #000;
}
.s-event-head-cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  line-height: 1;
}
.s-event-head-cont--title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0 0 1em;
  border-bottom: 1px solid #D9D9D9;
}
.s-event-title {
  font-size: clamp(32px, 4.4444444444vw, 48px);
  font-weight: 700;
  text-align: left;
}
.s-event-title--center {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  text-align: center;
}
.s-event-title--sub {
  font-size: clamp(18px, 1.8518518519vw, 20px);
}
.s-event-date.a-event-list__date,
.s-event-date .a-event-list__date {
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: clamp(16px, 2.3468057366vw, 18px);
  letter-spacing: 0;
  line-height: 1;
}
.s-event-contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(32px, 4.4444444444vw, 48px) 0;
}
.s-event-section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em 0;
  width: 100%;
  line-height: 1.8;
  font-size: 16px;
}
.s-event-section--link a {
  color: #505050;
  text-decoration: underline;
}
.s-event-section--txt-f img {
  width: auto;
}
.s-event-section--txt-f h3,
.s-event-section--txt-f h4,
.s-event-section--txt-f h5 {
  margin-top: 1.5em;
  line-height: 1.5;
}
.s-event-section--txt-f h3:first-child,
.s-event-section--txt-f h4:first-child,
.s-event-section--txt-f h5:first-child {
  margin-top: 0;
}
.s-event-section--txt-f ul {
  list-style: disc;
  padding-left: 1.5em;
}
.s-event-section--txt-f ul li {
  padding-left: 0.25em;
}
.s-event-section--txt-f ul li::marker {
  color: #505050;
}
.s-event-section--txt-f ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.s-event-section--txt-f ol li {
  padding-left: 0.25em;
}
.s-event-section--txt-f ol li::marker {
  color: #505050;
}
.s-event-thumbnail img {
  width: 100%;
  height: auto;
}
.s-event-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 24px;
  margin: 120px 0 0;
}
.s-event-sub-title {
  font-size: clamp(32px, 5.2151238592vw, 40px);
  margin: clamp(134px, 15.6453715776vw, 120px) 0 clamp(24px, 4.1720990874vw, 32px);
}

/* -----------------------------------------------------------------------------------
アーカイブページ用CSS
----------------------------------------------------------------------------------- */
.a-news-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(40px, 6.258148631vw, 48px);
  width: 100%;
  min-height: calc(148px + clamp(40px, 6.258148631vw, 48px) * 3);
}
.a-news-list--home {
  min-height: auto;
}
.a-news-list__item a {
  display: grid;
  grid-template: "date tag ttl" auto/auto 104px 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  width: 100%;
}
@media (width < 767px) {
  .a-news-list__item a {
    grid-template: "date tag -" auto "ttl ttl ttl" auto/auto 104px 1fr;
    gap: 16px 8px;
  }
}
.a-news-list__date {
  grid-area: date;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: 22px;
  letter-spacing: 0;
}
.a-news-list__tag {
  grid-area: tag;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(100%, 94px);
  height: clamp(32px, 3.4259259259vw, 37px);
  padding: 2px 2px 4px;
  border-radius: 40px;
  border: 2px solid;
  line-height: 1;
  font-weight: 700;
  font-size: 14px;
}
.a-news-list__title {
  grid-area: ttl;
  display: block;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.03em;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  line-height: 1.5;
}
.a-news-pagination {
  display: block;
  width: 100%;
  text-align: center;
}
.a-news-pagination ul.page-numbers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px clamp(24px, 4.1720990874vw, 32px);
  width: 100%;
  padding: 0;
  line-height: 1;
  font-size: 26px;
}
.a-news-pagination ul.page-numbers li {
  width: 2.3076923077em;
  height: 2.3076923077em;
  position: relative;
  z-index: 1;
}
.a-news-pagination ul.page-numbers li:not(:has(.prev, .next)) {
  color: #000;
}
.a-news-pagination ul.page-numbers li:not(:has(.prev, .next))::before {
  content: "";
  display: block;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 3px solid;
  background: #fff;
  -webkit-box-shadow: 4px 4px 0 #000;
          box-shadow: 4px 4px 0 #000;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.a-news-pagination ul.page-numbers li:not(:has(.prev, .next)):has(.current)::before {
  background: #afafaf;
}
.a-news-pagination ul.page-numbers .pagination-icon {
  width: 2.3076923077em;
  height: 2.3076923077em;
  position: relative;
  z-index: 1;
}
.a-news-pagination ul.page-numbers .pagination-icon::before {
  content: "";
  display: block;
  display: block;
  width: 1em;
  height: 1em;
  border: 2px solid #afafaf;
  border-width: 5px 5px 0 0;
  border-width: 0 0 5px 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  z-index: -1;
}
.a-news-pagination ul.page-numbers .pagination-icon--next::before {
  border-color: #000;
  border-width: 5px 5px 0 0;
}
.a-news-pagination ul.page-numbers .page-numbers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 0 2px;
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  font-style: normal;
  font-size: 1em;
  text-align: center;
  color: unset;
}
.a-news-pagination ul.page-numbers:not(:has(.prev))::before {
  content: "";
  width: 2.3076923077em;
  height: 2.3076923077em;
}
.a-news-pagination ul.page-numbers:not(:has(.next))::after {
  content: "";
  width: 2.3076923077em;
  height: 2.3076923077em;
}

.a-event-pagination {
  display: grid;
  grid-template: "btn_1 ttl btn_2"/auto 1fr auto;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px 8px;
  width: 100%;
  margin: 0 0 clamp(24px, 4.1720990874vw, 32px);
}
@media (width < 767px) {
  .a-event-pagination {
    grid-template: "ttl ttl ttl" auto "btn_1 - btn_2" auto/auto 1fr auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.a-event-pagination__title {
  grid-area: ttl;
  font-size: 26px;
  font-weight: 900;
  text-align: center;
}
.a-event-pagination__title--num {
  font-size: 1.5384615385em;
  line-height: 1;
}
.a-event-pagination__btn {
  grid-area: btn_1;
  display: block;
  width: 123px;
  height: 58px;
  line-height: 1;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.a-event-pagination__btn::before {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  border: 3px solid #000;
  -webkit-box-shadow: 5px 3px 0 #000;
          box-shadow: 5px 3px 0 #000;
  background-color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.a-event-pagination__btn a {
  display: grid;
  grid-template-columns: 8px 3em;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 16px;
  width: 100%;
  height: 100%;
  padding: 0 0 2px;
  font-weight: 700;
  font-size: 20px;
  text-align: left;
}
.a-event-pagination__btn a::before, .a-event-pagination__btn a::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid;
  border-width: 0 0 2px 2px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.a-event-pagination__btn a::after {
  display: none;
  border-width: 2px 2px 0 0;
}
.a-event-pagination__btn--next {
  grid-area: btn_2;
}
.a-event-pagination__btn--next a {
  grid-template-columns: 3em 8px;
  text-align: right;
}
.a-event-pagination__btn--next a::before {
  display: none;
}
.a-event-pagination__btn--next a::after {
  display: block;
}
@media (width < 767px) {
  .a-event-list-wrap {
    width: 100%;
  }
}
.a-event-list {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: clamp(32px, 5.2151238592vw, 40px);
  width: 100%;
}
@media (width < 767px) {
  .a-event-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(100% - 24px);
    margin: 0 auto;
  }
}
@media (width < 767px) {
  .a-event-list:has(> .a-event-list__item + .a-event-list__item) {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    padding: 0 clamp(12px, 4.1720990874vw, 32px) 24px;
    margin: 0;
    overflow-y: hidden;
    overflow-x: scroll;
    cursor: pointer;
    -ms-touch-action: pan-x;
        touch-action: pan-x;
  }
  .a-event-list:has(> .a-event-list__item + .a-event-list__item)::-webkit-scrollbar {
    background: #000;
  }
  .a-event-list:has(> .a-event-list__item + .a-event-list__item)::-webkit-scrollbar-thumb {
    background-color: white;
    border: 2px solid #5c5c5c;
  }
  .a-event-list:has(> .a-event-list__item + .a-event-list__item)::-webkit-scrollbar-thumb:hover {
    background-color: #ffc1c8;
    border-color: #fff;
  }
}
.a-event-list__item {
  width: 100%;
  border-radius: 10px;
  border: 3px solid #000;
  background: #fff;
  -webkit-box-shadow: 8px 7px 0 #000;
          box-shadow: 8px 7px 0 #000;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media (width < 767px) {
  .a-event-list__item {
    width: min(100%, 300px);
    min-width: calc(100% - 8px);
    margin: 0 8px 0 0;
  }
}
@media (width < 767px) {
  .a-event-list__item:has(+ .a-event-list__item + .a-event-list__item) {
    min-width: 100%;
    margin: 0;
  }
}
.a-event-list__item a {
  display: grid;
  grid-template-columns: 25% 1fr;
  width: 100%;
  height: 100%;
}
@media (width < 767px) {
  .a-event-list__item a {
    grid-template-columns: 1fr;
  }
}
.a-event-list__left {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
}
.a-event-list__right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: 100%;
  padding: clamp(24px, 4.1720990874vw, 32px) 24px;
}
.a-event-list__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 8px 16px;
  width: 100%;
}
.a-event-list__thumbnail {
  display: block;
  width: 100%;
  padding: 66.67% 0 0;
  background-color: #bababa;
  overflow: hidden;
  position: relative;
}
.a-event-list__thumbnail:has(img) {
  background-color: transparent;
}
.a-event-list__thumbnail img {
  display: block;
  width: calc(100% + 3px);
  /* 謎の左余白対策 */
  height: calc(100% + 3px);
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.a-event-list__date {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: 0;
}
.a-event-list__date:has(+ .a-event-list__date)::after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  margin: 0 0 0 8px;
  background-color: #4f4f4f;
}
@media (width < 540px) {
  .a-event-list__date:has(+ .a-event-list__date)::after {
    display: none;
  }
}
.a-event-list__date--time {
  color: #4f4f4f;
}
.a-event-list__date--time br {
  display: none;
}
.a-event-list__date--end {
  gap: 8px;
}
.a-event-list__date--end::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1px;
  border-bottom: 1px solid;
}
.a-event-list__title {
  width: 100%;
  font-weight: 900;
  font-size: 24px;
}
.a-event-list__txt {
  width: 100%;
  font-weight: 700;
  font-size: 14px;
}
.a-event-list__excerpt {
  width: 100%;
  margin: -0.5em 0 0;
  font-weight: 400;
  font-size: 13px;
  color: #5c5c5c;
}
.a-event-not-contents {
  display: block;
  width: 100%;
  padding: clamp(32px, 5.2151238592vw, 40px) clamp(24px, 4.1720990874vw, 32px);
  margin: 0 auto;
  border-radius: 10px;
  border: 3px solid #000;
  -webkit-box-shadow: 8px 7px 0 #000;
          box-shadow: 8px 7px 0 #000;
  background: #fff;
}
@media (width < 767px) {
  .a-event-not-contents {
    width: calc(100% - 24px);
  }
}
.a-event-not-contents p {
  font-weight: 500;
  font-size: 18px;
}

.a-pick-up-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: clamp(42px, 6.518904824vw, 50px);
  width: 100%;
  height: 100%;
}
@media (width < 767px) {
  .a-pick-up-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(100% - clamp(12px, 4.1720990874vw, 32px));
    margin: 0 auto;
  }
}
@media (width < 767px) {
  .a-pick-up-list:has(> .a-pick-up-list__item + .a-pick-up-list__item) {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 100%;
    padding: 0 clamp(16px, 4.1720990874vw, 32px) 24px;
    margin: 0;
    overflow-y: hidden;
    overflow-x: scroll;
    cursor: pointer;
    -ms-touch-action: pan-x;
        touch-action: pan-x;
  }
  .a-pick-up-list:has(> .a-pick-up-list__item + .a-pick-up-list__item)::-webkit-scrollbar {
    background: #000;
  }
  .a-pick-up-list:has(> .a-pick-up-list__item + .a-pick-up-list__item)::-webkit-scrollbar-thumb {
    background-color: white;
    border: 2px solid #5c5c5c;
  }
  .a-pick-up-list:has(> .a-pick-up-list__item + .a-pick-up-list__item)::-webkit-scrollbar-thumb:hover {
    background-color: #ffc1c8;
    border-color: #fff;
  }
}
@media (width < 767px) {
  .a-pick-up-list__item {
    width: min(100%, 300px);
    min-width: 100%;
  }
}
.a-pick-up-list__item > a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px 0;
}

.a-food-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
.a-food-list__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  border-radius: 10px;
  border: 4px solid #000;
  background: #FFF;
  -webkit-box-shadow: 2px 4px 0px 0px #000;
          box-shadow: 2px 4px 0px 0px #000;
  overflow: hidden;
}
@media (width < 767px) {
  .a-food-list__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.a-food-list__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
  width: min(100%, 780px);
  padding: 20px;
}
@media (width < 767px) {
  .a-food-list__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px 20px 32px;
  }
}
.a-food-list__txt-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
.a-food-list__img-wrap {
  display: grid;
  grid-template: "img-1 img-3" 135px "img-2 img-3" 135px/1fr 1fr;
  width: min(100%, 420px);
}
@media (width < 767px) {
  .a-food-list__img-wrap {
    width: 100%;
    grid-template: "img-1 img-3" auto "img-2 img-3" auto/1fr 1fr;
  }
}
.a-food-list__logo img {
  width: 230px;
  height: 230px;
  border-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (width < 767px) {
  .a-food-list__logo img {
    width: 100%;
  }
}
.a-food-list__logo--not {
  width: 230px;
  height: 230px;
  border-radius: 10px;
  background-color: #5c5c5c;
}
@media (width < 767px) {
  .a-food-list__logo--not {
    width: 100%;
  }
}
.a-food-list__tag {
  color: #444;
  font-size: 14px;
  font-weight: 400;
}
.a-food-list__title {
  color: #000;
  font-size: clamp(22px, 2.5925925926vw, 28px);
  font-weight: 700;
}
.a-food-list__link {
  color: #FF445A;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
.a-food-list__link a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.a-food-list__link a::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/icon_link.svg) center no-repeat;
}
.a-food-list__img {
  grid-area: img-1;
  width: 100%;
  padding: 69.587628866% 0 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: #afafaf;
}
.a-food-list__img--2 {
  grid-area: img-2;
}
.a-food-list__img--3 {
  grid-area: img-3;
  padding: 123.0088495575% 0 0;
}

/* -----------------------------------------------------------------------------------
固定ページ
----------------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------------
各ページの差分

&--about
&--pick-up
&--floor
&--live
&--cafe
&--news
&--access
&--contact
----------------------------------------------------------------------------------- */
.floor-map {
  display: block;
  width: min(100%, 1000px);
  margin: 0 auto;
}
.floor-map--food {
  width: min(100%, 1200px);
}
.floor-map__inner {
  width: 100%;
  height: auto;
  padding: 53% 0 0;
  background-size: contain;
  position: relative;
}
.floor-map__inner img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.cafe-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px 16px;
  width: 100%;
  padding: 24px;
  border-radius: 10px;
  border: 4px solid #000;
  background: #FFF;
  -webkit-box-shadow: 2px 4px 0px 0px #000;
          box-shadow: 2px 4px 0px 0px #000;
}
@media (width < 767px) {
  .cafe-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 32px 24px 24px;
  }
}
.cafe-item__img-wrap {
  width: min(100%, 514px);
}
.cafe-item__img {
  display: block;
  width: 100%;
  padding: 67.7042801556% 0 0;
  border-radius: 10px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.cafe-item__text-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(24px, 2.962962963vw, 32px) 0;
  width: min(100%, 558px);
}
.cafe-item__heading {
  margin: 0 0 0.65em;
  color: #000;
  font-size: clamp(28px, 4.1720990874vw, 32px);
  font-style: normal;
  font-weight: 700;
}
.cafe-item__text {
  color: #000;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
}
.cafe-item__time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  margin: 0 0 0 1em;
  color: #000;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
}
@media (width < 540px) {
  .cafe-item__time {
    margin: 0;
  }
}

.access-map {
  display: block;
  width: 100%;
  height: auto;
  padding: 55.54% 0 0;
  position: relative;
}
.access-map img,
.access-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 白黒 */
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

/*--------------------------------------
Contact
----------------------------------------*/
main:has(.mw_wp_form_confirm) .contact-head,
main:has(.mw_wp_form_complete) .contact-head {
  margin-bottom: clamp(56px, 8.3441981747vw, 64px);
}

main:has(.mw_wp_form_confirm) .contact-title,
main:has(.mw_wp_form_complete) .contact-title {
  font-size: clamp(56px, 8.3441981747vw, 64px);
}

.contact-icon-list-wrap {
  display: block;
  width: 100%;
  margin: 0 0 clamp(72px, 10.4302477184vw, 80px);
  text-align: center;
}
.contact-icon-list {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(48px, 8.3441981747vw, 64px);
  position: relative;
  z-index: 1;
}
.contact-icon-list::after {
  content: "";
  width: 100%;
  height: 0;
  border-bottom: 1px dashed;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.contact-icon-list__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(64px, 10.4302477184vw, 80px);
  height: clamp(64px, 10.4302477184vw, 80px);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 50%;
  background: #000;
  font-weight: 700;
  font-size: 16px;
  color: #FFF;
}
.contact-icon-list__item--2, .contact-icon-list__item--3 {
  background: #fff;
  color: #000;
}
main:has(.mw_wp_form_confirm) .contact-icon-list__item--2,
main:has(.mw_wp_form_complete) .contact-icon-list__item--2 {
  background: #000;
  color: #FFF;
}

main:has(.mw_wp_form_complete) .contact-icon-list__item--3 {
  background: #000;
  color: #FFF;
}

@media (width < 767px) {
  .contact-txt {
    text-align: left;
  }
}

/* ----------------
// プラグイン用CSS
// MW WP Form
---------------- */
.form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(32px, 4.4444444444vw, 48px) 16px;
  width: min(100%, 800px);
  margin: 0 auto;
  /* デフォルト上書き */
  /* デフォルト上書き */
  /* 確認画面で非表示にする */
}
.form__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(32px, 4.4444444444vw, 48px) 16px;
  width: 100%;
}
.mw_wp_form_confirm .form__inner {
  padding: clamp(24px, 5.9259259259vw, 64px);
  border-radius: 20px;
  background: #FFF;
}

.form__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  width: 100%;
}
.form__item--btn {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px 16px;
  margin: 40px 0 0;
}
.mw_wp_form_confirm .form__item:not(.form__item--btn) {
  display: grid;
  grid-template-columns: 160px 1fr;
}
@media (width < 767px) {
  .mw_wp_form_confirm .form__item:not(.form__item--btn) {
    grid-template-columns: 1fr;
  }
}

.form__item-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  width: 100%;
}
.mw_wp_form_confirm .form__item-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}

.form__item-2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.form__title {
  font-size: 16px;
  font-weight: 700;
}
.form__title--required::after {
  content: "必須";
  display: inline-block;
  padding: 4px 8px;
  margin: 0 0 0 1em;
  background: #FF3C1E;
  color: #FFF;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.mw_wp_form_confirm .form__title--required::after {
  display: none;
}

.form__submit, .form__reset {
  width: min(100%, 300px);
  height: 80px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  border-radius: 98px;
  border: 3px solid #000;
  -webkit-box-shadow: 3px 5px #000;
          box-shadow: 3px 5px #000;
  background: #fff;
  color: #000000;
  font-weight: 700;
  font-size: 20px;
}
.form__reset {
  border-color: #FFF;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  background: #000000;
  color: #fff;
}
.form__input {
  width: 100%;
  height: 50px;
  padding: 8px;
  border-radius: 4px;
  background: #FFF;
  border: 2px solid !important;
}
.form__input:not([type*=checkbox]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form__select {
  width: 100%;
  height: 50px;
  padding: 8px;
  border-radius: 4px;
  background: #FFF;
  border: 2px solid;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form__textarea {
  width: 100%;
  min-height: 240px;
  padding: 8px;
  border-radius: 4px;
  background: #FFF;
  border: 2px solid;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form .mwform-tel-field {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  grid-template-columns: 1fr auto 1fr auto 1fr;
}
.form .mwform-checkbox-field label {
  display: grid;
  grid-template-columns: 24px 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  position: relative;
  z-index: 1;
}
.form .mwform-checkbox-field label input[type*=checkbox] {
  margin: 0;
  border: 2px solid;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.mw_wp_form_confirm .form .confirm-hidden {
  display: none;
}