@keyframes link-underline {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.bottom-menu {
  margin-top: 0;
}

.menu_has_image .faq {
  display: none;
}

@media (width >= 769px) {
  .intro_block {
    padding-inline: 16.09375vw;
  }
}
@media (width < 768px) {
  .intro_block {
    padding-inline: 5.1282051282vw;
  }
}
.intro_block p {
  font-weight: 700;
  line-height: 2.2;
}
@media (width >= 769px) {
  .intro_block p {
    font-size: 1.1458333333vw;
  }
}

.faq_contents {
  position: relative;
  z-index: 5;
  display: grid;
  align-items: start;
}
@media (width >= 769px) {
  .faq_contents {
    margin-top: 5.2083333333vw;
    padding-inline: 8.59375vw 2.0833333333vw;
    gap: 2.0833333333vw;
    grid-template-columns: 1fr 16.1458333333vw;
    grid-template-areas: "main navi";
  }
}
@media (width < 768px) {
  .faq_contents {
    margin-top: 7.6923076923vw;
    padding-inline: 5.1282051282vw;
    gap: 10.2564102564vw;
  }
}
@media (width >= 769px) {
  .faq_contents-navi {
    grid-area: navi;
    position: sticky;
    top: 7.2916666667vw;
    padding-bottom: 6.7708333333vw;
  }
}
@media (width >= 769px) {
  .faq_contents-main {
    grid-area: main;
    border-right: 1px solid var(--color-blue);
    padding-bottom: 6.7708333333vw;
    padding-right: 6.25vw;
  }
}
@media (width < 768px) {
  .faq_contents-main {
    padding-bottom: 12.8205128205vw;
  }
}

.page_navi {
  display: grid;
  gap: 0.8em;
}
@media (width < 768px) {
  .page_navi {
    position: relative;
  }
}
.page_navi a {
  display: flex;
  gap: 0.5em;
  align-items: center;
  width: fit-content;
  border-bottom: 1px solid transparent;
  text-decoration: none;
  font-weight: bold;
  white-space: nowrap;
}
.page_navi a::before {
  display: inline-block;
  width: 0.8em;
  aspect-ratio: 1;
  background-color: currentColor;
}
@media (width >= 769px) {
  .page_navi a {
    font-size: 1.0416666667vw;
  }
  .page_navi a.active {
    border-bottom-color: currentColor;
    background-color: var(--color-yellow);
  }
}
@media (width < 768px) {
  .page_navi a {
    font-size: 4.1025641026vw;
  }
}

@media (width >= 769px) {
  .sec_faq {
    padding-top: 5.7291666667vw;
  }
  .sec_faq:first-child {
    margin-top: -5.7291666667vw;
  }
}
@media (width < 768px) {
  .sec_faq {
    padding-top: 20.5128205128vw;
  }
  .sec_faq:first-child {
    margin-top: -20.5128205128vw;
  }
}
.sec_faq .heading {
  display: flex;
  gap: 1em;
  align-items: center;
  background-color: var(--color-yellow);
  border: 2px solid var(--color-blue);
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 1.5em;
  line-height: 1.6;
}
@media (width >= 769px) {
  .sec_faq .heading {
    font-size: 1.5625vw;
  }
}
@media (width < 768px) {
  .sec_faq .heading {
    font-size: 4.1025641026vw;
  }
}
.sec_faq .heading .num {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-blue);
  border-radius: 999px;
  color: #fff;
  font-family: var(--font-en);
  font-weight: 500;
}
@media (width >= 769px) {
  .sec_faq .heading .num {
    height: 4.1666666667vw;
    padding-inline: 1.2em;
    font-size: 1.875vw;
  }
}
@media (width < 768px) {
  .sec_faq .heading .num {
    height: 10.2564102564vw;
    padding-inline: 1em;
    font-size: 5.1282051282vw;
  }
}
.sec_faq .content + .content {
  border-top: 1px dashed var(--color-blue);
}
@media (width >= 769px) {
  .sec_faq .content + .content {
    margin-top: 2.6041666667vw;
    padding-top: 2.6041666667vw;
  }
}
@media (width < 768px) {
  .sec_faq .content + .content {
    margin-top: 7.6923076923vw;
    padding-top: 7.6923076923vw;
  }
}
.sec_faq .content > * {
  position: relative;
}
.sec_faq .content > *::before {
  position: absolute;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  aspect-ratio: 1;
  font-weight: 500;
  font-family: var(--font-en);
  line-height: 1;
}
@media (width >= 769px) {
  .sec_faq .content > * {
    padding-left: 4.1666666667vw;
  }
  .sec_faq .content > *::before {
    width: 2.6041666667vw;
    top: -0.3645833333vw;
    font-size: 1.5625vw;
  }
}
@media (width < 768px) {
  .sec_faq .content > * {
    padding-left: 8.9743589744vw;
  }
  .sec_faq .content > *::before {
    width: 6.4102564103vw;
    top: -0.7692307692vw;
    font-size: 4.1025641026vw;
  }
}
.sec_faq .content > dt {
  margin-bottom: 1.2em;
  font-weight: bold;
  line-height: 1.4;
}
.sec_faq .content > dt::before {
  background-color: var(--color-blue);
  content: "Q";
  color: #fff;
}
@media (width >= 769px) {
  .sec_faq .content > dt {
    font-size: 1.3020833333vw;
  }
}
@media (width < 768px) {
  .sec_faq .content > dt {
    font-size: 3.8461538462vw;
  }
}
.sec_faq .content > dd::before {
  border: 2px solid currentColor;
  content: "A";
}
.sec_faq .content > dd small {
  display: inline-block;
  margin-top: 1em;
  line-height: 1.6;
}
.sec_faq .content > dd ul {
  margin-left: 1em;
}
@media (width >= 769px) {
  .sec_faq .content > dd {
    font-size: 1.0416666667vw;
  }
  .sec_faq .content > dd small {
    font-size: 0.8333333333vw;
  }
}
@media (width < 768px) {
  .sec_faq .content > dd::before {
    font-size: 4.1025641026vw;
  }
  .sec_faq .content > dd small {
    font-size: 3.0769230769vw;
  }
}
.sec_faq .content dl {
  margin-top: 1em;
}
.sec_faq .content dl dt {
  margin-bottom: 0.15em;
  font-weight: bold;
}
@media (width >= 769px) {
  .sec_faq .content dl dt {
    font-size: 1.1458333333vw;
  }
}
.sec_faq .content dl dd {
  margin-left: 1em;
}
.sec_faq .content dl dd + dt {
  margin-top: 0.5em;
}
.sec_faq .content dl dd ul {
  margin-left: 0;
}
.sec_faq .faq2-box {
  margin-top: 1.3em;
  border: 1px solid var(--color-blue);
  padding: 0.8em 1.3em;
}
.sec_faq .faq2-box > * {
  text-indent: -1em;
  padding-left: 1em;
}
.sec_faq .faq2-box > * + * {
  margin-top: 0.6em;
}
@media (width >= 769px) {
  .sec_faq .portableskill {
    margin-top: 1.5625vw;
    width: 41.3020833333vw;
  }
}
@media (width < 768px) {
  .sec_faq .portableskill {
    margin-top: 5.1282051282vw;
    width: 100%;
  }
}
.sec_faq .screening {
  display: grid;
}
@media (width >= 769px) {
  .sec_faq .screening {
    grid-template-columns: repeat(3, 1fr);
    gap: 0.7291666667vw;
    margin-top: 2.6041666667vw;
  }
}
@media (width < 768px) {
  .sec_faq .screening {
    gap: 5.1282051282vw;
    margin-top: 6.4102564103vw;
  }
}
.sec_faq .screening img {
  border: 1px solid var(--color-blue);
}
@media (width >= 769px) {
  .sec_faq .screening img {
    border-radius: 2.6041666667vw;
  }
}
@media (width < 768px) {
  .sec_faq .screening img {
    border-radius: 6.4102564103vw;
  }
}
.sec_faq .screening figcaption {
  margin-top: 0.8em;
  text-align: center;
  line-height: 1.4;
}
@media (width >= 769px) {
  .sec_faq .screening figcaption {
    font-size: 0.9375vw;
  }
  .sec_faq .screening figcaption .school {
    font-size: 0.8333333333vw;
  }
}
@media (width < 768px) {
  .sec_faq .screening figcaption .school {
    font-size: 3.0769230769vw;
  }
}
.sec_faq .schedule {
  display: grid;
}
@media (width >= 769px) {
  .sec_faq .schedule {
    grid-template-columns: 27.0833333333vw 1fr;
    gap: 1.8229166667vw;
    margin-block: 1.0416666667vw 2.0833333333vw;
  }
}
@media (width < 768px) {
  .sec_faq .schedule {
    gap: 8.9743589744vw;
    margin-block: 5.1282051282vw 7.6923076923vw;
  }
}
.sec_faq .schedule table {
  border-top: 1px solid var(--color-blue);
  width: 100%;
}
.sec_faq .schedule caption {
  margin-top: 0.9em;
  caption-side: bottom;
  line-height: 1.56;
  text-align: left;
}
@media (width >= 769px) {
  .sec_faq .schedule caption {
    font-size: 0.8333333333vw;
  }
}
@media (width < 768px) {
  .sec_faq .schedule caption {
    font-size: 3.0769230769vw;
  }
}
.sec_faq .schedule td {
  border-bottom: 1px solid var(--color-blue);
  text-align: center;
}
.sec_faq .schedule td + td {
  border-left: 1px solid var(--color-blue);
}
@media (width >= 769px) {
  .sec_faq .schedule td {
    font-size: 1.0416666667vw;
  }
}
@media (width >= 769px) {
  .sec_faq .schedule .second td {
    font-size: 0.8333333333vw;
  }
}
.sec_faq .schedule .am {
  background-color: #DAD9EA;
}
.sec_faq .schedule .pm {
  background-color: #FFFBBC;
}