@charset "UTF-8";

html {
  scroll-padding-top: 87px;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 0;
  }
}

@media (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

/* モーダルが開いている時のbodyスタイル */
body.js-popover-open {
  pointer-events: none;
}

/* モーダル自体はpointer-eventsを有効にする */
body.js-popover-open [popover] {
  pointer-events: auto;
}

/* iPadの不具合のためPCのみ */
@media (any-hover: hover) {
  body:has([popover]:popover-open) {
    overflow: hidden;
  }

  body:not(:has([popover]:popover-open)) {
    overflow: visible;
    overflow: initial;
  }
}

main:has(dialog[open]) {
  overflow: auto;
  scrollbar-gutter: stable;
}

/* dialogモーダル */
body:has(dialog:modal) {
  overflow: hidden !important;
  height: 100vh;
}

/* デフォルトの三角アイコン削除 */
summary {
  list-style: none;
}
/* デフォルトの三角アイコン削除（Safari） */
summary::-webkit-details-marker {
  display: none;
}

.l-main.--slimHeader {
  padding-top: 87px;
}

.c-price__block.is-sale .c-price__block-btn {
  background: linear-gradient(to right, #ff1c4e, #ff4b73);
  box-shadow: 0 6px 0px rgba(255, 75, 115, 0.4);
}

.c-txt-band {
  background: linear-gradient(to right, #1da24b, #68bf66);
  min-height: 28px;
  padding-inline: 6px;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-txt-band {
    padding-inline: 6px;
    /* max-height: 37px; */
  }
}

.c-txt-band::before,
.c-txt-band::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
  z-index: 1;
}

.c-txt-band::before {
  top: 2px;
}

.c-txt-band::after {
  bottom: 2px;
}

.c-txt-band__wrap {
  font-weight: bold;
  font-size: 12px;
  line-height: calc(23 / 14);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* @media screen and (min-width: 768px) {
  .c-txt-band__wrap {
    zoom: 0.9;
  }
} */

.c-txt-band__accent {
  zoom: 1.4;
  color: #fff550;
}

.c-txt-band__sub {
  zoom: 0.8;
}

.c-txt-speech-bubble__year {
  font-family: "Noto Serif JP", serif;
  font-size: 11px;
}

.c-txt-speech-bubble__year-sub {
  font-size: 7px;
}

.c-txt-speech-bubble__month {
  font-family: "Noto Serif JP", serif;
  display: inline-block;
  margin-top: -0.2em;
}

.c-txt-speech-bubble__month-sub {
  font-size: 14px;
}

.c-txt-speech-bubble__txt {
  font-size: 9px;
  letter-spacing: 0.1em;
  margin-top: -0.25em;
}

.c-txt-percent {
  font-weight: 800;
  font-family: "Noto Serif JP", serif;
  font-size: 47px;
  line-height: calc(53 / 47);
  color: #f67921;
  font-feature-settings: "palt";
}

.c-txt-percent__sub {
  font-size: 33px;
}

.c-txt-yen {
  font-weight: bold;
  font-size: 30px;
  line-height: calc(30 / 25);
  letter-spacing: 0.05em;
  color: #f67921;
}

.c-txt-yen__main {
  font-family: "Noto Serif JP", serif;
}

.c-txt-yen__sub {
  font-size: 13px;
}

.c-txt-rounded-corners {
  font-weight: bold;
  font-size: 19px;
  line-height: calc(30 / 19);
  color: #333333;
  padding-inline: 0.5em;
  padding-block-end: 0.1em;
  border: 1px solid;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .c-txt-rounded-corners {
    line-height: 1.5;
    text-align: center;
  }
}

.c-txt-gradation {
  font-weight: bold;
  font-size: 25px;
  line-height: calc(36 / 25);
  letter-spacing: 0.04em;
  background: linear-gradient(
    45deg,
    #e0a64a 0,
    #d08a29 19%,
    #e7b35a 31%,
    #d28d2c 50%,
    #e7b35a 57%,
    #d28d2c 69%,
    #e7b35a 84%,
    #d08a29 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.c-txt-bullet-points {
  display: inline-block;
  gap: 0.25em;
  color: #4d4d4d;
}

.c-txt-bullet-points::before {
  content: "○";
  display: inline-block;
  /* margin-right: -0.1em; */
}

.c-txt-bullet-points.c-txt-bullet-points--sm::before {
  position: relative;
  top: 0.1em;
}

.c-txt-bullet-points__link {
  font-weight: 500;
  font-size: 16px;
  line-height: calc(20 / 16);
  color: #4d4d4d;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-feature-settings: "palt";
}

.c-txt-bullet-points.c-txt-bullet-points--sm .c-txt-bullet-points__link {
  font-size: 13px;
  line-height: calc(24 / 13);
}

/* .c-txt-bullet-points2 {
  display: inline;
} */

.c-txt-bullet-points2::before {
  content: "";
  background: url(../images/20250626/icon_cross.svg) no-repeat center / contain;
  width: 16px;
  height: 16px;
  display: inline-block;
  margin-right: 0.75em;
  margin-bottom: -0.15em;
}

.c-txt-bullet-points2__accent {
  color: #0071d6;
}

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-height: 55px;
  background: linear-gradient(to right, #ff1c4e, #ff4b73);
  box-shadow: 0 4px 0px rgba(255, 75, 115, 0.4);
  border-radius: 10px;
  padding-block: 13px 11px;
  padding-inline: 55px;
  font-weight: bold;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-btn {
    min-height: 64px;
    padding-inline: 20px 34px;
    text-align: initial;
  }
}

.c-btn::before {
  content: "";
  width: 19px;
  height: 19px;
  background: url(https://www.c-c-j.com/assets/img/rn_cp/arrow.svg) no-repeat
    center / contain;
  background-color: #ff1c4e;
  border-radius: 100vh;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .c-btn::before {
    width: 14px;
    height: 14px;
    right: 20px;
  }
}

.c-btn__box {
  background-color: #fff550;
  border-radius: 5px;
  font-size: 15px;
  line-height: calc(9 / 15);
  color: #ff1c4e;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding-inline: 6px;
  padding-block: 4px;
  min-width: 40px;
  position: absolute;
  left: 10px;
}
@media screen and (min-width: 768px) {
  .c-btn__box {
    position: initial;
  }
}

.c-btn__box:has(span) {
  height: 65%;
}
@media screen and (min-width: 768px) {
  .c-btn__box:has(span) {
    height: initial;
  }
}

.c-btn__box-sm {
  font-size: 9px;
}

.c-btn__txt {
  font-weight: 800;
  font-size: 20px;
  line-height: calc(28 / 20);
  font-feature-settings: "palt";
  /* word-break: auto-phrase; */
  color: #ffffff;
  margin-bottom: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-btn__txt {
    font-size: 16px;
    line-height: calc(28 / 16);
  }
}

.c-btn.c-btn--info {
  background: linear-gradient(to right, #0080e2, #00ccd2);
  box-shadow: 0 4px 0px rgba(0, 128, 226, 0.4);
  /* padding-inline: 17px 35px; */
}

.c-btn.c-btn--info::before {
  background-color: #0071d6;
}

.c-btn.c-btn--info .c-btn__box {
  color: #0071d6;
  font-size: 16px;
  line-height: calc(28 / 16);
  font-feature-settings: "palt";
  text-align: center;
  padding-block: initial;
}

.c-btn-icon {
  background-color: #f67921;
  padding: calc(11 / 60 * 100%);
  border-radius: 5px;
  width: 100%;
}

.c-btn-icon__item {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  object-fit: contain;
}

.c-num {
  background: linear-gradient(135deg, #ff6e00, #ff3000);
  border-radius: 100vh;
  font-family: Helvetica, sans-serif;
  font-weight: bold;
  color: #ffffff;
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-num__txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 9px;
  line-height: calc(15 / 9);
  letter-spacing: 0.14em;
}

.c-num__txt::after {
  content: counter(number, decimal-leading-zero);
  font-size: 30px;
  line-height: calc(22 / 30);
}

.c-discount {
  background: linear-gradient(-140deg, #1da24b, #68bf66);
  border-radius: 100vh;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-discount {
    position: initial;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* padding-top: 20px; */
  }
}

.c-discount__cp {
  color: #1da24b;
  background-color: #fff550;
  font-weight: bold;
  font-size: 10px;
  letter-spacing: -0.075em;
  font-feature-settings: "palt";
  text-align: center;
  position: absolute;
  top: 4px;
  left: 50%;
  transform: translateX(-50%) scaleX(0.9);
  transform-origin: center;
  width: 144%;
}
@media screen and (min-width: 768px) {
  .c-discount__cp {
    /* letter-spacing: -0.09em;
    top: 5px;
    width: 128%; */
    width: 130%;
    position: initial;
    transform: initial;
    margin-top: 4px;
  }
}

/* .c-discount__img {
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  width: 130%;
}
@media screen and (min-width: 768px) {
  .c-discount__img {
    top: 5px;
    width: 117%;
  }
} */

.c-discount__img-item {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .c-discount__img-item {
    vertical-align: top;
  }
}

.c-discount__txt {
  font-family: Helvetica, sans-serif;
  font-weight: bold;
  font-size: 33px;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #ffffff;
  min-height: 75px;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* padding-top: 20px; */
  padding-top: 13px;
  text-shadow: 0 0 10px rgba(250, 32, 111, 0.3);
}
@media screen and (min-width: 768px) {
  .c-discount__txt {
    font-size: 36px;
    letter-spacing: -0.04em;
    min-height: initial;
    justify-content: center;
    padding-top: initial;
  }
}

.c-discount__txt-main-container {
  color: #fff550;
}

.c-discount__txt-main {
  margin-right: 0.025em;
  letter-spacing: 0;
}

.c-discount__txt-main2 {
  font-size: 17px;
}

.c-discount__txt-sub {
  letter-spacing: -0.04em;
  font-size: 60%;
  margin-top: -0.1em;
}

.c-box {
  background: linear-gradient(to right, #1da24b, #68bf66);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 6px 2px;
  padding-inline: 6px;
}

.c-box__date {
  background-color: #fff550;
  border-radius: 5px;
  font-weight: bold;
  font-size: 11px;
  line-height: calc(23 / 16);
  letter-spacing: -0.04em;
  font-feature-settings: "palt";
  text-align: center;
  color: #39b54a;
  padding-inline: 4px;
  min-width: 40px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .c-box__date {
    align-items: end;
  }
}

.c-box__date time {
  display: flex;
  align-items: center;
  gap: 1px;
}
@media screen and (min-width: 768px) {
  .c-box__date time {
    align-items: end;
    margin-bottom: 0.25em;
  }
}

.c-box__date-accent {
  font-size: 16px;
  line-height: calc(23 / 16);
}
@media screen and (min-width: 768px) {
  .c-box__date-accent {
    margin-bottom: -0.175em;
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  .c-box__date-sub {
    margin-bottom: 0.25em;
    display: inline-block;
  }
}

.c-box__txt {
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 0.02em;
  text-align: center;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .c-box__txt {
    line-height: calc(32 / 18);
    margin-top: -0.25em;
  }
}

.c-price2__sub {
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  color: #1a1a1a;
  margin-bottom: -4px;
  margin-right: 60px;
  text-align: center;
}
@media screen and (min-width: 375px) {
  .c-price2__sub {
    line-height: calc(23 / 11);
    margin-right: 40px;
    text-align: initial;
  }
}

@media screen and (min-width: 375px) {
  .c-price2__sub-br-sm {
    display: none;
    text-align: initial;
  }
}

.c-price2__sub-item {
  position: relative;
}

.c-price2__sub-item::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: #ff0000;
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(-15deg);
}

.c-price2__main-container {
  display: flex;
  align-items: end;
}

.c-price2__main {
  font-weight: bold;
  font-size: 23px;
  line-height: calc(32 / 23);
  letter-spacing: -0.02em;
  font-feature-settings: "palt";
  white-space: nowrap;
  color: #ff0000;
  background-image: linear-gradient(
    to top,
    transparent 5px,
    #fff550 5px,
    #fff550 16px,
    transparent 16px
  );
  background-repeat: repeat-x;
  background-position: left bottom;
}

.c-price2__main-accent {
  font-family: Helvetica, sans-serif;
  font-size: clamp(2.438rem, -6.313rem + 40vw, 3.063rem);
  line-height: calc(30 / 29);
  color: #ff0000;
  display: inline-block;
  margin-right: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-price2__main-accent {
    font-size: 49px;
  }
}

.c-price2__tax {
  font-weight: 500;
  font-size: 11px;
  line-height: calc(22 / 11);
  /* letter-spacing: -0.3em; */
  color: #1a1a1a;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-bottom: 0.5em;
}

.c-txt-circle {
  font-weight: bold;
  font-size: 16px;
  line-height: calc(25 / 16);
  letter-spacing: 0.06em;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(to right, #ff6e00, #ff3000);
  border-radius: 100vh;
  min-width: 87px;
  min-height: 87px;
  padding-top: 0.75em;
}

.c-txt-circle__body {
  display: flex;
  align-items: center;
  margin-bottom: -0.1em;
}

.c-txt-circle__num {
  font-family: Helvetica, sans-serif;
  font-weight: bold;
  font-size: 35px;
  line-height: calc(22 / 35);
  letter-spacing: -0.02em;
  color: #fff550;
}

.c-txt-circle__sub {
  font-weight: bold;
  font-size: 12px;
  line-height: initial;
  /* letter-spacing: -0.2em; */
  /* margin-bottom: 0.6em; */
  white-space: pre; /*iOS用*/
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  margin-left: 1px;
  color: #fff550;
}

.c-ttl-capsule {
  font-weight: bold;
  font-size: 17px;
  line-height: calc(22 / 17);
  color: #ffffff;
  font-feature-settings: "palt";
  text-align: center;
  border-radius: 100vh;
  background: linear-gradient(135deg, #ff6e00, #ff3000);
  padding-block: 4px;
  padding-inline: 1em;
  display: inline-block;
  position: relative;
  min-width: min(227px, 100%);
}
@media screen and (min-width: 768px) {
  .c-ttl-capsule {
    font-size: 21px;
    line-height: calc(26 / 21);
    border-radius: 15px;
    min-width: min(272px, 100%);
  }
}

.c-ttl-capsule.c-ttl-capsule--blue {
  background: linear-gradient(135deg, #0080e2, #00ccd2);
}

.c-ttl-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  position: relative;
}

.c-ttl-num__img {
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
}

.c-ttl-num__img-item {
  width: 73px;
  height: 94px;
  object-fit: contain;
  object-position: left;
}

.c-ttl-num__body {
  font-weight: bold;
  font-size: 18px;
  line-height: calc(30 / 18);
  letter-spacing: 0.01em;
  font-feature-settings: "palt";
  color: #ffffff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.c-ttl-num__body-br {
  display: block;
}

.c-ttl-num__accent {
  font-size: 23px;
  line-height: calc(32 / 23);
  color: #ffff00;
}

.c-list {
  list-style-type: "";
}
@media screen and (min-width: 768px) {
  .c-list {
    display: grid;
    grid-template-columns: 12ic 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 0 1em;
    grid-auto-flow: column;
  }
}

.c-list__item {
  font-weight: 500;
  font-size: 16px;
  line-height: calc(32 / 16);
  font-feature-settings: "palt";
  color: #333333;
  display: flex;
  align-items: center;
  gap: 0.75em;
}
@media screen and (min-width: 768px) {
  .c-list__item {
    letter-spacing: -0.025em;
  }
}

.c-list__item::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 15px;
  background: url(../images/20250626/icon_check.svg) no-repeat center / contain;
  flex-shrink: 0;
}

.c-lead {
  display: grid;
  grid-template-columns: 56px calc(calc(100% - 56px) + 14px);
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-lead {
    grid-template-columns: 45px calc(calc(100% - 45px) + 14px);
  }
}

.c-lead__point {
  position: relative;
  z-index: 1;
}

.c-lead__point-item {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}

.c-lead__img {
  padding-inline: 21px 43px;
  padding-block: 8px;
  background-color: #ffe449;
  border-radius: 0 10px 10px 0;
  position: relative;
  left: -14px;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-lead__img {
    padding-inline: 19px 12px;
    padding-block: 6px;
  }
}

.c-lead__img-item {
  width: auto;
  height: 28px;
}
@media screen and (min-width: 768px) {
  .c-lead__img-item {
    height: 22px;
  }
}

.c-lead2 {
  display: grid;
  grid-template-columns: 56px calc(calc(100% - 56px) + 14px);
}
@media screen and (min-width: 768px) {
  .c-lead2 {
    /* grid-template-columns: 45px calc(calc(100% - 45px) + 14px); */
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .c-lead2::before {
    content: "";
    width: 100%;
    height: calc(100% - 12px);
    background-color: #ffe449;
    border-radius: 5px;
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    margin-block: 6px;
  }
}

.c-lead2__point {
  position: relative;
  top: 4px;
  z-index: 1;
  margin-left: -17px;
}
@media screen and (min-width: 768px) {
  .c-lead2__point {
    /* position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%); */
    top: initial;
    width: 56px;
    margin-left: initial;
  }
}

.c-lead2__point-item {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.2));
}

.c-lead2__img {
  padding-inline: 21px 9px;
  padding-block: 8px;
  background-color: #ffe449;
  border-radius: 0 5px 5px 0;
  display: flex;
  align-items: center;
  position: relative;
  left: -14px;
  z-index: 0;
  margin-block: 16px;
}
@media screen and (min-width: 768px) {
  .c-lead2__img {
    padding-left: 7px;
    padding-block: 6px;
    background-color: initial;
    display: revert;
    position: initial;
    margin-block: initial;
  }
}

.c-lead2__img-item {
  width: auto;
  height: 24px;
}
@media screen and (min-width: 768px) {
  .c-lead2__img-item {
    height: 28px;
  }
}

.p-courseDetailInformation .review-summary-container {
  pointer-events: none;
}

.p-courseDetailInformation .ukomi_stars_rating_tooltip {
  display: none;
}

.l-inner {
  margin-inline: 10px;
}

.l-following {
  display: none;
  position: relative;
  z-index: 998;
}

.l-top {
  overflow: hidden;
}

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

.p-ttl2__head {
  font-weight: bold;
  font-size: 22px;
  line-height: calc(30 / 22);
  color: #333333;
  margin-top: 11px;
}
@media screen and (min-width: 768px) {
  .p-ttl2__head {
    margin-top: initial;
  }
}

@media screen and (min-width: 768px) {
  .p-ttl2__head::before {
    content: "";
    background: url(../images/20250626/icon_academic-cap.svg) no-repeat center /
      contain;
    width: 50px;
    height: 27px;
    display: inline-block;
    margin-right: 3px;
  }
}

.p-ttl2 .c-txt-rounded-corners {
  margin-top: 0.25em;
}
@media screen and (min-width: 768px) {
  .p-ttl2 .c-txt-rounded-corners {
    margin-top: initial;
  }
}

.p-column {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 13px;
}
@media screen and (min-width: 768px) {
  .p-column {
    flex-direction: column;
    gap: 3px;
  }
}

.p-column__wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 10px;
}

.p-list {
  list-style-type: "";
  font-weight: 500;
  font-size: 11px;
  line-height: calc(20 / 11);
  font-feature-settings: "palt";
  color: #333333;
  padding-inline-start: 1em;
}

.p-list__item {
  width: inherit;
}

.p-list2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  list-style-type: "";
}

.p-list2__item {
  width: calc(163 / 337 * 100%);
  background-color: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-list2__item {
    width: 163px;
  }
}

.p-list2__item-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 163/75;
  object-fit: contain;
}

.p-list3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  list-style-type: "";
}

/* 要素数が3n + 1のとき、最後の要素を1行全部に広げる */
.p-list3 .p-list3__item:nth-last-child(1):nth-child(3n + 1) {
  grid-column: span 3;
}

/* 直下に2つだけ要素がある場合 */
.p-list3:has(> li:nth-child(2):last-child) {
  gap: 10px;
}

.p-list3__item {
  background-color: #f6f2ee;
  border-radius: 10px;
  width: 108px;
}
@media screen and (min-width: 768px) {
  .p-list3__item {
    width: 129px;
  }
}

.p-list3__item-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 108/134;
  object-fit: contain;
}

.l-mv-container {
  overflow: hidden;
  min-height: 293px;
}
@media screen and (min-width: 768px) {
  .l-mv-container {
    overflow: initial;
    min-height: initial;
  }
}

.p-mv-container {
  position: relative;
}

.p-mv__txt-band {
  position: absolute;
  top: calc(133 / 375 * 100%);
  left: 14px;
  object-fit: cover;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-mv__txt-band {
    top: 104px;
    left: 55px;
  }
}

.p-mv__txt {
  width: calc(216 / 375 * 100%);
  position: absolute;
  top: calc(8 / 351 * 100%);
  left: 14px;
  object-fit: cover;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-mv__txt {
    width: 208px;
    top: 5px;
    left: 55px;
  }
}

.p-mv__txt-item {
  width: 100%;
  height: auto;
}

.p-mv__img-item {
  width: 100%;
  height: auto;
}

.p-mv__txt2 {
  width: calc(98 / 375 * 100%);
  position: absolute;
  top: -9px;
  right: -7px;
}
@media screen and (min-width: 768px) {
  .p-mv__txt2 {
    width: 105px;
    top: 10px;
    right: 11px;
  }
}

.p-mv__txt2-item {
  width: 100%;
  height: auto;
}

.p-mv__pass-rate {
  position: absolute;
  left: 50%;
  bottom: 52px;
  transform: translateX(-50%);
  width: calc(313 / 375 * 100%);
}
@media screen and (min-width: 768px) {
  .p-mv__pass-rate {
    top: 138px;
    left: 52px;
    bottom: initial;
    transform: initial;
    width: 267px;
  }
}

.p-mv__pass-rate-img-item {
  width: 100%;
  height: auto;
}

.p-mv__txt3 {
  font-size: 9px;
  font-feature-settings: "palt";
  text-align: center;
  color: #333333;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-mv__txt3 {
    font-size: 8px;
    margin-top: 0.25em;
    white-space: nowrap;
  }
}

.p-mv__note {
  font: inherit;
}

.l-info {
  margin-top: -70px;
}
@media screen and (min-width: 768px) {
  .l-info {
    display: none;
  }
}

.p-info__head {
  background: linear-gradient(to bottom, #fff9d5 80%, transparent 80%);
}

.p-info__inner {
  max-width: 380px;
  margin-inline: auto;
  /* margin-top: -27px; */
  padding-bottom: 20px;
  position: relative;
  z-index: 0;
}

.p-info__lead {
  position: relative;
  top: 17px;
  left: -8px;
  z-index: 1;
  width: calc(356 / 375 * 100%);
}

.p-info__foot {
  width: calc(355 / 375 * 100%);
  margin-inline: auto;
  /* margin-top: 30px; */
}

.p-info__sub {
  margin-top: 18px;
}

.p-info-sub__txt {
  margin-inline: calc(50% - 50vw);
  position: relative;
  z-index: 0;
  margin-bottom: calc(-30 / 356 * 100%);
}

.p-info-sub__txt-link {
  display: inline-block;
}

.p-info-sub__txt-item {
  width: 100%;
  height: auto;
}

.p-info-sub__btn {
  list-style-type: "";
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  gap: 30px;
}

.p-info-sub__btn-item {
  max-width: 320px;
  width: 100%;
  margin-inline: auto;
}

.p-info-sub__btn-item:last-child .c-btn {
  z-index: 1;
}

.p-price {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  position: relative;
  padding-block: 17px 4px;
}

.p-price__discount {
  position: absolute;
  top: -26px;
  right: -8px;
  width: 75px;
  z-index: 1;
}

.p-price__body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1px;
}

.p-price__box {
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}

.p-price__item {
  /* max-width: 224px; */
  margin-inline: auto;
}

.p-notice {
  font-size: 12px;
  line-height: calc(20 / 12);
  font-feature-settings: "palt";
  color: #333333;
  /* border: 1px solid #e6e6e6; */
  padding-block: 12px;
}
@media screen and (min-width: 768px) {
  .p-notice {
    padding-block-end: initial;
  }
}

.p-notice__ttl {
  font: inherit;
  font-weight: bold;
}

.p-notice__txt-container,
.p-notice__txt-container2 {
  list-style-type: "";
  text-indent: -1em;
  padding-left: 1em;
  padding-right: 0.5em;
}

/* safariのみ */
_::-webkit-full-page-media,
_:future,
:root .p-notice__txt-container {
  text-indent: -0.5em;
}

.p-notice__txt::before {
  content: "・";
  font-feature-settings: initial;
}

.p-notice__txt-link {
  color: #0071bc;
  text-decoration: underline;
}

.p-notice__txt-container2 {
  margin-top: 0.5em;
}

.p-notice__txt2-note {
  font: inherit;
}

.p-intro {
  background: url(../images/20250626/bg_01.png) no-repeat center / cover;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding-block: 32px 52px;
}
@media screen and (min-width: 768px) {
  .p-intro {
    padding-block: 48px 50px;
  }
}

.p-intro__list {
  padding-inline: 15px;
}

.p-intro__box {
  margin-top: 40px;
  max-width: 400px;
  margin-inline: auto;
}

.p-system__inner {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 1px 1px 6px rgba(147, 147, 147, 0.75);
  padding-block: 17px 12px;
  padding-inline: 10px;
  max-width: 345px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-system__inner {
    align-items: center;
    padding-block: 14px 12px;
    padding-inline: 20px;
    max-width: 550px;
  }
}

.p-system__ttl::before {
  content: "";
  background: url(../images/20250626/icon_academic-cap.svg) no-repeat center /
    contain;
  width: 52px;
  height: 28px;
}
@media screen and (min-width: 768px) {
  .p-system__ttl::before {
    content: initial;
  }
}

.p-system__box {
  margin-top: 10px;
  padding-inline: 16px;
  max-width: 335px;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-system__box {
    align-self: start;
    max-width: initial;
    padding-inline: 2px;
    width: 300px;
    flex-shrink: 0;
  }
}

.p-system__link-item {
  margin-top: 5px;
  font-size: 13px;
  line-height: calc(21 / 13);
  font-feature-settings: "palt";
  text-align: center;
}

.p-system__link-item .c-txt-bullet-points__link {
  font: inherit;
}

.p-warranty__inner {
  max-width: 345px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-warranty__inner {
    max-width: 550px;
  }
}

.p-warranty__ttl {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  color: #333333;
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .p-warranty__ttl {
    gap: 5px;
  }
}

.p-warranty__ttl::before {
  content: "";
  background: url(../images/20250626/icon_four.svg) no-repeat center / contain;
  width: 44px;
  height: 47px;
  display: inline-block;
}

.p-warranty__txt {
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .p-warranty__txt {
    margin-top: 6px;
  }
}

.p-warranty__txt-item {
  width: 100%;
  height: 26px;
  object-fit: contain;
}

.p-warranty__body {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 1px 1px 6px rgba(146, 146, 146, 0.75);
  padding-block: 8px;
  padding-inline: 10px;
  margin-top: 17px;
}
@media screen and (min-width: 768px) {
  .p-warranty__body {
    padding-top: 17px;
    padding-inline: 25px;
    margin-top: 20px;
  }
}

.p-warranty__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  list-style-type: "";
}

.p-warranty__item {
  padding-inline: 12px 22px;
  padding-block: 11px 14px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-warranty__item {
    padding-block: 0 9px;
  }
}

.p-warranty__item:nth-child(even) {
  padding-inline: 22px 12px;
}

.p-warranty__item:nth-child(even) {
  border-left: 1px solid #ff6e00;
}

.p-warranty__item:nth-child(n + 3) {
  border-top: 1px solid #ff3000;
  padding-top: 13px;
}

.p-warranty__item-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 152/47;
  object-fit: contain;
}
@media screen and (min-width: 768px) {
  .p-warranty__item-img {
    max-height: 47px;
  }
}

.p-warranty__link-list {
  list-style-type: "";
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.25em;
  margin-top: 5px;
}

.p-warranty__link-list .c-txt-bullet-points__link {
  font-size: 11px;
  line-height: calc(20 / 11);
}
@media screen and (min-width: 768px) {
  .p-warranty__link-list .c-txt-bullet-points__link {
    font-size: 12px;
    line-height: calc(21 / 12);
  }
}

.p-warranty__link-list .c-txt-bullet-points::before {
  font-size: 11px;
  margin-right: -0.25em;
}
@media screen and (min-width: 768px) {
  .p-warranty__link-list .c-txt-bullet-points::before {
    font-size: 14px;
  }
}

.p-review__inner {
  max-width: 345px;
  margin-inline: auto;
  padding-inline: 12px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 1px 1px 6px rgba(147, 147, 147, 0.75);
  padding-block: 16px 13px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p-review__inner {
    max-width: 550px;
    padding-block: 17px;
  }
}

.p-review__ttl-container {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333333;
}
@media screen and (min-width: 768px) {
  .p-review__ttl-container {
    gap: 5px;
  }
}

.p-review__ttl-container::before {
  content: "";
  background: url(../images/20250626/icon_review.svg) no-repeat center / contain;
  width: 41px;
  height: 39px;
  display: inline-block;
}

.p-review__ttl {
  padding-bottom: 2px;
  border-bottom: 1px solid;
  border-image: linear-gradient(to right, #ff6e00, #ff3000);
  border-image-slice: 1;
}

.p-review__ttl-accent {
  font-size: 27px;
  line-height: calc(38 / 27);
}

.p-review__img {
  width: 106px;
  min-width: 50px;
  /* flex-shrink: 0; */
}

.p-review__img-item {
  width: 100%;
  height: 100%;
  aspect-ratio: 106/105;
  object-fit: contain;
}

.p-review__btn {
  background-color: #fff;
  margin-top: 3px;
  max-width: 335px;
  margin-inline: auto;
  font-size: 12px;
  position: relative;
  left: -11px;
}

.p-review__btn.p-courseDetailEvaluation .review-summary-container,
.p-review__btn.p-courseDetailEvaluation .review-summary-container .starRating {
  display: flex;
  align-items: center;
  gap: 4px;
}

.p-review__btn.p-courseDetailEvaluation .review-summary-container,
.p-review__btn.p-courseDetailEvaluation
  .review-summary-container
  .starRating
  span.ukmcustomfont {
  display: inline-flex;
  padding: 0;
}

.p-review__btn .review-summary-container .starRating span.reviewNumber {
  padding-top: 1px;
  /* position: relative; */
  background-color: #e6e6e6;
  display: inline-flex;
  gap: 0.5em;
  align-items: center;
  padding-inline: 0.75em;
  border-radius: 100vh;
  color: #333333;
  flex-shrink: 0;
  margin-inline: 3px 0;
  min-height: 24px;
}

.p-review__btn .reviewNumber::after {
  content: "";
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #1a1a1a;
  border-right: solid 1px #1a1a1a;
  transform: rotate(45deg);
  /* position: absolute;
  top: 0;
  right: -13px;
  bottom: 0; */
  margin: auto;
}

.p-review__btn .starRating span.ukmcustomfont::before {
  font-size: 20px !important;
}

.p-review__list {
  margin-top: 5px;
  max-width: 335px;
  margin-left: -42px;
  width: calc(100% + 28px);
  padding-right: 12px;
}
@media screen and (min-width: 768px) {
  .p-review__list {
    width: fit-content;
  }
}

.p-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
  color: #333333;
  font-feature-settings: "halt";
}

.p-box__head {
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 0.25em;
  border-bottom: 1px solid;
}

.p-box__body {
  font-size: 24px;
  line-height: calc(30 / 24);
}

.p-box__body-sub {
  font-size: 18px;
}

.p-box2 {
  background-color: #fff;
  border-radius: 10px;
  border: 1.5px solid #ff3a00;
  padding-block: 25px 22px;
  padding-inline: 15px;
}

.p-box2__wrap {
  margin-top: -40px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-box2__ttl {
  font-weight: bold;
  font-size: 17px;
  line-height: calc(22 / 17);
  color: #ffffff;
  font-feature-settings: "palt";
  text-align: center;
  border-radius: 100vh;
  background: linear-gradient(135deg, #ff6e00, #ff3000);
  padding-block: 4px;
  padding-inline: 1em;
  display: inline-block;
  position: relative;
  min-width: min(227px, 100%);
}

.p-box2__txt {
  margin-top: 17px;
  text-align: center;
}

.p-box2__txt-accent {
  color: #f67921;
}

.p-box2__table-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 13px;
  margin-top: 12px;
}
@media screen and (min-width: 768px) {
  .p-box2__table-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 768px) {
  .p-box2__table {
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}

.p-test {
  padding-block: 35px 53px;
  background-color: #f6f2ee;
}

.p-test__inner {
  padding-inline: 14px;
}
@media screen and (min-width: 768px) {
  .p-test__inner {
    padding-inline: 20px;
  }
}

.p-test__ttl-accent {
  color: #f67921;
  font-style: initial;
}

.p-test__lead {
  font-weight: bold;
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  text-align: center;
  margin-top: 11px;
}
@media screen and (min-width: 768px) {
  .p-test__lead {
    margin-top: 10px;
  }
}

.p-test__lead-accent {
  color: #f67921;
}

.p-test__card {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-test__card {
    margin-top: 17px;
    max-width: 705px;
    margin-inline: auto;
  }
}

.p-test-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 13px;
}
@media screen and (min-width: 768px) {
  .p-test-card {
    grid-template-columns: 335px 1fr;
    gap: 30px;
  }
}

.p-test-card__img {
  max-width: 347px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-test-card__img {
    max-width: initial;
  }
}

.p-test-card__img-item {
  width: 100%;
  height: auto;
}

.p-test-card__txt-container {
  padding-inline: 1px;
}
@media screen and (min-width: 768px) {
  .p-test-card__txt-container {
    padding-inline: 2px;
  }
}

.p-test-card__txt {
  line-break: strict;
  overflow-wrap: anywhere;
  font-weight: 500;
  font-size: 16px;
  line-height: calc(32 / 17);
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-test-card__txt {
    font-size: 14px;
    line-height: calc(25 / 14);
  }
}

.p-test-card__txt-accent {
  color: #f67921;
  font-weight: bold;
}

.p-test__table {
  margin-top: 15px;
  position: relative;
  z-index: 0;
  margin-inline: 2px;
}
@media screen and (min-width: 768px) {
  .p-test__table {
    max-width: 703px;
    margin-inline: auto;
  }
}

.p-table {
  border: 2px solid #f67921;
  border-radius: 5px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .p-table {
    border-width: 1px;
  }
}

.p-table__ttl {
  font-weight: bold;
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  text-align: center;
  word-break: auto-phrase;
  color: #ffffff;
  /* background-color: #FFE449; */
  margin-top: -16px;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-table__ttl {
    margin-top: -6px;
    padding-bottom: initial;
    padding-inline: 127px;
  }
}

.p-table__ttl-accent {
  color: #fff550;
}

.p-table__body {
  padding-inline: 20px;
  padding-block: 5px 20px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-table__body {
    padding-block: 8px 13px;
    padding-inline: 40px;
  }
}

.p-table__circle {
  position: absolute;
  top: -14px;
  right: 6px;
}
@media screen and (min-width: 768px) {
  .p-table__circle {
    top: -64px;
    right: 39px;
  }
}

.p-table__txt-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-table__txt-container {
    grid-template-columns: 1fr 140px;
  }
}

@media screen and (min-width: 768px) {
  .p-table__list {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.1em 1.25em;
    align-self: start;
  }
}

.p-table__list .c-list__item:nth-child(1),
.p-table__list .c-list__item:nth-child(2) {
  margin-right: 63px;
}
@media screen and (min-width: 768px) {
  .p-table__list .c-list__item:nth-child(1) {
    margin-right: 15px;
  }
}
@media screen and (min-width: 768px) {
  .p-table__list .c-list__item:nth-child(2) {
    margin-right: initial;
  }
}

/* .p-table__list .c-list__item:last-child {
  margin-right: 5ic;
}
@media screen and (min-width: 768px) {
  .p-table__list .c-list__item:last-child {
    margin-right: initial;
  }
} */

.p-table__txt-sub {
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .p-table__txt-sub {
    text-align: end;
  }
}

.p-table2 {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 7px;
}
@media screen and (min-width: 768px) {
  .p-table2 {
    gap: 6px;
  }
}

.p-table2:has(.c-txt-bullet-points2) .p-table2__ttl {
  background: linear-gradient(to right, #0081e8, #00cfd3);
}

.p-table2__ttl {
  font-weight: bold;
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.01em;
  font-feature-settings: "palt";
  background: linear-gradient(to right, #ff4b73, #ff92aa);
  color: #fff;
  padding-block: 0.25em;
  padding-inline: 0.75em;
  border-radius: 5px;
  text-align: center;
  max-width: 303px;
  margin-inline: auto;
  width: min(273px, 100%);
}
@media screen and (min-width: 768px) {
  .p-table2__ttl {
    font-size: 16px;
    line-height: 1.5;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .p-table2__ttl-main {
    zoom: 1.2;
  }
}

.p-table2__list {
  display: flex;
  flex-direction: column;
  gap: 3px;
  list-style-type: "";
}
@media screen and (min-width: 768px) {
  .p-table2__list {
    gap: 1px;
    width: 303px;
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-table2__list:not(:has(.c-txt-bullet-points2)) .p-table2__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding-block: 15px 14px;
    font-size: 17px;
    line-height: calc(23 / 17);
    text-align: center;
  }
}

.p-table2__list:not(:has(.c-txt-bullet-points2)) .p-table2__item::before {
  content: "";
  background: url(../images/20250626/icon_circle_sp.svg) no-repeat center /
    contain;
  width: 18px;
  height: 18px;
  display: inline-block;
  margin-bottom: -0.25em;
  margin-right: 0.75em;
}
@media screen and (min-width: 768px) {
  .p-table2__list:not(:has(.c-txt-bullet-points2)) .p-table2__item::before {
    background-image: url(../images/20250626/icon_circle.svg);
    width: 31px;
    height: 31px;
    margin-right: initial;
  }
}

.p-table2__list:not(:has(.c-txt-bullet-points2)) .p-table2__item-accent {
  color: #ff3190;
}

.p-table2__item {
  font-weight: bold;
  font-size: 14px;
  font-feature-settings: "palt";
  color: #333333;
  background-color: #f6f2ee;
  padding-inline: 8px;
  padding-block: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-table2__item {
    padding-inline: 9px;
    height: inherit;
  }
}

.p-table2__item-wrap {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-table2__item-wrap {
    display: revert;
  }
}

.p-table3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 19px;
}

@media screen and (min-width: 768px) {
  .p-table3__body {
    max-width: fit-content;
    margin-inline: auto;
  }
}

.p-table3__list {
  margin-top: -7px;
}
@media screen and (min-width: 768px) {
  .p-table3__list {
    margin-top: -8px;
  }
}

.p-table3__item {
  display: flex;
  flex-direction: column;
}

.p-table3__ttl {
  align-self: center;
}

.p-table3__txt {
  text-align: right;
  margin-top: 5px;
}

.p-table3__note {
  font-weight: 400;
  font-size: 14px;
  line-height: calc(30 / 14);
  font-feature-settings: "palt";
}

.p-modal__img-item {
  width: 100%;
  height: auto;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.p-modal__img-item.p-modal__img-item--round {
  border-radius: 10px;
}

.l-detail {
  overflow-x: hidden;
}

.p-detail-item {
  display: grid;
  grid-template-areas: "cover";
}

/* .p-detail-item__wrap {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 1;
  gap: 0;
} */

.p-detail-item__img-container {
  grid-area: cover;
  position: relative;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .p-detail-item__img-container {
    align-self: end;
  }

  .p-detail__item:nth-child(5) .p-detail-item__img-container {
    align-self: start;
  }
}

.p-detail {
  border-radius: 10px;
  padding-inline: 20px;
  padding-top: 13px;
}
@media screen and (min-width: 768px) {
  .p-detail {
    padding-inline: 40px;
    padding-top: 25px;
  }
}

.p-detail__txt {
  margin-inline: auto;
  margin-top: 8px;
  max-width: 424px;
}

@media screen and (min-width: 768px) {
  .p-detail__txt {
    margin-top: 36px;
  }
}

.p-detail__txt-item {
  width: 100%;
  height: auto;
}

/* .p-detail__ttl {
  font-weight: bold;
  font-size: 20px;
  line-height: calc(36 / 20);
  text-align: center;
  color: #333333;
  font-feature-settings: "palt";
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50% - 20px);
} */

.p-detail__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px 16px;
  max-width: 500px;
  margin-inline: auto;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-detail__list {
    display: flex;
    flex-wrap: wrap;
    gap: 34px 8px;
    justify-content: space-between;
    max-width: 699px;
    margin-inline: auto;
    padding-bottom: 50px;
  }
}

.p-detail__item:first-child,
.p-detail__item:nth-child(4),
.p-detail__item:nth-child(5),
.p-detail__item:nth-child(6),
.p-detail__item:nth-child(7) {
  grid-column: 1 / -1;
}

@media screen and (min-width: 768px) {
  .p-detail__item:first-child {
    grid-column: initial;
    margin-right: 18px;
  }
}

@media screen and (min-width: 768px) {
  .p-detail__item:first-child {
    width: 289px;
  }

  .p-detail__item:nth-child(2) {
    width: 172px;
  }

  .p-detail__item:nth-child(3) {
    width: 172px;
  }

  .p-detail__item:nth-child(4) {
    width: 358px;
  }

  .p-detail__item:nth-child(5) {
    width: 325px;
  }

  .p-detail__item:nth-child(6) {
    width: 325px;
  }

  .p-detail__item:nth-child(7) {
    width: 315px;
  }
}

.p-detail__modal {
  margin-top: 70px;
  width: 95%;
  margin-inline: auto;
  margin-block: auto;
  max-width: 900px;
}

.p-detail__modal:not(:first-child):not(:nth-child(5)) {
  max-width: 600px;
}

.p-detail-item__txt {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(335 / 203 * 100%), 203px);
}

@media screen and (min-width: 768px) {
  .p-detail-item__txt {
    width: min(calc(289 / 186 * 100%), 186px);
  }
}

.p-detail__item:first-child .p-detail-item__txt {
  left: initial;
  right: -13px;
  transform: initial;
}

.p-detail__item:not(:first-child) .p-detail-item__txt {
  width: 100%;
  max-width: 150px;
}

.p-detail__item:nth-child(4) .p-detail-item__txt {
  left: initial;
  right: 13px;
  transform: initial;
  width: min(calc(335 / 248 * 100%), 248px);
  max-width: initial;
}

.p-detail__item:nth-child(n + 5) .p-detail-item__txt {
  left: initial;
  right: 13px;
  transform: initial;
  width: min(calc(275 / 335 * 100%), 335px);
  max-width: initial;
}

@media screen and (min-width: 768px) {
  .p-detail-item__txt {
    width: min(calc(289 / 186 * 100%), 186px);
  }
}

.p-detail-item__txt-item {
  width: 100%;
  height: 100%;
}

.p-detail-item__img {
  margin-top: 54px;
}

.p-detail-item__img:has(.p-detail-item__img-item-sub) {
  position: relative;
  z-index: 0;
}

.p-detail-item__img-container:has(.p-detail-item__img-item-sub)
  .p-detail-item__txt {
  z-index: 1;
}

.p-detail-item__img-sub-container {
  position: absolute;
  bottom: 8px;
  left: 5px;
  display: flex;
  gap: 5px;
}

.p-detail-item__img-item-sub {
  width: 66px;
  height: 100%;
  aspect-ratio: 66 / 47;
  object-fit: contain;
}

.p-detail__item:not(:has(.p-detail-item__txt)) .p-detail-item__img {
  margin-top: initial;
}

.p-detail__item:nth-child(4) .p-detail-item__img {
  margin-top: 20px;
}

.p-detail__item:first-child .p-detail-item__img {
  margin-top: 15px;
}

.p-detail__item:not(:first-child) .p-modal__img {
  margin-top: 50px;
}

.p-detail-item.p-detail-item--5 .p-detail-item__img {
  margin-top: 20px;
}

.p-detail-item.p-detail-item--6 .p-detail-item__img {
  margin-top: 40px;
}

.p-detail-item__img-item {
  width: 100%;
  height: auto;
}

/* @media screen and (min-width: 768px) {
  .p-detail-item.p-detail-item--5 .p-detail-item__img-container {
    width: 331px;
    position: relative;
  }
} */

.p-detail__item:nth-child(-n + 3) .p-detail-item__img-item,
.p-detail__item:nth-child(6) .p-detail-item__img-item {
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.p-detail__item:nth-child(2) .p-detail-item__img-item,
.p-detail__item:nth-child(3) .p-detail-item__img-item {
  border-radius: 10px;
}

.p-detail-item__txt2 {
  position: absolute;
  bottom: -34px;
  left: 50%;
  transform: translateX(-50%);
  width: min(calc(335 / 297 * 100%), 275px);
  z-index: 1;
}

.p-detail-item__btn {
  width: 60px;
  height: 60px;
  align-self: end;
  grid-area: cover;
  z-index: 1;
  margin-left: auto;
  position: relative;
  top: 10px;
  left: 10px;
}

@media screen and (min-width: 768px) {
  .p-detail-item__btn {
    width: 55px;
    height: 55px;
  }
}

.p-detail__item:nth-child(2) .p-detail-item__btn,
.p-detail__item:nth-child(3) .p-detail-item__btn {
  width: 40px;
  height: 40px;
  top: 3px;
  left: 7px;
}

.p-detail__foot {
  position: relative;
  z-index: 0;
  padding-block: 10px 29px;
}
@media screen and (min-width: 768px) {
  .p-detail__foot {
    padding-bottom: 40px;
  }
}

.p-detail__foot::before {
  content: "";
  background-color: #fff5d8;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-detail__foot::before {
    width: calc(100% + 80px);
  }
}

.p-detail__point {
  margin-top: 45px;
  max-width: 500px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-detail__point {
    margin-top: 55px;
    max-width: initial;
  }
}

.p-detail__btn {
  margin-top: 23px;
  margin-inline: auto;
  max-width: 335px;
}

.p-detail__btn-link {
  display: inline-block;
}

.p-detail__btn-item {
  width: 100%;
  height: auto;
}

/* 虫眼鏡モーダル */
.p-modal {
  padding: 0;
  padding: initial;
  border: initial;
  background-color: initial;
}

.p-modal {
  transition: 0.3s ease-out;
  /* transition-property: opacity, display, overlay; */
  transition-property: opacity;
  /* transition-behavior: allow-discrete; */
  opacity: 0;
}

.p-modal::backdrop {
  transition: inherit;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.p-modal:popover-open {
  opacity: 1;
}

.p-modal:popover-open::backdrop {
  opacity: 1;
}

@starting-style {
  .p-modal:popover-open {
    opacity: 0;
  }

  .p-modal:popover-open::backdrop {
    opacity: 0;
  }
}

.p-modal__inner {
  width: 100%;
  max-height: calc(100vh - 90px);
  overflow: auto;
}

@media only screen and (min-width: 768px) {
  .p-modal__inner {
    max-height: calc(100vh - 100px);
    margin-inline: auto;
    /* max-width: 892px; */
  }
}

@media only screen and (min-width: 768px) {
  .p-modal__btn-close-icon-container {
    position: fixed;
    top: 20px;
    left: 50%;
    width: 95%;
    /* max-width: 900px; */
    margin-inline: auto;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    pointer-events: none;
  }
}

.p-modal__btn-close {
  color: #fff;
  position: fixed;
  top: 10px;
  right: 18px;
  cursor: pointer;
  width: 46px;
  height: 46px;
}

@media only screen and (min-width: 768px) {
  .p-modal__btn-close {
    position: static;
    position: initial;
    display: block;
    margin-top: 28px;
    margin-left: auto;
    pointer-events: auto;
  }
}
/* 虫眼鏡モーダルここまで */

.p-passed-intro__table {
  width: fit-content;
  min-width: min(337px, 100%);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-passed-intro__table {
    width: initial;
    max-width: 517px;
    margin-inline: auto;
  }
}

.p-how-to__inner {
  padding-inline: 20px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-how-to__inner {
    padding-inline: 32px;
  }
}

.p-how-to__ttl {
  font-weight: bold;
  font-size: 18px;
  line-height: calc(36 / 18);
  font-feature-settings: "palt";
  text-align: center;
  color: #ffffff;
  background-color: #f67921;
  margin-inline: calc(50% - 50vw);
  padding-inline: calc(50vw - 50%);
  padding-block: 4px;
}
@media screen and (min-width: 768px) {
  .p-how-to__ttl {
    font-size: 22px;
    line-height: calc(36 / 22);
  }
}

.p-how-to__list {
  display: flex;
  flex-direction: column;
  gap: 47px;
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  .p-how-to__list {
    gap: 45px;
    margin-top: 47px;
  }
}

.p-memorize-book__inner {
  padding-inline: 11px;
  margin-inline: auto;
}

.p-memorize-book__ttl-accent {
  color: #f67921;
  font-style: initial;
}

.p-memorize-book__lead {
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .main-flex-container
    .l-main.--slimHeader
    .p-courseDetailContainer
    .p-courseDetailHeading__introduction.p-memorize-book__lead {
    margin-top: 10px;
  }
}

.p-memorize-book__lead-accent {
  color: #f67921;
}

.p-memorize-book__img {
  max-width: 353px;
  margin-inline: auto;
  margin-top: 11px;
}
@media screen and (min-width: 768px) {
  .p-memorize-book__img {
    max-width: 356px;
    margin-top: 21px;
  }
}

.p-memorize-book__img-item {
  width: 100%;
  height: auto;
}

.p-countermeasures-support__inner {
  padding-inline: 19px;
  margin-inline: auto;
  width: 100%;
}

.p-countermeasures-support__ttl .p-courseDetailHeading::before {
  content: initial;
}

.p-countermeasures-support__lead {
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .main-flex-container
    .l-main.--slimHeader
    .p-courseDetailContainer
    .p-courseDetailHeading__introduction.p-countermeasures-support__lead {
    margin-top: 10px;
  }
}

.p-countermeasures-support__lead-accent {
  color: #f67921;
}

.p-countermeasures-support__list {
  margin-top: 21px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-countermeasures-support__list {
    max-width: 337px;
  }
}

.p-countermeasures-support__list-container {
  max-width: 337px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-countermeasures-support__list-container {
    max-width: fit-content;
    margin-inline: auto;
  }
}

.p-countermeasures-support__list-txt {
  text-align: right;
  margin-top: 5px;
}

.p-countermeasures-support__list-note {
  font-weight: 400;
  font-size: 14px;
  line-height: calc(30 / 14);
  font-feature-settings: "palt";
}

.p-passed {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .p-passed {
    padding-top: 50px;
  }
}
.p-passed__inner {
  padding-inline: 14px;
}
@media screen and (min-width: 768px) {
  .p-passed__inner {
    padding-inline: 20px;
  }
}

.p-passed__ttl-accent {
  color: #f67921;
  font-style: initial;
}

.p-passed__lead-accent {
  color: #f67921;
}

.p-passed__modal {
  width: 100%;
  margin-inline: auto;
  border: initial;
  /* max-width: 375px; */
  max-height: 100%;
  /* margin-top: min(calc(98 / 375 * 100%), 98px); */
  margin-top: 14dvh;
}
@media screen and (min-width: 768px) {
  .p-passed__modal {
    max-width: 700px;
    height: 96dvh;
    margin-block: auto;
  }
}

.p-passed__intro {
  margin-top: 15px;
  padding-bottom: 21px;
}
@media screen and (min-width: 768px) {
  .p-passed__intro {
    margin-top: 24px;
    padding-bottom: 41px;
  }
}

.p-passed-intro__figure {
  margin-inline: auto;
  max-width: 336px;
}
@media screen and (min-width: 768px) {
  .p-passed-intro__figure {
    max-width: 403px;
  }
}

.p-passed-intro__figure-item {
  width: 100%;
  height: auto;
}

.p-passed-modal {
  background-color: transparent;
  opacity: 0;
  transform: translateY(0);
  transition: opacity 0.6s, transform 0.6s, display 0.6s allow-discrete,
    overlay 0.6s allow-discrete;
  -webkit-overflow-scrolling: touch; /* iOS対応 */
  /* position: relative; */
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}

.p-passed-modal::backdrop {
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
  transition: opacity 0.6s, display 0.6s allow-discrete,
    overlay 0.6s allow-discrete;
}

.p-passed-modal:modal {
  opacity: 1;
  transform: translateY(0);
}

.p-passed-modal:modal::backdrop {
  opacity: 1;
}

@starting-style {
  .p-passed-modal:modal {
    opacity: 0;
    transform: translateY(220px);
  }

  .p-passed-modal:modal::backdrop {
    opacity: 0;
  }
}

dialog {
  padding: 0;
  max-block-size: 100%;
  max-inline-size: 100%;
  inline-size: 100%;
}

.p-passed-modal__inner {
  overflow-y: auto;
  overflow-x: hidden;
  /* max-height: 100dvh; */
  height: calc(100dvh - 14dvh);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-passed-modal__inner {
    height: inherit;
  }
}

.p-passed-modal__wrap {
  /* border-radius: 20px 20px 0 0; */
  background: linear-gradient(to right, #ff7900, #ff4a00);
  overflow: hidden;
  position: relative;
}

.p-passed-modal__how-to {
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .p-passed-modal__how-to {
    padding-bottom: 45px;
  }
}

.p-passed-modal__foot {
  background-color: #fff5d8;
  padding-block: 38px 32px;
}
@media screen and (min-width: 768px) {
  .p-passed-modal__foot {
    padding-block: 50px 43px;
  }
}

.p-passed-modal__countermeasures-support {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-passed-modal__countermeasures-support::before {
  content: "";
  display: inline-block;
  background: url(../images/20250626/icon_plus.svg) no-repeat center center /
    contain;
  width: 40px;
  height: 40px;
}

.p-passed-modal__btn-close-container {
  position: fixed;
  top: 7px;
  /* right: 10px; */
  left: 50%;
  width: 100%;
  /* max-width: 375px; */
  margin-inline: auto;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .p-passed-modal__btn-close-container {
    max-width: 700px;
  }
}

.p-passed-modal__btn-close:focus {
  outline: none;
}

.p-passed-modal__btn-close {
  position: initial;
  display: block;
  margin-left: auto;
  cursor: pointer;
  width: 32px;
  height: 32px;
  padding-inline: 8px;
  padding-block: 8px;
  margin-right: 13px;
  /* margin-top: initial; */
  pointer-events: auto;
  background-color: #f67921;
  border-radius: 50%;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-passed-modal__btn-close {
    margin-right: 20px;
  }
}
@media (any-hover: hover) {
  .p-passed-modal__btn-close {
    margin-right: 16px;
  }
}
@media (any-hover: hover) and (min-width: 768px) {
  .p-passed-modal__btn-close {
    margin-right: 20px;
  }
}

.p-passed-modal__btn-close-item {
  width: 100%;
  vertical-align: initial;
}

.l-reason {
  padding-top: 39px;
}
@media screen and (min-width: 768px) {
  .l-reason {
    padding-top: 49px;
  }
}

@media screen and (min-width: 768px) {
  .p-reason__cards {
    max-width: 711px;
    margin-inline: auto;
  }
}

.p-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: 32px;
  list-style-type: "";
}
@media screen and (min-width: 768px) {
  .p-cards {
    grid-template-columns: 1fr;
  }
}

.p-card {
  /* display: flex;
  flex-direction: column; */
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 15px;
  background-color: #fff8ef;
  padding-block: 20px 15px;
  padding-inline: 22px;
  position: relative;
  counter-increment: number;
}
@media screen and (min-width: 768px) {
  .p-card {
    grid-template-rows: initial;
    grid-row: initial;
    grid-template-columns: 325px 1fr;
    gap: 29px;
    padding-inline: 26px 35px;
  }
}

@media screen and (min-width: 768px) {
  .p-card.p-card--padding-right-sm-pc {
    padding-right: 29px;
  }
}

.p-card__num {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 70px;
}

@media screen and (min-width: 768px) {
  .p-card__img {
    align-self: start;
  }
}

.p-card__img-item {
  width: 100%;
  height: 100%;
  aspect-ratio: 295/180;
  object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-card__img-item {
    aspect-ratio: 325/198;
  }
}

.p-card__body {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-card__body {
    display: block;
  }
}

.p-card__ttl {
  font-weight: bold;
  font-size: 18px;
  line-height: calc(26 / 18);
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
  word-break: auto-phrase;
  color: #333333;
  padding-bottom: 13px;
  border-bottom: 1px solid;
  border-image: linear-gradient(
    to right,
    #ff6e00 0%,
    #ff3000 calc(100% - 22px),
    transparent calc(100% - 22px)
  );
  border-image-slice: 1;
  margin-right: -22px;
}
@media screen and (min-width: 768px) {
  .p-card__ttl {
    padding-bottom: 15px;
    border-bottom: 1px solid;
    border-image: linear-gradient(
      to right,
      #ff6e00 0%,
      #ff3000 calc(100% - 14px),
      transparent calc(100% - 14px)
    );
    border-image-slice: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-card__txt-container {
    display: block;
    margin-top: 19px;
  }
}

.p-card__txt {
  line-break: strict;
  overflow-wrap: anywhere;
  font-weight: 500;
  /* font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN",
    "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック体", YuGothic,
    "游ゴシック", "Yu Gothic", sans-serif; */
  font-size: 16px;
  line-height: calc(32 / 16);
  font-feature-settings: "palt";
  color: #333333;
}
.p-card__txt:not(:first-of-type) {
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  .p-card__txt {
    font-size: 14px;
    line-height: calc(25 / 14);
  }
}

.p-card__txt.p-card__txt--letter-spacing-sm {
  letter-spacing: -0.02em;
}

.p-card__ttl-accent,
.p-card__txt-accent {
  color: #f67921;
}

.p-card__ttl-accent {
  font-style: normal;
}

.p-card__txt-accent {
  font-weight: bold;
}

.p-card__txt-note {
  font-size: 12px;
  display: inline-block;
  line-height: calc(18 / 12);
  text-indent: -1em;
  padding-left: 1em;
}

.p-card2 {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .p-card2 {
    gap: 29px;
  }
}

.p-card2.p-card2--gap-sm {
  gap: 12px;
}

.p-card2__box {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 350px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-card2__box {
    max-width: 335px;
    gap: 20px;
  }
}

.p-card2__box-item:nth-child(1) {
  position: relative;
}

.p-card2__box-item:nth-child(2) {
  margin-inline: 6px;
  margin-bottom: -23px;
}
@media screen and (min-width: 768px) {
  .p-card2__box-item:nth-child(2) {
    margin-inline: initial;
  }
}

.p-card2__box-img-item {
  width: 100%;
  height: auto;
}

.p-card2__ttl {
  max-width: 338px;
  margin-inline: auto;
  min-width: min(290px, 100%);
}
@media screen and (min-width: 768px) {
  .p-card2__ttl {
    max-width: 370px;
    min-width: min(326px, 100%);
  }
}

.p-card2__img {
  max-width: 351px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-card2__img {
    max-width: 335px;
  }
}

.p-card2__img.p-card2__img--negative-margin-top {
  margin-top: -24px;
}
@media screen and (min-width: 768px) {
  .p-card2__img.p-card2__img--negative-margin-top {
    margin-top: -18px;
  }
}

.p-card2__img-item {
  width: 100%;
  height: auto;
}

.p-card2__img-sub {
  margin-top: -30px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-card2__img-sub {
    max-width: 334px;
    width: 100%;
    margin-top: -28px;
  }
}

.p-card2__icon {
  max-width: 40px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-card2__icon {
    margin-top: 13px;
  }
}

.p-card2__icon-item {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-card2__table {
  margin-top: 12px;
  max-width: 336px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-card2__table {
    max-width: 698px;
  }
}

@media screen and (min-width: 768px) {
  .teaching-section .c-headingSmall {
    font-size: 20px;
  }
}

.teaching-section.--under {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .teaching-section.--under {
    grid-template-columns: 1fr 350px;
    gap: 24px;
  }
}

.teaching-section .p-courseDetailTextContents {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .teaching-section .p-courseDetailTextContents {
    text-align: initial;
  }
}

.p-courseDetailTextContents {
  font-size: calc(90vw / 24);
  margin: 1vw auto 0;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .p-courseDetailTextContents {
    font-size: calc(260px / 24);
    margin: 10px auto !important;
    padding-bottom: 10px !important;
  }
}

@media screen and (min-width: 768px) {
  .main-flex-container
    .l-main.--slimHeader
    .p-courseDetailContainer
    .p-courseDetailMain
    .c-anchorSection
    .curriculumTextContents {
    width: initial;
  }
}

.curriculumTextContents .p-courseDetailTextContents {
  font-size: 14px;
}

.price_course__list_cp .cam {
  /* background: #f14950 !important; */
  background: linear-gradient(to right, #ff1c4e, #ff4b73);
  box-shadow: 0 8px 0px rgba(241, 73, 80, 0.3);
}

.price_course__list_cta_btn:nth-of-type(1) {
  border: none;
  /* background: rgba(47, 134, 213, 1); */
  background: linear-gradient(to right, #0080e2, #00ccd2);
  box-shadow: 0 6px 0 rgba(47, 134, 213, 0.3);
  color: #fff;
}

.price_course__list_cta_btn
  .price_course__list_cta
  .price_course__list_cta_main:nth-of-type(1) {
  color: #fff;
}

.price_course__list_cta_main .blue span {
  color: #fff;
}

.price_course__list_cta .price_course__list_cta_main span:nth-of-type(1) {
  background: #fff;
  color: rgba(47, 134, 213, 1);
  padding: 1px 3px;
  border-radius: 2px;
  margin-right: 3px;
}

.price_course__list_cta .price_course__list_cta_main:nth-of-type(1) {
  color: #fff;
}

.price_course__list_cta_btn:nth-of-type(1) .price_course__list_cta_sub {
  background-color: #fff;
  border: rgba(47, 134, 213, 1) 1px solid;
  color: rgba(47, 134, 213, 1);
}

.price_course__list_cta_btn:nth-of-type(1) .price_course__list_cta_main {
  color: #fff;
}

.price_course__list_cta .price_course__list_cta_btn:nth-of-type(1)::after {
  background-image: url(https://www.c-c-j.com/assets/img/rn_cp/arrow.svg) !important;
}

.p-bottomCta .p-bottomCtaButton {
  padding: 27px 4px 15px 9px;
  background: linear-gradient(to right, #ff1c4e, #ff4b73) !important;
  position: relative;
  border: none;
}

.p-bottomCta .p-bottomCtaButton__upperText:nth-of-type(1) {
  background: #fff;
  border: 1px solid #f14950;
  color: #f14950;
}

.p-bottomCta .p-bottomCtaButton:last-of-type {
  background: linear-gradient(to right, #0080e2, #00ccd2) !important;
  position: relative;
  border: none;
}

.p-bottomCta .p-bottomCtaButton:nth-of-type(2) .p-bottomCtaButton__upperText {
  border: 1px solid rgba(47, 134, 213, 1);
  color: rgba(47, 134, 213, 1);
}

.p-bottomCta .p-bottomCtaButton:last-of-type .p-bottomCtaButton__mainText span {
  background: #fff;
  color: rgba(47, 134, 213, 1);
  padding: 1px 3px;
  border-radius: 2px;
  margin-right: 3px;
}

.p-bottomCtaButton::after {
  width: 15px;
  height: 15px;
  transform: translateY(0%);
  background-image: url(https://www.c-c-j.com/assets/img/rn_cp/arrow.svg) !important;
}

.p-bottomCtaButton__mainText {
  color: #fff !important;
}

.p-courseDetailLicense {
  min-height: 77px;
  height: initial;
}

.reviewWidget_title {
  margin-top: 0 !important;
}

.p-courseDetailLessonFee__introduction .label02 span {
  font-size: 120%;
}

/* PCのみ */
@media screen and (min-width: 768px) {
  .main-flex-container
    .l-main.--slimHeader
    .p-courseDetailContainer
    .p-courseDetailRight
    .lesson {
    /* background-color: #fff9d5; */
    /* padding-block: 9px 19px; */
    padding: 0;
  }

  .p-courseDetailInformation {
    background-color: initial;
  }

  .p-courseDetailInformation__box {
    background: linear-gradient(to bottom, #fff9d5 80%, transparent 80%);
    padding: 25px 12px;
    padding-block: 9px;
    border-radius: 8px;
  }

  .p-courseDetailInformation__lead {
    margin-top: -5px;
    margin-left: -10px;
  }

  .p-courseDetailInformation__btn {
    list-style-type: "";
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 11px;
  }

  .p-courseDetailInformation .p-courseDetailshadow_btn {
    margin-bottom: 15px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  }

  .pc .p-price {
    padding-block: 0 15px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  }

  .pc .p-price__body {
    position: relative;
    gap: 0;
  }

  .pc .p-price__body-head {
    display: flex;
    gap: 5px;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 10px;
  }

  .pc .p-price__box {
    margin-left: -4px;
    padding-inline: 6px;
    align-self: start;
    max-width: 145px;
  }

  .pc .p-price__discount {
    top: 6px;
    left: 6px;
    width: 82px;
    min-height: 82px;
    position: relative;
    margin-top: -14px;
  }

  /* .pc .p-courseDetailInformation__btn-item:has(.p-btn__txt) .c-btn {
    margin-top: -7px;
  } */

  .pc .p-btn__txt {
    position: relative;
    z-index: 0;
    margin-inline: -12px;
    margin-bottom: -33px;
  }

  .pc .p-btn__txt-link {
    display: inline-block;
  }

  .pc .p-btn__txt-item {
    width: 100%;
    height: auto;
  }

  .main-flex-container
    .l-main.--slimHeader
    .p-courseDetailContainer
    .p-courseDetailMain
    .pc
    .c-anchorSection
    .curriculumBox {
    padding-block-start: 30px;
  }

  .pc .p-courseDetailHeadingWrapper {
    margin-bottom: 20px;
  }

  .pc .p-courseDetailPriceWrapper {
    box-shadow: initial;
    margin-top: initial;
    background: initial;
    padding: initial;
  }
}


/* 250626 */

.review_x-txt{
    font-size: 80%;
    text-align: right;
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .review_x-txt {
        font-size: 12px;
        margin-top: 10px;
                                margin-bottom: 20px;
        text-indent: -1em;
    }
        }
@media (min-width: 768px) {
    .label02 {
        font-size: calc(350px / 26);
    }
}