@charset "UTF-8";

/* * {
  outline: 1px solid blue;
} */

/* 検証サイズ用

.fs-l-main {
  margin: 0;
  padding: 0;
}

.fs-l-main,
.fs-l-pageMain {
  width: 100%;
  max-width: 100%;
}
/* futureshop css 反映用 */

.device-click a,
.device-click button {
  transition: unset;
}

.device-click a:hover,
.device-click button:hover {
  opacity: unset !important;
}
/* ボタン回り 挙動の反映のリセット */

.rakusia_sleep_anniversary_sale_2606 {
  /* --min-size: 0;
  --max-size: 10px;
  --fluid-size: 1.25vw;
  font-size: min(var(--fluid-size), var(--max-size)); */
  /* テストアップ、本アップ用でサイズが異なるため非表示 */

  position: relative;
  overflow: hidden;
  /* 全体設定  article class セールタイトル名 */

  --main-font:
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, "ＭＳ Ｐゴシック", "MS P Gothic",
    Osaka, Arial, Helvetica, Verdana, sans-serif;
  --second-font: "the-seasons", sans-serif;
  --main-font-family: "the-seasons", "Yu Mincho", "YuMincho", serif;
  /* フォント設定 游ゴシックの場合 カスタムプロパティー反映用*/
}

.sale_lp {
  font-family: var(--main-font);
  background-color: #fff !important;
  /* メイン カスタムプロパティー反映例 */
}
.second_font_template {
  font-family: var(--second-font);
  /* セカンド カスタムプロパティー反映例 */
}

.rakusia_sleep_anniversary_sale_2606 .l-inner {
  margin: 0 auto;
  max-width: 800px;
  /* 全体を内包しているコンテナのサイズ 780px以降、800pxで固定するために使用 */
}

.rakusia_sleep_anniversary_sale_2606 .countdown_area {
  /* --countdown-bgColor: #7d8394; */
  --countdown-textColor: #373739;
  background-color: var(--countdown-bgColor);
  padding: 0;
}

.line_induction {
  background-color: white !important;
  margin-bottom: 5em;
}
.line_induction .l-inner {
  margin: 0 auto;
  max-width: 800px;
  overflow: hidden;
}
/* LINE登録 */

html:not(.js-enabled) .js-timed-content {
  display: block;
}

.js-enabled .js-timed-content {
  display: block;
}
/* カウントダウンエリア関連 */

.ticket_btn a,
.size_btn a,
.view_more_btn a,
.outlet_btn a {
  color: #fff !important;
}

a.btn-cart,
a.btn-view-more,
a.view-more-btn,
a.goods-btn {
  color: #fff !important;
  text-decoration: none;
}

@media (hover: hover) {
  .rakusia_sleep_anniversary_sale_2606 .u-hover-btn {
    transition: opacity 0.5s ease;
    cursor: pointer;
  }
  .rakusia_sleep_anniversary_sale_2606 .u-hover-btn:hover {
    opacity: 0.7 !important;
  }
}
/* ボタン回り */

.rakusia_sleep_anniversary_sale_2606 {
  --menu-bgColor: #3a3937;
  --menu-lineColor: #dbd7ce;
  --menu-container: #1d1c1a;
}

/* モーダル関連 */
.rakusia_sleep_anniversary_sale_2606 .banner {
  position: fixed;
  bottom: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 80em;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
  user-select: none;
  z-index: 9999;
  filter: blur(4px);
  animation: coupon-elegant-appear 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes coupon-elegant-appear {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(15px);
    filter: blur(8px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    filter: blur(0);
    pointer-events: auto;
  }
}

/* cdt関連 SP */

.rakusia_sleep_anniversary_sale_2606 .cdt {
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 300;
  color: #333333;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: calc(95 / 800 * 100vw);
  padding-bottom: calc(80 / 800 * 100vw);
  text-align: center;
}
.rakusia_sleep_anniversary_sale_2606 .cdt p {
  font-size: calc(36 / 800 * 100vw) !important;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.rakusia_sleep_anniversary_sale_2606 .cdt .kazu,
.rakusia_sleep_anniversary_sale_2606 .cdt .text {
  font-size: calc(48 / 800 * 100vw) !important;
}
.rakusia_sleep_anniversary_sale_2606 .cdt .kazu + .text {
  margin-left: 0.1em;
}
.rakusia_sleep_anniversary_sale_2606 .cdt .text + .kazu {
  margin-left: 0.2em;
}
/* cdt関連 SP */

.rakusia_sleep_anniversary_sale_2606 .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.rakusia_sleep_anniversary_sale_2606 .modal-content {
  background: #fff;
  width: 60em;
  border-radius: 4em;
  overflow: hidden;
  text-align: center;
  font-family: var(--main-font);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}
.rakusia_sleep_anniversary_sale_2606 .modal-title {
  font-size: 3.6em;
  font-weight: bold;
  padding: 2.2em 0.5em 0.8em;
  margin: 0;
  line-height: 1.2;
  color: #000;
}
.rakusia_sleep_anniversary_sale_2606 .modal-body {
  padding: 0.5em 4em 3em;
  font-size: 2.6em;
  line-height: 1.5;
  color: #333;
  word-break: break-all;
}
.rakusia_sleep_anniversary_sale_2606 .modal-close-btn {
  display: block;
  width: 100%;
  padding: calc(16 / 800 * 100vw) 0;
  border: none;
  border-top: 2px solid #eee;
  background: #fdfdfd;
  font-size: 3em;
  font-weight: bold;
  cursor: pointer;
  color: #333;
  -webkit-tap-highlight-color: transparent;
}
.rakusia_sleep_anniversary_sale_2606 .modal-close-btn:active {
  background: #f2f2f2;
}
/* モーダル関連 */

/* .js-timer-content--item {
  display: none;
} */
/* 初期は隠す。JSで条件に合う方だけ block にする */
/* タイマー設定切り替えアイテム */

/* sp */

.js-timed-content {
  padding-bottom: 0;
}

/* section 1  menu-nav-container */

/* --- 楕円メニュー部分 --- */

.rakusia_sleep_anniversary_sale_2606 .menu_bg_02 {
  width: 100%;
  /* 楕円の画像を背景に設定 */
  background: url("https://tu-hacci.co.jp/img/salepage/260605_rakusia_sleep_anniversary_sale/menu_bg_02.png")
    no-repeat center top;
  background-size: cover;
  padding-bottom: calc(80 / 800 * 100vw);
}

.rakusia_sleep_anniversary_sale_2606 .menu-nav-container {
  width: 100%;
  /* 楕円の画像を背景に設定 */
  background: url("https://tu-hacci.co.jp/img/salepage/260605_rakusia_sleep_anniversary_sale/menu_bg.png")
    no-repeat center top;
  background-size: cover;
  /* 楕円の上部からMenuタイトルまでの距離を調整 */
  padding: calc(140 / 800 * 100vw) 0 calc(300 / 800 * 100vw);
  text-align: center;
}

.rakusia_sleep_anniversary_sale_2606 .menu-nav-inner {
  /* 楕円の有効幅に合わせてボタン等のサイズをコントロール */
  width: calc(640 / 800 * 100vw);
  margin: 0 auto;
}

/* Menuタイトル画像のサイズ調整 */
.rakusia_sleep_anniversary_sale_2606 .menu-nav-title {
  width: calc(289 / 800 * 100vw);
  margin: 0 auto calc(20 / 800 * 100vw);
}
.rakusia_sleep_anniversary_sale_2606 .menu-nav-title img {
  width: 100%;
  height: auto;
  display: block;
}

.rakusia_sleep_anniversary_sale_2606 .menu-nav-lead {
  font-family: var(--main-font-family);
  font-weight: 300;
  font-size: calc(30 / 800 * 100vw);
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #373739;
  margin-bottom: calc(45 / 800 * 100vw);
}

.rakusia_sleep_anniversary_sale_2606 .menu-nav-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: calc(20 / 800 * 100vw);
}

.rakusia_sleep_anniversary_sale_2606 .menu-nav-list img {
  width: calc(550 / 800 * 100vw);
  height: auto;
  display: block;
  margin: 0 auto;
}

/* .rakusia_sleep_anniversary_sale_2606 .menu-nav-list li {
  width: calc(610 / 800 * 100vw);
} */

/* ホバー/タップ時のアクション */
.rakusia_sleep_anniversary_sale_2606 .menu-nav-list a {
  display: block;
  transition:
    opacity 0.3s,
    transform 0.2s;
}
.rakusia_sleep_anniversary_sale_2606 .menu-nav-list a:active {
  opacity: 0.8;
  transform: scale(0.98);
}
/* section 1  menu-nav-container */

/* section 2  anniversary special gift */

/* 背景色と基本設定 */
.gift-section {
  width: 100%;
  background-color: #b1a7cc; /* デザインに合わせて調整 */
  /* padding-top: calc(80 / 800 * 100vw); */
  text-align: center;
  padding-bottom: calc(60 / 800 * 100vw);
}

.gift_bg_01 {
  width: 100%;
  /* 楕円の画像を背景に設定 */
  background: url("https://tu-hacci.co.jp/img/salepage/260605_rakusia_sleep_anniversary_sale/gift.png")
    no-repeat center top;
  background-size: cover;
}

/* ヘッダーエリア */
/* .gift-header__logo {
  width: calc(300 / 800 * 100vw);
  margin: 0 auto calc(30 / 800 * 100vw);
} */

/* .rakusia-header-logo {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  isolation: isolate;
} */

.u-blend-screen {
}

.gift-header__text {
  font-family: "Yu Mincho", "YuMincho", serif;
  color: #fff;
  font-size: calc(30 / 800 * 100vw);
  line-height: 1.6;
}

/* ★白いアーチ背景：800px固定設計 */
.gift-content {
  background: #ffffff;
  width: calc(720 / 800 * 100vw);
  max-width: 800px; /* 800px固定 */
  margin: calc(74 / 800 * 100vw) auto 0;
  border-radius: calc(360 / 800 * 100vw) calc(360 / 800 * 100vw) 0 0;

  /* 左右に40pxの余白を確保（800px基準のvw計算） */
  padding: calc(144 / 800 * 100vw) calc(40 / 800 * 100vw)
    calc(100 / 800 * 100vw);
  box-sizing: border-box; /* paddingを幅に含める */
}

.gift-content__inner {
  width: 100%; /* 有効幅 720px (800-40-40) になる */
  margin: 0 auto;
}

/* JS切り替え制御 */
.js-timer-content--item {
  display: block;
  /* 再表示設定 */
}
.js-timer-content--item.is-active {
  display: block;
}

/* 内部パーツのサイズ（有効幅の中で計算） */
.gift-title {
  width: calc(460 / 800 * 100vw);
  margin: 0 auto calc(20 / 800 * 100vw);
}
.u-icon-diamond {
  width: calc(30 / 800 * 100vw);
  margin: 0 auto calc(40 / 800 * 100vw);
}

.gift-info__date {
  font-family: var(--second-font);
  font-size: calc(26 / 800 * 100vw);
  font-weight: bold;
  margin-bottom: calc(20 / 800 * 100vw);
}

.gift-info__condition {
  margin-top: 0;
}

.gift-info__condition span {
  display: inline-block;
  background: #7f766d;
  color: #fff;
  padding: calc(6 / 800 * 100vw) calc(30 / 800 * 100vw);
  border-radius: 50px;
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
}

/* 商品情報ボックス */
.gift-item-box__name {
  color: #7f766d;
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 400;
  font-size: calc(36 / 800 * 100vw);
  line-height: 1.2;
  margin: calc(30 / 800 * 100vw) 0;
}

.gift-item-box__sub_name {
  font-size: calc(72 / 800 * 100vw);
  font-weight: 400;
}

.gift-item-box__img {
  width: calc(520 / 800 * 100vw);
  margin: 0 auto calc(52 / 800 * 100vw);
}
.gift-item-box__spec {
  font-size: calc(24 / 800 * 100vw);
  line-height: 1.5;
  margin-bottom: calc(15 / 800 * 100vw);
}
.gift-item-box__price-old {
  font-size: calc(24 / 800 * 100vw);
  color: #333333;
  margin-bottom: calc(36 / 800 * 100vw);
}

.gift-item-box__price-free {
  font-family: var(--second-font);
  font-size: calc(110 / 800 * 100vw);
  color: #b54454;
  line-height: 1.1;
  margin-bottom: calc(30 / 800 * 100vw);
}
.gift-item-box__price-free span {
  font-size: 0.5em;
  vertical-align: middle;
}

/* かごに入れるボタン */
.btn-cart {
  display: inline-block;
  width: calc(420 / 800 * 100vw);
  background: #724945;
  color: #fff;
  padding: calc(18 / 800 * 100vw) 0;
  border-radius: 50px;
  text-decoration: none;
  font-size: calc(28 / 800 * 100vw);
  font-weight: 500;
}

@media (hover: hover) {
  .rakusia_sleep_anniversary_sale_2606 .btn-cart {
    transition: opacity 0.5s ease;
    cursor: pointer;
  }
  .rakusia_sleep_anniversary_sale_2606 .btn-cart:hover {
    opacity: 0.7 !important;
  }
}

.gift-item-box__note {
  font-size: calc(18 / 800 * 100vw);
  font-weight: 500;
  line-height: 1.6;
  margin: calc(30 / 800 * 100vw) calc(80 / 800 * 100vw) 0;
  text-align: left;
}

/* 共通パーツ */
.u-icon-diamonds-line {
  width: calc(40 / 800 * 100vw);
  margin: calc(80 / 800 * 100vw) auto;
}
.coming-soon-unit {
  position: relative;
  width: calc(640 / 800 * 100vw);
  margin: 0 auto;
}
.coming-soon-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 65%;
}
.badge-one-more {
  position: absolute;
  top: calc(-35 / 800 * 100vw);
  right: calc(-35 / 800 * 100vw);
  width: calc(160 / 800 * 100vw);
  z-index: 5;
}

/* 画像一括設定 */
.gift-section img {
  width: 100%;
  height: auto;
  display: block;
}

/* ------------------------------------------------------------
   Coming Soon Extension (Mask group_02 bottom)
------------------------------------------------------------ */

/* ------------------------------------------------------------
   Coming Soon Extension (Mask group_02 bottom)
------------------------------------------------------------ */

.coming-soon-extension {
  width: 100%;
  max-width: 800px; /* 800px固定 */
  margin: calc(60 / 800 * 100vw) auto;
  padding: 0 calc(40 / 800 * 100vw); /* 左右40pxの余白 */
  box-sizing: border-box;
}

/* ヘッダー画像（Coming soon + 点） */
.cs-header {
  width: calc(354 / 800 * 100vw); /* デザインに合わせて調整 */
  margin: 0 auto calc(40 / 800 * 100vw);
}

/* 左右フレックスレイアウト */
.cs-flex-container {
  display: flex;
  justify-content: space-between;
  align-items: center; /* 上下中央揃え */
  gap: calc(30 / 800 * 100vw);
}

/* 左側：テキスト */
.cs-text-side {
  width: calc(360 / 800 * 100vw);
  text-align: center;
}

/* 日付バッジ：混植フォント + 0.1em */
.cs-date-badge {
  display: inline-block;
  background-color: #7f766d;
  color: #fff;
  padding: calc(5 / 800 * 100vw) calc(21 / 800 * 100vw);
  font-size: calc(24 / 800 * 100vw);
  font-family: var(--main-font-family); /* 混植フォント適用 */
  font-weight: 400;
  letter-spacing: 0.1em; /* Photoshopの100 */
  margin-bottom: calc(15 / 800 * 100vw);
}

.cs-date-badge_number {
  font-size: calc(26 / 800 * 100vw);
}

.cs-date-badge_wed {
  font-size: calc(19.49 / 800 * 100vw);
}

.cs-date-badge_symbols {
  font-size: calc(16.24 / 800 * 100vw);
}

/* 商品名：游明朝 */
.cs-product-name {
  font-size: calc(30 / 800 * 100vw);
  font-weight: 400;
  line-height: 1.6;
  color: #7f766d;
  margin-bottom: calc(10 / 800 * 100vw);
  white-space: nowrap;
}

/* プレゼント：大きく強調 */
.cs-present-label {
  font-size: calc(52 / 800 * 100vw);
  color: #7f766d;
  font-family: "Yu Mincho", "YuMincho", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin-top: calc(38 / 800 * 100vw);
}

/* 右側：画像（円形） */
.cs-image-side {
  width: calc(330 / 800 * 100vw);
}

.cs-image-circle {
  width: 100%;
  overflow: hidden;
}

/* 画像共通設定 */
.coming-soon-extension img {
  width: 100%;
  height: auto;
  display: block;
}
/* ------------------------------------------------------------
   Coming Soon Extension (Mask group_02 bottom)
------------------------------------------------------------ */

/* section 2  anniversary special gift */

/* section 3  popular items section */

.popular-items-section {
  width: 100%;
  background-color: #fceef0; /* 全体背景の薄いピンク */
  padding-bottom: calc(110 / 800 * 100vw);
  text-align: center;
}

/* セクション見出し（ピンク帯） */
.popular-header {
  width: 100%;
  background-color: #c599a6; /* 濃いピンク */
}
.popular-header__inner {
  max-width: 800px;
  margin: 0 auto;
}
.popular-header img {
  width: calc(800 / 800 * 100vw); /* デザインに合わせて調整 */
  margin: 0 auto;
}

/* 800px固定コンテンツエリア */
.popular-content {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 calc(40 / 800 * 100vw); /* 左右40px余白 */
  box-sizing: border-box;
}

.popular-content__inner {
  margin-top: calc(69 / 800 * 100vw);
}

/* 各商品ユニット */
.item-list__unit {
  margin-bottom: calc(80 / 800 * 100vw);
}

/* ラベル：気分やスタイルに合わせて〜 */
.item-list__label {
  display: inline-block;
  background-color: #dabcc5;
  color: #333333;
  font-size: calc(23 / 800 * 100vw);
  font-weight: 500;
  padding: calc(15 / 800 * 100vw) calc(60 / 800 * 100vw);
  border-radius: 50px;
  margin-bottom: calc(30 / 800 * 100vw);
}

.item-list__img {
  width: 100%;
  margin-bottom: calc(30 / 800 * 100vw);
}

/* 商品詳細テキスト */
.item-list__body {
  padding: 0 calc(20 / 800 * 100vw);
}

.item-list__name {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  margin-bottom: 0;
}

.ml__name_01 {
  margin-left: calc(-10 / 800 * 100vw);
}

.ml__name_02 {
  margin-left: calc(-21 / 800 * 100vw);
}

.item-list__price-old {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  color: #333333;
  text-decoration: none;
  margin: 0 auto;
}

/* 価格表示エリア */
.item-list__price-new {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 / 800 * 100vw);
  margin: calc(-15 / 800 * 100vw) 0 0;
}

.u-badge-discount {
  background-color: #b54454;
  color: #fff;
  font-size: calc(24 / 800 * 100vw);
  padding: calc(3 / 800 * 100vw) calc(15 / 800 * 100vw) calc(1 / 800 * 100vw);
  font-weight: 400;
}

.item-list__price-main {
  font-family: var(--second-font);
  /* font-size: calc(56 / 800 * 100vw); */
  color: #b54454;
}
.item-list__price-main span {
  /* font-size: calc(60 / 800 * 100vw); */
  margin: 0 0.1em;
}

.item-list__price-main_yen {
  font-size: calc(42 / 800 * 100vw);
}

.item-list__price-main_price {
  font-size: calc(70 / 800 * 100vw);
}

.item-list__price-main_sub_yen {
  font-size: calc(48 / 800 * 100vw);
}

.item-list__price-main_sub_price {
  font-size: calc(60 / 800 * 100vw);
}

/* View more ボタン */
.item-list__btn-area {
  margin-top: 0;
}

.mb_01,
.mb_02,
.mb_03 {
  margin-top: calc(10 / 800 * 100vw);
}

.btn-view-more {
  display: inline-block;
  background-color: #4a4a4a;
  color: #fff;
  width: calc(360 / 800 * 100vw);
  padding: calc(9 / 800 * 100vw) calc(8 / 800 * 100vw);
  text-decoration: none;
  font-size: calc(24 / 800 * 100vw);
  transition: opacity 0.3s;
}

@media (hover: hover) {
  .rakusia_sleep_anniversary_sale_2606 .btn-view-more {
    transition: opacity 0.5s ease;
    cursor: pointer;
  }
  .rakusia_sleep_anniversary_sale_2606 .btn-view-more:hover {
    opacity: 0.7 !important;
  }
}

/* 共通設定 */
.popular-items-section img {
  width: 100%;
  height: auto;
  display: block;
}

/* ------------------------------------------------------------
   Mask group_03_2: Side-by-Side Layout
------------------------------------------------------------ */

/* 左右並び用のユニット追加設定 */
.item-list__unit.--side-by-side {
  margin-bottom: calc(100 / 800 * 100vw);
}

.item-list__unit.--side-by-side:last-child {
  margin-bottom: 0;
}

.item-list__flex-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(30 / 800 * 100vw);
  margin-top: calc(20 / 800 * 100vw);
}

/* 左側：モデル画像（約48%） */
.item-list__img-side {
  width: calc(360 / 800 * 100vw);
}

/* 右側：テキスト情報（約48%） */
.item-list__body-side {
  width: calc(360 / 800 * 100vw);
  text-align: center; /* テキストは左寄せ */
  padding-top: calc(10 / 800 * 100vw);
}

/* 右側のテキスト要素の個別調整 */
.item-list__body-side .item-list__name {
  /* font-size: calc(22 / 800 * 100vw);
  margin-bottom: calc(10 / 800 * 100vw); */
  text-align: center;
  white-space: nowrap;
}

.item-list__body-side .item-list__price-old {
  font-size: calc(24 / 800 * 100vw);
  text-align: center;
}

.item-list__body-side .item-list__price-new {
  justify-content: center; /* 左寄せに変更 */
  margin: calc(-10 / 800 * 100vw) 0;
}

.item-list__body-side .item-list__price-main {
  /* font-size: calc(48 / 800 * 100vw);  */
  /* 2カラム用には少し小さく */
}

/* 2カラム用のView moreボタン */
.item-list__body-side .btn-view-more {
  width: calc(320 / 800 * 100vw); /* 親の幅（360px）に合わせる */
  /* font-size: calc(20 / 800 * 100vw);
  padding: calc(12 / 800 * 100vw) 0; */
  text-align: center;
}

/* section 3  popular items section */

/* section 4 Coordinating-shorts  */
/* 4つ目のセクション全体のコンテナ */
.rakusia-shorts-section {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  background-color: #f2edf2; /* 全体の淡い背景色 */
  text-align: center;
}

/* ヘッダー画像 */
.shorts-header img {
  width: 100%;
  height: auto;
  display: block;
}

/* コンテンツ内部（左右40px余白） */
.shorts-content {
  padding: calc(40 / 800 * 100vw) calc(40 / 800 * 100vw);
}

/* どんなカラーが～ のテキスト */
.shorts-copy {
  display: inline-block;
  border: 1px solid #a394ac;
  border-radius: 50px;
  padding: calc(10 / 800 * 100vw) calc(40 / 800 * 100vw);
  font-size: calc(32 / 800 * 100vw);
  color: #a394ac;
  margin-bottom: calc(40 / 800 * 100vw);
  background: #fff;
  font-weight: 500;
}

/* モデル画像とバッジの重なり設定 */
.shorts-main-visual {
  position: relative;
  width: 100%;
  margin-bottom: calc(30 / 800 * 100vw);
}

.model-img {
  width: calc(600 / 800 * 100vw);
  display: block;
  margin: 0 auto;
}

/* 数量限定バッジの絶対配置 */
.limited-badge {
  position: absolute;
  right: calc(-20 / 800 * 100vw); /* 少しはみ出す配置 */
  bottom: calc(-20 / 800 * 100vw);
  width: calc(180 / 800 * 100vw);
  z-index: 2;
}

/* 商品詳細 */
.shorts-detail {
  font-family: "Yu Mincho", "YuMincho", serif;
  color: #444;
}

.product-name {
  font-family: var(--main-font);
  font-size: calc(28 / 800 * 100vw);
  margin-top: 0;
  margin-bottom: calc(10 / 800 * 100vw);
}

.price-old {
  font-family: var(--main-font);
  font-size: calc(28 / 800 * 100vw);
  margin-bottom: calc(-20 / 800 * 100vw);
}

/* 価格エリア */
.price-new-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 / 800 * 100vw);
  margin-bottom: calc(-15 / 800 * 100vw);
}

.off-badge {
  width: calc(80 / 800 * 100vw);
}

.price-value_yen {
  font-size: calc(66 / 800 * 100vw);
}

.price-value {
  font-family: var(--second-font);
  font-size: calc(100 / 800 * 100vw);
  font-weight: 400;
  color: #b43446;
}

/* View more ボタン */
.view-more-btn {
  font-family: var(--main-font);
  display: block;
  width: calc(360 / 800 * 100vw);
  margin: 0 auto calc(40 / 800 * 100vw);
  padding: calc(9 / 800 * 100vw) calc(8 / 800 * 100vw);
  background-color: #444;
  color: #fff;
  text-decoration: none;
  font-size: calc(24 / 800 * 100vw);
}

@media (hover: hover) {
  .rakusia_sleep_anniversary_sale_2606 .view-more-btn {
    transition: opacity 0.5s ease;
    cursor: pointer;
  }
  .rakusia_sleep_anniversary_sale_2606 .view-more-btn:hover {
    opacity: 0.7 !important;
  }
}

/* 注意事項 */
.shorts-notes {
  font-family: var(--main-font);
  font-size: calc(18 / 800 * 100vw);
  line-height: 1.66;
  color: #666;
  text-align: center;
}

.shorts-notes p {
  margin: 0;
}

/* section 4 Coordinating-shorts  */

/* section 5 self care Lingerie  */

/* ------------------------------------------------------------
   Mask group_05: ご自愛ランジェリーセクション
------------------------------------------------------------ */

.rakusia-goods-section {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  background-color: #f8f1f2; /* 全体の薄いピンクベージュ背景 */
}

/* セクション見出し画像 */
.goods-header img {
  width: 100%;
  height: auto;
  display: block;
}

/* リスト全体のコンテナ（左右40px余白） */
.goods-container {
  padding: calc(84 / 800 * 100vw) calc(40 / 800 * 100vw) calc(50 / 800 * 100vw);
  display: flex;
  flex-direction: column;
  gap: calc(60 / 800 * 100vw); /* 商品ごとの縦の隙間 */
}

/* 各商品ごとの横並びレイアウト */
.goods-item {
  display: flex;
  justify-content: space-around;
  align-items: center; /* 上下中央揃え */
}

/* 左側：画像ブロック（レビューバッジを絶対配置するために relative） */
.goods-image-side {
  position: relative;
  width: calc(260 / 800 * 100vw); /* 800px中340px */
}

.goods-model-img {
  width: 100%;
  display: block;
}

/* レビュー平均バッジ（左上に少しはみ出して配置） */
.review-badge {
  position: absolute;
  top: calc(-25 / 800 * 100vw);
  left: calc(-50 / 800 * 100vw);
  width: calc(125 / 800 * 100vw);
  z-index: 2;
}

/* 右側：テキスト詳細ブロック */
.goods-info-side {
  width: calc(390 / 800 * 100vw); /* 左と同じ幅で綺麗にシンメトリーに */
  text-align: center;
  color: #333333;
}

/* シリーズ名や補足 */
.goods-series,
.goods-sub-name {
  font-size: calc(26 / 800 * 100vw);
  color: #333333;
  display: block;
  margin-bottom: 0;
}

/* 商品名 */
.goods-name {
  font-size: calc(26 / 800 * 100vw);
  line-height: 1.5;
  font-weight: normal;
  margin-top: 0;
  margin-bottom: 0;
}

/* 通常価格 */
.goods-price-old {
  font-size: calc(26 / 800 * 100vw);
  color: #333333;
  margin-top: 0;
  margin-bottom: calc(-5 / 800 * 100vw);
}

/* 新価格エリア（20%OFFタグと価格の横並び） */
.goods-price-new-area {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(15 / 800 * 100vw);
  margin-bottom: calc(10 / 800 * 100vw);
}

/* 20%OFFタグ（デザイン通りの濃いピンク背景白文字） */
.discount-tag {
  background-color: #b43446; /* 差し色のボルドーピンク */
  color: #fff;
  font-size: calc(24 / 800 * 100vw);
  font-weight: 400;
  padding: calc(1 / 800 * 100vw) calc(5 / 800 * 100vw);
  letter-spacing: 0.05em;
}

/* セール価格数値 */
.goods-price-value {
  font-family: var(--second-font);
  font-size: calc(48 / 800 * 100vw);
  font-weight: 400;
  color: #b43446;
}

.goods-price-value_yen {
  font-size: calc(36 / 800 * 100vw);
}

/* 通常のView moreボタン、およびサイズ別ボタンの共通スタイル */
.goods-btn {
  display: block;
  width: calc(360 / 800 * 100vw);
  background-color: #444;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: calc(24 / 800 * 100vw);
  padding: calc(9 / 800 * 100vw) calc(8 / 800 * 100vw);
  font-family: var(--main-font);
  transition: background-color 0.3s;
}

.goods-btn:hover {
  background-color: #666;
}

@media (hover: hover) {
  .rakusia_sleep_anniversary_sale_2606 .goods-btn {
    transition: opacity 0.5s ease;
    cursor: pointer;
  }
  .rakusia_sleep_anniversary_sale_2606 .goods-btn:hover {
    opacity: 0.7 !important;
  }
}

/* 3つ目の商品用：ボタンが2つ並ぶコンテナ */
.goods-btn-double {
  display: flex;
  flex-direction: column;
  gap: calc(10 / 800 * 100vw);
}

.goods-btn-double .goods-btn {
  font-size: calc(24 / 800 * 100vw); /* 2つ並ぶため文字サイズを少し調整 */
  padding: calc(9 / 800 * 100vw) calc(8 / 800 * 100vw);
}

/* section 5 self care Lingerie  */

/* ------------------------------------------------------------
   Mask group_06: Instagram Campaign Section
------------------------------------------------------------ */

.rakusia-campaign-section {
  width: 100%;
  max-width: 800px;
  margin: 0 auto calc(30 / 800 * 100vw);
  /* background-color: #a69cb4; */
  background-color: #a69cb4;
  /* 周りの紫色の大きな角丸枠（デザインの再現） */
  /* border: calc(15 / 800 * 100vw) solid #9b89a1; */
  /* border-radius: 40px; */
  overflow: hidden;
  box-sizing: border-box;
}

.campaign-header {
}

.campaign-bg {
  width: calc(740 / 800 * 100vw);
  margin: 0 auto calc(50 / 800 * 100vw);
  background-color: #fff;
  border-radius: calc(140 / 800 * 100vw) 0 calc(140 / 800 * 100vw) 0;
}

/* ヘッダー画像（ロゴ〜波線まで） */
.campaign-header img {
  width: calc(454 / 800 * 100vw);
  height: auto;
  display: block;
  margin: calc(56 / 800 * 100vw) auto 0;
  padding-top: calc(56 / 800 * 100vw);
}

.campaign-line {
  width: calc(1 / 800 * 100vw);
  height: calc(60 / 800 * 100vw);
  margin: calc(45 / 800 * 100vw) auto calc(40 / 800 * 100vw);
}

/* コンテンツ内部（左右40px余白） */
.campaign-content {
  padding: 0 calc(30 / 800 * 100vw) calc(150 / 800 * 100vw);
  text-align: center;
  color: #444;
}

/* リード文 */
.campaign-lead-top {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: calc(40 / 800 * 100vw);
}

/* タグエリア */
.campaign-tags-area {
  margin-bottom: calc(40 / 800 * 100vw);
}

.tag-badges {
  display: flex;
  justify-content: center;
  gap: calc(20 / 800 * 100vw);
  margin-bottom: calc(48 / 800 * 100vw);
}

/* ほんのり影のついた白バッジ */
.tag-badge {
  background: #f9f2f2;
  color: #996e6e;
  padding: calc(12 / 800 * 100vw) calc(5 / 800 * 100vw);
  font-size: calc(28 / 800 * 100vw);
  font-weight: 500;
  box-shadow: 0 4px 10px rgba(87, 77, 76, 0.43);
  border-radius: 4px;
}

.campaign-lead-sub {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  color: #333333;
}

/* モデル画像 2カラム */
.campaign-models {
  display: flex;
  justify-content: space-between;
  gap: calc(20 / 800 * 100vw);
  margin-bottom: calc(40 / 800 * 100vw);
}

.model-col {
  width: 50%;
}

.model-col img {
  width: 100%;
  height: auto;
  display: block;
}

/* 応募期間 */
.campaign-period {
  margin-bottom: calc(40 / 800 * 100vw);
}

.period-main {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  margin-bottom: calc(5 / 800 * 100vw);
}

.period-sub {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  color: #333333;
}

/* section 6 we are rakusia  */
/* ------------------------------------------------------------
   アコーディオン（詳細エリア）
------------------------------------------------------------ */
.campaign-accordion {
  width: 100%;
  border: 1px solid #333333;
  text-align: left;
  background: #fff;
}

/* アコーディオンのヘッダー部分 */
.accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: calc(20 / 800 * 100vw);
  font-size: calc(24 / 800 * 100vw);
  cursor: pointer;
  list-style: none; /* デフォルトの矢印を消す */
}

.accordion-title::-webkit-details-marker {
  display: none; /* iOS用のデフォルト矢印消し */
}

/* 下矢印（CSSで簡易作成） */
.accordion-icon {
  width: calc(12 / 800 * 100vw);
  height: calc(12 / 800 * 100vw);
  border-right: 2px solid #444;
  border-bottom: 2px solid #444;
  transform: rotate(45deg);
  margin-right: calc(10 / 800 * 100vw);
  transition: transform 0.3s;
}

/* 開いている時は矢印を上に向ける */
.campaign-accordion[open] .accordion-icon {
  transform: rotate(-135deg);
}

/* アコーディオンの中身 */
.accordion-body {
  padding: 0 calc(25 / 800 * 100vw) calc(30 / 800 * 100vw);
  font-size: calc(24 / 800 * 100vw);
  line-height: 1.8;
  border-top: 1px solid #333333;
}

.info-block {
  margin-top: calc(24 / 800 * 100vw);
}

.info-block h4 {
  font-size: calc(24 / 800 * 100vw);
  font-weight: 500;
  margin-bottom: calc(5 / 800 * 100vw);
  color: #333;
}

.info-block p {
  color: #555;
  margin: 0;
}

/* 最後のメッセージ */
.closing-message {
  margin-top: calc(35 / 800 * 100vw);
  /* text-align: center; */
  font-size: calc(24 / 800 * 100vw);
}
/* section 6 we are rakusia  */

/* sp */

/*  pc */
@media screen and (min-width: 780px) {
  .rakusia_sleep_anniversary_sale_2606 .cdt {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 95px;
    padding-bottom: 80px;
  }
  .rakusia_sleep_anniversary_sale_2606 .cdt p {
    font-size: 36px !important;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .rakusia_sleep_anniversary_sale_2606 .cdt .kazu,
  .rakusia_sleep_anniversary_sale_2606 .cdt .text {
    font-size: 48px !important;
  }
  .rakusia_sleep_anniversary_sale_2606 .cdt .kazu + .text {
    margin-left: 0.1em;
  }
  .rakusia_sleep_anniversary_sale_2606 .cdt .text + .kazu {
    margin-left: 0.2em;
  }
  /* cdt関連 PC */

  /* --- 楕円メニュー部分 --- */
  .rakusia_sleep_anniversary_sale_2606 .menu-nav-lead {
    font-size: 30px;
    margin-bottom: 45px;
  }

  /* section 1  menu-nav-container */

  /* --- 楕円メニュー部分 --- */

  .rakusia_sleep_anniversary_sale_2606 .menu_bg_02 {
    padding-bottom: 80px;
  }

  .rakusia_sleep_anniversary_sale_2606 .menu-nav-container {
    padding: 140px 0 260px;
  }

  .rakusia_sleep_anniversary_sale_2606 .menu-nav-inner {
    /* 楕円の有効幅に合わせてボタン等のサイズをコントロール */
    width: 640px;
  }

  /* Menuタイトル画像のサイズ調整 */
  .rakusia_sleep_anniversary_sale_2606 .menu-nav-title {
    width: 289px;
    margin: 0 auto 20px;
  }

  .rakusia_sleep_anniversary_sale_2606 .menu-nav-list {
    gap: 20px;
  }

  .rakusia_sleep_anniversary_sale_2606 .menu-nav-list img {
    width: 620px;
  }

  @media (hover: hover) {
    .rakusia_sleep_anniversary_sale_2606 .menu-nav-list li {
      transition: opacity 0.5s ease;
      cursor: pointer;
    }
    .rakusia_sleep_anniversary_sale_2606 .menu-nav-list li:hover {
      opacity: 0.7 !important;
    }
  }

  /* .rakusia_sleep_anniversary_sale_2606 .menu-nav-list li {
    width: 610px;
  } */

  /* section 1  menu-nav-container */

  /* section 1  menu-nav-container */

  /* section 2  anniversary special gift */
  .gift-section {
    padding-top: 200px;
    max-width: 800px;
    margin: -200px auto 0;
    padding-bottom: 60px;
  }

  .gift_bg_01 {
  }

  /* ヘッダーエリア */
  /* .gift-header__logo {
    width: 300px;
    margin: 0 auto 30px;
  } */

  .rakusia-header-logo {
    max-width: 800px;
  }

  .u-blend-screen {
  }

  .gift-header__text {
    font-size: 30px;
  }

  /* ★白いアーチ背景：800px固定設計 */
  .gift-content {
    max-width: 720px;
    margin: 74px auto 0;
    border-radius: 480px 480px 0 0;

    /* 左右に40pxの余白を確保（800px基準のvw計算） */
    padding: 144px 40px 100px;
  }

  /* 内部パーツのサイズ（有効幅の中で計算） */
  .gift-title {
    width: 460px;
    margin: 0 auto 20px;
  }
  .u-icon-diamond {
    width: 30px;
    margin: 0 auto 40px;
  }

  .gift-info__date {
    font-size: 26px;
    margin-bottom: 20px;
  }

  .gift-info__condition {
    margin-top: 0;
  }

  .gift-info__condition span {
    padding: 6px 30px;
    border-radius: 50px;
    font-size: 24px;
  }

  /* 商品情報ボックス */
  .gift-item-box__name {
    font-size: 36px;
    margin: 30px 0;
  }

  .gift-item-box__sub_name {
    font-size: 72px;
  }

  .gift-item-box__img {
    width: 520px;
    margin: 0 auto 52px;
  }
  .gift-item-box__spec {
    font-size: 24px;
    margin-bottom: 15px;
  }

  .gift-item-box__price-old {
    font-size: 24px;
    margin-bottom: 36px;
  }

  .gift-item-box__price-free {
    font-size: 110px;
    margin-bottom: 30px;
  }
  .gift-item-box__price-free span {
    font-size: 72px;
  }

  /* かごに入れるボタン */
  .btn-cart {
    width: 420px;
    padding: 25px 0;
    border-radius: 50px;
    font-size: 28px;
  }

  .gift-item-box__note {
    font-size: 18px;
    margin: 30px 80px 0;
  }

  /* 共通パーツ */
  .u-icon-diamonds-line {
    width: 40px;
    margin: 80px auto;
  }
  .coming-soon-unit {
    width: 640px;
  }
  .coming-soon-overlay {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 65%;
  }
  .badge-one-more {
    position: absolute;
    top: -35px;
    right: -35px;
    width: 160px;
  }

  .coming-soon-extension {
    margin: 60px auto;
    padding: 0 40px;
  }

  /* ヘッダー画像（Coming soon + 点） */
  .cs-header {
    width: 354px; /* デザインに合わせて調整 */
    margin: 0 auto 40px;
  }

  /* 左右フレックスレイアウト */
  .cs-flex-container {
    gap: 30px;
  }

  /* 左側：テキスト */
  .cs-text-side {
    width: 360px;
  }

  /* 日付バッジ：混植フォント + 0.1em */
  .cs-date-badge {
    padding: 5px 21px;
    font-size: 24px;
    letter-spacing: 0.1em;
    margin-bottom: 15px;
  }

  .cs-date-badge_number {
    font-size: 26px;
  }

  .cs-date-badge_wed {
    font-size: 19.49px;
  }

  .cs-date-badge_symbols {
    font-size: 16.24px;
  }

  /* 商品名：游明朝 */
  .cs-product-name {
    font-size: 30px;
    margin-bottom: 10px;
  }

  /* プレゼント：大きく強調 */
  .cs-present-label {
    font-size: 52px;
    margin-top: 38px;
  }

  /* 右側：画像（円形） */
  .cs-image-side {
    width: 330px;
  }

  /* section 2  anniversary special gift */

  /* section 3  popular items section */

  .popular-items-section {
    padding-bottom: 110px;
    max-width: 800px;
    margin: 0 auto;
  }

  /* セクション見出し（ピンク帯） */
  .popular-header {
  }

  .popular-header img {
    width: 800px; /* デザインに合わせて調整 */
  }

  /* 800px固定コンテンツエリア */
  .popular-content {
    max-width: 800px;
    padding: 0 40px;
  }

  .popular-content__inner {
    margin-top: 69px;
  }

  /* 各商品ユニット */
  .item-list__unit {
    margin-bottom: 80px;
  }

  /* ラベル：気分やスタイルに合わせて〜 */
  .item-list__label {
    font-size: 23px;
    padding: 15px 60px;
    border-radius: 50px;
    margin-bottom: 30px;
  }

  .item-list__img {
    width: 100%;
    margin-bottom: 30px;
  }

  /* 商品詳細テキスト */
  .item-list__body {
    padding: 0 20px;
  }

  .item-list__name {
    font-size: 24px;
    margin-bottom: 0;
  }

  .ml__name_01 {
    margin-left: -10px;
  }

  .ml__name_02 {
    margin-left: -21px;
  }

  .item-list__price-old {
    font-size: 24px;
    margin: 0 auto;
  }

  /* 価格表示エリア */
  .item-list__price-new {
    gap: 15px;
    margin: -15px 0 0;
  }

  .u-badge-discount {
    font-size: 24px;
    padding: 3px 15px 1px;
  }

  .item-list__price-main {
    font-family: var(--second-font);
    /* font-size: 56px; */
  }

  .item-list__price-main span {
    /* font-size: 70px; */
    margin: 0 1px;
  }

  .item-list__price-main_yen {
    font-size: 42px;
  }
  .item-list__price-main_price {
    font-size: 70px;
  }

  .item-list__price-main_sub_yen {
    font-size: 48px;
  }

  .item-list__price-main_sub_price {
    font-size: 60px;
  }

  /* View more ボタン */
  .item-list__btn-area {
    margin-top: 0;
  }

  .mb_01,
  .mb_02,
  .mb_03 {
    margin-top: 10px;
  }

  .btn-view-more {
    width: 360px;
    padding: 9px 8px;
    font-size: 24px;
  }

  /* ------------------------------------------------------------
   Mask group_03_2: Side-by-Side Layout
------------------------------------------------------------ */

  /* 左右並び用のユニット追加設定 */
  .item-list__unit.--side-by-side {
    margin-bottom: 100px;
  }
  .item-list__unit.--side-by-side:last-child {
    margin-bottom: 0;
  }

  .item-list__flex-container {
    gap: 30px;
    margin-top: 20px;
  }

  /* 左側：モデル画像（約48%） */
  .item-list__img-side {
    width: 360px;
  }

  /* 右側：テキスト情報（約48%） */
  .item-list__body-side {
    width: 360px;
    padding-top: 10px;
  }

  /* 右側のテキスト要素の個別調整 */
  .item-list__body-side .item-list__name {
    /* font-size: 22px;
    margin-bottom: 10px; */
  }

  .item-list__body-side .item-list__price-old {
    font-size: 24px;
  }

  .item-list__body-side .item-list__price-new {
    margin: -10px 0;
  }

  .item-list__body-side .item-list__price-main {
    /* font-size: 48px;  */
    /* 2カラム用には少し小さく */
  }

  /* 2カラム用のView moreボタン */
  .item-list__body-side .btn-view-more {
    width: 320px;
    font-size: 24px;
    /* padding: 12px 0; */
  }

  /* section 3  popular items section */

  /* section 4 Coordinating-shorts  */
  /* 4つ目のセクション全体のコンテナ */
  .rakusia-shorts-section {
  }

  /* コンテンツ内部（左右40px余白） */
  .shorts-content {
    padding: 40px 40px;
  }

  /* どんなカラーが～ のテキスト */
  .shorts-copy {
    border-radius: 50px;
    padding: 10px 40px;
    font-size: 32px;
    margin-bottom: 40px;
  }

  /* モデル画像とバッジの重なり設定 */
  .shorts-main-visual {
    margin-bottom: 30px;
  }

  .model-img {
    width: 600px;
  }

  /* 数量限定バッジの絶対配置 */
  .limited-badge {
    position: absolute;
    right: -20px;
    bottom: -20px;
    width: 180px;
  }

  .product-name {
    font-size: 28px;
    margin-bottom: 10px;
  }

  .price-old {
    font-size: 28px;
    margin-top: 0;
    margin-bottom: -20px;
  }

  /* 価格エリア */
  .price-new-area {
    gap: 15px;
    margin-bottom: -15px;
  }

  .off-badge {
    width: 80px;
  }

  .price-value_yen {
    font-size: 66px;
  }

  .price-value {
    font-size: 100px;
  }

  /* View more ボタン */
  .view-more-btn {
    width: 360px;
    margin: 0 auto 40px;
    padding: 9px 8px;
    font-size: 24px;
  }

  /* 注意事項 */
  .shorts-notes {
    font-size: 18px;
  }
  .shorts-notes p {
    margin: 0;
  }

  /* section 4 Coordinating-shorts  */

  /* section 5 self care Lingerie  */

  /* ------------------------------------------------------------
   Mask group_05: ご自愛ランジェリーセクション
------------------------------------------------------------ */

  .rakusia-goods-section {
  }

  .goods-container {
    padding: 84px 40px 50px;
    gap: 60px;
  }

  /* 各商品ごとの横並びレイアウト */
  .goods-item {
  }

  /* 左側：画像ブロック（レビューバッジを絶対配置するために relative） */
  .goods-image-side {
    width: 260px;
  }

  .goods-model-img {
  }

  /* レビュー平均バッジ（左上に少しはみ出して配置） */
  .review-badge {
    position: absolute;
    top: -25px;
    left: -50px;
    width: 125px;
  }

  /* 右側：テキスト詳細ブロック */
  .goods-info-side {
    width: 390px; /* 左と同じ幅で綺麗にシンメトリーに */
  }

  /* シリーズ名や補足 */
  .goods-series,
  .goods-sub-name {
    font-size: 26px;
    margin-bottom: 0;
  }

  /* 商品名 */
  .goods-name {
    font-size: 26px;
    /* margin-bottom: 10px; */
  }

  /* 通常価格 */
  .goods-price-old {
    font-size: 26px;
    margin-top: 0;
    margin-bottom: -5px;
  }

  /* 新価格エリア（20%OFFタグと価格の横並び） */
  .goods-price-new-area {
    gap: 15px;
    margin-bottom: 10px;
  }

  /* 20%OFFタグ（デザイン通りの濃いピンク背景白文字） */
  .discount-tag {
    font-size: 24px;
    padding: 1px 5px;
  }

  /* セール価格数値 */
  .goods-price-value {
    font-size: 48px;
  }

  .goods-price-value_yen {
    font-size: 36px;
  }

  /* 通常のView moreボタン、およびサイズ別ボタンの共通スタイル */
  .goods-btn {
    width: 360px;
    font-size: 24px;
    padding: 9px 8px;
  }

  .goods-btn:hover {
  }

  /* 3つ目の商品用：ボタンが2つ並ぶコンテナ */
  .goods-btn-double {
    gap: 10px;
  }

  .goods-btn-double .goods-btn {
    font-size: 24px; /* 2つ並ぶため文字サイズを少し調整 */
    padding: 9px 8px;
  }

  /* section 5 self care Lingerie  */

  /* section 6 we are rakusia  */
  /* ------------------------------------------------------------
   Mask group_06: Instagram Campaign Section
------------------------------------------------------------ */

  .rakusia-campaign-section {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 30px;
    /* background-color: #a69cb4; */
    /* border: 15px solid #9b89a1; */
  }

  /* ヘッダー画像（ロゴ〜波線まで） */
  .campaign-header img {
    width: 454px;
    margin: 56px auto 0;
    padding-top: 56px;
  }

  .campaign-bg {
    width: 740px;
    margin: 0 auto 50px;
    border-radius: 140px 0 140px 0;
  }

  /* ヘッダー画像（ロゴ〜波線まで） */
  /* .campaign-header img {
    width: calc(454 / 800 * 100vw);
    height: auto;
    display: block;
    margin: calc(56 / 800 * 100vw) auto 0;
    padding-top: calc(56 / 800 * 100vw);
  } */

  .campaign-line {
    width: 1px;
    height: 60px;
    margin: 45px auto 40px;
  }

  /* コンテンツ内部（左右40px余白） */
  .campaign-content {
    padding: 0 30px 150px;
  }

  /* リード文 */
  .campaign-lead-top {
    font-size: 24px;
    margin-bottom: 40px;
  }

  /* タグエリア */
  .campaign-tags-area {
    margin-bottom: 40px;
  }

  .tag-badges {
    gap: 20px;
    margin-bottom: 48px;
  }

  /* ほんのり影のついた白バッジ */
  .tag-badge {
    padding: 12px 7px;
    font-size: 32px;
  }

  .campaign-lead-sub {
    font-size: 24px;
  }

  /* モデル画像 2カラム */
  .campaign-models {
    gap: 20px;
    margin-bottom: 40px;
  }

  .model-col {
    /* width: 50%; */
  }

  .model-col img {
    /* width: 100%;
    height: auto;
    display: block; */
  }

  /* 応募期間 */
  .campaign-period {
    margin-bottom: 40px;
  }

  .period-main {
    font-size: 24px;
    margin-bottom: 5px;
  }

  .period-sub {
    font-size: 24px;
    margin-top: 0;
  }

  /* ------------------------------------------------------------
   アコーディオン（詳細エリア）
------------------------------------------------------------ */
  .campaign-accordion {
    width: 100%;
    border: 1px solid #333333;
    text-align: left;
    background: #fff;
  }

  /* アコーディオンのヘッダー部分 */
  .accordion-title {
    padding: 20px;
    font-size: 24px;
  }

  .accordion-title::-webkit-details-marker {
    /* display: none;  */
  }

  /* 下矢印（CSSで簡易作成） */
  .accordion-icon {
    width: 12px;
    height: 12px;
    margin-right: 10px;
  }

  /* 開いている時は矢印を上に向ける */
  .campaign-accordion[open] .accordion-icon {
    transform: rotate(-135deg);
  }

  /* アコーディオンの中身 */
  .accordion-body {
    padding: 0 25px 30px;
    font-size: 24px;
    border-top: 1px solid #333333;
  }

  .info-block {
    margin-top: 24px;
  }

  .info-block h4 {
    font-size: 24px;
    margin-bottom: 5px;
  }

  .info-block p {
    /* color: #555;
    margin: 0; */
  }

  /* 最後のメッセージ */
  .closing-message {
    margin-top: 35px;
    font-size: 24px;
  }
  /* section 6 we are rakusia  */
}
/* pc */
