@charset "UTF-8";
/* =============================================
見出し

01.基本設定
02.共通クラス
03.ヘッダー
04.フッター
05.コンテンツ

============================================= */
/* =============================================
01.基本設定
============================================= */
body {
  font-family: "Zen Maru Gothic", serif;
  box-sizing: border-box;
  color: #2E60AD;
}

.container {
  max-width: 468px;
  padding: 0;
  margin: 0 auto;
  background: white;
  overflow-x: hidden;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
}

section {
  padding: 20px 0 !important;
}

.section__wrapper {
  padding: 0 20px;
}

p {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
}
@media (max-width: 767px) {
  p {
    font-size: 14px;
  }
}

li {
  list-style-type: none;
}

/* =============================================
02.共通クラス
============================================= */
.pc {
  display: block;
}
@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

.bold {
  font-weight: bold;
}

.font-birthstone {
  font-family: "Birthstone", cursive;
}

.pink {
  color: #EE6182;
}

.black {
  color: #5A5A5A;
}

.center {
  text-align: center;
}

.font24 {
  font-size: 24px;
}

.font20 {
  font-size: 20px;
}

.font12 {
  font-size: 12px;
}

.font14 {
  font-size: 14px;
}

.font36 {
  font-size: 36px;
}

.line-w {
  background: linear-gradient(transparent 0, white 70%);
}

/* =============================================
03.ヘッダー
============================================= */
/* =============================================
04.フッター
============================================= */
/* =============================================
05.コンテンツ
============================================= */
.bg-main::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100vh;
  background: linear-gradient(#FFFAD1, #E7F3FF);
  position: fixed;
  top: 0;
  z-index: -10;
}

.slide-in {
  position: relative;
  transform: translateY(-100px); /* top ではなく transform を使用してオフセット */
  opacity: 0; /* 最初は見えない状態にする */
  transition: transform 1s ease-out, opacity 0.5s ease-out; /* アニメーションの設定 */
}

.slide-in.visible {
  transform: translateY(0); /* 元の位置に戻す */
  opacity: 1; /* 完全に見えるようにする */
}

.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.show {
  opacity: 1;
  transform: translateY(0);
}

.fade-in-up {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(50px); /* 初期位置: 50px下 */
  transition: opacity 0.3s ease, transform 0.3s ease; /* アニメーションの設定 */
}
.fade-in-up.slow {
  transition: opacity 1s ease, transform 1s ease; /* アニメーションの設定 */
  transform: translateY(40px); /* 初期位置: 50px下 */
}

.fade-in-up.visible {
  opacity: 1; /* 表示 */
  transform: translateY(-10px); /* 一瞬、上に通り過ぎる */
}
.fade-in-up.visible.slow {
  transform: translateY(-10px); /* 一瞬、上に通り過ぎる */
}

.fade-in-up.final {
  transform: translateY(0); /* 最終位置に戻る */
  transition: transform 0.1s ease; /* 最後に滑らかに位置を戻す */
}
.fade-in-up.final.slow {
  transition: transform 1s ease; /* 最後に滑らかに位置を戻す */
}

.fade-in-down {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(-50px); /* 初期位置: 50px下 */
  transition: opacity 0.3s ease, transform 0.3s ease; /* アニメーションの設定 */
}

.fade-in-down.visible {
  opacity: 1; /* 表示 */
  transform: translateY(0px); /* 一瞬、上に通り過ぎる */
}

.fade-in-down.final {
  transform: translateY(0); /* 最終位置に戻る */
  transition: transform 0.1s ease; /* 最後に滑らかに位置を戻す */
}

.remind__btn {
  position: relative;
  padding-right: 30px; /* 余白を確保 */
}

.close-btn {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 16px;
  color: #333;
}

.tabs {
  width: 100%;
}

.tab-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: end;
}

.tab-list .tab {
  padding: 10px 20px;
  cursor: pointer;
  border: 1px solid #ccc;
  border-bottom: none;
  background-color: #f1f1f1;
}

.tab-list .tab.active {
  background-color: white;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
}

.tab-pane {
  display: none;
  background-color: white;
}

.tab-pane.active {
  display: block;
}

.rotate-image-container {
  position: relative;
  width: 70px; /* 要素の幅を調整 */
  height: 70px; /* 要素の高さを調整 */
}

.rotate-image-container::before {
  content: "";
  position: absolute;
  top: -12px;
  left: -4px;
  width: 30px;
  height: 30px;
  background-image: url("../img/mark-pika.png"); /* 画像のパスを指定 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(0deg); /* 初期状態は30度 */
  animation: blink03 1s steps(1, end) infinite;
}

@keyframes rotate-animation {
  0% {
    transform: rotate(0deg); /* 30度で静止 */
  }
  50% {
    transform: rotate(-15deg); /* 40度に回転 */
  }
  100% {
    transform: rotate(0deg); /* 30度に戻る */
  }
}
.rotate-image-container::after {
  content: "";
  position: absolute;
  top: -12px;
  left: -4px;
  width: 30px;
  height: 30px;
  background-image: url("../img/mark-pika.png"); /* 画像のパスを指定 */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(0deg); /* 初期状態は30度 */
  animation: blink03 1s steps(1, end) infinite;
}

@keyframes rotate-animation {
  0% {
    transform: rotate(0deg); /* 30度で静止 */
  }
  50% {
    transform: rotate(-15deg); /* 40度に回転 */
  }
  100% {
    transform: rotate(0deg); /* 30度に戻る */
  }
}
.top-panel__wrapper {
  background: #CFE8EB;
  border: 2px solid #2E60AD;
  width: 270px;
  margin: -4px auto 0;
  position: relative;
  padding: 12px;
  border-radius: 5px;
}
.top-panel__wrapper .top-panel__info {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
}
.top-panel__wrapper .today {
  font-family: "Birthstone", cursive;
  font-size: 12px;
  color: #4785C7;
  margin-top: 10px;
}
.top-panel__wrapper .date {
  font-size: 30px;
  font-weight: bold;
  color: #4785C7;
}
.top-panel__wrapper .date span {
  font-size: 20px;
}
.top-panel__wrapper .label {
  background: #4785C7;
  color: white;
  font-size: 14px;
  padding: 5px 10px;
  border-radius: 30px;
}
.top-panel__wrapper .top-panel__btn {
  text-align: center;
  margin-top: 14px;
}
.top-panel__wrapper .top-panel__btn a {
  padding: 5px;
  background: white;
  box-shadow: 0 0 5px rgba(3, 65, 158, 0.3607843137);
  border-radius: 30px;
  color: #4785C7;
  font-size: 15px;
  position: relative;
  display: block;
  max-width: 220px;
  margin: 0 auto;
}
.top-panel__wrapper .top-panel__btn a::after {
  content: "";
  display: block;
  width: 20px;
  height: 14px;
  background: url(../img/icon-arrow-right.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translateY(-50%);
}

.circle-left {
  position: absolute;
  top: 35px;
  width: 30px;
  left: -40px;
}

.circle-right {
  position: absolute;
  top: 35px;
  width: 30px;
  right: -40px;
}

.app__info {
  max-width: 260px;
  margin: 20px auto 10px;
}

.app__btn {
  max-width: 260px;
  margin: 0 auto 40px;
}

.fv__ttl {
  text-align: center;
  font-size: 20px;
  line-height: 1.3;
  font-weight: bold;
}

.fv__msg {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 20px;
}
.fv__msg .target {
  letter-spacing: 5px;
  font-size: 36px;
  font-weight: 900;
  color: #CFE8EB;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #2E60AD;
}
.fv__msg .dots {
  background-image: radial-gradient(circle at center, #4785C7 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top -5px right 8px; /* 点の位置調整 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.5em; /* 点のサイズと間隔を文字に合わせて調整 */
  letter-spacing: 0.1em; /* 文字間隔 */
  padding: 0;
}

.yellow-line {
  position: relative;
  display: inline-block;
  padding-bottom: 10px; /* 下線の余白を確保 */
}

.yellow-line::after {
  content: "";
  position: absolute;
  bottom: 6px;
  width: 130%;
  height: 15px;
  background-color: #FFFAD1;
  border-radius: 15px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

/* 右回り (時計回り) のアニメーション */
@keyframes rotateRight {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 左回り (反時計回り) のアニメーション */
@keyframes rotateLeft {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
/* 右回りの画像に適用 */
.rotate-right img {
  animation: rotateRight 15s linear infinite; /* 5秒かけて一周、無限に繰り返す */
}

/* 左回りの画像に適用 */
.rotate-left img {
  animation: rotateLeft 15s linear infinite; /* 5秒かけて一周、無限に繰り返す */
}

.star-left {
  width: 110px;
  position: absolute;
  top: -20px;
  left: -60px;
}

.star-right {
  width: 90px;
  position: absolute;
  right: -30px;
  bottom: -30px;
}

.fv__copy {
  position: relative;
}
.fv__copy.yutai {
  margin-top: 40px;
}

/* アニメーション・ちかちか点滅 */
@keyframes blink02 {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blink03 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.blinking-image02 img,
.blinking-image05 img {
  animation: blink02 2s steps(1, end) infinite; /* 1秒ごとに表示と非表示が切り替わる */
}

.blinking-image03 img {
  animation: blink03 2s steps(1, end) infinite; /* 1秒ごとに表示と非表示が切り替わる */
}

/* fin.アニメーション・ちかちか点滅 */
.blinking-image01 {
  width: 30px;
  position: absolute;
  left: 3%;
  bottom: 4%;
}

.blinking-image02 {
  position: absolute;
  width: 24px;
  left: 10%;
  bottom: -4%;
}

.blinking-image03 {
  position: absolute;
  width: 34px;
  right: 12%;
  top: 0%;
}

.blinking-image04 {
  position: absolute;
  width: 22px;
  right: 8%;
  top: 20%;
}

.blinking-image05 {
  position: absolute;
  width: 18px;
  right: 4%;
  top: 10%;
}

.notification {
  font-size: 12px;
  width: 265px;
  margin: 10px auto 10px;
  line-height: 1.3;
}

.yutai .star-right {
  bottom: 20px;
}
.yutai .blinking-image01 {
  bottom: 32%;
}
.yutai .blinking-image02 {
  bottom: 24%;
}

.remind__btn {
  background: white;
  border: 1px solid #2E60AD;
  padding: 8px 50px;
  border-radius: 50px;
  color: #2E60AD;
  left: 50%;
  transform: translateX(-50%);
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 14px;
  width: 320px;
}
.remind__btn::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/icon-info.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
}
.remind__btn::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../img/icon-arrow-right.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}
.remind__btn .close-btn {
  position: absolute;
  width: 30px;
  height: 30px;
  top: 0;
  right: 0;
}

.tabs .tab,
.tabs .tab.active {
  border: none;
}
.tabs .tab01 {
  background-color: #FFF6C5 !important;
  font-weight: bold;
  width: 70%;
  text-align: center;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  justify-content: center;
  align-items: center;
}
.tabs .tab01.active {
  width: 70%;
  font-size: 20px;
  border-right: 4px solid gray;
  height: 30px;
  display: flex;
}
.tabs .tab02 {
  width: 30%;
  height: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
  background-color: #CFE8EB !important;
}
.tabs .tab02.active {
  width: 30%;
  font-size: 20px;
  border-left: 4px solid gray;
  height: 30px;
  display: flex;
}
.tabs .yutai__wrapper {
  padding: 20px;
  margin-bottom: 4px;
}
.tabs .yutai01 {
  margin-top: -2px;
}
.tabs .yutai01,
.tabs .yutai03 {
  background: url(../img/bg-yutai01.png);
  background-size: cover;
}
.tabs .yutai02,
.tabs .yutai04 {
  background: url(../img/bg-yutai02.png);
  background-size: cover;
}
.tabs .new-mark {
  position: absolute;
}
.tabs .new-mark img {
  animation: rotate-animation 1s steps(1, end) infinite;
}
.tabs #tab-2 {
  background: #CFE8EB;
  padding: 10px;
}
.tabs .tab2__ttl {
  max-width: 200px;
  margin: 20px auto;
}
.tabs .osusume__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 20px;
}
.tabs .osusume__item {
  width: 49%;
  background: white;
  border: 1px solid #2E60AD;
  border-radius: 10px;
  padding: 10px;
  box-sizing: border-box;
  position: relative;
  margin-top: 40px;
}
.tabs .icon__half {
  position: absolute;
  width: 54px;
  top: -28px;
  right: 10px;
}
.tabs .thumbnail {
  margin-bottom: 10px;
}
.tabs .osusume__ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-bottom: 20px;
  line-height: 1.3;
}
.tabs .osusume__txt {
  font-size: 10px;
  line-height: 1.3;
}
.tabs a {
  color: #2E60AD;
}

.section__coming {
  position: relative;
}
.section__coming .coming__ttl {
  max-width: 200px;
  margin: 0px auto 20px;
}
.section__coming .section__ttl {
  text-align: center;
  line-height: 1.5;
  letter-spacing: 3px;
  margin-bottom: 20px;
  font-size: 16px;
}
.section__coming .coming__service {
  margin-bottom: 20px;
}
.section__coming .coming__txt {
  font-size: 12px;
  text-align: center;
  margin-bottom: 20px;
}

/* 高さの切り替えアニメーション */
@keyframes heightToggle01 {
  0% {
    padding-top: 0px; /* 高さが100px */
  }
  50% {
    padding-top: 10px; /* 高さが200pxに変わる */
  }
  100% {
    padding-top: 0px; /* 元の高さに戻る */
  }
}
@keyframes heightToggle02 {
  0% {
    padding-top: 50px; /* 高さが100px */
  }
  50% {
    padding-top: 40px; /* 高さが200pxに変わる */
  }
  100% {
    padding-top: 50px; /* 元の高さに戻る */
  }
}
@keyframes heightToggle03 {
  0% {
    padding-top: 0px; /* 高さが100px */
  }
  50% {
    padding-top: 10px; /* 高さが200pxに変わる */
  }
  100% {
    padding-top: 0px; /* 元の高さに戻る */
  }
}
.height-toggle-image.acc-img03 img {
  display: block;
  animation: heightToggle01 1s steps(1, end) infinite; /* 0.5秒ごとに切り替わる */
  width: 30px;
  z-index: 100;
  position: relative;
}

.height-toggle-image.acc-img01 img,
.height-toggle-image.acc-img04 img {
  display: block;
  animation: heightToggle02 1s steps(1, end) infinite; /* 0.5秒ごとに切り替わる */
  width: 30px;
  z-index: 100;
  position: relative;
}

.height-toggle-image.acc-img02 img {
  display: block;
  animation: heightToggle03 1s steps(1, end) infinite; /* 0.5秒ごとに切り替わる */
  width: 30px;
  z-index: 100;
  position: relative;
  top: 4px;
}

.height-toggle-image {
  position: relative;
}

.height-toggle-image::before {
  content: "";
  position: absolute;
  bottom: 22px;
  left: 13px;
  width: 10px;
  height: 100%;
  display: block;
  z-index: 100;
  background-image: radial-gradient(circle, #62A5ED 1px, rgba(255, 255, 255, 0) 1px);
  background-size: 2px 6px; /* ドットの大きさと間隔を調整 */
  background-repeat: repeat-y;
}

.acc01 {
  position: absolute;
  left: 10px;
  top: 30px;
}

.acc02 {
  position: absolute;
  left: 40px;
  top: 30px;
}

.acc03 {
  position: absolute;
  right: 40px;
  top: 30px;
}

.acc04 {
  position: absolute;
  right: 10px;
  top: 30px;
}

.btn01, .btn02, .btn05, .btn06 {
  margin-bottom: 20px;
}
.btn01 a, .btn02 a, .btn05 a, .btn06 a {
  background: #FFCA61;
  color: #2E60AD;
  font-weight: bold;
  padding: 18px 20px;
  display: block;
  font-size: 16px;
  border: 3px solid white;
  box-shadow: 0 0 8px rgba(204, 204, 204, 0.8);
  border-radius: 10px;
  position: relative;
}
.btn01 a::after, .btn02 a::after, .btn05 a::after, .btn06 a::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url(../img/circl-right.png);
  background-size: contain;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.btn01.book {
  text-align: center;
  margin-bottom: 0;
}
.btn01.book a::after {
  background: url(../img/icon-book.png) no-repeat;
  background-size: contain;
  left: 30px;
  background-position: center;
}

.btn01.yellow {
  text-align: center;
}
.btn01.yellow a {
  color: #5A5A5A;
}
.btn01.yellow a::after {
  background: url(../img/yellow-btn.png) no-repeat;
  background-size: contain;
  background-position: center;
}

.btn02 a {
  background: white;
  border: 3px solid #FFE6B6;
}

.btn02.yellow {
  text-align: center;
}
.btn02.yellow a {
  color: #5A5A5A;
}
.btn02.yellow a::after {
  background: url(../img/yellow-btn02.png) no-repeat;
  background-size: contain;
  background-position: center;
}

.btn05 {
  padding: 0 14px;
}
.btn05.row a {
  padding: 5px;
}
.btn05.row span {
  display: block;
  margin: 4px;
}
.btn05 a {
  color: white;
  background: #EE6182;
  font-size: 16px;
}
.btn05 a::after {
  background: url(../img/circl-right-pink.png);
  background-size: contain;
}

.btn06 {
  margin-bottom: 0;
  padding: 0 14px;
  white-space: nowrap;
}
.btn06 a {
  color: #EE6182;
  background: white;
  border: 2px solid;
}
.btn06 a::after {
  background: url(../img/circl-right-pink02.png);
  background-size: contain;
}
.btn06 span {
  color: #5A5A5A;
  font-size: 14px;
  font-weight: normal;
}

.btn07 {
  margin-bottom: 30px;
}
.btn07 a {
  background: white;
  border: 1px solid;
  width: 100%;
  display: block;
  text-align: center;
  max-width: 120px;
  border-radius: 50px;
  padding: 10px;
  font-size: 16px;
  letter-spacing: 4px;
  margin: 0 auto;
  font-weight: bold;
  color: #4785C7;
}
.btn07 a::after {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/icon-prev.png) no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.btn07 span {
  color: #5A5A5A;
  font-size: 12px;
  font-weight: normal;
}

.btn03 a {
  background: white;
  color: #4785C7;
  padding: 14px;
  text-align: center;
  display: block;
  max-width: 220px;
  margin: 0 auto 14px;
  position: relative;
  border-radius: 50px;
  letter-spacing: 3px;
  font-weight: bold;
  font-size: 14px;
}
.btn03 a.mb0 {
  margin-bottom: 0;
}
.btn03 a::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: url(../img/icon-arrow-right.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.section__cta {
  background: #CFE8EB;
}
.section__cta .cta__ttl {
  max-width: 280px;
  margin: 0 auto 20px;
}

.section__footer-btn .section__wrapper {
  padding: 0 30px;
}

.btn04 {
  position: relative;
}
.btn04::before {
  opacity: 0.3;
  transition: 0.3s;
}
.btn04 a {
  background: rgba(207, 232, 235, 0.2117647059);
  color: #2E60AD;
  display: block;
  padding: 18px 20px;
  margin-bottom: 14px;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(204, 204, 204, 0.8);
  text-align: center;
  letter-spacing: 2px;
  font-weight: bold;
  font-size: 14px;
}
.btn04.icon-file::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/icon-file.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.btn04.icon-logout::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/icon-logout.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.btn04.icon-contact::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/icon-mail.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translateY(-50%);
}

.tab02 {
  position: relative;
}

.red-point {
  width: 10px;
  height: 10px;
  background: #EE6182;
  border-radius: 50%;
  position: absolute;
  right: 15px;
  top: 5px;
}

.yutai__ttl {
  background: #CFE8EB;
  text-align: center;
  padding: 10px;
  font-size: 24px;
  letter-spacing: 3px;
  margin-bottom: 20px;
}

.yutai__txt {
  margin-bottom: 10px;
  font-family: "Noto Sans JP", sans-serif;
  color: black;
  font-size: 16px;
}

.mypage__top {
  max-width: 320px;
  margin: 0 auto;
}

.yutai__info {
  border: 1px solid #2E60AD;
  display: block;
  padding: 10px 50px;
  color: #2E60AD;
  font-weight: 500;
  line-height: 1.5;
  border-radius: 10px;
  position: relative;
  margin-bottom: 10px;
  font-size: 14px;
}
.yutai__info::before {
  content: "";
  background: url(../img/icon-info.png) no-repeat;
  width: 24px;
  height: 24px;
  background-size: contain;
  display: block;
  position: absolute;
  left: 12px;
}
.yutai__info::after {
  content: "";
  background: url(../img/icon-arrow-right.png) no-repeat;
  width: 14px;
  height: 14px;
  background-size: contain;
  display: block;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

select {
  -webkit-appearance: none;
}

.yutai__select {
  background: #CFE8EB;
  padding: 20px 0;
  margin-top: 20px;
}
.yutai__select.fixed {
  z-index: 1000;
  position: fixed;
  width: 100%;
  bottom: 0;
  max-width: 468px;
}
.yutai__select .select__ttl {
  max-width: 300px;
  margin: 0 auto 10px;
}
.yutai__select p {
  color: #000;
  margin-bottom: 10px;
}

.select-form {
  width: 100%;
  padding: 10px;
  color: #818181;
  border: rgba(204, 204, 204, 0.8) solid 1px;
  background: white;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("../img/icon-select.png");
  background-repeat: no-repeat;
  background-size: 14px auto; /* 画像のサイズ（幅 高さ）*/
  background-position: right 12px center; /* 画像の位置 */
}

.select__btn {
  background: white;
  padding: 6px;
  border-radius: 50px;
  border: none;
  color: #EE6182;
  font-weight: bold;
  box-shadow: 0 0 4px rgba(204, 204, 204, 0.8);
  position: relative;
  margin-top: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Zen Maru Gothic", serif;
  font-size: 15px;
  min-width: 95px;
}

.yutai__ttl__img {
  max-width: 300px;
  margin: 20px auto;
}

.fixed__container {
  display: flex;
  justify-content: space-between;
  column-gap: 10px;
  align-items: center;
}
.fixed__container .select__btn {
  position: inherit;
  transform: translateX(0);
  width: 35%;
  margin-top: 0;
}
.fixed__container .pregnancy-stage {
  width: 60%;
}

.osusume__item {
  opacity: 0; /* 初期状態で非表示 */
  transform: translateY(20px); /* 初期状態で少し下に移動 */
  transition: opacity 0.6s ease-out, transform 0.6s ease-out; /* スムーズなアニメーション */
}

.osusume__item.show {
  opacity: 1; /* 表示 */
  transform: translateY(0); /* 元の位置に戻す */
}

footer {
  height: 60px;
  width: 100%;
  background: transparent;
}

.page__book .book__info {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  letter-spacing: 2px;
  box-shadow: 0 2px 4px rgba(204, 204, 204, 0.8);
  font-size: 12px;
  white-space: nowrap;
  letter-spacing: 0;
  min-height: 50px;
}
.page__book .book__info .tokuten-label {
  width: 64px;
}
.page__book .book__info .book__copy {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.page__book .book__info .book__copy img {
  width: 20px;
}
.page__book .book__info .book__copy .pink {
  font-size: 20px;
  font-weight: bold;
}
.page__book .book__info .fade-in-down {
  margin-bottom: -20px;
}
.page__book .section__book-top {
  background: #FFF6C5;
}
.page__book .section__book-top .book-top__ttl {
  text-align: center;
  font-size: 28px;
  line-height: 1.3;
  border-bottom: none;
  background-image: radial-gradient(circle, #FFDD9B 2px, transparent 2px);
  background-size: 12px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 15px;
  margin-bottom: 15px;
  white-space: nowrap;
}
.page__book .section__book-top .book-top__ttl span {
  display: block;
  font-size: 20px;
  color: #4785C7;
  letter-spacing: 3px;
}
.page__book .section__book-top .book-top__ttl .sub__ttl {
  font-size: 14px;
  color: #5A5A5A;
  padding-top: 5px;
}
.page__book .section__book-top .btn05 {
  margin-bottom: 10px;
}
.page__book .fukidashi {
  display: flex;
  justify-content: center;
  text-align: center;
  line-height: 1.5;
  white-space: nowrap;
}
.page__book .fukidashi span {
  color: #EE6182;
  font-size: 32px;
}
.page__book .fukidashi img {
  max-height: 240px;
}
.page__book .book__img img {
  max-height: 240px;
  object-fit: contain;
}
.page__book .rotate-image-container {
  height: auto;
  width: auto;
  padding: 10px;
  margin-bottom: 0px;
  margin-top: 0px;
  font-weight: bold;
}
.page__book .rotate-image-container::before {
  background: url(../img/fuki01.png) no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  left: -10px;
  width: 10px;
  height: 20px;
  top: auto;
}
.page__book .rotate-image-container::after {
  background: url(../img/fuki02.png) no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  left: auto;
  right: -4px;
  width: 10px;
  height: 20px;
  top: auto;
}
.page__book .book__main {
  position: relative;
}
.page__book .book__img {
  padding: 10px 40px 20px;
  background: url(../img/bg-book.png) no-repeat;
  background-size: contain;
  background-position: center;
}
.page__book .book__fuki {
  max-width: 120px;
  position: absolute;
  left: 60%;
  bottom: 100px;
}
.page__book .wchance {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.page__book .wchance .text {
  width: 65%;
}
.page__book .wchance .img {
  width: 30%;
}
.page__book .btn__tameshiyomi {
  width: 80px;
  display: block;
  top: 20px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-left: 120px;
}
.page__book .book__txt {
  color: #5A5A5A;
  text-align: center;
  font-weight: bold;
  margin-top: -14px;
  margin-bottom: 14px;
}
.page__book .introduction__ttl {
  text-align: center;
}
.page__book .introduction__ttl.no-border {
  background-image: none;
}
.page__book .introduction__ttl img {
  max-width: 180px;
  margin-bottom: 20px;
}
.page__book .introduction__ttl p {
  text-align: left;
}
.page__book .introduction__ttl.no-border {
  background-image: none;
  padding-bottom: 0;
}
.page__book .introduction_chapter {
  border-bottom: none;
  background-image: radial-gradient(circle, #FFDD9B 2px, transparent 2px);
  background-size: 12px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.page__book .introduction_chapter li {
  display: flex;
  align-items: center;
  margin-top: 20px;
  color: #5A5A5A;
  column-gap: 10px;
  font-size: 13px;
}
.page__book .introduction_chapter li img {
  width: 60px;
}
.page__book .introduction_ul {
  margin-bottom: 20px;
  border-bottom: none;
  background-image: radial-gradient(circle, #FFDD9B 2px, transparent 2px);
  background-size: 12px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.page__book .introduction_ul li {
  margin-top: 10px;
  color: #5A5A5A;
  column-gap: 10px;
  font-size: 13px;
  display: flex;
  align-items: center;
}
.page__book .introduction_ul li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #FFDD9B;
  border-radius: 50%;
}
.page__book .introduction__wrapper {
  background: rgba(255, 246, 197, 0.4784313725);
  padding: 20px 14px;
  border-radius: 20px;
}
.page__book .introduction__wrapper p {
  color: #5A5A5A;
  text-align: center;
  margin-bottom: 20px;
  font-size: 13px;
}
.page__book .introduction__wrapper img {
  padding: 10px 20px;
  box-sizing: border-box;
}
.page__book .introduction__wrapper img.sm {
  max-width: 220px;
}
.page__book .introduction__wrapper .introduction__img {
  text-align: center;
}
.page__book .introduction__wrapper .btn06 {
  padding: 0;
}
.page__book .introduction__wrapper .lead {
  text-align: left;
}
.page__book .lead__text {
  margin-bottom: 10px;
  font-size: 13px;
  color: #5A5A5A;
  text-align: left !important;
}
.page__book .lead__text .sm {
  font-size: 10px;
  margin-top: px;
}
.page__book .fixed__btns {
  position: fixed;
  bottom: 0;
  display: flex;
  justify-content: center;
  column-gap: 10px;
  width: 100%;
  z-index: 100;
  max-width: 468px;
  left: 50%;
  transform: translateX(-50%);
}
.page__book .fixed__btns > div {
  width: 45%;
  padding: 0;
}
.page__book .fixed__btns a {
  text-align: center;
  padding-right: 40px;
  font-size: 16px;
}
.page__book .fixed__btns .btn06 a {
  font-size: 14px;
}
.page__book .sample__txt01 {
  font-size: 12px;
  color: #5A5A5A;
  margin-bottom: 20px;
  font-weight: 500;
}
.page__book .sample__txt02 {
  font-size: 12px;
  color: #EE6182;
  margin-bottom: 20px;
  font-weight: 500;
}
.page__book .sample__copy01 {
  color: #5A5A5A;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5px;
}
.page__book .sample__copy02 {
  color: #5A5A5A;
  font-weight: bold;
  text-align: center;
  font-size: 24px;
  margin-bottom: 20px;
}
.page__book .sample__copy02 span {
  color: #EE6182;
  font-size: 28px;
  background: linear-gradient(transparent 60%, white 40%);
  padding: 0 5px;
}
.page__book .intro__img {
  max-width: 100%;
  margin: 0 auto 10px;
}
.page__book .intro__img__txt {
  color: #5A5A5A;
  font-size: 13px;
  text-align: center;
  margin-bottom: 20px;
}

.page__qupon .qupon__top {
  background: #CFE8EB;
}
.page__qupon .qupon__ttl {
  font-size: 28px;
  line-height: 1.3;
  margin-bottom: 20px;
  text-align: center;
}
.page__qupon .ticket__img {
  margin-bottom: 20px;
}
.page__qupon .ticket__wrapper {
  background: white;
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #4785C7;
  margin-bottom: 20px;
}
.page__qupon .label__txt {
  font-size: 14px;
  margin-bottom: 10px;
  font-weight: bold;
}
.page__qupon .line {
  border-bottom: none;
  background-image: radial-gradient(circle, #4785C7 1px, transparent 1px);
  background-size: 6px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 5px;
  margin-bottom: 20px;
  position: relative;
}
.page__qupon .line::before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 40px;
  background: url(../img/maru-right.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: -21px;
  top: -10px;
}
.page__qupon .line::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 40px;
  background: url(../img/maru-left.png) no-repeat;
  background-size: contain;
  position: absolute;
  left: -21px;
  top: -10px;
}
.page__qupon .ticket__label {
  background: url(../img/qupon-label.png) no-repeat;
  background-size: cover;
  display: inline-block;
  padding: 5px 30px 5px 20px;
  color: #5A5A5A;
  margin-left: -20px;
  margin-bottom: 10px;
  font-weight: bold;
  background-position: center;
  font-size: 16px;
}
.page__qupon .ticket__sub-ttl {
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  margin-bottom: 10px;
}
.page__qupon .ticket__ttl {
  color: #EE6182;
  font-weight: bold;
  font-size: 26px;
  text-align: center;
}
.page__qupon .fukidashi {
  display: flex;
  justify-content: center;
}
.page__qupon .rotate-image-container {
  height: auto;
  width: auto !important;
  padding: 10px;
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 2px;
  line-height: 1.3;
  text-align: center;
}
.page__qupon .rotate-image-container::before {
  background: url(../img/fuki01.png) no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  left: -10px;
  width: 14px;
  height: 40px;
  top: auto;
  bottom: 0px;
}
.page__qupon .rotate-image-container::after {
  background: url(../img/fuki02.png) no-repeat;
  background-size: contain;
  content: "";
  position: absolute;
  left: auto;
  right: -10px;
  width: 14px;
  height: 40px;
  top: auto;
  bottom: 0px;
}
.page__qupon .qupon__items {
  border-bottom: none;
  background-image: radial-gradient(circle, #4785C7 1px, transparent 1px);
  background-size: 6px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 5px;
  margin-bottom: 20px;
}
.page__qupon .qupon__item {
  margin-bottom: 20px;
}
.page__qupon .item__ttl {
  background: #FFF6C5;
  color: #5A5A5A;
  font-weight: bold;
  display: flex;
  column-gap: 10px;
  padding: 5px 10px;
  margin-bottom: 10px;
}
.page__qupon .item__ttl span {
  background: #FFCA61;
  display: inline-block;
  width: 20px;
  height: 20px;
  color: #FFF6C5;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.page__qupon .item__wrapper {
  display: flex;
  justify-content: space-between;
}
.page__qupon .item__wrapper .item__img {
  width: 50%;
}
.page__qupon .item__wrapper p {
  width: 45%;
  color: #5A5A5A;
  font-size: 14px;
}
.page__qupon .qupon__info {
  border-bottom: none;
  background-image: radial-gradient(circle, #4785C7 1px, transparent 1px);
  background-size: 6px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 5px;
  padding-bottom: 30px;
  margin-bottom: 20px;
}
.page__qupon .qupon__info h4 {
  color: rgba(71, 133, 199, 0.7411764706);
  border-left: 4px solid;
  padding-left: 6px;
  margin-bottom: 10px;
  font-size: 16px;
}
.page__qupon .qupon__info p, .page__qupon .qupon__info ul {
  color: #5A5A5A;
  font-size: 14px;
  margin-bottom: 20px;
}
.page__qupon .qupon__info li {
  margin-bottom: 10px;
  line-height: 1.3;
}
.page__qupon .qupon__info li::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #CFE8EB;
  border-radius: 50%;
}
.page__qupon .qupon__qr {
  max-width: 130px;
  margin: 10px auto 0;
}
.page__qupon .qupon__date {
  color: #5A5A5A;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 20px;
}
.page__qupon .qupon__code {
  border: 2px solid #4785C7;
}
.page__qupon .qupon__code h5 {
  background: #4785C7;
  color: white;
  font-size: 12px;
  text-align: center;
  padding: 10px;
}
.page__qupon .qupon__wrapper {
  padding: 10px;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #2E60AD;
}
.page__qupon .notification {
  margin: 0;
  margin-top: 10px;
  width: 100%;
  font-size: 14px;
}
.page__qupon .supporter {
  color: #5A5A5A;
  font-size: 16px;
  margin-bottom: 20px;
}
.page__qupon .supporter .sm {
  font-size: 14px;
}

.slider {
  width: 80%; /* 全体の幅を80%にして、次のコンテンツが一部見えるようにする */
  margin: 0 auto;
  position: relative;
}

.page__lineup .lineup__top {
  background: #FFE6B6;
  padding: 20px 20px;
}
.page__lineup .lineup__ttl-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  background-image: radial-gradient(circle, white 2px, transparent 2px);
  background-size: 12px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 14px;
}
.page__lineup .charactor {
  width: 40px;
}
.page__lineup .lineup__ttl {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0;
  text-align: center;
  line-height: 1.3;
}
.page__lineup .fukidashi {
  font-size: 14px;
}
.page__lineup .lineup__txt {
  color: #333;
  font-size: 12px;
  margin-top: 10px;
  font-weight: bold;
}

.section-lineup {
  overflow: hidden;
  padding: 120px 0;
}
.section-lineup .inner {
  margin: 0 auto;
  padding-top: 40px;
  width: 75%;
  padding-left: 40px;
}
.section-lineup .lineup {
  position: relative;
}
.section-lineup .lineup-carousel li {
  text-align: center;
  margin-right: 12px;
}
.section-lineup .lineup-carousel img {
  display: block;
  margin-bottom: 10px;
  width: 100%;
}
.section-lineup .lineup-carousel img:last-of-type {
  margin-bottom: 0;
}
.section-lineup .slick-list {
  overflow: visible;
}
.section-lineup .slick-nav-arrows {
  position: absolute;
  top: -40px;
  right: 0%;
}
.section-lineup .slick-arrow {
  display: inline-flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
}
.section-lineup .slick-next {
  right: 0;
}
.section-lineup .slick-next:before, .section-lineup .slick-prev:before {
  color: #000;
}
.section-lineup .ninshin .row01,
.section-lineup .ninshin .row02,
.section-lineup .ninshin .row03, .section-lineup .ikuji .row01,
.section-lineup .ikuji .row02,
.section-lineup .ikuji .row03 {
  background: #FFE5E9;
  padding: 10px;
  margin-bottom: 16px;
}
.section-lineup .ninshin .panel__top, .section-lineup .ikuji .panel__top {
  background: #FFA2B2;
  padding: 0px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  letter-spacing: 3px;
}
.section-lineup .ninshin .panel__top span, .section-lineup .ikuji .panel__top span {
  color: white;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 8px;
  text-align: center;
}
.section-lineup .ninshin .panel__top ul, .section-lineup .ikuji .panel__top ul {
  display: flex;
  justify-content: center;
  column-gap: 3%;
  align-items: end;
  height: 74px;
}
.section-lineup .ninshin .panel__top ul li, .section-lineup .ikuji .panel__top ul li {
  width: 30%;
  margin-right: 0;
  box-sizing: border-box;
  font-weight: bold;
  color: white;
  font-size: 20px;
  padding: 10px 0;
}
.section-lineup .ninshin .panel__top ul span, .section-lineup .ikuji .panel__top ul span {
  padding: 6px;
  border-radius: 8px;
  color: #FFA2B2;
  background: white;
  display: block;
  margin-bottom: 0;
  font-size: 16px;
  margin-top: 6px;
}
.section-lineup .ninshin .panel__top .active, .section-lineup .ikuji .panel__top .active {
  position: relative;
  text-align: center;
  box-sizing: content-box;
}
.section-lineup .ninshin .panel__top .active::before, .section-lineup .ikuji .panel__top .active::before {
  content: "";
  display: block;
  position: absolute;
  border: 3px solid #EE6082;
  width: 100%;
  height: 95%;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  border-radius: 4px;
}
.section-lineup .ninshin .panel__top .active::after, .section-lineup .ikuji .panel__top .active::after {
  content: "";
  position: absolute;
  width: 108px;
  height: 40px;
  background: url(../img/here-pink.png) no-repeat;
  background-size: contain;
  top: -36px;
  left: -3px;
}
@media (max-width: 420px) {
  .section-lineup .ninshin .panel__top .active::after, .section-lineup .ikuji .panel__top .active::after {
    top: -26px;
    width: 88px;
  }
}
.section-lineup .ninshin .row01::before {
  content: "";
  width: 36px;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  background-size: contain;
}
.section-lineup .ikuji .row01,
.section-lineup .ikuji .row02,
.section-lineup .ikuji .row03 {
  background: #DFEFFF;
  padding: 10px;
  margin-bottom: 16px;
}
.section-lineup .ikuji .panel__top {
  background: #7BB7F7;
}
.section-lineup .ikuji .panel__top ul span {
  color: #7BB7F7;
}
.section-lineup .ikuji .active::before {
  content: "";
  display: block;
  position: absolute;
  border: 3px solid #4785C7 !important;
}
.section-lineup .ikuji .active::after {
  content: "";
  background: url(../img/here-blue.png) no-repeat !important;
  background-size: contain !important;
}

.slick-slide:nth-child(1) {
  margin-left: 0px;
}

.slick-slide:nth-child(2) {
  margin-right: -30px;
}

.section-lineup .inner {
  position: relative;
}

.section-lineup {
  position: relative;
  padding: 30px 20px 0 !important;
}

.ninshin .row01, .ninshin .row02 {
  content: "";
  display: block;
  position: relative;
}
.ninshin .row01::after, .ninshin .row02::after {
  width: 200vw;
  content: "";
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  margin-top: 20px;
  background-image: radial-gradient(circle, #FFDD9B 2px, transparent 2px);
  background-size: 12px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 14px;
  position: absolute;
  left: -50%;
  bottom: -10px;
}

.lineup__foot {
  background: #FFE6B6;
  padding: 20px;
}
.lineup__foot p {
  margin-bottom: 20px;
  color: #333;
  font-size: 12px;
}
.lineup__foot .btn07 {
  margin-bottom: 0;
}

.swiper-container {
  padding: 0 0px;
}
.swiper-container .swiper-wrapper {
  padding: 20px 0 10px;
}
.swiper-container .swiper-wrapper .swiper-slide {
  width: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 420px) {
  .swiper-container .swiper-wrapper .swiper-slide {
    width: 240px;
  }
}

.section-lineup {
  padding-left: 60px !important;
}

.side__tab {
  position: absolute;
  left: 0;
  top: 124px;
  z-index: 10;
}
.side__tab li {
  background: #FFDD9B;
  writing-mode: vertical-lr;
  margin-bottom: 16px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 8px;
  padding: 10px;
  box-sizing: border-box;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  box-shadow: 0 0 10px rgba(204, 204, 204, 0.8);
}

.page__book.narikiri .rotate-image-container.sm {
  font-size: 14px;
}
.page__book.narikiri .rotate-image-container::before {
  width: 16px;
  height: 30px;
  left: -15px;
  bottom: 3px;
}
.page__book.narikiri .rotate-image-container::after {
  width: 16px;
  height: 30px;
  right: -5px;
  bottom: 3px;
}
.page__book.narikiri .book__img img {
  max-height: 260px;
  object-fit: contain;
}
.page__book.narikiri .chance__txt {
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  margin-top: 0px;
  color: #2E60AD;
  font-size: 16px;
}
.page__book.narikiri .font20 {
  font-size: 20px;
}
.page__book.narikiri .introduction__contents {
  display: flex;
  column-gap: 10px;
  font-size: 12px;
  justify-content: center;
  margin-bottom: 10px;
}
.page__book.narikiri .introduction__contents .ttl {
  width: 15%;
  font-weight: bold;
}
.page__book.narikiri .introduction__contents .text {
  width: 80%;
  color: #5A5A5A;
  font-weight: bold;
}
.page__book.narikiri .introduction__wrapper .btn06 a {
  color: #5A5A5A;
  text-align: center;
  border: 2px solid #EE6182;
  font-weight: bold;
  font-size: 14px;
}
.page__book.narikiri .introduction__wrapper .btn06 a span {
  font-weight: bold;
  font-size: 12px;
}
.page__book.narikiri .sm-text {
  font-size: 10px;
  text-align: left;
}
.page__book.narikiri .mb0 {
  margin-bottom: 0;
}
.page__book.narikiri .introduction__ttl {
  margin-bottom: 10px;
}
.page__book.narikiri .introduction__ttl01 {
  margin-bottom: 6px;
  font-size: 16px;
  font-weight: 500;
  color: #4785C7;
}
.page__book.narikiri .introduction__ttl02 {
  font-weight: bold;
  margin-bottom: 4px;
  white-space: nowrap;
  font-size: 20px;
}
.page__book.narikiri .dl__txt {
  font-size: 12px;
  color: #5A5A5A;
  margin-bottom: 10px;
}
.page__book.narikiri .dl__txt02 {
  font-size: 10px;
  color: #5A5A5A;
  margin-bottom: 6px;
  text-align: center;
}
.page__book.narikiri .introduction__label {
  background: #FFE6B6;
  color: #5A5A5A;
  font-weight: bold;
  padding: 8px 10px;
  font-size: 16px;
  margin-bottom: 10px;
}
.page__book.narikiri .introduction__txt {
  text-align: left;
  margin-bottom: 0;
}
.page__book.narikiri .introduction__item.border {
  background-image: radial-gradient(circle, #FFDD9B 2px, transparent 2px);
  background-size: 12px 6px;
  background-position: bottom;
  background-repeat: repeat-x;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.page__book.narikiri .introduction__item.white {
  background: white;
  padding: 20px;
  margin-bottom: 14px;
}
.page__book.narikiri .set__item {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  column-gap: 10px;
  padding: 0 10px 10px;
  border-bottom: 1px solid #4785C7;
  margin-bottom: 10px;
  align-items: baseline;
}
.page__book.narikiri .set__item .set__item__ttl {
  white-space: nowrap;
  font-weight: bold;
  font-size: 12px;
}
.page__book.narikiri .set__item .set__item__txt {
  color: #5A5A5A;
  line-height: 1.3;
  font-size: 12px;
}
.page__book.narikiri .wchance__link {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 10px;
}
.page__book.narikiri .wchance__link a {
  color: #5A5A5A;
  font-weight: bold;
  border-bottom: 1px solid;
  padding-bottom: 2px;
}
.page__book.narikiri .wchance__link a span {
  font-weight: 900;
}