@charset "UTF-8";

/* ===== reset（#page-cms 配下のみ・詳細度0） ===== */
:where(#page-cms, #page-cms *) { box-sizing: border-box; margin: 0; padding: 0; }
:where(#page-cms img) { display: block; max-width: none; border: 0; }
:where(#page-cms a) { color: inherit; text-decoration: none; }
:where(#page-cms ul) { list-style: none; }
:where(#page-cms button) { border: 0; background: none; font: inherit; color: inherit; appearance: none; -webkit-appearance: none; }

/* ===== scale wrapper ===== */
#page-wrap-cms { width: 100%; max-width: 600px; margin: 0 auto; overflow: hidden; }
#page-cms {
  width: 375px; position: relative; transform-origin: top left;
  background: #fff; color: #7a4132;
  font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Noto Sans JP', sans-serif;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

/* ===== font helpers ===== */
#page-cms .mincho-cms { font-family: 'Zen Old Mincho', 'Hiragino Mincho ProN', serif; font-weight: 900; }
#page-cms .w3-cms { font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Noto Sans JP', sans-serif; font-weight: 300; }
#page-cms .w6-cms { font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Noto Sans JP', sans-serif; font-weight: 600; }
#page-cms .lineseed-cms { font-family: 'LINE Seed JP', 'Noto Sans JP', sans-serif; font-weight: 800; }
#page-cms .nowrap-cms { white-space: nowrap; }
#page-cms .sr-only-cms {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
#page-cms .hidden-cms { display: none !important; }

/* ===== 背景：単色＋ダマスク柄(30%) ===== */
#page-cms .sec-cms { position: relative; width: 375px; }
#page-cms .pattern-cms::before {
  content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: 0;
  background: url('../img/pattern.png') repeat left top / 96.8px 96.8px;
  opacity: .3; pointer-events: none;
}
#page-cms .sec-inner-cms { position: relative; z-index: 2; }

/* ===== 共通ボタン ===== */
#page-cms .btn-cms {
  display: flex; align-items: center; justify-content: center;
  border-radius: 2px; color: #fff;
  font-family: 'Inter', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; font-weight: 700; line-height: 1;
  white-space: nowrap; cursor: pointer; text-decoration: none;
  transition: opacity .2s ease, transform .2s ease;
}
#page-cms .btn-cms:hover { opacity: .8; transform: translateY(-2px); }
/* 公開時間付きボタン（CMSサーバー時刻hook）
   期間中：<a>を表示／終了後：「終了しました」<button disabled>を表示／判定前・開始前：どちらも非表示（枠で場所は保持） */
#page-cms .btn-slot-cms { position: relative; flex: none; }
#page-cms .slot-lg-cms { width: 311px; height: 49.982px; }
#page-cms .slot-md-cms { width: 280px; height: 45px; }
#page-cms .btn-ended-cms {
  background: #a8a8a8; border: 0; cursor: default; pointer-events: none;
  font-family: 'Inter', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
}
#page-cms .btn-ended-cms:hover { opacity: 1; transform: none; }
#page-cms .btn-lg-cms { width: 311px; height: 49.982px; gap: 7.207px; font-size: 16.66px; }
#page-cms .btn-lg-cms .btn-arrow-cms { width: 14.513px; height: 14.513px; }
#page-cms .btn-md-cms { width: 280px; height: 45px; gap: 6.489px; font-size: 15px; }
#page-cms .btn-md-cms .btn-arrow-cms { width: 13.067px; height: 13.067px; }
#page-cms .btn-arrow-cms { transform: rotate(180deg); }
#page-cms .btn-brown-cms { background: #7a4132; }
#page-cms .btn-green-cms { background: #05c755; }

/* ===== 01 top ===== */
#page-cms .top-cms { width: 375px; height: 281px; }
#page-cms .top-cms img { width: 375px; height: 281px; }

/* ===== 02 introduction ===== */
#page-cms .intro-cms { height: 773.704px; background-color: #baddd5; padding: 40px 16px; }
#page-cms .intro-box-cms {
  position: relative; width: 343px; height: 693.704px;
  background: #fff; border: 2.5px solid #7a4132;
  padding: 39.5px 17.5px 47.5px; justify-content: center;
  display: flex; flex-direction: column; align-items: center;
}
#page-cms .intro-corner-cms { position: absolute; left: 8px; width: 317px; height: 67px; pointer-events: none; z-index: 1; }
#page-cms .intro-corner-top-cms { top: 5px; }
#page-cms .intro-corner-btm-cms { top: 612px; transform: scaleY(-1); }
#page-cms .intro-label-cms { width: 100.198px; height: 9.284px; }
#page-cms .intro-text-cms {
  position: relative; z-index: 2;
  margin-top: 16px; width: 303px; text-align: center;
  font-family: 'Zen Old Mincho', 'Hiragino Mincho ProN', serif; font-weight: 700;
  font-size: 12px; line-height: 2;
}
#page-cms .intro-divider-cms { margin-top: 24px; width: 272px; height: 2.136px; transform: scaleY(-1); }
#page-cms .profile-label-cms { margin-top: 24px; width: 54.878px; height: 9.284px; }
#page-cms .profile-name-cms { margin-top: 16px; font-size: 26px; line-height: 1; text-align: center; }
#page-cms .profile-text-cms { position: relative; z-index: 2; margin-top: 16px; width: 303px; font-size: 10px; line-height: 1.5; text-align: center; }

/* ===== 03 event（スペシャルクイズ） ===== */
#page-cms .event-cms { height: 1374.221px; background-color: #ffddd8; padding-top: 20px; }
#page-cms .quiz-head-cms img { width: 375px; height: 452px; }
#page-cms .rule-brown-cms { width: 375px; height: 2.5px; background: #7a4132; }
#page-cms .event-body-cms {
  width: 375px; background: #fff; padding: 30px 0;
  display: flex; flex-direction: column; align-items: center; gap: 36px;
}
#page-cms .event-groups-cms { display: flex; flex-direction: column; align-items: center; gap: 24px; width: 311px; }
#page-cms .event-group-cms { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 311px; }
#page-cms .event-textset-cms { display: flex; flex-direction: column; align-items: center; gap: 8px; }
#page-cms .event-textset-sm-cms { gap: 4px; }
#page-cms .event-p-cms { width: 311px; font-size: 11px; line-height: 2; text-align: center; }
#page-cms .pills-cms { display: flex; flex-direction: column; align-items: center; gap: 4px; }
#page-cms .pill-pink-cms {
  display: block; width: max-content; background: #cf0d6c; color: #fff;
  font-size: 12px; line-height: 1.4; text-align: center; white-space: nowrap; padding: 0 8px;
}
#page-cms .pill-pink-l-cms { padding: 0 0 0 8px; }
#page-cms .pill-pink-lr-cms { padding: 0 4px 0 8px; }
#page-cms .tokuten-cms { width: 186.594px; height: 226.994px; }
#page-cms .mug-box-cms { position: relative; width: 311px; height: 192.245px; }
#page-cms .mug-box-cms img { position: absolute; left: 34px; top: 7.8px; width: 210.148px; height: 175.438px; }

/* ===== 04 LINEスタンプ ===== */
#page-cms .line-cms { height: 1127.624px; background: #f7f8f9; }
#page-cms .line-head-cms {
  width: 375px; height: 237px; background: #05c755; color: #fff; padding: 40px 0;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
#page-cms .line-title-cms { display: flex; flex-direction: column; align-items: center; gap: 4px; line-height: 1; text-align: center; white-space: nowrap; }
#page-cms .line-title-s-cms { display: block; font-size: 20px; line-height: 1; }
#page-cms .line-title-l-cms { display: block; font-size: 28px; line-height: 1; }
#page-cms .line-desc-cms { width: 343px; font-size: 10px; line-height: 1.5; text-align: center; }
#page-cms .line-target-cms { display: flex; flex-direction: column; align-items: center; gap: 4px; }
#page-cms .line-target-cms p { font-size: 17px; line-height: 1; white-space: nowrap; }
#page-cms .line-target-cms img { width: 261px; height: 1px; }
#page-cms .line-body-cms {
  width: 375px; height: 890.624px; padding: 40px 20px;
  display: flex; flex-direction: column; align-items: center; gap: 32px; color: #1e1e1e;
}
#page-cms .line-block-cms { width: 335px; display: flex; flex-direction: column; align-items: center; gap: 16px; }
#page-cms .line-block-head-cms { width: 335px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
#page-cms .line-h3-cms { font-size: 20px; line-height: 1; white-space: nowrap; }
#page-cms .line-sub-cms { width: 335px; display: flex; flex-direction: column; align-items: center; gap: 4px; }
#page-cms .line-p-cms { font-size: 11px; line-height: 17px; text-align: center; }
#page-cms .line-notes-cms { font-size: 9px; line-height: 1.21; text-align: left; white-space: nowrap; }
#page-cms .line-note-cms { font-size: 10px; line-height: 1.5; text-align: center; width: 335px; }
#page-cms .stamps-cms { display: flex; gap: 4.659px; width: 273px; }
#page-cms .stamps-cms img { width: 134.17px; height: 116.039px; }
#page-cms .point-box-cms {
  width: 335px; background: #fff; border: 1px solid #9b8e8e; border-radius: 5px;
  padding: 20px 0 24px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
#page-cms .point-pill-cms {
  display: block; width: max-content; background: #05c755; color: #fff; border-radius: 31.407px;
  padding: 6.281px 9.422px; font-size: 10.992px; line-height: 1; white-space: nowrap;
}
#page-cms .point-rows-cms { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
#page-cms .point-row-cms { display: flex; align-items: center; gap: 8px; height: 27px; }
#page-cms .point-row-lg-cms { height: 32px; }
#page-cms .point-label-cms {
  width: 115px; text-align: right; white-space: nowrap;
  font-family: 'Inter', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif; font-weight: 800;
  font-size: 14px; line-height: 1;
}
#page-cms .point-row-lg-cms .point-label-cms { font-size: 16px; }
#page-cms .point-tri-cms { width: 12px; height: 12px; position: relative; flex: none; }
#page-cms .point-tri-cms img { position: absolute; left: 1.5px; top: .5px; width: 10.392px; height: 9px; transform: rotate(90deg); transform-origin: 5.196px 6px; }
#page-cms .point-val-cms { display: flex; align-items: center; gap: 1.711px; }
#page-cms .point-num-cms { font-size: 26.519px; line-height: 1; color: #72d5e3; white-space: nowrap; }
#page-cms .point-row-lg-cms .point-val-cms { gap: 2.087px; }
#page-cms .point-row-lg-cms .point-num-cms { font-size: 32.346px; }
#page-cms .pbadge-cms { position: relative; width: 23.953px; height: 23.953px; flex: none; }
#page-cms .point-row-lg-cms .pbadge-cms { width: 29.215px; height: 29.215px; }
#page-cms .pbadge-cms svg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#page-cms .pbadge-cms span {
  position: absolute; left: 0; top: 0; width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'LINE Seed JP', 'Noto Sans JP', sans-serif; font-weight: 800;
  color: #ccf9ff; font-size: 13.69px; line-height: 1;
}
#page-cms .point-row-lg-cms .pbadge-cms span { font-size: 16.69px; }

/* ===== 05 無料キャンペーン ===== */
#page-cms .free-cms { height: 2977.626px; background-color: #baddd5; padding: 40px 16px; }
#page-cms .sec-head-cms { display: flex; flex-direction: column; align-items: center; gap: 20px; }
#page-cms .free-title-cms { display: flex; flex-direction: column; align-items: center; gap: 4px; line-height: 1; text-align: center; white-space: nowrap; }
#page-cms .free-title-en-cms { display: block; font-size: 16px; line-height: 1; }
#page-cms .free-title-ja-cms { display: block; font-size: 40px; line-height: 1; }
#page-cms .band-cms {
  width: 375px; margin: 0 -16px; background: #9d8b5e; padding: 24px 0;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
}
#page-cms .band-cms img { width: 273px; height: 2.152px; }
#page-cms .band-cms p { width: 375px; color: #fff; font-size: 13px; line-height: 20px; letter-spacing: .65px; text-align: center; }
#page-cms .works-cms { margin-top: 28px; display: flex; flex-direction: column; gap: 16px; }
#page-cms .work-card-cms {
  width: 343px; background: #fff; border: 2.5px solid #9d8b5e;
  padding: 19.5px 17.5px 37.5px; justify-content: center;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
}
#page-cms .work-card-1-cms { height: 611.6px; }
#page-cms .work-card-2-cms, #page-cms .work-card-3-cms { height: 666.6px; }
#page-cms .work-card-4-cms { height: 664.6px; }
#page-cms .work-orn-cms { position: relative; width: 87.431px; height: 38.331px; flex: none; }
#page-cms .work-orn-cms img {
  position: absolute; left: 24.55px; top: -24.55px; width: 38.331px; height: 87.431px;
  transform: rotate(-90deg);
}
#page-cms .work-title-cms { width: 303px; color: #7a4132; font-size: 20px; line-height: 1.1; text-align: center; }
#page-cms .work-title-cms .sub-cms { font-size: 17px; }
#page-cms .work-title-cms .wave-cms { font-weight: 400; }
#page-cms .work-title-sm-cms { font-size: 18px; }
#page-cms .work-title-sm-cms .punc-cms { letter-spacing: -9px; }
#page-cms .work-body-cms { width: 303px; display: flex; flex-direction: column; gap: 12px; }
#page-cms .work-story-cms { font-size: 11px; line-height: 17px; text-align: center; }
#page-cms .work-cover-cms { width: 303px; height: 227.25px; }
#page-cms .free-sets-cms { display: flex; flex-direction: column; align-items: center; gap: 8px; }
#page-cms .free-set-cms { display: flex; flex-direction: column; align-items: center; gap: 4px; }
#page-cms .free-big-cms { display: flex; align-items: center; justify-content: center; line-height: 1; white-space: nowrap; color: #7a4132; }
#page-cms .free-big-cms .n-cms { font-size: 65.28px; }
#page-cms .free-big-cms .u-cms { font-size: 40.8px; }
#page-cms .free-big-cms .f-cms { font-size: 53.04px; }
#page-cms .free-mid-cms .n-cms { font-size: 48.762px; }
#page-cms .free-mid-cms .u-cms { font-size: 30.476px; }
#page-cms .free-mid-cms .f-cms { font-size: 39.619px; }
#page-cms .dates-cms { display: flex; gap: 4px; }
#page-cms .date-cms {
  display: block; width: max-content; background: #391411; color: #fff;
  padding: 3px 13px; font-size: 10px; line-height: 1; white-space: nowrap;
}
#page-cms .date-narrow-cms { padding: 3px 7px; }

/* ===== 06 平日毎日無料（メガコレ） ===== */
#page-cms .megane-cms { height: 2512.974px; background-color: #e9e9e9; padding: 40px 16px; }
#page-cms .megane-titles-cms { display: flex; flex-direction: column; align-items: center; gap: 4px; }
#page-cms .kawamaru-boxes-cms { display: flex; gap: 2.76px; }
#page-cms .kawamaru-boxes-cms span {
  display: flex; align-items: center; justify-content: center;
  width: 23.46px; height: 23.46px; padding: 0 0 2.3px;
  background: #7a4132; color: #fff; font-size: 17.94px; line-height: 1;
}
#page-cms .megane-title-cms { font-size: 55px; line-height: 1; white-space: nowrap; text-align: center; color: #7a4132; }
#page-cms .megane-body-cms { margin-top: 28px; display: flex; flex-direction: column; align-items: center; gap: 32px; }
#page-cms .start-cms { display: flex; flex-direction: column; align-items: center; gap: 7.097px; }
#page-cms .start-goal-txt-cms { font-size: 32.826px; line-height: 1; text-align: center; color: #7a4132; }
#page-cms .start-orn-cms { width: 178.324px; height: 29.659px; }
#page-cms .start-orn-flip-cms { transform: scaleY(-1); }
#page-cms .megacolle-cms { display: flex; flex-direction: column; align-items: center; gap: 16px; }
#page-cms .megacolle-logo-cms { width: 343px; height: 78.747px; }
#page-cms .megane-list-cms { display: flex; flex-direction: column; align-items: center; gap: 28px; }
#page-cms .megane-item-cms { display: flex; flex-direction: column; align-items: center; gap: 8px; }
#page-cms .megane-card-cms { width: 342.979px; height: 233.048px; }
#page-cms .sched-rows-cms { display: flex; flex-direction: column; align-items: center; gap: 8px; }
#page-cms .sched-row-cms { display: flex; gap: 4.923px; }
#page-cms .sched-cms {
  position: relative; width: 82.057px; height: 85.63px; padding: 1.641px; color: var(--c);
  display: flex; flex-direction: column;
}
#page-cms .sched-svg-cms { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; z-index: 0; }
#page-cms .sched-frame-cms { fill: var(--c); }
#page-cms .sched-ep-cms { position: relative; z-index: 1; height: 31.5px; padding: 7.978px 2.918px 4.559px; font-size: 18.8px; line-height: 1; text-align: center; }
#page-cms .sched-date-cms {
  position: relative; z-index: 1; height: 50.849px; color: #fff; padding: 4.559px 2.918px 7.978px;
  display: flex; flex-direction: column; align-items: center; gap: 2.279px; text-align: center; line-height: 1;
}
#page-cms .sched-date-cms .d-cms { font-size: 22.79px; line-height: 1; }
#page-cms .sched-date-cms .w-cms { font-size: 13.11px; line-height: 1; }
#page-cms .c-navy-cms { --c: #1b3468; }
#page-cms .c-orange-cms { --c: #d4532c; }
#page-cms .c-brown-cms { --c: #784c0d; }
#page-cms .c-green-cms { --c: #455b40; }
#page-cms .c-red-cms { --c: #d25d60; }
#page-cms .goal-cms { display: flex; flex-direction: column; align-items: center; }

/* ===== 07 INFORMATION ===== */
#page-cms .info-cms {
  height: 966.946px; background-color: #baddd5; padding: 50px 16px 40px;
  display: flex; flex-direction: column; align-items: center;
}
#page-cms .info-cms .sec-inner-cms { display: flex; flex-direction: column; align-items: center; gap: 28px; }
#page-cms .info-title-cms img { width: 208.799px; height: 21.337px; }
#page-cms .info-award-cms { display: flex; flex-direction: column; align-items: center; gap: 16px; }
#page-cms .info-award-cms img { width: 343px; height: 255.457px; }
#page-cms .info-sns-cms { width: 343px; height: 483.156px; }

/* ===== 08 footer ===== */
#page-cms .footer-bar-cms { width: 375px; height: 50px; background: #7a4132; }
