@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@400;700&display=swap");
:root {
  --base-width: 440;
  --radius-pill: 9999px;
}

.content-wrapper {
  --c-ratio: calc(100cqw / var(--base-width));
  --sp-ratio: calc(100cqw / 375);
  --space-5: calc(5 * var(--c-ratio));
  --space-10: calc(10 * var(--c-ratio));
  --space-15: calc(15 * var(--c-ratio));
  --space-20: calc(20 * var(--c-ratio));
  --space-25: calc(25 * var(--c-ratio));
  --space-30: calc(30 * var(--c-ratio));
  --space-35: calc(35 * var(--c-ratio));
  --space-40: calc(40 * var(--c-ratio));
  --space-45: calc(45 * var(--c-ratio));
  --space-50: calc(50 * var(--c-ratio));
  --space-55: calc(55 * var(--c-ratio));
  --space-60: calc(60 * var(--c-ratio));
  --space-65: calc(65 * var(--c-ratio));
  --space-70: calc(70 * var(--c-ratio));
  --space-75: calc(75 * var(--c-ratio));
  --space-80: calc(80 * var(--c-ratio));
  --space-85: calc(85 * var(--c-ratio));
  --space-90: calc(90 * var(--c-ratio));
  --space-95: calc(95 * var(--c-ratio));
  --space-100: calc(100 * var(--c-ratio));
  --f-size-12: clamp(
    calc(12px * 0.75),
    calc(12 * var(--c-ratio)),
    calc(12px * 1.5)
  );
  --f-size-13: clamp(
    calc(13px * 0.75),
    calc(13 * var(--c-ratio)),
    calc(13px * 1.5)
  );
  --f-size-14: clamp(
    calc(14px * 0.75),
    calc(14 * var(--c-ratio)),
    calc(14px * 1.5)
  );
  --f-size-15: clamp(
    calc(15px * 0.75),
    calc(15 * var(--c-ratio)),
    calc(15px * 1.5)
  );
  --f-size-16: clamp(
    calc(16px * 0.75),
    calc(16 * var(--c-ratio)),
    calc(16px * 1.5)
  );
  --f-size-17: clamp(
    calc(17px * 0.75),
    calc(17 * var(--c-ratio)),
    calc(17px * 1.5)
  );
  --f-size-18: clamp(
    calc(18px * 0.75),
    calc(18 * var(--c-ratio)),
    calc(18px * 1.5)
  );
  --f-size-19: clamp(
    calc(19px * 0.75),
    calc(19 * var(--c-ratio)),
    calc(19px * 1.5)
  );
  --f-size-20: clamp(
    calc(20px * 0.75),
    calc(20 * var(--c-ratio)),
    calc(20px * 1.5)
  );
  --f-size-21: clamp(
    calc(21px * 0.75),
    calc(21 * var(--c-ratio)),
    calc(21px * 1.5)
  );
  --f-size-22: clamp(
    calc(22px * 0.75),
    calc(22 * var(--c-ratio)),
    calc(22px * 1.5)
  );
  --f-size-23: clamp(
    calc(23px * 0.75),
    calc(23 * var(--c-ratio)),
    calc(23px * 1.5)
  );
  --f-size-24: clamp(
    calc(24px * 0.75),
    calc(24 * var(--c-ratio)),
    calc(24px * 1.5)
  );
  --f-size-25: clamp(
    calc(25px * 0.75),
    calc(25 * var(--c-ratio)),
    calc(25px * 1.5)
  );
  --radius-8: calc(8 * var(--c-ratio));
  --radius-16: calc(16 * var(--c-ratio));
  --radius-18: calc(18 * var(--c-ratio));
  --radius-24: calc(24 * var(--c-ratio));
  --border-1: max(1px, calc(1 * var(--c-ratio)));
  --border-2: max(1px, calc(2 * var(--c-ratio)));
  --padding-inline-12: max(calc(12 * var(--c-ratio)), 10px);
  --padding-inline-14: max(calc(14 * var(--c-ratio)), 12px);
  --padding-inline-18: max(calc(18 * var(--c-ratio)), 15px);
}

/*--- content ----*/
.content {
  padding-top: 10%;
}
.content-wrapper {
  container-type: inline-size;
  margin-inline: auto;
  position: relative;
  width: calc(var(--base-width) * 1px);
  background-color: #ffffff;
}
.content__inner {
  margin-inline: auto;
  padding-inline: calc(12 * var(--c-ratio));
}
.content__section:not(:first-child) {
  margin-top: calc(62 * var(--c-ratio));
}
.content__nav + .content__section {
  margin-top: 0;
}
.content__block:not(:first-child) {
  margin-top: 12%;
}
.content__block:last-child {
  margin-bottom: 13%;
}
.content__nav {
  margin-bottom: 10%;
}
.content__nav__text {
  font-size: calc(18 * var(--c-ratio));
  font-weight: 500;
  text-align: center;
}
.content__nav__list {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  gap: calc(15 * var(--c-ratio));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: calc(26 * var(--c-ratio)) 0 calc(15 * var(--c-ratio));
  vertical-align: middle;
}
.content__nav__link {
  display: inline-block;
  width: calc(140 * var(--c-ratio));
  vertical-align: middle;
}
.content__nav__link:hover {
  opacity: 0.8;
}

.main-content {
  overflow: hidden;
}
.main-content::before {
  display: block;
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(232, 212, 249)), to(rgb(243, 237, 251)));
  background: linear-gradient(180deg, rgb(232, 212, 249) 0%, rgb(243, 237, 251) 100%);
  content: "";
}

/*--- grid ----*/ /* --- list --- */
.list-note > li {
  padding-left: 1.25em;
  font-size: var(--f-size-14);
  line-height: 1.5;
  text-indent: -1.25em;
}
.list-note > li > span:first-child {
  margin-right: 0.25em;
}
.list > li {
  padding-left: 1em;
  text-indent: -1em;
}

/* --- heading --- */
.heading-lv1 {
  margin-right: calc(12 * var(--c-ratio) * -1);
  margin-bottom: calc(37 * var(--c-ratio));
  margin-left: calc(12 * var(--c-ratio) * -1);
  font-size: calc(28 * var(--c-ratio));
}
.heading-lv1 img {
  width: 100%;
}
.heading-lv2 {
  margin-bottom: calc(48 * var(--c-ratio));
  text-align: center;
}
.heading-lv2__text {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  font-size: var(--f-size-25);
  font-weight: bold;
  line-height: 1.40625;
}
.theme--type01 .heading-lv2__text {
  color: #7F60B9;
}
.theme--type02 .heading-lv2__text {
  color: #B36AC4;
}
.heading-lv2__course {
  display: inline-block;
  width: calc(120 * var(--c-ratio));
  margin-right: calc(15 * var(--c-ratio));
}
.heading-lv2__course img {
  vertical-align: middle;
}

.theme--lightblue .product__group__title, .theme--lightblue .product__criterion, .theme--lightblue .product__name {
  color: #00A5B4;
}
.theme--orange .product__group__title, .theme--orange .product__criterion, .theme--orange .product__name {
  color: #ED6C0F;
}
.theme--purple .product__group__title, .theme--purple .product__criterion, .theme--purple .product__name {
  color: #9C308D;
}
.theme--pink .product__group__title, .theme--pink .product__criterion, .theme--pink .product__name {
  color: #DB5A8B;
}

/* --- product --- */
.product-button {
  -webkit-transition: cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
  display: block;
  position: relative;
  max-width: calc(365 * var(--c-ratio));
  margin-top: calc(26 * var(--c-ratio));
  margin-right: auto;
  margin-left: auto;
  padding: calc(12 * var(--c-ratio)) calc(36 * var(--c-ratio));
  border: 1px solid #022222;
  border-radius: var(--radius-pill);
  background-color: #C9C9C9;
  color: #222222;
  font-size: var(--f-size-15);
  text-align: center;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
}
.product__group--col3 .product-button {
  padding: var(--space-10) calc(18 * var(--c-ratio));
}
.product-button::before, .product-button::after {
  position: absolute;
  right: var(--space-20);
  width: var(--space-10);
  height: 1px;
  border-radius: 2px;
  background-color: #022222;
  content: "";
}
.product__group--col3 .product-button::before, .product__group--col3 .product-button::after {
  right: var(--space-15);
}
.product-button::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
  top: 43%;
  transform: translateY(-50%) rotate(45deg);
}
.product-button::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  top: 57%;
  transform: translateY(-50%) rotate(-45deg);
}
.product-button:hover {
  background-color: rgba(201, 201, 201, 0.7);
}
.product__fig img {
  width: 100%;
}
.product__group--col3 .product__fig {
  width: 98%;
}
.product__name {
  font-size: var(--f-size-21);
  font-weight: bold;
  line-height: 1.45;
}
.product__data {
  margin-top: 5%;
}
.product .product__data {
  margin-top: calc(31 * var(--c-ratio));
}
.product__detail:not(:first-child) {
  margin-top: calc(15 * var(--c-ratio));
}
.product__lead {
  font-size: var(--f-size-18);
  font-weight: bold;
  line-height: 1.75;
}
.product__price {
  font-size: var(--f-size-16);
  line-height: 1.75;
}
.product__price:not(:first-child) {
  margin-top: calc(6 * var(--c-ratio));
}
.product__criterion {
  font-size: var(--f-size-16);
  line-height: 1.75;
}
.product__criterion:not(:first-child) {
  margin-top: calc(10 * var(--c-ratio));
}
.product__text {
  font-size: var(--f-size-16);
  line-height: 1.75;
}
.product__text:not(:first-child) {
  margin-top: calc(9 * var(--c-ratio));
}
.product__text .text-note {
  margin-bottom: calc(4 * var(--c-ratio));
}
.product__add--label, .product__add--data {
  border: 1px solid #E50000;
  color: #E50000;
  font-size: var(--f-size-14);
}
.product__add--label {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  justify-content: center;
  min-width: 108px;
  padding: calc(4 * var(--c-ratio)) calc(15 * var(--c-ratio)) calc(5 * var(--c-ratio));
  line-height: 1.5;
  text-align: center;
}
.product__add--label:not(:first-child) {
  margin-top: calc(14 * var(--c-ratio));
}
.product__add--data {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  line-height: 1.75;
}
.product__add--data:not(:first-child) {
  margin-top: calc(15 * var(--c-ratio));
}
.product__add__term {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-negative: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: calc(6 * var(--c-ratio));
  border-bottom: 1px solid #E50000;
}
.product__add__description {
  padding: calc(13 * var(--c-ratio)) var(--space-10);
}
.product__group {
  display: grid;
}
.product__group + .product__group {
  margin-top: calc(65 * var(--c-ratio));
}
.product__group--col1 {
  row-gap: calc(65 * var(--c-ratio));
}
.product__group--col2 {
  row-gap: calc(67 * var(--c-ratio));
}
.product__group--col3 {
  -webkit-column-gap: calc(30 * var(--c-ratio));
  -moz-column-gap: calc(30 * var(--c-ratio));
  row-gap: calc(55 * var(--c-ratio));
  grid-template-columns: repeat(2, 1fr);
  column-gap: calc(30 * var(--c-ratio));
}
.product__group__section + .product__group__section {
  padding-top: calc(73 * var(--c-ratio));
}
.product__group__title {
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  align-items: center;
  margin-bottom: calc(30 * var(--c-ratio));
  overflow: hidden;
}
.product__group__title::after {
  z-index: 2;
  position: absolute;
  width: 100%;
  height: calc(2 * var(--c-ratio));
  content: "";
}
.theme--orange .product__group__title::after {
  background-color: #ED6C0F;
}
.theme--purple .product__group__title::after {
  background-color: #9C308D;
}
.theme--pink .product__group__title::after {
  background-color: #DB5A8B;
}
.product__group__title__text {
  z-index: 3;
  max-width: 80%;
  padding-right: calc(16 * var(--c-ratio));
  background-color: #ffffff;
  font-size: var(--f-size-24);
  font-weight: bold;
}

/* --- data --- */
.data__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  padding: calc(14 * var(--c-ratio)) calc(11 * var(--c-ratio));
  border: 1px solid #D9D9D9;
}
.data__list:not(:first-child) {
  margin-top: calc(35 * var(--c-ratio));
}
.data__list + .data__list {
  margin-top: calc(24 * var(--c-ratio));
}
.data__term {
  -ms-flex-negative: 1;
  flex-shrink: 1;
  margin-bottom: var(--space-10);
}
.data__term:last-child {
  margin-bottom: 0;
}

/* --- mv --- */
.mv img {
  width: 100%;
}

/* --- cv --- */
.cv {
  padding-top: calc(32 * var(--sp-ratio));
  padding-bottom: calc(32 * var(--sp-ratio));
  background-color: #EDEDED;
  text-align: center;
}
.cv__lead {
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  font-size: var(--f-size-15);
  line-height: 1.8666666667;
}
.cv-button {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-transition: cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  justify-content: center;
  width: 100%;
  max-width: calc(355 * var(--sp-ratio));
  margin-top: calc(18 * var(--sp-ratio));
  padding: calc(22 * var(--sp-ratio)) calc(30 * var(--sp-ratio));
  border-radius: var(--radius-pill);
  background-color: #7F60B9;
  color: #ffffff;
  font-size: var(--f-size-17);
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 0.3s;
}
.cv-button::before, .cv-button::after {
  position: absolute;
  width: calc(12 * var(--sp-ratio));
  height: calc(2 * var(--sp-ratio));
  border-radius: calc(8 * var(--sp-ratio));
  background-color: #ffffff;
  content: "";
}
.cv-button::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
  top: 45%;
  right: calc(20 * var(--sp-ratio));
  transform: translateY(-50%) rotate(45deg);
}
.cv-button::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  top: 57%;
  right: calc(20 * var(--sp-ratio));
  transform: translateY(-50%) rotate(-45deg);
}
.cv-button:hover {
  background-color: rgba(127, 96, 185, 0.7);
}

.fw-bold {
  font-weight: bold;
}

.text-note {
  padding-left: 1em;
  font-size: var(--f-size-14);
  line-height: 1.75;
  text-indent: -1em;
}

.ffs-palt {
  -webkit-font-feature-settings: "palt" !important;
  font-feature-settings: "palt" !important;
}

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.clear-both {
  clear: both !important;
}

@media screen and (max-width: 767px) {
  .content-wrapper {
    width: 100%;
    min-width: 320px;
    overflow-x: clip;
  }
}
/*# sourceMappingURL=style.css.map */
