@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

span, picture {
  display: inline-block;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

input,
textarea,
select {
  font: inherit;
}

/*----------------------------------
  レイアウト（単位不要）
----------------------------------*/
/*----------------------------------
  color
----------------------------------*/
/*----------------------------------
  font-family
----------------------------------*/
/*----------------------------------
  z-index
----------------------------------*/
html {
  font-size: min(4.2666666667vw, 21.3333333333px);
}

body {
  background-color: #EAF5FD;
  text-spacing-trim: space-all;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #1A3A8E;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: normal;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
.c-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  height: min(15.4666666667vw, 77.3333333333px);
  padding: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(8.5333333333vw, 42.6666666667px);
  border-radius: min(17.0666666667vw, 85.3333333333px);
  background-color: #F08200;
  color: #FFF;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
}
.c-button span {
  width: min(48vw, 240px);
}
.c-button img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(7.4666666667vw, 37.3333333333px);
}
.c-button.--line {
  gap: min(4.5333333333vw, 22.6666666667px);
  padding-left: min(5.3333333333vw, 26.6666666667px);
  background-color: #04D364;
  font-size: 0.9375rem;
}
.c-button.--line span {
  width: auto;
  white-space: nowrap;
}

.c-section-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: min(50.4vw, 252px);
  padding-top: min(10.1333333333vw, 50.6666666667px);
  background: url(../img/head-bg.webp) no-repeat center top/100% 100%;
}
.c-section-head.--02 {
  padding-top: min(9.3333333333vw, 46.6666666667px);
}

.c-section-head__title {
  color: #FFF;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.03em;
  text-align: center;
}
.c-section-head__title em {
  color: #FDE627;
}
.c-section-head.--02 .c-section-head__title {
  font-weight: 700;
  line-height: 1.4;
}

.c-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(1.3333333333vw, 6.6666666667px);
}
.c-tab.--sticky {
  position: sticky;
  top: 0;
  z-index: 50;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-block: max(-2.6666666667vw, -13.3333333333px);
  padding-block: min(2.6666666667vw, 13.3333333333px);
  background-color: #EAF5FD;
}

.c-tab__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(1.6vw, 8px);
  width: min(44vw, 220px);
  min-height: min(15.7333333333vw, 78.6666666667px);
  padding: min(2.6666666667vw, 13.3333333333px);
  outline: 1px solid #0571D5;
  outline-offset: -1px;
  border-radius: min(1.3333333333vw, 6.6666666667px);
  background-color: #FFF;
  -webkit-filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 0.05));
          filter: drop-shadow(0 4px 2px rgba(0, 0, 0, 0.05));
  color: #1A3A8E;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.575;
}
.c-tab__button::after {
  content: "";
  width: min(3.4666666667vw, 17.3333333333px);
  height: min(3.4666666667vw, 17.3333333333px);
  margin-block: max(-0.8vw, -4px);
  background: url(../img/icon-chevron.svg) no-repeat center/min(1.8666666667vw, 9.3333333333px) min(3.4666666667vw, 17.3333333333px);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-tab__button.is-current {
  background-color: #D8EFFD;
}
.c-tab__button.--small {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-height: 0;
  width: min(29.3333333333vw, 146.6666666667px);
  font-size: 0.75rem;
  line-height: 1.1666666667;
  text-align: center;
}
.c-tab__button.--small::after {
  content: none;
}

.c-tab__panel:not(.is-current) {
  display: none;
}

.c-title {
  padding-bottom: calc(min(0.8vw, 4px) - 1.5px);
  border-bottom: 1.5px solid #022867;
  color: #022867;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}

.c-title__lead {
  color: #0077ED;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

.c-apply-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3125rem;
  height: 3rem;
  border-radius: 0.3125rem;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
}
.c-apply-button.--mail {
  background-image: linear-gradient(181deg, #F09C39 3%, #F08200 97%);
  line-height: 1.8833333333;
}
.c-apply-button.--line {
  background-image: linear-gradient(179deg, #04D364 2%, #03C05B 98%);
  line-height: 1.25;
  letter-spacing: 0.13em;
}

.c-apply-button__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-apply-button__icon.--mail {
  width: 1.5rem;
}
.c-apply-button__icon.--line {
  width: 1.375rem;
}

.l-inner {
  width: 100%;
  padding-inline: min(5.3333333333vw, 26.6666666667px);
}

.l-wrapper {
  position: relative;
  max-width: 500px;
  margin-inline: auto;
  padding-bottom: 4.25rem;
  overflow-x: clip;
  background-color: #FFF;
}
.l-wrapper.--fv {
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .l-wrapper.--fv {
    max-width: none;
    overflow-x: visible;
  }
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: min(12.8vw, 64px);
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding-inline: min(3.2vw, 16px);
}

.l-header__logo {
  width: min(22.9333333333vw, 114.6666666667px);
}

@media screen and (min-width: 768px) {
  .l-header {
    height: auto;
  }
}

@media screen and (min-width: 768px) {
  .l-header__inner {
    padding: min(1.3888888889vw, 20px) 0 0 calc(50% - min(47.6388888889vw, 686px));
  }
}

@media screen and (min-width: 768px) {
  .l-header__logo {
    width: min(11.3888888889vw, 164px);
  }
}

.l-footer {
  padding: min(8vw, 40px) min(8.2666666667vw, 41.3333333333px) min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  color: #333;
  text-align: center;
}

.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(6.4vw, 32px);
}

.l-footer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
}

.l-footer__logo {
  width: min(22.9333333333vw, 114.6666666667px);
}

.l-footer__tel {
  font-size: 0.79375rem;
  line-height: 2.2047244094;
  white-space: nowrap;
}

.l-footer__copy {
  font-size: 0.625rem;
  line-height: 2.7;
}

.l-fixed-cta {
  position: fixed;
  bottom: 0;
  left: 50%;
  z-index: 110;
  width: 100%;
  max-width: 500px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0.625rem;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}
.l-fixed-cta.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.l-fixed-cta__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  max-width: 22.1875rem;
  margin-inline: auto;
}

.p-main-visual {
  position: relative;
  height: min(200vw, 1000px);
  overflow: hidden;
  background-color: #FFF;
}

.p-main-visual__bg {
  position: absolute;
  inset: 0;
}
.p-main-visual__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-main-visual__heading {
  position: absolute;
  top: min(15.4666666667vw, 77.3333333333px);
  left: max(-0.5333333333vw, -2.6666666667px);
  width: min(101.6vw, 508px);
}

.p-main-visual__tags {
  position: absolute;
  top: min(76.5333333333vw, 382.6666666667px);
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.3333333333vw, 6.6666666667px);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-main-visual__tag {
  padding: min(1.3333333333vw, 6.6666666667px) min(2.6666666667vw, 13.3333333333px);
  border-bottom: 2px solid #FDE627;
  background-color: #FFF;
  color: #022867;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5785714286;
  letter-spacing: 0.11em;
  white-space: nowrap;
}

.p-main-visual__badges {
  position: absolute;
  top: min(151.4666666667vw, 757.3333333333px);
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(2.1333333333vw, 10.6666666667px);
}

.p-main-visual__badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-main-visual__badge.--01 {
  --badge-color: #0077ED;
}
.p-main-visual__badge.--02 {
  --badge-color: #02478D;
}

.p-main-visual__badge-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.3125rem 0.5rem 0.9375rem;
  background-color: var(--badge-color);
}

.p-main-visual__badge-grade {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-main-visual__badge-grade::before, .p-main-visual__badge-grade::after {
  content: "";
  width: 0.3125rem;
  background: url(../img/badge-bracket.svg) no-repeat center/100% 100%;
}
.p-main-visual__badge-grade::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-main-visual__badge-grade-text {
  padding: 0.1875rem 0.3125rem;
  background-color: #FFF;
  color: var(--badge-color);
  font-size: 0.75rem;
  font-weight: 800;
  line-height: 1.6666666667;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.p-main-visual__badge-text {
  color: #FFF;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.38125;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.p-main-visual__badge-tail {
  width: 0.75rem;
}
.p-main-visual__badge-tail.--01 {
  background: url(../img/badge-tail-01.svg) no-repeat center/100% 100%;
}
.p-main-visual__badge-tail.--02 {
  background: url(../img/badge-tail-02.svg) no-repeat center/100% 100%;
}

.p-main-visual__links {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  max-width: calc(22.1875rem + 1.25rem);
  margin-inline: auto;
  padding: 0.625rem;
}

.p-main-visual__badge-tail.--start {
  display: none;
}

.p-main-visual__deco,
.p-main-visual__heading-pc {
  display: none;
}

/*----------------------------------
  PC版（Figma 2224:749・1440px）
  1440px 以上は大きさを止め、中身は画面の中央に置く（位置は「中央から何 px 左か」で書く）
----------------------------------*/
@media screen and (min-width: 768px) {
  .p-main-visual {
    height: min(54.8611111111vw, 790px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__bg img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 125.2777777778vw;
    max-width: none;
    height: auto;
    -webkit-transform: translate(-54.49%, -50%);
            transform: translate(-54.49%, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__deco {
    position: absolute;
    top: min(6.1111111111vw, 88px);
    left: calc(50% - min(50.4861111111vw, 727px));
    display: block;
    width: min(54.1666666667vw, 780px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading {
    top: 0;
    left: calc(50% - min(50vw, 720px));
    width: min(100vw, 1440px);
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading-img {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading-pc {
    display: block;
    color: #FFF;
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-weight: 900;
    white-space: nowrap;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading-lead,
  .p-main-visual__heading-catch,
  .p-main-visual__heading-main {
    position: absolute;
    line-height: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading-lead {
    top: min(12.3611111111vw, 178px);
    left: min(10.0694444444vw, 145px);
    font-size: min(2.7777777778vw, 40px);
    -webkit-transform: rotate(-3deg) skewX(-10deg);
            transform: rotate(-3deg) skewX(-10deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading-catch {
    top: min(16.9444444444vw, 244px);
    left: min(10.2083333333vw, 147px);
    font-size: min(5.2083333333vw, 75px);
    -webkit-transform: rotate(-3deg) skewX(-10deg);
            transform: rotate(-3deg) skewX(-10deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__heading-main {
    top: min(24.5833333333vw, 354px);
    left: min(9.2361111111vw, 133px);
    font-family: "Noto Serif JP", serif;
    font-size: min(7.6388888889vw, 110px);
    letter-spacing: 0.1em;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__tags {
    top: min(33.8888888889vw, 488px);
    left: calc(50% - min(39.3055555556vw, 566px));
    gap: min(0.3472222222vw, 5px);
    -webkit-transform: none;
            transform: none;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: min(9.7222222222vw, 140px);
    height: min(3.125vw, 45px);
    padding: 0;
    font-size: min(1.3888888889vw, 20px);
    line-height: 1.105;
    letter-spacing: 0.078em;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badges {
    top: min(36.1805555556vw, 521px);
    right: 0;
    left: auto;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: min(0.6944444444vw, 10px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-body {
    gap: min(1.1923611111vw, 17.17px);
    height: min(4.8611111111vw, 70px);
    padding: 0 min(2.7083333333vw, 39px) 0 min(1.1111111111vw, 16px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-grade {
    height: min(3.125vw, 45px);
  }
  .p-main-visual__badge-grade::before, .p-main-visual__badge-grade::after {
    width: min(0.5555555556vw, 8px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-grade-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 min(0.5965277778vw, 8.59px);
    font-size: min(1.25vw, 18px);
    line-height: 1.9055555556;
    letter-spacing: 0.0956em;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-text {
    font-size: min(1.3888888889vw, 20px);
    line-height: 1.9;
    letter-spacing: 0.086em;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-tail {
    display: none;
  }
  .p-main-visual__badge-tail.--01 {
    width: min(1.4583333333vw, 21px);
  }
  .p-main-visual__badge-tail.--02 {
    width: min(1.3888888889vw, 20px);
  }
  .p-main-visual__badge-tail.--start {
    display: block;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__links {
    top: min(44.8611111111vw, 646px);
    right: auto;
    bottom: auto;
    left: calc(50% - min(41.1111111111vw, 592px));
    gap: min(1.0826388889vw, 15.59px);
    width: min(38.4305555556vw, 553.4px);
    max-width: none;
    margin: 0;
    padding: 0;
  }
  .p-main-visual__links .c-apply-button {
    gap: min(0.5409722222vw, 7.79px);
    height: min(5.1944444444vw, 74.8px);
    border-radius: min(0.5409722222vw, 7.79px);
    font-size: min(1.25vw, 18px);
  }
  .p-main-visual__links .c-apply-button.--mail {
    line-height: 1.9555555556;
  }
  .p-main-visual__links .c-apply-button.--line {
    line-height: 1.3;
    letter-spacing: 0.138em;
  }
  .p-main-visual__links .c-apply-button__icon.--mail {
    width: min(2.5972222222vw, 37.4px);
  }
  .p-main-visual__links .c-apply-button__icon.--line {
    width: min(2.3819444444vw, 34.3px);
  }
}

.p-result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: min(10.6666666667vw, 53.3333333333px);
  background-color: #EAF5FD;
}

.p-result__list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2.1333333333vw, 10.6666666667px);
  width: min(83.2vw, 416px);
  margin-top: max(-8vw, -40px);
}

.p-result__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(1.3333333333vw, 6.6666666667px);
  height: min(27.4666666667vw, 137.3333333333px);
  padding: min(2.6666666667vw, 13.3333333333px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(1.6vw, 8px);
  background-color: #FFF;
  overflow: hidden;
}

.p-result__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-result__label {
  color: #022867;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.03em;
}

.p-result__score {
  position: relative;
  width: min(29.8666666667vw, 149.3333333333px);
  height: min(12.5333333333vw, 62.6666666667px);
  color: #F00;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 1;
}

.p-result__point {
  position: absolute;
  z-index: 1;
  top: min(1.8666666667vw, 9.3333333333px);
  left: -0.625rem;
  font-size: 2.5rem;
  letter-spacing: 0.036em;
}
.p-result__point small {
  font-size: 1.5rem;
}

.p-result__arrow {
  position: absolute;
  top: 0;
  left: min(18.1333333333vw, 90.6666666667px);
  width: min(10.9333333333vw, 54.6666666667px);
}

.p-result__up {
  position: absolute;
  z-index: 1;
  top: min(6.1333333333vw, 30.6666666667px);
  left: min(23.4666666667vw, 117.3333333333px);
  font-size: 1.375rem;
  letter-spacing: 0.03em;
}

.p-result__note {
  padding: min(0.8vw, 4px) min(2.1333333333vw, 10.6666666667px);
  background-color: #0077ED;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.p-need {
  padding-top: min(10.6666666667vw, 53.3333333333px);
  background-color: #EAF5FD;
}

.p-need__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
}

.p-need__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.3333333333vw, 6.6666666667px);
  padding-left: min(2.6666666667vw, 13.3333333333px);
  color: #022867;
  font-weight: 700;
  line-height: 1.5;
}

.p-need__title-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(0.5333333333vw, 2.6666666667px);
  font-size: 1.5rem;
}

.p-need__title-box {
  padding-inline: min(2.6666666667vw, 13.3333333333px);
  background-color: #022867;
  color: #FFF;
  font-size: 1.75rem;
}

.p-need__title-em {
  position: relative;
  isolation: isolate;
  padding-inline: min(0.9333333333vw, 4.6666666667px);
  font-size: 1.75rem;
}
.p-need__title-em::before {
  content: "";
  position: absolute;
  top: min(7.4666666667vw, 37.3333333333px);
  left: 0;
  z-index: -1;
  width: min(38.6666666667vw, 193.3333333333px);
  height: min(4.2666666667vw, 21.3333333333px);
  background: url(../img/underline-01.svg) no-repeat center/100% 100%;
}

.p-need__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: 100%;
}

.p-need__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
  padding-bottom: min(5.3333333333vw, 26.6666666667px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
}

.p-need__img {
  border-radius: min(2.4vw, 12px) min(2.4vw, 12px) 0 0;
  overflow: hidden;
}

.p-need__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(68.2666666667vw, 341.3333333333px);
}

.p-need__heading {
  color: #022867;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
}

.p-need__lead {
  display: block;
  color: #0077ED;
  font-size: 1rem;
  line-height: 1.5;
}

.p-need__text {
  color: #022867;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6666666667;
}

.p-need__point {
  position: absolute;
  top: 1px;
  left: min(5.0666666667vw, 25.3333333333px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(12.8vw, 64px);
  height: min(13.0666666667vw, 65.3333333333px);
  padding-top: min(2.1333333333vw, 10.6666666667px);
  background-color: #FDE627;
  color: #022867;
  font-weight: 600;
}
.p-need__point::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: min(4.2666666667vw, 21.3333333333px);
  background: url(../img/point-ribbon.svg) no-repeat center top/100% 100%;
}

.p-need__point-label {
  font-size: 0.625rem;
  line-height: 1;
}

.p-need__point-num {
  margin-top: min(0.5333333333vw, 2.6666666667px);
  font-size: 1.875rem;
  line-height: 0.8333333333;
}

.p-campaign {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
  padding-block: min(16vw, 80px);
  background-color: #EAF5FD;
  color: #022867;
  font-weight: 700;
  overflow: hidden;
}

.p-campaign__snow {
  position: absolute;
}
.p-campaign__snow.--01 {
  top: min(141.6vw, 708px);
  left: min(75.2vw, 376px);
  width: min(24.8vw, 124px);
}
.p-campaign__snow.--02 {
  top: min(99.7333333333vw, 498.6666666667px);
  left: min(37.6vw, 188px);
  width: min(17.0666666667vw, 85.3333333333px);
}
.p-campaign__snow.--03 {
  top: min(126.1333333333vw, 630.6666666667px);
  left: min(9.8666666667vw, 49.3333333333px);
  width: min(8.2666666667vw, 41.3333333333px);
}
.p-campaign__snow.--04 {
  top: min(130vw, 650px);
  left: max(-1.0133333333vw, -5.0666666667px);
  width: min(14.6666666667vw, 73.3333333333px);
}

.p-campaign__box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
  width: min(87.2vw, 436px);
  padding: min(18.6666666667vw, 93.3333333333px) 0 min(10.6666666667vw, 53.3333333333px);
  border: 3px solid #022867;
  background-color: #FFF;
}

.p-campaign__ribbon {
  position: absolute;
  top: max(-4.8vw, -24px);
  left: max(-4.5333333333vw, -22.6666666667px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(96.2666666667vw, 481.3333333333px);
  height: min(20vw, 100px);
  padding-top: min(2.4vw, 12px);
  background: url(../img/campaign-ribbon.png) no-repeat center/100% 100%;
  color: #FFF;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1.5357142857;
  letter-spacing: 0.05em;
}

.p-campaign__offer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.3333333333vw, 6.6666666667px);
}

.p-campaign__condition {
  font-size: 1.125rem;
  line-height: 1.6666666667;
}

.p-campaign__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(2.1333333333vw, 10.6666666667px);
  font-size: 1.75rem;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
}

.p-campaign__price-num {
  width: min(48.2666666667vw, 241.3333333333px);
  height: auto;
}

.p-campaign__course {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.8vw, 4px);
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.6666666667;
}

.p-campaign__course-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.8vw, 4px);
  line-height: 1.5;
}

.p-campaign__course-box {
  padding: min(0.8vw, 4px) min(5.3333333333vw, 26.6666666667px);
  background-color: #022867;
  color: #FFF;
  line-height: 1.4;
}

.p-campaign__catch {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.6666666667vw, 3.3333333333px);
  width: min(81.6vw, 408px);
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}

.p-campaign__catch-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(1.3333333333vw, 6.6666666667px);
  height: min(13.3333333333vw, 66.6666666667px);
  line-height: 1.25;
}
.p-campaign__catch-row.--logo {
  height: auto;
  line-height: 1.4;
}

.p-campaign__years {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  position: relative;
  isolation: isolate;
  padding-left: min(1.3333333333vw, 6.6666666667px);
  color: #0077ED;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 3.125rem;
  letter-spacing: 0.09em;
  -webkit-transform: translateY(min(2.4vw, 12px));
          transform: translateY(min(2.4vw, 12px));
}
.p-campaign__years span {
  font-size: 3.4375rem;
  line-height: 3.125rem;
}
.p-campaign__years::before {
  content: "";
  position: absolute;
  top: min(11.2vw, 56px);
  left: 0;
  z-index: -1;
  width: min(44.5333333333vw, 222.6666666667px);
  height: min(4.2666666667vw, 21.3333333333px);
  background: url(../img/underline-02.svg) no-repeat center/100% 100%;
}

.p-campaign__catch-mid {
  margin-bottom: max(-1.3333333333vw, -6.6666666667px);
  line-height: 1.4;
}

.p-campaign__logo {
  width: min(30.1333333333vw, 150.6666666667px);
}

.p-campaign__sparkle {
  position: absolute;
  top: max(-1.2vw, -6px);
  left: min(78.5333333333vw, 392.6666666667px);
  width: min(8.4vw, 42px);
}

.p-course {
  padding: 0 min(2.6666666667vw, 13.3333333333px) min(10.6666666667vw, 53.3333333333px);
  background-color: #EAF5FD;
  color: #022867;
}

.p-course__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
}

.p-course__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
}

.p-course__target {
  width: min(34.9333333333vw, 174.6666666667px);
  padding: min(0.8vw, 4px) min(2.6666666667vw, 13.3333333333px);
  border: 0.75px solid #022867;
  border-radius: min(8vw, 40px);
  background-color: #FFF;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.6666666667;
  letter-spacing: 0.13em;
  text-align: center;
}

.p-course__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.8vw, 4px);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
}

.p-course__title-box {
  padding: min(0.8vw, 4px) min(5.3333333333vw, 26.6666666667px);
  background-color: #022867;
  color: #FFF;
  font-size: 1.5rem;
  line-height: 1.4;
}

.p-course__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(6.4vw, 32px);
  width: min(89.3333333333vw, 446.6666666667px);
}

.p-course__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(3.7333333333vw, 18.6666666667px);
}

.p-course__band {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(4.2666666667vw, 21.3333333333px);
  height: min(35.2vw, 176px);
  padding-right: min(2.6666666667vw, 13.3333333333px);
  background-color: #0077ED;
}
.p-course__band.--reverse {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: min(8.5333333333vw, 42.6666666667px);
  padding: 0 0 0 min(2.6666666667vw, 13.3333333333px);
}

.p-course__band-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.p-course__band-img.--01 {
  width: min(34.6666666667vw, 173.3333333333px);
}
.p-course__band-img.--02, .p-course__band-img.--03 {
  width: min(37.0666666667vw, 185.3333333333px);
}

.p-course__band-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(1.3333333333vw, 6.6666666667px);
  height: 100%;
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}

.p-course__band-sub {
  display: block;
  color: #FDE627;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 2;
}

.p-course__desc {
  padding: min(5.3333333333vw, 26.6666666667px) min(4.6666666667vw, 23.3333333333px);
  background-color: #FFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
}
.p-course__desc mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(62.5%, transparent), color-stop(62.5%, #FDE627), color-stop(83.4%, #FDE627), color-stop(83.4%, transparent));
  background: linear-gradient(transparent 62.5%, #FDE627 62.5%, #FDE627 83.4%, transparent 83.4%);
  color: inherit;
}

.p-course__support {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.1333333333vw, 10.6666666667px);
}

.p-course__support-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
}
.p-course__support-title span {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
}

.p-course__support-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: min(2.6666666667vw, 13.3333333333px);
  width: 100%;
}

.p-course__support-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  padding-bottom: min(2.6666666667vw, 13.3333333333px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
}
.p-course__support-item:nth-child(2) {
  gap: min(6.4vw, 32px);
  padding-bottom: min(5.3333333333vw, 26.6666666667px);
}

.p-course__support-img {
  border-radius: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) 0 0;
  overflow: hidden;
}

.p-course__support-label {
  position: absolute;
  top: min(22.5333333333vw, 112.6666666667px);
  left: 0;
  padding: min(0.8vw, 4px) min(2.6666666667vw, 13.3333333333px);
  background-color: #022867;
  color: #FFF;
  font-size: 0.625rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-course__support-heading {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.03em;
  text-align: center;
}

.p-course__support-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
}

.p-course__support-text {
  width: min(36.5333333333vw, 182.6666666667px);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.4;
}

.p-course__banner {
  display: block;
  width: min(89.3333333333vw, 446.6666666667px);
}

.p-course__countdown {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-course__countdown-date {
  position: relative;
  z-index: 1;
  margin-bottom: max(-1.3333333333vw, -6.6666666667px);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4285714286;
}

.p-course__countdown-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: min(21.3333333333vw, 106.6666666667px);
}

.p-course__countdown-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: min(25.6vw, 128px);
  margin-right: max(-2.1333333333vw, -10.6666666667px);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
}
.p-course__countdown-icon img {
  grid-area: 1/1;
}
.p-course__countdown-icon span {
  position: relative;
  grid-area: 1/1;
  margin-top: max(-2.6666666667vw, -13.3333333333px);
}

.p-course__countdown-days {
  -ms-flex-item-align: end;
      align-self: flex-end;
  padding-bottom: min(3.2vw, 16px);
  color: #F00;
  font-size: 3.75rem;
  font-weight: 800;
  line-height: 0.8333333333;
  letter-spacing: 0.02em;
}
.p-course__countdown-days small {
  color: #022867;
  font-size: 1.75rem;
  font-weight: 700;
}

.p-course__panel.is-current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
}

.p-course__band-img.--05 {
  width: min(40.5333333333vw, 202.6666666667px);
}

.p-course__support-item.--trial {
  gap: min(4.2666666667vw, 21.3333333333px);
  padding-bottom: min(5.3333333333vw, 26.6666666667px);
}

.p-course__countdown {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: min(28.8vw, 144px);
}

.p-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(10.6666666667vw, 53.3333333333px) min(2.6666666667vw, 13.3333333333px);
  background-color: #022867;
}

.p-cta__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(89.3333333333vw, 446.6666666667px);
  padding-block: min(5.3333333333vw, 26.6666666667px);
  background-color: #FFF;
  color: #022867;
}

.p-cta__lead {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-cta__catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(0.8vw, 4px);
  margin-top: max(-4.2666666667vw, -21.3333333333px);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
}
.p-cta__catch strong {
  font-size: 2rem;
  font-weight: 700;
}

.p-cta__logo {
  width: min(34.1333333333vw, 170.6666666667px);
}

.p-cta__catch-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  height: min(15.7333333333vw, 78.6666666667px);
  padding-top: min(1.6vw, 8px);
}

.p-cta__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(75.2vw, 376px);
  padding-bottom: min(2.6666666667vw, 13.3333333333px);
}

.p-online {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(16vw, 80px) min(2.6666666667vw, 13.3333333333px);
  background-color: #EAF5FD;
  color: #022867;
}

.p-online__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(6.4vw, 32px);
  width: min(89.3333333333vw, 446.6666666667px);
}

.p-online__bubble {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(88vw, 440px);
  height: min(34.9333333333vw, 174.6666666667px);
  padding-top: min(6.4vw, 32px);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
.p-online__bubble::before {
  content: "";
  position: absolute;
  top: max(-4.8vw, -24px);
  left: max(-5.3333333333vw, -26.6666666667px);
  width: min(98.6666666667vw, 493.3333333333px);
  height: min(45.6vw, 228px);
  background: url(../img/bubble.svg) no-repeat center/100% 100%;
}

.p-online__bubble-line {
  position: relative;
}

.p-online__bubble-em {
  position: relative;
  isolation: isolate;
  display: block;
  line-height: 1.5;
}
.p-online__bubble-em::before {
  content: "";
  position: absolute;
  top: min(5.6vw, 28px);
  left: 50%;
  z-index: -1;
  width: min(49.3333333333vw, 246.6666666667px);
  height: min(4.2666666667vw, 21.3333333333px);
  background: url(../img/underline-03.svg) no-repeat center/100% 100%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.p-online__sparkle {
  position: absolute;
  top: max(-2.2666666667vw, -11.3333333333px);
  left: min(81.4666666667vw, 407.3333333333px);
  width: min(9.0666666667vw, 45.3333333333px);
}

.p-online__card {
  width: 100%;
}

.p-online__card-head {
  padding: min(5.3333333333vw, 26.6666666667px) min(2.6666666667vw, 13.3333333333px);
  border-radius: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) 0 0;
  background-color: #022867;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}

.p-online__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  padding: min(5.3333333333vw, 26.6666666667px) min(4.2666666667vw, 21.3333333333px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: 0 0 min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
}

.p-online__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.1333333333vw, 10.6666666667px);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.2;
}
.p-online__item::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(4.2666666667vw, 21.3333333333px);
  height: min(4.2666666667vw, 21.3333333333px);
  background: url(../img/icon-check.svg) no-repeat center/contain;
}

.p-voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
  padding: min(10.6666666667vw, 53.3333333333px) min(5.3333333333vw, 26.6666666667px);
  background-color: #FFF;
  color: #022867;
  overflow: hidden;
}

.p-voice__title {
  padding-bottom: calc(min(0.8vw, 4px) - 1.5px);
  border-bottom: 1.5px solid #022867;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-voice__img {
  border-radius: min(1.3333333333vw, 6.6666666667px);
  overflow: hidden;
}

.p-voice__slider {
  width: 100%;
  overflow: visible;
}
.p-voice__slider .swiper-slide {
  width: min(88.8vw, 444px);
  height: auto;
}

.p-voice__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  height: 100%;
  padding: min(8vw, 40px) min(4.2666666667vw, 21.3333333333px) min(5.3333333333vw, 26.6666666667px);
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  -webkit-filter: drop-shadow(0 0 5px rgba(2, 40, 103, 0.2));
          filter: drop-shadow(0 0 5px rgba(2, 40, 103, 0.2));
}

.p-voice__label {
  position: absolute;
  top: max(-3.7333333333vw, -18.6666666667px);
  left: min(8.8vw, 44px);
  padding: min(1.3333333333vw, 6.6666666667px) min(2.6666666667vw, 13.3333333333px);
  border-radius: min(1.0666666667vw, 5.3333333333px);
  background-color: #022867;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}
.p-voice__label.--student {
  background-color: #0360C5;
}

.p-voice__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(71.2vw, 356px);
}

.p-voice__avatar {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(17.3333333333vw, 86.6666666667px);
}

.p-voice__name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6875;
}

.p-voice__text {
  width: min(71.2vw, 356px);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.9285714286;
}

.p-seminar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(10.6666666667vw, 53.3333333333px) min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  color: #022867;
}

.p-seminar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(6.4vw, 32px);
}

.p-seminar__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-align: center;
}
.p-seminar__title span {
  display: block;
  font-size: 1.25rem;
}

.p-seminar__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(89.3333333333vw, 446.6666666667px);
  padding-bottom: min(5.3333333333vw, 26.6666666667px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
}

.p-seminar__img {
  border-radius: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) 0 0;
  overflow: hidden;
}

.p-seminar__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(82.9333333333vw, 414.6666666667px);
}

.p-seminar__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(1.3333333333vw, 6.6666666667px);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.03em;
}

.p-seminar__label {
  padding: min(1.3333333333vw, 6.6666666667px) min(2.6666666667vw, 13.3333333333px);
  background-color: #022867;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0;
}

.p-seminar__text {
  font-size: 0.75rem;
  line-height: 1.7;
}

.p-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(6.4vw, 32px);
  padding-bottom: min(10.6666666667vw, 53.3333333333px);
  background-color: #EAF5FD;
  color: #022867;
}
.p-detail.--with-schedule {
  padding-bottom: 0;
}
.p-detail.--with-schedule > .p-schedule {
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-top: min(4.2666666667vw, 21.3333333333px);
}

.p-detail__panel {
  width: 100%;
}
.p-detail__panel.is-current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(6.4vw, 32px);
}

.p-detail__subtabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
  width: 100%;
}

.p-detail__subtab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.3333333333vw, 6.6666666667px);
  width: 100%;
  padding: 0 min(5.3333333333vw, 26.6666666667px);
  overflow-x: auto;
  scrollbar-width: none;
}
.p-detail__subtab-list::-webkit-scrollbar {
  display: none;
}

.p-detail__dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.8666666667vw, 9.3333333333px);
}

.p-detail__dot {
  width: min(2.9333333333vw, 14.6666666667px);
  height: min(2.9333333333vw, 14.6666666667px);
  border-radius: 50%;
  background-color: #D9D9D9;
}
.p-detail__dot.is-current {
  background-color: #0571D5;
}

.p-detail__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(8.5333333333vw, 42.6666666667px);
  width: min(89.3333333333vw, 446.6666666667px);
}

.p-detail__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: min(6.4vw, 32px);
  outline: 1px solid #003EA5;
  outline-offset: -1px;
  border-radius: min(4.2666666667vw, 21.3333333333px);
  background-color: #FFF;
  -webkit-box-shadow: 0 4px 10px rgba(26, 51, 128, 0.05);
          box-shadow: 0 4px 10px rgba(26, 51, 128, 0.05);
  overflow: hidden;
  scroll-margin-top: min(26.4vw, 132px);
}
.p-detail__card.--no-button {
  padding-bottom: 0;
}

.p-detail__card-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(3.2vw, 16px);
  width: 100%;
  height: min(19.2vw, 96px);
  padding: min(4.2666666667vw, 21.3333333333px) min(6.4vw, 32px);
  background-color: #003EA5;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: normal;
}

.p-detail__grade {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: min(1.0666666667vw, 5.3333333333px) min(3.2vw, 16px);
  outline: 1.5px solid #003EA5;
  outline-offset: -1.5px;
  border-radius: min(5.3333333333vw, 26.6666666667px);
  background-color: #FFF;
  color: #003EA5;
  font-size: 0.8125rem;
}

.p-detail__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(6.4vw, 32px);
  width: 100%;
  padding: min(6.4vw, 32px) min(6.4vw, 32px) min(10.6666666667vw, 53.3333333333px);
}
.p-detail__body.--tight {
  gap: min(3.7333333333vw, 18.6666666667px);
}

.p-detail__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
}

.p-detail__info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(1.3333333333vw, 6.6666666667px);
}
.p-detail__info-item dt {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
}
.p-detail__info-item dd {
  font-size: 0.9375rem;
  line-height: 1.5333333333;
}
.p-detail__info-item small {
  display: block;
  font-size: 0.8125rem;
}

.p-detail__chip {
  -ms-flex-item-align: start;
      align-self: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: min(6.4vw, 32px);
  padding: min(2.6666666667vw, 13.3333333333px);
  background-color: #0077ED;
  color: #FFF;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-detail__online {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(1.3333333333vw, 6.6666666667px);
  padding: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF3CD;
  font-size: 0.8125rem;
  line-height: 1.5;
}
.p-detail__online strong {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: normal;
}

.p-detail__fee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(1.3333333333vw, 6.6666666667px);
  padding-top: min(5.3333333333vw, 26.6666666667px);
}
.p-detail__fee.--border {
  padding-bottom: calc(min(5.3333333333vw, 26.6666666667px) - 1px);
  border-bottom: 1px solid #E5E5E5;
}

.p-detail__fee-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.375;
}

.p-detail__fee-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(3.2vw, 16px);
}

.p-detail__fee-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(6.4vw, 32px);
}
.p-detail__fee-row.--wide {
  gap: min(7.2vw, 36px);
}

.p-detail__fee-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: min(17.0666666667vw, 85.3333333333px);
  padding: min(0.5333333333vw, 2.6666666667px) min(2.6666666667vw, 13.3333333333px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-detail__fee-label.--fill {
  background-color: #022867;
  color: #FFF;
}
.p-detail__fee-label.--light {
  outline-color: #359BFF;
  background-color: #359BFF;
  color: #FFF;
}
.p-detail__fee-row.--wide .p-detail__fee-label {
  min-width: min(32vw, 160px);
}

.p-detail__price {
  font-family: "Open Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.p-detail__price small {
  margin-left: min(0.5333333333vw, 2.6666666667px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
}

.p-detail__discount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(2.6666666667vw, 13.3333333333px);
}

.p-detail__discount-title {
  padding: min(0.8vw, 4px) min(2.6666666667vw, 13.3333333333px);
  background-color: #FDE627;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.375;
}

.p-detail__discount-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(1.3333333333vw, 6.6666666667px);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.p-detail__discount-list small {
  display: block;
  margin-top: min(0.8vw, 4px);
  font-size: 0.75rem;
  font-weight: 400;
}

.p-detail__discount-note {
  font-size: 0.75rem;
  line-height: 1.5;
}

.p-detail__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.5333333333vw, 22.6666666667px);
  padding: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(8.5333333333vw, 42.6666666667px);
  border-radius: min(8.5333333333vw, 42.6666666667px);
  background-color: #F08200;
  color: #FFF;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-detail__button img {
  width: min(7.4666666667vw, 37.3333333333px);
}

.p-detail__fee-label.--gray {
  outline-color: #359BFF;
  background-color: #586877;
  color: #FFF;
}

.p-schedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
  padding: 0 min(4.2666666667vw, 21.3333333333px) min(16vw, 80px);
  background-color: #EAF5FD;
  color: #022867;
}

.p-schedule__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4vw, 20px);
  width: min(89.3333333333vw, 446.6666666667px);
}
.p-schedule__block .c-title {
  padding-bottom: calc(min(3.7333333333vw, 18.6666666667px) - 1.5px);
  line-height: 1;
  letter-spacing: 0.03em;
}

.p-schedule__calendar {
  width: 100%;
  padding: 1.5px;
  outline: 1.5px solid #007554;
  outline-offset: -1.5px;
  border-radius: min(4.2666666667vw, 21.3333333333px);
  background-color: #FFF;
  overflow: hidden;
}
.p-schedule__calendar.--jan {
  outline-color: #00A20D;
}
.p-schedule__calendar table {
  width: 100%;
  border-top: 1px solid #A7A5A5;
  border-collapse: collapse;
  table-layout: fixed;
}
.p-schedule__calendar caption {
  padding: min(2.5333333333vw, 12.6666666667px) 0 min(2.8vw, 14px);
  background-color: #007554;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.5111111111;
  letter-spacing: 0.04em;
}
.p-schedule__calendar.--jan caption {
  background-color: #00A20D;
}
.p-schedule__calendar th {
  padding: min(1.3333333333vw, 6.6666666667px) 0 min(1.3333333333vw, 6.6666666667px);
  border-right: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  background-color: #B3D9FF;
  color: #444;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.7;
}
.p-schedule__calendar th.--sun {
  background-color: #FFE8CC;
  color: #999;
}
.p-schedule__calendar td {
  height: min(13.8666666667vw, 69.3333333333px);
  padding: min(0.9333333333vw, 4.6666666667px) min(0.5333333333vw, 2.6666666667px) 0 min(1.0666666667vw, 5.3333333333px);
  border-right: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
  color: #444;
  font-size: 0.75rem;
  line-height: 1.2;
  vertical-align: top;
}
.p-schedule__calendar td.--empty {
  background-color: #E7E7E7;
}
.p-schedule__calendar td.--guidance {
  background-color: #7CACD8;
  color: #FFF;
  --event: #7CACD8;
}
.p-schedule__calendar td.--final {
  background-color: #0571D5;
  color: #FFF;
  --event: #0571D5;
}
.p-schedule__calendar td.--newyear {
  background-color: #FFEBAC;
  --event: #444;
}
.p-schedule__calendar td.--last {
  background-color: #FF630F;
  color: #FFF;
  --event: #FF630F;
}
.p-schedule__calendar th:last-child,
.p-schedule__calendar td:last-child {
  border-right: 0;
}
.p-schedule__calendar tr:last-child td {
  border-bottom: 0;
}

.p-schedule__day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(1.3333333333vw, 6.6666666667px);
}
.p-schedule__day img {
  width: min(3.8133333333vw, 19.0666666667px);
}

.p-schedule__event {
  display: inline-block;
  margin-top: min(0.5333333333vw, 2.6666666667px);
  padding: min(0.2666666667vw, 1.3333333333px) min(0.8vw, 4px);
  border-radius: min(0.8vw, 4px);
  background-color: #FFF;
  color: var(--event);
  font-size: 0.375rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.p-schedule__event.--levelup {
  color: #D46363;
}

.p-schedule__event + .p-schedule__event {
  margin-block: 0 2px;
}

.p-schedule__legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(2.1333333333vw, 10.6666666667px);
  width: min(87.2vw, 436px);
  margin-right: auto;
  margin-left: min(1.0666666667vw, 5.3333333333px);
  color: #333;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.6;
}

.p-schedule__legend-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(2.1333333333vw, 10.6666666667px);
}
.p-schedule__legend-item::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(4.8vw, 24px);
  height: min(4.8vw, 24px);
  margin-top: min(0.8vw, 4px);
  background-color: var(--legend);
}
.p-schedule__legend-item.--guidance {
  --legend: #7CACD8;
}
.p-schedule__legend-item.--levelup {
  --legend: #D46363;
}
.p-schedule__legend-item.--final {
  --legend: #0571D5;
}
.p-schedule__legend-item.--newyear {
  --legend: #FFEBAC;
}
.p-schedule__legend-item.--last {
  --legend: #FF630F;
}
.p-schedule__legend-item.--morning p {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(86.1333333333vw, 430.6666666667px);
}
.p-schedule__legend-item.--morning::before {
  background: url(../img/icon-star.svg) no-repeat center/min(4.5333333333vw, 22.6666666667px) auto;
}

.p-schedule__fee {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
  width: min(90.6666666667vw, 453.3333333333px);
}
.p-schedule__fee .c-title {
  padding-bottom: calc(min(0.8vw, 4px) - 1.5px);
}
.p-schedule__fee .c-title__lead {
  line-height: 1.8;
}

.p-schedule__fee-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(6.4vw, 32px);
  width: 100%;
}

.p-schedule__fee-card {
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  -webkit-box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.p-schedule__fee-head {
  padding: min(4.2666666667vw, 21.3333333333px) min(6.4vw, 32px);
  background-color: #022867;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3888888889;
  text-align: center;
}
.p-schedule__fee-head.--set {
  background-color: #0077ED;
}

.p-schedule__fee-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: min(9.6vw, 48px) min(6.4vw, 32px);
}

.p-schedule__fee-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-schedule__fee-col + .p-schedule__fee-col {
  border-left: 1px solid #E5E5E5;
}

.p-schedule__fee-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: min(17.0666666667vw, 85.3333333333px);
  height: min(6.4vw, 32px);
  padding: min(0.5333333333vw, 2.6666666667px) min(2.6666666667vw, 13.3333333333px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  font-size: 0.875rem;
  line-height: normal;
  letter-spacing: 0.05em;
}
.p-schedule__fee-label.--fill {
  background-color: #022867;
  color: #FFF;
}

.p-schedule__fee-price {
  font-family: "Open Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}
.p-schedule__fee-price small {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
}

.p-schedule__panel.is-current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
}

.p-schedule__fee-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6666666667vw, 13.3333333333px);
}
.p-schedule__fee-pair + .p-schedule__fee-pair {
  margin-top: min(2.6666666667vw, 13.3333333333px);
}

.p-schedule__fee-label.--light {
  outline-color: #359BFF;
  background-color: #359BFF;
  color: #FFF;
}

.p-schedule__fee-label.--gray {
  background-color: #586877;
  outline-color: #586877;
  color: #FFF;
}

.p-apply {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(5.3333333333vw, 26.6666666667px);
  padding: min(12.8vw, 64px) min(5.3333333333vw, 26.6666666667px);
  background: url(../img/apply-bg.webp) no-repeat center/cover;
  color: #022867;
}

.p-apply__deadline {
  margin-top: min(0vw, 0px);
  color: #0077ED;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.p-apply__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4vw, 20px);
  width: min(89.3333333333vw, 446.6666666667px);
  padding: min(4.5333333333vw, 22.6666666667px) min(7.7333333333vw, 38.6666666667px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
}
.p-apply__box.--online {
  padding-inline: min(5.6vw, 28px);
}

.p-apply__box-title {
  padding-bottom: min(2.1333333333vw, 10.6666666667px);
  border-bottom: 1px solid #022867;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.26;
  text-align: center;
}

.p-apply__text {
  font-size: 1rem;
  line-height: 1.6875;
}

.p-apply__app {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4.5333333333vw, 22.6666666667px);
  margin: 0 auto min(2.6666666667vw, 13.3333333333px);
  padding: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(8.5333333333vw, 42.6666666667px);
  border-radius: min(17.0666666667vw, 85.3333333333px);
  background-color: #022867;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-apply__app img {
  width: min(7.4666666667vw, 37.3333333333px);
}

.p-apply__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(75.2vw, 376px);
  padding-bottom: min(2.6666666667vw, 13.3333333333px);
}

.p-apply__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.0666666667vw, 5.3333333333px);
  width: min(89.3333333333vw, 446.6666666667px);
  padding: min(4.2666666667vw, 21.3333333333px) min(2.6666666667vw, 13.3333333333px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-apply__tel-number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.3333333333vw, 6.6666666667px);
  margin-bottom: max(-2.9333333333vw, -14.6666666667px);
  font-family: "Open Sans", sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-apply__tel-number img {
  width: min(10.1333333333vw, 50.6666666667px);
}

.p-apply__tel-time {
  font-weight: 400;
  line-height: 1.9285714286;
  letter-spacing: 0;
}

.p-apply__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.0666666667vw, 5.3333333333px);
  width: min(89.3333333333vw, 446.6666666667px);
  padding: min(4.8vw, 24px) min(4vw, 20px) min(5.3333333333vw, 26.6666666667px);
  outline: 1px solid #022867;
  outline-offset: -1px;
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-apply__note strong {
  font-weight: 700;
}

.p-apply__note-title {
  margin-bottom: min(1.6vw, 8px);
  padding-bottom: min(1.0666666667vw, 5.3333333333px);
  border-bottom: 1px solid #022867;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-faq {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(5.3333333333vw, 26.6666666667px);
  padding: min(10.6666666667vw, 53.3333333333px) min(4.2666666667vw, 21.3333333333px);
  background-color: #EAF5FD;
  color: #022867;
}

.p-faq__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
}

.p-faq__banner {
  display: block;
  width: min(89.8666666667vw, 449.3333333333px);
}

.p-faq__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: min(91.4666666667vw, 457.3333333333px);
}

.p-faq__item {
  display: block;
}

.p-faq__question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(3.2vw, 16px);
  padding: min(4.2666666667vw, 21.3333333333px);
  border-radius: min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.p-faq__question::-webkit-details-marker {
  display: none;
}
.p-faq__question::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(4.2666666667vw, 21.3333333333px);
  height: min(4.2666666667vw, 21.3333333333px);
  background: -webkit-gradient(linear, left top, left bottom, from(#022867), to(#022867)) center/100% 2px no-repeat, -webkit-gradient(linear, left top, left bottom, from(#022867), to(#022867)) center/2px 100% no-repeat;
  background: linear-gradient(#022867, #022867) center/100% 2px no-repeat, linear-gradient(#022867, #022867) center/2px 100% no-repeat;
}
.p-faq__item[open] .p-faq__question::after {
  background: -webkit-gradient(linear, left top, left bottom, from(#022867), to(#022867)) center/100% 2px no-repeat;
  background: linear-gradient(#022867, #022867) center/100% 2px no-repeat;
}

.p-faq__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-faq__mark {
  display: grid;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  place-items: center;
  width: min(9.6vw, 48px);
  height: min(9.6vw, 48px);
  border-radius: 50%;
  background-color: #022867;
  color: #FFF;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
}
.p-faq__mark.--a {
  background-color: #0077ED;
}

.p-faq__answer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: min(4.2666666667vw, 21.3333333333px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(2.1333333333vw, 10.6666666667px);
  padding-inline: min(4.2666666667vw, 21.3333333333px);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
}
.p-faq__answer p {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-top: min(0.5333333333vw, 2.6666666667px);
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
}/*# sourceMappingURL=style.css.map */