@charset "UTF-8";
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (min-width: 375px) {
  html {
    font-size: 100%;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.5533980583vw;
  }
}
@media (min-width: 1030px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  letter-spacing: 0;
}

@media (hover: hover) {
  a:hover,
  button:hover {
    cursor: pointer;
  }
}
/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
ul,
li,
summary {
  margin: 0;
}

summary {
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol,
summary {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

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

.l-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 34.375rem;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1030px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.c-course-swiper {
  background-color: #edf0f5;
  padding: 2rem 3.5rem 2.25rem;
  border-radius: 8px;
  height: auto;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper {
    padding: 0rem 0rem 2.25rem;
    max-height: 3.125rem;
    overflow: hidden;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
  }
}

@media screen and (max-width: 767.98px) {
  .c-course-swiper.is-active {
    max-height: 187.5rem;
    margin-bottom: 1.5625rem;
  }
}

.c-course-swiper__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  padding-bottom: 2.5rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__content {
    padding-bottom: 1rem;
    gap: 0rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c-course-swiper__content::before {
  content: "";
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.0625rem;
  background-color: #dddddd;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__content::before {
    bottom: 0;
    width: calc(100% - 2rem);
  }
}

.c-course-swiper__content2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-course-swiper__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__flex {
    display: block;
  }
}

.c-course-swiper__head {
  margin-top: 1rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__head {
    margin-top: 0;
    display: contents;
  }
}

.c-course-swiper__head-title {
  text-align: center;
  max-width: 17.75rem;
  width: 100%;
  background-color: #163a6e;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__head-title {
    max-width: none;
    max-width: initial;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    text-align: left;
    padding-left: 1.125rem;
    line-height: 2.3888888889;
    cursor: pointer;
    position: relative;
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 767.98px) {
  .c-course-swiper__head-title::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.125rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.0625rem;
    height: 1rem;
    background-color: #ffffff;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
}

@media screen and (max-width: 767.98px) {
  .c-course-swiper__head-title::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.6875rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1rem;
    height: 0.0625rem;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    background-color: #ffffff;
  }
}

.c-course-swiper__head-title.is-active::before {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  opacity: 1;
}

.c-course-swiper__head-title.is-active::after {
  opacity: 1;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.c-course-swiper__head-text {
  margin-top: 1rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__head-text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    font-size: 0.875rem;
    margin-top: 1.1875rem;
    padding-inline: 1rem;
  }
}

.c-course-swiper__body {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__body {
    margin-top: 0.75rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-inline: 1rem;
  }
}

.c-course-swiper__body-head-title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__body-head-title {
    font-size: 0.875rem;
    margin-bottom: 0;
  }
}

.c-course-swiper__body-head-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
  gap: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__body-head-text {
    margin-top: 0.3125rem;
    font-size: 0.875rem;
    display: -webkit-box;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    line-height: 1.5;
  }
}

.c-course-swiper__body-head-text:first-child {
  margin-top: 0.375rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__body-head-text:first-child {
    margin-top: 0.25rem;
  }
}

.c-course-swiper__body-head-text::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background: -webkit-gradient(linear, left top, right top, from(#fddb95), to(#ffa513));
  background: linear-gradient(90deg, #fddb95 0%, #ffa513 100%);
  border-radius: 50%;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__body-head-text::before {
    -webkit-transform: translateY(0.1875rem);
            transform: translateY(0.1875rem);
  }
}

.c-course-swiper__body-head-text span {
  color: #c70000;
}

.c-course-swiper__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  max-width: 25rem;
  border-radius: 4px;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    max-width: none;
    max-width: initial;
    margin-top: 1.0625rem;
    padding-inline: 1.375rem;
  }
}

.c-course-swiper__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 400/268;
  border-radius: 4px;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__img img {
    aspect-ratio: 290/155;
  }
}

@media screen and (max-width: 767.98px) {
  .c-course-swiper__box {
    display: contents;
  }
}

.c-course-swiper__box2 {
  background-color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 8px;
  padding: 2.5rem 1.5rem 1.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__box2 {
    padding: 1.25rem 0.5625rem 1.25rem;
    margin-inline: 1rem;
    margin-top: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.c-course-item.c-course-item--2 {
  margin-top: 0rem;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  padding: 2.5rem 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item.c-course-item--2 {
    padding: 1.5rem 0.875rem 1.25rem;
  }
}

.c-course-item.c-course-item--2::before {
  content: "";
  position: absolute;
  top: -1.75rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 0.0625rem;
  background-color: #dddddd;
}
@media screen and (max-width: 767.98px) {
  .c-course-item.c-course-item--2::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.c-course-item__box {
  width: 100%;
  max-width: 29.75rem;
}
.c-course-item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5625rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head {
    gap: 0.25rem;
  }
}

.c-course-item__head-price {
  margin-top: 1.3125rem;
  width: 5.5625rem;
  height: 5.5625rem;
  background-color: #163a6e;
  border-radius: 50%;
  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;
  color: #fff;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-price {
    font-size: 1rem;
    width: 4.4375rem;
    height: 4.4375rem;
  }
}

.c-course-item__head-box {
  max-width: 16.4375rem;
  width: 100%;
  position: relative;
  z-index: 1;
  text-align: center;
}
.c-course-item__head-box::before {
  content: "";
  position: absolute;
  top: 1.4375rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 8.8125rem;
  height: 8.125rem;
  z-index: -1;
  background: url(../images/course/under-arrow.webp) no-repeat center/cover;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-box::before {
    width: 7rem;
    height: 6.4375rem;
  }
}

.c-course-item__head-text {
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-text {
    font-size: 0.875rem;
  }
}

.c-course-item__head-text-price {
  font-weight: 700;
  font-size: 1.4375rem;
  line-height: 1.6;
  letter-spacing: 0;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-text-price {
    font-size: 1.125rem;
  }
}

.c-course-item__head-text-price2 {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.6;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-text-price2 {
    font-size: 0.625rem;
  }
}

.c-course-item__head-title {
  margin-top: 0.125rem;
  background-color: #ee5c13;
  color: #fff;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  min-width: 8.75rem;
  border-radius: 4px;
  display: inline-block;
  border-radius: 20px;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-title {
    line-height: 1.5833333333;
    font-size: 0.75rem;
    min-width: 7rem;
  }
}

.c-course-item__head-text2 {
  white-space: nowrap;
  margin-left: 0.1875rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-text2 {
    margin-top: 0.25rem;
    font-size: 1.625rem;
  }
}

.c-course-item__head-text2-number {
  display: inline-block;
  width: 12.0625rem;
  position: relative;
  left: 0rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-text2-number {
    width: 9.5rem;
  }
}

.c-course-item__head-text2-number img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 193/52;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__head-text2-number img {
    aspect-ratio: 152/36;
  }
}

.c-course-item__body {
  margin-top: 1rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body {
    margin-top: 1.875rem;
  }
}

.c-course-item__body-text {
  font-weight: 700;
  font-size: 1.4375rem;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text {
    font-size: 0.875rem;
  }
}

.c-course-item__body-text-price {
  font-weight: 600;
  font-size: 2.375rem;
  line-height: 1.4;
  letter-spacing: -0.04em;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text-price {
    font-size: 1.5rem;
  }
}

.c-course-item__body-box {
  border: 0.1875rem solid #163a6e;
  width: 100%;
  max-width: 29.75rem;
  border-radius: 8px;
  padding: 0.8125rem 1.4375rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-box {
    padding: 0.375rem 0.625rem 0.625rem;
    border: 2px solid #163a6e;
    max-width: 17.1875rem;
    margin-inline: auto;
  }
}

.c-course-item__body-text2 {
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1;
  letter-spacing: 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #c70000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-left: 0.75rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text2 {
    font-size: 0.9375rem;
  }
}

.c-course-item__body-text2-span {
  width: 5.125rem;
  line-height: 1.4230769231;
  font-weight: 700;
  font-size: 1.625rem;
  display: inline-block;
  letter-spacing: 0.01em;
  color: #fff;
  background: url(../images/course/cash-bg.webp) no-repeat center/cover;
  padding-left: 0.5rem;
  -webkit-transform: translateY(-0.625rem);
          transform: translateY(-0.625rem);
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text2-span {
    line-height: 1.5333333333;
    font-size: 0.9375rem;
    background: url(../images/course/cash-bg_sp.webp) no-repeat center/cover;
    width: 3rem;
    padding-left: 0.375rem;
    -webkit-transform: translateY(-0.3125rem);
            transform: translateY(-0.3125rem);
  }
}

.c-course-item__body-text3 {
  margin-left: 0.75rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-top: 1rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text3 {
    margin-top: 0.625rem;
    margin-left: 0;
    font-size: 0.625rem;
  }
}

.c-course-item__body-text3::before {
  content: "";
  display: block;
  width: 26.875rem;
  height: 0.0625rem;
  background-color: #dddddd;
  position: absolute;
  top: -0.5rem;
  left: -1.3125rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text3::before {
    top: -0.25rem;
    left: 50%;
    width: 26.875rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 15.75rem;
  }
}

.c-course-item__body-text2-price {
  font-weight: 700;
  font-size: 3.5625rem;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #c70000;
  margin-left: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__body-text2-price {
    font-size: 2rem;
    margin-right: 0.25rem;
  }
}

.c-course-item__period {
  position: relative;
  width: 100%;
  max-width: 18.5rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period {
    margin-top: 0rem;
  }
}

.c-course-item__period::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.0625rem;
  height: 21.875rem;
  background-color: #dddddd;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period::before {
    display: none;
  }
}

.c-course-item__period-head-title {
  padding-left: 0.25rem;
  color: #163a6e;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #163a6e;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period-head-title {
    padding-left: 0.625rem;
  }
}

.c-course-item__period-body {
  margin-top: 0.3125rem;
}
.c-course-item__period-body-text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.25rem;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period-body-text {
    font-size: 0.875rem;
    margin-top: 0.25rem;
  }
}

.c-course-item__period-body-text::before {
  content: "";
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  background-color: #c70000;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period-body-text::before {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
}

.c-course-item__period-body-text2 {
  margin-top: 0.5rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.c-course-item__period-body-caution {
  margin-top: 0.75rem;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period-body-caution {
    margin-top: 0.3125rem;
  }
}

.c-course-item__period-body-img {
  width: 9.375rem;
  margin-top: 2rem;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__period-body-img {
    display: none;
  }
}

.c-course-item__period-body-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 150/106;
}

.c-course-item__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.375rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-item__flex {
    gap: 1.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c-course-item__flex .c-course-item__period {
  width: 100%;
  max-width: none;
  max-width: initial;
  margin-top: 0;
}

.c-course-item__flex .c-course-item__period::before {
  display: none;
}

.c-course-item__learn {
  background-color: #edf0f5;
  padding: 1rem;
}
.c-course-item__learn-head-title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.3888888889;
  letter-spacing: 0.04em;
  color: #163a6e;
}
.c-course-item__learn-body {
  margin-top: 0.25rem;
}
.c-course-item__learn-body-text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.c-course-item__learn-body-text2 {
  margin-top: 0.5rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.c-course-swiper__nav {
  position: relative;
  margin-top: 1rem;
  z-index: 1;
  width: 20.875rem;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767.98px) {
  .c-course-swiper__nav {
    display: none;
  }
}

.c-course-swiper__nav-text {
  font-weight: 700;
  font-size: 1.1875rem;
  line-height: 2;
  letter-spacing: 0.04em;
}
.c-course-swiper__nav-prev.swiper-button-prev {
  position: relative;
  -webkit-transform: none;
          transform: none;
  top: auto;
  top: initial;
  left: auto;
  left: initial;
  width: 3.1875rem;
  height: 3.1875rem;
  margin: 0;
  margin-left: 0.8125rem;
}
.c-course-swiper__nav-prev.swiper-button-prev::before,
.c-course-swiper__nav-next.swiper-button-next::before {
  content: "";
  display: block;
  width: 3.1875rem;
  height: 3.1875rem;
  background: url(../images/course/swiper-left.webp) no-repeat center/cover;
}

.c-course-swiper__nav-next.swiper-button-next::before {
  background: url(../images/course/swiper-right.webp) no-repeat center/cover;
}

.c-course-swiper__nav-next.swiper-button-next {
  position: relative;
  -webkit-transform: none;
          transform: none;
  top: auto;
  top: initial;
  right: auto;
  right: initial;
  width: 3.1875rem;
  height: 3.1875rem;
  margin: 0;
  margin-left: 0.0625rem;
}
.c-fixed-btn {
  position: fixed;
  right: 0;
  bottom: 10%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -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;
  text-align: center;
  width: 5.625rem;
  height: 21.75rem;
  background: -webkit-gradient(linear, left top, right top, from(#ee1c20), to(#f44e50));
  background: linear-gradient(to right, #ee1c20 0%, #f44e50 100%);
  -webkit-box-shadow: 0px 0.375rem 0px #820000;
          box-shadow: 0px 0.375rem 0px #820000;
  border-radius: 0.8125rem 0 0 0.875rem;
  padding: 0.9375rem 0.25rem 0.9375rem 0.5rem;
  z-index: 1;
}
.c-fixed-btn:before {
  display: block;
  content: "";
  width: 3.125rem;
  height: 3.125rem;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.c-fixed-btn:after {
  display: block;
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  left: calc(50% - 0.125rem);
  bottom: 2.25rem;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
}
.c-fixed-btn.is-fixed {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.c-fixed-btn span {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #333;
  background: #fff;
  border-radius: 50vh;
}

.c-fixed-btn p {
  margin-top: 0.5rem;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: start;
  -webkit-transform: translateX(calc(50% + 0.5rem));
          transform: translateX(calc(50% + 0.5rem));
  color: #fff;
  width: 1.5rem;
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl; /* Chrome、Safari用 */
  -moz-writing-mode: vertical-rl; /* Firefox用 */
}

@media (hover: hover) {
  .c-fixed-btn:hover {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-box-shadow: 0px 0.5rem 0px #820000;
            box-shadow: 0px 0.5rem 0px #820000;
    background: -webkit-gradient(linear, left top, right top, from(#f84848), to(#ff665c));
    background: linear-gradient(to right, #f84848 0%, #ff665c 100%);
  }
}
.c-fixed-btns {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.c-fixed-btns.is-fixed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.c-fixed-btn2 {
  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;
  text-align: center;
  width: 50%;
  height: 3.125rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  opacity: 0.95;
}

.c-fixed-btn2--dl {
  background: -webkit-gradient(linear, left top, left bottom, from(#14b93c), to(#00691a));
  background: linear-gradient(to bottom, #14b93c 0%, #00691a 100%);
  font-size: 0.875rem;
  letter-spacing: 0;
  gap: 0.75rem;
}
.c-fixed-btn2--dl:before {
  display: block;
  content: "";
  width: 0.75rem;
  aspect-ratio: 15.5/19.97;
  background: url(../images/common/dl-icon.svg) center top/cover no-repeat;
  margin-top: 0.1875rem;
}

.c-fixed-btn2--session {
  font-size: 0.8125rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#fe8032), to(#eb3511));
  background: linear-gradient(to bottom, #fe8032 0%, #eb3511 100%);
  letter-spacing: 0.04em;
  line-height: 1.4;
  position: relative;
}
.c-fixed-btn2--session:after {
  display: block;
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  right: 1.125rem;
  top: 50%;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
}

.c-scroll-hint-wrap {
  position: relative;
}

.c-scroll-hint {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 6.25rem;
  height: 4.9375rem;
  z-index: 1;
}

.c-scroll-hint img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-section-title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-section-sub-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #0078a1;
  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;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767.98px) {
  .c-section-sub-title {
    font-size: 0.875rem;
    margin-bottom: 0.625rem;
  }
}
.c-section-sub-title:before {
  display: block;
  content: "";
  width: 0.1875rem;
  height: 3.125rem;
  background-color: #0078a1;
  -webkit-transform: skewX(-28deg);
          transform: skewX(-28deg);
  margin-right: 1.625rem;
}
@media screen and (max-width: 767.98px) {
  .c-section-sub-title:before {
    width: 0.125rem;
    height: 2.5rem;
    margin-right: 0.9375rem;
  }
}
.c-section-sub-title:after {
  display: block;
  content: "";
  width: 0.1875rem;
  height: 3.125rem;
  background-color: #0078a1;
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
  margin-left: 1.0625rem;
}
@media screen and (max-width: 767.98px) {
  .c-section-sub-title:after {
    width: 0.125rem;
    height: 2.5rem;
    margin-left: 0.25rem;
  }
}

.c-section-title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: #163a6e;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .c-section-title {
    font-size: 1.5rem;
  }
}

.c-text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .c-text {
    font-size: 0.875rem;
  }
}

.p-about {
  background: url(../images/about/bg.webp) center top/cover no-repeat;
  padding-top: 11.375rem;
  padding-bottom: 7.5rem;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-about {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }
}

.p-about__sub-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-about__sub-title {
    font-size: 1.125rem;
  }
}

.p-about__title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #ffe449;
}
@media screen and (max-width: 767.98px) {
  .p-about__title {
    font-size: 1.5rem;
    margin-top: 0.6875rem;
    letter-spacing: 0;
  }
}

.p-about__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-about__items {
    display: grid;
    grid-template-columns: repeat(2, 8.125rem);
    gap: 2rem 3.25rem;
    margin-top: 2rem;
  }
}

.p-about__item {
  width: 25%;
  display: grid;
  place-content: center;
  place-items: center;
}
@media screen and (max-width: 767.98px) {
  .p-about__item {
    width: 8.125rem;
  }
}

.p-about__item-img {
  width: 100%;
  max-width: 9.75rem;
  aspect-ratio: 1/1;
}
@media screen and (max-width: 767.98px) {
  .p-about__item-img {
    width: 8.125rem;
    max-width: none;
    max-width: initial;
  }
}

.p-about__item-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-about__item-title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
  margin-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-about__item-title {
    margin-top: 1rem;
    font-size: 1.125rem;
    letter-spacing: 0;
  }
}

.p-bottom-cta__bg {
  padding-top: 12.5rem;
  height: 27.8125rem;
  background: url(../images/bottom-cta/bg.webp) no-repeat bottom center/cover;
  margin-top: -3.5625rem;
}
@media screen and (max-width: 767.98px) {
  .p-bottom-cta__bg {
    padding-top: 1.5rem;
    padding-bottom: 5rem;
    background: url(../images/bottom-cta/bg-sp.webp) no-repeat top center/cover;
    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;
    margin-top: 0;
    margin-top: initial;
    height: auto;
    height: initial;
  }
}

.p-bottom-cta__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.6;
  color: #163a6e;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-bottom-cta__title {
    font-size: 1.125rem;
    line-height: 1.7;
  }
}

.p-commitment__inner {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

.p-commitment__top-contents {
  padding-top: 5rem;
  padding-bottom: 15.5rem;
  background-color: #f7fbff;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__top-contents {
    padding-top: 3.5rem;
    padding-bottom: 2rem;
  }
}

.p-commitment__lead {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__lead {
    margin-top: 1.5rem;
    font-size: 0.875rem;
    font-weight: 500;
  }
}

.p-commitment__title {
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #333;
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__title {
    font-size: 1.25rem;
  }
}

.p-commitment__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__items {
    -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;
    margin-top: 0.5rem;
  }
}

.p-commitment__item {
  width: calc(50% - 0.5rem);
  background-color: #edf0f5;
  padding-bottom: 1.5rem;
  -webkit-box-shadow: 0px 0.25rem 0.25rem rgba(0, 0, 0, .08);
          box-shadow: 0px 0.25rem 0.25rem rgba(0, 0, 0, .08);
}
@media screen and (max-width: 767.98px) {
  .p-commitment__item {
    width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .p-commitment__item {
    padding-bottom: 1.3125rem;
  }
}

.p-commitment__heading {
  border-radius: 0.25rem 0.25rem 0 0;
  width: 100%;
  height: 3.5rem;
  display: grid;
  place-items: center;
  text-align: center;
  background-color: #163a6e;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__heading {
    font-size: 1.5rem;
    height: 3rem;
  }
}

.p-commitment__graph-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.875rem;
  margin-top: 1.75rem;
  padding-left: 2.25rem;
  height: 8.125rem;
}
@media screen and (max-width: 500px) {
  .p-commitment__graph-wrap {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-left: 0;
    padding-left: initial;
    padding: 0 0.75rem;
    gap: 1.5rem;
    margin-top: 0.875rem;
    height: auto;
    height: initial;
  }
}

.p-commitment__graph-wrap2 {
  margin-top: 1.5625rem;
  padding: 0 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: relative;
  height: 8.125rem;
}
@media screen and (max-width: 500px) {
  .p-commitment__graph-wrap2 {
    height: auto;
    height: initial;
    padding: 0 0.75rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 0.75rem;
  }
}

.p-commitment__graph01 {
  width: 8.4375rem;
  aspect-ratio: 135/130;
}
@media screen and (max-width: 500px) {
  .p-commitment__graph01 {
    width: 6.875rem;
  }
}

.p-commitment__graph01 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-commitment__graph02 {
  width: 5.6875rem;
  aspect-ratio: 91/101;
  position: absolute;
  z-index: 1;
  top: 0.25rem;
  left: 50%;
  -webkit-transform: translateX(-13.25rem);
          transform: translateX(-13.25rem);
}
@media screen and (max-width: 500px) {
  .p-commitment__graph02 {
    -webkit-transform: initial;
            transform: initial;
    position: static;
    position: initial;
    -webkit-transform: translateX(0.375rem);
            transform: translateX(0.375rem);
  }
}

.p-commitment__graph02 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 500px) {
  .p-commitment__item-body {
    margin-top: -0.375rem;
  }
}

.p-commitment__item-text--small {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: #333;
}
@media screen and (max-width: 500px) {
  .p-commitment__item-text--small {
    display: inline-block;
    font-size: 0.75rem;
  }
}

.p-commitment__item-text--small2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: #333;
  margin-left: 2.875rem;
}
@media screen and (max-width: 500px) {
  .p-commitment__item-text--small2 {
    font-size: 0.75rem;
    margin-left: 0.625rem;
    display: inline-block;
    margin-top: 0.875rem;
  }
}

.p-commitment__text--top {
  margin-top: 0.25rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  background-color: #fff;
  padding: 0 0.9375rem 0.625rem 0.9375rem;
  border-radius: 0.25rem;
  position: relative;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top {
    margin-top: 0;
    margin-top: initial;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
    padding: 0 0.875rem 0.625rem 0.875rem;
    white-space: nowrap;
  }
}
.p-commitment__text--top :after {
  display: block;
  content: "";
  width: 5.5625rem;
  height: auto;
  aspect-ratio: 89/51;
  background: url(../images/commitment/icon01.svg) center top/cover no-repeat;
  position: absolute;
  right: -2.625rem;
  bottom: -2.125rem;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top :after {
    width: 38%;
    bottom: auto;
    bottom: initial;
    top: 0.375rem;
    right: -0.3125rem;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

.p-commitment__text--top span {
  color: #c70000;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top span {
    font-size: 1.125rem;
  }
}

.p-commitment__text--top strong {
  font-size: 2.5625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  color: #c70000;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top strong {
    font-size: 1.5rem;
  }
}

.p-commitment__text--top2 {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1;
  background-color: #fff;
  padding: 0 1.5rem 0.5625rem 3.1875rem;
  border-radius: 0.25rem;
  position: relative;
  margin-top: 0.3125rem;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top2 {
    font-size: 0.875rem;
    padding: 0 0.5rem 0.5rem 0.875rem;
    margin-top: 0.125rem;
    display: block;
  }
}
.p-commitment__text--top2 :after {
  display: block;
  content: "";
  width: 5.1875rem;
  aspect-ratio: 1/1;
  background: url(../images/commitment/icon02.webp) center top/cover no-repeat;
  position: absolute;
  right: -0.6875rem;
  top: -3.875rem;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top2 :after {
    width: 20%;
    top: 0.625rem;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    right: 0;
  }
}

.p-commitment__text--top2 span {
  color: #c70000;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top2 span {
    font-size: 1.125rem;
  }
}

.p-commitment__text--top2 strong {
  font-size: 2.5625rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  color: #c70000;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--top2 strong {
    font-size: 1.5rem;
  }
}

.p-commitment__type {
  display: grid;
  place-items: center;
  width: 21.875rem;
  height: 2rem;
  text-align: center;
  font-size: 1.4375rem;
  font-weight: 700;
  color: #fff;
  background: #179dd2;
  margin-inline: auto;
  margin-top: 0.75rem;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__type {
    height: 1.875rem;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 500px) {
  .p-commitment__type {
    width: calc(100% - 3.125rem);
    margin-top: 0;
  }
}

.p-commitment__text--bottom {
  width: 27.125rem;
  height: 10.25rem;
  padding: 2.875rem 2.25rem;
  background-color: #fff;
  border-radius: 0.25rem;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #163a6e;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--bottom {
    width: calc(100% - 1.5rem);
    font-size: 1.125rem;
    padding: 1.5rem 0.75rem 1.3125rem 0.75rem;
    height: auto;
    height: initial;
  }
}
.p-commitment__text--bottom:after {
  display: block;
  content: "";
  width: 9.75rem;
  height: auto;
  aspect-ratio: 156/136;
  background: url(../images/commitment/human-icon01.webp) center top/cover no-repeat;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--bottom:after {
    width: 35%;
    right: 0.875rem;
  }
}

.p-commitment__text--bottom--02:after {
  background: url(../images/commitment/human-icon02.webp) center top/cover no-repeat;
}
@media screen and (max-width: 500px) {
  .p-commitment__text--bottom--02:after {
    right: 0;
  }
}

.p-commitment__comment {
  margin-top: 0.75rem;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.p-commitment__bottom-contents {
  background: url(../images/commitment/bottom-bg.webp) center top/cover no-repeat;
  height: 22.4375rem;
  width: 100%;
}
@media screen and (max-width: 1160px) {
  .p-commitment__bottom-contents {
    padding: 0 1.8125rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-commitment__bottom-contents {
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
    height: auto;
    height: initial;
    background-color: #f7fbff;
    padding: 0;
  }
}

.p-commitment__bottom-wrap {
  -webkit-transform: translateY(-13.375rem);
          transform: translateY(-13.375rem);
  background-color: #fff;
  width: 100%;
  max-width: 69rem;
  margin-inline: auto;
  outline: 0.125rem solid #83a6d9;
  outline-offset: -0.375rem;
  -webkit-box-shadow: 0 0 0 0.25rem #83a6d9;
          box-shadow: 0 0 0 0.25rem #83a6d9;
  padding: 2.625rem 2.9375rem 2rem 2.9375rem;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__bottom-wrap {
    outline: medium none invert;
    outline: initial;
    outline-offset: initial;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-box-shadow: initial;
            box-shadow: initial;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    padding: 0;
    background-color: transparent;
    background-color: initial;
  }
}

.p-commitment__message-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__message-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.p-commitment__message {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #163a6e;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__message {
    font-size: 1rem;
    margin-top: 0.8125rem;
  }
}

.p-commitment__message-highlight {
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__message-highlight {
    z-index: 1;
  }
}

.p-commitment__message-highlight::after {
  content: "";
  position: absolute;
  bottom: 0.25rem;
  left: 0;
  width: 100%;
  height: 0.5rem;
  background-color: #ffdd00;
  z-index: -1;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__message-highlight::after {
    height: 0.375rem;
    bottom: 0.125rem;
  }
}

.p-commitment__message-strong {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__message-strong {
    font-size: 1rem;
  }
}

.p-commitment__message-count {
  font-size: 2.1875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__message-count {
    font-size: 1rem;
  }
}

.p-commitment__map-img {
  width: 12.9375rem;
  aspect-ratio: 207/136;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__map-img {
    width: 100%;
    max-width: 12.9375rem;
    margin-inline: auto;
  }
}

.p-commitment__map-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 767.98px) {
  .p-commitment__school-wrap {
    overflow: scroll;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    background-color: #1d4175;
    margin-top: 1rem;
    padding: 2.5rem 0 2.5rem 1.25rem;
  }
}

.p-commitment__school-items {
  margin-top: 0.3125rem;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.5rem 1.1875rem;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__school-items {
    padding: 0 1.25rem 1.25rem 0;
    grid-template-columns: repeat(11, 1fr);
    margin-top: 0;
    margin-top: initial;
    overflow: auto;
    gap: 0.5rem;
  }
}

.p-commitment__school-item {
  height: 2.375rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #163a6e;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 767.98px) {
  .p-commitment__school-item {
    width: 9.1875rem;
    border-bottom: 0;
    border-bottom: initial;
    background-color: #fff;
    padding-left: 0.5rem;
    border-radius: 0.25rem;
  }
}

.p-commitment__school-item a {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.p-commitment__school-item a:after {
  display: block;
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-right: 1px solid #163a6e;
  border-bottom: 1px solid #163a6e;
  position: absolute;
  right: 0.5rem;
  top: 50%;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
  -webkit-transition: right 0.3s ease;
  transition: right 0.3s ease;
}

@media (hover: hover) {
  .p-commitment__school-item a:hover {
    opacity: 0.7;
  }
  .p-commitment__school-item a:hover::after {
    right: 0.3125rem;
    opacity: 0.7;
  }
}
.p-commitment__bottom-spacer {
  height: 2.5rem;
  background-color: #1d4175;
}

.p-course {
  background-color: #f7fbff;
  margin-top: 5.125rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .p-course {
    margin-top: 3.5rem;
    padding-bottom: 5rem;
  }
}

.p-course__head {
  border-radius: 4px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(-12.04%, #0163a5), to(#191b7c));
  background: linear-gradient(180deg, #0163a5 -12.04%, #191b7c 100%);
  text-align: center;
}
.p-course__title {
  font-weight: 700;
  color: #fff;
  font-size: 2rem;
  line-height: 1.5625;
}
@media screen and (max-width: 767.98px) {
  .p-course__title {
    font-size: 1.5rem;
    line-height: 1.6666666667;
  }
}

.p-course__logo {
  margin-top: 2rem;
  max-width: 9.5rem;
  width: 100%;
  margin-left: 3.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-course__logo {
    margin-inline: auto;
    margin-top: 1rem;
  }
}

.p-course__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 152/58;
}

.p-course__body {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-course__body {
    margin-top: 2rem;
  }
}

.p-course__body-swiper {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-course__body-swiper {
    display: block;
  }
}

@media screen and (max-width: 767.98px) {
  .p-course__body-swiper .swiper-wrapper {
    display: block;
  }
}

.p-course__body-text {
  margin-top: 1.5rem;
  text-align: center;
  position: relative;
  background-color: #f7fbff;
  z-index: 1;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  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: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-course__body-text {
    margin-top: 3.5rem;
  }
}

.p-course__body-text p {
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.75rem;
  color: #3270ae;
}
@media screen and (max-width: 767.98px) {
  .p-course__body-text p {
    font-size: 1.25rem;
  }
}

.p-course__body-text::before {
  content: "";
  display: block;
  border: 1px solid #3270ae;
  width: 0.75rem;
  height: 4.875rem;
  border: 2px solid #3270ae;
  border-right: none;
}
@media screen and (max-width: 767.98px) {
  .p-course__body-text::before {
    height: 8.5rem;
  }
}

.p-course__body-text::after {
  content: "";
  display: block;
  border: 1px solid #3270ae;
  width: 0.75rem;
  height: 4.875rem;
  border: 2px solid #3270ae;
  border-left: none;
}
@media screen and (max-width: 767.98px) {
  .p-course__body-text::after {
    height: 8.5rem;
  }
}

.p-faq {
  padding-top: 5rem;
  background-color: #f7fbff;
}
@media screen and (max-width: 767.98px) {
  .p-faq {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

.p-faq__accordion {
  width: 100%;
  margin-top: 3.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .p-faq__accordion {
    margin-top: 1.5rem;
  }
}

.p-faq__accordion-list {
  width: 100%;
}

.p-faq__accordion-title {
  width: 100%;
  background-color: #163a6e;
  color: #fff;
  padding: 0.75rem 2rem 0.75rem 1rem;
  cursor: pointer;
  position: relative;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  border-radius: 0.3125rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767.98px) {
  .p-faq__accordion-title {
    padding: 0.5rem 2.5rem 0.5rem 1rem;
    font-size: 0.9375rem;
  }
}
.p-faq__accordion-title::before, .p-faq__accordion-title::after {
  content: "";
  position: absolute;
  top: 50%;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.p-faq__accordion-title::before {
  right: 1.125rem;
  width: 1.125rem;
  height: 0.125rem;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.p-faq__accordion-title::after {
  right: 1.6875rem;
  width: 0.125rem;
  height: 1.125rem;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

.p-faq__accordion-title p,
.p-faq__accordion-content p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
.p-faq__accordion-title p:before,
.p-faq__accordion-content p:before {
  font-size: 1.5rem;
  font-weight: 700;
  color: #163a6e;
  border-radius: 50%;
  width: 2.5rem;
  height: 2.5rem;
  aspect-ratio: 1/1;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-faq__accordion-title p:before,
  .p-faq__accordion-content p:before {
    font-size: 1.1875rem;
    width: 1.875rem;
    height: 1.875rem;
  }
}

.p-faq__accordion-title p {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-faq__accordion-title p:before {
  background-color: #fff;
  content: "Q";
}

.p-faq__accordion-content p {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-faq__accordion-content p:before {
  background-color: #ffdd00;
  content: "A";
}

.p-faq__accordion-title::-webkit-details-marker {
  display: none;
}

.p-faq__accordion-title.is-active::before {
  opacity: 0;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.p-faq__accordion-title.is-active::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}

.p-faq__accordion-item + .p-faq__accordion-item {
  margin-top: 0.75rem;
}

.p-faq__accordion-content {
  margin-top: 0.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  padding: 0.125rem 1rem;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  display: none;
}

.p-faq__accordion-content p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767.98px) {
  .p-faq__accordion-content p {
    font-size: 0.875rem;
  }
}

.p-feature {
  background-color: #edf0f5;
  padding-top: 5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-feature {
    padding-top: 3.5rem;
    padding-bottom: 0rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-feature .c-section-title {
    font-size: 1.5rem;
    letter-spacing: 0.04em;
    margin-top: 0.75rem;
  }
}

.p-feature__content {
  margin-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-feature__content {
    margin-top: 1.5rem;
  }
}

.p-feature__content-item {
  width: 100%;
}
.p-feature__content-item + .p-feature__content-item {
  margin-top: 4rem;
}
@media screen and (max-width: 767.98px) {
  .p-feature__content-item + .p-feature__content-item {
    margin-top: 2.5rem;
  }
}

.c-feature-item {
  width: 100%;
}
.c-feature-item__head {
  width: 100%;
  height: 4.5rem;
  padding-left: 1.5rem;
  background: -webkit-gradient(linear, left top, right top, from(#0163a5), to(#191b7c));
  background: linear-gradient(90deg, #0163a5 0%, #191b7c 100%);
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, .1019607843);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, .1019607843);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 4px;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__head {
    padding-left: 0.5rem;
    padding-right: 0.75rem;
    height: 3.625rem;
  }
}

.c-feature-item__head-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  gap: 3.25rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__head-title {
    line-height: 1.3;
    gap: 1.5rem;
    font-size: 1rem;
  }
}

.c-feature-item__head-title span {
  display: inline-block;
  font-weight: 600;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__head-title span {
    font-size: 1.25rem;
  }
}

.c-feature-item__head-title span::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 3.25rem;
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__head-title span::before {
    height: 1.5rem;
    right: -0.75rem;
  }
}

.c-feature-item__body {
  margin-top: 1rem;
}
.c-feature-item__body-text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__body-text {
    font-size: 0.875rem;
  }
}

.c-feature-item__table {
  margin-top: 1rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__table {
    margin-top: 1.5rem;
  }
}

.c-feature-item__table-img {
  width: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__table-img {
    overflow-x: auto;
  }
}

.c-feature-item__table-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 980/500;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__table-img img {
    width: 56.75rem;
    height: 23.125rem;
    -o-object-fit: initial;
       object-fit: initial;
    max-width: none;
    max-width: initial;
  }
}

.c-feature-item__learn {
  margin-top: 2.125rem;
  position: relative;
  border: 4px solid #5393d3;
  border-radius: 12px;
  background-color: #fff;
  padding: 1.5rem 1rem 2rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn {
    border: 2px solid #5393d3;
    margin-top: 2.375rem;
    padding: 1.75rem 0.5rem 1rem;
  }
}

.c-feature-item__learn-head {
  position: absolute;
  background: #5393d3;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 15.6875rem;
  border-radius: 30px;
  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;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-head {
    width: 12.5rem;
  }
}

.c-feature-item__learn-head-title {
  text-align: center;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5416666667;
  letter-spacing: 0.04em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-head-title {
    font-size: 1rem;
    line-height: 1.6875;
  }
}

.c-feature-item__learn-desc {
  text-align: center;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-desc {
    font-size: 0.875rem;
    text-align: left;
  }
}

.c-feature-item__learn-list {
  margin-top: 1rem;
}
.c-feature-item__learn-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  gap: 1.5rem 2rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-icons {
    gap: 0.375rem 0.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 550px) {
  .c-feature-item__learn-icons {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-feature-item__learn-icon img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 6.5625rem;
  height: 9.0625rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-icon img {
    width: 9.5625rem;
    height: 2rem;
  }
}

.c-feature-item__learn-icon--html img {
  width: 6.875rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-icon--html img {
    width: 9.5625rem;
  }
}

.c-feature-item__learn-icon--programming img {
  height: 10.0625rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-icon--programming img {
    height: 2rem;
  }
}

.c-feature-item__learn-icon--responsive img {
  width: 6.625rem;
  height: 10rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__learn-icon--responsive img {
    width: 9.5625rem;
    height: 2rem;
  }
}

.c-feature-item__flex {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.625rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__flex {
    margin-top: 2rem;
    display: block;
  }
}

.c-feature-item__left {
  width: 100%;
  max-width: 19.25rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-feature-item__left-head {
  margin-top: 2.25rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__left-head {
    margin-top: 0;
  }
}

.c-feature-item__left-title {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.5;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__left-title {
    font-size: 1.25rem;
  }
}

.c-feature-item__left-body {
  margin-top: 1.125rem;
}
.c-feature-item__left-item {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  padding-left: 0.25rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__left-item {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

.c-feature-item__right {
  background-color: #fff;
  max-width: 39.4375rem;
  width: 100%;
  border-radius: 16px;
  padding: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right {
    padding: 1.5rem 0.625rem;
    margin-top: 1.5rem;
  }
}

.c-feature-item__right-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-head {
    gap: 0.75rem;
  }
}

.c-feature-item__right-circle {
  background-color: #163a6e;
  width: 5.125rem;
  height: 5.125rem;
  border-radius: 50%;
  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;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-circle {
    width: 3.8125rem;
    height: 3.8125rem;
    font-size: 0.875rem;
  }
}

.c-feature-item__right-title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5;
  color: #163a6e;
  padding-right: 1.6875rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-title {
    font-size: 0.9375rem;
    padding-right: 0rem;
  }
}

.c-feature-item__right-body {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-body {
    margin-top: 1rem;
  }
}

.c-feature-item__right-text {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-text {
    font-size: 0.875rem;
  }
}

.c-feature-item__right-img {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 2.375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-img {
    gap: 1.5rem;
    margin-top: 1rem;
  }
}

.c-feature-item__right-img::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 1.25rem;
  height: 2.5rem;
  background-color: #8398b5;
  -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 50%, 0% 100%, 0% 100%);
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-img::before {
    width: 0.8125rem;
    height: 1.625rem;
  }
}

.c-feature-item__right-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 14.0625rem;
  aspect-ratio: 225/150;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__right-img img {
    max-width: 9.125rem;
    aspect-ratio: 146/97;
  }
}

.c-feature-item__body--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__body--flex {
    display: block;
  }
}

.c-feature-item__body--flex .c-feature-item__body-text {
  max-width: 17rem;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__body--flex .c-feature-item__body-text {
    max-width: none;
    max-width: initial;
  }
}

.c-feature-item__body-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__body-img {
    margin-top: 1rem;
  }
}

.c-feature-item__body-img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 20.5rem;
  aspect-ratio: 328/235;
}
@media screen and (max-width: 767.98px) {
  .c-feature-item__body-img img {
    max-width: 10.3125rem;
    aspect-ratio: 165/118;
  }
}

.p-flow-item {
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, .0784313725);
          box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, .0784313725);
  border-radius: 4px;
  background-color: #fff;
}
.p-flow-item__head {
  height: 1.6875rem;
  background: -webkit-gradient(linear, left top, right top, from(#0163a5), to(#191b7c));
  background: linear-gradient(90deg, #0163a5 0%, #191b7c 100%);
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  text-align: center;
}
.p-flow-item__title {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.3;
  color: #fff;
}
.p-flow-item__title span {
  font-size: 1.25rem;
}
.p-flow-item__img {
  width: 8.125rem;
  height: 8.125rem;
  margin-inline: auto;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767.98px) {
  .p-flow-item__img {
    margin-top: 0.75rem;
    width: 5rem;
    height: 5rem;
  }
}

.p-flow-item__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767.98px) {
  .p-flow-item__img img {
    width: 5rem;
    height: 5rem;
  }
}

.p-flow-item__body {
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-flow-item__body {
    margin-top: 0.375rem;
  }
}

.p-flow-item__body-title {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #163a6e;
}
@media screen and (max-width: 767.98px) {
  .p-flow-item__body-title {
    font-size: 1.25rem;
  }
}

.p-flow-item__body-text {
  margin-top: 0.75rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  max-width: 11.0625rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .p-flow-item__body-text {
    margin-top: 0.375rem;
    max-width: 7.75rem;
    font-size: 0.75rem;
  }
}

.p-flow {
  background: url(../images/flow/flow-bg.webp) center top/cover no-repeat;
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-flow {
    background: url(../images/flow/flow-bg_sp.webp) center top/cover no-repeat;
    padding-block: 3.5rem 5rem;
  }
}

.p-flow__title {
  color: #163a6e;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-flow__title {
    font-size: 1.5rem;
  }
}

.p-flow__body {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-flow__body {
    margin-top: 1.5rem;
  }
}

.p-flow__body-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem 1.1875rem;
}
@media screen and (max-width: 767.98px) {
  .p-flow__body-items {
    gap: 0.9375rem 0.75rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-flow__body-item {
  position: relative;
  width: 100%;
  max-width: 14.375rem;
  height: 21.125rem;
  -webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, .0784313725);
          box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, .0784313725);
}
@media screen and (max-width: 767.98px) {
  .p-flow__body-item {
    max-width: 10rem;
    width: 48%;
    max-width: initial;
    height: auto;
    height: initial;
    padding-bottom: 1rem;
  }
}

.p-flow__body-item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -2.125rem;
  z-index: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.75rem;
  height: 1.9375rem;
  background: url(../images/flow/flow-icon.webp) center center/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-flow__body-item:not(:last-child)::before {
    width: 2.125rem;
    height: 1.4375rem;
    right: -1.8125rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-flow__body-item:nth-child(even)::before {
    bottom: 0;
    top: auto;
    left: 0;
    right: auto;
    right: initial;
    -webkit-transform: translateY(1.125rem) translateX(-1.5rem) rotate(135deg);
            transform: translateY(1.125rem) translateX(-1.5rem) rotate(135deg);
  }
}

.p-footer__certification {
  margin-top: 5rem;
  margin-bottom: 2.5rem;
  padding-right: 2rem;
  padding-left: 2rem;
}

.p-footer__certification__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 1.875rem;
  font-size: 0.75rem;
  font-weight: 400;
}

.p-footer__certification__list__item {
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
}

.p-footer__logo {
  margin-bottom: 5rem;
  text-align: center;
}

.p-footer__logo a {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .p-footer__certification {
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
  .p-footer__certification__list {
    gap: 0.9375rem;
  }
  .p-footer__logo {
    margin-bottom: 2.5rem;
  }
}
@media screen and (max-width: 552px) {
  .p-footer__certification__list__item {
    grid-template-columns: 7.5625rem auto;
    width: 100%;
  }
}
.p-footer .p-staticSns__contents {
  margin: 0 auto 5rem;
}

.p-footer__copy {
  position: relative;
  height: 35rem;
  background: url(../images/footer/bg_footer.png) center/cover no-repeat;
}

.p-footer__copy p {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  font-size: 5.21vw;
  font-weight: 500;
  color: #fff;
}

.p-footer__copy p img {
  display: block;
  width: 47.82vw;
  height: auto;
  margin: 0 auto;
}

.p-footer__credit {
  padding: 1.5rem 1.25rem;
  text-align: center;
  color: #fff;
  background: #333;
}

.p-footer__credit a:hover {
  opacity: 0.5;
  text-decoration: underline;
}

.p-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 1.5rem;
  font-size: 0.75rem;
}

.p-footer__nav-blank {
  position: relative;
  font-size: 0.75rem;
  font-weight: 400;
}

.p-footer__nav-blank:first-of-type {
  margin-left: 0;
}

.p-footer__nav-blank::before {
  position: absolute;
  display: block;
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  top: 51%;
  right: -1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/footer/icon_blank.png) right/cover no-repeat;
}

.p-footer__nav li:nth-child(n+2) {
  margin-left: 0.75rem;
}

.p-footer__credit small {
  display: block;
  margin-top: 0.75rem;
  font-size: 0.625rem;
}

@media screen and (max-width: 1200px) {
  .p-footer__copy {
    height: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-footer__copy {
    height: 11.9375rem;
  }
  .p-footer__copy p {
    font-size: 2rem;
  }
  .p-footer__copy p img {
    width: 19.4375rem;
  }
  .p-footer__nav {
    gap: 0.75rem;
  }
  .p-footer__nav li + li {
    padding-left: 0.75rem;
    border-left: 1px solid;
  }
  .p-footer__nav li:nth-child(n+2) {
    margin-right: 0.75rem;
  }
  .p-footer__nav a {
    font-size: 0.75rem;
  }
  .p-footer__credit small {
    margin-top: 1.5rem;
    font-size: 0.625rem;
  }
}
.p-fv {
  background: url(../images/fv/bg.webp) center top/cover no-repeat;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-fv {
    padding-top: 1.5rem;
    padding-bottom: 1.75rem;
    background: url(../images/fv/bg-sp.webp) right top/cover no-repeat;
  }
}

.p-fv__inner {
  padding: 7.1875rem 0 6.0625rem 0;
  position: relative;
}
@media screen and (max-width: 1440px) {
  .p-fv__inner {
    position: static;
    position: initial;
    padding-bottom: 6.7361111111vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__inner {
    padding: 0;
  }
}

.p-fv__logo {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .p-fv__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 767.98px) {
  .p-fv__logo a {
    display: block;
    width: 6.875rem;
    aspect-ratio: 280/64;
  }
}

.p-fv__logo a img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fv__body {
  text-align: center;
  position: relative;
  z-index: 1;
}

.p-fv__lead {
  font-size: 1.5625rem;
  font-weight: 900;
  line-height: 1.3;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.375rem;
}
.p-fv__lead:before {
  display: block;
  content: "";
  width: 3.4375rem;
  height: 4.8125rem;
  background: url(../images/fv/emblem-left.svg) center top/cover no-repeat;
}
.p-fv__lead:after {
  display: block;
  content: "";
  width: 3.4375rem;
  height: 4.8125rem;
  background: url(../images/fv/emblem-right.svg) center top/cover no-repeat;
}
@media screen and (max-width: 1440px) {
  .p-fv__lead {
    font-size: clamp(14px, 1.736vw, 25px);
  }
  .p-fv__lead:before, .p-fv__lead:after {
    width: clamp(30px, 3.819vw, 55px);
    height: clamp(42px, 5.347vw, 77px);
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__lead {
    font-size: 0.9375rem;
    margin-top: 0.5rem;
    gap: 0;
  }
}

.p-fv__catch-copy {
  width: 100%;
  max-width: 53.125rem;
  aspect-ratio: 998/268;
  margin-top: 0.875rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 1440px) {
  .p-fv__catch-copy {
    width: 69.3vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__catch-copy {
    width: 95%;
    margin-top: 0.75rem;
    max-width: 28.125rem;
  }
}
.p-fv__catch-copy:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0.4%;
  top: 2.5%;
  background: url(../images/fv/catch-shadow.svg) center top/cover no-repeat;
  z-index: -1;
}

.p-fv__catch-copy img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fv__sub-copy-wrap {
  display: grid;
  place-items: center;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767.98px) {
  .p-fv__sub-copy-wrap {
    margin-top: 1.125rem;
  }
}

.p-fv__sub-copy {
  background-color: #333;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  display: inline-block;
}

.p-fv__sub-copy--top {
  width: 23.875rem;
  font-size: 1.375rem;
  letter-spacing: 0.04em;
  padding: 0.5rem 4.25rem 0.5rem 1.25rem;
  position: relative;
}
@media screen and (max-width: 1440px) {
  .p-fv__sub-copy--top {
    width: 26.5277777778vw;
    font-size: 1.5277777778vw;
    padding: 0.5555555556vw 4.7222222222vw 0.5555555556vw 1.3888888889vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__sub-copy--top {
    font-size: 0.9375rem;
    width: auto;
    width: initial;
    padding: 0.25rem 2.5rem 0.25rem 0.75rem;
  }
}
.p-fv__sub-copy--top:after {
  display: block;
  content: "";
  width: 2.5rem;
  height: 0.125rem;
  background-color: #fff;
  position: absolute;
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1440px) {
  .p-fv__sub-copy--top:after {
    width: 2.7777777778vw;
    height: 0.1388888889vw;
    right: 1.3888888889vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__sub-copy--top:after {
    width: 1.40625rem;
    height: 1px;
    right: 0.5625rem;
  }
}

.p-fv__sub-copy-small {
  font-size: 1.125rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__sub-copy-small {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__sub-copy-small {
    font-size: 0.9375rem;
  }
}

.p-fv__sub-copy-small2 {
  font-weight: 400;
}

.p-fv__sub-copy-small3 {
  font-size: 1.25rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__sub-copy-small3 {
    font-size: 1.3888888889vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__sub-copy-small3 {
    font-size: 0.9375rem;
  }
}

.p-fv__sub-copy--bottom {
  width: 29.4375rem;
  margin-top: 0.1875rem;
  font-size: 1.5rem;
  padding: 0.3125rem 1.875rem 0.5625rem 1.875rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__sub-copy--bottom {
    width: 32.7083333333vw;
    margin-top: 0.2083333333vw;
    font-size: 1.6666666667vw;
    padding: 0.3472222222vw 2.0833333333vw 0.625vw 2.0833333333vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__sub-copy--bottom {
    width: auto;
    width: initial;
    margin-top: 0.1875rem;
    font-size: 0.9375rem;
    padding: 0.25rem 0.625rem;
  }
}

.p-fv__middle-copy-wrap {
  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: 0.5rem;
  margin-top: 1rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__middle-copy-wrap {
    gap: 0.5555555556vw;
    margin-top: 1.1111111111vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy-wrap {
    gap: 0.3125rem;
    margin-top: 1.25rem;
    position: relative;
  }
}
@media screen and (max-width: 540px) {
  .p-fv__middle-copy-wrap {
    margin-right: 4.875rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy-wrap:after {
    display: block;
    content: "";
    width: 17.1875rem;
    height: auto;
    aspect-ratio: 211.55/222;
    background: url(../images/fv/img01-sp.webp) center top/cover no-repeat;
    position: absolute;
    top: -5.25rem;
    right: 1.25rem;
  }
}
@media screen and (max-width: 540px) {
  .p-fv__middle-copy-wrap:after {
    top: -1.375rem;
    right: calc(50% - 7.5rem);
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    width: 13.1875rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy-wrap:before {
    display: block;
    content: "";
    width: 14.0625rem;
    aspect-ratio: 181/108;
    background: url(../images/fv/img02.webp) center top/cover no-repeat;
    position: absolute;
    top: 3rem;
    left: 2.5rem;
  }
}
@media screen and (max-width: 540px) {
  .p-fv__middle-copy-wrap:before {
    width: 11.3125rem;
    top: 4.125rem;
    left: 1.375rem;
  }
}

.p-fv__circle {
  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;
  width: 6.8125rem;
  height: 6.8125rem;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#0163a5), to(#191b7c));
  background: linear-gradient(to right, #0163a5 0%, #191b7c 100%);
  border-radius: 50%;
}
@media screen and (max-width: 1440px) {
  .p-fv__circle {
    width: 7.5694444444vw;
    height: 7.5694444444vw;
    font-size: 1.3888888889vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__circle {
    width: 2.8125rem;
    height: 2.8125rem;
    font-size: 0.5625rem;
  }
}

.p-fv__circle--large {
  font-size: 1.9375rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__circle--large {
    font-size: 2.1527777778vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__circle--large {
    font-size: 0.8125rem;
  }
}

.p-fv__middle-copy {
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0;
  color: #333;
  text-align: left;
}
@media screen and (max-width: 1440px) {
  .p-fv__middle-copy {
    font-size: 2.7777777778vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy {
    font-size: 1.125rem;
  }
}

.p-fv__middle-copy--large {
  font-size: 2.5rem;
  letter-spacing: -0.01em;
  color: #1d4175;
}
@media screen and (max-width: 1440px) {
  .p-fv__middle-copy--large {
    font-size: 2.1527777778vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy--large {
    font-size: 1rem;
    letter-spacing: -0.03em;
  }
}

.p-fv__middle-copy--x {
  font-size: 2.3125rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__middle-copy--x {
    font-size: 2.5694444444vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy--x {
    font-size: 0.9375rem;
  }
}

.p-fv__middle-copy--small {
  font-size: 2rem;
}
@media screen and (max-width: 1440px) {
  .p-fv__middle-copy--small {
    font-size: 2.2222222222vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__middle-copy--small {
    font-size: 0.8125rem;
  }
}

.p-fv__img1 {
  width: 49.387755102%;
  max-width: 30.25rem;
  aspect-ratio: 484/505;
  position: absolute;
  bottom: 0;
  right: 0;
  -webkit-transform: translateX(33.2%);
          transform: translateX(33.2%);
}
@media screen and (max-width: 1440px) {
  .p-fv__img1 {
    width: 33.6vw;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    right: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__img1 {
    position: static;
    position: initial;
    margin-left: auto;
  }
}

.p-fv__img1 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fv__img2 {
  width: 42.4489795918%;
  max-width: 26rem;
  aspect-ratio: 416/249;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateX(-38.8%);
          transform: translateX(-38.8%);
}
@media screen and (max-width: 1440px) {
  .p-fv__img2 {
    width: 28.9vw;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    left: 1.25rem;
  }
}
@media screen and (max-width: 1440px) and (max-width: 767.98px) {
  .p-fv__img2 {
    position: static;
    position: initial;
  }
}

.p-fv__img2 img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fv__bottom-info-wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(8rem);
          transform: translateX(-50%) translateY(8rem);
  z-index: 1;
}
@media screen and (max-width: 1440px) {
  .p-fv__bottom-info-wrap {
    -webkit-transform: translateX(-50%) translateY(76.8%);
            transform: translateX(-50%) translateY(76.8%);
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__bottom-info-wrap {
    position: static;
    position: initial;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    margin-top: 1.25rem;
  }
}

.p-fv__bottom-info {
  margin-inline: auto;
  width: 67.125rem;
  aspect-ratio: 1074/160;
}
@media screen and (max-width: 1440px) {
  .p-fv__bottom-info {
    width: 74.6vw;
  }
}
@media screen and (max-width: 767.98px) {
  .p-fv__bottom-info {
    aspect-ratio: 345.92/167.68;
    width: 31.25rem;
  }
}
@media screen and (max-width: 540px) {
  .p-fv__bottom-info {
    width: 100%;
    padding: 0 0.9375rem;
  }
}

.p-fv__bottom-info img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-fv__info-comment {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
  margin-top: -0.25rem;
}
@media screen and (max-width: 767.98px) {
  .p-fv__info-comment {
    font-weight: 500;
    color: #333;
    margin-top: 0.9375rem;
    text-indent: -2em;
    padding-left: 2em;
    margin-top: 0;
    padding-left: 1.25rem;
  }
}

.p-fv__info-comment + .p-fv__info-comment {
  margin-top: 0;
}

.p-fv__btns {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .p-fv__btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.3125rem;
    margin-inline: auto;
    padding: 0 0.625rem;
    margin-top: 7.625rem;
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 34.375rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-fv__btn {
    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;
    text-align: center;
    width: 13.25rem;
    width: 50%;
    height: 3.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #fff;
    border-radius: 50vh;
  }
}

@media screen and (max-width: 767.98px) {
  .p-fv__btn--dl {
    background: -webkit-gradient(linear, left top, left bottom, from(#7fd77d), to(#008d26));
    background: linear-gradient(to bottom, #7fd77d 0%, #008d26 100%);
    letter-spacing: 0;
    -webkit-box-shadow: 0px 0.25rem 0px #125c22;
            box-shadow: 0px 0.25rem 0px #125c22;
    gap: 0.25rem;
  }
  .p-fv__btn--dl:before {
    display: block;
    content: "";
    width: 0.75rem;
    aspect-ratio: 15.5/19.97;
    background: url(../images/common/dl-icon.svg) center top/cover no-repeat;
    margin-top: 0.1875rem;
  }
  .p-fv__btn--dl:after {
    display: block;
    content: "";
    width: 0.6875rem;
    aspect-ratio: 15.5/19.97;
    background: url(../images/common/cta-arrow01.svg) center top/cover no-repeat;
    margin-top: 0.1875rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-fv__btn--session {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.375rem;
    background: -webkit-gradient(linear, left top, left bottom, from(#ff715f), to(#f93200));
    background: linear-gradient(to bottom, #ff715f 0%, #f93200 100%);
    letter-spacing: 0.04em;
    -webkit-box-shadow: 0px 0.25rem 0px #a02205;
            box-shadow: 0px 0.25rem 0px #a02205;
    position: relative;
  }
  .p-fv__btn--session:after {
    display: block;
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    position: absolute;
    right: 1.125rem;
    top: 50%;
    -webkit-transform: rotate(-45deg) translateY(-50%);
            transform: rotate(-45deg) translateY(-50%);
  }
}

@media screen and (max-width: 767.98px) {
  .p-fv__btn--session span {
    display: inline-block;
    padding: 0.09375rem 1.103125rem;
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    color: #fb441b;
    background: #fff;
    border-radius: 50vh;
    position: absolute;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    top: 0;
    padding: 0.125rem 0.5rem;
  }
}

.p-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
@media screen and (max-width: 767.98px) {
  .p-header {
    -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
}

@media screen and (max-width: 767.98px) {
  .p-header.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

.p-header__inner {
  max-width: 123.75rem;
  width: 100%;
  padding: 1rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .p-header__inner {
    padding: 0.5rem 1rem;
  }
}

.p-header__logo a {
  width: 100%;
  max-width: 17.5rem;
  aspect-ratio: 280/68;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .p-header__logo a {
    max-width: 7.5rem;
  }
}

.p-header__logo a img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-header__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
}

.p-header__btn {
  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;
  text-align: center;
  width: 13.25rem;
  height: 3.75rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  border-radius: 0.25rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .p-header__btn {
    display: none;
  }
}

.p-header__btn--dl {
  background: -webkit-gradient(linear, left top, left bottom, from(#7fd77d), to(#008d26));
  background: linear-gradient(to bottom, #7fd77d 0%, #008d26 100%);
  font-size: 1.125rem;
  letter-spacing: 0;
  -webkit-box-shadow: 0px 0.25rem 0px #125c22;
          box-shadow: 0px 0.25rem 0px #125c22;
  gap: 0.75rem;
}
.p-header__btn--dl:before {
  display: block;
  content: "";
  width: 0.96875rem;
  height: 1.248125rem;
  background: url(../images/common/dl-icon.svg) center top/cover no-repeat;
  margin-top: 0.1875rem;
}

.p-header__btn--session {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  font-size: 1.375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff715f), to(#f93200));
  background: linear-gradient(to bottom, #ff715f 0%, #f93200 100%);
  letter-spacing: 0.04em;
  -webkit-box-shadow: 0px 0.25rem 0px #a02205;
          box-shadow: 0px 0.25rem 0px #a02205;
}

.p-header__btn--session span {
  display: inline-block;
  padding: 0.09375rem 1.103125rem;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  color: #fb441b;
  background: #fff;
  border-radius: 50vh;
}

@media (hover: hover) {
  .p-header__btn:hover {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }
  .p-header__btn--dl:hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#90e490), to(#009b2a));
    background: linear-gradient(to bottom, #90e490 0%, #009b2a 100%);
    -webkit-box-shadow: 0px 0.375rem 0px #125c22;
            box-shadow: 0px 0.375rem 0px #125c22;
  }
  .p-header__btn--session:hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff9689), to(#de2c00));
    background: linear-gradient(to bottom, #ff9689 0%, #de2c00 100%);
    -webkit-box-shadow: 0px 0.375rem 0px #a02205;
            box-shadow: 0px 0.375rem 0px #a02205;
  }
}
.p-line {
  padding-top: 6.6875rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .p-line {
    padding-top: 2.5rem;
    padding-bottom: 3.5rem;
  }
}

.p-line__link {
  width: 100%;
  border: 0.5rem solid #42a846;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.375rem;
  background: -webkit-gradient(linear, left top, right top, from(#f9fff9), to(#f7f7f9));
  background: linear-gradient(to right, #f9fff9 0%, #f7f7f9 100%);
  position: relative;
  padding-left: 3.125rem;
}
@media screen and (max-width: 767.98px) {
  .p-line__link {
    padding-left: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), color-stop(50%, #f4fff4), color-stop(96%, #daffd8));
    background: linear-gradient(to bottom, #ffffff 0%, #f4fff4 50%, #daffd8 96%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 1.375rem 0.75rem;
  }
}

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

.p-line__comment {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-line__comment {
    font-size: 1.25rem;
  }
}
.p-line__comment:after {
  display: block;
  content: "";
  width: 17.9375rem;
  aspect-ratio: 287/12;
  background: url(../images/line/text-line.svg) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-line__comment:after {
    width: 15rem;
  }
}

.p-line__title {
  margin-top: 0.4375rem;
  font-size: 1.9375rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  color: #42a846;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
}
@media screen and (max-width: 767.98px) {
  .p-line__title {
    margin-top: 0.25rem;
  }
}
.p-line__title:after {
  display: block;
  content: "";
  width: 1.125rem;
  height: 2.089375rem;
  background: url(../images/line/arrow-icon.svg) center top/cover no-repeat;
}

.p-line__btn {
  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;
  width: 23.75rem;
  height: 4.4375rem;
  text-align: center;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.23;
  color: #fff;
  background: #42a846;
  border-radius: 50vh;
  margin-top: 0.4375rem;
  -webkit-box-shadow: 0px 0.25rem 0px #28692a;
          box-shadow: 0px 0.25rem 0px #28692a;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .p-line__btn {
    width: 100%;
    height: 3.75rem;
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.p-line__btn:after {
  display: block;
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  background: url(../images/line/link-icon.svg) center top/cover no-repeat;
  position: absolute;
  right: 1.125rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .p-line__btn:after {
    width: 0.8125rem;
    height: 0.8125rem;
  }
}

@media (hover: hover) {
  .p-line__btn:hover {
    background: #51b452;
    -webkit-box-shadow: 0px 0.375rem 0px #28692a;
            box-shadow: 0px 0.375rem 0px #28692a;
    -webkit-transform: translateY(-0.125rem);
            transform: translateY(-0.125rem);
  }
  .p-line__btn:hover::after {
    -webkit-transform: translateY(-50%) translateX(2px);
            transform: translateY(-50%) translateX(2px);
  }
}
.p-line__btn span {
  font-size: 1.1875rem;
  line-height: 1.23;
}
@media screen and (max-width: 767.98px) {
  .p-line__btn span {
    font-size: 1.0625rem;
  }
}

.p-line__img {
  width: 100%;
  max-width: 25.8125rem;
  aspect-ratio: 413/225;
}

.p-line__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-line__qr {
  position: absolute;
  top: -3.8125rem;
  right: 1.375rem;
  width: 100%;
  max-width: 10.375rem;
  aspect-ratio: 165.87/271;
}

.p-line__qr img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-middle-cta {
  padding: 5rem 0;
  background: url(../images/middle-cta/bg.webp) center top/cover no-repeat;
  position: relative;
  -webkit-box-shadow: 0px 0.25rem 0.25rem rgba(0, 0, 0, .25);
          box-shadow: 0px 0.25rem 0.25rem rgba(0, 0, 0, .25);
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta {
    padding-top: 3.5rem;
    padding-bottom: 10.8125rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-middle-cta__inner {
    max-width: none;
    max-width: initial;
  }
}

.p-middle-cta__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__items {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0.75rem;
  }
}

.p-middle-cta__item {
  width: 19.5rem;
  height: 12.375rem;
  background: url(../images/middle-cta/item-bg.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__item {
    background: url(../images/middle-cta/item-bg-sp.webp) center top/cover no-repeat;
    aspect-ratio: 312/162;
    width: 100%;
    height: auto;
    max-width: 19.5rem;
  }
}

.p-middle-cta__text {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  margin-top: 3.875rem;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__text {
    font-size: 1.125rem;
    margin-top: 2.75rem;
  }
}

.p-middle-cta__title {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #fff;
  text-align: center;
  margin-top: 2rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__title {
    font-size: 1.625rem;
    margin-top: 1.25rem;
  }
}
.p-middle-cta__title:after {
  display: block;
  content: "";
  width: 4.125rem;
  height: 1.875rem;
  background: url(../images/middle-cta/arrow-icon.svg) center top/cover no-repeat;
  position: absolute;
  left: 50%;
  bottom: -0.1875rem;
  -webkit-transform: translateX(-50%) translateY(100%);
          transform: translateX(-50%) translateY(100%);
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__title:after {
    bottom: -0.875rem;
  }
}

.p-middle-cta__title span {
  position: relative;
}
.p-middle-cta__title span:before {
  display: block;
  content: "";
  width: 6.25rem;
  aspect-ratio: 100/16;
  background: url(../images/middle-cta/accent-icon.svg) center top/cover no-repeat;
  position: absolute;
  top: -0.625rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__title span:before {
    top: -0.5rem;
    width: 4.1875rem;
  }
}

.p-middle-cta__title strong {
  font-size: 3.25rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #ffdd00;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__title strong {
    font-size: 2.25rem;
  }
}

.p-middle-cta__btn {
  display: grid;
  place-items: center;
  width: 40rem;
  height: 5.625rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#e00000), to(#870000));
  background: linear-gradient(to bottom, #e00000 0%, #870000 100%);
  border: 0.1875rem solid #ab0505;
  border-radius: 0.5rem;
  margin-inline: auto;
  margin-top: 2.75rem;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__btn {
    width: 100%;
    margin-top: 3rem;
    width: 100%;
    max-width: 34.375rem;
    font-size: 1.625rem;
    line-height: 1.3;
    margin-top: 3.5rem;
  }
}
.p-middle-cta__btn:before {
  display: block;
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-right: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  position: absolute;
  right: 2.25rem;
  top: 50%;
  -webkit-transform: rotate(-45deg) translateY(-50%);
          transform: rotate(-45deg) translateY(-50%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__btn:before {
    right: 1.3125rem;
  }
}

@media (hover: hover) {
  .p-middle-cta__btn:hover {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff3b3b), to(#a40000));
    background: linear-gradient(to bottom, #ff3b3b 0%, #a40000 100%);
    scale: 1.05;
    -webkit-transform: translateY(-0.125rem);
            transform: translateY(-0.125rem);
  }
}
.p-middle-cta__img {
  width: 13.8125rem;
  aspect-ratio: 221/270;
  position: absolute;
  bottom: 0;
  right: calc(50% - 35.375rem);
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media screen and (max-width: 1440px) {
  .p-middle-cta__img {
    right: 0.625rem;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
  }
}
@media screen and (max-width: 1300px) {
  .p-middle-cta__img {
    right: calc(50% - 32.5rem);
    width: 11.25rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-middle-cta__img {
    right: 50%;
    width: 8.1875rem;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

.p-middle-cta__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-parts-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.p-parts-cta__link {
  width: 50%;
  height: 10.125rem;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__link {
    width: 100%;
    height: 8.25rem;
  }
}

.p-parts-cta__link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  height: inherit;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__link a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1.25rem;
  }
}

.p-parts-cta__link--dl a {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #525252), to(#212121));
  background: linear-gradient(to bottom, #525252 50%, #212121 100%);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-right: 7.375rem;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__link--dl a {
    padding-right: 0;
    padding-right: initial;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-parts-cta__link--session a {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #285da9), to(#1d4075));
  background: linear-gradient(to bottom, #285da9 50%, #1d4075 100%);
  position: relative;
  padding-left: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__link--session a {
    padding-left: 0;
    padding-left: initial;
  }
}

.p-parts-cta__img {
  width: 5.3125rem;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__img {
    width: 2.8125rem;
  }
}

.p-parts-cta__img--dl {
  aspect-ratio: 85/78;
}

.p-parts-cta__img--session {
  aspect-ratio: 85/94;
}

.p-parts-cta__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-parts-cta__body {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__body {
    width: 17.125rem;
  }
}
.p-parts-cta__body:after {
  display: block;
  content: "";
  position: absolute;
}

.p-parts-cta__body--dl::after {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  background: url(../images/common/cta-arrow01.svg) center top/cover no-repeat;
  width: 1.875rem;
  height: 2rem;
  right: -3rem;
  position: absolute;
  top: 50%;
  -webkit-transform: translateX(100%) translateY(-50%);
          transform: translateX(100%) translateY(-50%);
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__body--dl::after {
    width: 1.25rem;
    height: 1.3125rem;
    right: 1.125rem;
  }
}

.p-parts-cta__body--session::after {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  background: url(../images/common/cta-arrow02.svg) center top/cover no-repeat;
  width: 1.0625rem;
  height: 1.75rem;
  right: -5.6875rem;
  top: 50%;
  -webkit-transform: translateX(100%) translateY(-50%);
          transform: translateX(100%) translateY(-50%);
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__body--session::after {
    width: 0.875rem;
    height: auto;
    aspect-ratio: 17/28;
    right: 0.625rem;
  }
}

.p-parts-cta__title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.p-parts-cta__text {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0.875rem;
}

.p-parts-cta__link--session span {
  position: absolute;
  top: 0;
  left: 8.125rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 14.375rem;
  height: 1.875rem;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #333;
  background: #ffb200;
  border-radius: 50vh;
}
@media screen and (max-width: 767.98px) {
  .p-parts-cta__link--session span {
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
  }
}

@media (hover: hover) {
  .p-parts-cta__link--dl:hover a {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #666666), to(#2a2a2a));
    background: linear-gradient(to bottom, #666666 50%, #2a2a2a 100%);
  }
  .p-parts-cta__link--session:hover a {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #3b6fc0), to(#25529e));
    background: linear-gradient(to bottom, #3b6fc0 50%, #25529e 100%);
  }
  .p-parts-cta__link--dl:hover .p-parts-cta__body--dl::after {
    -webkit-transform: translateX(100%) translateY(calc(-50% + 0.25rem));
            transform: translateX(100%) translateY(calc(-50% + 0.25rem));
  }
  .p-parts-cta__link--session:hover .p-parts-cta__body--session::after {
    -webkit-transform: translateX(calc(100% + 0.25rem)) translateY(-50%);
            transform: translateX(calc(100% + 0.25rem)) translateY(-50%);
  }
}
.p-reason {
  padding-top: 5rem;
  padding-bottom: 7.5rem;
  background-color: #e5eff9;
}
@media screen and (max-width: 767.98px) {
  .p-reason {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }
}

.p-reason__items {
  width: 100%;
  margin-top: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .p-reason__items {
    margin-top: 2.5rem;
    gap: 2.5rem;
  }
}

.p-reason__item {
  -webkit-box-shadow: 0 0 1.25rem rgba(0, 0, 0, .08);
          box-shadow: 0 0 1.25rem rgba(0, 0, 0, .08);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item {
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-box-shadow: initial;
            box-shadow: initial;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: 0;
    border-radius: initial;
  }
}

.p-reason__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-reason__item--01 {
  background: url(../images/reason/bg01.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item--01 {
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
  }
}

.p-reason__item--02 {
  background: url(../images/reason/bg02.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item--02 {
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
  }
}

.p-reason__item--03 {
  background: url(../images/reason/bg03.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item--03 {
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
  }
}

.p-reason__item--04 {
  background: url(../images/reason/bg04.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item--04 {
    background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
    background: initial;
  }
}

.p-reason__item-body {
  width: 43.3673469388%;
  padding: 3.5rem 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item-body {
    width: 100%;
    padding: 0;
    padding: initial;
  }
}

.p-reason__item-num {
  margin-left: -0.5rem;
  width: 11.5625rem;
  aspect-ratio: 185/56;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item-num {
    width: 10rem;
  }
}

.p-reason__item-num img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-reason__item-title {
  margin-top: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #163a6e;
  white-space: nowrap;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item-title {
    margin-top: 1rem;
    font-size: 1.375rem;
  }
}

@media screen and (max-width: 767.98px) {
  .p-reason__item--01 .p-reason__item-title {
    white-space: nowrap;
  }
}

.p-reason__item-text {
  width: 21.875rem;
  margin-top: 0.5rem;
}

.p-reason__item-img {
  width: 56.6326530612%;
  aspect-ratio: 555/360;
}
@media screen and (max-width: 767.98px) {
  .p-reason__item-img {
    margin-top: 1.5rem;
    width: 100%;
  }
}

.p-reason__item-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-recommend {
  padding-top: 5rem;
  padding-bottom: 7.5rem;
  background: url(../images/recommend/bg.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-recommend {
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }
}

.p-recommend__items {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .p-recommend__items {
    -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: 2.5rem;
    margin-top: 1rem;
  }
}

.p-recommend__item {
  width: calc(33.33333% - 0.0625rem);
}
@media screen and (max-width: 767.98px) {
  .p-recommend__item {
    width: 100%;
  }
}

.p-recommend__item-head {
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  width: 100%;
  height: 4.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #4a6491;
  border-radius: 0.25rem 0.25rem 0 0;
}

.p-recommend__item-head--blue {
  background-color: #3270ae;
}

.p-recommend__item-body {
  background-color: #f4f4ff;
  position: relative;
  padding: 1.75rem 1.25rem 0 1.25rem;
}
.p-recommend__item-body:after {
  display: block;
  content: "";
  width: 100%;
  height: auto;
  aspect-ratio: 323/70;
  background: url(../images/recommend/triangle01.svg) center top/cover no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform: translateY(calc(100% - 1px));
          transform: translateY(calc(100% - 1px));
}

.p-recommend__item-body--blue {
  background-color: #eaf3fb;
}
.p-recommend__item-body--blue:after {
  background: url(../images/recommend/triangle02.svg) center top/cover no-repeat;
}

.p-recommend__item-text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

.p-recommend__item-balloon {
  display: grid;
  place-items: center;
  width: 15.625rem;
  height: 4.125rem;
  text-align: center;
  border-radius: 0.25rem;
  background-color: #fff;
  position: relative;
  margin-inline: auto;
  margin-top: 0.5rem;
  margin-bottom: 0.875rem;
  -webkit-box-shadow: 0px 0.125rem 0.625rem rgba(0, 0, 0, .08);
          box-shadow: 0px 0.125rem 0.625rem rgba(0, 0, 0, .08);
}
.p-recommend__item-balloon:before {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.625rem 0.625rem 0 0.625rem;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  bottom: 0;
  right: 50%;
  -webkit-transform: translateX(50%) translateY(calc(100% - 1px));
          transform: translateX(50%) translateY(calc(100% - 1px));
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-recommend__item-balloon span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  color: #163a6e;
  position: absolute;
  bottom: 0.525rem;
  right: 1.35rem;
}

.p-recommend__item-logo {
  width: 7.1875rem;
  aspect-ratio: 115/44;
}

.p-recommend__item-logo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-recommend__item-text2 {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}
.p-recommend__item-text2:before {
  display: block;
  content: "";
  width: 1.125rem;
  height: 1.125rem;
  background: url(../images/recommend/check-icon.svg) center top/cover no-repeat;
  aspect-ratio: 1/1;
  margin-top: 0.3125rem;
}

.p-recommend__item-text2 + .p-recommend__item-text2 {
  margin-top: 0.5rem;
}

.p-recommend__item-icon {
  width: 6.875rem;
  aspect-ratio: 110/87;
  margin-inline: auto;
  margin-top: 0.5rem;
}

.p-recommend__item-icon img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-recommend__item-caption {
  margin-top: 4.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  color: #163a6e;
  text-align: center;
  width: 18.875rem;
  height: 4.875rem;
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-recommend__item-caption {
    margin-top: 6.25rem;
  }
}
@media screen and (max-width: 450px) {
  .p-recommend__item-caption {
    margin-top: 5rem;
  }
}
.p-recommend__item-caption:before, .p-recommend__item-caption:after {
  display: block;
  content: "";
  width: 0.75rem;
  height: 4.875rem;
  border-top: 0.125rem solid #163a6e;
  border-bottom: 0.125rem solid #163a6e;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-recommend__item-caption:before {
  border-left: 0.125rem solid #163a6e;
  left: 0;
}
.p-recommend__item-caption:after {
  border-right: 0.125rem solid #163a6e;
  right: 0;
}

.p-reskilling {
  padding: 6rem 0;
  background: url(../images/reskilling/bg.webp) center top/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-reskilling {
    background: url(../images/reskilling/bg-sp.webp) center top/cover no-repeat;
    padding-top: 3.5rem;
    padding-bottom: 5rem;
  }
}

.p-reskilling__contents {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-reskilling__logo {
  width: 15.375rem;
  aspect-ratio: 246/95;
}
@media screen and (max-width: 767.98px) {
  .p-reskilling__logo {
    width: 44.776119403%;
    min-width: 9.375rem;
  }
}

.p-reskilling__logo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-reskilling__catch {
  margin-top: -2.8125rem;
  width: 100%;
  max-width: 52.125rem;
  aspect-ratio: 834/264;
}
@media screen and (max-width: 767.98px) {
  .p-reskilling__catch {
    aspect-ratio: 335/122.33;
    margin-top: 1rem;
  }
}

.p-reskilling__catch img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-reskilling__text {
  margin-top: 1.5rem;
  display: inline-block;
  padding: 0 2rem 0.25rem 2rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  background: #000;
}
@media screen and (max-width: 767.98px) {
  .p-reskilling__text {
    margin-top: 0.75rem;
    font-size: 1rem;
    min-width: 16.5rem;
    text-align: center;
  }
}

.p-reskilling__text + .p-reskilling__text {
  margin-top: 0.25rem;
}

.p-reskilling__link {
  margin-top: 2rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: #ffdd00;
  padding: 0.5rem;
  border-bottom: 2px solid #ffdd00;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.1875rem;
}
@media screen and (max-width: 767.98px) {
  .p-reskilling__link {
    font-size: 1.25rem;
  }
}
.p-reskilling__link:after {
  display: block;
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  border-right: 0.125rem solid #ffdd00;
  border-bottom: 0.125rem solid #ffdd00;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767.98px) {
  .p-reskilling__link:after {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.p-structure {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-structure {
    background-color: #edf0f5;
    padding-block: 5rem;
  }
}

.p-structure__head {
  text-align: center;
}
.p-structure__title {
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.5;
  color: #163a6e;
}
@media screen and (max-width: 767.98px) {
  .p-structure__title {
    font-size: 1.75rem;
  }
}

.p-structure__text {
  margin-top: 2.5rem;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .p-structure__text {
    margin-top: 1.5rem;
    font-size: 0.875rem;
    text-align: left;
  }
}

.p-structure__items {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 767.98px) {
  .p-structure__items {
    grid-template-columns: initial;
    gap: 1.5rem;
  }
}

.p-structure__item {
  width: 100%;
  border-radius: 4px;
  border: 4px solid #163a6e;
  padding-bottom: 1.375rem;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item {
    padding-bottom: 1rem;
  }
}

.p-structure__item__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #163a6e;
  padding: 0.4375rem 0.625rem;
  color: #fff;
  height: 5.125rem;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item__header {
    height: 3.5625rem;
  }
}

.p-structure__item:nth-child(3) .p-structure__item__header,
.p-structure__item:nth-child(4) .p-structure__item__header {
  height: 7.6875rem;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item:nth-child(3) .p-structure__item__header,
  .p-structure__item:nth-child(4) .p-structure__item__header {
    height: 3.5625rem;
  }
}

.p-structure__item__number {
  width: 3.4375rem;
  text-align: center;
  font-weight: 600;
  font-size: 2.25rem;
  line-height: 1;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item__number {
    font-size: 1.25rem;
    width: auto;
    width: initial;
  }
}

.p-structure__item__number::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -1rem;
  width: 0.0625rem;
  height: 4rem;
  background-color: #fff;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item__number::before {
    height: 3.0625rem;
  }
}

.p-structure__item:nth-child(3) .p-structure__item__number::before,
.p-structure__item:nth-child(4) .p-structure__item__number::before {
  height: 6.75rem;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item:nth-child(3) .p-structure__item__number::before,
  .p-structure__item:nth-child(4) .p-structure__item__number::before {
    height: 3.0625rem;
  }
}

.p-structure__item__title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item__title {
    font-size: 1rem;
  }
}

.p-structure__item__img {
  margin-top: 1.5rem;
  width: 100%;
  max-width: 26rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item__img {
    margin-top: 1rem;
    padding-inline: 0.625rem;
  }
}

.p-structure__item__img img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 416/256;
}

.p-structure__item__description {
  margin-top: 0.5rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .p-structure__item__description {
    font-size: 0.875rem;
  }
}

.p-structure__item__caution {
  margin-top: 0.5rem;
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.p-support {
  padding-block: 5rem 7.5rem;
  background: url(../images/support/support-bg.webp) center center/cover no-repeat;
}
@media screen and (max-width: 767.98px) {
  .p-support {
    padding-block: 3.5rem 5rem;
    background: url(../images/support/support-bg.webp) center center/cover no-repeat;
  }
}

.p-support__head {
  text-align: center;
}
.p-support__head-title {
  font-size: 2.5rem;
  line-height: 1.5;
  color: #c70000;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .p-support__head-title {
    font-size: 1.5rem;
  }
}

.p-support__head-title::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 50%;
  -webkit-transform: translateX(-51%);
          transform: translateX(-51%);
  width: 40.0625rem;
  height: 3px;
  background: #c70000;
}
@media screen and (max-width: 767.98px) {
  .p-support__head-title::before {
    display: none;
  }
}

@media screen and (max-width: 767.98px) {
  .p-support__head-title span {
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767.98px) {
  .p-support__head-title span::before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 50%;
    -webkit-transform: translateX(-51%);
            transform: translateX(-51%);
    width: 100%;
    height: 3px;
    background: #c70000;
  }
}

.p-support__body {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-support__body {
    margin-top: 1.5rem;
  }
}

.p-support__body-text {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-support__body-text {
    font-size: 0.875rem;
    font-weight: 500;
  }
}

.p-support__body-items {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-support__body-items {
    gap: 0.75rem 0.875rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 550px) {
  .p-support__body-items {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    max-width: 23.75rem;
    margin-inline: auto;
  }
}

.p-support__body-item {
  width: 100%;
  max-width: 9.375rem;
}
@media screen and (max-width: 767.98px) {
  .p-support__body-item {
    max-width: 5.375rem;
  }
}

.p-support__body-item-img {
  width: 100%;
}

.p-support__body-item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 150/200;
  height: auto;
  object-fit: cover;
}
@media screen and (max-width: 767.98px) {
  .p-support__body-item-img img {
    aspect-ratio: 86/115;
  }
}

.p-support__body-message {
  margin-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-support__body-message {
    margin-top: 1.5rem;
  }
}

.p-support__body-message-text {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
  text-align: center;
  color: #163a6e;
}
@media screen and (max-width: 767.98px) {
  .p-support__body-message-text {
    font-size: 1.125rem;
  }
}

.p-teacher {
  padding-top: 5rem;
  padding-bottom: 7.5rem;
  background: url(../images/teacher/teacher-sec-bg.webp) no-repeat center/cover;
}
@media screen and (max-width: 767.98px) {
  .p-teacher {
    padding-top: 3.5rem;
    background: url(../images/teacher/teacher-sec-bg_sp.webp) no-repeat center/cover;
    padding-bottom: 5rem;
  }
}

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

.p-teacher__title {
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__title {
    font-size: 1.5rem;
  }
}

.p-teacher__subtitle {
  margin-top: 2.5rem;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__subtitle {
    font-size: 0.875rem;
    margin-top: 1.5rem;
  }
}

.p-teacher__items {
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.25rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__items {
    gap: 1rem;
    grid-template-columns: initial;
  }
}

.p-teacher__item {
  background: url(../images/teacher/teacher-bg.webp) no-repeat center/cover;
  border-radius: 4px;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .0784313725);
          box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .0784313725);
  padding: 3.75rem 1.4375rem 2.75rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: url(../images/teacher/teacher-bg_sp.webp) no-repeat center/cover;
    padding: 1.25rem 0.625rem 1.25rem;
    gap: 0.75rem;
  }
}

.p-teacher__item-img {
  width: 11.0625rem;
  margin-inline: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__item-img {
    margin-inline: initial;
    width: 6.3125rem;
  }
}

.p-teacher__item-img img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 164/166;
  margin-inline: auto;
  width: 10.25rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__item-img img {
    aspect-ratio: 100/101;
    width: 6.25rem;
    margin-inline: initial;
  }
}

.p-teacher__item-body {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__item-body {
    margin-top: 0rem;
  }
}

.p-teacher__item-title {
  margin-top: 1.25rem;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #163a6e;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__item-title {
    margin-top: 0.5rem;
    text-align: right;
    font-size: 0.6875rem;
    line-height: 1.3;
  }
}

.p-teacher__item-text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__item-text {
    font-size: 0.875rem;
  }
}

.p-teacher__other {
  margin-top: 1.5rem;
  background: url(../images/teacher/teacher-bg2.webp) no-repeat center/cover;
  border-radius: 4px;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .0784313725);
          box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, .0784313725);
  padding-bottom: 2.1875rem;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other {
    padding-bottom: 2.1875rem;
    background: url(../images/teacher/teacher-bg2_sp.webp) no-repeat center/cover;
  }
}

.p-teacher__other-inner {
  padding-inline: 3.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-inner {
    padding-inline: 0.625rem;
  }
}

.p-teacher__other-title {
  background: -webkit-gradient(linear, left top, right top, from(#0163a5), to(#191b7c));
  background: linear-gradient(90deg, #0163a5 0%, #191b7c 100%);
  width: 100%;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  overflow: hidden;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2.1666666667;
  letter-spacing: 0.04em;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-title {
    font-size: 1rem;
    line-height: 2;
  }
}

.p-teacher__flex {
  margin-top: 1.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__flex {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-teacher__other-items {
  width: 100%;
  max-width: 23.75rem;
}

.p-teacher__other-item {
  width: 100%;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-item {
    white-space: nowrap;
    font-size: 0.75rem;
  }
}

.p-teacher__other-dream {
  margin-top: 1.5rem;
  border-top: 2px solid #dddddd;
  padding-top: 1.6875rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-dream {
    margin-top: 1.4375rem;
    padding-top: 1.5rem;
  }
}

.p-teacher__other-dream-text {
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  color: #163a6e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 33.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-dream-text {
    max-width: 19.5rem;
    font-size: 1.0625rem;
  }
}

.p-teacher__other-dream-text::before {
  content: "";
  display: block;
  width: 2.875rem;
  height: 3.9375rem;
  background: url(../images/teacher/arrow-left.webp) no-repeat center/cover;
  margin-right: 1.3125rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-dream-text::before {
    width: 1.625rem;
    height: 2.25rem;
    margin-right: 0.1875rem;
  }
}

.p-teacher__other-dream-text::after {
  content: "";
  display: block;
  width: 5.125rem;
  height: 3.9375rem;
  background: url(../images/teacher/arrow-right.webp) no-repeat center/cover;
  margin-left: 0.6875rem;
}
@media screen and (max-width: 767.98px) {
  .p-teacher__other-dream-text::after {
    width: 2.9375rem;
    margin-left: 0.375rem;
    height: 2.25rem;
  }
}

.p-voice {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background-color: #f7fbff;
  padding-left: 3rem;
}
@media screen and (max-width: 1030px) {
  .p-voice {
    padding-left: 1.5625rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-voice {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    padding-left: 1.25rem;
  }
}

.p-voice__lead {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #333;
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-voice__lead {
    font-size: 0.875rem;
    margin-top: 1.5rem;
    padding-right: 1.25rem;
  }
}

.p-voice__swiper {
  width: 100%;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-voice__swiper {
    margin-top: 1.5rem;
  }
}

.p-voice__item {
  background-color: #edf0f5;
  border-radius: 0.625rem;
  padding: 1.25rem;
  height: auto;
  height: initial;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-voice__img {
  width: 100%;
  aspect-ratio: 316/221;
  position: relative;
}

.p-voice__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem 0.625rem 0 0;
}

.p-voice__label {
  display: block;
  width: 17.75rem;
  padding: 0.25rem 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
  background-color: #163a6e;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%) translateY(50%);
          transform: translateX(-50%) translateY(50%);
}
@media screen and (max-width: 767.98px) {
  .p-voice__label {
    width: 15.9375rem;
    font-size: 1rem;
    line-height: 1.4;
  }
}

.p-voice__text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  margin-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-voice__text {
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }
}

.p-voice__swiper-prev.swiper-button-prev::before,
.p-voice__swiper-next.swiper-button-next::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../images/voice/swiper-icon-left.svg) no-repeat center/cover;
}
@media screen and (max-width: 767.98px) {
  .p-voice__swiper-prev.swiper-button-prev::before,
  .p-voice__swiper-next.swiper-button-next::before {
    width: 1.4375rem;
    height: 1.4375rem;
  }
}

.p-voice__swiper-next.swiper-button-next::before {
  background: url(../images/voice/swiper-icon-right.svg) no-repeat center/cover;
}

.p-voice__swiper-next.swiper-button-next {
  position: relative;
  -webkit-transform: none;
          transform: none;
  top: auto;
  top: initial;
  right: auto;
  right: initial;
  left: auto;
  left: initial;
  width: 3.1875rem;
  height: 3.1875rem;
  margin: 0;
  margin-left: 0.0625rem;
}
.p-voice__swiper-prev.swiper-button-prev {
  position: relative;
  -webkit-transform: none;
          transform: none;
  top: auto;
  top: initial;
  right: auto;
  right: initial;
  left: auto;
  left: initial;
  width: 3.1875rem;
  height: 3.1875rem;
  margin: 0;
  margin-left: 0.0625rem;
}
.p-voice__swiper-arrows {
  position: relative;
  margin-top: 1rem;
  z-index: 1;
  width: 13.4375rem;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1199px) {
  .p-voice__swiper-arrows {
    width: 8.25rem;
  }
}
@media screen and (max-width: 767.98px) {
  .p-voice__swiper-arrows {
    width: 5rem;
  }
}

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

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

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

@media screen and (min-width: 500px) {
  .u-mobile2 {
    display: none;
  }
}
/*# sourceMappingURL=styles.css.map */
