/* スムーススクロール================================================== */
html {
  scroll-behavior: smooth;
}

/* 幅設定 ================================================== */
.page {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom,
      #5A3118 0%,
      #40220F 40%,
      #1A0D06 100%);
}

.main {
  max-width: 768px;
  width: 100%;
  margin: 0 auto;
}

/* 全体背景 *================================================== */
.main {
  background-color: #C9A063;
  background-image: url("../img/all-bg.png");
  /* 画像パス */
  background-size: contain;

}

/* フォント設定 ================================================== */
.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.cinzel-decorative-regular {
  font-family: "Cinzel Decorative", serif;
  font-weight: 400;
  font-style: normal;
}

.cinzel-decorative-bold {
  font-family: "Cinzel Decorative", serif;
  font-weight: 700;
  font-style: normal;
}

.cinzel-decorative-black {
  font-family: "Cinzel Decorative", serif;
  font-weight: 900;
  font-style: normal;
}

/* ===== 2つの円の装飾 ================================================== */
.contents__inner {
  position: relative;
}

/* 左上・右上の丸 */
.contents__inner::before,
.contents__inner::after {
  content: "";
  position: absolute;
  top: 18px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: .5px solid #4b2d17;
  background: radial-gradient(circle at 35% 35%,
      #dcb46d 0%,
      #c9994f 70%,
      #b78540 100%);
  z-index: 2;
}

.contents__inner::before {
  left: 18px;
}

.contents__inner::after {
  right: 18px;
}

/* ===== ボタン ================================================== */
.special-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 90%;
  gap: 10px;
  padding: 15px;
  background: #ED6C00;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
  position: relative;
  transition: .3s ease;
  margin: 0 auto;
}

/* 内側の点線  */
.special-btn::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 2px dotted rgba(255, 255, 255, .8);
  border-radius: 10px;
  pointer-events: none;
}

.special-btn__text {
  font-size: 16px;
  font-weight: bold;
  font-family: Zen Old Mincho, serif;
  z-index: 1;
  font-weight: 600;
}

.special-btn__icon {
  width: 32px;
  height: 32px;

  border: .5px solid #fff;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 16px;
  z-index: 1;

  transition: .3s ease;
}

/* ホバー */
.special-btn:hover {
  background: #d86400;
}

.special-btn:hover .special-btn__icon {
  transform: translateX(6px);
  background: rgba(255, 255, 255, .15);
}


/* 注意事項のアコーディオン ================================================== */
.accordion {
  font-family: inter;
  border: 1px solid #5B5B5B;
  width: 90%;
  margin: 40px auto 40px;
  border-bottom: 1px solid #5B5B5B;
  color: #5B5B5B;
  ;
}

.accordion__header {
  width: 90%;
  margin: 0 auto;
  padding: 12px 0px;
  text-align: left;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.accordion__icon {
  font-size: 20px;
  transition: transform 0.3s ease;
}

/* コンテンツ初期状態 */
.accordion__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.accordion__content ul {
  padding-bottom: 20px;
  width: 90%;
  margin: 0 auto;
}

.accordion__content ul li {
  font-size: 13px;
}

.accordion__content ul li span {
  color: #ED6C00;
}

/* 開いた状態 */
.accordion.is-open .accordion__content {
  max-height: 500px;
  /* ← 好きな高さに調整 */
  overflow-y: auto;
}

/* アイコン回転（＋→×っぽく見せる場合） */
.accordion.is-open .accordion__icon {
  transform: rotate(180deg);
}

/* メインビジュアル ================================================== */
.mv {
  padding-bottom: 40px;
  /* background: linear-gradient(180deg, #0CAC95 0%, #79CCC0 49.52%, #FFF 100%); */
}

.mv__catch {
  display: block;
  padding: 40px 0;
  color: #fff;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-bottom: 40px;
  position: relative;
}

.mv__catch__item_1 {
  position: absolute;
  width: 40px;
  top: -27px;
  left: 10px;
}

.mv__catch__item_2 {
  position: absolute;
  width: 40px;
  bottom: -27px;
  right: 10px;
}

.mv__list {
  width: 90%;
  margin: 60px auto 0px;
  padding: 0px;
  display: flex;
  flex-wrap: wrap;
}

.mv__item {
  margin-bottom: 20px;
  width: 50%;
}

.mv__link {
  display: block;
}

.mv__img {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 90px;
}

/* 画面幅750px以下の設定 */
@media (max-width: 750px) {
  .mv__img {
    margin-top: 66px;
  }
}


/* スペシャルコンテンツ *================================================== */
/* エリア全体 */
.contents {
  padding-bottom: 80px;
}

.contents__inner {
  width: 90%;
  margin: 0 auto;
  border: 1px solid #333333;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.8);
  position: relative;

}

/* タイトル */
.contents__title_jp {
  color: #40220F;
  text-align: center;
  font-family: "Zen Old Mincho";
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: -0.6px;
  padding: 40px 0px 10px;
  width: 90%;
  margin: 0 auto;
}

.contents__title_en {
  color: #C9A063;
  text-align: center;
  font-family: "Cinzel Decorative";
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0px;
  -webkit-text-stroke: 1px #6b4a22;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  padding: 10px 0px;
  width: 90%;
  margin: 0 auto 20px;
}

/* 説明文 */
.contents__detail {
  margin-bottom: 30px;
}

.contents__detail p {
  font-family: "Zen Old Mincho";
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 30px;
  text-align: center;
}

.detail__highlight {
  display: inline;
  padding: 0 .2em;
  background: linear-gradient(transparent 68%,
      #e8d4a8 68%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.detail__no-highlight {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
}

.detail__large {
  font-size: 20px;
}

/* 開催期間 */
.contents__schedule {
  width: 90%;
  margin: 0 auto 30px;
  text-align: center;
  max-width: 500px;
}


/* 取得方法 */
.contents__howto {
  margin-bottom: 30px;
}

.contents__howto h3 {
  background: #fff;
  text-align: center;
  padding: 5px;
  width: 90%;
  margin: 0 auto 10px;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;

  font-family: "Zen Old Mincho";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;

}

.contents__howto p {
  font-family: "Zen Old Mincho";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  width: 90%;
  margin: 0 auto;
  text-align: left;
}

.contents__howto p span {
  color: #d86400;
}

/* 補足文章 */
.contents__notice {
  font-family: "inter";
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  width: 90%;
  margin: 30px auto;
  text-align: left;
  color: #5B5B5B;
}

.contents__notice span {
  color: #d86400;
}

/* サンプル画像 */

.contents__img {
  width: 50%;
  margin: 0 auto 30px;
}

.contents__img img {
  width: 100%;
}

.contents__img p {
  font-family: inter;
  font-size: 12px;
  font-weight: 400;
  text-align: center;
}

/* グッズ画像 */
.goods__img {
  width: 80%;
  margin: 0 auto 30px;
}

/* プレゼント画像 */
.cp__img {
  width: 90%;
  margin: 0 auto 30px;
}

#content3 {
  padding-bottom: 40px;
}

#content4 {
  background-color: #fff;
  background-image: url("../img/all-bg-2.png");
  /* 画像パス */
  background-size: cover;
  padding-top: 40px;
  padding-bottom: 40px;
}

#content4 .contents__title_en {
  margin-top: 60px;

}

.detail__large {
  font-size: 24px;
}

.detail__small {
  font-size: 16px;
  margin-bottom: -20px;
}

.contents__digital {
  font-size: 24px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
  text-align: center;
  display: block;
  margin: 20px auto;
}

.contents__items {
  font-size: 16px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-style: normal;
  text-align: center;
  display: block;
  background: #C9A063;
  padding: 10px 0px;
  color: #fff;

}

#content4 .contents__img {
  width: 100%;
}

/* アーティスト情報 */
.contents-artist {
  background: #40220F;
  background-image: url("../img/all-bg-2.png");
  /* 画像パス */
  background-size: cover;
  padding-top: 40px;
  padding-bottom: 40px;
}

.contents-artist__inner {
  width: 90%;
  margin: 0 auto;
}

.contents-artist__img {
  width: 90%;
  margin: 0 auto;

  img {
    width: 100%;
    margin: 10px auto;
  }
}

.contents-artist__txt {
  width: 100%;
  margin: 0 auto;
  font-family: inter;
  font-size: 16px;
  font-weight: 400;
  text-align: left;
  color: #fff;
  padding-top: 10px;

}

.contents-artist__txt span {
  display: block;
  margin-top: 10px;
  font-weight: 600;

}

.fade-in-box {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s, transform 1s;
}

.fade-in-box.is-show {
  opacity: 1;
  transform: translateY(0);
}

/* 強調色変更  ===============*/

.color-change {
  color: #d86400;
}