@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.375;
  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 {
  -ms-flex-item-align: start;
      align-self: flex-start;
  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-section-head.--03 {
  padding-top: min(10.24vw, 51.2px);
}
.c-section-head.--03 .c-section-head__title {
  -ms-flex-item-align: start;
      align-self: flex-start;
  font-weight: 700;
}

.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.5625;
}
.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.--wide .c-tab__button {
  width: min(44.6666666667vw, 223.3333333333px);
}
.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: min(0.8vw, 4px);
  background: -webkit-gradient(linear, left top, left bottom, from(#022867), to(#022867)) no-repeat left bottom/100% 1.5px;
  background: linear-gradient(#022867, #022867) no-repeat left bottom/100% 1.5px;
  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-title.--small {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  white-space: normal;
}

.c-title__lead.--fee {
  line-height: 1.8125;
}

.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.4583333333vw, 21px) 0 0 calc(50% - min(47.2916666667vw, 681px));
  }
}

@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__title {
  position: absolute;
  top: min(16.5333333333vw, 82.6666666667px);
  left: 0;
  width: 100%;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 900;
  text-align: center;
}

.p-main-visual__title-sub {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: #022867;
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0.05em;
}

.p-main-visual__underline {
  position: absolute;
  top: min(9.1333333333vw, 45.6666666667px);
  left: min(20vw, 100px);
  width: min(60.2666666667vw, 301.3333333333px);
}

.p-main-visual__title-main {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: min(5.3333333333vw, 26.6666666667px);
  margin-left: min(8.5333333333vw, 42.6666666667px);
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(10.625%, #022867), color-stop(91.25%, #0072E4));
  background-image: linear-gradient(to top, #022867 10.625%, #0072E4 91.25%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: 4.6875rem;
  line-height: 1.0666666667;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.p-main-visual__badges {
  position: absolute;
  top: min(127.2vw, 636px);
  left: 0;
  width: 100%;
  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);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.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-num {
  letter-spacing: -0.17em;
}

.p-main-visual__badge-dot {
  letter-spacing: -0.08em;
}

.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.--01 .p-main-visual__badge-text {
  font-size: 0.875rem;
  letter-spacing: 0.07em;
}
.p-main-visual__badge-text em {
  color: #FDE627;
}

.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__lead {
  position: absolute;
  top: min(158.9333333333vw, 794.6666666667px);
  right: 0;
  left: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-align: center;
  white-space: nowrap;
}
.p-main-visual__lead strong {
  color: #0077ED;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: 0.0225em;
}

.p-main-visual__lead-row {
  display: block;
}
.p-main-visual__lead-row + .p-main-visual__lead-row {
  height: 2.5375rem;
  line-height: 2.5375rem;
}

.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;
}

/*----------------------------------
  PC版（Figma 2225:751・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: 118.9583333333vw;
    max-width: none;
    height: auto;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__title {
    top: min(7.4305555556vw, 107px);
    left: calc(50% - min(42.8472222222vw, 617px));
    width: min(39.2361111111vw, 565px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__title-sub {
    font-size: min(3.125vw, 45px);
    line-height: 1.1111111111;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__underline {
    top: min(4.4861111111vw, 64.6px);
    left: min(4.9305555556vw, 71px);
    width: min(29.1666666667vw, 420px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__title-main {
    margin-top: min(2.8472222222vw, 41px);
    margin-left: min(0.8680555556vw, 12.5px);
    font-size: min(9.0277777778vw, 130px);
    line-height: 1.1538461538;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badges {
    top: min(25.8333333333vw, 372px);
    left: calc(50% - min(41.1527777778vw, 592.6px));
    width: auto;
    gap: min(0.7244444444vw, 10.432px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-body {
    gap: min(0.9055555556vw, 13.04px);
    height: min(3.8194444444vw, 55px);
    padding: 0 min(0.4527777778vw, 6.52px) 0 min(1.3583333333vw, 19.56px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-grade {
    height: min(2.4305555556vw, 35px);
  }
  .p-main-visual__badge-grade::before {
    width: min(0.4166666667vw, 6px);
  }
  .p-main-visual__badge-grade::after {
    width: min(0.4861111111vw, 7px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-grade-text {
    padding: min(0.2716666667vw, 3.912px) min(0.4527777778vw, 6.52px);
    font-size: min(1.1111111111vw, 16px);
    line-height: 1.63;
    letter-spacing: 0.0815em;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-num {
    letter-spacing: -0.163em;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__badge-dot {
    letter-spacing: -0.0815em;
  }
}

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

@media screen and (min-width: 768px) {
  .p-main-visual__badge-tail {
    width: min(1.1111111111vw, 16px);
  }
  .p-main-visual__badge-tail.--start {
    display: block;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__lead {
    top: min(35.8611111111vw, 516.4px);
    right: auto;
    left: calc(50% - min(42.8472222222vw, 617px));
    width: min(39.2361111111vw, 565px);
    font-size: min(2.5685416667vw, 36.987px);
    line-height: 1.2;
    letter-spacing: 0;
    text-shadow: 0 0 min(0.6944444444vw, 10px) #FFF;
  }
  .p-main-visual__lead strong {
    font-size: min(3.7361111111vw, 53.8px);
    letter-spacing: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__lead-row + .p-main-visual__lead-row {
    height: min(4.7638888889vw, 68.6px);
    line-height: min(4.7638888889vw, 68.6px);
  }
}

@media screen and (min-width: 768px) {
  .p-main-visual__links {
    top: min(46.3888888889vw, 668px);
    right: auto;
    bottom: auto;
    left: calc(50% - min(42.4305555556vw, 611px));
    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-campaign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(8vw, 40px) min(2.6666666667vw, 13.3333333333px);
  background-color: #FFF;
}

.p-campaign__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(85.0666666667vw, 425.3333333333px);
  height: min(32.2666666667vw, 161.3333333333px);
  padding: min(2.6666666667vw, 13.3333333333px) 0 min(2.6666666667vw, 13.3333333333px) min(4vw, 20px);
  border-radius: min(1.3333333333vw, 6.6666666667px);
  background: url(../img/campaign-bg.webp) no-repeat 0 max(-46.184vw, -230.92px)/100% min(87.1173333333vw, 435.5866666667px);
}

.p-campaign__snow {
  position: absolute;
}
.p-campaign__snow.--01 {
  top: min(3.2vw, 16px);
  left: min(8.8vw, 44px);
  width: min(3.7333333333vw, 18.6666666667px);
}
.p-campaign__snow.--02 {
  top: min(23.2vw, 116px);
  left: min(31.4666666667vw, 157.3333333333px);
  width: min(5.8666666667vw, 29.3333333333px);
}
.p-campaign__snow.--03 {
  top: min(7.4666666667vw, 37.3333333333px);
  left: min(26.4vw, 132px);
  width: min(4vw, 20px);
}
.p-campaign__snow.--04 {
  top: min(22.1333333333vw, 110.6666666667px);
  left: min(52.5333333333vw, 262.6666666667px);
  width: min(8.8vw, 44px);
}
.p-campaign__snow.--05 {
  top: min(20vw, 100px);
  left: min(50.9333333333vw, 254.6666666667px);
  width: min(2.9333333333vw, 14.6666666667px);
}

.p-campaign__title {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(1.3333333333vw, 6.6666666667px);
  margin-right: max(-4.2666666667vw, -21.3333333333px);
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.p-campaign__title-main {
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(10.625%, #022867), color-stop(91.25%, #0072E4));
  background-image: linear-gradient(to top, #022867 10.625%, #0072E4 91.25%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-weight: 900;
  letter-spacing: 0.05em;
}

.p-campaign__title-box {
  padding: min(1.3333333333vw, 6.6666666667px) min(2.6666666667vw, 13.3333333333px);
  background-color: #022867;
  color: #FFF;
  font-size: 1.25rem;
}

.p-campaign__photo {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(36.2666666667vw, 181.3333333333px);
  margin-block: max(-2.6666666667vw, -13.3333333333px);
}

.p-campaign__badge {
  position: absolute;
  top: max(-1.3333333333vw, -6.6666666667px);
  left: min(32.5333333333vw, 162.6666666667px);
  display: grid;
  place-items: center;
  width: min(12vw, 60px);
  height: min(12vw, 60px);
  border-radius: 50%;
  background-color: #FDE627;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 0.61525rem;
  font-weight: 600;
  line-height: 0.714242178;
  letter-spacing: -0.07em;
  white-space: nowrap;
}
.p-campaign__badge::after {
  content: "";
  position: absolute;
  top: min(8.8vw, 44px);
  left: max(-0.2666666667vw, -1.3333333333px);
  width: min(2.8vw, 14px);
  height: min(2.4vw, 12px);
  background: url(../img/campaign-tail.svg) no-repeat center/contain;
}

.p-result {
  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-bottom: min(10.6666666667vw, 53.3333333333px);
  background-color: #EAF5FD;
}

.p-result__snow {
  position: absolute;
}
.p-result__snow.--01 {
  top: min(113.0666666667vw, 565.3333333333px);
  left: max(-2.9333333333vw, -14.6666666667px);
  width: min(18.1333333333vw, 90.6666666667px);
}
.p-result__snow.--02 {
  top: min(131.7333333333vw, 658.6666666667px);
  left: min(79.2vw, 396px);
  width: min(14.1333333333vw, 70.6666666667px);
}
.p-result__snow.--03 {
  top: min(94.6666666667vw, 473.3333333333px);
  left: min(70.1333333333vw, 350.6666666667px);
  width: min(13.0666666667vw, 65.3333333333px);
}
.p-result__snow.--04 {
  top: min(105.3333333333vw, 526.6666666667px);
  left: min(81.0666666667vw, 405.3333333333px);
  width: min(7.4666666667vw, 37.3333333333px);
}

.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(-18.6666666667vw, -93.3333333333px);
}

.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;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  line-height: 1;
  white-space: nowrap;
}

.p-result__label {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.p-result__score {
  position: relative;
  width: min(33.3333333333vw, 166.6666666667px);
  height: min(12.5333333333vw, 62.6666666667px);
  color: #F00;
  font-weight: 700;
}
.p-result__score.--decimal {
  width: min(23.7333333333vw, 118.6666666667px);
}

.p-result__point {
  position: absolute;
  z-index: 1;
  top: min(1.8666666667vw, 9.3333333333px);
  left: 0;
  font-size: 2.5rem;
}
.p-result__point small {
  font-size: 1.25rem;
}
.p-result__score.--decimal .p-result__point {
  letter-spacing: -0.06em;
}

.p-result__tight {
  letter-spacing: -0.04em;
}

.p-result__arrow {
  position: absolute;
  top: 0;
  left: min(22.1333333333vw, 110.6666666667px);
  width: min(10.9333333333vw, 54.6666666667px);
}
.p-result__score.--decimal .p-result__arrow {
  left: min(12.5333333333vw, 62.6666666667px);
}

.p-result__up {
  position: absolute;
  z-index: 1;
  top: min(6.6666666667vw, 33.3333333333px);
  left: min(24.5333333333vw, 122.6666666667px);
  font-size: 1.375rem;
  letter-spacing: 0.03em;
}
.p-result__score.--decimal .p-result__up {
  top: min(6.192vw, 30.96px);
  left: min(14.9333333333vw, 74.6666666667px);
}

.p-result__school {
  padding: min(0.8vw, 4px) min(2.1333333333vw, 10.6666666667px);
  background-color: #0077ED;
  color: #FFF;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.p-result__countdown {
  position: relative;
  z-index: 1;
  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;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.p-result__countdown-date {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4285714286;
  text-align: center;
}

.p-result__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-result__countdown-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: min(25.6296vw, 128.148px);
  margin-right: max(-2.1333333333vw, -10.6666666667px);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
}
.p-result__countdown-icon img {
  grid-area: 1/1;
}
.p-result__countdown-icon span {
  position: absolute;
  top: min(12.2666666667vw, 61.3333333333px);
  left: min(12.5333333333vw, 62.6666666667px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-result__countdown-days {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: min(12.2666666667vw, 61.3333333333px);
  color: #F00;
  font-size: 3.75rem;
  font-weight: 800;
  line-height: 0.8333333333;
  letter-spacing: 0.02em;
}
.p-result__countdown-days small {
  color: #022867;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.7857142857;
}

.p-course {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  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(6.4vw, 32px);
  width: min(88.8vw, 444px);
}

.p-course__bubble {
  position: relative;
  width: min(72.8vw, 364px);
  height: min(34.9333333333vw, 174.6666666667px);
  padding: min(4.5333333333vw, 22.6666666667px) 0 0 min(4.2666666667vw, 21.3333333333px);
}

.p-course__bubble-bg {
  position: absolute;
  top: max(-4.8vw, -24px);
  left: max(-5.3333333333vw, -26.6666666667px);
  width: min(83.4666666667vw, 417.3333333333px);
  max-width: none;
}

.p-course__bubble-text {
  position: relative;
  width: min(67.8666666667vw, 339.3333333333px);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3636363636;
  text-align: center;
}

.p-course__bubble-em {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: min(0.6666666667vw, 3.3333333333px);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.75rem;
  line-height: 1.5;
  white-space: nowrap;
}
.p-course__bubble-em::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: min(7.3733333333vw, 36.8666666667px);
  left: max(-0.6666666667vw, -3.3333333333px);
  width: min(66.2666666667vw, 331.3333333333px);
  height: min(4.2666666667vw, 21.3333333333px);
  background: url(../img/course-wave.svg) no-repeat center/100% 100%;
}

.p-course__bubble-text {
  isolation: isolate;
}

.p-course__sparkle {
  position: absolute;
  top: max(-1.3333333333vw, -6.6666666667px);
  left: min(65.6vw, 328px);
  width: min(9.2vw, 46px);
  max-width: none;
}

.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(8.5333333333vw, 42.6666666667px);
}
.p-course__panel.--03 {
  width: min(90.6666666667vw, 453.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);
  width: min(92vw, 460px);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}
.p-course__panel.--03 .p-course__head {
  width: 100%;
}

.p-course__catch {
  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);
  color: #0077ED;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.p-course__catch::before, .p-course__catch::after {
  content: "";
  width: min(4vw, 20px);
  height: min(5.9466666667vw, 29.7333333333px);
  background: url(../img/slash-left.svg) no-repeat center/100% 100%;
}
.p-course__catch::after {
  background-image: url(../img/slash-right.svg);
}

.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;
  text-align: center;
  white-space: nowrap;
}

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

.p-course__tight {
  letter-spacing: -0.074em;
}

.p-course__desc {
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
  letter-spacing: 0.05em;
}

.p-course__list {
  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);
  width: min(89.3333333333vw, 446.6666666667px);
  padding-block: min(5.3333333333vw, 26.6666666667px);
  background-color: #0077ED;
}
.p-course__panel.--03 .p-course__list {
  width: 100%;
}

.p-course__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);
  width: min(82.6666666667vw, 413.3333333333px);
  padding: min(5.3333333333vw, 26.6666666667px);
  border-radius: min(5.3333333333vw, 26.6666666667px);
  background-color: #FFF;
  -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.05));
          filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.05));
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}
.p-course__item.--morning {
  width: min(88.8vw, 444px);
}
.p-course__panel.--03 .p-course__item.--morning {
  width: 100%;
}

.p-course__plus {
  position: absolute;
  top: max(-8.5333333333vw, -42.6666666667px);
  left: min(37.8666666667vw, 189.3333333333px);
  width: min(13.3333333333vw, 66.6666666667px);
}
.p-course__panel.--03 .p-course__plus {
  left: min(34.8vw, 174px);
}

.p-course__item-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 2;
  white-space: nowrap;
}

.p-course__media {
  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: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(4.2666666667vw, 21.3333333333px);
  width: 100%;
}

.p-course__img {
  width: 100%;
  height: min(45.3333333333vw, 226.6666666667px);
  -o-object-fit: cover;
     object-fit: cover;
}
.p-course__item.--morning .p-course__img {
  width: min(80vw, 400px);
}

.p-course__lead {
  width: min(51.4666666667vw, 257.3333333333px);
  color: #0077ED;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375;
}
.p-course__item.--morning .p-course__lead {
  width: min(57.3333333333vw, 286.6666666667px);
}
.p-course__panel.--03 .p-course__lead {
  width: min(55.7333333333vw, 278.6666666667px);
  line-height: 1.5;
}
.p-course__panel.--03 .p-course__item.--morning .p-course__lead {
  width: min(60vw, 300px);
}

.p-course__point {
  position: absolute;
  top: min(38.9333333333vw, 194.6666666667px);
  left: max(-1.0666666667vw, -5.3333333333px);
  display: grid;
  place-items: center;
  width: min(17.0666666667vw, 85.3333333333px);
  height: min(17.0666666667vw, 85.3333333333px);
  border-radius: 50%;
  background-color: #FDE627;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 0.7142857143;
}
.p-course__point::after {
  content: "";
  position: absolute;
  top: min(11.7333333333vw, 58.6666666667px);
  left: min(14.1333333333vw, 70.6666666667px);
  width: min(3.8666666667vw, 19.3333333333px);
  height: min(3.3333333333vw, 16.6666666667px);
  background: url(../img/point-tail.svg) no-repeat center/contain;
}
.p-course__panel.--03 .p-course__point {
  left: max(-3.3333333333vw, -16.6666666667px);
}
.p-course__panel.--03 .p-course__item.--morning .p-course__point {
  left: min(0.6666666667vw, 3.3333333333px);
}

.p-course__text {
  width: 100%;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5833333333;
  text-wrap: pretty;
}

.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;
}

.p-voice__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-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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(4.2666666667vw, 21.3333333333px);
  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));
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}
.p-voice__item.--fixed {
  height: min(70.9333333333vw, 354.6666666667px);
  padding-top: min(2.6666666667vw, 13.3333333333px);
}

.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: #0077ED;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
}

.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 {
  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-roadmap {
  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-bottom: min(10.6666666667vw, 53.3333333333px);
  background-color: #FFF;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.p-roadmap__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;
  width: 100%;
  padding-left: min(2.6666666667vw, 13.3333333333px);
}

.p-roadmap__list {
  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);
  height: min(369.8666666667vw, 1849.3333333333px);
  margin-bottom: max(-8vw, -40px);
}

.p-roadmap__sublist {
  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);
}

.p-roadmap__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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: min(82.1333333333vw, 410.6666666667px);
  padding: min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(2.6666666667vw, 13.3333333333px) min(5.3333333333vw, 26.6666666667px);
  background-color: #FFF;
}
.p-roadmap__item.--01, .p-roadmap__item.--02, .p-roadmap__item.--05 {
  padding-top: min(5.3333333333vw, 26.6666666667px);
}
.p-roadmap__item.--01 {
  height: min(56.5333333333vw, 282.6666666667px);
}
.p-roadmap__item.--05 {
  height: min(76vw, 380px);
}

.p-roadmap__month {
  position: absolute;
  top: max(-4.2666666667vw, -21.3333333333px);
  left: max(-6.1333333333vw, -30.6666666667px);
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(26.4vw, 132px);
  height: min(8.2666666667vw, 41.3333333333px);
  padding: min(1.3333333333vw, 6.6666666667px) min(2.6666666667vw, 13.3333333333px);
  background-color: #82ADDB;
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.p-roadmap__item.--02 .p-roadmap__month {
  top: max(-5.6vw, -28px);
}
.p-roadmap__item.--05 .p-roadmap__month {
  top: max(-4.1333333333vw, -20.6666666667px);
}
.p-roadmap__month.--goal {
  top: max(-4.1333333333vw, -20.6666666667px);
  left: max(-2.6666666667vw, -13.3333333333px);
}

.p-roadmap__arrow {
  position: absolute;
  left: max(-3vw, -15px);
  width: min(6vw, 30px);
  max-width: none;
}
.p-roadmap__arrow.--01 {
  top: min(3.0666666667vw, 15.3333333333px);
}
.p-roadmap__arrow.--02 {
  top: min(1.7333333333vw, 8.6666666667px);
}
.p-roadmap__arrow.--03 {
  top: min(3.2vw, 16px);
}

.p-roadmap__icon {
  position: absolute;
}
.p-roadmap__icon.--01 {
  top: min(8.8vw, 44px);
  left: min(59.0666666667vw, 295.3333333333px);
  width: min(15.4906666667vw, 77.4533333333px);
}
.p-roadmap__icon.--02 {
  top: min(8.2666666667vw, 41.3333333333px);
  left: min(59.3333333333vw, 296.6666666667px);
  width: min(15.312vw, 76.56px);
}
.p-roadmap__icon.--03 {
  top: min(7.0666666667vw, 35.3333333333px);
  left: min(60.1333333333vw, 300.6666666667px);
  width: min(14.4773333333vw, 72.3866666667px);
}
.p-roadmap__icon.--04 {
  top: min(8.2666666667vw, 41.3333333333px);
  left: min(59.6vw, 298px);
  width: min(14.9946666667vw, 74.9733333333px);
}
.p-roadmap__icon.--05 {
  top: min(11.0666666667vw, 55.3333333333px);
  left: min(60.1333333333vw, 300.6666666667px);
  width: min(14.4773333333vw, 72.3866666667px);
}

.p-roadmap__stage {
  position: relative;
  padding-bottom: calc(min(1.3333333333vw, 6.6666666667px) + 1.5px);
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)) no-repeat left bottom/100% 1.5px;
  background: linear-gradient(currentColor, currentColor) no-repeat left bottom/100% 1.5px;
  color: #36B8EC;
  font-family: "Manrope", sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: 0.03em;
}
.p-roadmap__stage.--03 {
  color: #3A9AB2;
}
.p-roadmap__stage.--04 {
  color: #4CA793;
}

.p-roadmap__title {
  position: relative;
  margin-top: min(1.6vw, 8px);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.p-roadmap__title.--large {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2916666667;
}

.p-roadmap__tight {
  letter-spacing: -0.37em;
}
.p-roadmap__tight.--wide {
  letter-spacing: -0.5em;
}

.p-roadmap__text {
  position: relative;
  width: min(73.3333333333vw, 366.6666666667px);
  margin-top: min(2.6666666667vw, 13.3333333333px);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5714285714;
  letter-spacing: 0.03em;
}

.p-roadmap__goal {
  position: relative;
  width: min(88.8vw, 444px);
  padding: min(8vw, 40px) min(5.3333333333vw, 26.6666666667px) min(4vw, 20px);
  border-radius: min(1.3333333333vw, 6.6666666667px);
  background-color: #FFF3CD;
}

.p-roadmap__goal-text {
  color: #355385;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6111111111;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.p-roadmap__student {
  position: absolute;
  top: min(6.1333333333vw, 30.6666666667px);
  left: min(60vw, 300px);
  width: min(31.2vw, 156px);
}

.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-banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(5.3333333333vw, 26.6666666667px) min(5.0666666667vw, 25.3333333333px);
  background-color: #FFF;
}

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

.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(10.6666666667vw, 53.3333333333px);
  padding-top: min(10.6666666667vw, 53.3333333333px);
  background-color: #EAF5FD;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.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(10.6666666667vw, 53.3333333333px);
}

.p-detail__subtabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(1.3333333333vw, 6.6666666667px);
  width: min(89.3333333333vw, 446.6666666667px);
  margin-top: max(-5.6vw, -28px);
  margin-bottom: max(-4.2666666667vw, -21.3333333333px);
}
.p-detail__subtabs .c-tab__button.--small {
  width: auto;
  height: min(9.9546666667vw, 49.7733333333px);
  padding-block: 0;
  line-height: 1.2;
}

.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.--purple {
  outline-color: #5C48C0;
}
.p-detail__card.--morning {
  padding-bottom: 0;
}
.p-detail__card.--after {
  width: min(89.3333333333vw, 446.6666666667px);
  margin-top: max(-4.2666666667vw, -21.3333333333px);
}

.p-detail__card-head {
  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: 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: 1.3888888889;
}

.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);
}
.p-detail__body.--first {
  padding-bottom: min(10.6666666667vw, 53.3333333333px);
}
.p-detail__body.--morning {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(10.6666666667vw, 53.3333333333px);
}

.p-detail__morning {
  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);
  width: 100%;
}

.p-detail__morning-col {
  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(4.2666666667vw, 21.3333333333px);
}

.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__time {
  margin-top: max(-2.1333333333vw, -10.6666666667px);
  font-size: 0.9375rem;
  line-height: 1.5333333333;
}

.p-detail__chip {
  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;
  white-space: nowrap;
}

.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;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(1.3333333333vw, 6.6666666667px);
  padding-top: min(5.3333333333vw, 26.6666666667px);
}
.p-detail__fee.--border {
  padding-bottom: min(5.3333333333vw, 26.6666666667px);
  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-list.--course {
  width: min(65.8666666667vw, 329.3333333333px);
}
.p-detail__fee-list.--course + .p-detail__fee-note {
  margin-top: min(1.3333333333vw, 6.6666666667px);
}

.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 + .p-detail__fee-row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-detail__fee-row.--end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.p-detail__fee-list.--course .p-detail__fee-row {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.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;
  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 {
  width: min(17.0666666667vw, 85.3333333333px);
  background-color: #022867;
  color: #FFF;
}
.p-detail__fee-label.--light {
  outline-color: #359BFF;
  background-color: #359BFF;
  color: #FFF;
}
.p-detail__fee.--wide .p-detail__fee-label:not(.--light) {
  width: min(32vw, 160px);
}
.p-detail__card.--purple .p-detail__fee.--wide .p-detail__fee-label:not(.--light) {
  width: min(32.8vw, 164px);
}

.p-detail__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-family: "Open Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.p-detail__price small {
  margin-top: min(1.8666666667vw, 9.3333333333px);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
}

.p-detail__price-sub {
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-right: min(1.3333333333vw, 6.6666666667px);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
}

.p-detail__fee-note {
  font-size: 0.75rem;
  line-height: 1.5;
  white-space: nowrap;
}

.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);
  margin-top: max(-6.4vw, -32px);
  padding-top: min(5.3333333333vw, 26.6666666667px);
}

.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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(0.8vw, 4px);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
.p-detail__discount-list small {
  font-size: 0.75rem;
}

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

.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.8125;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-detail__button img {
  width: min(7.4666666667vw, 37.3333333333px);
}

.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(4vw, 20px);
  width: min(89.3333333333vw, 446.6666666667px);
}
.p-schedule .c-title {
  padding-bottom: min(3.7333333333vw, 18.6666666667px);
  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);
  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 {
  height: min(7.9173333333vw, 39.5866666667px);
  padding: 0;
  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.7272727273;
}
.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(1.3333333333vw, 6.6666666667px) 0 min(1.0666666667vw, 5.3333333333px);
  border-right: 1px solid #E0E0E0;
  border-bottom: 1px solid #E0E0E0;
  background-color: #FFF;
  color: #444;
  font-size: 0.725rem;
  line-height: 1.2068965517;
  vertical-align: top;
}
.p-schedule__calendar td.--empty {
  background-color: #E7E7E7;
}
.p-schedule__calendar td.--none {
  background-color: transparent;
}
.p-schedule__calendar td.--sky {
  background-color: #0077ED;
  color: #FFF;
  --event: #0571D5;
}
.p-schedule__calendar td.--blue {
  background-color: #0571D5;
  color: #FFF;
  --event: #0571D5;
}
.p-schedule__calendar td.--yellow {
  background-color: #FFEBAC;
  --event: #444;
}
.p-schedule__calendar td.--orange {
  background-color: #FF630F;
  color: #FFF;
  --event: #FF630F;
}
.p-schedule__calendar td.--red {
  background-color: #B10F0F;
  color: #FFF;
  --event: #B10F0F;
}
.p-schedule__calendar td.--purple {
  background-color: #A456FD;
  color: #FFF;
  --event: #A456FD;
}
.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(4vw, 20px);
}

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

.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-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5785714286;
}

.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.--blue {
  --legend: #0571D5;
}
.p-schedule__legend-item.--yellow {
  --legend: #FFEBAC;
}
.p-schedule__legend-item.--orange {
  --legend: #FF630F;
}
.p-schedule__legend-item.--red {
  --legend: #B10F0F;
}
.p-schedule__legend-item.--purple {
  --legend: #A456FD;
}
.p-schedule__legend-item p {
  padding-bottom: 0.8px;
}
.p-schedule__legend-item.--morning {
  gap: min(1.6vw, 8px);
}
.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 {
  width: min(5.0666666667vw, 25.3333333333px);
  height: min(6.6666666667vw, 33.3333333333px);
  margin-top: 0;
  background: url(../img/icon-star.svg) no-repeat center/min(4.5333333333vw, 22.6666666667px) auto;
}

.p-fee {
  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: #EAF5FD;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.p-fee__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(2.6666666667vw, 13.3333333333px);
  width: min(90.6666666667vw, 453.3333333333px);
}

.p-fee__list.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;
  gap: min(6.4vw, 32px);
  width: 100%;
}

.p-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-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-fee__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;
  padding: min(6.4vw, 32px);
}
.p-fee__body.--narrow {
  padding-inline: 0;
}

.p-fee__row {
  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: 100%;
  padding-block: min(3.2vw, 16px);
}
.p-fee__row.--test {
  padding-block: 0;
}

.p-fee__col {
  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-fee__col.--half {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-fee__col.--general {
  width: min(27.4666666667vw, 137.3333333333px);
  padding-inline: min(1.3333333333vw, 6.6666666667px);
}
.p-fee__col.--mid {
  padding-inline: min(2.1333333333vw, 10.6666666667px);
}
.p-fee__col.--student {
  width: min(22.6666666667vw, 113.3333333333px);
}
.p-fee__row > .p-fee__col.--general, .p-fee__row > .p-fee__col.--mid {
  border-right: 1px solid #E5E5E5;
}

.p-fee__divider {
  width: 1px;
  height: min(14.9333333333vw, 74.6666666667px);
  background-color: #E5E5E5;
}

.p-fee__group {
  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-fee__group:first-child {
  padding-right: min(2.6666666667vw, 13.3333333333px);
  border-right: 1px solid #E5E5E5;
}
.p-fee__group + .p-fee__group {
  padding-left: min(2.6666666667vw, 13.3333333333px);
}

.p-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;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  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;
  font-weight: 400;
  line-height: 1.3571428571;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-fee__label.--fill {
  width: min(17.0666666667vw, 85.3333333333px);
  background-color: #022867;
  color: #FFF;
}
.p-fee__label.--light {
  outline: 0;
  background-color: #359BFF;
  color: #FFF;
}
.p-fee__label.--gray {
  outline: 0;
  background-color: #586877;
  color: #FFF;
}

.p-fee__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-family: "Open Sans", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3571428571;
  white-space: nowrap;
}
.p-fee__price small {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
}
.p-fee__price.--jp {
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.p-fee__lines {
  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-fee__line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(6.4vw, 32px);
}
.p-fee__lines .p-fee__line:first-child {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-fee__lines .p-fee__line .p-fee__label:not(.--light) {
  width: min(32.8vw, 164px);
}
.p-fee__lines .p-fee__line .p-fee__price {
  display: grid;
  grid-template-columns: min(23.7333333333vw, 118.6666666667px) auto;
  line-height: 1;
}
.p-fee__lines .p-fee__line .p-fee__price small {
  margin-top: min(1.8666666667vw, 9.3333333333px);
}

.p-fee__course {
  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);
  width: min(72.5333333333vw, 362.6666666667px);
}
.p-fee__course .p-fee__line.--between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-fee__course .p-fee__line.--end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.p-fee__course .p-fee__price {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  line-height: 1;
}
.p-fee__course .p-fee__price small {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin-top: min(1.8666666667vw, 9.3333333333px);
}

.p-fee__price-sub {
  margin-right: min(1.3333333333vw, 6.6666666667px);
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
}

.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.7777777778;
  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.4285714286;
  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.7857142857;
  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 {
  margin-top: max(-1.0666666667vw, -5.3333333333px);
  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;
  width: min(89.3333333333vw, 446.6666666667px);
  padding: min(5.8666666667vw, 29.3333333333px) min(4vw, 20px);
  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.8125;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-apply__note p {
  margin-top: min(2.6666666667vw, 13.3333333333px);
}
.p-apply__note strong {
  display: block;
  margin-bottom: min(1.0666666667vw, 5.3333333333px);
  font-weight: 700;
}

.p-apply__note-title {
  height: min(8vw, 40px);
  padding-bottom: calc(min(2.6666666667vw, 13.3333333333px) - 1px);
  border-bottom: 1px solid #022867;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
}

.p-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(8.5333333333vw, 42.6666666667px);
  padding: min(10.6666666667vw, 53.3333333333px) min(2.6666666667vw, 13.3333333333px) min(5.3333333333vw, 26.6666666667px);
  background-color: #EAF5FD;
  color: #022867;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.p-support__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(1.3333333333vw, 6.6666666667px);
  width: min(92vw, 460px);
}

.p-support__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);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.p-support__title .p-course__title-box {
  padding: min(0.8vw, 4px) min(2.6666666667vw, 13.3333333333px);
}

.p-support__title-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(1.3333333333vw, 6.6666666667px);
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.p-support__title-logo img {
  width: min(30.1333333333vw, 150.6666666667px);
}

.p-support__desc {
  width: min(88.8vw, 444px);
  margin-top: min(5.0666666667vw, 25.3333333333px);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8125;
  letter-spacing: 0.05em;
  text-wrap: pretty;
}

.p-support__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(89.3333333333vw, 446.6666666667px);
  margin-top: min(2.1333333333vw, 10.6666666667px);
}

.p-support__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(2.6666666667vw, 13.3333333333px);
  height: min(92.5333333333vw, 462.6666666667px);
  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-support__item.--02 {
  height: min(94.6666666667vw, 473.3333333333px);
}

.p-support__img {
  width: 100%;
  height: min(44vw, 220px);
  border-radius: min(2.4vw, 12px) min(2.4vw, 12px) 0 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-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;
  gap: min(2.6666666667vw, 13.3333333333px);
  width: min(72vw, 360px);
}

.p-support__heading {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6666666667;
  white-space: nowrap;
}
.p-support__item.--02 .p-support__heading {
  line-height: 1.4166666667;
}

.p-support__text {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6666666667;
  text-wrap: pretty;
}
.p-support__text mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.79375rem, transparent), color-stop(0.79375rem, #FDE627));
  background: linear-gradient(transparent 0.79375rem, #FDE627 0.79375rem);
  color: inherit;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;
}

.p-support__banner {
  display: block;
  width: min(89.8666666667vw, 449.3333333333px);
  height: min(24vw, 120px);
  overflow: hidden;
}
.p-support__banner img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.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;
}

.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 */