@charset "UTF-8";

p {
  margin: 0;
}

.wrapper {
  max-width: 39.1rem;
  display: flex;
  justify-content: center;
  position: relative;
  flex-direction: column;
  align-items: center;
  margin: auto;
}

.bg_fixed {
  background: var(--cocha_primary, #e81829);
  width: 100vw;
  height: 100vh;
  position: fixed;
}

.fixedBox {
  position: fixed;
  top: 40%;
  left: 4.5rem;
  transform: translate(0, -50%);
  display: flex;
  width: 26rem;
  height: 16rem;
  flex-direction: column;
  align-items: center;
}

.fixedBox .img1 {
  width: 41.6rem;
  margin-bottom: 4.4rem;
}

.fixedBox .c-requestButton2__a {
  width: 30rem;
}

.ctaBoxInte {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ctaBoxInte .annotation1 {
  text-align: right;
  width: 100%;
}

.ctaBoxInte .annotation1 a {
  text-decoration: underline;
  display: inline;
}

.cta_interest {
  color: var(--white, #fff);
  text-align: center;
  font-feature-settings: "palt" on;
  /* label_bold_M */
  font-family: "Noto Sans JP";
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 26px */
}

.moveBox {
  width: 39.1rem;
  background: white;
}

/* CTAButton */

.cta-section {
  padding: 3.2rem 0;
  margin: 0 2.4rem;
}

/* Header */

.header .header__imgLogo--3 {
  width: 16.8rem;
  margin-top: 0.2rem;
}

.header .header__inner {
  padding: 1.3rem 1.5rem;
}

.header {
  width: 39.1rem;
}

.modalXmas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

.modalXmas__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

.modalXmas_annotation1 .p11 {
  text-align: right;
  padding-right: 3.5rem;
}

.modal__content_tablet {
  border-radius: 0;
  padding: 3rem;
}

.modal__content {
  background: #fff;
  border-radius: 3.2rem;
  max-width: 60rem;
  width: 95%;
  max-height: 90vh;
  /* ← 画面に収まる高さを指定 */
  overflow-y: auto;
  /* ← コンテンツ部分だけスクロール可能に */
  padding: 4rem;
  position: relative;
}

.annotation1 {
  width: 35rem;
}

/* モーダル全体（非表示時） */

#modalKyozai {
  display: none;
  /* 初期は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

#modalKyozai.is-open {
  display: block;
}

/* 背景オーバーレイ */

.modal-kyozai-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* 半透明グレー */
  z-index: 1001;
}

/* モーダルコンテンツ */

.modal-kyozai-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* 中央に配置 */
  background-color: #fff;
  /* 白背景 */
  padding: 20px;
  border-radius: 8px;
  z-index: 1002;
  max-width: 90%;
  width: 400px;
  /* 好きな幅に調整 */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

/* 閉じるボタン */

.modal-kyozai-content .modal-close {
  position: absolute;
  font-size: 2.5rem;
  cursor: pointer;
  color: var(--text, #333442);
  margin-top: 0;
}

.modal-kyozai-content-a {
  display: inline-block;
  text-decoration: underline;
}

/* 紹介制度 説明セクション */

.intro {
  position: relative;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 3.75rem;
}

.intro::after {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  bottom: -4.9rem;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama.png);
  margin-bottom: 4.9rem;
}

.intro img {
  width: 100%;
  height: auto;
  margin: 0 4.75rem;
}

.intro img:first-of-type {
  margin-bottom: 2rem;
}

.intro img:nth-of-type(2) {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

.intro-content .title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 3rem;
  word-wrap: break-word;
  margin-bottom: 2rem;
}

.intro-content .content {
  font-size: 1.4rem;
  line-height: 2.8rem;
  font-weight: 400;
  margin: 0 0.9rem 2rem;
}

.intro .feature-item {
  width: 100%;
  height: 5rem;
  background-color: #ee7e60;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20rem;
}

.intro .feature-body {
  color: #ffffff;
  line-height: 2.1rem;
  font-size: 1.4rem;
  font-weight: 700;
  width: 27.5rem;
}

.intro .feature-item .icon {
  right: 1.5rem;
  top: 1.8rem;
  width: 0.85rem;
  height: 1.4rem;
  margin: 0;
}

/* プレゼントセクション */

.present-list {
  position: relative;
  background-color: #fad9dc;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-bottom: 4rem;
}

.present-list::before {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama2.png);
  top: 0rem;
}

.present-list::after {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  bottom: -4.9rem;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama.png);
  margin-bottom: 4.9rem;
}

.present-list img:first-of-type {
  margin: 0 2.2rem;
  width: 34.6rem;
  margin-bottom: 2.4rem;
  margin-top: 4rem;
}

.present-list .img-list {
  margin: 0 1.5rem 4rem;
}

/* その他 プレゼント セクション */

.other-present {
  position: relative;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-bottom: 4rem;
}

.other-present::before {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama2.png);
  top: 0rem;
}

.other-present .titleimg {
  margin: 11rem 8.1rem 4rem;
  width: 22.8rem;
  height: 9.6rem;
}

.other-present .contentimg {
  margin: 0 8rem 1rem;
  width: 23rem;
  height: 2.7rem;
}

/* スライダー */

.swiper {
  width: 100%;
}

.swiper-slide {
  width: 17.4rem;
  display: flex;
  justify-content: center;
}

.swiper-slide img {
  width: 17.4rem;
  transition: transform 0.5s ease;
}

.swiper-slide:not(.swiper-slide-active) img {
  transform: scale(0.667);
}

.swiper-slide-active img {
  transform: scale(1);
}

.swiper-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.2rem;
  margin: 3rem 2rem;
}

.swiper-button-prev,
.swiper-button-next {
  position: static;
  margin: 0;
  width: 3.65rem;
  height: 2.35rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper-button-prev {
  background-image: url(../img//svg/prev.svg);
}

.swiper-button-next {
  background-image: url(../img/svg/next.svg);
}

.swiper-pagination {
  position: static;
  width: auto;
}

.swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  border: 0.2rem solid #52453c;
  border-radius: 50%;
  opacity: 1;
  margin: 0 0.5rem;
}

.swiper-pagination-bullet-active {
  background-color: #52453c;
  border: 0.2rem solid #52453c;
}

.swiper-product-name {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.4rem;
}

.swiper-product-name span {
  color: #e81829;
}

/* モーダル */

.modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1.6rem;
  box-sizing: border-box;
}

.imageModal-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: calc(100vh - 3.2rem);
  background-color: #ffffff;
  padding: 2.4rem 1.6rem;
  border-radius: 3.2rem;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

.modal.is-open {
  display: block;
}

.imageModal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.imageModal-content .card-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1.2rem;
}

.modal-close {
  position: absolute;
  top: -0.8rem;
  right: -0.8rem;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-top: -3.8rem;
}

.modal-close img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.imageModalTitle {
  text-align: left;
  font-size: 2rem;
  font-weight: 700;
  line-height: 150%;
  margin-top: 1.2rem;
  margin-bottom: 0.8rem;
}

.imageModalText {
  text-align: left;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
  color: #414358;
  margin-bottom: 1.4rem;
}

.imageModalAnnotation {
  text-align: left;
  color: #676979;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 120%;
  margin-bottom: 2.4rem;
}

.imageModal-content .c-requestButton2__p {
  padding: 0;
  width: 25.8rem;
}

.modal .imageModal-content .close {
  width: 6rem;
  height: 6rem;
}

.imageModalAttention {
  text-align: left;
  font-size: 1.6rem;
  font-weight: 700;
  color: #e81829;
  margin-top: 1.2rem;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1.6rem;
  box-sizing: border-box;
}

.modal-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: calc(100vh - 3.2rem);
  background-color: #ffffff;
  padding: 2.4rem 1.6rem;
  border-radius: 3.2rem;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
}

.modal.is-open {
  display: block;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.modal-content .card-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1.2rem;
}

.modal-close {
  position: absolute;
  top: -0.8rem;
  right: -0.8rem;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-top: -3.8rem;
}

.modal-close img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.modalTitle {
  text-align: left;
  font-size: 2rem;
  font-weight: 700;
  line-height: 150%;
  margin-top: 1.2rem;
  margin-bottom: 0.8rem;
}

.modalText {
  text-align: left;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 150%;
  color: #414358;
  margin-bottom: 1.4rem;
}

.modalAnnotation {
  text-align: left;
  color: #676979;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 120%;
  margin-bottom: 2.4rem;
}

.modal-content .c-requestButton2__p {
  padding: 0;
  width: 25.8rem;
}

.modal .modal-content .close {
  width: 6rem;
  height: 6rem;
}

.modal .cta-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}

.modal .c-requestButton2 {
  width: 100%;
}

.modalAttention {
  text-align: left;
  font-size: 1.6rem;
  font-weight: 700;
  color: #e81829;
  margin-top: 1.2rem;
}

.modal_tablet p {
  font-size: 1.2rem;
  font-weight: 700;
}

.modal_tablet a {
  display: inline-block;
  text-decoration: underline;
}

/* キャンペーン */

.campaign {
  position: relative;
  background-color: #f264a6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.campaign::before {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama3.png);
  top: 0rem;
  margin-top: -0.1rem;
}

.campaign::after {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  bottom: -4.9rem;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama.png);
  margin-bottom: 4.9rem;
}

.campaign .titleimg {
  margin: 4.5rem 2.55rem 4rem;
  width: 33.9rem;
}

.campaign .campaign-list {
  margin: 0rem 1.5rem 4rem;
  display: flex;
  gap: 4rem;
  flex-direction: column;
}

.campaign .campaign-list .campaign-list-item {
  background-color: #fdfdfc;
  padding: 1.7rem 2.3rem;
  position: relative;
  border-radius: 1.6rem;
}

.campaign .campaign-list .campaign-list-item .titleimg {
  position: absolute;
  top: 0;
  /* 親の上端に合わせる */
  left: 0;
  /* 左端に合わせる */
  width: 100%;
  margin: 0;
}

.campaign .campaign-list .campaign-list-item img {
  margin-top: 9rem;
}

.campaign .campaign-list .campaign-list-item p {
  font-size: 1.4rem;
  line-height: 2.8rem;
  font-weight: 400;
  margin: 3.2rem 0;
  color: #52453c;
}

.c-accordion2__button--2 {
  font-size: 1.2rem;
  line-height: 1.8rem;
  font-weight: 400;
  text-align: left;
  padding: 0;
  color: #52453c;
}

.c-accordion2__dl {
  padding: 0;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  color: #52453c;
  text-align: left;
}

/* 共通CSSの ul,li { list-style: none } を上書きし、アコーディオン内のリストでドットを表示 */

.c-accordion2__dd ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin: 0 0 0.8rem;
}

.c-accordion2__dd li {
  list-style-type: inherit;
  margin-bottom: 0.4em;
}

.c-accordion2__button--2.spase {
  width: auto;
}

.faqPresent {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ご利用方法 セクション */

.instructions {
  position: relative;
  background-color: #faf5eb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.instructions::before {
  content: "";
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 5rem;
  position: absolute;
  left: 0;
  z-index: 0;
  background-image: url(../img/cell_tama2.png);
  top: 0rem;
}

.instructions-title-img {
  width: 22.8rem;
  margin: 6rem 8.1rem 5rem;
  padding-top: 6rem;
}

.tabs {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 4rem);
  gap: 0.8rem;
  position: relative;
}

.tabs::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -2.3rem;
  /* 左マージン分を補正 */
  width: calc(100% + 4.6rem);
  /* 左右マージン分を足す */
  height: 0.1rem;
  background-color: #52453c;
  z-index: 0;
}

.tab {
  flex: 1;
  padding: 1.5rem 1rem;
  text-align: center;
  cursor: pointer;
  border-radius: 1.4rem 1.4rem 0 0;
  background-color: #52453c;
  color: #faf5eb;
  border: 0.1rem solid #52453c;
  border-bottom: 0.1rem solid #faf5eb;
  z-index: 0;
  font-size: 1.8rem;
  line-height: 130%;
  font-weight: 500;
}

.tab span {
  font-size: 2.4rem;
  line-height: 130%;
  font-weight: 900;
  text-decoration: underline;
}

.tab.active {
  background-color: #faf5eb;
  color: #52453c;
  z-index: 1;
}

.tab-content .content {
  display: none;
}

.tab-content .content.active {
  display: block;
}

.tab-content .nonmember-content-img {
  margin: 9rem 4rem 8rem;
  width: 31rem;
}

.faq-title {
  width: 26.6rem;
  margin: 6rem 2.4rem 2.4rem;
}

.faq-section {
  margin: 0 3.75rem;
}

.faq-accordion-list .c-accordion2 {
  padding: 2rem 1.5rem;
}

.c-accordion2.blue {
  background-color: #e0f1f0;
  border-radius: 1rem;
}

.c-accordion2 .faq {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  text-align: center;
  border: none;
  background: transparent;
  cursor: pointer;
  width: 100%;
  font-size: 1.4rem;
  line-height: 2.4rem;
  font-weight: 700;
  padding: 0;
  text-align: left;
}

.accordion_hatena {
  display: inline-block;
  width: 3.1rem;
}

.faq-accordion-list .c-marginTop__15 {
  margin-top: 2rem;
  font-size: 1.4rem;
  color: #52453c;
  line-height: 2.4rem;
  font-weight: 400;
}

.oneSwiper {
  width: 29.9rem;
  margin-top: 8rem;
}

.oneSwiper .swiper-wrapper {
  height: auto;
}

.oneSwiper .swiper-slide img {
  width: 100%;
  display: block;
}

.oneSwiper .swiper-slide {
  width: 22.4rem;
}

.oneSwiper .swiper-button-prev {
  position: absolute;
  top: 45%;
  left: 0;
  /* 左端 */
  transform: translate(0, -50%);
  width: 3.8rem;
  height: 2.4rem;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
  cursor: pointer;
}

.oneSwiper .swiper-button-next {
  position: absolute;
  top: 45%;
  right: 0;
  /* 右端 */
  transform: translate(0, -50%);
  width: 3.8rem;
  height: 2.4rem;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 10;
  cursor: pointer;
}

.swiper-button-wrapper {
  display: flex;
  align-items: center;
  margin-top: 2rem;
}

.in-img {
  margin: 4rem 3rem 2.1rem;
  width: 33rem;
}

.tab2-announcement {
  margin: 0 3.75rem 4rem;
  color: #888888;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  text-align: left;
}

/* レスポンシブ */

.courseContainer {
  margin: 0 auto;
}

.courseList {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  list-style: none;
  padding: 0;
  margin: 0 -0.8rem 1rem -0.8rem;
}

.courseList__item {
  width: 9rem;
  display: flex;
  flex-direction: column;
}

.courseCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f7f7f7;
  border-radius: 3rem;
  text-decoration: none;
  color: #676979;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.3);
  padding: 1.2rem 0.9rem 0;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.courseCard__header {
  text-align: center;
  margin-bottom: 0.9rem;
}

.courseCard__subHeader {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  color: #0088cc;
  margin-bottom: 0.2rem;
}

.courseCard__subHeader--green {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  color: #00a84f;
  margin-bottom: 0.2rem;
}

.courseCard__title {
  font-size: 2.8rem;
  font-family: Inter, "Noto Sans JP";
  font-weight: 800;
  color: #55606e;
  white-space: nowrap;
  margin: 0;
  line-height: 1;
}

.courseCard__separator {
  font-size: 2.8rem;
}

.courseCard__unit {
  font-size: 1rem;
  font-weight: bold;
  margin-left: 0.2rem;
}

.courseCard__san {
  writing-mode: vertical-rl;
  font-size: 1rem;
}

.courseCard__period {
  font-size: 1rem;
  margin: 0;
  line-height: 1.3;
  font-feature-settings: "palt";
  line-height: 130%;
}

.courseCard__logo {
  width: 100%;
  border-radius: 50%/100% 100% 0 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}

.courseCard__logoLabel {
  font-size: 0.8rem;
  color: #fff;
  font-weight: bold;
  display: block;
  margin-bottom: 0.2rem;
}

.courseCard__logoName {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 800;
  line-height: 1;
}

.courseCard__imageWrapper {
  width: 100%;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  z-index: 2;
  margin-top: -1.5rem;
}

.courseCard__image {
  width: auto;
  height: 8rem;
  object-fit: contain;
  background-color: #ddd;
  border-radius: 1rem;
  min-width: 6rem;
}

.hero__container {
  padding: 0;
}

.hero__title {
  color: #414358;
  font-size: 3.8rem;
  font-family: "Rounded Mplus 1c";
  font-style: normal;
  font-weight: 900;
  margin-bottom: 3.2rem;
}

.hero__title__lead {
  color: #414358;
  font-size: 2.8rem;
  font-style: normal;
  font-weight: 900;
  margin-bottom: 3.2rem;
}

.intro-section {
  padding: 3.2rem 1.6rem;
  background-color: #E81829;
}

.intro-section h2 {
  color: white;
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 130%;
}

.intro-section .cta-section {
  padding-top: 0;
}

.intro_fee {
  margin-top: 2.1rem;
}

.intro_point {
  margin-top: 2.1rem;
}

.text--small {
  color: var(--sub2, #414358);
  font-feature-settings: "palt" on;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

.text--xsmall {
  display: inline-block;
  color: var(--sub2, #414358);
  font-feature-settings: "palt" on;
  font-size: 1rem;
  font-weight: 400;
  line-height: 130%;
  margin-top: 1rem;
}

.c-accordion__li2 a {
  display: inline;
  text-decoration: underline;
}

.c-accordion2__button .c-colorRed {
  display: inline;
}

/* Campaign Section */

.c-secCampaign {
  padding: 4rem 0rem;
  background: var(--white, #fff);
}

.c-secCampaign__inner {
  max-width: 100%;
  display: flex;
  flex-direction: column;
}

.c-secCampaign__calendarArea {
  width: 100%;
  margin-bottom: 2.4rem;
  background: #E81829;
}

.c-secCampaign__calendar {
  width: 100%;
  border-radius: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  box-sizing: border-box;
  overflow: hidden;
}

.c-secCampaign__calendarIcon {
  width: 5.12rem;
  height: auto;
  object-fit: contain;
  display: block;
}

.c-secCampaign__buttonArea {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 1.6rem;
}

.c-secCampaign__note {
  margin-top: 0;
}

.c-secCampaign__noteText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #676979;
  text-align: center;
}

.c-secCampaign__content {
  width: 100%;
  margin-top: 2.4rem;
}

.c-secCampaign__imageArea {
  width: 100%;
}

.c-secCampaign__contentImage {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.c-fixedCta__boxOuter .c-requestButton2__span {
  color: var(--text, #414257);
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 130%;
}

.p-campaign-banner {
  background-color: #FAF2DC;
  /* キャンペーンレッド */
  text-align: center;
  color: #ffffff;
  /* 白文字 */
  padding-top: 5.125rem;
}

.p-campaign-banner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-campaign-banner {
  /* 特典ラベル（上部の白い変形エリア）
     ------------------------------------------- */
}

.p-campaign-banner__label {
  margin-bottom: -2rem;
  position: relative;
}

.p-campaign-banner__label-text {
  color: #E81829;
  /* 赤文字 */
  font-size: 1.25rem;
  /* 20px */
  font-weight: bold;
  line-height: 1.4;
}

.p-campaign-banner__label-highlight {
  display: block;
  font-size: 1.75rem;
  /* 28px */
  margin-top: 0.25rem;
}

.p-campaign-banner {
  /* 締切情報エリア
     ------------------------------------------- */
}

.p-campaign-banner__deadline {
  padding-top: 2.75rem;
  background-color: #E81829;
  width: 100%;
}

.p-campaign-banner__deadline-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  font-weight: bold;
}

.p-campaign-banner__icon {
  width: 5.12rem;
  /* 40px */
  flex-shrink: 0;
}

.p-campaign-banner__icon img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.p-campaign-banner__date {
  font-size: 5.2rem;
  /* 56px */
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: sans-serif;
  /* 数字を目立たせる */
}

.p-campaign-banner__day {
  font-size: 2.4rem;
  /* 24px */
  margin-left: 0.25rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  color: #E81829;
  background-color: white;
  border-radius: 5rem;
}

.p-campaign-banner__status {
  font-size: 2.8rem;
  /* 18px */
  line-height: 1;
  margin-left: 0.5rem;
  align-self: flex-end;
  margin-bottom: 0.6rem;
  /* ベースライン調整 */
}

.p-campaign-banner__note {
  font-size: 1.2rem;
  /* 12px */
  margin-top: 0.5rem;
}

.p-campaign-banner__note a {
  display: inline;
  text-decoration: underline;
}

.p-campaign-banner {
  /* CTAエリア（ボタン周り）
     ------------------------------------------- */
}

.p-campaign-banner__cta {
  width: 100%;
  padding-top: 1.6rem;
  padding-left: 2.8rem;
  padding-right: 2.8rem;
  padding-bottom: 3.6rem;
  background-color: #E81829;
  /* ボタン自体のスタイル調整 */
}

.p-campaign-banner__cta .c-button {
  width: 100%;
  padding: 0.5rem 1rem;
}

.p-campaign-banner__cta-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 4rem;
  /* 64px */
}

.p-campaign-banner__cta .p-campaign-banner__note {
  text-align: right;
}

.p-campaign-banner {
  /* キャラクター画像（ボタンからはみ出させる） */
}

.p-campaign-banner__character {
  width: 5rem;
  /* 80px */
  position: absolute;
  left: 1.5rem;
  bottom: -0.25rem;
  /* ボタンの下にはみ出す */
  z-index: 1;
}

.p-campaign-banner__character img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.p-campaign-banner {
  /* ボタン内のテキストグループ */
}

.p-campaign-banner__cta-text-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* キャラクターと被らないように余白調整（左寄せ想定ならmargin-left） */
  margin-left: 3rem;
}

.p-campaign-banner__cta-sub {
  font-size: 0.875rem;
  /* 14px */
  color: #333333;
  font-weight: bold;
  border-bottom: 1px solid #333333;
  margin-bottom: 0.25rem;
  line-height: 1.2;
  display: inline-block;
}

.p-campaign-banner__cta-main {
  font-size: 1.625rem;
  /* 26px */
  font-weight: bold;
  color: #E81829;
  /* 「いますぐスタート」は赤文字で強調 */
  line-height: 1.2;
}

/* --- 他にもお得なキャンペーンが！カルーセル --- */

.p-campaign-carousel {
  background-color: #FAF2DC;
  padding-top: 5.125rem;
  padding-bottom: 6rem;
  text-align: center;
}

.p-campaign-carousel__title {
  background-color: #FAF2DC;
}

.p-campaign-carousel__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 2rem;
  background-color: white;
}

.p-campaign-carousel {
  /* 吹き出しラベル（Figma: ティール背景・白文字・下向き三角のしっぽ） */
}

.p-campaign-carousel__label-text {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  display: block;
  position: relative;
  z-index: 1;
}

.p-campaign-carousel__viewport {
  position: relative;
  width: 100%;
  padding: 0 2.4rem 4rem;
  margin-top: 0.8rem;
}

.p-campaign-carousel__content {
  width: 100%;
  padding: 0 2rem;
  background-color: white;
  overflow: hidden;
}

.p-campaign-carousel__thum {
  width: 100%;
  height: auto;
  padding: 3rem 0;
}

.p-campaign-carousel {
  /* 既存スライダー（script.js initSyncedSlider）用 c-slideContent_* */
}

.p-campaign-carousel .c-slideContent_slider-area {
  position: relative;
  width: 100%;
  overflow: visible;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.p-campaign-carousel .c-slideContent_slider-area:active {
  cursor: grabbing;
}

.p-campaign-carousel .c-slideContent_slider-track {
  display: flex;
  gap: 1.6rem;
  transition: transform 0.3s ease-out;
  width: 100%;
}

.p-campaign-carousel .c-slideContent_slide {
  flex: 0 0 100%;
  min-width: 0;
  padding: 0 0.5rem;
}

.p-campaign-carousel {
  /* スライド：リンク＋画像のみ */
}

.p-campaign-carousel .p-campaign-carousel__slide-link {
  display: block;
  width: 100%;
  line-height: 0;
}

.p-campaign-carousel .p-campaign-carousel__slide-link img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.5rem;
}

.p-campaign-carousel {
  /* ドット要素は非表示（前後ボタン用のドットクリックはJSで維持） */
}

.p-campaign-carousel .c-slideContent_pagination {
  display: none;
}

.p-campaign-carousel .c-slideContent_dot {
  visibility: hidden;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: absolute;
  border: none;
  clip: rect(0, 0, 0, 0);
}

.p-campaign-carousel .c-slideContent_text-area {
  height: 0;
  overflow: hidden;
  visibility: hidden;
  position: absolute;
  pointer-events: none;
}

.p-campaign-carousel .c-slideContent_text-track {
  display: flex;
  width: 100%;
  gap: 1.6rem;
  transition: transform 0.3s ease-out;
}

.p-campaign-carousel .c-slideContent_text-item {
  flex: 0 0 100%;
  min-width: 0;
}

.p-campaign-carousel__nav {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  padding: 0 0.25rem;
}

.p-campaign-carousel {
  /* カルーセルボタン（Figma: 円形・水色・白枠・白矢印） */
}

.p-campaign-carousel__btn {
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  background-color: #fff;
  border: 0.2rem solid #00AFCC;
  color: #00AFCC;
  cursor: pointer;
  display: flex;
  align-items: end;
  justify-content: center;
  pointer-events: auto;
  transition: opacity 0.2s;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.15);
  padding: 0;
}

.p-campaign-carousel__btn:hover {
  opacity: 0.9;
}

.p-campaign-carousel__btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.p-campaign-carousel__btn--prev {
  margin-left: 0;
}

.p-campaign-carousel__btn--next {
  margin-right: 0;
}

.p-campaign-carousel__btn-icon {
  font-size: 4rem;
  line-height: 1;
  font-weight: 300;
}

/* --- シンプルな学びを低価格で！ デジタルスタイル受講費（Figma 4946-52417） --- */

.p-digital-style-price {
  background-color: white;
  padding: 3.2rem 2rem 4rem;
  text-align: center;
}

.p-digital-style-price__inner {
  max-width: 52rem;
  margin: 0 auto;
}

.p-digital-style-price {
  /* 見出し：青文字・両端に \ と /（CSS） */
}

.p-digital-style-price__headline {
  font-size: 1.5rem;
  font-weight: 700;
  color: #00AFCC;
  line-height: 1.4;
  margin: 0 0 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.p-digital-style-price__headline-bracket {
  font-weight: 700;
  color: #00AFCC;
}

.p-digital-style-price {
  /* 価格エリア（画像） */
}

.p-digital-style-price__visual {
  margin-bottom: 1.6rem;
  line-height: 0;
}

.p-digital-style-price__visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.5rem;
}

.p-digital-style-price {
  /* 黄色CTAボタン（CSS） */
}

.p-digital-style-price__cta-wrap {
  width: 31rem;
  margin: -12rem auto 7rem;
  position: relative;
}

.p-digital-style-price__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 4.5rem;
  padding: 0.8rem 2rem 0.8rem 5rem;
  background: linear-gradient(180deg, #FFE600 0%, #FFD700 100%);
  border-radius: 2.5rem;
  border: 0.2rem solid #E6C800;
  box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.15);
  color: #333;
  text-decoration: none;
  transition: opacity 0.2s;
}

.p-digital-style-price__cta:hover {
  opacity: 0.95;
}

.p-digital-style-price__cta-character {
  position: absolute;
  left: 0.8rem;
  bottom: -0.25rem;
  width: 5rem;
  z-index: 1;
}

.p-digital-style-price__cta-character img {
  width: 100%;
  height: auto;
  display: block;
}

.p-digital-style-price__cta-text-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-digital-style-price__cta-sub {
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
  line-height: 1.2;
}

.p-digital-style-price__cta-main {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}

.p-digital-style-price {
  /* お申し込み前注釈（Figma 6916-60309: ※お申し込み前に必ずこちらご確認ください） */
}

.p-digital-style-price__apply-note {
  font-size: 1.2rem;
  line-height: 1.6;
  margin: 0.8rem 0 0;
  text-align: center;
  color: var(--text, #414257);
}

.p-digital-style-price__apply-note-link {
  color: var(--cocha_primary, #E81829);
  text-decoration: underline;
  font-weight: 700;
}

.p-digital-style-price__apply-note-link:hover {
  text-decoration: none;
}

.p-digital-style-price {
  /* 注記（Figma 4946-51887: ※お申し込み前に〜 + 受講費・受講システムを確認する） */
}

.p-digital-style-price__note {
  font-size: 1.4rem;
  text-align: left;
  margin: 1.2rem 0 0;
  line-height: 1.6;
}

.p-digital-style-price__note-icon {
  color: #E81829;
  font-weight: 700;
  margin-right: 0.2rem;
}

.p-digital-style-price .p-digital-style-price__note {
  text-align: left;
}

.p-digital-style-price .c-accordion2 {
  text-align: left;
}

/* --- ひとりでも夢中で やり切れる教材設計（Figma 4917-51732） --- */

.p-byod-material-design-wrapper {
  background-color: #E5F7FA;
}

.p-byod-material-design {
  background-color: #00AFCC;
  padding: 3.2rem 2rem 6rem;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%);
}

.p-byod-material-design__inner {
  max-width: 52rem;
  margin: 0 auto;
  text-align: center;
}

.p-byod-material-design__title {
  color: #fff;
  font-size: 2.8rem;
  font-family: "Rounded Mplus 1c";
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 2rem;
  padding: 0;
}

.p-byod-material-design__title br {
  display: block;
}

.p-byod-material-design__visual {
  margin: 0 auto 1.5rem;
  max-width: 32rem;
}

.p-byod-material-design__visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.5rem;
}

.p-byod-material-design__sub {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.4;
}

/* --- 3つの特長（Figma 4917-51739） --- */

.p-byod-features {
  background-color: #E5F7FA;
  padding: 3.2rem 2rem 6.4rem;
}

.p-byod-features__inner {
  max-width: 52rem;
  margin: 0 auto;
}

.p-byod-features__banner {
  text-align: center;
  margin: 0 auto 1.5rem;
}

.p-byod-features__banner img {
  width: auto;
  height: auto;
  max-width: 12.4rem;
  display: block;
  margin: 0 auto;
}

.p-byod-features__title {
  font-size: 0;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 0.4rem;
  padding: 0;
  text-align: center;
}

.p-byod-features__title-num {
  display: inline-block;
  font-size: 5.6rem;
  font-weight: 700;
  color: #00AFCC;
  margin-right: 0.2rem;
  font-family: "Rounded Mplus 1c";
  vertical-align: baseline;
}

.p-byod-features__title-text {
  display: inline-block;
  font-size: 2.8rem;
  font-family: "Rounded Mplus 1c";
  font-weight: 700;
  color: #00AFCC;
  vertical-align: baseline;
}

.p-byod-features__title::after {
  content: "";
  display: block;
  width: 15rem;
  height: 0.8rem;
  background-color: #FFE600;
  margin: -1rem auto 0;
}

.p-byod-features__list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.p-byod-features__item {
  margin-bottom: 1.5rem;
}

.p-byod-features__item:last-child {
  margin-bottom: 0;
}

.p-byod-features__link {
  display: block;
  width: 100%;
  transition: opacity 0.2s;
}

.p-byod-features__link:hover {
  opacity: 0.9;
}

.p-byod-features__link img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- 特長1詳細（Figma 4917-51802） --- */

.p-byod-feature-detail {
  margin-top: 3rem;
  background-color: #00AFCC;
  border-radius: 1.6rem;
  overflow: hidden;
  padding-bottom: 4rem;
}

.p-byod-feature-detail__main {
  position: relative;
  margin-bottom: 2rem;
}

.p-byod-feature-detail__visual {
  width: 100%;
}

.p-byod-feature-detail__visual img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-feature-detail__badge {
  position: absolute;
  left: 1rem;
  top: 19rem;
  width: 8.4rem;
  height: 8.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #FFE600;
  border: 0.3rem solid #FFE600;
  border-radius: 50%;
  color: #00AFCC;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  z-index: 1;
}

.p-byod-feature-detail__badge br {
  display: block;
}

.p-byod-feature-detail__badge span {
  font-size: 5rem;
  line-height: 1;
  font-family: "Inter";
}

.p-byod-feature-detail__title {
  background-color: #00AFCC;
  color: #FFE600;
  font-size: 3rem;
  font-weight: 900;
  font-family: "Rounded Mplus 1c";
  line-height: 120%;
  padding: 3.6rem 1.6rem 1.6rem;
  margin: 0;
  text-align: left;
}

.p-byod-feature-detail__title br {
  display: block;
}

.p-byod-feature-detail__sub-list {
  list-style: none;
  margin: 1.6rem 0 0;
  padding: 0 1.6rem;
}

.p-byod-feature-detail__sub-item {
  margin-bottom: 2rem;
}

.p-byod-feature-detail__sub-item:last-child {
  margin-bottom: 0;
}

.p-byod-feature-detail__sub-item img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-feature-detail__sub-item-img {
  margin-top: 1rem;
}

.p-byod-feature-detail {
  /* ひらがなかるた プロモーション（Figma 6383-44400） */
}

.p-byod-feature-detail__sub-item-img--karuta {
  margin-top: 0.8rem;
  background-color: #E5F6EB;
  border-radius: 1.6rem;
  padding: 1.6rem;
  position: relative;
}

.p-byod-feature-detail__sub-item-img--karuta > img:first-child {
  margin-bottom: 1.2rem;
}

.p-byod-feature-detail__sub-item-img--shitajiki {
  background-color: #E5F1F8;
  padding: 2rem 1.6rem;
  margin-top: 1.6rem;
  border-radius: 1.6rem;
}

.p-byod-feature-detail__sub-item-img-inner {
  position: relative;
  width: 100%;
}

.p-byod-feature-detail__sub-item-img-inner img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-feature-detail {
  /* ひらがなかるた 情報テキスト（Figma 6383-44409） */
}

.p-byod-feature-detail__karuta-info {
  margin-top: 1.2rem;
  background-color: #E8F5E9;
  border-radius: 0.8rem;
}

.p-byod-feature-detail__karuta-info-headline {
  color: #E81829;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.8rem;
}

.p-byod-feature-detail__karuta-info-text {
  color: #52453C;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

/* じゃんぷ 早期入会特典カード（Figma 6588-44656） */

.p-byod-jump-promo {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
  position: relative;
  margin-top: 1.6rem;
}

.p-byod-jump-promo__card {
  background-color: #FFFFFF;
  border-radius: 1.6rem;
  padding: 1.6rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.p-byod-jump-promo__card-title {
  color: #006FBC;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  margin: 0;
  font-family: "Noto Sans JP";
}

.p-byod-jump-promo__card-title br {
  display: block;
}

.p-byod-jump-promo__card-img {
  width: 100%;
  overflow: hidden;
  border-radius: 1.6rem;
  background: linear-gradient(90deg, rgba(0, 111, 188, 0.1) 0%, rgba(0, 111, 188, 0.1) 100%);
}

.p-byod-jump-promo__card-img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-jump-promo__card-info {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.p-byod-jump-promo__card-headline {
  color: #E81829;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.p-byod-jump-promo__card-text {
  color: #414358;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
}

.p-byod-jump-promo__plus {
  width: 3.2rem;
  height: 3.2rem;
  background-color: #006FBC;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.p-byod-jump-promo__plus-icon {
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}

.p-byod-feature-detail {
  /* えほんのじかん 注釈（Figma 4946-47648） */
}

.p-byod-feature-detail__note {
  margin: 1.2rem 0 0;
  color: white;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 150%;
  text-align: left;
  text-indent: -1rem;
  padding-left: 1rem;
  text-decoration: none;
}

.p-byod-feature-detail__note:nth-of-type(2) {
  margin-top: 0;
}

.p-byod-feature-detail {
  /* 色が選べるのは3/31まで バナー（Figma 5839-48941） */
}

.p-byod-feature-detail__deadline-banner {
  margin: 1.2rem 0 0;
  background-color: #00AFCC;
  padding: 0 0 0.5rem;
  border-radius: 0.8rem;
}

.p-byod-feature-detail__deadline-banner-text {
  color: #FFE600;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  text-shadow: 0 0 0.4rem rgba(255, 230, 0, 0.5);
  font-family: "Rounded Mplus 1c";
}

.p-byod-feature-detail {
  /* スタンプ説明テキスト（Figma 5839-48943） */
}

.p-byod-feature-detail__stamp-info-text {
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
  text-shadow: 0 0 0.3rem rgba(255, 255, 255, 0.3);
}

.p-byod-feature-detail {
  /* AI国語算数トレーニング 注釈ブロック（Figma 6383-44788） */
}

.p-byod-feature-detail__note-block {
  padding: 1.6rem;
  color: #FFFFFF;
}

.p-byod-feature-detail__note-text {
  margin: 0 0 1.2rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #FFFFFF;
}

.p-byod-feature-detail__note-text:last-child {
  margin-bottom: 0;
}

.p-byod-feature-detail__note-section {
  margin-bottom: 1.6rem;
}

.p-byod-feature-detail__note-section:last-child {
  margin-bottom: 0;
}

.p-byod-feature-detail__note-title {
  margin: 0 0 0.8rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #FFFFFF;
}

.p-byod-feature-detail__note-list {
  margin: 0;
  padding-left: 1.6rem;
  list-style: disc;
  color: #FFFFFF;
}

.p-byod-feature-detail__note-list li {
  margin-bottom: 0.4rem;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  color: #FFFFFF;
}

.p-byod-feature-detail__note-list li:last-child {
  margin-bottom: 0;
}

.p-byod-feature-detail__note-heading {
  margin: 0 0 0.8rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.p-byod-feature-detail .c-accordion2__button--2 {
  color: white;
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 1.6;
}

/* --- やる気アップスタンプ プロモーション（Figma 5839-48897） --- */

.p-byod-stamp-promo {
  margin-top: 3rem;
  background-color: #FFFFFF;
  border-radius: 1.6rem;
  overflow: hidden;
}

.p-byod-stamp-promo__banner {
  background-color: #00AFCC;
  padding: 2rem 1.6rem 2.4rem;
  position: relative;
  text-align: center;
}

.p-byod-stamp-promo__banner::after {
  content: "";
  position: absolute;
  bottom: -1.2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 1.2rem solid transparent;
  border-right: 1.2rem solid transparent;
  border-top: 1.2rem solid #00AFCC;
}

.p-byod-stamp-promo__banner-text {
  color: #FFFFFF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
  font-family: "Rounded Mplus 1c";
}

.p-byod-stamp-promo__content {
  background-color: #FFFFFF;
  padding: 2.4rem 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative;
}

.p-byod-stamp-promo__stamps {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-left: 1rem;
}

.p-byod-stamp-promo__stamp img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-stamp-promo__stamp--pink {
  position: relative;
  z-index: 1;
  width: 8rem;
}

.p-byod-stamp-promo__stamp--blue {
  position: relative;
  z-index: 2;
  width: 8rem;
  margin-left: -2rem;
}

.p-byod-stamp-promo__color-callout {
  position: absolute;
  top: -1rem;
  left: 2rem;
  width: 6rem;
  height: 6rem;
  background-color: #FFE600;
  border: 0.2rem solid #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.p-byod-stamp-promo__color-callout-text {
  color: #000000;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  margin: 0;
}

.p-byod-stamp-promo__tablets {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}

.p-byod-stamp-promo__tablet img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-stamp-promo__tablet--top {
  width: 100%;
}

.p-byod-stamp-promo__tablet--bottom {
  width: 100%;
}

.p-byod-stamp-promo__arrow {
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 4rem;
  z-index: 1;
}

.p-byod-stamp-promo__arrow img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-stamp-promo__info {
  background-color: #00AFCC;
  padding: 2rem 1.6rem 2.4rem;
  border-radius: 0 0 1.6rem 1.6rem;
  position: relative;
}

.p-byod-stamp-promo__info::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1.2rem;
  background-color: #00AFCC;
  border-radius: 0 0 1.6rem 1.6rem;
}

.p-byod-stamp-promo__info-headline {
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.8rem;
}

.p-byod-stamp-promo__info-text {
  color: #FFFFFF;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0 0 0.8rem;
}

.p-byod-stamp-promo__info-note {
  color: #FFFFFF;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

/* --- 対象学年の学びをご紹介（Figma 5839-49000） --- */

.p-byod-learning {
  padding: 3.2rem 0 4rem;
}

.p-byod-learning__inner {
  margin: 0 auto;
  text-align: center;
  padding: 0 2rem;
}

.p-byod-learning__badge {
  display: inline-block;
  background-color: #00AFCC;
  color: #FFFFFF;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.6rem 1.6rem;
  border-radius: 2rem;
  margin-bottom: 1.2rem;
}

.p-byod-learning__title {
  color: #414358;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.3;
  margin: 0 0 2rem;
  text-align: center;
  font-family: "Noto Sans JP";
}

.p-byod-learning__content {
  display: flex;
  margin: 2.8rem 0rem;
}

.p-byod-learning__anchor:focus-visible {
  outline: 0.2rem solid #00AFCC;
  outline-offset: 0.2rem;
}

.p-byod-learning__anchor-label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-byod-learning__anchor--step .p-byod-learning__anchor-label {
  color: #2E7D32;
}

.p-byod-learning__anchor--jump .p-byod-learning__anchor-label {
  color: #006FBC;
}

.p-byod-learning__anchor-img-wrap img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- すてっぷ 1ヵ月の配信レッスンイメージ（Figma 4907-48930） --- */

.p-byod-lesson-intro {
  margin-top: 3rem;
  background-color: #E6F7E6;
  overflow: hidden;
}

.p-byod-lesson-intro__header {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 3.6rem 1.6rem 0;
  width: max-content;
  margin: 0 auto;
}

.p-byod-lesson-intro__logo {
  flex-shrink: 0;
  max-width: 12rem;
}

.p-byod-lesson-intro__logo img {
  width: 11.2rem;
  height: auto;
  display: block;
}

.p-byod-lesson-intro__header-text {
  flex: 1;
  text-align: left;
}

.p-byod-lesson-intro__label {
  color: #00A73C;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 0.4rem;
}

.p-byod-lesson-intro__title {
  color: #00A73C;
  font-feature-settings: "pwid" on, "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0;
}

.p-byod-lesson-intro__content {
  padding: 1.6rem 2rem 2rem;
  position: relative;
}

.p-byod-lesson-intro__nav {
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #C8E6C9;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  padding: 0;
  appearance: none;
}

.p-byod-lesson-intro__nav-icon {
  width: 1.2rem;
  height: 1.2rem;
  border-style: solid;
  border-color: #00A73C;
}

.p-byod-lesson-intro__nav--prev .p-byod-lesson-intro__nav-icon {
  border-width: 0 0 0.2rem 0.2rem;
  border-right-color: transparent;
  border-top-color: transparent;
  margin-left: 0.3rem;
  transform: rotate(-45deg);
}

.p-byod-lesson-intro__nav--next .p-byod-lesson-intro__nav-icon {
  border-width: 0 0 0.2rem 0.2rem;
  border-left-color: transparent;
  border-bottom-color: transparent;
  margin-right: 0.3rem;
  transform: rotate(135deg);
}

.p-byod-lesson-intro__cards {
  flex: 1;
  min-width: 0;
}

.p-byod-lesson-intro__cards-track {
  display: flex;
  transition: transform 0.3s ease;
}

.p-byod-lesson-intro__card {
  flex: 0 0 100%;
  min-width: 0;
  background-color: #FFFFFF;
  border-radius: 1.6rem;
  padding: 2rem 1.6rem 3rem;
  margin: 0 1rem;
}

.p-byod-lesson-intro__card-head {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}

.p-byod-lesson-intro__card-num-img {
  flex-shrink: 0;
  display: block;
  width: 4rem;
  height: 4rem;
}

.p-byod-lesson-intro__card-num-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.p-byod-lesson-intro__card-theme {
  color: #00A73C;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-byod-lesson-intro__card-visual {
  width: 100%;
  border-radius: 0.8rem;
  overflow: hidden;
  margin-bottom: 1rem;
}

.p-byod-lesson-intro__card-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.p-byod-lesson-intro__card-subtitle {
  color: #414358;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.6rem;
}

.p-byod-lesson-intro__card-desc {
  color: #414358;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}

.p-byod-lesson-intro .slick-list {
  overflow: visible;
}

.p-byod-lesson-intro {
  /* slick-theme.css の 20px を上書きし、next が小さくならないように両方とも明示サイズ指定 */
}

.p-byod-lesson-intro .slick-next,
.p-byod-lesson-intro .slick-prev {
  position: absolute;
  z-index: 10;
  width: 4rem;
  height: 4rem;
  min-width: 4rem;
  min-height: 4rem;
  max-width: 4rem;
  max-height: 4rem;
  padding: 0;
  border: none;
  background: transparent;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  box-sizing: border-box;
  flex: none;
  overflow: hidden;
}

.p-byod-lesson-intro .slick-next {
  right: 1rem;
}

.p-byod-lesson-intro .slick-prev {
  left: -1rem;
}

.p-byod-lesson-intro .slick-next:before {
  content: "";
  background-image: url(/byod/img/step_next.svg);
  background-size: contain;
  width: 4rem;
  height: 4rem;
  display: block;
  opacity: 1;
}

.p-byod-lesson-intro .slick-prev:before {
  content: "";
  background-image: url(/byod/img/step_prev.svg);
  background-size: contain;
  width: 4rem;
  height: 4rem;
  display: block;
  opacity: 1;
}

.p-byod-lesson-intro {
  /* じゃんぷ用モディファイア（Figma 5839-49125 青テーマ） */
}

.p-byod-lesson-intro--jump {
  background-color: #E6F4F7;
}

.p-byod-lesson-intro--jump .p-byod-lesson-intro__label,
.p-byod-lesson-intro--jump .p-byod-lesson-intro__title {
  color: #0092E4;
}

.p-byod-lesson-intro--jump .p-byod-lesson-intro__nav {
  background-color: #B3E5FC;
}

.p-byod-lesson-intro--jump .p-byod-lesson-intro__nav-icon {
  border-color: #0092E4;
}

.p-byod-lesson-intro--jump .p-byod-lesson-intro__card-theme {
  color: #0092E4;
}

.p-byod-lesson-intro--jump .slick-next:before {
  background-image: url(/byod/img/jump_next.svg);
}

.p-byod-lesson-intro--jump .slick-prev:before {
  background-image: url(/byod/img/jump_prev.svg);
}

/* --- LINE登録・無料デジタルまなびレッスン（Figma 4907-48937） --- */

.p-byod-line-lesson-promo {
  padding: 0 2rem 3.2rem;
  border-radius: 0 0 1.6rem 1.6rem;
}

.p-byod-line-lesson-promo__inner {
  max-width: 52rem;
  margin: 0 auto;
  clip-path: polygon(0 1rem, 1rem 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 0 100%);
  background-color: #E9F6EB;
  border-radius: 0 0 1.6rem 1.6rem;
  padding-bottom: 4rem;
}

.p-byod-line-lesson-promo__banner {
  display: block;
  margin: 0 auto 1.2rem;
  max-width: 100%;
}

.p-byod-line-lesson-promo__banner img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}

.p-byod-line-lesson-promo__lead {
  color: #17C917;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.5rem;
  text-align: center;
}

.p-byod-line-lesson-promo__title-row {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin: 0 0 1.6rem;
  flex-wrap: wrap;
  justify-content: center;
}

.p-byod-line-lesson-promo__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem;
  background-color: #17C917;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 72%;
}

.p-byod-line-lesson-promo__title {
  color: #17C917;
  font-size: 2.8rem;
  font-family: "Rounded Mplus 1c";
  font-feature-settings: "palt" on;
  font-weight: bold;
  line-height: 1.25;
  margin: 0;
  text-align: left;
}

.p-byod-line-lesson-promo__title .p-byod-line-lesson-promo__title-line {
  display: block;
}

.p-byod-line-lesson-promo__visual {
  display: block;
  margin: 0 auto 0;
  border-radius: 1.2rem;
  overflow: hidden;
}

.p-byod-line-lesson-promo__visual img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}

.p-byod-line-lesson-promo__cta {
  margin: 1.4rem 1.6rem 3.2rem;
}

.p-byod-line-lesson-promo__cta-text {
  flex: 1;
  text-align: center;
}

.p-byod-line-lesson-promo__cta-icon {
  flex-shrink: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.8rem;
  border-color: transparent transparent transparent currentColor;
}

.p-byod-line-lesson-promo__lesson-header {
  display: block;
  margin: 0 auto 0.8rem;
  max-width: 100%;
}

.p-byod-line-lesson-promo__lesson-header img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}

.p-byod-line-lesson-promo__lesson-icons {
  display: block;
  margin: 0 1.6rem 2rem;
  background: #fff;
  clip-path: polygon(0 1rem, 1rem 0, calc(100% - 1rem) 0, 100% 1rem, 100% 100%, 0 100%);
  border-radius: 0 0 1.6rem 1.6rem;
}

.p-byod-line-lesson-promo__lesson-icons img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
}

.p-byod-line-lesson-promo__lesson-icon {
  margin: 0 3rem;
}

.p-byod-line-lesson-promo__notes {
  list-style: none;
  margin: 2.4rem 0 0;
  padding: 0 3rem 1.6rem;
  color: #414358;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.7;
  text-indent: -1rem;
}

.p-byod-line-lesson-promo__notes li {
  margin-bottom: 0rem;
}

.p-byod-line-lesson-promo__notes li:last-child {
  margin-bottom: 0;
}

/* --- 「デジタル スタイル」をさらに詳しく！＋ よくあるお悩みを解消（Figma 4907-49230） --- */

.p-byod-detail {
  background-color: #FAF2DC;
  padding: 3.2rem 2rem 6rem;
}

.p-byod-detail__inner {
  max-width: 52rem;
  margin: 0 auto;
}

.p-byod-detail__block {
  margin-bottom: 3.2rem;
}

.p-byod-detail__block:last-child {
  margin-bottom: 0;
}

.p-byod-detail {
  /* ティールバナー（右端とがり） */
}

.p-byod-detail__banner {
  display: inline-block;
  background-color: #00AFCC;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.6rem 2rem 0.6rem 1.2rem;
  margin: 0 0 1.2rem;
  clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 50%, calc(100% - 1rem) 100%, 0 100%);
  border: none;
}

.p-byod-detail__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.p-byod-detail__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  background-color: #fff;
  border: 0.2rem solid #00AFCC;
  border-radius: 0.5rem;
  color: #333;
  text-decoration: none;
  transition: opacity 0.2s;
}

.p-byod-detail__link:hover {
  opacity: 0.9;
}

.p-byod-detail__link-icon {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 0.25rem 0.6rem;
  border-radius: 1rem;
}

.p-byod-detail__link-icon--step {
  background-color: #7cb342;
  color: #fff;
}

.p-byod-detail__link-icon--jump {
  background-color: #2196f3;
  color: #fff;
}

.p-byod-detail__link-icon--fee {
  background-color: #00AFCC;
  color: #fff;
}

.p-byod-detail__link-text {
  flex: 1;
  font-size: 1rem;
}

.p-byod-detail__link-arrow {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #00AFCC;
  color: #fff;
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 300;
}

.p-byod-detail {
  /* FAQ（Q形式アコーディオン） */
}

.p-byod-detail__faq {
  margin: 0;
  padding: 0;
  border: 0.2rem solid #00AFCC;
  border-radius: 0.5rem;
  overflow: hidden;
}

.p-byod-detail__faq-q {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.2rem;
  margin: 0;
  background-color: #00AFCC;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  border: none;
  border-bottom: 0.1rem solid rgba(255, 255, 255, 0.3);
  list-style: none;
}

.p-byod-detail__faq-q:last-of-type {
  border-bottom: none;
}

.p-byod-detail__faq-q-mark {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #00AFCC;
  font-size: 1rem;
  font-weight: 700;
  border-radius: 0.25rem;
}

.p-byod-detail__faq-a {
  margin: 0;
  padding: 1.2rem;
  background-color: #fff;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  border: none;
}

.p-byod-detail__faq-a p {
  margin: 0 0 0.8rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #333;
}

.p-byod-detail__faq-a p:last-child {
  margin-bottom: 0;
}

.p-byod-detail__faq-link {
  color: #E81829;
  text-decoration: underline;
}

.p-digital-style-moreINfo {
  background-color: #FAF2DC;
  padding: 2.4rem 2rem;
}

.p-digital-style-moreINfo__list {
  padding: 3.2rem 1.6rem 4rem;
  background: #FFF;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  border-radius: 0 0 1.6rem 1.6rem;
}

.p-digital-style-moreINfo__content {
  margin-top: 4rem;
}

.p-faq-accordion {
  width: 100%;
  background: #FFF;
  max-width: 60rem;
  margin: 0 auto;
  padding: 3.2rem 1.6rem 4rem;
  border-radius: 0 0 1.6rem 1.6rem;
}

.p-faq-accordion__item {
  background: #fff;
  border: 0.2rem solid #00B5D8;
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 2rem;
}

.p-faq-accordion__item:last-child {
  margin-bottom: 0;
}

.p-faq-accordion {
  /* Header / Trigger Area */
}

.p-faq-accordion__head {
  display: flex;
  align-items: flex-start;
  padding: 1.5rem;
  cursor: pointer;
  background: #fff;
  transition: background-color 0.3s;
  position: relative;
}

.p-faq-accordion__head:hover {
  background-color: #f9f9f9;
}

.p-faq-accordion__icon-q {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  background-color: #00B5D8;
  color: #fff;
  font-weight: bold;
  font-size: 2.4rem;
  border-radius: 50%;
  margin-right: 0.8rem;
  line-height: 1;
}

.p-faq-accordion__title {
  flex-grow: 1;
  font-size: 1.6rem;
  font-weight: bold;
  color: #333;
  line-height: 1.5;
  padding-right: 1rem;
}

.p-faq-accordion {
  /* Toggle Icon (+ / -) */
}

.p-faq-accordion__icon-toggle {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  background-color: #00B5D8;
  border-radius: 50%;
  position: relative;
  margin-top: 0.6rem;
}

.p-faq-accordion__icon-toggle::before,
.p-faq-accordion__icon-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
}

.p-faq-accordion__icon-toggle::before {
  width: 1.2rem;
  height: 0.2rem;
}

.p-faq-accordion__icon-toggle::after {
  width: 0.2rem;
  height: 1.2rem;
}

.p-faq-accordion {
  /* Body Content */
}

.p-faq-accordion__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  background-color: #EBF8FC;
}

.p-faq-accordion__body-inner {
  padding: 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #444;
}

.p-faq-accordion__text {
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
  color: #666;
}

.p-faq-accordion__text span {
  color: var(--cocha_primary);
}

.p-faq-accordion__text:last-child {
  margin-bottom: 0;
}

.p-faq-accordion__text--small {
  font-size: 1.2rem;
}

.p-faq-accordion__note {
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 0.8rem;
}

.p-faq-accordion__link {
  color: #E60012;
  text-decoration: underline;
  display: inline;
}

.p-faq-accordion__link:hover {
  text-decoration: none;
}

.p-faq-accordion {
  /* Price Box specific styles */
}

.p-faq-accordion__price-box {
  margin-bottom: 1.5rem;
}

.p-faq-accordion__price-title {
  font-weight: bold;
  margin-bottom: 0.5rem;
}

.p-faq-accordion__price-row {
  margin-left: 0.5rem;
}

.p-faq-accordion__price-val {
  font-weight: bold;
  font-size: 1.6rem;
}

.p-faq-accordion {
  /* State: Open (Applied to item or head based on JS logic) */
  /* ここでは親要素(__item)に .is-active が付与される前提 */
}

.p-faq-accordion__item.is-active .p-faq-accordion__icon-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.p-faq-accordion .degital_txt {
  color: var(--cocha_primary);
}

.p-comparison {
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
  background-color: #FFF;
  border-radius: 1rem;
  overflow: hidden;
  padding: 6.4rem 1.6rem 2.4rem;
  /* Header Area */
}

.p-comparison__header {
  text-align: center;
}

.p-comparison__title {
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.4;
}

.p-comparison {
  /* Body Content */
}

.p-comparison__body {
  padding: 2rem 1.5rem 4rem;
  background-color: #EBF8FC;
  border-radius: 0 0 1.6rem 1.6rem;
}

.p-comparison__content {
  width: 100%;
}

.p-comparison__lead {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.p-comparison {
  /* 「比べて納得！」の円形バッジ */
}

.p-comparison__badge {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 6.4rem;
  height: 6.4rem;
  background-color: #00B5D8;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.2;
}

.p-comparison__badge-row {
  display: block;
}

.p-comparison__badge-row:first-child {
  font-size: 1.2rem;
}

.p-comparison__badge-row:last-child {
  font-size: 1.5rem;
}

.p-comparison {
  /* 「他タブレット学習より〜」のテキスト */
}

.p-comparison__lead-text {
  color: #00B5D8;
  font-family: "Rounded Mplus 1c";
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1.3;
  text-align: left;
}

.p-comparison {
  /* Table Visual (比較表画像) */
}

.p-comparison__table-visual {
  width: 100%;
  margin-bottom: 2rem;
}

.p-comparison__table-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.p-comparison {
  /* Notes Area */
}

.p-comparison__notes {
  font-size: 1.1rem;
  line-height: 1.5;
  color: #666;
  text-align: left;
}

.p-comparison__note-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1rem;
}

.p-comparison__note-item:last-child {
  margin-bottom: 0;
}

.p-comparison__note-mark {
  flex-shrink: 0;
  margin-right: 0.3rem;
}

.p-comparison__note-text {
  word-break: break-all;
}

.p-comparison__note-disclaimer {
  margin-top: 1.5rem;
  display: block;
}

.p-hybrid-style {
  width: 100%;
  max-width: 60rem;
  margin: 0 auto;
  padding: 3rem 1.5rem 6.4rem;
  background-color: #FCEEF5;
  box-sizing: border-box;
  /* Header Area */
}

.p-hybrid-style__header {
  text-align: center;
  margin-bottom: 1rem;
}

.p-hybrid-style__sub-title {
  font-size: 2rem;
  font-weight: bold;
  color: #554851;
  margin-bottom: 0.5rem;
}

.p-hybrid-style__logo {
  width: 14rem;
  margin: 0 auto 0.5rem;
}

.p-hybrid-style__logo img {
  width: 100%;
  height: auto;
}

.p-hybrid-style__title {
  font-size: 2.8rem;
  font-weight: bold;
  color: #E63E85;
  line-height: 1.4;
  font-family: "Rounded Mplus 1c";
}

.p-hybrid-style {
  /* Content Card */
}

.p-hybrid-style__card {
  background-color: #fff;
  border-radius: 1.5rem;
  padding: 2rem 1.5rem;
  margin-bottom: 2rem;
  box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05);
}

.p-hybrid-style__visual {
  width: 100%;
  margin-bottom: 2rem;
  text-align: center;
}

.p-hybrid-style__visual img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.p-hybrid-style {
  /* Points Section */
}

.p-hybrid-style__points {
  margin-top: 1rem;
}

.p-hybrid-style__points-title {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  font-family: "Rounded Mplus 1c";
  color: #E63E85;
  margin-bottom: 1.5rem;
}

.p-hybrid-style__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-hybrid-style__item {
  display: flex;
  align-items: center;
  /* 上下中央揃え */
  margin-bottom: 1rem;
  background-color: #FDEBF4;
  /* 画像に近い非常に薄いピンク */
  border-radius: 1rem;
  /* 角丸 */
  padding: 1.2rem 2rem;
  /* 内側の余白を調整 */
  box-sizing: border-box;
}

.p-hybrid-style__item:last-child {
  margin-bottom: 0;
}

.p-hybrid-style__num {
  flex-shrink: 0;
  font-size: 2.4rem;
  /* 数字を大きく */
  font-weight: bold;
  color: #E63E85;
  /* 濃いピンクの文字色 */
  line-height: 1;
  padding-right: 0.4rem;
  /* 線までの距離 */
  margin-right: 0.8rem;
  /* 線からテキストまでの距離 */
  border-right: 0.2rem solid #E63E85;
  /* ピンクの縦線 */
  /* 画像の数字「1」の形状（セリフ体）に合わせる場合 */
  /* ゴシック体が良い場合は font-family 行を削除してください */
}

.p-hybrid-style__text {
  font-size: 1.4rem;
  font-weight: bold;
  color: #444;
  /* 文字色は濃いグレー */
  line-height: 1.5;
  margin: 0;
  padding: 0;
}

.p-hybrid-style {
  /* Footer Links */
}

.p-hybrid-style__links {
  display: flex;
  justify-content: space-between;
}

.p-hybrid-style__link-card {
  display: block;
  width: 50%;
}

.p-hybrid-style__link-card img {
  width: 100%;
  height: auto;
  display: block;
}

.a1.edutoy__cta::after {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 1.4rem;
  margin-left: 1rem;
  background-image: url("/common_2025/img/svg/arrowRight--gray.svg");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.edutoy__card-caption_txt {
  color: var(--sub2, #676979);
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  margin-top: 0;
}

.edutoy__card-caption_txt2 {
  color: var(--text, #414257);
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.edutoy {
  background: var(--white, #FFF);
  padding: 2.4rem 1.6rem 3.6rem;
  border-radius: 4.8rem;
}

.edutoy__inner {
  max-width: 42rem;
  margin: 0 auto;
  padding: 3.2rem 1.6rem 4rem;
  background-color: #FFF;
}

.edutoy__title {
  color: var(--text, #414257);
  font-feature-settings: "pwid" on, "palt" on;
  font-family: "Noto Sans JP";
  font-size: 2.8rem;
  font-style: normal;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 2.4rem;
  margin-top: 0rem;
}

.edutoy__hero {
  margin: 1.6rem 0 1.6rem;
  border-radius: 1.8rem;
  overflow: hidden;
}

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

.edutoy__lead {
  margin: 0.6rem 0.4rem 1.2rem;
}

.edutoy__lead .edutoy__card-caption {
  font-size: 1.6rem;
}

.degital_txt {
  color: var(--sub2, #676979);
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  margin: 0;
}

.cta__visual_degital .edutoy {
  padding-bottom: 0;
}

.cta__visual_degital .edutoy__title {
  font-size: 2.4rem;
}

.cta__visual_degital .edutoy__cta {
  color: hsla(235, 15%, 30%, 0.8);
  border: 0.3rem solid hsla(235, 15%, 30%, 0.8);
}

.edutoy__grid {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem 1.4rem;
  padding: 0;
  margin: 0 0 18px;
}

.edutoy__card {
  background: var(--white, #FFF);
  border-radius: 1.6rem;
}

.edutoy__card-figure {
  margin: 0 0 0.6rem;
}

.edutoy__card-img {
  width: 100%;
  display: block;
  border-radius: 1.2rem;
}

.edutoy__card-caption {
  color: var(--text, #414257);
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
}

.edutoy__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 100%;
  min-height: 5.6rem;
  text-decoration: none;
  color: #414257;
  background: var(--white, #FFF);
  border-radius: 2.8rem;
  border: 0.3rem solid #414257;
  font: 900 1.6rem/1.2 "Noto Sans JP", sans-serif;
  text-align: center;
  margin-bottom: 1.6rem;
}

.edutoy__cta:active {
  transform: translateY(0.1rem);
}

.cta_interest {
  color: var(--white, #FFF);
  text-align: center;
  font-feature-settings: "pwid" on, "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
}

.enrollment-service-section .c-requestButton2__a {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.cta_interest--bk {
  color: var(--text, #414257);
  font-size: 2rem;
}

.enrollment-service-section_bk {
  margin-bottom: 1.6rem;
}

.cta_content {
  display: none;
  padding: 1.5rem;
  margin-top: 1rem;
  transition: max-height 0.3s ease;
  overflow: hidden;
  color: var(--white, #FFF);
}

.cta_txt {
  cursor: pointer;
  text-decoration: underline;
  width: auto;
}

.cta_content span {
  text-decoration: underline;
}

.edutoy__inner .cta_txt {
  color: var(--text, #414257);
  display: block;
  text-decoration: none;
}

.edutoy__inner .cta_content {
  color: var(--text, #414257);
  padding: 0;
  border: none;
}

.c-plusIcon--gray--right.c-plusIcon--gray::before {
  content: none;
}

.c-plusIcon--gray--right.c-plusIcon--gray::after {
  content: "";
  display: inline-block;
  width: 1.608rem;
  height: 2rem;
  margin-left: 0.5rem;
  background-image: url(/common_2025/img/pulsIcon--gray.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-top: 0.2rem;
}

/* 開いた時もマイナスアイコンを右側（プラスと同じ位置）に表示する */

.c-plusIcon--gray--right.c-minusIcon--gray::before {
  content: none;
}

.c-plusIcon--gray--right.c-minusIcon--gray::after {
  content: "";
  display: inline-block;
  width: 1.608rem;
  height: 2.3rem;
  margin-left: 0.5rem;
  background-image: url(/common_2025/img/minusIcon--gray.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: bottom;
  margin-bottom: -0.2rem;
}

p.cta_txt.js-iconSwitching--gray__trigger.c-plusIcon--gray.c-plusIcon--gray--right {
  margin-bottom: 0;
  margin-top: 0;
}

p.cta_txt.js-iconSwitching--gray__trigger.c-plusIcon--gray--right.c-plusIcon--gray {
  margin-top: 0;
}

.secDegital__Box3 {
  margin-top: 2.4rem;
}

/* 利用環境について 注釈エリア（Figma 5839-49042） */

.edutoy__annotation1 {
  margin-top: 2rem;
  padding: 0;
  text-align: left;
}

.edutoy__annotation1 .degital_txt.degital_txt_red.cta_txt {
  color: #E81829;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 0.8rem;
}

.edutoy__annotation1 .cta_content.cta_content_gy {
  color: #554B4C;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1.2rem 0 0;
}

.edutoy__annotation1 .cta_content.cta_content_gy p {
  color: #554B4C;
}

.edutoy__annotation1 .cta_content.cta_content_gy span {
  color: var(--cocha_primary);
}

.edutoy__annotation1 .cta_content.cta_content_gy p {
  margin: 0rem;
}

.edutoy__annotation1 .cta_content.cta_content_gy p:last-child {
  margin-bottom: 0;
}

.edutoy__annotation1 > p {
  color: #554B4C;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
}

.edutoy__annotation1 > p:last-child {
  margin-bottom: 0;
}

.edutoy__annotation1 {
  /* 注釈エリア内のアコーディオン：開いたときのマイナスアイコンを赤に */
}

.edutoy__annotation1 .c-plusIcon--gray--right::after {
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  background-image: url(/common_2025/img/pulsIcon--red.svg);
  background-repeat: no-repeat;
}

.edutoy__annotation1 .c-plusIcon--gray--right.c-minusIcon--gray::after {
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  background-image: url(/common_2025/img/minusIcon--red.svg);
  background-repeat: no-repeat;
}

.p-digital__link {
  color: #000;
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  text-align: left;
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
}

.p-digital__link a {
  color: #F21710;
  display: inline;
  text-decoration: underline;
}

.p-faq-accordion .c-plusIcon--gray--right::after {
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  background-image: url(/common_2025/img/pulsIcon--red.svg);
  background-repeat: no-repeat;
}

.p-faq-accordion .c-plusIcon--gray--right.c-minusIcon--gray::after {
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  background-image: url(/common_2025/img/minusIcon--red.svg);
  background-repeat: no-repeat;
}

.p-faq-accordion .cta_content.cta_content_gy {
  color: #554B4C;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  padding: 1.2rem 0 0;
}

.p-faq-accordion .cta_content.cta_content_gy p {
  color: #554B4C;
}

.p-faq-accordion .cta_content.cta_content_gy span {
  color: var(--cocha_primary);
}

.p-faq-accordion .cta_content.cta_content_gy p {
  margin: 0rem;
}

.p-faq-accordion .cta_content.cta_content_gy p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 471px) {
  .c-innerPcScroll--child {
    margin-top: 0;
  }
}

@media (min-width: 480px) {
  .edutoy__title {
    font-size: 3.2rem;
  }

  .edutoy__grid {
    gap: 1.4rem 1.6rem;
  }

  .edutoy__cta {
    min-height: 6rem;
  }
}