@charset "UTF-8";
/**** lity ****/
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&display=swap");
.lity {
 background-color:rgba(255, 255, 255, .5607843137) !important;
}

.lity-content {
 padding:4% 3%;
 background-color:#ffffff;
}

.lity-image img {
 height:80vh;
 max-height:100%;

 -o-object-fit:contain;
    object-fit:contain;
}

@media (max-width: 769px) {
 .lity-image img {
  height:auto;
 }
}
.lity {
 -webkit-backdrop-filter:blur(3px);
         backdrop-filter:blur(3px);
}

[data-lity] {
 cursor:pointer;
}

[data-lity]:hover {
 opacity:.5;
 transition:.3s;
}

html:has(.lity-content) {
 overflow:hidden;
 background-color:#3b3b3b;

 scrollbar-gutter:stable;
}

/* font */
@font-face {
 font-style:normal;
 font-weight:400;
 font-family:"LINE Seed JP";

 src:url("../font/LINESeedJP_OTF_Rg.woff2") format("woff2");
 font-display:swap;
}
@font-face {
 font-style:normal;
 font-weight:700;
 font-family:"LINE Seed JP";

 src:url("../font/LINESeedJP_OTF_Bd.woff2") format("woff2");
 font-display:swap;
}
@font-face {
 font-style:normal;
 font-weight:900;
 font-family:"LINE Seed JP";

 src:url("../font/LINESeedJP_OTF_Eb.woff2") format("woff2");
 font-display:swap;
}
/* -------------------------------------------
ベース
------------------------------------------- */
html {
 scroll-behavior:smooth;
}

body {
 overflow-x:clip;
 background:#bdd9d4;
 font-family:"LINE Seed JP", sans-serif;
}

a:hover {
 opacity:.7;
}

address {
 font-style:normal;
}

div.header {
 z-index:10;
}

/* 調整 */
.sns {
 z-index:1;
}

/* ///// variable ///////////////////////////////// */
:root {
 --bg:#ffffff;
 --main-bg:#ffffff;
 --section-bg:#f4f4f4;
 --content-bg:#ffffff;
 --content-text:#000000;
 --content-em:#ea4b36;
 --content-ttl-bg:#000000;
 --content-ttl-text:#ffffff;
 --goods-bg:#ffffff;
 --goods-text:#000000;
 --goods-ttl-bg:#000000;
 --goods-ttl-text:#ffffff;
 --limited-ttl-bg:#e60012;
 --limited-ttl-color:#ffffff;
}

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

a {
 transition:opacity .2s ease;
}

a:hover {
 opacity:.6;
}

/* ///// foundation /////////////////////////////////  */
.f_default {
 position:relative;

 font-feature-settings:"palt" on;
}

.f_default img:not(:where(.l_cart img, .topics__banner img)) {
 width:100%;
 height:100%;

 -o-object-fit:contain;
    object-fit:contain;
}

.f_default a:not(:where(.l_cart a), .c_btn, .p_fotter_menu a) {
 text-decoration:none;
 transition:opacity .2s ease;
}

.f_default a:not(:where(.l_cart a)):hover {
 opacity:.6;
 /* transform: translate(1px, 1px); */
}

/* .f_default a[href^=""]:not(:where(.l_cart a)) {
  pointer-events: none;
} */
.f_default {
 width:95%;
 box-sizing:border-box;
 font-weight:500;
 font-size:min(1.5vw, 16px);
 line-height:1.5;
 font-family:inherit;
 letter-spacing:.03vw;

 margin-inline:auto;
}

.mada {
 display:none !important;
}

a[href=""]:not(.lb-next):not(.lb-prev) {
 pointer-events:none;
}

/* ///// layout /////////////////////////////////  */
.l_body {
 width:100%;
 margin:0 auto;
 background:var(--bg);
 background-size:10px 10px;
 font-style:normal;
}

.l_main {
 position:relative;
 width:min(100%, 1100px);
 background:var(--bg);
 font-family:"LINE Seed JP", sans-serif;
}

.l_content {
 margin-block-end:1rem;
}
.l_content.l_content--nomargin {
 margin-block-end:0;
}

/* @media (max-width: 769px) {
  .l_main {
    max-width: 900px;
  }
} */
/* section */
.l_section-inner {
 display:flex;
 flex-direction:column;
 position:relative;
 padding:5% 3.5% 3.5%;
 /* border: 1.2vw solid #45904A; */
 background:#ffffff;

 gap:4rem;
 /* border-image: linear-gradient(20deg, #EDD628, #45904A) 1; */
}

.l_section-inner.l_section-inner-transparent {
 padding:5% 3.5% 7%;
 background:transparent;
}

/* footer */
.l_fotter {
 padding-top:5%;
 padding-top:0;
 background-color:#211815;
}

/* ////////// nav //////////  */
/* color */
:root {
 --nav_bg:#595757;
 --nav_clausearea:#251713ab;
 --nav_color:#ffffff;
 --nav_shikiri:#ffffff;
}

/* 大枠 */
.l_gnav_wrap {
 display:flex;
 position:sticky;
 top:64px;
 z-index:100;
 width:100%;
}

.l_gnav_wrap a {
 color:var(--nav_color);
 text-decoration:none;
 white-space:nowrap;
}

.l_gnav_wrap a img {
 width:100%;
 height:100%;

 -o-object-fit:contain;
    object-fit:contain;
}

.l_gnav_wrap a:hover {
 opacity:.5;
 transition:.3s;
}

/* pc */
.l_gnav {
 display:flex;
 justify-content:center;
 align-items:center;
 width:100%;
 padding:1.4vw 0;
 background-color:var(--nav_bg);
 /* border-top: 2px solid #fff;
   border-bottom: 3px solid #fff; */
}

.l_gnav span {
 display:flex;
 align-items:center;
 position:relative;
 font-size:clamp(15px, 1.9vw, 26px);
}

.l_gnav span:not(:first-child) {
 padding-left:2em;
}

.l_gnav span:not(:first-child)::before {
 /* font-size: inherit; */
 /* font-family: inherit; */
 display:block;
 position:absolute;
 top:0;
 left:-1vw;
 left:calc(1em - 3.5px);
 width:7px;
 height:1em;
 border-radius:1px;
 background:var(--nav_shikiri);
 content:"";
}

.l_gnav a {
 transform:rotate(.03deg);
 margin-left:1%;
 padding-left:1%;
 font-weight:900;
 font-size:inherit;
 line-height:1;
 font-family:inherit;
 /* height: min(3.8vh, 22px); */
 letter-spacing:.2vw;
}

@media (min-width: 1500px) {
 .l_gnav a {
  /* height: min(2.3vh, 31px); */
 }
}
.l_gnav_sp_head {
 padding-inline:.5em;
}

.l_gnav_sp {
 display:none;
}

/* sp */
@media (max-width: 769px) {
 .l_gnav_wrap {
  display:block;
  position:fixed;
  top:64px;
  right:0;
  z-index:100;
  height:100%;

  pointer-events:none;
 }
 .l_gnav {
  display:none;
 }
 .l_gnav_sp {
  display:block;
  position:sticky;
  top:64px;
  right:0;
  width:100vw;
  transition:.5s;

  pointer-events:auto;
 }
 /* チェックボックス非表示 */
 #p_gnav_sp_trigger {
  display:none;
 }
 /* 閉じ状態menu */
 .l_gnav_sp_headarea {
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  min-height:40px;
  background-color:var(--nav_bg);
  transition:.5s;
 }
 /* ハンバーガーマーク */
 .p_gnav_sp_btn {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  position:relative;
  z-index:1;
  height:40px;
  margin-left:auto;
 }
 .p_gnav_sp_btn span,
 .p_gnav_sp_btn span::before,
 .p_gnav_sp_btn span::after {
  display:block;
  width:25px;
  height:3px;
  margin-right:10px;
  border-radius:3px;
  background-color:var(--nav_color);
  transition:.3s;
 }
 .p_gnav_sp_btn span::before,
 .p_gnav_sp_btn span::after {
  position:absolute;
  content:"";
 }
 .p_gnav_sp_btn span::before {
  top:10px;
 }
 .p_gnav_sp_btn span::after {
  top:28px;
 }
 /* 閉じるマーク */
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .l_gnav_sp_head {
  opacity:0;
 }
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) :is(.l_gnav_sp_headarea, .p_gnav_sp_btn span) {
  background-color:initial;
 }
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .p_gnav_sp_btn span::before,
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .p_gnav_sp_btn span::after {
  top:25px;
  right:0;
 }
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .p_gnav_sp_btn span::before {
  transform:rotate(45deg);
 }
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .p_gnav_sp_btn span::after {
  transform:rotate(-45deg);
 }
 /* 閉じるマーク位置 */
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .p_gnav_sp_btn {
  position:fixed;
  top:0;
  right:0;
  background-color:inherit;
 }
 /* 閉じるエリア */
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .l_gnav_spclausearea {
  opacity:1;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:var(--nav_clausearea);
  transition:.5s;
 }
 /* spメニュー */
 .l_gnav_sp_menu {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-end;
  align-items:center;
  position:fixed;
  top:0;
  left:100%;
  width:60%;
  height:100%;
  margin-left:40%;
  padding-top:17%;
  background-color:var(--nav_bg);
  transition:.5s;

  pointer-events:auto;
  gap:1em;
 }
 /* メニュー開閉アニメーション用 */
 .l_gnav_sp:has(#p_gnav_sp_trigger:checked) .l_gnav_sp_menu {
  left:0;
 }
 /* 中身 */
 .l_gnav_sp_menu a {
  display:block;
  transform:rotate(.03deg);
  height:4.1vw;
  padding:.5em;
  font-weight:bold;
  font-size:min(4.5vw, 25px);
  line-height:1;
  text-align:center;
 }
 .l_gnav_sp_menu > span:first-child {
  margin-top:25%;
 }
 .l_gnav_sp_menu > span:not(:first-child) {
  margin-top:13%;
 }
 #n_pagetop {
  padding-top:40px;
 }
}
@media screen and (max-width: 428px) {
 .l_gnav_wrap,
 .l_gnav_sp {
  top:48px;
 }
}
[id^=n_]:target {
 scroll-margin:calc(min(9.8vw, 70px) + 64px);
}

@media (max-width: 769px) {
 [id^=n_]:target {
  scroll-margin:104px;
 }
}
@media screen and (max-width: 428px) {
 [id^=n_]:target {
  scroll-margin:88px;
 }
}
/* ///// component ///////////////////////////////// */
.c_text {
 transform:rotate(.03deg);
 padding-bottom:1em;
 color:var(--color-base);
 font-size:clamp(.875rem, .358rem + 2.21vw, 1.875rem);
 line-height:1.6;
 letter-spacing:.05em;
 word-break:keep-all;

 overflow-wrap:break-word;
}

@media (min-width: 1400px) {
 .c_text.fair-text-small {
  font-size:20px;
 }
}
.c_text_emphasis {
 color:#cd4264;
}

.c_text_emphasis-price {
 display:inline-flex;
 align-items:flex-end;
 color:#cd4264;
}

/* .c_text_emphasis-price--normal {
  color: #cd4264;
} */
.c_text_emphasis-price--small {
 font-size:.75em;
}

.c_text_rashinban {
 color:#0098da;
}

.c_text_large {
 font-size:1.2em;
}

.c_text_small {
 font-size:.5em;
 vertical-align:bottom;
}

.c_text_center {
 text-align:center;
}

.content-large-text {
 font-weight:800;
 font-size:clamp(25px, 25px + 19 * (100vw - 320px) / 780, 44px);
 line-height:1.2;
 text-align:center;
 word-break:keep-all;

 padding-block:.8em;
 overflow-wrap:break-word;
}

.content-large-text__attention {
 font-weight:bold;
 font-size:max(.3em, 16px);
}

.c_title {
 padding:.4em .5em;
 background:#595757;
 color:#ffffff;
 font-weight:800;
 font-size:clamp(20px, 20px + 15 * (100vw - 320px) / 780, 35px);
 line-height:1.2;
 letter-spacing:.1em;
 text-align:center;
}
.c_title:not(:first-of-type) {
 margin-top:2rem;
}

.c_second-title {
 padding:.4em .5em;
 background:#32b8ca;
 color:#ffffff;
 font-weight:800;
 font-size:clamp(20px, 20px + 11.9 * (100vw - 375px) / 725, 31.9px);
 line-height:1.2;
 letter-spacing:.1em;
 text-align:center;
}

/* ///// project ///////////////////////////////// */
/* top */
.p_topimg img {
 width:100%;
}

@media screen and (max-width: 768px) {
 .p_title-banner {
  margin-block-end:0rem;
 }
}
.p-title-second {
 position:relative;
 z-index:1;
 transform:translateY(.75em);
 width:-moz-fit-content;
 width:     fit-content;
 min-width:45%;
 margin-top:-.75em;
 padding:.5em max(5%, 32px);
 background:var(--content-ttl-bg);
 color:var(--content-ttl-text);
 font-weight:800;
 font-size:clamp(16px, 16px + 16 * (100vw - 320px) / 780, 32px);
 line-height:1.2;
}

/* shop-info */
.shop-info__detail {
 display:flex;
 flex-direction:column;
 width:100%;

 gap:1.5rem;
}

.shop-info__map iframe {
 width:100%;

 aspect-ratio:682/772;
}

.shop-info__text-area {
 font-size:clamp(24px, 3.1vw, 36px);
}

.shop-info__text {
 font-weight:900;
 line-height:1.5;
 letter-spacing:.02em;
 text-align:center;
}

.shop-info__detail-text {
 font-weight:700;
 font-size:clamp(20px, 2.6vw, 32px);
}

.shop-info__emphasis {
 color:var(--content-em);
}

.shop-info__access {
 padding-bottom:1em;
 font-weight:700;
 font-size:clamp(18px, 2.1vw, 25px);
 line-height:1.8;
 letter-spacing:.03em;
}
.shop-info__access:not(:last-child) {
 border-bottom:1px solid #000000;
}
.shop-info__access:not(:first-child) {
 padding-top:1em;
}

.shop-info__access-title {
 width:7em;
 font-weight:700;
 font-size:clamp(18px, 2.1vw, 25px);
}
.shop-info__access-title::before {
 content:"■";
}

@media screen and (min-width: 769px) {
 .shop-info {
  display:flex;
  flex-direction:column;
  align-items:center;

  gap:50px;
 }
 .shop-info__map iframe {
  aspect-ratio:1540/690;
 }
 .shop-info__access {
  display:flex;

  gap:1em;
 }
 .shop-info__access-title {
  width:7em;
 }
}
@media screen and (max-width: 768px) {
 .shop-info {
  display:flex;
  flex-direction:column;

  gap:32px;
 }
 .shop-info__map iframe {
  height:50vh;
 }
}
/* topics */
.topics {
 display:flex;
 flex-direction:column;
 align-items:center;

 gap:2rem;
}

.topics__catch-wrapper {
 display:flex;
 flex-direction:column;
 align-items:center;
 width:90%;

 margin-inline:auto;
}
@media (min-width: 769px) {
 .topics__catch-wrapper {
  width:80%;
 }
}
.topics__catch-wrapper::after {
 display:block;
 width:1rem;
 height:auto;
 background-image:url(../images/decoration-ttl-arrow.webp);
 background-size:contain;
 background-repeat:no-repeat;
 content:"";

 aspect-ratio:27/23;
}
@media (min-width: 769px) {
 .topics__catch-wrapper::after {
  width:1.69rem;
 }
}

.topics__catch {
 width:100%;
 border:solid 2px;
 font-weight:900;
 font-size:clamp(18px, 2.3vw, 42px);
 line-height:1.2;
 text-align:center;

 padding-block:1rem;
 text-box:trim-both cap alphabetic;
}

.topics__text-wrapper {
 display:flex;
 flex-direction:column;

 gap:.7rem;
}

.topics__text-wrapper--border {
 border:solid 2px;

 padding-block:1rem;
 padding-inline:1rem;
}
@media (min-width: 769px) {
 .topics__text-wrapper--border {
  padding-block:2rem;
  padding-inline:3rem;
 }
}

.topics__text {
 width:-moz-fit-content;
 width:     fit-content;
 font-weight:700;
 font-size:clamp(16px, 2.1vw, 30px);
 line-height:1.4;
 letter-spacing:.05em;
 text-align:center;

 margin-inline:auto;
}

.topics__text--small {
 font-weight:500;
 font-size:clamp(12px, 1.6vw, 16px);
}

.topics__emphasis {
 color:var(--content-em);
}

.topics__announce-text-parent {
 display:inline-block;
 position:relative;
 padding-bottom:.8em;
}

.topics__announce-text {
 position:absolute;
 top:2.3em;
 left:50%;
 transform:translateX(-50%);
 width:-moz-max-content;
 width:     max-content;
 font-size:.6em;
}

.topics__pic-silver-card {
 width:60%;
}

.topics__pic-illust-card-wrapper {
 display:flex;
 justify-content:center;

 gap:1rem;
}

.topics__pic-illust-card {
 width:30%;
}

.topics__banner {
 display:block;
 margin:auto;
 text-align:center;

 padding-block-start:2rem;
 padding-block-end:1rem;
}
@media (max-width: 769px) {
 .topics__banner {
  padding-block-start:1rem;
  padding-block-end:.5rem;
 }
}

.topics__btn {
 display:block;
 width:-moz-fit-content;
 width:     fit-content;
 border-radius:1000px;
 background-color:#d7063a;
 color:#ffffff;
 font-weight:900;
 font-size:32px;

 padding-inline:2rem;
 padding-block:.5rem;
 margin-inline:auto;
}
@media (max-width: 769px) {
 .topics__btn {
  font-size:14px;

  padding-inline:1rem;
  padding-block:.25rem;
 }
}

/* visitor-privileg */
.visitor-privilege__item {
 display:grid;

 grid-template-columns:41% auto;
 gap:32px;
}

.visitor-privilege__item--1column {
 grid-template-columns:1fr;
}
.visitor-privilege__item--1column .visitor-privilege__text {
 font-size:clamp(18px, 18px + 11.15 * (100vw - 375px) / 725, 29.15px);
}

.visitor-privilege {
 display:grid;
 padding-bottom:5%;

 grid-template-columns:1fr;
 gap:32px;
}

.visitor-privilege__sample {
 position:relative;
 width:-moz-fit-content;
 width:     fit-content;
 max-width:550px;

 margin-inline:auto;
}

.visitor-privilege__sample:has(.visitor-privilege__random-batch) {
 padding-top:5%;
 padding-left:5%;
}

.visitor-privilege__random-batch {
 position:absolute;
 top:0;
 left:0;
 width:20%;
}

.visitor-privilege__sample.visitor-privilege__sample--2column {
 display:grid;

 grid-template-columns:repeat(2, 1fr);
 gap:0 15px;
}

.visitor-privilege__sample-item--width-s {
 max-width:60%;

 margin-inline:auto;
}

.visitor-privilege__sample-attention {
 font-size:clamp(11px, 11px + 3 * (100vw - 320px) / 780, 14px);

 grid-column:2 span;
}

.visitor-privilege__img {
 display:block;
}

.visitor-privilege__caption {
 padding-top:.5em;
 font-size:clamp(12px, 12px + 4 * (100vw - 320px) / 780, 16px);
 line-height:1.2;
 text-align:center;
}

.visitor-privilege__title {
 margin-bottom:.7em;
 padding:.2em .5em;
 border-bottom:1px solid;
 background:#32b8ca;
 color:#ffffff;
 font-weight:800;
 font-size:clamp(20px, 20px + 11.9 * (100vw - 375px) / 725, 31.9px);
 line-height:1.2;
 text-align:center;
}

.visitor-privilege__text-box {
 padding-inline:3%;
}

.visitor-privilege__name {
 padding-bottom:.6em;
 color:var(--content-em);
 font-weight:800;
 font-size:clamp(25px, 25px + 15.7 * (100vw - 375px) / 725, 40.7px);
 line-height:1.3;
}

.visitor-privilege__text {
 font-weight:bold;
 font-size:clamp(16px, 16px + 5.45 * (100vw - 375px) / 725, 21.45px);
 line-height:1.7;
 letter-spacing:.05em;
 text-align:center;
}

.visitor-privilege__tax {
 font-size:.8em;
 vertical-align:middle;
}

.visitor-privilege__emphasis {
 color:var(--content-em);
}

.visitor-privilege__attention {
 padding-top:.5em;
 font-size:clamp(12px, 12px + 4 * (100vw - 320px) / 780, 16px);
}

@media screen and (max-width: 768px) {
 .visitor-privilege__item {
  display:flex;
  flex-direction:column;

  gap:16px;
 }
}
/* coming soon */
.coming-soon-image-wrapper {
 width:75%;

 padding-inline:2rem;
 margin-inline:auto;
}

/* small-text */
.small-text-65 {
 font-size:.65em;
 vertical-align:bottom;
}

.small-text-80 {
 font-size:.8em;
 vertical-align:bottom;
}

.font-weight-800 {
 font-weight:800;
}

/* purchase-benefits */
.purchase-benefits {
 padding-top:5%;
}

.purchase-benefits__item {
 padding-bottom:5%;

 padding-inline:3%;
}
.purchase-benefits__item:not(:last-child) {
 border-bottom:1px solid #000000;
}
.purchase-benefits__item:not(:first-child) {
 padding-top:6%;
}

.purchase-benefits__sample {
 display:flex;

 gap:20px;
}

.purchase-benefits__sample--width-s {
 max-width:595px;

 margin-inline:auto;
}

.purchase-benefits__sample-item {
 display:flex;
 flex-direction:column;
}

.purchase-benefits__caption {
 padding-top:.5em;
 font-size:clamp(12px, 12px + 4 * (100vw - 320px) / 780, 16px);
 line-height:1.2;
 text-align:center;
}

.purchase-benefits__sample.purchase-benefits__sample--balloon {
 width:95%;

 gap:0;
 margin-inline:auto;
}

.purchase-benefits__sample-item--ballon {
 display:flex;
 flex-direction:column;
}

.purchase-benefits__balloon {
 position:relative;
 width:90%;
 margin-top:1.4em;
 padding:.9em 1em .8em;
 border-radius:.5em;
 box-sizing:border-box;
 background:var(--balloon-bg);
 color:var(--balloon-color);
 font-size:clamp(11px, 11px + 7.7 * (100vw - 375px) / 725, 18.7px);

 --balloon-bg:#32b8ca;
 --balloon-color:#ffffff;
 margin-inline:auto;
}
.purchase-benefits__balloon::before {
 display:block;
 position:absolute;
 bottom:calc(100% - 1px);
 left:calc(50% - .5em);
 border-width:0 .5em 1em .5em;
 border-style:solid;
 border-color:transparent transparent var(--balloon-bg) transparent;
 content:"";
}

.purchase-benefits__balloon.purchase-benefits__balloon--secondary {
 --balloon-bg:#595757;
}

.purchase-benefits__balloon-text {
 font-weight:bold;
 line-height:1.2;
 text-align:center;
}

.purchase-benefits__detail {
 width:-moz-fit-content;
 width:     fit-content;
 padding-top:1.2em;
 font-size:clamp(18px, 18px + 11.15 * (100vw - 375px) / 725, 29.15px);

 margin-inline:auto;
}

.purchase-benefits__text {
 font-weight:bold;
 line-height:1.7;
 text-align:center;
}

.purchase-benefits__emphasis {
 color:var(--content-em);
}

@media screen and (max-width: 768px) {
 .purchase-benefits__sample {
  gap:5px;
 }
}
/* goods-card  上段値段表示付きbox*/
.goods-card__list {
 display:grid;

 grid-template-columns:repeat(3, 1fr);
 gap:14px;
}

@media screen and (max-width: 768px) {
 .goods-card__list {
  display:grid;

  grid-template-columns:1fr;
  gap:14px;
 }
}
.goods-card__attention {
 font-size:clamp(11px, 11px + 3 * (100vw - 320px) / 780, 14px);

 grid-column:3 span;
}

@media screen and (max-width: 769px) {
 .goods-card__attention {
  grid-column:1 span;
 }
}
.goods-card {
 display:grid;
 border:var(--goods-text) solid 1px;

 grid-template-rows:subgrid;
 grid-row:span 3;
}

.goods-card__amount {
 padding:.4em 1em;
 background:var(--goods-ttl-bg);
 color:var(--goods-ttl-text);
 font-weight:800;
 font-size:clamp(16px, 16px + 8 * (100vw - 320px) / 780, 24px);
 text-align:center;
 word-break:keep-all;

 overflow-wrap:break-word;
}

.goods-card__sample {
 display:grid;
 position:relative;
 padding:3rem 3rem 0rem 3rem;

 place-content:center;
}

.goods-card__img-wrapper {
 display:flex;
 position:relative;
}

.goods-card__img-wrapper.gap-8px {
 gap:8px;
}

.goods-card__img {
 display:block;
 width:100%;

 aspect-ratio:1/1;
}

.goods-card__img_3-5 {
 display:block;
 width:100%;

 aspect-ratio:3/5;
}

.goods-card__img_no-ratio {
 display:block;
 width:100%;
}

.goods-card__img img {
 width:100%;
 height:100%;

 -o-object-fit:contain;
    object-fit:contain;
 -o-object-position:center;
    object-position:center;
}

.goods-card__img.badge-02::before {
 display:block;
 position:absolute;
 top:5%;
 right:5%;
 width:27.5%;
 padding-top:30%;
 content:"";
}

.goods-card__img.badge-02::after {
 display:block;
 position:absolute;
 top:5%;
 right:5%;
 width:27.5%;
 height:300px;
 background:url(../images/badge_02.webp);
 background-size:contain;
 background-repeat:no-repeat;
 content:"";
}

.goods-card__img.badge-03::before {
 display:block;
 position:absolute;
 top:5%;
 right:5%;
 width:27.5%;
 padding-top:30%;
 content:"";
}

.goods-card__img.badge-03::after {
 display:block;
 position:absolute;
 top:5%;
 right:5%;
 width:27.5%;
 height:300px;
 background:url(../images/badge_03.webp);
 background-size:contain;
 background-repeat:no-repeat;
 content:"";
}

.goods-card__name {
 display:flex;
 justify-content:center;
 align-items:center;
 color:var(--goods-text);
 font-weight:700;
 font-size:clamp(14px, 14px + 11 * (100vw - 320px) / 780, 25px);
 line-height:1.2;
 text-align:center;
 word-break:keep-all;

 overflow-wrap:break-word;
 padding-block-end:1rem;
}

.goods-card__price {
 border-top:1px solid var(--content-ttl-bg);
 color:var(--goods-text);
 font-weight:800;
 font-size:clamp(14px, 14px + 14 * (100vw - 320px) / 780, 28px);
 text-align:center;
 word-break:keep-all;

 overflow-wrap:break-word;
}

.goods-card__tax {
 font-weight:800;
 font-size:.82em;
 vertical-align:bottom;
}

.goods-card__price-unit {
 font-size:.78em;
 vertical-align:bottom;
}

.goods-card__notion {
 position:absolute;
 top:5%;
 right:10%;
 font-size:11px;
}

.goods-card.goods-card--udx-limited .goods-card__sample {
 padding:.5rem 1rem 0rem 1rem;
}
.goods-card.goods-card--udx-limited .goods-card__name {
 font-size:16px;
}

@media screen and (max-width: 768px) {
 .goods-card__notion {
  position:absolute;
  top:10%;
  right:13%;
  font-size:11px;
 }
}
/* セクション内バナー */
.banner-wrapper {
 padding:min(4%, 3rem);
}

/* fair */
.fair__title {
 font-weight:800;
 font-size:clamp(18px, 18px + 12 * (100vw - 320px) / 780, 30px);
 text-align:center;
 word-break:keep-all;

 padding-block:.8em;
 overflow-wrap:break-word;
}

/* fair-card */
.fair-card__list {
 display:grid;

 grid-template-columns:repeat(3, 1fr);
 gap:14px;
}

@media screen and (max-width: 768px) {
 .fair-card__list {
  display:grid;

  grid-template-columns:1fr;
  gap:14px;
 }
}
.fair-card {
 /* border: var(--goods-text) solid 1px; */
 display:grid;

 grid-template-rows:subgrid;
 grid-row:span 2;
}

.fair-card.fair-card--full {
 grid-column:span 3;
}

.fair-card__text {
 font-weight:800;
 font-size:clamp(14px, 14px + 8 * (100vw - 320px) / 780, 22px);
}

.fair-card__attention {
 padding-top:.54em;
 font-weight:bold;
 font-size:clamp(11px, 11px + 3 * (100vw - 320px) / 780, 14px);
}

.fair-card__emphasis {
 color:#d64391;
}

.fair-card.fair-card--horizontal .fair-card__name--border {
 margin-bottom:.4em;
 padding-bottom:.3em;
 border-bottom:1px solid;
}

@media screen and (min-width: 769px) {
 .fair-card.fair-card--horizontal {
  grid-column:span 3;
  grid-template-columns:30% auto;
  grid-template-rows:1fr;
 }
 .fair-card.fair-card--horizontal .fair-card__info {
  padding-block:2rem;
 }
 .fair-card.fair-card--horizontal .fair-card__sample {
  padding:2rem 3rem 2rem 3rem;
 }
 .fair-card.fair-card--horizontal .fair-card__name--border {
  padding-top:.5em;
  text-align:left;
 }
}
@media screen and (max-width: 768px) {
 .fair-card.fair-card--full {
  grid-column:span 1;
 }
}
.fair-card__sample {
 /* padding: 3rem 3rem 0rem 3rem; */
 display:grid;
 position:relative;

 place-content:center;
}

.fair-card__img-wrapper {
 /* display: flex; */
}

.fair-card__img {
 display:block;
 width:100%;

 aspect-ratio:1/1;
}

.fair-card__img_no-ratio {
 display:block;
 width:100%;
 height:auto;
 /* flex: 1; */
}

.badge-04::before {
 display:block;
 position:absolute;
 top:25%;
 right:2%;
 width:8%;
 padding-top:10%;
 content:"";
}

.badge-04::after {
 display:block;
 position:absolute;
 top:25%;
 right:2%;
 width:8%;
 height:100px;
 background:url(../images/badge_04.webp);
 background-size:contain;
 background-repeat:no-repeat;
 content:"";
}

@media screen and (max-width: 768px) {
 .badge-04::before {
  display:block;
  position:absolute;
  top:34%;
  right:7%;
  width:10%;
  padding-top:10%;
  content:"";
 }
 .badge-04::after {
  display:block;
  position:absolute;
  top:34%;
  right:7%;
  width:10%;
  height:100px;
  background:url(../images/badge_04.webp);
  background-size:contain;
  background-repeat:no-repeat;
  content:"";
 }
}
.fair-card__img img {
 width:100%;
 height:100%;

 -o-object-fit:contain;
    object-fit:contain;
 -o-object-position:center;
    object-position:center;
}

.fair-card__img_no-ratio.fair-card__img--badge {
 position:relative;
 padding-right:3%;
}

.fair-card__4set-badge {
 position:absolute;
 top:0;
 right:0;
 width:15%;
}

.fair-card__name {
 color:var(--goods-text);
 font-weight:800;
 font-size:clamp(14px, 14px + 14 * (100vw - 320px) / 780, 28px);
 text-align:center;
 word-break:keep-all;

 overflow-wrap:break-word;
 padding-block-end:1rem;
}

.fair-card__info {
 padding-inline:1rem;
 padding-block:.75rem;
}

.fair-card__name--border {
 padding-bottom:.5em;
 color:var(--goods-text);
 font-weight:700;
 font-size:clamp(20px, 20px + 11.9 * (100vw - 375px) / 725, 31.9px);
 text-align:center;
 /* padding-top: 1em; */
 word-break:keep-all;

 overflow-wrap:break-word;
}

.fair-card__price--border {
 padding-top:.5em;
 border-top:1px solid var(--content-ttl-bg);
 color:var(--goods-text);
 font-weight:700;
 font-size:clamp(24px, 24px + 13.95 * (100vw - 375px) / 725, 37.95px);
 text-align:center;
 word-break:keep-all;

 overflow-wrap:break-word;
}

/* limited */
.limited-card__list {
 display:grid;

 grid-template-columns:repeat(2, 1fr);
 gap:14px;
}

@media screen and (max-width: 768px) {
 .limited-card__list {
  display:grid;

  grid-template-columns:1fr;
  gap:14px;
 }
}
.limited-title {
 font-weight:800;
 font-size:clamp(18px, 18px + 26 * (100vw - 320px) / 780, 44px);
 text-align:center;
 word-break:keep-all;

 padding-block:.8em;
 overflow-wrap:break-word;
}

/* badge */
.badge {
 position:relative;
}

.badge::before {
 position:absolute;
 top:-8%;
 left:-5%;
 width:100px;
 height:100px;
 background-image:url(../images/date.webp);
 background-size:100% 100%;
 content:"";
}

@media screen and (max-width: 768px) {
 .badge::before {
  position:absolute;
  top:-8%;
  left:-5%;
  width:70px;
  height:70px;
  background-image:url(../images/date.webp);
  background-size:100% 100%;
  content:"";
 }
}
.badge-en {
 position:relative;
}

.badge-en::before {
 position:absolute;
 top:-6%;
 right:-4%;
 width:60px;
 height:60px;
 background-image:url(../images/date-en.webp);
 background-size:100% 100%;
 content:"";
}

@media screen and (max-width: 950px) {
 .badge-en::before {
  position:absolute;
  top:-4%;
  right:-7%;
  width:50px;
  height:50px;
  background-image:url(../images/date-en.webp);
  background-size:100% 100%;
  content:"";
 }
}
@media screen and (max-width: 768px) {
 .badge-en::before {
  position:absolute;
  top:-6%;
  right:-2%;
  width:70px;
  height:70px;
  background-image:url(../images/date-en.webp);
  background-size:100% 100%;
  content:"";
 }
}
/* goods-title */
.goods-title {
 width:90%;
 max-width:850px;
 padding:.2em .5em .1em;
 border:3px solid #595757;
 box-sizing:border-box;
 color:#595757;
 font-weight:800;
 font-size:clamp(25px, 25px + 15.7 * (100vw - 375px) / 725, 40.7px);
 line-height:1.2;
 text-align:center;

 margin-inline:auto;
}

.goods-title--secondary {
 border-color:#ea4b36;
 color:#ea4b36;
}

/* goods-catch */
.goods-catch {
 width:100%;
 max-width:849px;
 padding-top:.1em;
 box-sizing:border-box;
 background:no-repeat center left/1.5em url(../images/bg-catch-l.webp), no-repeat center right/1.5em url(../images/bg-catch-r.webp);
 font-weight:bold;
 font-size:clamp(20px, 20px + 20.7 * (100vw - 375px) / 725, 35.7px);

 margin-block:.8em;
 margin-inline:auto;
 padding-inline:1.5em;
}

.goods-catch--secondary {
 width:-moz-fit-content;
 width:     fit-content;
 padding-top:0;
 background:none;
 font-weight:900;

 padding-inline:0;
}

.goods-catch__text {
 line-height:1.2;
 text-align:center;
}

.goods-catch__emphasis {
 color:var(--content-em);
}

/* sns-goods-list */
.sns-goods-list {
 display:grid;
 width:90%;
 max-width:900px;

 grid-template-columns:repeat(2, 1fr);
 gap:31px;
 margin-inline:auto;
}

.sns-goods-list__item {
 display:grid;

 grid-template-rows:subgrid;
 grid-row:2 span;
 gap:16px;
}

.sns-goods-list__name {
 display:flex;
 justify-content:center;
 align-items:center;
 font-weight:bold;
 font-size:18px;
 line-height:1.2;
 text-align:center;
}

@media screen and (max-width: 769px) {
 .sns-goods-list {
  display:flex;
  flex-direction:column;
 }
}
/* sns-goods */
.sns-goods {
 display:flex;
 width:80%;
 max-width:600px;

 gap:16px;
 margin-inline:auto;
}

/* sns-button */
.sns-button-wrap {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 padding-top:32px;

 gap:16px;
}

.sns-button {
 display:flex;
 justify-content:center;
 align-items:center;
 width:100%;
 max-width:420px;
 min-height:40px;
 padding:.5em .8em;
 overflow:hidden;
 border-radius:999px;
 background:#00a7c5;
 color:#ffffff;
 font-weight:800;
 font-size:clamp(18px, 18px + 8 * (100vw - 320px) / 780, 26px);
 line-height:1.2;
 text-decoration:none;
 text-align:center;
}
.sns-button.sns-button--second {
 background:#d64391;
}

@media screen and (max-width: 769px) {
 .sns-button-wrap {
  padding-top:16px;
 }
}
/* sns-campaign-info  */
.sns-campaign-info {
 padding:1.5rem 2rem;
 border:1px solid;
}

.sns-campaign-info__text {
 font-weight:700;
 font-size:clamp(16px, 16px + 10 * (100vw - 320px) / 780, 26px);
}

.sns-campaign-info__link {
 color:#d64391;
}

@media screen and (max-width: 769px) {
 .sns-campaign-info {
  padding:1rem;
 }
}
/* info section */
.p_info-text {
 padding-bottom:.3em;
 font-weight:900;
 font-size:clamp(22px, 22px + 13.75 * (100vw - 375px) / 725, 35.75px);
 line-height:1.5;
}
.p_info-text.p_info-text--secondary {
 color:#595757;
}

.p_info-text__emphasis {
 color:#595757;
}

.p_info-text--red {
 color:#d64391;
}

.p_info-opening-hours {
 display:flex;
 justify-content:center;
 border:2px solid #000000;
 border-radius:1100px;
 background:linear-gradient(180deg, #ffe240, #ffffff);
 color:#000000;
 font-weight:900;
 font-size:clamp(1.125rem, .03rem + 4.86vw, 3.375rem);

 padding-inline:1em;
}

.u-textDecoration01 {
 display:flex;
 justify-content:center;
 align-items:center;
 line-height:1;
 text-align:center;

 gap:1rem;
}
.u-textDecoration01::before,
.u-textDecoration01::after {
 display:block;
 width:2px;
 height:1.5rem;
 background-color:#000000;
 content:"";
}
.u-textDecoration01::before {
 transform:rotate(-45deg);
}
.u-textDecoration01::after {
 transform:rotate(45deg);
}

.u-textDecoration-text {
 font-weight:900;
 font-size:clamp(16px, 2.1vw, 30px);
 line-height:1;
}

.p_info-banner-wrapper {
 display:flex;
 flex-direction:column;

 gap:1rem;
}

.p_info-banner {
 display:inline-block;
 width:80%;
 margin:0 auto;
}

.c_info-btn {
 display:flex;
 justify-content:center;
 border-radius:1100px;
 background:#32b8ca;
 color:#ffffff;
 font-weight:900;
 font-size:clamp(21px, 21px + 17.5 * (100vw - 375px) / 725, 38.5px);
 line-height:1.2;
 text-align:center;

 padding-inline:1em;
 padding-block:.5em;
}

.page-footer {
 display:flex;
 flex-direction:column;
 width:100%;
 margin-top:1rem;
 padding:2rem;
 background-color:#3a3230;

 gap:2rem;
}

.page-footer__text-wrapper {
 display:flex;
 flex-direction:column;

 gap:.5rem;
}

.page-footer__text-attention {
 color:#ffffff;
 font-weight:700;
}

.page-footer-link-wrapper {
 display:flex;
 flex-direction:column;
 justify-content:center;
 justify-content:center;
 align-items:center;

 gap:1rem;
}
@media (min-width: 769px) {
 .page-footer-link-wrapper {
  flex-direction:row;
 }
}

.page-footer-link {
 width:-moz-fit-content;
 width:     fit-content;
 border-radius:50px;
 background-color:#ffffff;
 color:#3a3230;
 font-weight:800;
 font-size:clamp(16px, 2.1vw, 20px);
 line-height:1;

 padding-block:.7rem;
 padding-inline:1rem;
}

.page-footer-logo-melon {
 width:20%;
 margin:0 auto;
}

/* margin-top */
.u_mt2 {
 margin-top:2%;
}

.u_mt3 {
 margin-top:3%;
}

.u_mt4 {
 margin-top:4%;
}

.u_mt5 {
 margin-top:5%;
}

.u_mt10 {
 margin-top:10%;
}

/* margin-bottom */
.u_mb2 {
 margin-bottom:2%;
}

.u_mb3 {
 margin-bottom:3%;
}

.u_mb5 {
 margin-bottom:5%;
}

.u_mb10 {
 margin-bottom:10%;
}

/* ///// lity時スクロールロック ///////////////////////////////// */
html:has(.l_body.lity-hidden) {
 overflow:hidden;
 background-color:#181818;

 scrollbar-gutter:stable;
}

/* ///// footer ///////////////////////////////// */
.l_footer {
 width:100%;
 overflow:hidden;
 background:#ffffff;
 color:#000000;
}

.l_footer a {
 text-decoration:none;
}

[name=footer-menu] {
 display:none;
}

.l_footer_inner {
 display:grid;
 max-width:1300px;
 padding:max(3%, 27px);
 box-sizing:border-box;
 line-height:1;

 margin-inline:auto;
 grid-template-columns:3fr 2fr;
 grid-template-rows:repeat(3, 1fr);
 gap:32px 101px;
}

@media screen and (max-width: 1024px) {
 .l_footer_inner {
  display:flex;
  flex-direction:column;
 }
}
.l_footer-gnav_wrap {
 display:grid;

 grid-row:1/3;
 grid-template-columns:repeat(3, 1fr);
}

@media screen and (max-width: 768px) {
 .l_footer-gnav_wrap {
  display:block;
 }
}
@media screen and (max-width: 768px) {
 .l_footer-gnav {
  border-bottom:1px solid #000000;
 }
 .l_footer-gnav:first-of-type {
  border-top:1px solid #000000;
 }
}
.l_footer-gnav_ttl {
 display:block;
 margin-bottom:24px;
 cursor:pointer;

 -webkit-user-select:none;
    -moz-user-select:none;
         user-select:none;
}

@media screen and (max-width: 768px) {
 .l_footer-gnav_ttl {
  margin-bottom:0;
  padding-right:1em;
  background:no-repeat center right/1em url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C13.1 2 14 2.9 14 4V11H21C22.1 11 23 11.9 23 13S22.1 15 21 15H14V22C14 23.1 13.1 24 12 24S10 23.1 10 22V15H3C1.9 15 1 14.1 1 13S1.9 11 3 11H10V4C10 2.9 10.9 2 12 2Z'/%3E%3C/svg%3E");
  transition:background .5s;
 }
 [name=footer-menu]:checked ~ .l_footer-gnav_ttl {
  background:no-repeat center right/1em url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11H21C22.1 11 23 11.9 23 13S22.1 15 21 15H3C1.9 15 1 14.1 1 13S1.9 11 3 11Z'/%3E%3C/svg%3E");
 }
}
@media screen and (max-width: 768px) {
 .l_footer-gnav_ttl,
 .l_footer-gnav_item {
  padding-block:1.5em;
  margin-inline:.5em;
 }
}
@media screen and (max-width: 768px) {
 .l_footer-gnav_accordion {
  display:grid;
  transition:250ms grid-template-rows ease;
  transition:all .5s;

  grid-template-rows:0fr;
 }
 [name=footer-menu]:checked ~ .l_footer-gnav_accordion {
  grid-template-rows:1fr;
 }
}
.l_footer-gnav_list {
 display:flex;
 flex-direction:column;
 list-style-type:none;
 font-size:clamp(11px, 11px + 3 * (100vw - 320px) / 780, 14px);

 gap:24px;
}

.l_footer-gnav_list a {
 color:#000000;
}

@media screen and (max-width: 768px) {
 .l_footer-gnav_list {
  overflow:hidden;

  gap:0;
 }
}
@media screen and (max-width: 768px) {
 .l_footer-gnav_item {
  padding-right:1em;
  border-top:1px solid rgba(0, 0, 0, .3019607843);
  background:no-repeat center right/1em url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8.59 16.58L13.17 12L8.59 7.41L10 6L16 12L10 18L8.59 16.58Z'/%3E%3C/svg%3E");
 }
}
.l_footer_ttl,
.l_footer-gnav_ttl {
 font-weight:900;
 font-size:clamp(11px, 11px + 3 * (100vw - 320px) / 780, 14px);
}

.l_footer_link {
 display:flex;
 flex-direction:column;

 grid-row:1/3;
 gap:40px;
}

@media screen and (max-width: 768px) {
 .l_footer_link {
  width:80%;

  margin-inline:auto;
 }
}
.l_footer_sns,
.l_footer_appli {
 display:flex;
 flex-direction:column;

 gap:16px;
}

.l_footer_appli .p_appli-btn_wrap {
 width:80%;
 margin:0;
}

@media screen and (max-width: 768px) {
 .l_footer_appli .p_appli-btn_wrap {
  width:100%;
 }
}
.l_footer-nav {
 display:flex;
 justify-content:center;
 align-items:center;
 font-size:min(1vw, 14px);

 grid-column:1/3;
 gap:min(1.8vw, 48px);
}

.l_footer-nav a {
 color:#000000;
}

@media screen and (max-width: 768px) {
 .l_footer-nav {
  display:flex;
  flex-direction:column;
  font-size:clamp(11px, 11px + 3 * (100vw - 320px) / 780, 14px);

  gap:32px;
 }
}
.l_footer-nav_logo {
 display:block;
 height:4em;
}

.l_footer-nav_logo img {
 width:auto;
 height:100%;
}

.p_copylight {
 padding:48px 1em;
 background:#378a40;
 color:#ffffff;
 line-height:1.2;
 text-align:center;
}

/* ///// sns ///////////////////////////////// */
.p_sns-btn_wrap {
 display:flex;

 gap:8px;
}

.p_sns-btn {
 display:flex;
 align-items:center;
 padding:.5em 1.1em .5em;
 background:#000000;
 color:#ffffff;
 font-weight:bold;
 font-size:16px;

 gap:.8em;
}

.p_sns-btn::before {
 display:block;
 width:1em;
 height:1em;
 background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
 background-size:contain;
 content:"";
}

/* ///// appli-btn ///////////////////////////////// */
.p_appli-btn_wrap {
 display:flex;
 width:-moz-fit-content;
 width:     fit-content;
 max-width:360px;

 gap:1rem;
 margin-inline:auto;
}

.p_appli-btn {
 display:block;
}

.p_appli-btn img {
 width:auto;
 height:auto;

 -o-object-fit:contain;
    object-fit:contain;
}

/* デモ用の画像プレースホルダー */
.demo-logo {
 display:flex;
 justify-content:center;
 align-items:center;
 background:#dddddd;
 color:#666666;
 font-weight:bold;
}

.demo-app-btn {
 display:block;
 margin:5px 0;
 padding:10px 20px;
 border-radius:8px;
 background:#007bff;
 color:white;
 text-align:center;
}

/* Body styling for demo */
body {
 margin:0;
 padding:0;
 font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ///// topへ戻る ///////////////////////////////// */
.btn_top-back {
 display:flex;
 flex-direction:row;
 justify-content:flex-end;
 align-items:center;
 position:absolute;
 top:min(1vw, 30px);
 left:min(1vw, 30px);
 z-index:1;
 width:-moz-fit-content;
 width:     fit-content;
 padding:.33em 1em .33em 2em;
 border:1px solid #adadad;
 border-radius:6px;
 box-sizing:border-box;
 background:no-repeat .8em center/.5em url("../images/icon_top-back.svg"), #ffffff;
 color:#000000;
 font-weight:600;
 text-decoration:none;
}

@media screen and (max-width: 768px) {
 .btn_top-back {
  display:none;
 }
}
/* ///// モーダル時スクロールロック ///////////////////////////////// */
html:has(#p_gnav_sp_trigger:checked) {
 overflow:hidden;

 scrollbar-gutter:stable;
}

/* ///// 準備中 ///////////////////////////////// */
.under-construction {
 position:relative;
}

.under-construction::after {
 display:flex;
 justify-content:center;
 align-items:center;
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 background-color:rgba(102, 102, 102, .6);
 color:#ffffff;
 content:"準備中";
}

.p_info-opening-hours.under-construction {
 position:relative;
}

.p_info-opening-hours.under-construction::after {
 display:flex;
 justify-content:center;
 align-items:center;
 position:absolute;
 top:0;
 left:0;
 width:100%;
 height:100%;
 border-radius:1100px;
 background-color:rgba(102, 102, 102, .6);
 color:#ffffff;
 content:"準備中";
}

/* -------------------------------------------
 event-space
------------------------------------------- */
.event-space {
 display:flex;
 flex-direction:column;
 padding-bottom:32px;
 border-bottom:1px solid #6e6e6e;
 color:#ffffff;

 gap:24px;
}

.event-space--none-border {
 border-bottom:none;
}

.event-space__ttl {
 display:flex;
 flex-direction:column;
 color:#fac71a;
 font-weight:800;
 text-align:center;

 gap:16px;
}

.event-space__ttl--color-02 {
 color:#e4a9ff;
}

.event-space__ttl-main {
 font-size:30px;
 line-height:1.2;
}

.event-space__ttl-sub {
 color:#ffffff;
 font-size:24px;
 line-height:1.2;
}

.event-space__text {
 font-weight:700;
 font-size:18px;
 line-height:150%;
 text-align:center;
}

.event-space__text--xl {
 font-size:30px;
}

.event-space__text--l {
 font-size:24px;
}

.event-space__text--s {
 font-size:16px;
}

.event-space__text-emphasis {
 color:#fac71a;
}

.event-space__text-emphasis--color-02 {
 color:#e4a9ff;
}

.event-space__img-block {
 width:100%;
 max-width:598px;

 margin-inline:auto;
}

/* melon-gallery-logo */
.melon-gallery-logo {
 width:100%;
 max-width:503px;

 margin-inline:auto;
}

/* -------------------------------------------
 balloon
------------------------------------------- */
.balloon {
 position:relative;
 width:100%;
 max-width:715px;
 margin-top:1em;
 margin-bottom:2em;
 padding:.3em .8em;
 border:2px solid #595757;
 color:#595757;
 font-weight:bold;
 font-size:clamp(16px, 16px + 8 * (100vw - 375px) / 725, 24px);
 line-height:1.2;
 text-align:center;

 margin-inline:auto;
}
.balloon::after {
 display:block;
 clip-path:polygon(0 0, 100% 0, 50% 100%);
 position:absolute;
 top:100%;
 left:calc(50% - .5em);
 width:1em;
 height:1em;
 background:#595757;
 content:"";
}

/* -------------------------------------------
 set-detail
------------------------------------------- */
.set-detail {
 width:90%;
 max-width:850px;
 border:3px solid #595757;

 margin-inline:auto;
 margin-block:32px 48px;
}

.set-detail__ttl {
 padding:.1em 1em;
 background:#595757;
 color:#ffffff;
 font-weight:700;
 font-size:clamp(22px, 22px + 15 * (100vw - 375px) / 725, 37px);
 text-align:center;
}

.set-detail__content {
 padding:1.2em 1.8em;
 color:#3e3a39;
 font-size:clamp(16px, 16px + 11 * (100vw - 375px) / 725, 27px);
}

/* -------------------------------------------
attention
------------------------------------------- */
.attention {
 padding-top:1em;
 color:#32b8ca;
 font-size:clamp(14px, 14px + 8 * (100vw - 375px) / 725, 22px);
 line-height:1.5;
 text-align:center;
}

/* -------------------------------------------
レスポンシブ対応
------------------------------------------- */
@media (min-width: 769px) {
 .sp {
  display:none;
 }
}
@media (max-width: 768px) {
 .pc {
  display:none;
 }
}