/* font */

@font-face {
  font-family: 'LINESeedJP OTF';
  font-weight: 300;
  src: url('../font/LINESeedJP_OTF_Rg.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'LINESeedJP OTF';
  font-weight: 700;
  src: url('../font/LINESeedJP_OTF_Bd.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'LINESeedJP OTF';
  font-weight: 800;
  src: url('../font/LINESeedJP_OTF_Eb.woff2') format('woff2');
  font-display: swap;
}

/* -------------------------------------------
 ベース
------------------------------------------- */
/* 変数 */
:root {
  --font-base: 'LINESeedJP OTF', sans-serif;
  --font-nav: 'LINESeedJP OTF', sans-serif;
}

html {
  scroll-behavior: smooth;
}

a:hover {
  opacity: 0.7;
}

address {
  font-style: normal;
}

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

/* -------------------------------------------
 mein-container
------------------------------------------- */

.mein-container {
  position: relative;
  font-family: var(--font-base);
  color: #000000;
  background: #fff;
  padding-top: 64px;
  font-feature-settings: 'palt';
  word-break: keep-all;
    overflow-wrap: break-word;
  letter-spacing: 0.05em;
}

main.mein-container__inner {
  max-width: 1300px;
  margin-block: 0;
  padding-block: clamp(32px, calc(32px + (79 - 32) * (100vw - 375px) / (1300 - 375)), 79px);
}

@media (max-width: 428px) {
  .mein-container {
    padding-top: 48px;
  }
}

/* -------------------------------------------
 nav
------------------------------------------- */

.nav__switch {
  display: none;
}

.nav__content {
  color: #fff;
  font-family: var(--font-nav);
  line-height: 1.2;
  letter-spacing: 0.1em;
  display: flex;
}

@media (min-width: 769px) {
  [id^='n_'] {
    scroll-margin-top: calc(50px + 64px);
  }

  .nav {
    top: 64px;
    position: sticky;
    z-index: 50;
    width: 100%;
    background: #000000;
    display: flex;
    font-size: clamp(11px, calc(11px + (18 - 11) * (100vw - 375px) / (1300 - 375)), 18px);
    height: 50px;
    padding: 0.3em 1em;
    align-items: center;
    box-sizing: border-box;
  }

  .nav__content {
    position: relative;
    width: fit-content;
    margin-inline: auto;
    max-width: 1300px;
    gap: 2em;
  }

  .nav__item {
    display: block;
    text-align: center;
    position: relative;
  }

  .nav__item:hover {
    opacity: 0.7;
  }
}

@media (max-width: 768px) {
  [id^='n_'] {
    scroll-margin-top: 64px;
  }

  .nav {
    top: 64px;
  }

  .nav__logo {
    display: none;
  }

  .nav__content {
    background: #000000;
    position: fixed;
    font-size: 24px;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    padding-block: 64px 1em;
    padding-inline: 1em;
    height: calc(100vh - 64px);
    height: calc(100dvh - 64px);
    width: 80%;
    top: 64px;
    right: 0;
    transform: translateX(100%);
    transition: all 0.5s;
    z-index: 51;
    text-align: center;
  }

  .nav__switch:checked ~ .nav__content {
    transform: translateX(0%);
  }

  .nav__bg {
    background: #00000048;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 64px;
    left: 0;
    opacity: 0;
    transition: all 0.5s;
    pointer-events: none;
    z-index: 50;
    backdrop-filter: blur(2px);
  }

  .nav__switch:checked ~ .nav__bg {
    opacity: 1;
    pointer-events: all;
  }

  .nav__hamburger {
    background: #000000;
    width: 50px;
    display: block;
    height: 50px;
    margin-left: auto;
    position: fixed;
    top: calc(64px + 5px);
    right: 5px;
    z-index: 52;
  }

  .nav__hamburger::before,
  .nav__hamburger::after {
    content: '';
  }

  .nav__hamburger .nav__hamburger-equipment,
  .nav__hamburger::before,
  .nav__hamburger::after {
    width: 30px;
    display: block;
    height: 3px;
    border-radius: 3px;
    background-color: #fff;
    transition: 0.3s;
    left: 10px;
    position: absolute;
  }

  .nav__hamburger::before {
    top: 12px;
  }

  .nav__hamburger .nav__hamburger-equipment {
    top: calc(50% - 1.5px);
  }

  .nav__hamburger::after {
    top: calc(100% - 15px);
  }

  .nav__switch:checked ~ .nav__hamburger::before {
    transform: rotate(45deg);
    top: calc(50% - 1.5px);
  }

  .nav__switch:checked ~ .nav__hamburger .nav__hamburger-equipment {
    opacity: 0;
  }

  .nav__switch:checked ~ .nav__hamburger::after {
    transform: rotate(-45deg);
    top: calc(50% - 1.5px);
  }

  /* ナビゲーションメニューオープン時スクロール不可 */
  html:has(.nav__switch:checked) {
    overflow: hidden;
  }
}

@media (max-width: 428px) {
  [id^='n_'] {
    scroll-margin-top: 48px;
  }

  .nav__hamburger {
    top: calc(48px + 5px);
  }

  .nav__content {
    height: calc(100vh - 48px);
    height: calc(100dvh - 48px);
    top: 48px;
  }

  .nav__bg {
    top: 48px;
  }
}

/* -------------------------------------------
 main-header
------------------------------------------- */
.main-header {
  position: relative;
  width: 100%;
}

/* -------------------------------------------
 long-btn
------------------------------------------- */
.long-btn {
  background: #dc211c;
  color: #fff;
  font-size: clamp(20px, calc(20px + (40 - 20) * (100vw - 375px) / (1300 - 375)), 40px);
  text-align: center;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  padding: 0.3em 1em;
}

.long-btn::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background: no-repeat center center/auto 0.6em url(../images/icon-arrow-right.svg);
}

.long-btn__emphasis {
  color: #fff900;
}

/* -------------------------------------------
 ttl
------------------------------------------- */

/* ttl ------------------------------------------- */
.ttl {
  background: #000;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: clamp(18px, calc(18px + (32 - 18) * (100vw - 375px) / (1300 - 375)), 32px);
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  padding: 0.3em 1em;
  column-gap: 1em;
  flex-wrap: wrap;
}

.ttl--small {
  font-size: clamp(16px, calc(16px + (24 - 16) * (100vw - 375px) / (1300 - 375)), 24px);
}

.ttl__sub {
  font-size: max(0.56em, 11px);
}

/* ttl-secondary ------------------------------------------- */
.ttl-secondary {
  background: #b7de3f;
  font-size: clamp(16px, calc(16px + (32 - 16) * (100vw - 375px) / (1300 - 375)), 32px);
  line-height: 1.2;
  padding: 0.4em 0.5em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
}

.ttl-secondary--color-02 {
  background: #00c4dd;
}

.ttl-secondary--color-03 {
  background: #ffc300;
}

.ttl-secondary--color-04 {
  background: #ff84c4;
}

.ttl-secondary--color-05 {
  background: #c99cf1;
}

.ttl-secondary__announce {
  border: 1px solid;
  font-size: max(0.6em, 11px);
  padding: 0.3em 0.5em;
  min-width: 7em;
  text-align: center;
}

/* -------------------------------------------
 btn
------------------------------------------- */
.btn {
  border: 2px solid #000;
  font-weight: bold;
  display: flex;
  line-height: 1.2;
  width: 100%;
  max-width: 560px;
  margin-inline: auto;
  border-radius: 999px;
  min-height: 64px;
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
  padding: 0.3em 1em;
  box-shadow: 0px 4px 4px 0px #00000040;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  text-align: center;

  &::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: no-repeat center center/auto 0.5em url(../images/icon-arrow-right-dark.svg);
  }
}

.btn--contact {
  max-width: none;
  font-size: clamp(16px, calc(16px + (32 - 16) * (100vw - 375px) / (1300 - 375)), 32px);
  min-height: 96px;
  background: #006bb6;
  border: 0;
  color: #fff;
  &::after {
    display: none;
  }
}

@media (max-width: 768px) {
  .btn {
    min-height: 44px;
  }

  .btn--contact {
    min-height: 62px;
  }
  
}


/* btn-x ------------------------------------------- */
.btn-x{
  background: no-repeat left top 30% / 20% url(../images/picture-melon-fukuoka-02.webp),no-repeat right 8% center / min(10%,3em) auto url(../images/icon-x-black.webp),#ffef00;
  min-height: 120px;
  display: flex;
  box-shadow: 0px 4px 4px 0px #00000040;
  border: 1px solid#000;
  border-radius: 9999px;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
  line-height: 1.2;
  padding-block: 1em ;
  padding-inline: 20%;
}

.btn-x__inner{
width: fit-content;
margin-inline: auto;
padding-right: 2em;
background: no-repeat right center / 1em url(../images/icon-circle-arrow-right.svg);
}

.btn-x__text{
  font-weight: bold;
  &:not(:last-child){
    padding-bottom: 0.5em;
  }  
}

.btn-x__text--small{  
  font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 375px) / (1300 - 375)), 16px);
}

@media (max-width: 768px) {

  .btn-x{
    min-height: 60px;
  }
}


/* -------------------------------------------
 main-section
------------------------------------------- */

.main-section__inner {
  padding-block: clamp(32px, calc(32px + (55 - 32) * (100vw - 375px) / (1300 - 375)), 55px);
  width: 95%;
  max-width: 1080px;
  margin-inline: auto;
}

.main-section__inner--top-padding-none{
  padding-top: 0;
}

.main-section__text {
  text-align: center;
  line-height: 1.8;
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
}

.main-section__attention {
  text-align: center;
  line-height: 1.8;
  font-size: clamp(11px, calc(11px + (16 - 11) * (100vw - 375px) / (1300 - 375)), 16px);
}

.main-section__attention--bottom-padding-large {
  padding-bottom: clamp(20px, 8%, 70px);
}

.main-section__emphasis {
  color: #dc211c;
}


/* -------------------------------------------
   sub-section
  ------------------------------------------- */
.sub-section {
  border: 1px solid #000;
  margin-bottom: clamp(32px, calc(32px + (55 - 32) * (100vw - 375px) / (1300 - 375)), 55px);
}

.sub-section__inner {
  width: 95%;
  max-width: 960px;
  margin-inline: auto;
  padding-block: clamp(22px,5%, 55px);
}

.sub-section__ttl {
  background: #000;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: clamp(20px, calc(20px + (32 - 20) * (100vw - 375px) / (1300 - 375)), 32px);
  line-height: 1.2;
  padding: 0.3em 0.5em;
}

.sub-section__text {
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
  text-align: center;
  line-height: 1.5;
  &:not(:last-child) {
    padding-bottom: 1em;
  }
}

.sub-section__text--bold{
font-weight: bold;
}

.sub-section__attention {
  font-size: clamp(14px, calc(14px + (16 - 14) * (100vw - 375px) / (1300 - 375)), 16px);
  text-align: center;
  padding: 1em;
}

.sub-section__attention--bottom-padding-none{
  padding-bottom: 0;
}

.sub-section__attention-text {
  line-height: 1.4;
}

.sub-section__attention--emphasis {
  font-weight: bold;
  color: #dc211c;
  border: 1px solid #dc211c;
}

.sub-section__emphasis{
  color: #dc211c;
}

/* section-2column ------------------------------------------- */

.section-2column{
  display: grid;
}


@media (min-width: 769px) {
  .section-2column{
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .section-2column{
    gap: 14px;
  }
}

/* -------------------------------------------
 catch
------------------------------------------- */
.catch {
  background: no-repeat 115% 40% /50% auto url(../images/picture-melon-fukuoka.webp), #dc211c;
  font-weight: bold;
  line-height: 1.2;
  padding: clamp(20px, calc(20px + (38 - 20) * (100vw - 375px) / (1300 - 375)), 38px)
    clamp(28px, calc(28px + (98 - 28) * (100vw - 375px) / (1300 - 375)), 98px);
}

.catch--goods {
  background: no-repeat 105% 40% /40% auto url(../images/picture-melon-glasses.webp), #20ae37;
}

.catch--support {
  background: no-repeat 95% 50% /40% auto url(../images/picture-melon-digital.webp), #00c4dd;
}

.catch__sub-text {
  color: #fff900;
  font-size: clamp(14px, calc(14px + (49 - 14) * (100vw - 375px) / (1300 - 375)), 49px);
}

.catch__sub-text--large {
  font-size: clamp(16px, calc(16px + (42 - 16) * (100vw - 375px) / (1300 - 375)), 42px);
}

.catch__main-text {
  color: #fff;
  font-size: clamp(20px, calc(20px + (63 - 20) * (100vw - 375px) / (1300 - 375)), 63px);
}

.catch__main-text--large {
  font-size: clamp(22px, calc(22px + (72 - 22) * (100vw - 375px) / (1300 - 375)), 72px);
}

@media (min-width: 769px) {
  .catch {
    min-height: 240px;
    display: flex;
    align-items: center;
  }
}

/* -------------------------------------------
 fair
------------------------------------------- */
.fair {
  padding-block: clamp(18px, calc(18px + (50 - 18) * (100vw - 375px) / (1300 - 375)), 50px);
  display: grid;
}

.fair__lead {
  line-height: 1.5;
  font-weight: 800;
  font-size: clamp(20px, calc(20px + (40 - 20) * (100vw - 375px) / (1300 - 375)), 40px);
}

.fair__lead-emphasis {
  color: #df0000;
}

.fair__info {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.fair__detail {
  line-height: 1.8;
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
}

.fair__btn{
  width: 100%;
  &.btn{
    margin-inline: 0;
    max-width: 560px;
  }  
}

.fair__text:not(:last-child) {
  padding-bottom: 0.5em;
}

.fair__attention {
  font-size: clamp(12px, calc(12px + (20 - 12) * (100vw - 375px) / (1300 - 375)), 20px);
  line-height: 1.5;
}

.fair__first-arrival {
  background: #000;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.3em;
  width: 100%;
  max-width: 560px;
  padding: 0.2em 1em;
  line-height: 1.2;
  font-size: clamp(20px, calc(20px + (40 - 20) * (100vw - 375px) / (1300 - 375)), 40px);
}

.fair__first-arrival-text {
  font-weight: bold;
}

.fair__first-arrival-emphasis {
  color: #fff900;
}

.fair__first-arrival-attention {
  font-size: clamp(12px, calc(12px + (16 - 12) * (100vw - 375px) / (1300 - 375)), 16px);
}

.fair__img-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.fair__img-wrap--large {
  grid-column: 2 span;
}

.fair__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (min-width: 769px) {
  .fair {
    grid-template-columns: 55% auto;
    grid-template-rows: auto 1fr;
    column-gap: 67px;
    row-gap: 16px;
  }

  .fair__info {
    grid-column: 1/2;
    grid-row: 2/3;
  }

  .fair__img-area {
    grid-row: 2 span;
    gap: 32px;
  }
}

@media (max-width: 768px) {
  .fair {
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
  }
  .fair__info {
    align-items: center;
}

  .fair__img-area {
    gap: 10px;
  }
}

/* fair-catch ------------------------------------------- */

.fair-catch {
  padding-block: max(3%,14px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-size: clamp(22px, calc(22px + (40 - 22) * (100vw - 375px) / (1300 - 375)), 40px);
  gap: 0.5em;
}

.fair-catch--coupon{
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 0.5em;
  margin-bottom: clamp(18px, calc(18px + (35 - 18) * (100vw - 375px) / (1300 - 375)), 35px);
  background: no-repeat right bottom/auto 1.5em url(../images/decoration-coupon.webp);
}

.fair-catch__sub-text {
  background: #dc211c;
  color: #fff900;
  font-weight: bold;
  line-height: 1.2;
  padding: 0.5em 2em 0.3em;
  display: flex;
  font-size: clamp(14px, calc(14px + (22 - 14) * (100vw - 375px) / (1300 - 375)), 22px);
  align-items: center;
}

.fair-catch__main-text {
  font-weight: 800;
  line-height: 1.5;
  text-align: center;
}

.fair-catch__main-text--thin{
  font-weight: bold;
}

.fair-catch__emphasis {
  color: #dc211c;
}

/* fair-description ------------------------------------------- */
.fair-description {
    padding-inline: 10%;
  margin-bottom: clamp(18px, calc(18px + (35 - 18) * (100vw - 375px) / (1300 - 375)), 35px);
}

.fair-description--festival {
  background: no-repeat left bottom/10% auto url(../images/decoration-uchiwa-left.svg),
    no-repeat right bottom/10% auto url(../images/decoration-uchiwa-right.svg);
}

.fair-description--plastic-bag {
  margin-top: clamp(14px, calc(14px + (20 - 14) * (100vw - 375px) / (1300 - 375)), 20px);
  background: no-repeat left top/10% auto url(../images/decoration-plastic-bag-left.webp),
    no-repeat right top/10% auto url(../images/decoration-plastic-bag-right.webp);
}

.fair-description__text {
  text-align: center;
  padding-block: 1em;
  line-height: 1.5;
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
}

.fair-description__text--top-padding-none{
  padding-top: 0;
}

/* fair-detail ------------------------------------------- */
.fair-detail{
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
  text-align: center;

}

.fair-detail--padding{
  padding-block: 2em 1em;
}

.fair-detail--secondary{
  .fair-detail__ttl{
    background: #dc211c;
    color: #fff;
  }

  .fair-detail__description{
    color: #dc211c;
  }
}

.fair-detail__ttl{
  font-weight: bold;
  line-height: 1.2;
  padding: 0.2em 1em;
  background: #e6e7e7;
}

.fair-detail__description{
  padding: 1em 1em;  
  line-height: 1.5;
}


.fair-detail__description-text:not(:last-child){
  padding-bottom: 0.5em;
}

@media (min-width: 769px) {
  .fair-detail__description--justify{
    width: fit-content;
    margin-inline: auto;
    text-align:justify;
    text-align-last:justify;
  }
}

/* -------------------------------------------
   card
  ------------------------------------------- */
/* card-list ------------------------------------------- */
  .card-list{
    display: grid;
  }

  @media (min-width: 769px) {
    .card-list {
      grid-template-columns: repeat(2, 1fr);
      gap: 40px;
    }
  }
  
  @media (max-width: 768px) {
    .card-list {
      gap: 14px;
    }
  }

  /* card ------------------------------------------- */
  
.card {
  border: 1px solid #000;  
  row-gap: clamp(14px,5vw,30px);
  display: grid;
  grid-template-columns: 1fr;
  padding-bottom: clamp(14px,5%,30px);
  grid-template-rows: subgrid;
  grid-row: 4 span;
}

.card--border-none {
  border: 0;
}
.card__header {
  background: #000;
  color: #fff;
  font-weight: bold;
  font-size: clamp(20px, calc(20px + (32 - 20) * (100vw - 375px) / (1300 - 375)), 32px);
  text-align: center;
  line-height: 1.2;
  padding: 0.2em 0.5em;
}
.card__process {
  display: grid;
  grid-template-columns: 1.2em auto;
  font-weight: bold;
  border: 1px solid #000;
  font-size: clamp(21px, calc(21px + (36 - 21) * (100vw - 375px) / (1300 - 375)), 36px);
}

.card__process-type {
  text-align: center;
  background: #000;
  color: #fff;
  display: flex;
  line-height: 1;
  justify-content: center;
  align-items: center;
}

.card__process-detail {
  text-align: center;
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
  line-height: 1.2;
  padding: 0.5em 1em;
}


.card__sample-area {
  width: calc(100% - (clamp(14px,5%,30px) * 2));
  margin-inline: auto;
  display: flex;
  gap: 5px;
  justify-content: center;
  align-items: center;
}

.card__sample-area--full-wide{
  width: 100%;
}


.card__sample {
  width: 80%;
  max-height: 288px;
  aspect-ratio: 1/1;
}

.card__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.card__info {
  width: calc(100% - (clamp(14px,5%,30px) * 2));
  margin-inline: auto;
  font-weight: bold;
  font-size: clamp(20px, calc(20px + (32 - 20) * (100vw - 375px) / (1300 - 375)), 32px);
  text-align: center;
  line-height: 1.3;
}
.card__info-sub-text {
  font-size: max(0.6em, 11px);
}
.card__note {
  width: calc(100% - (clamp(14px,5%,30px) * 2));
  margin-inline: auto;
  background: #f5f5f5;
  font-size: clamp(14px, calc(14px + (16 - 14) * (100vw - 375px) / (1300 - 375)), 16px);
  text-align: center;
  padding: 1em;
  display: flex;
  flex-direction: column;
    justify-content: center;
    align-items: center;
}

.card__note--full-wide{
  width: 100%;
}

.card__note-text--large {
  font-size: clamp(16px, calc(16px + (18 - 16) * (100vw - 375px) / (1300 - 375)), 18px);
}
.card__note-text--small {
  font-size: clamp(11px, calc(11px + (14 - 11) * (100vw - 375px) / (1300 - 375)), 14px);
}
.card__price {
  width: calc(100% - (clamp(14px,5%,30px) * 2));
  margin-inline: auto;
  font-size: clamp(20px, calc(20px + (32 - 20) * (100vw - 375px) / (1300 - 375)), 32px);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  display: flex;
  padding-inline: 0.5em;
  padding-top: 0.3em;
  border-top: 1px solid #000;
  justify-content: center;
  align-items: baseline;
  margin-top: 0.3em;
}
.card__price-tax {
  font-size: max(0.7em, 11px);
}

@media (min-width: 769px) {
  .card--large {
    grid-column: 2 span;
  }
}

@media (max-width: 768px) {
  .card__content {
    gap: 14px;
  }
}

/* -------------------------------------------
   coming-soon-wrap
  ------------------------------------------- */
.coming-soon-wrap {
  padding-bottom: clamp(14px,10%, 87px);
  padding-top: clamp(14px,8%, 58px);
}

.coming-soon {
  font-size: clamp(20px, calc(20px + (36 - 20) * (100vw - 375px) / (1300 - 375)), 36px);
  color: #dc211c;
  text-align: center;
  border: 4px solid #dc211c;
  line-height: 1;
  padding: 0.7em 1.3em;
  width: fit-content;
  margin-inline: auto;
  font-weight: bold;
}

/* card__sampleに設置されたcoming-soon位置調整 */

.card__sample:has(.coming-soon) {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: auto;
  padding-block: max(5%,14px);
}

/* -------------------------------------------
 fair
------------------------------------------- */
.banner-link{
  display: block;
  width: fit-content;  
  margin-inline: auto;
}

.banner-link--top-margin{
  margin-top: max(3%,14px);
}

.banner-link--disabled{
  pointer-events: none;
  opacity: 0.5;
}

/* -------------------------------------------
 shop-info
------------------------------------------- */
.shop-info {
  display: grid;
}

.shop-info__detail-item {
  display: flex;
  font-size: clamp(14px, calc(14px + (20 - 14) * (100vw - 375px) / (1300 - 375)), 20px);
  gap: 1.5em;
  align-items: flex-start;
}

.shop-info__detail-item:not(:last-child) {
  border-bottom: 1px solid #000;
  padding-bottom: 0.8em;
  margin-bottom: 0.8em;
}

.shop-info__detail-ttl {
  font-weight: bold;
  width: 7em;
  line-height: 1.2;
  padding: 0.5em 0.5em 0.3em;
  background: #e6e7e7;
  text-align: center;
  flex: 0 0 auto;
}

.shop-info__detail-text {
  line-height: 1.5;
}

.shop-info__map {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.shop-info__map-ttl {
  text-align: center;
  font-size: clamp(14px, calc(14px + (16 - 14) * (100vw - 375px) / (1300 - 375)), 16px);
  line-height: 1;
  padding: 0.5em;
  border: 1px solid #000;
}

.shop-info__link-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.shop-info__link {
  font-size: clamp(11px, calc(11px + (14 - 11) * (100vw - 375px) / (1300 - 375)), 14px);
  border: 1px solid #000;
  padding: 1.2em 0.5em;
  text-align: center;
  border-radius: 1em;
  box-shadow: 0px 4px 4px 0px #00000040;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: 2 span;
  gap: 1em;
  align-items: center;
}

.shop-info__link--disabled{
  pointer-events: none;
  position: relative;
  overflow: hidden;
  &::after{
    content: "準備中";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #00000096;
    color: #fff;
    display: flex;
    font-size: 1.2em;
    justify-content: center;
    align-items: center;
    font-weight: bold;
  }
}

.shop-info__link-icon {
  width: 80%;
  margin-inline: auto;
  aspect-ratio: 3/2;
}

.shop-info__link-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.shop-info__link-detail {
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3em;

  &::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background: no-repeat center center/contain url(../images/icon-circle-arrow-right.svg);
  }
}

@media (min-width: 769px) {
  .shop-info {
    grid-template-columns: 60% auto;
    column-gap: 78px;
    row-gap: 32px;
  }

  .shop-info__detail-text {
    padding-top: 0.3em;
  }

  .shop-info__map {
    grid-row: 1/3;
  }

  .shop-info__map-iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 360 / 614;
  }

  .shop-info__link-list {
    grid-column: 1/2;
    grid-row: 2/3;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .shop-info {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .shop-info__map-iframe {
    width: 100%;
    height: 30vh;
  }

  .shop-info__link-list {
    gap: 14px;
  }

  .shop-info__link-detail {
    gap: 0.2em;
  }
}

/* -------------------------------------------
 schedule
------------------------------------------- */

/* schedule-wrap ------------------------------------------- */
.schedule-wrap:not(:last-child) {
  padding-bottom: clamp(11px, calc(11px + (22 - 11) * (100vw - 375px) / (1300 - 375)), 22px);
}

/* schedule ------------------------------------------- */
.schedule {
  font-size: clamp(14px, calc(14px + (24 - 14) * (100vw - 375px) / (1300 - 375)), 24px);
  display: grid;
  border: 2px solid #000;

  &:not(:last-child) {
    border-bottom: 0;
  }
}

.schedule__ttl {
  background: #ffdad8;
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
  padding: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
}

.schedule__detail {
  line-height: 1.4;
  text-align: center;
  padding: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.schedule__detail--padding-none {
  padding: 0;
}

.schedule__text--bold {
  font-weight: bold;
}

.schedule__attention {
  padding-top: 0.3em;
  font-size: clamp(11px, calc(11px + (16 - 11) * (100vw - 375px) / (1300 - 375)), 16px);
}

@media (min-width: 769px) {
  .schedule {
    border: 2px solid #000;
    grid-template-columns: 38% auto;
  }

  .schedule__ttl {
    border-right: 2px solid #000;
  }
}

@media (max-width: 768px) {
  .schedule {
    border: 1px solid #000;
  }

  .schedule__ttl {
    border-bottom: 1px solid #000;
  }
}

/* multiple-schedules ------------------------------------------- */
.multiple-schedules {
  display: flex;
  width: 100%;
}

.multiple-schedules__item {
  flex: 1;
  padding: 1em;
  font-size: clamp(14px, calc(14px + (20 - 14) * (100vw - 375px) / (1300 - 375)), 20px);
}

.multiple-schedules__ttl {
  text-align: center;
  font-size: clamp(11px, calc(11px + (16 - 11) * (100vw - 375px) / (1300 - 375)), 16px);
  padding-bottom: 0.3em;
  border-bottom: 1px solid #000;
  margin-bottom: 0.3em;
}

.multiple-schedules__date {
  text-align: center;
}

@media (min-width: 769px) {
  .multiple-schedules__item:not(:last-child) {
    border-right: 2px solid #000;
  }
}

@media (max-width: 766px) {
  .multiple-schedules {
    flex-wrap: wrap;
  }
  
}


/* -------------------------------------------
 benefit-list
------------------------------------------- */
.benefit-list {
  padding-block: max(5%,14px);
}

/* -------------------------------------------
 process
------------------------------------------- */

.process .card{
  grid-row: 3 span;
  }
  

/* -------------------------------------------
 festival
------------------------------------------- */

.festival {
  display: grid;
}

@media (min-width: 769px) {
  .festival {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .festival {
    gap: 14px;
  }
}

/* -------------------------------------------
 goods-list
------------------------------------------- */

.goods-list {
  padding-block: 3% 5%;
}

.goods-list .card{
  padding-top: clamp(14px,5%,30px);;
  grid-row: 2 span;
}

/* -------------------------------------------
 レスポンシブ対応
------------------------------------------- */

@media (min-width: 769px) {
  .sp {
    display: none;
  }
}

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