@charset "UTF-8";
/* 768px〜1119px：PC中間幅（カンプ1120px基準） */
@media screen and (max-width: 1119px) and (min-width: 768px) {
  html {
    font-size: 1.4285714286vw;
  }
}

/* 〜767px：SP幅（カンプ375px基準） */
@media screen and (max-width: 767px) {
  html {
    font-size: 4.1025641026vw;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background: #FFF;
  color: #333333;
  font-family: "Noto Sans JP", "sans-serif";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  overflow-x: hidden;
  position: relative;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  margin: 0;
  padding: 0;
}

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

img {
  border: none;
  height: auto;
  max-width: 100%;
  vertical-align: top;
  display: inline-block;
}

ul,
ol,
li {
  list-style: none;
}

table {
  border: 1px solid #eee;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  width: 100%;
}

th,
td {
  border: 1px solid #eee;
  padding: 4px 6px;
  text-align: left;
  vertical-align: top;
}

@media (max-width: 1023px) {
  .l-footer {
    margin-bottom: 4.825rem;
  }
}

@media (max-width: 767px) {
  .l-footer {
    margin-bottom: 4.25rem;
  }
}

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 500;
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
}

@media (max-width: 1023px) {
  .l-header__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    padding: 1.5rem 2rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.home .l-header {
  position: fixed;
}

.l-section {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

.l-section__inner {
  width: 100%;
  max-width: 1240px;
}

@media (max-width: 1240px) {
  .l-section__inner {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .l-section__inner {
    padding-inline: 1rem;
  }
}

.l-section.bg-red {
  background-color: #FDEEEE;
}

.l-section.bg-beige {
  background-color: #FAF8F2;
}

.l-section.friend::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/friend/bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.l-section.note::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/taiken/bg.png);
  background-position: center center;
}

@media (max-width: 767px) {
  .l-section.note::before {
    background-repeat: repeat;
  }
}

.c-button {
  border-radius: 0.25rem;
  background-color: #F55148;
  padding: 1rem;
  -webkit-box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (max-width: 767px) {
  .c-button {
    padding: 1rem 2rem;
    gap: 0.8125rem;
  }
}

.c-button span {
  display: inline-block;
  min-width: 240px;
  text-align: center;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
}

@media (max-width: 767px) {
  .c-button span {
    min-width: 242px;
  }
}

.c-button span.en {
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-family: "Montserrat";
}

.c-button.large {
  gap: 0.875rem;
  padding-inline: 2rem;
}

.c-button.large span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.c-button.contact {
  height: 4.5rem;
  padding: 1rem 2rem;
}

@media (max-width: 360px) {
  .c-button.contact {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.c-button.contact p {
  min-width: 250px;
  display: inline-block;
  text-align: center;
  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: 1rem;
}

@media (max-width: 360px) {
  .c-button.contact p {
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
  }
}

.c-button.contact p span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

@media (max-width: 767px) {
  .c-button.sp-half {
    padding: 0.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    gap: 0.5rem;
  }

  .c-button.sp-half span {
    width: 100%;
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
    height: 3rem;
    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;
    font-size: 1rem;
  }
}

.c-button.small {
  padding: 0.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.c-button.small span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  font-size: 0.875rem;
}

@media (max-width: 1023px) {
  .c-button.small {
    padding: 1rem;
    width: 100%;
    gap: 0.625rem;
  }

  .c-button.small span {
    font-size: 1.125rem;
    width: calc(100% - 0.875rem);
  }
}

.c-button.cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.6875rem;
}

.c-button .cta-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: 1rem;
  min-width: 250px;
}

.c-button .cta-wrap span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.c-button.blue {
  background-color: #016DC5;
}

.c-button.white {
  background-color: #FFF;
}

.c-button.white span {
  color: #333333;
}

.c-button.white span.red {
  color: #F55148;
}

.c-button.white span.blue {
  color: #42ACCC;
}

.c-button.white span.green {
  color: #22A49C;
}

.c-button.yellow {
  background-color: #FFEF66;
}

.c-button.yellow span {
  color: #333333;
}

.c-button.green {
  background-color: #06C755;
}

.c-button.school {
  background-color: #FFF;
}

@media (max-width: 767px) {
  .c-button.school {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.c-button.school p {
  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: 1rem;
  min-width: 220px;
}

.c-button.school p span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  font-size: 1.125rem;
}

.c-button.school.blue {
  padding: 1rem 2rem;
  gap: 2.25rem;
}

.c-button.school.blue p span {
  color: #016DC5;
}

.c-button.school.pink {
  padding: 0 2rem;
}

.c-button.school.pink p span {
  color: #F55148;
}

.c-childHead {
  width: 100%;
  height: 22.9166666667vw;
  position: relative;
  padding-block: 3.75rem;
  padding-inline: 13.5416666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

@media (max-width: 1023px) {
  .c-childHead {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-inline: 2.5rem;
    padding-block: 0;
  }
}

@media (max-width: 767px) {
  .c-childHead {
    height: 43.5837435898vw;
    padding-inline: 2rem;
  }
}

.c-childHead.information::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/information-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.information::before {
    background-image: url(../img/childHead/information-sp.png);
  }
}

.c-childHead.friend::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/friend-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.friend::before {
    background-image: url(../img/childHead/friend-sp.png);
  }
}

.c-childHead.taiken::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/taiken-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.taiken::before {
    background-image: url(../img/childHead/taiken-sp.png);
  }
}

.c-childHead.staff::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/staff-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.staff::before {
    background-image: url(../img/childHead/staff-sp.png);
  }
}

.c-childHead.pass::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/pass-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.pass::before {
    background-image: url(../img/childHead/pass-sp.png);
  }
}

.c-childHead.school::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/school-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.school::before {
    background-image: url(../img/childHead/school-sp.png);
  }
}

.c-childHead.junior::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/junior-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.junior::before {
    background-image: url(../img/childHead/junior-sp.png);
  }
}

.c-childHead.course-high::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/course-high-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.course-high::before {
    background-image: url(../img/childHead/course-high-sp.png);
  }
}

.c-childHead.course-junior::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/course-junior-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.course-junior::before {
    background-image: url(../img/childHead/course-junior-sp.png);
  }
}

.c-childHead.course-university::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/course-university-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.course-university::before {
    background-image: url(../img/childHead/course-university-sp.png);
  }
}

.c-childHead.senior::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/senior-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.senior::before {
    background-image: url(../img/childHead/senior-sp.png);
  }
}

.c-childHead.high::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-image: url(../img/childHead/high-pc.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .c-childHead.high::before {
    background-image: url(../img/childHead/high-sp.png);
  }
}

.c-childHead__title {
  position: relative;
  color: #FFF;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .c-childHead__title {
    font-size: 1.5rem;
  }
}

.c-childHead__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.5rem;
  position: relative;
}

.c-childHead__wrap .subtitle {
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .c-childHead__wrap .subtitle {
    font-size: 1.125rem;
  }
}

.c-faq__list {
  width: 100%;
  max-width: 1000px;
  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;
}

.c-faq__btn {
  width: 100%;
  text-align: left;
  padding: 1rem 1.5rem;
  background: none;
  border: none;
  font: inherit;
  cursor: pointer;
  position: relative;
  color: #333333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .c-faq__btn {
    padding: 1rem 3rem 1rem 1rem;
    gap: 1rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.c-faq__q {
  border-radius: 0.5rem;
  background-color: #FFF;
}

.c-faq__q img {
  width: 2rem;
}

@media (max-width: 767px) {
  .c-faq__q img {
    width: 2.25rem;
  }
}

.c-faq__q .text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .c-faq__q .text {
    font-size: 1rem;
    width: calc(100% - 3.25rem);
  }
}

.c-faq__btn::after {
  content: "＋";
  position: absolute;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
  color: #F55148;
}

@media (max-width: 767px) {
  .c-faq__btn::after {
    top: 1.75rem;
  }
}

.c-faq__btn[aria-expanded=true]::after {
  content: "－";
  -webkit-transform: translateY(-50%) rotate(0.0001deg);
  transform: translateY(-50%) rotate(0.0001deg);
  color: #F55148;
}

.c-faq__a {
  overflow: hidden;
  -webkit-transition: height 0.3s ease 0s;
  transition: height 0.3s ease 0s;
  background-color: #FDEEEE;
}

.c-faq__a[hidden] {
  display: block;
  height: 0 !important;
  padding: 0 !important;
}

/* keep flow for transition */
.c-faq__a-inner {
  padding: 1.5rem 1.625rem 0;
  line-height: 1.8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .c-faq__a-inner {
    padding-inline: 1rem;
    gap: 1rem;
  }
}

.c-faq__a-inner img {
  width: 2rem;
  -o-object-fit: contain;
  object-fit: contain;
}

@media (max-width: 767px) {
  .c-faq__a-inner img {
    width: 2.25rem;
  }
}

.c-faq__a-inner .text {
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  width: calc(100% - 1.5rem - 2.25rem - 2rem);
}

@media (max-width: 767px) {
  .c-faq__a-inner .text {
    width: calc(100% - 3.25rem);
    font-size: 1rem;
  }
}

.c-title.h2 {
  position: relative;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 2rem;
}

@media (max-width: 767px) {
  .c-title.h2 {
    font-size: 1.5rem;
    padding-bottom: 1.5rem;
    text-align: center;
  }
}

.c-title.h2 .red {
  color: #F55148;
}

.c-title.h2 .large {
  font-size: 4rem;
}

@media (max-width: 767px) {
  .c-title.h2 .large {
    font-size: 2.5rem;
  }
}

.c-title.h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url(../img/utility/head_h2.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 22.6388888889vw;
  aspect-ratio: 326/23;
}

@media (max-width: 767px) {
  .c-title.h2::after {
    width: 72.8205128205vw;
  }
}

.c-title.h2.left::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  background-image: url(../img/utility/head_h2_left.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 22.6388888889vw;
  aspect-ratio: 326/23;
}

@media (max-width: 767px) {
  .c-title.h2.left::after {
    width: 72.8205128205vw;
  }
}

@media (max-width: 1240px) {
  .c-title.h2.left.center-sp::after {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-image: url(../img/utility/head_h2.svg);
  }
}

.c-title.h3 {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  width: 100%;
}

@media (max-width: 767px) {
  .c-title.h3 {
    font-size: 1.25rem;
  }
}

.c-title.h3::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #6e6e6e;
}

.c-title.h3 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}

@media (max-width: 767px) {
  .c-title.h3 span {
    padding: 0 1.5rem;
  }
}

.c-title.h3 span.bg-red {
  background: #FDEEEE;
}

.p-404 {
  padding-block: 5rem;
}

@media (max-width: 1240px) {
  .p-404 {
    padding-inline: 1rem;
  }
}

@media (max-width: 767px) {
  .p-404 {
    padding-block: 2.5rem;
  }
}

.p-404__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
}

@media (max-width: 767px) {
  .p-404__container {
    gap: 3rem;
  }
}

.p-404__title {
  font-size: 4rem;
  font-weight: 700;
}

.p-404__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}

@media (max-width: 767px) {
  .p-404__text {
    gap: 1.5rem;
  }
}

.p-404__text p {
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-404__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5rem;
}

@media (max-width: 767px) {
  .p-404__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
  }
}

.p-archive {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  overflow-x: hidden;
}

@media (max-width: 1240px) {
  .p-archive {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-archive {
    padding: 2.5rem 2rem;
    gap: 1.5rem;
  }
}

.p-archive__wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
}

@media (max-width: 767px) {
  .p-archive__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
  }
}

.p-archive__main {
  width: calc(100% - 13.75rem - 3.125rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
}

@media (max-width: 767px) {
  .p-archive__main {
    width: 100%;
    gap: 2rem;
  }
}

.p-archive__main--entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archive__main--entry {
    gap: 2rem;
    padding-bottom: 2.5rem;
  }
}

.p-archive__main--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
}

.p-archive__main--list li {
  width: 100%;
}

.p-archive__main--list li a {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  padding: 2.5rem 0;
  border-bottom: 1px solid #DDDDDD;
}

@media (max-width: 767px) {
  .p-archive__main--list li a {
    padding: 1.5rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-archive__main--list li a time {
  width: 6.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-archive__main--list li a time {
    width: 100%;
  }
}

.p-archive__main--list li a h2 {
  width: calc(100% - 6.25rem);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-archive__main--list li a h2 {
    width: 100%;
  }
}

.p-archive__main--banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .p-archive__main--banner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem 0.5rem;
  }
}

.p-archive__main--banner a {
  width: 100%;
}

.p-archiveHigh {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-archiveHigh {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-archiveHigh {
    padding: 2.5rem 1rem;
    gap: 1.5rem;
  }
}

.p-archiveHigh__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveHigh__container {
    gap: 2.5rem;
  }
}

.p-archiveHigh__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveHigh__section {
    gap: 1.5rem;
  }
}

.p-archiveHigh__sectionTitle {
  width: 100%;
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-archiveHigh__sectionTitle::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #6E6E6E;
  left: 0;
  top: 50%;
}

.p-archiveHigh__sectionTitle h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 25.625rem;
  background-color: #FFF;
  position: relative;
}

@media (max-width: 767px) {
  .p-archiveHigh__sectionTitle h2 {
    font-size: 1.25rem;
    width: 14.875rem;
  }
}

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

.p-archiveHigh__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0.5rem;
  width: 100%;
}

.p-archiveHigh__card .card-title {
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #22A49C;
  padding: 0.5rem 1.5rem;
  width: 100%;
  text-align: center;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-title {
    padding-inline: 1rem;
  }
}

.p-archiveHigh__card .card-title h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-title h3 {
    font-size: 1.5rem;
  }
}

.p-archiveHigh__card .card-content {
  padding: 1.5rem;
  background-color: #EEF7F2;
  border-radius: 0 0 0.5rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1.5rem 1rem;
    gap: 1rem;
  }
}

.p-archiveHigh__card .card-content .card-img {
  width: 21.875rem;
  height: 17.9375rem;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-content .card-img {
    width: 100%;
    height: 16.625rem;
  }
}

.p-archiveHigh__card .card-content .card-img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-archiveHigh__card .card-content .card-text {
  width: calc(100% - 2.5rem - 21.875rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-content .card-text {
    width: 100%;
  }
}

.p-archiveHigh__card .card-content .card-schools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem 0.25rem;
  text-align: center;
}

.p-archiveHigh__card .card-content .card-schools p {
  padding: 0.25rem 0.25rem;
  border-radius: 0.25rem;
  background-color: #22A49C;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 6.25rem;
}

.p-archiveHigh__card .card-content .card-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
}

.p-archiveHigh__card .card-content .card-features p {
  padding: 0.3125rem 0;
  width: 4rem;
  aspect-ratio: 1/1;
  border-radius: 0.5rem;
  background-color: #FFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
}

.p-archiveHigh__card .card-content .card-features p::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  top: 0.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-archiveHigh__card .card-content .card-features p.is-shudan::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-04.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-able::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-05.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-oneonone::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-07.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-examination::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-08.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-hodai::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-09.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-jiyuu::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-10.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-tablet::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-11.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-features p.is-test::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-12.svg);
  height: 2.125rem;
}

.p-archiveHigh__card .card-content .card-point {
  padding: 3rem 1rem 1rem;
  background-color: #FFF;
  position: relative;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-archiveHigh__card .card-content .card-point::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/course-point.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 5.875rem;
  height: 1.5rem;
  top: 1rem;
  left: 1rem;
}

.p-archiveHigh__card .card-content .card-button .c-button {
  border: 1px solid #22A49C;
  padding: 1rem 3.1875rem 1rem 2rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-content .card-button .c-button {
    padding: 1rem 2.1875rem 1rem 1rem;
  }
}

.p-archiveHigh__card .card-content .card-button .c-button::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/green-arrow.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.5rem;
  height: 0.875rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 2rem;
}

@media (max-width: 767px) {
  .p-archiveHigh__card .card-content .card-button .c-button::after {
    right: 1rem;
  }
}

.p-archiveJunior {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-archiveJunior {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-archiveJunior {
    padding: 2.5rem 1rem;
    gap: 1.5rem;
  }
}

.p-archiveJunior__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveJunior__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-archiveJunior__button .c-button {
  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.5rem;
  border: 1px solid #F55148;
  padding: 1rem 1.5rem;
}

@media (max-width: 767px) {
  .p-archiveJunior__button .c-button {
    width: 100%;
    max-width: 17.5rem;
  }
}

.p-archiveJunior__button .c-button span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-archiveJunior__button .c-button span {
    font-size: 1.125rem;
  }
}

.p-archiveJunior__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveJunior__container {
    gap: 2.5rem;
  }
}

.p-archiveJunior__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveJunior__section {
    gap: 1.5rem;
  }
}

.p-archiveJunior__sectionTitle {
  width: 100%;
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-archiveJunior__sectionTitle::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #6E6E6E;
  left: 0;
  top: 50%;
}

.p-archiveJunior__sectionTitle h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 25.625rem;
  background-color: #FFF;
  position: relative;
}

@media (max-width: 767px) {
  .p-archiveJunior__sectionTitle h2 {
    font-size: 1.25rem;
    width: 14.875rem;
  }
}

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

.p-archiveJunior__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0.5rem;
  width: 100%;
}

.p-archiveJunior__card .card-title {
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #E65A5C;
  padding: 0.5rem 1.5rem;
  width: 100%;
  text-align: center;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-title {
    padding-inline: 1rem;
  }
}

.p-archiveJunior__card .card-title h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-title h3 {
    font-size: 1.5rem;
  }
}

.p-archiveJunior__card .card-content {
  padding: 1.5rem;
  background-color: #FFF0F2;
  border-radius: 0 0 0.5rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1.5rem 1rem;
    gap: 1rem;
  }
}

.p-archiveJunior__card .card-content .card-img {
  width: 21.875rem;
  height: 17.9375rem;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-content .card-img {
    width: 100%;
    height: 16.625rem;
  }
}

.p-archiveJunior__card .card-content .card-img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-archiveJunior__card .card-content .card-text {
  width: calc(100% - 2.5rem - 21.875rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-content .card-text {
    width: 100%;
  }
}

.p-archiveJunior__card .card-content .card-schools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem 0.25rem;
  text-align: center;
}

.p-archiveJunior__card .card-content .card-schools p {
  padding: 0.25rem 0.25rem;
  border-radius: 0.25rem;
  background-color: #E65A5C;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 6.25rem;
}

.p-archiveJunior__card .card-content .card-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
}

.p-archiveJunior__card .card-content .card-features p {
  padding: 0.3125rem 0;
  width: 4rem;
  aspect-ratio: 1/1;
  border-radius: 0.5rem;
  background-color: #FFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
}

.p-archiveJunior__card .card-content .card-features p::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  top: 0.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-archiveJunior__card .card-content .card-features p.is-shudan::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-04.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-able::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-05.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-oneonone::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-07.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-examination::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-08.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-hodai::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-09.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-jiyuu::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-10.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-tablet::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-11.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-features p.is-test::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-12.svg);
  height: 2.125rem;
}

.p-archiveJunior__card .card-content .card-point {
  padding: 3rem 1rem 1rem;
  background-color: #FFF;
  position: relative;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-archiveJunior__card .card-content .card-point::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/course-point.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 5.875rem;
  height: 1.5rem;
  top: 1rem;
  left: 1rem;
}

.p-archiveJunior__card .card-content .card-button .c-button {
  border: 1px solid #F55148;
  padding: 1rem 3.1875rem 1rem 2rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-content .card-button .c-button {
    padding: 1rem 2.1875rem 1rem 1rem;
  }
}

.p-archiveJunior__card .card-content .card-button .c-button::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/red-arrow.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.5rem;
  height: 0.875rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 2rem;
}

@media (max-width: 767px) {
  .p-archiveJunior__card .card-content .card-button .c-button::after {
    right: 1rem;
  }
}

.p-archiveSenior {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-archiveSenior {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-archiveSenior {
    padding: 2.5rem 1rem;
    gap: 1.5rem;
  }
}

.p-archiveSenior__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveSenior__container {
    gap: 2.5rem;
  }
}

.p-archiveSenior__section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveSenior__section {
    gap: 1.5rem;
  }
}

.p-archiveSenior__sectionTitle {
  width: 100%;
  text-align: center;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-archiveSenior__sectionTitle::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #6E6E6E;
  left: 0;
  top: 50%;
}

.p-archiveSenior__sectionTitle h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 25.625rem;
  background-color: #FFF;
  position: relative;
}

@media (max-width: 767px) {
  .p-archiveSenior__sectionTitle h2 {
    font-size: 1.25rem;
    width: 14.875rem;
  }
}

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

.p-archiveSenior__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 0.5rem;
  width: 100%;
}

.p-archiveSenior__card .card-title {
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #42ACCC;
  padding: 0.5rem 1.5rem;
  width: 100%;
  text-align: center;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-title {
    padding-inline: 1rem;
  }
}

.p-archiveSenior__card .card-title h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-title h3 {
    font-size: 1.5rem;
  }
}

.p-archiveSenior__card .card-content {
  padding: 1.5rem;
  background-color: #EDF7FF;
  border-radius: 0 0 0.5rem 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1.5rem 1rem;
    gap: 1rem;
  }
}

.p-archiveSenior__card .card-content .card-img {
  width: 21.875rem;
  height: 17.9375rem;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-content .card-img {
    width: 100%;
    height: 16.625rem;
  }
}

.p-archiveSenior__card .card-content .card-img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-archiveSenior__card .card-content .card-text {
  width: calc(100% - 2.5rem - 21.875rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-content .card-text {
    width: 100%;
  }
}

.p-archiveSenior__card .card-content .card-schools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.25rem 0.25rem;
  text-align: center;
}

.p-archiveSenior__card .card-content .card-schools p {
  padding: 0.25rem 0.25rem;
  border-radius: 0.25rem;
  background-color: #42ACCC;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 6.25rem;
}

.p-archiveSenior__card .card-content .card-features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
}

.p-archiveSenior__card .card-content .card-features p {
  padding: 0.3125rem 0;
  width: 4rem;
  aspect-ratio: 1/1;
  border-radius: 0.5rem;
  background-color: #FFF;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
}

.p-archiveSenior__card .card-content .card-features p::before {
  content: "";
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  top: 0.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-archiveSenior__card .card-content .card-features p.is-shudan::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-04.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-able::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-05.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-oneonone::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-07.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-examination::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-08.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-hodai::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-09.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-jiyuu::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-10.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-tablet::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-11.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-features p.is-test::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/icon-features-12.svg);
  height: 2.125rem;
}

.p-archiveSenior__card .card-content .card-point {
  padding: 3rem 1rem 1rem;
  background-color: #FFF;
  position: relative;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-archiveSenior__card .card-content .card-point::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/course-point.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 5.875rem;
  height: 1.5rem;
  top: 1rem;
  left: 1rem;
}

.p-archiveSenior__card .card-content .card-button .c-button {
  border: 1px solid #42ACCC;
  padding: 1rem 3.1875rem 1rem 2rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-content .card-button .c-button {
    padding: 1rem 2.1875rem 1rem 1rem;
  }
}

.p-archiveSenior__card .card-content .card-button .c-button::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/blue-arrow.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.5rem;
  height: 0.875rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 2rem;
}

@media (max-width: 767px) {
  .p-archiveSenior__card .card-content .card-button .c-button::after {
    right: 1rem;
  }
}

.p-archiveSchool {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  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;
}

@media (max-width: 767px) {
  .p-archiveSchool {
    padding-inline: 1rem;
  }
}

.p-archiveSchool__button {
  padding: 2.5rem 0;
  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;
  gap: 2.5rem 2.5rem;
}

@media (max-width: 767px) {
  .p-archiveSchool__button {
    gap: 1rem 1rem;
    width: 100%;
    padding: 1.5rem 0;
  }

  .p-archiveSchool__button .c-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
    width: calc((100% - 1rem) / 2);
    padding: 0.5rem;
  }

  .p-archiveSchool__button .c-button span {
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-archiveSchool__article {
  padding: 5rem 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
}

@media (max-width: 767px) {
  .p-archiveSchool__article {
    padding: 2.5rem 1rem;
    gap: 4rem;
  }
}

.p-archiveSchool__article--card {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
}

@media (max-width: 767px) {
  .p-archiveSchool__article--card {
    gap: 1rem;
  }
}

.p-archiveSchool__article--card .card-title h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-archiveSchool__article--card .card-title h2 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-archiveSchool__article--card .card-wrap {
  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%;
}

@media (max-width: 1240px) {
  .p-archiveSchool__article--card .card-wrap {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5rem;
  }
}

@media (max-width: 767px) {
  .p-archiveSchool__article--card .card-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-archiveSchool__article--card .card-img {
  width: 32.1875rem;
  max-width: 515px;
}

@media (max-width: 767px) {
  .p-archiveSchool__article--card .card-img {
    width: 100%;
  }
}

.p-archiveSchool__article--card .card-text {
  width: 29rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media (max-width: 767px) {
  .p-archiveSchool__article--card .card-text {
    width: 100%;
  }
}

.p-archiveSchool__article--card .card-category {
  margin-bottom: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.p-archiveSchool__article--card .card-category p {
  color: #FFF;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-archiveSchool__article--card .card-category p.category01 {
  background-color: #EB6877;
}

.p-archiveSchool__article--card .card-category p.category02 {
  background-color: #F87D28;
}

.p-archiveSchool__article--card .card-category p.category03 {
  background-color: #468AC7;
}

.p-archiveSchool__article--card .card-category p.category04 {
  background-color: #32B16C;
}

.p-archiveSchool__article--card .card-category p.category05 {
  background-color: #556FB5;
}

.p-archiveSchool__article--card .card-category p.category06 {
  background-color: #A42275;
}

.p-archiveSchool__article--card .card-info {
  margin-bottom: 1.5rem;
  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.5rem;
}

.p-archiveSchool__article--card .card-info .card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: self-start;
  -ms-flex-align: self-start;
  align-items: self-start;
  gap: 0.5rem;
  width: 100%;
}

.p-archiveSchool__article--card .card-info .card-list .card-icon svg {
  width: 2rem;
  aspect-ratio: 1/1;
}

.p-archiveSchool__article--card .card-info .card-list .card-text .map {
  padding: 0.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  background-color: #E8E8E8;
  border-radius: 999px;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.5rem;
}

.p-archiveSchool__article--card .card-info .card-list .card-text .map span {
  width: 6.25rem;
}

.p-archiveSchool__article--card .card-info .card-list .card-text .tel {
  margin-bottom: 0.25rem;
}

.p-archiveSchool__article--card .card-info .card-list .card-text .tel:last-child {
  margin-bottom: 0;
}

.p-archiveSchool__article--card .card-info .card-list .card-text .tel a {
  color: #2672BE;
  text-decoration: underline;
}

.p-archiveTop {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 1240px) {
  .p-archiveTop {
    padding-inline: 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media (max-width: 767px) {
  .p-archiveTop {
    padding: 2.5rem 1rem;
  }
}

.p-archiveTop__news {
  width: 22.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-archiveTop__news {
    width: 100%;
    max-width: 800px;
    padding-inline: 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2.5rem;
  }
}

.p-archiveTop__news--list {
  width: 100%;
  margin-top: -1rem;
}

.p-archiveTop__news li {
  border-bottom: 1px solid #E8E8E8;
}

.p-archiveTop__news li a {
  padding: 1rem;
  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: 1rem;
}

@media (max-width: 1240px) {
  .p-archiveTop__news li a {
    padding: 1rem 0;
  }
}

.p-archiveTop__news li a .item-wrap {
  width: calc(100% - 1.375rem);
  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.25rem;
}

.p-archiveTop__news li a .item-wrap time {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-archiveTop__news li a .item-wrap h3 {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  height: 1.75rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-archiveTop__news li a svg {
  width: 0.375rem;
  aspect-ratio: 1/2;
}

.p-archiveTop__blog {
  width: 50rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-archiveTop__blog {
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-inline: 1rem;
  }
}

@media (max-width: 767px) {
  .p-archiveTop__blog {
    padding-inline: 0;
    gap: 1.5rem;
  }
}

.p-archiveTop__blog--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .p-archiveTop__blog--list {
    -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: 1.5rem;
  }
}

.p-archiveTop__blog--list li {
  width: 15.625rem;
}

@media (max-width: 1240px) {
  .p-archiveTop__blog--list li {
    width: calc((100% - 4rem) / 3);
  }
}

@media (max-width: 767px) {
  .p-archiveTop__blog--list li {
    width: 100%;
  }
}

.p-archiveTop__blog--list li a {
  width: 100%;
  padding: 1rem;
  -webkit-box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.p-archiveTop__blog--list li a img {
  border-radius: 0.5rem;
  aspect-ratio: 338/220;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-archiveTop__blog--list li a h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  height: 3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-banner {
  padding-bottom: 2.5rem;
}

.p-banner__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 2.5rem;
}

@media (max-width: 1023px) {
  .p-banner__container {
    padding-inline: 1.5rem;
    gap: 1.5rem;
  }
}

.p-banner__container a {
  max-height: 235px;
  height: 16.31944444444444vw;
  width: fit-content;
}

.p-banner__container a img {
  object-fit: contain;
  height: 100%;
  width: auto;
}

@media (max-width: 767px) {
  .p-banner__container a {
    width: 100%;
        height: auto;
  }

  .p-banner__container a img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 767px) {
  .p-banner__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-banner.course {
  padding-top: 2.5rem;
  padding-bottom: 0;
}

.p-breadcrumb.bg-beige {
  background-color: #FAF8F2;
}

.p-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.6875rem;
  list-style: none;
  padding: 1.5rem 6.25rem;
}

@media (max-width: 1240px) {
  .p-breadcrumb__list {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-breadcrumb__list {
    padding: 0.5rem 1rem 1.5rem 2rem;
  }
}

.p-breadcrumb__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1;
  padding-top: 0.25rem;
}

@media (max-width: 767px) {
  .p-breadcrumb__item {
    font-size: 0.75rem;
  }
}

.p-breadcrumb__link {
  text-decoration: none;
}

.p-breadcrumb__sep::before {
  content: url(../img/utility/breadcrumb.svg);
}

@media (max-width: 480px) {
  .p-breadcrumb__item:not(:first-child):not(:last-child) .p-breadcrumb__link span {
    max-width: 8em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.p-column {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  overflow-x: hidden;
}

@media (max-width: 1240px) {
  .p-column {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-column {
    padding: 2.5rem 2rem;
    gap: 1.5rem;
  }
}

.p-column__wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
}

@media (max-width: 767px) {
  .p-column__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
  }
}

.p-column__main {
  width: calc(100% - 13.75rem - 3.125rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
}

@media (max-width: 767px) {
  .p-column__main {
    width: 100%;
    gap: 2rem;
  }
}

.p-column__main--entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-column__main--entry {
    gap: 2rem;
    padding-bottom: 2.5rem;
  }
}

.p-column__main--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2.5rem 2.5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-column__main--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-column__main--list li {
  width: calc((100% - 2.5rem) / 2);
}

@media (max-width: 767px) {
  .p-column__main--list li {
    width: 100%;
  }
}

.p-column__main--list li a {
  width: 100%;
  padding: 1rem;
  -webkit-box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.p-column__main--list li a img {
  border-radius: 0.5rem;
  aspect-ratio: 338/220;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-column__main--list li a h2 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  height: 3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-column__main--banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .p-column__main--banner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem 0.5rem;
  }
}

.p-column__main--banner a {
  width: 32%;
}

@media (max-width: 767px) {
  .p-column__main--banner a {
    width: calc((100% - 0.5rem) / 2);
  }
}

.p-contact {
  padding-block: 5rem;
  background-color: #FAF8F2;
}

@media (max-width: 767px) {
  .p-contact {
    padding-block: 2.5rem;
  }
}

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

@media (max-width: 767px) {
  .p-contact__container {
    gap: 3.5rem;
  }
}

.p-contact__container--wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
}

@media (max-width: 767px) {
  .p-contact__container--wrapper {
    gap: 2.5rem;
  }
}

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

.p-contact__card--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-contact__card--item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 4rem;
  }
}

.p-contact__card--item .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  background-color: #FFF;
  border-radius: 0.5rem;
  padding: 2.5rem 4rem;
  position: relative;
}

@media (max-width: 1023px) {
  .p-contact__card--item .card {
    padding: 2.5rem 2rem 1rem;
  }
}

@media (max-width: 767px) {
  .p-contact__card--item .card {
    padding-inline: 1rem;
  }
}

.p-contact__card--item .card .accent {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: -3.125rem;
  width: 22.1875rem;
  aspect-ratio: 355/79.45;
}

@media (max-width: 767px) {
  .p-contact__card--item .card .accent {
    width: 20.375rem;
  }
}

.p-contact__card--item .card .card-title {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-contact__card--item .card .card-title {
    font-size: 1.5rem;
  }
}

.p-contact__card--item .card .card-text {
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 0.5rem;
}

@media (max-width: 767px) {
  .p-contact__card--item .card .card-text {
    margin-top: 0;
  }
}

.p-contact__card--item .card .card-text .small {
  font-size: 0.875rem;
}

.p-contact__card--note {
  font-size: 1rem;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-contact__card--note {
    font-size: 0.875rem;
  }
}

.p-contact__privacy {
  width: 100%;
  max-width: 1050px;
  padding: 1.5rem 0 1rem;
  background-color: #FFF;
  height: 18.25rem;
  overflow-y: hidden;
}

@media (max-width: 767px) {
  .p-contact__privacy {
    padding-bottom: 1.5rem;
    height: 25.25rem;
  }
}

.p-contact__privacy--container {
  height: 100%;
  overflow-y: scroll;
  padding-inline: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
}

@media (max-width: 767px) {
  .p-contact__privacy--container {
    padding-inline: 0.75rem;
  }
}

.p-contact__privacy--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: 1rem;
}

.p-contact__privacy--title {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333333;
}

@media (max-width: 767px) {
  .p-contact__privacy--title {
    font-size: 1rem;
  }
}

.p-contact__privacy--text {
  font-size: 1rem;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-contact__privacy--text {
    font-size: 0.875rem;
  }
}

.p-contact__privacy--text .link {
  text-decoration: underline;
}

.p-contact__privacy--text .bold {
  font-weight: 700;
}

.p-course {
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-course {
    padding: 2.5rem 0;
    gap: 1.5rem;
  }
}

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

.p-course__title svg {
  width: 3.5rem;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .p-course__title svg {
    width: 2.5rem;
  }
}

.p-course__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 2.1875rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-course__wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-course__card {
  border-radius: 0.5rem;
  -webkit-box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  position: relative;
  width: calc((100% - 4.375rem) / 3);
}

.p-course__card.card01 {
  background-color: #FFF0F2;
}

.p-course__card.card02 {
  background-color: #EDF7FF;
}

.p-course__card.card03 {
  background-color: #EEF7F2;
}

@media (max-width: 767px) {
  .p-course__card {
    width: 100%;
  }
}

.p-course__card--title {
  border-radius: 0.5rem 0.5rem 0 0;
  padding: 0.5rem 1rem;
  text-align: center;
}

.p-course__card--title.card01 {
  background-color: #E65A5C;
}

.p-course__card--title.card02 {
  background-color: #42ACCC;
}

.p-course__card--title.card03 {
  background-color: #22A49C;
}

.p-course__card--title h3 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-course__card--title h3 {
    font-size: 1.25rem;
  }
}

.p-course__card--contents {
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 1.5rem 1.5rem 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-course__card--contents {
    padding: 1rem 1rem 3.5rem;
  }
}

.p-course__card--contents .subtitle {
  text-align: center;
}

.p-course__card--contents .subtitle p {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-course__card--contents .subtitle p {
    font-size: 1rem;
  }
}

.p-course__card--contents .course p {
  letter-spacing: 0.05em;
}

@media (max-width: 1240px) {
  .p-course__card--contents .course p {
    font-size: 0.875rem;
  }
}

.p-course__card .arrow {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 2rem;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .p-course__card .arrow {
    right: 1rem;
    bottom: 1rem;
  }
}

.p-courseList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.5rem 1.5rem;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 auto;
  width: 62.5rem;
}

@media (max-width: 767px) {
  .p-courseList {
    width: 100%;
  }
}

.p-courseList__item {
  padding: 1rem 3.5rem 1rem 1.5rem;
  border-radius: 0.5rem;
  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.5rem;
  width: 30.5rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-courseList__item {
    width: 100%;
    padding: 1rem 3rem 1rem 1rem;
  }
}

.p-courseList__item .large {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-courseList__item .large {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-courseList__item .small {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleSchool__course--junior .p-courseList__item {
  background-color: #FFF0F2;
}

.p-singleSchool__course--junior .p-courseList__item::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/school-junior-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.5rem;
  aspect-ratio: 1/1;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .p-singleSchool__course--junior .p-courseList__item::after {
    right: 1rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__course--senior .p-courseList {
    padding-inline: 1rem;
  }
}

.p-singleSchool__course--senior .p-courseList__item {
  background-color: #EDF7FF;
}

.p-singleSchool__course--senior .p-courseList__item::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/school-senior-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.5rem;
  aspect-ratio: 1/1;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .p-singleSchool__course--senior .p-courseList__item::after {
    right: 1rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__course--high .p-courseList {
    padding-inline: 1rem;
  }
}

.p-singleSchool__course--high .p-courseList__item {
  background-color: #EEF7F2;
}

.p-singleSchool__course--high .p-courseList__item::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/school-high-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 1.5rem;
  aspect-ratio: 1/1;
  right: 1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .p-singleSchool__course--high .p-courseList__item::after {
    right: 1rem;
  }
}

.p-cta {
  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;
  position: relative;
}

@media (max-width: 1240px) {
  .p-cta {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-cta {
    padding-inline: 1rem;
  }
}

.p-cta.top {
  margin-top: 5rem;
}

@media (max-width: 767px) {
  .p-cta.top {
    margin-top: 2.5rem;
  }
}

.p-cta.bottom {
  margin-bottom: 5rem;
}

@media (max-width: 767px) {
  .p-cta.bottom {
    margin-bottom: 2.5rem;
  }
}

.p-cta__inner {
  position: relative;
  width: 100%;
  max-width: 1190px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.25rem;
  padding: 2.5rem 0;
}

@media (max-width: 767px) {
  .p-cta__inner {
    gap: 0;
    padding: 0;
  }
}

.p-cta__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1190/300;
  background-image: url(../img/cta/cta_pc.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

@media (max-width: 767px) {
  .p-cta__inner::before {
    display: none;
  }
}

.p-cta__text {
  position: relative;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-cta__text {
    font-size: 1.25rem;
    text-align: left;
    width: 100%;
    padding: 1.4375rem 1rem 5.375rem;
  }
}

@media (max-width: 767px) {
  .p-cta__text::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 358/199;
    background-image: url(../img/cta/cta_sp.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: -1;
  }
}

.p-cta__text::after {
  content: "";
  position: absolute;
  bottom: -1.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url(../img/cta/cta_underline.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 27.25rem;
  aspect-ratio: 436/56;
}

@media (max-width: 767px) {
  .p-cta__text::after {
    width: 15.875rem;
    bottom: 4.5rem;
    left: 0;
    -webkit-transform: translateX(0.5rem);
    transform: translateX(0.5rem);
  }
}

.p-cta__button {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2.5rem;
}

@media (max-width: 767px) {
  .p-cta__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-ctaPass {
  width: 100%;
  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;
  padding: 2.5rem 0;
  background-color: #FDF9D9;
  margin-bottom: 5rem;
}

@media (max-width: 1240px) {
  .p-ctaPass {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-ctaPass {
    margin-bottom: 2.5rem;
  }
}

.p-ctaPass a {
  width: 100%;
  max-width: 49.5625rem;
}

.p-ctaButton {
  position: fixed;
  z-index: 100;
  bottom: 2rem;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

@media (max-width: 1023px) {
  .p-ctaButton {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0;
    bottom: 0;
    width: 100%;
  }
}

.p-ctaButton__button {
  padding: 1.5rem 0.625rem;
  border-radius: 0.5rem 0 0 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

@media (max-width: 1023px) {
  .p-ctaButton__button {
    width: 33.3333333333%;
    padding: 1rem 0.25rem;
    border-radius: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1rem;
  }
}

@media (max-width: 1023px) and (max-width: 767px) {
  .p-ctaButton__button {
    gap: 0.25rem;
  }

  .p-ctaButton__button.large {
    gap: 0.5rem;
  }
}

.p-ctaButton__button svg {
  width: 2.25rem;
}

@media (max-width: 767px) {
  .p-ctaButton__button svg {
    width: 1.75rem;
  }
}

.p-ctaButton__button p {
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 767px) {
  .p-ctaButton__button p {
    text-align: left;
  }
}

@media (max-width: 767px) {
  .p-ctaButton__button p {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0em;
  }
}

.p-ctaButton__button.blue {
  background-color: #016DC5;
}

.p-ctaButton__button.red {
  background-color: #F55148;
}

.p-ctaButton__button.green {
  background-color: #06C755;
}

.p-default {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-default {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-default {
    padding: 2.5rem 1rem;
    gap: 2rem;
  }
}

.p-default div {
  line-height: 1.75;
}

.p-default h1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-color: #EDF7FF;
  padding: 2rem 0;
  width: 100vw;
  text-align: center;
}

@media (max-width: 767px) {
  .p-default h1 {
    font-size: 1.5rem;
  }
}

.p-default h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-top: 4px solid #42ACCC;
  border-bottom: 4px solid #42ACCC;
  padding: 1rem;
}

@media (max-width: 767px) {
  .p-default h2 {
    font-size: 1.125rem;
  }
}

.p-default h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px dashed #42ACCC;
}

@media (max-width: 767px) {
  .p-default h3 {
    font-size: 1rem;
  }
}

.p-default a {
  color: #2672BE;
  text-decoration: underline;
  position: relative;
}

.p-default img {
  max-width: 800px;
  width: 100%;
}

.p-default blockquote {
  padding: 1rem 2rem 2rem;
  background-color: #EEF7F2;
}

@media (max-width: 767px) {
  .p-default blockquote {
    padding: 1rem;
  }
}

.p-default blockquote h2,
.p-default blockquote h3,
.p-default blockquote h4 {
  margin-top: 1rem;
}

.p-default ul li {
	list-style: disc;
}

.p-drawer {
  position: fixed;
  width: 100%;
  background-color: #FFF;
  z-index: 300;
  top: 0;
  -webkit-transform: translateY(-105%);
  transform: translateY(-105%);
  right: 0;
  padding-top: 6.08125rem;
  padding-bottom: 2.5rem;
  padding-inline: 2rem;
  display: none;
  overflow-y: scroll;
  height: 100vh;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-drawer.menu-open {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media (max-width: 1023px) {
  .p-drawer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
    max-width: 400px;
  }
}

@media (max-width: 767px) {
  .p-drawer {
    max-width: 100%;
  }
}

.p-drawer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
}

.p-drawer__list a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-drawer__list--item {
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 1.5rem;
}

.p-drawer__list--item .has-accent {
  position: relative;
}

.p-drawer__list--item .has-accent::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 5.8125rem;
  width: 8.75rem;
  aspect-ratio: 140/36;
  background-image: url(../img/utility/menu-accent_sp.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

.p-drawer__list--item.double-menu {
  border-bottom: none;
  padding-bottom: 0;
  position: relative;
}

.p-drawer__list--item.double-menu::after {
  content: "＋";
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 1rem;
  height: 1rem;
  line-height: 1rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-drawer__list--item.double-menu.toggle::after {
  content: "｜";
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.p-drawer__list--item.double-menu a {
  padding-inline: 0.5rem;
}

.p-drawer__list--item.double-menu .menu-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-drawer__list--item.double-menu .divider {
  width: 100%;
  height: 1px;
  background-color: #E8E8E8;
  margin-top: 1.5rem;
}

.p-drawer__list--item.double-menu .child-menu {
  padding-inline: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 8px;
  overflow-y: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.p-drawer__list--item.double-menu .child-menu.child-open {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.p-drawer__list--item.double-menu .child-menu li:first-child {
  margin-top: 1rem;
}

.p-drawer__list--item.double-menu .child-menu a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-inline: 0.5rem;
}

.p-drawer__list--item.double-menu .child-menu a img {
  display: inline-block;
  width: 0.375rem;
}

.p-drawer__list--item.double-menu .child-menu a span {
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.p-drawer__list--item .single-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  padding-inline: 0.5rem;
}

.p-drawer__list--item .single-menu img {
  display: inline-block;
  width: 0.375rem;
}

.p-drawer__list--item .single-menu span {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-drawer__sns {
  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: 2.5rem;
}

.p-drawer__sns a {
  width: 3rem;
}

.p-drawer__sns a img {
  width: 100%;
  aspect-ratio: 1/1;
}

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

.drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.drawer-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

/* スクロール禁止 */
.body-fixed {
  overflow: hidden;
  height: 100%;
}

.p-faq {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-faq {
    padding-inline: 1rem;
  }
}

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

.p-faq__content--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.p-faq__content--title svg {
  width: 6.625rem;
}

@media (max-width: 767px) {
  .p-faq__content--title svg {
    width: 5.625rem;
  }
}

.p-footer {
  width: 100%;
}

.p-footer__school {
  padding: 5rem 1.5rem;
  width: 100%;
  background-color: #F4F4F4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-footer__school {
    padding-block: 2.5rem;
    gap: 1.5rem;
  }
}

.p-footer__school--title {
  text-align: center;
}

.p-footer__school--title svg {
  margin-bottom: 0.25rem;
  width: 4.125rem;
}

@media (max-width: 767px) {
  .p-footer__school--title svg {
    width: 3.4375rem;
  }
}

.p-footer__school--list {
  width: 100%;
  max-width: 1050px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3rem 3rem;
}

@media (max-width: 767px) {
  .p-footer__school--list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    padding-inline: 0.5rem 1.125rem;
  }
}

.p-footer__school--list .school {
  width: calc((100% - 6rem) / 3);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-footer__school--list .school {
    width: 100%;
  }
}

.p-footer__school--list .school-name {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333333;
}

@media (max-width: 767px) {
  .p-footer__school--list .school-name {
    font-size: 1.125rem;
  }
}

.p-footer__school--list .grade-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.p-footer__school--list .grade-title {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-footer__school--list .course-list {
  padding-left: 1rem;
}

.p-footer__school--list .course-list li {
  position: relative;
  font-size: 0.875rem;
}

@media (max-width: 767px) {
  .p-footer__school--list .course-list li {
    font-size: 0.75rem;
  }
}

.p-footer__school--list .course-list li::before {
  content: "・";
  position: absolute;
  left: -1rem;
}

.p-footer__nav {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  background-color: #666666;
  padding-top: 2.5rem;
  padding-bottom: 1rem;
  padding-inline: 1.5rem;
}

@media (max-width: 767px) {
  .p-footer__nav {
    padding-top: 1.5rem;
    gap: 1rem;
  }
}

.p-footer__nav--menu .menu-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .p-footer__nav--menu .menu-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1rem 1rem;
  }
}

.p-footer__nav--menu .menu-item {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-footer__nav--menu .menu-item {
    font-size: 0.875rem;
  }
}

.p-footer__nav--menu .divide {
  width: 1px;
  height: 1.5rem;
  background-color: #FFF;
}

.p-footer__nav--sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
}

.p-footer__nav--sns a {
  width: 2rem;
}

@media (max-width: 767px) {
  .p-footer__nav--sns a {
    width: 3rem;
  }
}

.p-footer__nav--copyright {
  font-size: 0.875rem;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-footer__nav--copyright {
    font-size: 0.75rem;
  }
}

.p-friend {
  width: 100%;
}

.p-friend__item01 {
  padding: 2.5rem 0 3.5rem;
  max-width: 1051px;
}

@media (max-width: 1240px) {
  .p-friend__item01 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-friend__item01 {
    padding: 2.5rem 1.5rem 3.75rem;
  }
}

.p-friend__item01--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-friend__item01--container {
    gap: 1rem;
  }
}

.p-friend__item01--title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.p-friend__item01--title .accent {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-friend__item01--title .accent::before {
  content: "";
  position: absolute;
  background-image: url(../img/friend/title-pc.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  width: 30.375rem;
  aspect-ratio: 486/54;
}

@media (max-width: 767px) {
  .p-friend__item01--title .accent::before {
    background-image: url(../img/friend/title-sp.png);
    width: 20.375rem;
    aspect-ratio: 326/108;
  }
}

.p-friend__item01--title .accent span {
  font-size: 1.75rem;
  color: #F55148;
}

@media (max-width: 767px) {
  .p-friend__item01--title .accent span {
    font-size: 1.5rem;
  }
}

.p-friend__item01--title img {
  width: 36.1875rem;
}

@media (max-width: 767px) {
  .p-friend__item01--title img {
    width: 22.375rem;
  }
}

.p-friend__item01--detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-friend__item01--detail {
    gap: 1.5rem;
    -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;
  }
}

@media (min-width: 768px) {
  .p-friend__item01--detail .divide-arrow {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 2.5rem;
    width: 10.625rem;
  }
}

@media (max-width: 767px) {
  .p-friend__item01--detail .divide-arrow {
    width: 4.75rem;
  }
}

.p-friend__item01--detail .detail-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  width: calc((100% - 3rem) / 2);
}

@media (max-width: 767px) {
  .p-friend__item01--detail .detail-wrap {
    gap: 0.75rem;
    width: 100%;
  }
}

.p-friend__item01--detail .detail-wrap .detail-img {
  width: 100%;
}

.p-friend__item01--detail .detail-wrap .detail-arrow {
  width: 3.75rem;
}

@media (max-width: 767px) {
  .p-friend__item01--detail .detail-wrap .detail-arrow {
    width: 2.625rem;
  }
}

.p-friend__item01--detail .detail-wrap .detail-person {
  width: 18.75rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-friend__item01--detail .detail-wrap .detail-person {
    width: 13.375rem;
  }
}

.p-friend__item01--detail .detail-wrap .detail-person .text {
  padding: 0.5rem 1.5rem;
  border-radius: 0.5rem;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: absolute;
  bottom: -1rem;
  text-align: center;
  white-space: nowrap;
  min-width: 19.75rem;
}

@media (max-width: 767px) {
  .p-friend__item01--detail .detail-wrap .detail-person .text {
    font-size: 1.5rem;
    min-width: 14.0625rem;
    bottom: -1.25rem;
    margin-bottom: 1.25rem;
  }
}

.p-friend__item01--detail .detail-wrap .detail-person .text.t-blue {
  background-color: #016DC5;
}

.p-friend__item01--detail .detail-wrap .detail-person .text.t-red {
  background-color: #F55148;
}

.p-friend__item02 {
  padding: 5rem 0;
  max-width: 1051px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 1240px) {
  .p-friend__item02 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-friend__item02 {
    padding: 5rem 0.875rem 2.5rem;
  }
}

.p-friend__item02--contents {
  position: relative;
  padding: 4rem 9.0625rem 3rem;
  background-color: #FDF9D9;
  border: 5px solid #FFEF66;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
}

@media (max-width: 1024px) {
  .p-friend__item02--contents {
    padding-inline: 4.5rem;
  }
}

@media (max-width: 767px) {
  .p-friend__item02--contents {
    padding-inline: 0.875rem;
    padding-top: 4.25rem;
    padding-bottom: 1.5rem;
    gap: 1.5rem;
  }
}

.p-friend__item02--title {
  border-radius: 0.5rem;
  background-color: #FFEF66;
  padding: 0.625rem 3.5rem;
  position: absolute;
  top: -2.5rem;
}

@media (max-width: 767px) {
  .p-friend__item02--title {
    padding-inline: 1rem;
    width: calc(100% - 2rem);
    top: -3rem;
  }
}

.p-friend__item02--title h2 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
}

@media (max-width: 767px) {
  .p-friend__item02--title h2 {
    font-size: 1.5rem;
  }

  .p-friend__item02--title h2 img {
    position: absolute;
    width: 28.0692307692vw;
    right: -1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.p-friend__item02--text {
  min-width: 47.5rem;
}

@media (max-width: 767px) {
  .p-friend__item02--text {
    min-width: 100%;
  }
}

.p-friend__item02--text p {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 767px) {
  .p-friend__item02--text p {
    font-size: 1rem;
    text-align: left;
  }
}

.p-friend__item02--text p .red {
  color: #F55148;
}

.p-friend__item02--note {
  min-width: 47.5rem;
}

@media (max-width: 767px) {
  .p-friend__item02--note {
    min-width: 100%;
  }
}

.p-friend__item02--note p {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.p-friend__item02--accent {
  position: absolute;
  right: 3.1875rem;
  bottom: 0;
  width: 13.0555555556vw;
  aspect-ratio: 188/164;
}

.p-header__top {
  width: 100%;
  max-width: 1240px;
  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;
}

.p-header__top--sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
}

.p-header__top--sns a {
  width: 2rem;
}

.p-header__top--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

.p-header__bottom {
  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: 2.625rem;
  width: 100%;
  max-width: 1240px;
}

@media screen and (max-width: 1239px) and (min-width: 768px) {
  .p-header__bottom {
    gap: 2rem;
  }
}

@media (max-width: 1023px) {
  .p-header__bottom {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.p-header__bottom--menu {
  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: 3rem;
  width: calc((100% - 10.4861111111vw - 5.25rem) / 2);
}

.p-header__bottom--menu .has-sub {
  position: relative;
}

.p-header__bottom--menu .has-accent {
  position: relative;
}

.p-header__bottom--menu .has-accent::before {
  content: "";
  position: absolute;
  top: calc(-100% - 1rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 9.7222222222vw;
  aspect-ratio: 140/36;
  background-image: url(../img/utility/menu-accent.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

@media (max-width: 1240px) {
  .p-header__bottom--menu .has-accent::before {
    top: -100%;
  }
}

.p-header__bottom--menu .submenu {
  position: absolute;
  top: calc(100% - 0.1875rem);
  left: 0;
  background-color: transparent;
  padding-top: 1.5rem;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  z-index: 999;
}

.p-header__bottom--menu .submenu ul {
  background: rgba(255, 255, 255, 0.7);
  padding: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.p-header__bottom--menu .submenu ul li a {
  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: 0.75rem;
  white-space: nowrap;
}

.p-header__bottom--menu .submenu ul li a span {
  font-size: 0.875rem;
}

.p-header__bottom--menu .submenu ul li a svg {
  width: 0.375rem;
}

.p-header__bottom--menu .has-sub:hover>.submenu {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 1239px) and (min-width: 768px) {
  .p-header__bottom--menu {
    gap: 2rem;
    width: calc((100% - 10.4861111111vw - 4rem) / 2);
  }
}

.p-header__bottom--menu li {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.p-header__bottom--logo {
  width: 10.4861111111vw;
  min-width: 120px;
}

.p-information {
  width: 100%;
}

.p-information__item01 {
  padding: 5rem 0;
  max-width: 1051px;
}

@media (max-width: 1240px) {
  .p-information__item01 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-information__item01 {
    padding: 2.5rem 1.5rem;
  }
}

.p-information__item01--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-information__item01--inner {
    gap: 1.5rem;
  }
}

.p-information__item01--contents {
  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: 5.375rem;
}

@media (max-width: 1240px) {
  .p-information__item01--contents {
    gap: 3rem;
  }
}

@media (max-width: 767px) {
  .p-information__item01--contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-information__item01--contents .contents-text {
  width: 50%;
}

@media (max-width: 767px) {
  .p-information__item01--contents .contents-text {
    width: 100%;
  }
}

.p-information__item01--contents .contents-text p {
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-information__item01--contents .contents-img {
  width: 42%;
}

@media (max-width: 767px) {
  .p-information__item01--contents .contents-img {
    width: 100%;
  }
}

.p-information__item02 {
  padding: 5rem 0;
  max-width: 1051px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

.p-information__item02::after {
  content: "";
  position: absolute;
  bottom: -2.45vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url(../img/information/img03.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 94.3006944444vw;
  aspect-ratio: 1057.93/104.75;
}

@media (max-width: 767px) {
  .p-information__item02::after {
    width: 99.7435897436vw;
  }
}

@media (max-width: 1240px) {
  .p-information__item02 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-information__item02 {
    padding: 2.5rem 2rem;
  }
}

.p-information__item02--title {
  position: relative;
  padding-bottom: 1.8125rem;
}

.p-information__item02--title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url(../img/information/img02.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 15.245rem;
  aspect-ratio: 243.92/27.64;
}

@media (max-width: 767px) {
  .p-information__item02--title::after {
    width: 13.49875rem;
  }
}

.p-information__item02--title h2 {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-information__item02--title h2 {
    font-size: 1.75rem;
  }
}

.p-information__item02--copy {
  text-align: center;
  padding-bottom: 2rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-information__item02--copy {
    padding-bottom: 1rem;
  }
}

.p-information__item02--copy::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 15.625rem;
  height: 1px;
  background-color: #F55148;
}

.p-information__item02--copy p {
  color: #F55148;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.5;
}

@media (max-width: 767px) {
  .p-information__item02--copy p {
    font-size: 1.5rem;
  }
}

.p-information__item02--text {
  text-align: center;
  position: relative;
}

.p-information__item02--text p {
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-information__item03 {
  padding: 5rem 0;
  max-width: 1051px;
}

@media (max-width: 1240px) {
  .p-information__item03 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-information__item03 {
    padding: 2.5rem 1rem;
  }
}

.p-information__item03--contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 6rem;
}

@media (max-width: 1240px) {
  .p-information__item03--contents {
    gap: 3rem;
  }
}

@media (max-width: 767px) {
  .p-information__item03--contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-information__item03--contents .card {
  border-radius: 0.5rem;
  -webkit-box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  width: calc((100% - 6rem) / 2);
  background-color: #FFF;
}

@media (max-width: 767px) {
  .p-information__item03--contents .card {
    width: 100%;
  }
}

.p-information__item03--contents .card .card-content {
  padding: 2rem 2rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-information__item03--contents .card .card-content {
    padding-inline: 1.25rem;
  }
}

.p-information__item03--contents .card .card-content .card-title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05rem;
}

@media (max-width: 767px) {
  .p-information__item03--contents .card .card-content .card-title {
    font-size: 1.25rem;
  }
}

.p-information__item03--contents .card .card-text {
  padding: 1.5rem;
  border-radius: 0 0 0.5rem 0.5rem;
  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;
}

.p-information__item03--contents .card .card-text p {
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  width: 20rem;
}

@media (max-width: 767px) {
  .p-information__item03--contents .card .card-text p {
    font-size: 1rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-information__item03--contents .card.card01 .card-title {
  color: #42ACCC;
}

.p-information__item03--contents .card.card01 .card-text {
  background-color: #42ACCC;
}

.p-information__item03--contents .card.card02 .card-title {
  color: #22A49C;
}

.p-information__item03--contents .card.card02 .card-text {
  background-color: #22A49C;
}

.p-menu {
  position: relative;
  width: 30px;
  height: 20px;
}

.p-menu__icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 30px;
  height: 20px;
}

.p-menu__icon--bar1,
.p-menu__icon--bar2,
.p-menu__icon--bar3 {
  position: absolute;
  width: 30px;
  height: 2px;
  background: #333333;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.p-menu__icon--bar1 {
  top: 0;
}

.p-menu__icon--bar2 {
  top: 10px;
}

.p-menu__icon--bar3 {
  top: 20px;
}

.p-menu.is-active .p-menu__icon--bar1 {
  -webkit-transform: rotate(-33.69deg);
  transform: rotate(-33.69deg);
  top: 8px;
}

.p-menu.is-active .p-menu__icon--bar2 {
  display: none;
}

.p-menu.is-active .p-menu__icon--bar3 {
  -webkit-transform: rotate(33.69deg);
  transform: rotate(33.69deg);
  top: 8px;
}

.p-message {
  position: relative;
  width: 100%;
}

.p-message__bg {
  position: absolute;
  width: 100%;
  height: 100%;
}

.p-message__bg img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .p-message__bg img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center top;
    object-position: center top;
  }
}

.p-message__text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  padding: 5rem 0;
  padding-left: 13.5416666667vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media (max-width: 1240px) {
  .p-message__text {
    padding-left: 5rem;
  }
}

@media (max-width: 767px) {
  .p-message__text {
    padding: 15.9375rem 2rem 2.5rem;
  }
}

.p-message__text--title {
  position: relative;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15em;
}

.p-message__text--title::after {
  content: "";
  position: absolute;
  background-image: url(../img/top/message-title.svg);
  background-size: contain;
  background-position: center left;
  background-repeat: no-repeat;
  width: 20.37875rem;
  aspect-ratio: 326.06/36.91;
  left: 0;
  top: 100%;
}

@media (max-width: 767px) {
  .p-message__text--title::after {
    width: 13.5rem;
    background-position: center center;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .p-message__text--title {
    text-align: center;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.15em;
  }
}

.p-message__text p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-message__text p {
    line-height: 1.5;
  }
}

.p-mv {
  position: relative;
  /* ドットのサイズ感 */
  /* アクティブ */
}

.p-mv__img {
  width: 100%;
  text-align: center;
}

.p-mv__img img {
  width: 100%;
  height: 100%;
  max-height: 782px;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-mv__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 2rem;
  position: absolute;
  right: 9.1666666667vw;
  bottom: 15.7638888889vw;
  z-index: 2;
  width: 31.3125rem;
}

@media (max-width: 1240px) {
  .p-mv__text {
    right: 1rem;
  }
}

@media (max-width: 767px) {
  .p-mv__text {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    right: auto;
    bottom: 4.625rem;
    left: 0;
    padding-inline: 1rem;
    gap: 1rem;
  }
}

.p-mv__text h1 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.15em;
}

@media (max-width: 767px) {
  .p-mv__text h1 {
    font-size: 2rem;
  }
}

.p-mv__text p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-mv__text p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.p-mv .swiper-wrapper {
  padding-bottom: 6rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-mv .swiper-wrapper {
    padding-bottom: 0;
  }
}

.p-mv .mv-swiper__pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.5rem !important;
  text-align: center;
  z-index: 10;
}

@media (max-width: 767px) {
  .p-mv .mv-swiper__pagination {
    bottom: 2rem !important;
  }
}

.p-mv .mv-swiper__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background-color: #E8E8E8;
  opacity: 1;
  margin-inline: 0.75rem !important;
}

.p-mv .mv-swiper__pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background-color: #F55148;
}

.p-pagination {
  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 (max-width: 767px) {
  .p-pagination {
    gap: 0.25rem;
  }
}

.p-pagination .pagination-number {
  width: 44px;
  height: 44px;
  font-family: "Montserrat";
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 16px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  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 (max-width: 767px) {
  .p-pagination .pagination-number {
    width: 36px;
    height: 36px;
  }
}

.p-pagination .pagination-number.current {
  background-color: #333333;
  color: #FFF;
  border-radius: 999px;
}

.p-pagination .next,
.p-pagination .prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-pagination .next {
  margin-left: 0.5rem;
}

.p-pagination .prev {
  margin-right: 0.5rem;
}

.p-pagination a {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.p-pagination a:hover {
  opacity: 0.7;
}

.p-pass {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  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;
}

@media (max-width: 1240px) {
  .p-pass {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-pass {
    padding-inline: 1rem;
  }
}

.p-pass__button {
  padding: 2.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-pass__button {
    padding: 1.5rem 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-pass__button--link {
  -webkit-box-shadow: 0 4px 4px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 0 4px 4px 0 rgba(51, 51, 51, 0.15);
  border-radius: 0.5rem;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  width: 17.5rem;
}

.p-pass__button--link span {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-pass__button--link span {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}

.p-pass__button--link.red {
  border: 1px solid #E65A5C;
}

.p-pass__button--link.red span {
  color: #E65A5C;
}

.p-pass__button--link.blue {
  border: 1px solid #42ACCC;
}

.p-pass__button--link.blue span {
  color: #42ACCC;
}

.p-pass__button--link.green {
  border: 1px solid #22A49C;
}

.p-pass__button--link.green span {
  color: #22A49C;
}

.p-pass__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0;
}

@media (max-width: 767px) {
  .p-pass__container {
    padding: 2.5rem 0;
    gap: 1.5rem;
  }
}

.p-pass__container--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

.p-pass__container--wrap .banner {
  width: 100%;
}

.p-pass__container--wrap .school-list {
  padding: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-pass__container--wrap .school-list {
    padding: 2.5rem 1.5rem;
  }
}

.p-pass__container--wrap .school-list .section-title {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-pass__container--wrap .school-list .school-content .content-title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

@media (max-width: 767px) {
  .p-pass__container--wrap .school-list .school-content .content-title {
    font-size: 1rem;
  }
}

.p-pass__container--wrap .school-list .school-content p {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-pass__container--wrap .school-list .school-content p {
    font-size: 0.875rem;
  }
}

.p-pass__container--wrap .school-list .school-content p:last-child {
  margin-bottom: 0;
}

.p-pass__container--wrap .school-list.pink {
  background-color: #FFF0F2;
}

.p-pass__container--wrap .school-list.pink .content-title {
  border-bottom: 1px solid #E65A5C;
}

.p-pass__container--wrap .school-list.blue {
  background-color: #EDF7FF;
}

.p-pass__container--wrap .school-list.blue .content-title {
  border-bottom: 1px solid #42ACCC;
}

.p-pass__container--wrap .school-list.green {
  background-color: #EEF7F2;
}

.p-pass__container--wrap .school-list.green .content-title {
  border-bottom: 1px solid #22A49C;
}

.p-pass__container--wrap .comment-wrap {
  padding: 1.5rem;
  border: 1px solid #E8E8E8;
  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: 1.5rem;
  border-radius: 0.5rem;
}

@media (max-width: 767px) {
  .p-pass__container--wrap .comment-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1rem;
    gap: 1rem;
  }
}

.p-pass__container--wrap .comment-wrap .comment-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  width: 15.625rem;
}

@media (max-width: 767px) {
  .p-pass__container--wrap .comment-wrap .comment-left .left-img img {
    max-height: 11.5625rem;
  }
}

.p-pass__container--wrap .comment-wrap .comment-left .left-info p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
}

.p-pass__container--wrap .comment-wrap .comment-left .left-info p .red {
  color: #F55148;
}

.p-passTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0 2.5rem;
  position: relative;
}

@media (max-width: 1240px) {
  .p-passTop {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-passTop {
    gap: 2rem;
    padding-block: 2.5rem;
  }
}

.p-passTop .p-passTop__container {
  position: relative;
  width: 100%;
  max-width: 1050px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.3125rem;
}

.p-passTop .p-passTop__container--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
}

.p-passTop .p-passTop__container--title svg {
  width: 4.25rem;
  aspect-ratio: 68/56;
  height: auto;
}

@media (max-width: 767px) {
  .p-passTop .p-passTop__container--title svg {
    width: 3rem;
  }
}

.p-passTop .p-passTop__container--contents {
  width: 100%;
  max-width: 1050px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .p-passTop .p-passTop__container--contents {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-passTop .p-passTop__container--contents .card {
  width: 18.625rem;
  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;
}

@media (max-width: 767px) {
  .p-passTop .p-passTop__container--contents .card {
    width: 100%;
  }
}

.p-passTop .p-passTop__container--contents .card .card-title {
  width: 13.125rem;
  margin-bottom: 1rem;
}

@media (max-width: 767px) {
  .p-passTop .p-passTop__container--contents .card .card-title {
    margin-bottom: 0.5rem;
  }
}

.p-passTop .p-passTop__container--contents .card .card-img {
  width: 12.375rem;
  aspect-ratio: 1/1;
  border-radius: 999px;
  background-color: #FFF;
  margin-bottom: -2.5rem;
  position: relative;
}

.p-passTop .p-passTop__container--contents .card .card-img img {
  border-radius: 999px;
}

@media (max-width: 767px) {
  .p-passTop .p-passTop__container--contents .card .card-img {
    width: 9.375rem;
    margin-bottom: -1.5rem;
  }
}

.p-passTop .p-passTop__container--contents .card .card-img.pink {
  border: 4px solid #E65A5C;
}

.p-passTop .p-passTop__container--contents .card .card-img.blue {
  border: 4px solid #42ACCC;
}

.p-passTop .p-passTop__container--contents .card .card-img.green {
  border: 4px solid #22A49C;
}

.p-passTop .p-passTop__container--contents .card .card-text {
  text-align: center;
  width: 100%;
  padding: 3.5rem 1.5rem 1.5rem;
  border-radius: 0.5rem;
}

@media (max-width: 767px) {
  .p-passTop .p-passTop__container--contents .card .card-text {
    padding: 2rem 1rem 1rem;
  }
}

.p-passTop .p-passTop__container--contents .card .card-text p {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-passTop .p-passTop__container--contents .card .card-text p .red {
  color: #F55148;
}

.p-passTop .p-passTop__container--contents .card .card-text.pink {
  background-color: #FFF0F2;
  border: 3px solid #E65A5C;
}

.p-passTop .p-passTop__container--contents .card .card-text.blue {
  background-color: #EDF7FF;
  border: 3px solid #42ACCC;
}

.p-passTop .p-passTop__container--contents .card .card-text.green {
  background-color: #EEF7F2;
  border: 3px solid #22A49C;
}

.p-passTop .p-passTop__button {
  position: relative;
}

.p-question {
  margin-top: 5.3125rem;
}

@media (max-width: 767px) {
  .p-question {
    margin-top: 0;
    padding-block: 2.5rem;
  }
}

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

@media (max-width: 767px) {
  .p-question__wrap {
    gap: 2rem;
  }
}

.p-question__button {
  padding: 2.5rem 0;
  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;
  gap: 2.5rem;
}

@media (max-width: 767px) {
  .p-question__button {
    padding: 0;
    gap: 1rem 1rem;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .p-question__button li {
    width: calc((100% - 1rem) / 2);
  }
}

.p-question__item {
  width: 100%;
  background-color: #FDEEEE;
}

@media (max-width: 1240px) {
  .p-question__item {
    padding-inline: 1.5rem;
  }
}

.p-question__item--inner {
  padding-block: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .p-question__item--inner {
    padding-block: 1.25rem;
  }
}

@media (max-width: 767px) {
  .p-question__item--inner.spt40 {
    padding-top: 2.5rem;
  }
}

@media (max-width: 767px) {
  .p-question__item--inner.spb40 {
    padding-bottom: 2.5rem;
  }
}

.p-question__item--title {
  width: 72.9166666667vw;
  max-width: 1050px;
}

@media (max-width: 767px) {
  .p-question__item--title {
    width: 100%;
  }
}

.p-reason {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0;
}

.p-reason::after {
  content: "";
  position: absolute;
  bottom: -2.45vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url(../img/information/img03.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 94.3006944444vw;
  aspect-ratio: 1057.93/104.75;
  z-index: 0;
}

@media (max-width: 767px) {
  .p-reason::after {
    width: 99.7435897436vw;
  }
}

@media (max-width: 1240px) {
  .p-reason {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-reason {
    padding: 2.5rem 0;
  }
}

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

.p-reason__title svg {
  width: 3.4375rem;
}

@media (max-width: 767px) {
  .p-reason__title svg {
    width: 2.5rem;
  }
}

.p-reason__title h2 {
  margin-top: -1.875rem;
  text-align: center;
}

@media (max-width: 767px) {
  .p-reason__title h2 .large {
    line-height: 1.25;
  }
}

@media (max-width: 767px) {
  .p-reason__title h2 {
    margin-top: 0;
  }
}

.p-reason__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-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 4rem;
  position: relative;
  z-index: 1;
}

.p-reason__contents--card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 767px) {
  .p-reason__contents--card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-reason__contents--card.right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .p-reason__contents--card.right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-reason__contents--card .card-img {
  width: 50.5893019%;
  aspect-ratio: 558/375;
  margin-top: 4rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-img {
    width: calc(100% - 3.25rem);
  }
}

.p-reason__contents--card .card-img.left-img {
  margin-left: -2.1875rem;
}

@media (max-width: 1240px) {
  .p-reason__contents--card .card-img.left-img {
    margin-left: -4rem;
  }
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-img.left-img {
    margin-left: auto;
    margin-right: 0;
    margin-top: -1rem;
    text-align: right;
  }
}

.p-reason__contents--card .card-img.right-img {
  margin-right: -2.1875rem;
}

@media (max-width: 1240px) {
  .p-reason__contents--card .card-img.right-img {
    margin-right: -4rem;
  }
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-img.right-img {
    margin-right: auto;
    margin-left: 0;
    margin-top: -1rem;
  }
}

.p-reason__contents--card .card-text {
  border-radius: 0.5rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text {
    width: calc(100% - 3rem);
  }
}

.p-reason__contents--card .card-text .text-num img {
  width: 8.4722222222vw;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text .text-num img {
    width: 4.125rem;
  }
}

.p-reason__contents--card .card-text .text-img img {
  width: 5.2881944444vw;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text .text-img img {
    width: 2rem;
  }
}

.p-reason__contents--card .card-text.left {
  padding: 2.5rem 6.25rem 2.5rem 5rem;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text.left {
    padding: 2rem 1.5rem;
    margin-left: 1rem;
  }
}

.p-reason__contents--card .card-text.left .text-num {
  position: absolute;
  top: -2.1875rem;
  left: -3.125rem;
}

@media (max-width: 1240px) {
  .p-reason__contents--card .card-text.left .text-num {
    left: -1.5rem;
  }
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text.left .text-num {
    left: 0;
    top: -3.4375rem;
  }
}

.p-reason__contents--card .card-text.left .text-img {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
}

.p-reason__contents--card .card-text.right {
  padding: 2.5rem 5rem 2.5rem 6.25rem;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text.right {
    padding: 2rem 1.5rem;
    margin-left: 1rem;
  }
}

.p-reason__contents--card .card-text.right .text-num {
  position: absolute;
  top: -2.1875rem;
  right: -3.125rem;
}

@media (max-width: 1240px) {
  .p-reason__contents--card .card-text.right .text-num {
    right: -1.5rem;
  }
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text.right .text-num {
    right: 0;
    top: -3.4375rem;
  }
}

.p-reason__contents--card .card-text.right .text-img {
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
}

.p-reason__contents--card .card-text .text-title {
  width: 25rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
  padding: 0 0.5rem 1rem;
  position: relative;
  margin-bottom: 1.5rem;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text .text-title {
    width: 100%;
    font-size: 1.25rem;
    padding-inline: 0;
  }

  .p-reason__contents--card .card-text .text-title.title-right {
    text-align: right;
  }
}

.p-reason__contents--card .card-text .text-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: 5px;
  background-color: #FFF;
  border-radius: 99px;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text .text-title::after {
    height: 2px;
  }
}

.p-reason__contents--card .card-text .text-text {
  width: 25rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-reason__contents--card .card-text .text-text {
    width: 100%;
    font-size: 1rem;
  }
}

.p-reason__contents--card .card-text.pink {
  background-color: #E65A5C;
  -webkit-box-shadow: 24px 24px 0 0 #FFDBD9;
  box-shadow: 24px 24px 0 0 #FFDBD9;
}

.p-reason__contents--card .card-text.blue {
  background-color: #42ACCC;
  -webkit-box-shadow: -24px 24px 0 0 #B2E3F1;
  box-shadow: -24px 24px 0 0 #B2E3F1;
}

.p-reason__contents--card .card-text.green {
  background-color: #22A49C;
  -webkit-box-shadow: 24px 24px 0 0 #D6EFE1;
  box-shadow: 24px 24px 0 0 #D6EFE1;
}

.p-school {
  width: 100%;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-school {
    padding: 2.5rem 0;
    gap: 2rem;
  }
}

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

.p-school__title svg {
  width: 3.5rem;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .p-school__title svg {
    width: 2.5rem;
  }
}

.p-school__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 3rem 0;
  width: 100%;
  max-width: 1050px;
}

@media (max-width: 767px) {
  .p-school__wrapper {
    gap: 3rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-school__card {
  width: calc((100% - 3.75rem) / 3);
  position: relative;
  border: 2px solid #F55148;
  border-radius: 0.5rem;
  background-color: #FFF;
  padding: 2rem 1.5rem 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 767px) {
  .p-school__card {
    width: 100%;
    padding: 2rem 1rem 1rem;
  }
}

.p-school__card--title {
  padding: 0.25rem 2rem;
  border-radius: 0.25rem;
  background-color: #F55148;
  font-size: 1.5rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: 0.05em;
  position: absolute;
  top: -1.5rem;
}

@media (max-width: 767px) {
  .p-school__card--title {
    font-size: 1.25rem;
  }
}

.p-school__card--text {
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
  height: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (max-width: 767px) {
  .p-school__card--text {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 0.5rem;
  }
}

.p-school__card--categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.5rem 0.5rem;
}

@media (max-width: 767px) {
  .p-school__card--categories {
    max-width: 72.3076923077vw;
  }
}

.p-school__card--categories p {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  font-weight: 500;
  color: #FFF;
}

@media (max-width: 767px) {
  .p-school__card--categories p {
    font-size: 0.875rem;
  }
}

.p-school__card--categories p.category01 {
  background-color: #E65A5C;
}

.p-school__card--categories p.category02 {
  background-color: #F87D28;
}

.p-school__card--categories p.category03 {
  background-color: #468AC7;
}

.p-school__card--categories p.category04 {
  background-color: #32B16C;
}

.p-school__card--categories p.category05 {
  background-color: #556FB5;
}

.p-school__card--categories p.category06 {
  background-color: #A42275;
}

.p-school__card--arrow {
  width: 100%;
  text-align: right;
}

.p-school__button {
  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: 2rem;
}

@media (max-width: 767px) {
  .p-school__button {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-sidebar {
  width: 13.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;
}

@media (max-width: 767px) {
  .p-sidebar {
    width: 100%;
  }
}

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

@media (max-width: 767px) {
  .p-sidebar__banner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem 0.5rem;
  }

  .p-sidebar__banner a {
    width: calc((100% - 0.5rem) / 2);
  }
}

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

@media (max-width: 767px) {
  .p-sidebar__text {
    gap: 0.5rem;
  }
}

.p-sidebar__text--title {
  padding-bottom: 1rem;
  border-bottom: 1px solid #333333;
}

@media (max-width: 767px) {
  .p-sidebar__text--title {
    padding-bottom: 0.5rem;
  }
}

.p-sidebar__text--title p {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-sidebar__text--title p {
    font-size: 1.0625rem;
  }
}

.p-sidebar__text--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.5rem;
}

.p-sidebar__text--list li {
  padding-left: 1.25rem;
  position: relative;
}

.p-sidebar__text--list li::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 999px;
  background-color: #F55148;
}

.p-single {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 2.5rem 0 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3.125rem;
}

@media (max-width: 1240px) {
  .p-single {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-single {
    padding: 2.5rem 2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-single__main {
  width: calc(100% - 13.75rem - 3.125rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
}

@media (max-width: 767px) {
  .p-single__main {
    width: 100%;
  }
}

.p-single__main--info {
  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;
}

.p-single__main--info .category {
  padding: 0.25rem 0.5rem;
  background-color: #F55148;
}

.p-single__main--info .category p {
  color: #FFF;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-single__main--info .date {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}

@media (max-width: 767px) {
  .p-single__main--info .date {
    font-size: 0.875rem;
  }
}

.p-single__main--title h1 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-single__main--title h1 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.p-single__main--article {
  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;
}

.p-single__main--article h2,
.p-single__main--article h3,
.p-single__main--article h4 {
  margin-top: 2.5rem;
}

.p-single__main--article h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  padding-block: 0.5rem;
  border-top: 1px solid #999999;
  border-bottom: 1px solid #999999;
}

@media (max-width: 767px) {
  .p-single__main--article h2 {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.p-single__main--article h3 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  padding-left: 1rem;
  border-left: 4px solid #999999;
}

.p-single__main--article h4 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-single__main--article h5 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-single__main--article img {
  margin: 0.5rem 0;
  width: 100%;
  max-width: 780px;
}

.p-single__main--article a {
  color: #2672BE;
}

.p-single__main--article ul {
  padding-left: 1.5rem !important;
  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.25rem;
  margin: 0 !important;
}

.p-single__main--article ul li {
  padding: 0 !important;
	list-style: disc;
}

.p-single__main--article ol {
  list-style: decimal;
  padding-left: 1.5rem !important;
  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.25rem;
  margin: 0 !important;
}

.p-single__main--article ol li {
  list-style: decimal;
  padding: 0 !important;
}

.p-single__main--article p {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-single__main--related {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2.5rem 0 5rem;
}

.p-single__main--related .title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-single__main--related {
    padding-bottom: 2.5rem;
  }
}

.p-single__main--related .card-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5625rem;
}

@media (max-width: 767px) {
  .p-single__main--related .card-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-single__main--related .card-wrap .card {
  width: calc((100% - 3.125rem) / 3);
}

@media (max-width: 767px) {
  .p-single__main--related .card-wrap .card {
    width: 100%;
  }
}

.p-single__main--related .card-wrap .card a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  padding: 1rem;
  -webkit-box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  border-radius: 0.5rem;
}

.p-single__main--related .card-wrap .card a img {
  border-radius: 0.5rem;
  aspect-ratio: 338/220;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-single__main--related .card-wrap .card a .card-title h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  height: 3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .p-single__main--related .card-wrap .card a .card-title h3 {
    height: auto;
  }
}

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

.p-singleCourse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  /* =========================
     Swiper：PC時は通常レイアウトに戻す
  ========================= */
  /* =========================
     Swiper Pagination
  ========================= */
}

.p-singleCourse__school {
  padding: 5rem 0;
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleCourse__school {
    padding-block: 2.5rem 1.5rem;
  }
}

.p-singleCourse__school--inner {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  padding: 2.5rem 0;
  background-color: #FAF8F2;
}

.p-singleCourse__school--title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-singleCourse__school--title {
    font-size: 1.5rem;
  }
}

.p-singleCourse__school--name {
  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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem 1rem;
}

.p-singleCourse__school--name p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.5rem 1rem;
  border: 1px solid #333333;
  background-color: #FFF;
  border-radius: 0.25rem;
  width: 9.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleCourse__school--name p {
    font-size: 1rem;
  }
}

.p-singleCourse__movie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 5rem 0 2.5rem;
  gap: 3rem;
  width: 100%;
  max-width: 893px;
}

@media (max-width: 1240px) {
  .p-singleCourse__movie {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__movie {
    padding: 2.5rem 1rem;
    gap: 1.5rem;
  }
}

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

.p-singleCourse__movie--movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

.p-singleCourse__feature {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 5rem;
  padding: 5rem 0;
  background-color: #FAF8F2;
  position: relative;
}

.p-singleCourse__feature::after {
  content: "";
  position: absolute;
  bottom: -2.45vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url(../img/information/img03.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 94.3006944444vw;
  aspect-ratio: 1057.93/104.75;
  z-index: 0;
}

@media (max-width: 767px) {
  .p-singleCourse__feature::after {
    width: 99.7435897436vw;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__feature {
    padding-block: 2.5rem;
  }
}

.p-singleCourse__feature--title {
  margin-bottom: 4.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--title {
    margin-bottom: 3.375rem;
  }
}

.p-singleCourse__feature--title svg {
  width: 4rem;
  aspect-ratio: 64/48;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--title svg {
    width: 3.3125rem;
  }
}

.p-singleCourse__feature--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5.5rem;
  width: 100%;
  max-width: 1050px;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list {
    padding-inline: 1rem;
    gap: 3.375rem;
  }
}

.p-singleCourse__feature--list .card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-singleCourse__feature--list .card .card-text {
  width: 36.25rem;
  margin-top: 1.5rem;
  position: relative;
  border-radius: 0.5rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-text {
    width: 100%;
  }
}

.p-singleCourse__feature--list .card .card-text.card01 {
  background-color: #E65A5C;
  -webkit-box-shadow: 24px 24px 0 0 #FFDBD9;
  box-shadow: 24px 24px 0 0 #FFDBD9;
}

.p-singleCourse__feature--list .card .card-text.card01::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/feature-icon01.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 6.59375rem;
  aspect-ratio: 1/1;
  top: -4rem;
  left: -2rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-text.card01::after {
    left: 0;
    top: -1.875rem;
    width: 3.75rem;
  }
}

.p-singleCourse__feature--list .card .card-text.card02 {
  background-color: #42ACCC;
  -webkit-box-shadow: -24px 24px 0 0 #B2E3F1;
  box-shadow: -24px 24px 0 0 #B2E3F1;
}

.p-singleCourse__feature--list .card .card-text.card02::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/feature-icon02.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 6.59375rem;
  aspect-ratio: 1/1;
  top: -4rem;
  right: -2rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-text.card02::after {
    right: 0;
    top: -1.875rem;
    width: 3.75rem;
  }
}

.p-singleCourse__feature--list .card .card-text.card03 {
  background-color: #22A49C;
  -webkit-box-shadow: 24px 24px 0 0 #D6EFE1;
  box-shadow: 24px 24px 0 0 #D6EFE1;
  position: relative;
  z-index: 1;
}

.p-singleCourse__feature--list .card .card-text.card03::after {
  content: "";
  position: absolute;
  background-image: url(../img/archive/feature-icon03.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 6.59375rem;
  aspect-ratio: 1/1;
  top: -4rem;
  left: -2rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-text.card03::after {
    left: 0;
    top: -1.875rem;
    width: 3.75rem;
  }
}

.p-singleCourse__feature--list .card .card-text h3 {
  width: 100%;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-text h3 {
    font-size: 1.25rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }
}

.p-singleCourse__feature--list .card .card-text h3::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 5px;
  background-color: #FFF;
  bottom: 0;
  left: 0;
  border-radius: 999px;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-text h3::before {
    height: 2px;
  }
}

.p-singleCourse__feature--list .card .card-text p {
  color: #FFF;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleCourse__feature--list .card .card-img {
  width: 32rem;
  position: relative;
  z-index: 2;
  margin-top: -1.25rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card .card-img {
    width: calc(100% - 1rem);
    margin-top: -1rem;
  }
}

.p-singleCourse__feature--list .card .card-img img {
  border-radius: 0.5rem;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 512/343;
  width: 100%;
}

.p-singleCourse__feature--list .card.left .card-text {
  padding: 2.75rem 4.375rem 2.625rem 2.5rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card.left .card-text {
    padding: 2rem 1rem;
  }
}

.p-singleCourse__feature--list .card.left .card-img {
  margin-left: -2.75rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card.left .card-img {
    margin-left: auto;
    margin-right: -0.5rem;
  }
}

.p-singleCourse__feature--list .card.right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card.right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-singleCourse__feature--list .card.right .card-text {
  padding: 2.75rem 2.5rem 2.625rem 4.375rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card.right .card-text {
    padding: 2rem 1rem;
  }
}

.p-singleCourse__feature--list .card.right .card-img {
  margin-right: -2.75rem;
}

@media (max-width: 767px) {
  .p-singleCourse__feature--list .card.right .card-img {
    margin-right: auto;
    margin-left: -0.5rem;
  }
}

.p-singleCourse__feature--img {
  position: relative;
  z-index: 1;
  margin-top: 5rem;
}

@media (max-width: 1240px) {
  .p-singleCourse__feature--img {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__feature--img {
    margin-top: 2rem;
    padding-inline: 1rem;
  }
}

.p-singleCourse__feature--img img {
  position: relative;
}

.p-singleCourse__voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0;
  width: 100%;
}

@media (max-width: 1240px) {
  .p-singleCourse__voice {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__voice {
    gap: 1.5rem;
  }
}

.p-singleCourse__voice--title {
  text-align: center;
}

.p-singleCourse__voice--contents {
  width: 100%;
  max-width: 1050px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.5rem;
}

.p-singleCourse__voice--contents .card {
  padding: 1.5rem 1.5rem;
  border: 1px solid #F55148;
  width: 100%;
  border-radius: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 767px) {
  .p-singleCourse__voice--contents .card {
    width: 100%;
    padding: 1rem;
  }
}

.p-singleCourse__voice--contents .card .card-img {
  width: 12.5rem;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .p-singleCourse__voice--contents .card .card-img {
    width: 9.375rem;
  }
}

.p-singleCourse__voice--contents .card .card-img img {
  border-radius: 999px;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-singleCourse__voice--contents .card .card-name {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleCourse__voice--contents .card .card-school {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 767px) {
  .p-singleCourse__voice--contents .card .card-school {
    font-size: 1.25rem;
  }
}

.p-singleCourse__voice--contents .card .card-school span {
  color: #F55148;
}

.p-singleCourse__voice--contents .card .card-comment {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleCourse__voice--button .c-button {
  gap: 0.5rem;
  padding-inline: 2rem;
}

@media (max-width: 767px) {
  .p-singleCourse__voice--button .c-button {
    margin-top: 0.5rem;
  }
}

.p-singleCourse__voice--button .c-button span {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

@media (min-width: 768px) {
  .p-singleCourse {
    /* ページネーションはPCでは非表示 */
  }

  .p-singleCourse .js-voice-swiper {
    /* Swiper自体の制御を解除 */
    overflow: visible;
  }

  .p-singleCourse .js-voice-swiper .swiper-wrapper {
    /* 既存の &--contents を活かす */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    max-width: 1050px;
    /* Swiperが入れる transform を無効化 */
    -webkit-transform: none !important;
    transform: none !important;
  }

  .p-singleCourse .js-voice-swiper .swiper-slide {
    /* Swiperの width 指定を解除 */
    width: calc((100% - 3rem) / 3) !important;
    height: auto;
  }

  .p-singleCourse .js-voice-swiper .swiper-pagination {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-singleCourse .js-voice-swiper {
    /* 各ドット（非アクティブ） */
    /* アクティブ */
  }

  .p-singleCourse .js-voice-swiper .swiper-pagination {
    position: relative;
    margin-top: 2rem;
    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.5rem;
  }

  .p-singleCourse .js-voice-swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #ddd;
    opacity: 1;
    border-radius: 999px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }

  .p-singleCourse .js-voice-swiper .swiper-pagination-bullet-active {
    background-color: #F55148;
  }
}

.p-singleCourse__price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0;
  position: relative;
  width: 100%;
}

.p-singleCourse__price::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/price-bg.png);
  background-size: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

@media (max-width: 1240px) {
  .p-singleCourse__price {
    padding-inline: 2rem;
  }
}

.p-singleCourse__price--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  position: relative;
  text-align: center;
}

.p-singleCourse__price--title svg {
  width: 3.5rem;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .p-singleCourse__price--title svg {
    width: 3rem;
  }
}

.p-singleCourse__price--price {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.8125rem;
}

@media (max-width: 767px) {
  .p-singleCourse__price--price {
    gap: 0.5rem;
  }
}

.p-singleCourse__price--price .price-text {
  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: 2.625rem;
}

@media (max-width: 767px) {
  .p-singleCourse__price--price .price-text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.5rem;
  }
}

.p-singleCourse__price--price .price-text .label {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #E65A5C;
  background-color: #FFF;
  padding: 0.5rem 1rem;
  border: 3px solid #E65A5C;
  border-radius: 0.5rem;
  text-align: center;
}

@media (max-width: 767px) {
  .p-singleCourse__price--price .price-text .label {
    font-size: 1.125rem;
    border: 2px solid #E65A5C;
  }
}

.p-singleCourse__price--price .price-text .price {
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: "Montserrat";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.625rem;
}

@media (max-width: 767px) {
  .p-singleCourse__price--price .price-text .price {
    flex-direction: column;
  }
}

.p-singleCourse__price--price .price-text .price span {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-singleCourse__price--price .price-text .price span {
    font-size: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__price--price .price-text .price {
    font-size: 3rem;
  }
}

.p-singleCourse__price--price .price-note {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-singleCourse__price--price .price-note {
    font-size: 1rem;
  }
}

.p-singleCourse__price--button {
  position: relative;
}

.p-singleCourse__contents {
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
}

@media (max-width: 1240px) {
  .p-singleCourse__contents {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__contents {
    padding-inline: 1rem;
    padding-block: 2.5rem;
  }
}

.p-singleCourse__contents h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 100%;
}

.p-singleCourse__contents h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 100%;
}

.p-singleCourse__contents img {
  width: 100%;
}

.p-singleCourse__contents p {
  width: 100%;
}

.p-singleCourse__banner {
  width: 100%;
  padding: 5rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleCourse__banner {
    padding: 2.5rem 1rem;
  }
}


.p-singleCourse__banner--container {
  width: 100%;
  max-width: 790px;
  position: relative;
  padding-top: 0.625rem;
}

@media (max-width: 1023px) {
  .p-singleCourse__banner--container {
    padding-top: 0;
  }
}

@media (max-width: 767px) {
  .p-singleCourse__banner--container {
    padding: 0.5rem 1rem 1.5rem;
  }
}

.p-singleCourse__banner--container::after {
  position: absolute;
  content: "";
  background-image: url(../img/archive/bnr-schedule_pc.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

@media (max-width: 767px) {
  .p-singleCourse__banner--container::after {
    background-image: url(../img/archive/bnr-schedule_sp.png);
  }
}

.p-singleCourse__banner--container .sp-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-singleCourse__banner--container .sp-wrap {
    gap: 1rem;
  }
}

.p-singleCourse__banner--img img {
  width: 12.4375rem;
}

@media (max-width: 767px) {
  .p-singleCourse__banner--img img {
    width: 7.75rem;
  }
}

.p-singleCourse__banner--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.p-singleCourse__banner--text .text {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleCourse__banner--text .c-button {
  gap: 1.25rem;
  padding: 1rem 2rem;
}

@media (max-width: 767px) {
  .p-singleCourse__banner--container .c-button {
    gap: 0.875rem;
    padding-inline: 1rem;
    justify-content: center;
  }
}

.p-singleCourse__banner--text .c-button span {
  min-width: fit-content;
}

@media (max-width: 767px) {
  .p-singleCourse__banner--text .c-button span {
    min-width: fit-content;
  }
}

.p-singleSchool {
  padding-top: 5rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleSchool {
    padding-top: 2.5rem;
  }
}

.p-singleSchool__copy {
  width: 100%;
  position: relative;
  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: 1.625rem;
  padding-inline: 12.25rem 6.25rem;
}

@media (max-width: 1240px) {
  .p-singleSchool__copy {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__copy {
    padding-inline: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }
}

.p-singleSchool__copy::before {
  content: "";
  position: absolute;
  width: 100%;
  height: calc(100% - 1.75rem);
  background-color: #FFF0F2;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 767px) {
  .p-singleSchool__copy::before {
    display: none;
  }
}

.p-singleSchool__copy--text {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  width: 36.125rem;
  margin: 3rem 0;
}

@media (max-width: 767px) {
  .p-singleSchool__copy--text {
    width: 100%;
    padding: 2rem 1rem 3.75rem;
    background-color: #FFF0F2;
    margin: 0;
  }
}

.p-singleSchool__copy--text h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-singleSchool__copy--text h2 {
    font-size: 1.25rem;
  }
}

.p-singleSchool__copy--text p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-singleSchool__copy--img {
  position: relative;
  width: 33.75rem;
}

@media (max-width: 767px) {
  .p-singleSchool__copy--img {
    width: calc(100% - 2rem);
    margin-top: -2.25rem;
  }
}

.p-singleSchool__course {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0;
  width: 100%;
}

@media (max-width: 1240px) {
  .p-singleSchool__course {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__course {
    padding-inline: 0;
    padding-block: 2.5rem;
  }
}

.p-singleSchool__course--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

.p-singleSchool__course--title svg {
  width: 3.5rem;
  aspect-ratio: 1/1;
}

@media (max-width: 767px) {
  .p-singleSchool__course--title svg {
    width: 2.5rem;
  }
}

.p-singleSchool__course--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7.5rem;
  width: 100%;
}

.p-singleSchool__course--junior {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
  position: relative;
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleSchool__course--junior {
    gap: 2.5rem;
  }
}

.p-singleSchool__course--junior .course-title {
  width: 100%;
  aspect-ratio: 1050/300;
  max-width: 1050px;
  background-image: url(../img/archive/school-junior-pc.png);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleSchool__course--junior .course-title {
    background-image: url(../img/archive/school-junior-sp.png);
    aspect-ratio: 390/170;
  }
}

.p-singleSchool__course--junior .course-title h3 {
  position: absolute;
  bottom: -2rem;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-color: #E65A5C;
  border-radius: 0.5rem;
  padding: 0.5rem 4rem;
}

@media (max-width: 767px) {
  .p-singleSchool__course--junior .course-title h3 {
    font-size: 1.5rem;
    bottom: -1.625rem;
  }
}

.p-singleSchool__course--junior .junior-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

.p-singleSchool__course--junior .junior-wrap .course-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  max-width: 1050px;
}

@media (max-width: 767px) {
  .p-singleSchool__course--junior .junior-wrap .course-section {
    padding-inline: 1rem;
  }
}

.p-singleSchool__course--junior .junior-wrap .course-section .section-title {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.p-singleSchool__course--junior .junior-wrap .course-section .section-title::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #6E6E6E;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.p-singleSchool__course--junior .junior-wrap .course-section .section-title h4 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  width: 25.625rem;
  text-align: center;
  background-color: #fff;
  position: relative;
}

@media (max-width: 767px) {
  .p-singleSchool__course--junior .junior-wrap .course-section .section-title h4 {
    font-size: 1.25rem;
    width: 15.125rem;
  }
}

.p-singleSchool__course--junior .junior-wrap .course-section .section-wrap {
  width: 100%;
}

.p-singleSchool__course--senior {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
  position: relative;
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleSchool__course--senior {
    gap: 2.5rem;
  }
}

.p-singleSchool__course--senior .course-title {
  width: 100%;
  aspect-ratio: 1050/300;
  max-width: 1050px;
  background-image: url(../img/archive/school-senior-pc.png);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleSchool__course--senior .course-title {
    background-image: url(../img/archive/school-senior-sp.png);
    aspect-ratio: 390/170;
  }
}

.p-singleSchool__course--senior .course-title h3 {
  position: absolute;
  bottom: -2rem;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-color: #42ACCC;
  border-radius: 0.5rem;
  padding: 0.5rem 4rem;
}

@media (max-width: 767px) {
  .p-singleSchool__course--senior .course-title h3 {
    font-size: 1.5rem;
    bottom: -1.625rem;
  }
}

.p-singleSchool__course--high {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5rem;
  position: relative;
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleSchool__course--high {
    gap: 2.5rem;
  }
}

.p-singleSchool__course--high .course-title {
  width: 100%;
  aspect-ratio: 1050/300;
  max-width: 1050px;
  background-image: url(../img/archive/school-high-pc.png);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleSchool__course--high .course-title {
    background-image: url(../img/archive/school-high-sp.png);
    aspect-ratio: 390/170;
  }
}

.p-singleSchool__course--high .course-title h3 {
  position: absolute;
  bottom: -2rem;
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  background-color: #22A49C;
  border-radius: 0.5rem;
  padding: 0.5rem 4rem;
}

@media (max-width: 767px) {
  .p-singleSchool__course--high .course-title h3 {
    font-size: 1.5rem;
    bottom: -1.625rem;
  }
}

.p-singleSchool__greeting {
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
}

@media (max-width: 1240px) {
  .p-singleSchool__greeting {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__greeting {
    padding-block: 2.5rem;
    gap: 1.5rem;
  }
}

.p-singleSchool__greeting--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.25rem;
  text-align: center;
}

.p-singleSchool__greeting--title svg {
  width: 3.4375rem;
  aspect-ratio: 40/46;
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--title svg {
    width: 2.5rem;
  }
}

.p-singleSchool__greeting--wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
  max-width: 937px;
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-singleSchool__greeting--img {
  width: 19.25rem;
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--img {
    width: 100%;
  }
}

.p-singleSchool__greeting--text {
  width: calc(100% - 19.25rem - 3rem);
  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;
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--text {
    width: 100%;
  }
}

.p-singleSchool__greeting--text h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--text h3 {
    font-size: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--text p {
    margin-bottom: 0.5rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__greeting--button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.p-singleSchool__junior {
  background-color: #FAF8F2;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-singleSchool__junior {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__junior {
    padding-block: 2.5rem;
    gap: 1.5rem;
  }
}

.p-singleSchool__junior--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  gap: 0.25rem;
}

.p-singleSchool__junior--title svg {
  width: 5.0625rem;
  aspect-ratio: 81/56;
}

@media (max-width: 767px) {
  .p-singleSchool__junior--title svg {
    width: 3.6875rem;
  }
}

.p-singleSchool__junior--container {
  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;
  gap: 1.5rem;
}

.p-singleSchool__junior--container .container-text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 767px) {
  .p-singleSchool__junior--container .container-text {
    font-size: 1rem;
  }
}

.p-singleSchool__junior--container .container-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 4.5rem;
}

@media (max-width: 767px) {
  .p-singleSchool__junior--container .container-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.p-singleSchool__junior--container .container-card {
  background-color: #FFF;
  border-radius: 0.5rem;
  padding: 0.5rem 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.25rem;
  width: 12.5rem;
  min-height: 4.25rem;
}

.p-singleSchool__junior--container .container-card .school-name {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleSchool__junior--container .container-card a {
  color: #2672BE;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-singleSchool__class {
  width: 100%;
  background-color: #8D735C;
  padding-block: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .p-singleSchool__class {
    padding: 1.5rem;
  }
}

.p-singleSchool__class--inner {
  width: 100%;
  max-width: 1050px;
  position: relative;
}

.p-singleSchool__class--inner::before {
  content: "";
  position: absolute;
  background-image: url(../img/archive/school_class03.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media (max-width: 767px) {
  .p-singleSchool__class--inner::before {
    background-image: url(../img/archive/school_class04.png);
  }
}

.p-singleSchool__class--inner .card-wrap {
  padding-block: 2.5rem 2.25rem;
  position: relative;
  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: 16px;
}

@media (max-width: 767px) {
  .p-singleSchool__class--inner .card-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 5rem 1.375rem 2.5rem;
  }
}

.p-singleSchool__class--inner .card-img {
  width: 6.453125rem;
  margin-right: 2.5rem;
}

@media (max-width: 767px) {
  .p-singleSchool__class--inner .card-img {
    position: absolute;
    margin-right: 0;
    top: -2rem;
  }
}

.p-singleSchool__class--inner .card-text p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-singleSchool__class--inner .card-text p {
    text-align: center;
    font-size: 1.25rem;
  }
}

.p-singleSchool__class--inner .card-arrow {
  width: 3.25rem;
}

@media (max-width: 767px) {
  .p-singleSchool__class--inner .card-arrow {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    height: 0.75rem;
    width: 1.375rem;
  }
}

.p-singleSchool__class--inner .card-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 767px) {
  .p-singleSchool__class--inner .card-button .c-button {
    width: 100%;
  }

  .p-singleSchool__class--inner .card-button .c-button span {
    min-width: 13.125rem;
  }
}

.p-singleSchool__gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
}

@media (max-width: 767px) {
  .p-singleSchool__gallery {
    padding: 2.5rem 0;
  }
}

.p-singleSchool__gallery--title {
  text-align: center;
}

.p-singleSchool__gallery--container {
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleSchool__gallery--container img {
    width: 100%;
  }
}

.p-singleSchool__gallery--container .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-singleSchool__gallery--container .js-staffSwiper .swiper-slide {
  padding-left: 1rem;
  padding-right: 1rem;
}

.p-singleSchool__gallery--container .p-swiperArrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  width: 32px;
  height: 32px;
  background: transparent;
  border-radius: 50%;
  border: none;
  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;
  padding: 0;
  cursor: pointer;
}

.p-singleSchool__gallery--container .js-staffPrev {
  left: 0;
}

.p-singleSchool__gallery--container .js-staffNext {
  right: 0;
}

.p-singleSchool__gallery--container .p-swiperArrow img {
  width: 100%;
  height: 100%;
}

.p-singleSchool__access {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  padding: 5rem 0;
  background-color: #FAF8F2;
}

@media (max-width: 1240px) {
  .p-singleSchool__access {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__access {
    padding-block: 2.5rem;
    gap: 1.5rem;
  }
}

.p-singleSchool__access .p-archiveSchool__article--card {
  max-width: 1050px;
}

.p-singleSchool__access .p-archiveSchool__article--card .map iframe {
  width: 32.1875rem;
  height: 21.5rem;
}

@media (max-width: 767px) {
  .p-singleSchool__access .p-archiveSchool__article--card .map iframe {
    width: 100%;
    height: auto;
  }
}

.p-singleSchool__blog {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-singleSchool__blog {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-singleSchool__blog {
    padding: 2.5rem 1rem;
    gap: 1.5rem;
  }
}

.p-singleSchool__blog--title {
  text-align: center;
}

.p-singleSchool__blog--card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-singleSchool__blog--card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
  }
}

.p-singleSchool__blog--card .blog-card {
  padding: 1rem;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 0 2px 10px 0 rgba(51, 51, 51, 0.15);
  width: 18.75rem;
}

@media (max-width: 1023px) {
  .p-singleSchool__blog--card .blog-card {
    width: calc((100% - 4rem) / 3);
  }
}

@media (max-width: 767px) {
  .p-singleSchool__blog--card .blog-card {
    width: 100%;
  }
}

.p-singleSchool__blog--card .blog-card a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.p-singleSchool__blog--card .blog-card .blog-card_thumbnail {
  width: 100%;
}

.p-singleSchool__blog--card .blog-card .blog-card_thumbnail img {
  border-radius: 0.5rem;
}

.p-singleSchool__blog--card .blog-card .blog-card_title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  overflow: hidden;
  height: 3rem;
}

@media (max-width: 767px) {
  .p-singleSchool__blog--card .blog-card .blog-card_title {
    font-size: 0.875rem;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.p-sitemap {
  padding-block: 5rem;
  width: 100%;
}

@media (max-width: 1240px) {
  .p-sitemap {
    padding-inline: 0.5rem;
  }
}

@media (max-width: 767px) {
  .p-sitemap {
    padding-block: 2.5rem;
  }
}

.p-sitemap__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
}

@media (max-width: 767px) {
  .p-sitemap__container {
    gap: 1.5rem;
  }
}

.p-sitemap__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
  max-width: 1045px;
}

@media (max-width: 767px) {
  .p-sitemap__list {
    gap: 2.5rem;
  }
}

.p-sitemap__list--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: 1rem;
}

.p-sitemap__list--title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333333;
  margin-bottom: 0.5rem;
}

@media (max-width: 767px) {
  .p-sitemap__list--title {
    font-size: 1.25rem;
    margin-bottom: 0;
  }
}

.p-sitemap__list--item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 1rem;
}

.p-sitemap__list--item li {
  width: calc((100% - 2rem) / 3);
  max-width: 322px;
}

@media (max-width: 767px) {
  .p-sitemap__list--item li {
    width: calc((100% - 1rem) / 2);
  }
}

@media (max-width: 767px) {
  .p-sitemap__list--item li.w-100 {
    width: 100%;
  }
}

.p-sitemap__list--item li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.p-sitemap__list--item li a svg {
  width: 0.5rem;
}

@media (max-width: 767px) {
  .p-sitemap__list--item li a svg {
    width: 0.375rem;
  }
}

.p-sitemap__list--item li a span {
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-sitemap__list--item li a span {
    width: calc(100% - 1rem - 6px);
  }
}

.p-sitemap__list--item.small.mb2 {
  margin-bottom: 2rem;
}

.p-sitemap__list--item.small li a span {
  font-size: 1rem;
  font-weight: 400;
}

.p-staff {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
  padding: 5rem 0;
}

@media (max-width: 1240px) {
  .p-staff {
    padding-inline: 1rem;
  }
}

@media (max-width: 767px) {
  .p-staff {
    padding-block: 0;
    gap: 1.5rem;
  }
}

.p-staff__contents {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3.3125rem 2.5rem;
}

@media (max-width: 767px) {
  .p-staff__contents {
    gap: 2.5rem;
  }
}

.p-staff__contents--card {
  -webkit-box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  box-shadow: 2px 2px 10px 0 rgba(51, 51, 51, 0.15);
  border-radius: 0.5rem;
  width: calc((100% - 5rem) / 3);
  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: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .p-staff__contents--card {
    width: 100%;
  }
}

.p-staff__contents--card .card-top {
  padding: 1.5rem 1.5rem 1rem;
  border-radius: 0.5rem 0.5rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
  background-color: #FFF;
}

.p-staff__contents--card .card-bottom {
  padding: 1rem 1.5rem;
  border-radius: 0 0 0.5rem 0.5rem;
}

.p-staff__contents--card:nth-child(3n+1) .card-bottom {
  background-color: #E65A5C;
}

.p-staff__contents--card:nth-child(3n+2) .card-bottom {
  background-color: #42ACCC;
}

.p-staff__contents--card:nth-child(3n) .card-bottom {
  background-color: #22A49C;
}

.p-staff__contents--card .card-img {
  width: 100%;
}

.p-staff__contents--card .card-img img {
  aspect-ratio: 342/224;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.5rem;
}

.p-staff__contents--card .card-title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 1240px) {
  .p-staff__contents--card .card-title {
    font-size: 1rem;
  }
}

.p-staff__contents--card .card-school {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
}

.p-staff__contents--card .card-name h2 {
  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;
}

.p-staff__contents--card .card-name h2 span {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #FFF;
}

.p-staffDetail {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5rem;
}

@media (max-width: 1240px) {
  .p-staffDetail {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-staffDetail {
    padding-block: 2.5rem 4rem;
    gap: 4rem;
  }
}

.p-staffDetail__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}

.p-staffDetail__container:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .p-staffDetail__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
  }

  .p-staffDetail__container:nth-child(2n) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-staffDetail__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: 1rem;
  width: calc(100% - 2.5rem - 42%);
}

@media (max-width: 767px) {
  .p-staffDetail__wrap {
    width: 100%;
  }
}

.p-staffDetail__img {
  width: 42%;
}

@media (max-width: 767px) {
  .p-staffDetail__img {
    width: 100%;
  }
}

.p-staffDetail__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #F55148;
}

.p-staffDetail__text {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-staffDetail__gallery {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  padding: 5rem 0;
}

@media (max-width: 767px) {
  .p-staffDetail__gallery {
    padding: 0 0 5rem;
  }
}

.p-staffDetail__gallery .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-staffDetail__gallery .js-staffSwiper .swiper-slide {
  padding-left: 1rem;
  padding-right: 1rem;
}

.p-staffDetail__gallery .p-swiperArrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  width: 32px;
  height: 32px;
  background: transparent;
  border-radius: 50%;
  border: none;
  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;
  padding: 0;
  cursor: pointer;
}

.p-staffDetail__gallery .js-staffPrev {
  left: 0;
}

.p-staffDetail__gallery .js-staffNext {
  right: 0;
}

.p-staffDetail__gallery .p-swiperArrow img {
  width: 100%;
  height: 100%;
}

.p-staffTop {
  width: 100%;
  max-width: 1240px;
  padding-block: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 1240px) {
  .p-staffTop {
    padding-inline: 2rem;
  }
}

@media (max-width: 767px) {
  .p-staffTop {
    padding-inline: 1rem;
    padding-block: 2.5rem;
    gap: 1.5rem;
  }
}

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

.p-staffTop__title svg {
  width: 3.4375rem;
}

@media (max-width: 767px) {
  .p-staffTop__title svg {
    width: 2.5rem;
  }
}

.p-taiken {
  width: 100%;
}

.p-taiken__item01 {
  padding: 2.5rem 0 3rem;
  position: relative;
}

@media (max-width: 767px) {
  .p-taiken__item01 {
    padding: 1rem 0;
  }
}

.p-taiken__item01--title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
  position: relative;
}

.p-taiken__item01--title::before {
  content: "";
  position: absolute;
  background-image: url(../img/taiken/img02.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  width: 53rem;
  aspect-ratio: 848/134.38;
}

@media (max-width: 767px) {
  .p-taiken__item01--title::before {
    background-image: url(../img/taiken/img02-sp.png);
    width: 22.375rem;
    aspect-ratio: 358/124.32;
  }
}

.p-taiken__item01--title img {
  width: 35.8125rem;
  aspect-ratio: 573/100;
}

@media (max-width: 767px) {
  .p-taiken__item01--title img {
    width: 20.375rem;
    aspect-ratio: 326/99;
  }
}

.p-taiken__item01--title span {
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-taiken__item01--title span {
    font-size: 1.5rem;
  }
}

.p-taiken__item02 {
  padding: 5rem 0;
}

@media (max-width: 1024px) {
  .p-taiken__item02 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-taiken__item02 {
    padding-inline: 2rem;
  }
}

.p-taiken__item02--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--container {
    gap: 1.5rem;
  }
}

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

.p-taiken__item02--title svg {
  width: 4rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--title svg {
    width: 3.3125rem;
  }
}

.p-taiken__item02--title h2 {
  margin-top: -1rem;
}

.p-taiken__item02--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-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents {
    gap: 1.5rem;
  }
}

.p-taiken__item02--contents .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 1018px;
  gap: 2.5rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content {
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-taiken__item02--contents .content.rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content.rev {
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-taiken__item02--contents .content .content-img {
  width: 45%;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content .content-img {
    width: 100%;
  }
}

.p-taiken__item02--contents .content .content-text {
  width: 51%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content .content-text {
    width: 100%;
    gap: 0.5rem;
  }
}

.p-taiken__item02--contents .content .content-text .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content .content-text .title {
    gap: 0.5rem;
  }
}

.p-taiken__item02--contents .content .content-text .title svg {
  width: 5.125rem;
  height: 6rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content .content-text .title svg {
    width: 3.125rem;
    height: 3.625rem;
  }
}

.p-taiken__item02--contents .content .content-text .title span {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content .content-text .title span {
    font-size: 1.25rem;
  }
}

.p-taiken__item02--contents .content .content-text .divide {
  height: 0.77375rem;
}

@media (max-width: 767px) {
  .p-taiken__item02--contents .content .content-text .divide {
    height: 0.5rem;
  }
}

.p-taiken__item02--contents .content .content-text .text {
  letter-spacing: 0.05em;
}

.p-taiken__item03 {
  padding: 2.5rem 0 0;
}

@media (max-width: 1240px) {
  .p-taiken__item03 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-taiken__item03 {
    padding-inline: 1rem;
  }
}

.p-taiken__item03--container {
  position: relative;
  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: 1rem;
  padding: 7.0625rem 3.625rem 3.375rem;
}

@media (max-width: 767px) {
  .p-taiken__item03--container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 5.25rem 2rem 3rem;
    gap: 0.5rem;
  }
}

.p-taiken__item03--container::before {
  content: "";
  position: absolute;
  background-image: url(../img/taiken/img09.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

@media (max-width: 767px) {
  .p-taiken__item03--container::before {
    background-image: url(../img/taiken/img09-sp.png);
  }
}

.p-taiken__item03--container .img {
  position: relative;
  width: 5.375rem;
}

@media (max-width: 767px) {
  .p-taiken__item03--container .img {
    position: absolute;
    top: 0;
    right: 0.75rem;
  }
}

.p-taiken__item03--container .text {
  position: relative;
  width: 30rem;
}

@media (max-width: 767px) {
  .p-taiken__item03--container .text {
    width: 100%;
  }
}

.p-taiken__item03--container .text p {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

@media (max-width: 767px) {
  .p-taiken__item03--container .text p {
    font-size: 1.25rem;
  }
}

.p-taiken__item03--container .text p .red {
  color: #F55148;
}

.p-taiken__item03--container .arrow {
  position: relative;
  width: 3.25rem;
}

@media (max-width: 767px) {
  .p-taiken__item03--container .arrow {
    width: 1.375rem;
  }
}

.p-taiken__item03--container .button {
  position: relative;
  width: 17.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
}

@media (max-width: 1024px) {
  .p-taiken__item03--container .button .c-button span {
    min-width: 14rem;
  }
}

@media (max-width: 767px) {
  .p-taiken__item03--container .button .c-button span {
    min-width: 195px;
  }
}

.p-taiken__item03--container .button p {
  font-size: 1.125rem;
  font-weight: 700;
  color: #F55148;
  letter-spacing: 0.05em;
  position: relative;
}

@media (max-width: 767px) {
  .p-taiken__item03--container .button p {
    font-size: 1rem;
  }
}

.p-taiken__item03--container .button p::before {
  content: "";
  position: absolute;
  background-image: url(../img/taiken/img12.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  width: 15.6875rem;
  aspect-ratio: 251/42;
}

.p-taiken__item04 {
  padding: 5rem 0;
  max-width: 1058px;
}

@media (max-width: 1024px) {
  .p-taiken__item04 {
    padding-inline: 1.5rem;
  }
}

@media (max-width: 767px) {
  .p-taiken__item04 {
    padding-inline: 2rem;
    padding: 2.5rem 1rem;
  }
}

.p-taiken__item04--container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 3rem;
}

@media (max-width: 767px) {
  .p-taiken__item04--container {
    gap: 1.5rem;
  }
}

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

.p-taiken__item04--title svg {
  width: 4rem;
}

@media (max-width: 767px) {
  .p-taiken__item04--title svg {
    width: 3.3125rem;
  }
}

/* 初期状態 */
.js-reveal {
  opacity: 0;
  -webkit-transform: translateY(14px);
  transform: translateY(14px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
  will-change: opacity, transform;
}

/* 表示状態 */
.js-reveal.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media (max-width: 1023px) {
  .pc-only {
    display: none;
  }
}

.pc-none {
  display: none;
}

@media (max-width: 1023px) {
  .pc-none {
    display: block;
  }
}

.sp-only {
  display: none;
}

@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.sp-flex {
  display: none;
}

@media (max-width: 767px) {
  .sp-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

#wpadminbar {
  display: none;
}

.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hover-opa {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.hover-opa:hover {
  opacity: 0.7;
}

.hover-line {
  position: relative;
}

.hover-line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #10208A;
  /*アニメーションの指定*/
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: scale(0, 0);
  transform: scale(0, 0);
  /*X方向0、Y方向1*/
  -webkit-transform-origin: center top;
  transform-origin: center top;
  /*上部中央基点*/
}

.hover-line:hover::after {
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  /*X方向にスケール拡大*/
}

.wc-box {
  padding: 20px;
  border-radius: 6px;
}

.wc-box--secondary {
  background: #f5f5f5;
}

.align-left {
  text-align: left;
}

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

.clinkCard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
  padding: 14px;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  text-decoration: none;
}

.clinkCard__thumb {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 120px;
  flex: 0 0 120px;
}

.clinkCard__thumbImg {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.clinkCard__body {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}

.clinkCard__label {
  font-size: 12px;
  opacity: 0.75;
  margin-bottom: 6px;
}

.clinkCard__title {
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 6px;
}

.clinkCard__excerpt {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.9;
}

/* アイキャッチ無しの場合でも綺麗に */
.clinkCard:not(:has(.clinkCard__thumb)) {
  gap: 0;
}

.q_button {
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  color: #FFF !important;
  font-weight: 700;
  background-color: #F55148;
}

/* ===== 現行サイト寄せ：左画像＋右テキスト ===== */
.wc-shortcodes-box {
  background: #fff;
  border: 1px solid #d8d8d8;
  padding: 24px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* 画像を左に固定 */
.wc-shortcodes-box img.alignleft {
  float: left;
  margin: 0 24px 12px 0;
  max-width: 260px;
  /* 現行に寄せて調整 */
  height: auto;
  display: block;
}

/* 回り込み解除（高さ潰れ防止） */
.wc-shortcodes-box::after {
  content: "";
  display: block;
  clear: both;
}

/* ボタン位置 */
.wc-shortcodes-box .q_button {
  display: inline-block;
  margin-top: 14px;
}

/* SPは縦積み */
@media (max-width: 768px) {
  .wc-shortcodes-box img.alignleft {
    float: none;
    max-width: 100%;
    margin: 0 0 12px 0;
  }
}

/* 空のカラム（中身なし）を詰めたいなら非表示 */
.wc-shortcodes-column:empty {
  display: none;
}

/* スマホ */
@media (max-width: 768px) {

  .wc-shortcodes-one-fourth,
  .wc-shortcodes-one-third {
    width: 100%;
  }
}

.p-default .wc-shortcodes-column p {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 中央寄せしたいなら */
  gap: 0.5rem;
}


/* 4分割 */
.wc-shortcodes-one-fourth {
  width: calc(25% - 6rem);
  margin-left: 0;
}

.wc-shortcodes-one-third {
  width: calc(33.33333333% - 4rem);
  margin-left: 0;
}

.wc-shortcodes-one-fourth p {
  width: 100%;
  white-space: pre-wrap;
}

.wc-shortcodes-one-fourth img {
  max-height: 424px;
  aspect-ratio: 264/374;
  object-fit: contain;
}

.p-default .wc-shortcodes-row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 2rem;
}

@media (max-width: 768px) {
  .p-default .wc-shortcodes-row {
    flex-direction: column;
  }
}

/*# sourceMappingURL=style.css.map */