#top_journey #top_about {
  position: relative;
}

#top_journey #top_about::before {
  content: attr(data-en);
  color: var(--accent-en-color);
  font-family: "Montserrat", sans-serif;
  position: absolute;
  z-index: -1;
}

#top_journey #top_about h2 {
  position: relative;
}

#top_journey #top_about h2::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: var(--list-marker-color);
  position: absolute;
}

#top_journey #top_about .data .txt {
  color: var(--sub-text-color-gray);
}

#top_journey #top_network .data .caption,
#top_journey #top_timing .data .caption,
#top_journey #top_teacher .data .caption {
  color: var(--sub-text-color);
}

#top_journey #top_network .data .txt,
#top_journey #top_timing .data .txt,
#top_journey #top_teacher .data .txt {
  color: var(--sub-text-color-gray);
}

#top_cram_school {
  background: var(--accent-en-color);
}

#top_cram_school #top_cram_school_check {
  border-bottom: 1px solid #dce1ef;
}

#top_cram_school #top_cram_school_check > ul > li a {
  position: relative;
  background: #FFFFFF;
  border-top: solid;
}

#top_cram_school #top_cram_school_check > ul > li a::after {
  content: "";
  display: block;
  border-right: 2px solid #e5e9f3;
  border-bottom: 2px solid #e5e9f3;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}

#top_cram_school #top_cram_school_check > ul > li.school_kids a {
  border-color: var(--school_kids-color);
  color: var(--school_kids-color);
}

#top_cram_school #top_cram_school_check > ul > li.school_primary a {
  border-color: var(--school_primary-color);
  color: var(--school_primary-color);
}

#top_cram_school #top_cram_school_check > ul > li.school_junior a {
  border-color: var(--school_junior-color);
  color: var(--school_junior-color);
}

#top_cram_school #top_cram_school_check > ul > li.school_high a {
  border-color: var(--school_high-color);
  color: var(--school_high-color);
}

#top_cram_school #top_school_intro {
  position: relative;
}

#top_cram_school #top_school_intro::before {
  content: attr(data-en);
  color: #FFFFFF;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  z-index: 1;
}

#top_cram_school #top_school_intro h2,
#top_cram_school #top_school_intro p,
#top_cram_school #top_school_intro section {
  position: relative;
  z-index: 2;
}

#top_cram_school #top_school_intro h2 {
  position: relative;
}

#top_cram_school #top_school_intro h2::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: var(--list-marker-color);
  position: absolute;
}

#top_cram_school #top_school_intro .school_contents {
  background: #FFFFFF;
  border-top: solid;
}

#top_cram_school #top_school_intro .school_contents .data h3 {
  color: #FFFFFF;
}

#top_cram_school #top_school_intro .school_contents .data .caption {
  color: var(--sub-text-color);
}

#top_cram_school #top_school_intro .school_contents .data h4 {
  display: inline-block;
}

#top_cram_school #top_school_intro .school_contents .data h4 a {
  color: var(--main-text-color);
}

#top_cram_school #top_school_intro .school_contents .data .kind li {
  background: #dce1ef;
}

#top_cram_school #top_school_intro .school_contents .data .kind li.group {
  background: var(--sub-text-color);
  color: #FFFFFF;
}

#top_cram_school #top_school_intro .school_contents .data .kind li.personal {
  background: #cfe024;
}

#top_cram_school #top_school_intro .school_contents .data .txt {
  color: var(--sub-text-color-gray);
}

#top_cram_school #top_school_intro .school_contents#top_cram_school_kids {
  border-color: var(--school_kids-color);
}

#top_cram_school #top_school_intro .school_contents#top_cram_school_primary {
  border-color: #fddd00;
}

#top_cram_school #top_school_intro .school_contents#top_cram_school_junior {
  border-color: var(--school_junior-color);
}

#top_cram_school #top_school_intro .school_contents#top_cram_school_high {
  border-color: var(--school_high-color);
}

#top_cram_school #top_school_intro .school_contents#top_cram_school_personal {
  border-color: var(--school_personal-color);
}

#top_cram_school #top_school_intro #top_cram_school_personal_area {
  background: #dce1ef;
}

#top_school_area {
  position: relative;
}

#top_school_area::before {
  content: attr(data-en);
  color: var(--accent-en-color);
  font-family: "Montserrat", sans-serif;
  position: absolute;
  z-index: 1;
}

#top_school_area h2 {
  position: relative;
}

#top_school_area h2::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: var(--list-marker-color);
  position: absolute;
}

#top_school_area > .txt {
  color: var(--sub-text-color-gray);
}

#top_school_area .school_list > li .list_area h3 {
  border: 1px solid #dce1ef;
  color: var(--main-text-color);
}

#top_school_area .school_list > li .list_area h3 button {
  color: var(--main-text-color);
}

#top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data .txt {
  color: var(--sub-text-color-gray);
}

#top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data .school {
  background: var(--accent-en-color);
}

#top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data table {
  border-top: 1px solid #dce1ef;
}

#top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data table th {
  color: var(--sub-text-color);
  border-bottom: 1px solid #dce1ef;
}

#top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data table td {
  border-bottom: 1px solid #dce1ef;
}

#top_marquee {
  color: #ffffff;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  -webkit-text-stroke: 1px #dce1ef;
  font-family: "Montserrat", sans-serif;
}

#top_interview h2 {
  position: relative;
}

#top_interview h2::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: var(--list-marker-color);
  position: absolute;
}

#top_interview .desciption .txt {
  color: var(--sub-text-color-gray);
}

#top_interview #top_interview_list .data {
  border: 1px solid #dce1ef;
  background: #FFFFFF;
}

#top_interview #top_interview_list .data .year {
  background: var(--sub-text-color);
  color: #FFFFFF;
}

#top_interview #top_interview_list .data .voice {
  color: var(--sub-text-color-gray);
}

#top_interview #top_interview_list .personal_data .attribute {
  color: var(--sub-text-color-gray);
}

#top_interview .swiper-scrollbar-interview {
  background: #dce1ef;
}

#top_interview .swiper-scrollbar-interview .swiper-scrollbar-drag {
  background: var(--list-marker-color);
}

#top_faq {
  background: #f9f8fb;
}

#top_faq h2 {
  position: relative;
}

#top_faq h2::before {
  content: "";
  display: block;
  border-radius: 50%;
  background: var(--list-marker-color);
  position: absolute;
}

#top_faq .faq_list > li dl {
  border: 1px solid var(--sub-text-color);
}

#top_faq .faq_list > li dl dt {
  background: #FFFFFF;
}

#top_faq .faq_list > li dl dt button,
#top_faq .faq_list > li dl dt button:focus,
#top_faq .faq_list > li dl dt button:hover {
  display: block;
  border: none;
  outline: none;
  appearance: none;
  background: none;
  cursor: pointer;
  color: var(--sub-text-color);
}

#top_faq .faq_list > li dl dt button {
  position: relative;
  width: 100%;
}

#top_faq .faq_list > li dl dt button::after {
  content: "";
  background: var(--sub-text-color);
  position: absolute;
}

#top_faq .faq_list > li dl dt button[aria-expanded="false"]::before {
  content: "";
  background: var(--sub-text-color);
  position: absolute;
}

#top_faq .faq_list > li dl dt button span {
  position: relative;
}

#top_faq .faq_list > li dl dt button span::before {
  content: "[ Q ]";
}

#top_faq .faq_list > li dl dd {
  background: var(--sub-text-color);
  color: #FFFFFF;
  position: relative;
}

#top_faq .faq_list > li dl dd.hidden {
  display: none;
}

#top_faq .faq_list > li dl dd span::before {
  content: "[ A ]";
}

@media screen and (min-width: 768px) {
  #top_mv {
    position: relative;
  }
  #top_mv h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
  }
  #top_mv .mv img {
    width: 100%;
    height: auto;
  }
  #top_mv #mv_link1 {
    position: absolute;
    left: 0;
    top: 0;
    width: 38%;
    z-index: 15;
    clip-path: polygon(100% 90.9%, 83.99% 0, 0 0, 0 100%, 99.99% 90.92%, 100% 90.9%);
  }
  #top_mv #mv_link1 img {
    width: 100%;
    height: auto;
  }
  #top_mv #mv_link2 {
    position: absolute;
    left: 32%;
    top: 0;
    width: 45.6%;
    z-index: 15;
    clip-path: polygon(13.45% 100%, 13.46% 100%, 85.41% 93.86%, 100% 0, 0 0, 13.46% 99.97%, 13.46% 100%);
  }
  #top_mv #mv_link2 img {
    width: 100%;
    height: auto;
  }
  #top_mv #mv_link3 {
    position: absolute;
    right: 0;
    top: 0;
    width: 29%;
    z-index: 15;
    clip-path: polygon(22.94% 0, 0 46.6%, 11.19% 100%, 100% 100%, 100% 0, 22.94% 0);
  }
  #top_mv #mv_link3 img {
    width: 100%;
    height: auto;
  }
  #top_mv #mv_link4 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38.3%;
    z-index: 15;
    clip-path: polygon(0 9.84%, 0 100%, 70.59% 100%, 100% 0, 0 9.84%);
  }
  #top_mv #mv_link4 img {
    width: 100%;
    height: auto;
  }
  #top_mv #mv_link5 {
    position: absolute;
    left: 27.08%;
    bottom: 0;
    width: 47.22%;
    z-index: 15;
    clip-path: polygon(23.83% 5.7%, 23.82% 5.7%, 0 100%, 100% 100%, 93.14% 0, 23.83% 5.7%);
  }
  #top_mv #mv_link5 img {
    width: 100%;
    height: auto;
  }
  #top_mv #mv_link1:hover,
  #top_mv #mv_link2:hover,
  #top_mv #mv_link3:hover,
  #top_mv #mv_link4:hover,
  #top_mv #mv_link5:hover {
    background: radial-gradient(transparent 30%, rgba(0, 0, 0, 0.15));
    mix-blend-mode: overlay;
  }
  #top_mv .scroll_btn {
    position: absolute;
    z-index: 20;
    right: 60px;
    bottom: 32px;
  }
  #top_journey {
    padding: 170px 0 175px;
  }
  #top_journey #top_about {
    position: relative;
    padding-bottom: 465px;
  }
  #top_journey #top_about::before {
    font-size: 18rem;
    font-weight: 100;
    left: 325px;
    top: -40px;
    letter-spacing: -0.02em;
  }
  #top_journey #top_about h2 {
    font-size: 1.8rem;
    font-weight: 600;
    padding-left: 18px;
    position: relative;
  }
  #top_journey #top_about h2::before {
    width: 6px;
    height: 6px;
    top: 11px;
    left: 0;
  }
  #top_journey #top_about .data {
    margin-top: 63px;
    position: relative;
    z-index: 5;
  }
  #top_journey #top_about .data h3 {
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.65;
    flex-shrink: 0;
  }
  #top_journey #top_about .data .txt {
    width: 480px;
    line-height: 2;
    margin-top: 42px;
    letter-spacing: 0;
  }
  #top_journey #top_about .journey_image {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #top_journey #top_network,
  #top_journey #top_teacher {
    margin-top: 170px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #top_journey #top_network .image,
  #top_journey #top_teacher .image {
    flex-shrink: 0;
  }
  #top_journey #top_network .data,
  #top_journey #top_teacher .data {
    width: 390px;
    padding-top: 10px;
  }
  #top_journey #top_network .data .caption,
  #top_journey #top_teacher .data .caption {
    font-weight: 600;
    font-size: 1.8rem;
  }
  #top_journey #top_network .data h3,
  #top_journey #top_teacher .data h3 {
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.55;
    margin-top: 7px;
    position: relative;
  }
  #top_journey #top_network .data h3::after,
  #top_journey #top_teacher .data h3::after {
    content: "";
    width: 170px;
    height: 64px;
    background: url(../images/top/line01_pc.png) no-repeat;
    position: absolute;
    left: 0;
    bottom: -8px;
    z-index: -1;
  }
  #top_journey #top_network .data .txt,
  #top_journey #top_teacher .data .txt {
    font-size: 1.5rem;
    line-height: 1.86;
    margin-top: 47px;
    letter-spacing: 0;
  }
  #top_journey #top_network {
    margin-top: 200px;
  }
  #top_journey #top_teacher {
    margin-top: 120px;
  }
  #top_journey #top_teacher .data h3::after {
    content: "";
    width: 273px;
    height: 15px;
    background: url(../images/top/line03_pc.png) no-repeat;
    position: absolute;
    left: 0;
    bottom: -9px;
    z-index: -1;
  }
  #top_journey #top_timing {
    margin-top: 120px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
  }
  #top_journey #top_timing .image {
    flex-shrink: 0;
  }
  #top_journey #top_timing .data {
    width: 380px;
  }
  #top_journey #top_timing .data .caption {
    color: var(--sub-text-color);
    font-weight: 600;
    font-size: 1.8rem;
  }
  #top_journey #top_timing .data h3 {
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.55;
    margin-top: 7px;
    position: relative;
  }
  #top_journey #top_timing .data h3::after {
    content: "";
    width: 281px;
    height: 25px;
    background: url(../images/top/line02_pc.png) no-repeat;
    position: absolute;
    left: 0;
    top: 44px;
    z-index: -1;
  }
  #top_journey #top_timing .data .txt {
    font-size: 1.5rem;
    line-height: 1.86;
    margin-top: 47px;
    letter-spacing: 0;
  }
  #top_cram_school #top_cram_school_check {
    padding: 75px 0 65px;
  }
  #top_cram_school #top_cram_school_check h2 {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    font-feature-settings: "palt";
  }
  #top_cram_school #top_cram_school_check > ul {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 0 25px;
  }
  #top_cram_school #top_cram_school_check > ul > li {
    display: contents;
  }
  #top_cram_school #top_cram_school_check > ul > li a {
    display: flex;
    justify-content: center;
    width: 290px;
    border-width: 4px;
    padding: 38px 0 53px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    font-weight: 600;
  }
  #top_cram_school #top_cram_school_check > ul > li a::after {
    width: 7px;
    height: 7px;
    bottom: 23px;
  }
  #top_cram_school #top_school_intro {
    padding-top: 115px;
  }
  #top_cram_school #top_school_intro::before {
    top: 80px;
    left: calc(50% - 150px);
    letter-spacing: -0.04em;
    font-weight: 100;
    font-size: 18rem;
  }
  #top_cram_school #top_school_intro h2 {
    font-size: 1.8rem;
    font-weight: 600;
    padding-left: 18px;
    position: relative;
  }
  #top_cram_school #top_school_intro h2::before {
    width: 6px;
    height: 6px;
    top: 11px;
    left: 0;
  }
  #top_cram_school #top_school_intro > .copy {
    margin-top: 60px;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.65;
  }
  #top_cram_school #top_school_intro .school_contents {
    border-width: 4px;
    width: 1120px;
    margin: 74px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #top_cram_school #top_school_intro .school_contents:nth-of-type(1) {
    margin-top: 93px;
  }
  #top_cram_school #top_school_intro .school_contents .image {
    flex-shrink: 0;
  }
  #top_cram_school #top_school_intro .school_contents .data {
    padding: 0 75px 39px;
  }
  #top_cram_school #top_school_intro .school_contents .data h3 {
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    font-weight: 500;
    position: absolute;
    top: -4px;
    left: 0;
    width: 286px;
    padding: 12px 18px 16px;
    text-align: center;
    box-sizing: content-box;
  }
  #top_cram_school #top_school_intro .school_contents .data h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0.3;
  }
  #top_cram_school #top_school_intro .school_contents .data h3 span {
    position: relative;
    z-index: 5;
    opacity: 1;
  }
  #top_cram_school #top_school_intro .school_contents .data .caption {
    font-size: 1.3rem;
    padding-left: 5px;
    letter-spacing: 0;
  }
  #top_cram_school #top_school_intro .school_contents .data .title_area {
    display: flex;
    gap: 0 19px;
    align-items: center;
  }
  #top_cram_school #top_school_intro .school_contents .data h4 {
    margin-top: 9px;
    font-size: 3.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
  }
  #top_cram_school #top_school_intro .school_contents .data h4 span.mini {
    font-size: 2rem;
  }
  #top_cram_school #top_school_intro .school_contents .data h4 a {
    padding-bottom: 0;
    border-bottom: 1px solid var(--main-text-color);
  }
  #top_cram_school #top_school_intro .school_contents .data .kind {
    display: flex;
    gap: 0 12px;
    margin-top: 31px;
    padding-left: 5px;
  }
  #top_cram_school #top_school_intro .school_contents .data .kind li {
    padding: 4px 16px 6px;
    border-radius: 30px;
    font-size: 1.3rem;
    font-weight: 500;
  }
  #top_cram_school #top_school_intro .school_contents .data h5 {
    margin-top: 50px;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.02em;
  }
  #top_cram_school #top_school_intro .school_contents .data .txt {
    margin-top: 27px;
    font-size: 1.5rem;
    line-height: 1.86;
    letter-spacing: 0;
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_kids h3 {
    background: var(--school_kids-color);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_kids h3::before {
    background-image: -moz-linear-gradient(-110deg, #f1707b 0%, #f08200 100%);
    background-image: -webkit-linear-gradient(-110deg, #f1707b 0%, #f08200 100%);
    background-image: -ms-linear-gradient(-110deg, #f1707b 0%, #f08200 100%);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_primary h3 {
    background: #fddd00;
    color: #595757;
    font-weight: 600;
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_primary h3::before {
    background-image: -moz-linear-gradient(-110deg, #fddd00 0%, #d87a00 100%);
    background-image: -webkit-linear-gradient(-110deg, #fddd00 0%, #d87a00 100%);
    background-image: -ms-linear-gradient(-110deg, #fddd00 0%, #d87a00 100%);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_junior h3 {
    background: var(--school_junior-color);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_junior h3::before {
    background-image: -moz-linear-gradient(-110deg, #f08200 0%, #e95283 100%);
    background-image: -webkit-linear-gradient(-110deg, #f08200 0%, #e95283 100%);
    background-image: -ms-linear-gradient(-110deg, #f08200 0%, #e95283 100%);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_junior .data {
    padding-bottom: 30px;
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_high h3 {
    background: var(--school_high-color);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_high h3::before {
    background-image: -moz-linear-gradient(-110deg, #008cd6 0%, #21bf46 100%);
    background-image: -webkit-linear-gradient(-110deg, #008cd6 0%, #21bf46 100%);
    background-image: -ms-linear-gradient(-110deg, #008cd6 0%, #21bf46 100%);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_high .data {
    padding-bottom: 30px;
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_personal h3 {
    background: var(--school_personal-color);
  }
  #top_cram_school #top_school_intro .school_contents#top_cram_school_personal h3::before {
    background-image: -moz-linear-gradient(-110deg, #00a0b8 0%, #cfe024 100%);
    background-image: -webkit-linear-gradient(-110deg, #00a0b8 0%, #cfe024 100%);
    background-image: -ms-linear-gradient(-110deg, #00a0b8 0%, #cfe024 100%);
  }
  #top_cram_school #top_school_intro #top_cram_school_personal_area {
    margin-top: 122px;
    padding: 70px 0 100px;
  }
  #top_cram_school #top_school_intro #top_cram_school_personal_area .personal {
    text-align: center;
  }
  #top_cram_school #top_school_intro #top_cram_school_personal_area .school_contents#top_cram_school_personal {
    margin-top: 24px;
    width: 1000px;
  }
  #top_cram_school #top_school_intro #top_cram_school_personal_area .school_contents#top_cram_school_personal .data {
    padding: 5px 75px 0px;
  }
  #top_cram_school #top_school_intro #top_cram_school_personal_area .school_contents#top_cram_school_personal .data .kind li {
    letter-spacing: -0.04em;
  }
  #top_cram_school #top_school_intro #top_cram_school_personal_area .school_contents#top_cram_school_personal .data .txt {
    margin-top: 60px;
  }
  #top_school_area {
    padding: 150px 0 110px;
    background: url(../images/top/ico_area_pc.png) no-repeat;
    background-position: top 55px right 0;
  }
  #top_school_area::before {
    top: 120px;
    left: 400px;
    font-size: 18rem;
    letter-spacing: -0.03em;
    font-weight: 100;
    z-index: -1;
  }
  #top_school_area h2 {
    font-size: 1.8rem;
    font-weight: 600;
    padding-left: 18px;
    position: relative;
  }
  #top_school_area h2::before {
    width: 6px;
    height: 6px;
    top: 11px;
    left: 0;
  }
  #top_school_area > .copy {
    margin-top: 60px;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.7;
  }
  #top_school_area > .txt {
    margin-top: 40px;
    width: 490px;
    font-size: 1.6rem;
    line-height: 2;
    letter-spacing: 0;
  }
  #top_school_area .school_list {
    margin-top: 95px;
    display: flex;
    justify-content: center;
    gap: 0 25px;
  }
  #top_school_area .school_list > li .list_area {
    width: 262px;
  }
  #top_school_area .school_list > li .list_area h3 {
    margin: 17px auto 0;
    border-radius: 45px;
    width: 160px;
  }
  #top_school_area .school_list > li .list_area h3 button,
  #top_school_area .school_list > li .list_area h3 button:focus,
  #top_school_area .school_list > li .list_area h3 button:hover {
    width: 100%;
    padding: 9px 0 10px 20px;
    text-align: left;
    font-size: 1.5rem;
    display: block;
    border: none;
    outline: none;
    appearance: none;
    background: none;
    cursor: pointer;
    font-weight: 500;
    position: relative;
    letter-spacing: 0.07em;
  }
  #top_school_area .school_list > li .list_area h3 button::after,
  #top_school_area .school_list > li .list_area h3 button:focus::after,
  #top_school_area .school_list > li .list_area h3 button:hover::after {
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    background: url(../images/common/ico_school_plus_pc.png) no-repeat;
    position: absolute;
    top: 50%;
    right: 9px;
    transform: translateY(-50%);
  }
  #top_school_area .school_list > li dialog {
    overscroll-behavior: contain;
    width: 1100px;
  }
  #top_school_area .school_list > li dialog:modal {
    border: none;
    border-radius: 8px;
    background: #FFFFFF;
    padding: 60px;
  }
  #top_school_area .school_list > li dialog:focus {
    outline: 0;
  }
  #top_school_area .school_list > li dialog::backdrop {
    background: rgba(0, 0, 0, 0.5);
  }
  #top_school_area .school_list > li dialog .close_btn {
    position: absolute;
    top: 10px;
    right: 10px;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper {
    position: relative;
    overflow: hidden;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .image {
    width: 332px;
    flex-shrink: 0;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data {
    width: 580px;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data h3 {
    font-size: 2.8rem;
    font-weight: 600;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data .txt {
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 1.86;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data .school {
    display: flex;
    align-items: center;
    margin-top: 25px;
    gap: 10px 25px;
    padding: 14px 15px 12px;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data .school > li {
    display: contents;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data .school > li a {
    display: flex;
    align-items: center;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data table {
    margin-top: 48px;
    width: 100%;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data table th {
    width: 100px;
    padding: 15px 0;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .data_area .data table td {
    padding: 15px 0;
  }
  #top_school_area .school_list > li dialog .modal_contents_wrapper .map {
    margin-top: 80px;
  }
  #top_marquee {
    font-weight: 500;
    font-size: 14rem;
    display: flex;
  }
  #top_marquee span {
    padding-right: 0.5em;
    animation: 50s marquee 0s linear running infinite;
  }
  @keyframes marquee {
    from {
      transform: translate3d(0, 0, 0);
    }
    to {
      transform: translate3d(-100%, 0, 0);
    }
  }
  #top_interview {
    margin-top: -30px;
    padding: 122px 0 123px;
    background: url(../images/common/bg_graph-paper_pc.png) repeat;
    overflow-x: hidden;
  }
  #top_interview h2 {
    font-size: 1.8rem;
    font-weight: 600;
    padding-left: 18px;
    position: relative;
  }
  #top_interview h2::before {
    width: 6px;
    height: 6px;
    top: 11px;
    left: 0;
  }
  #top_interview .desciption {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
  }
  #top_interview .desciption h3 {
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.65;
  }
  #top_interview .desciption .txt {
    width: 480px;
    font-size: 1.6rem;
    line-height: 2;
    padding-top: 6px;
    letter-spacing: 0;
  }
  #top_interview #top_interview_list_wrapper {
    width: calc(50% + 600px);
    margin: 90px 0 0 auto;
    overflow: visible;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li {
    width: 510px;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li:last-child {
    padding-right: 30px;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .data {
    position: relative;
    border-radius: 8px;
    padding: 97px 60px 0 60px;
    min-height: 295px;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .data::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 109px;
    border-style: solid;
    border-width: 29px 31px 0 0;
    border-color: #dce1ef transparent transparent;
    translate: -50% 100%;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .data::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 109px;
    border-style: solid;
    border-width: 26.7px 28.5px 0 0;
    border-color: #ffffff transparent transparent;
    translate: calc(-50% - 0.2px) 100%;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .data .year {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 0 8px;
    border-radius: 8px 0 8px 0;
    padding: 7px 27px 7px 15px;
    overflow: hidden;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .data .year span {
    font-size: 1.5rem;
    padding-bottom: 4px;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .data .voice {
    font-size: 1.5rem;
    line-height: 1.86;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .person {
    margin-top: 35px;
    padding-left: 12px;
    display: flex;
    align-items: center;
    gap: 0 22px;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .person .image {
    width: 80px;
    flex-shrink: 0;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .person .image img {
    border-radius: 50%;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .person .personal_data {
    padding-top: 3px;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .person .personal_data h4 {
    font-size: 1.8rem;
    font-weight: 600;
  }
  #top_interview #top_interview_list_wrapper #top_interview_list > li .person .personal_data .attribute {
    margin-top: 5px;
    font-size: 1.3rem;
  }
  #top_interview #swiper-interview_navi {
    width: 760px;
    margin: 54px auto 0;
    padding-left: 130px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #top_interview .swiper-scrollbar-interview {
    position: relative;
    width: 510px;
    height: 4px;
  }
  #top_interview .swiper_btn_area {
    width: 95px;
    display: flex;
    justify-content: space-between;
  }
  #top_faq {
    padding: 132px 0 159px;
  }
  #top_faq h2 {
    font-size: 1.8rem;
    font-weight: 600;
    padding-left: 18px;
    position: relative;
  }
  #top_faq h2::before {
    width: 6px;
    height: 6px;
    top: 9px;
    left: 0;
  }
  #top_faq h3 {
    margin-top: 63px;
    font-size: 4rem;
    font-weight: 600;
    line-height: 1.65;
  }
  #top_faq .faq_list {
    margin: 47px 0 0 auto;
    width: 800px;
  }
  #top_faq .faq_list > li {
    margin-top: 23px;
  }
  #top_faq .faq_list > li:nth-of-type(1) {
    margin-top: 0;
  }
  #top_faq .faq_list > li dl {
    border-radius: 4px;
    overflow: hidden;
  }
  #top_faq .faq_list > li dl dt button {
    text-align: left;
    padding: 25px 50px 25px 35px;
  }
  #top_faq .faq_list > li dl dt button::after {
    width: 16px;
    height: 2px;
    right: 22px;
    top: calc(50% - 1px);
  }
  #top_faq .faq_list > li dl dt button[aria-expanded="false"]::before {
    width: 2px;
    height: 16px;
    right: 29px;
    top: calc(50% - 8px);
  }
  #top_faq .faq_list > li dl dt button span {
    font-size: 1.8rem;
    font-weight: 500;
    display: flex;
    align-items: center;
  }
  #top_faq .faq_list > li dl dt button span::before {
    margin-right: 13px;
    font-size: 1.3rem;
    font-weight: 400;
    padding-bottom: 2px;
  }
  #top_faq .faq_list > li dl dd {
    font-weight: 300;
    padding: 24px 50px 43px 35px;
  }
  #top_faq .faq_list > li dl dd span {
    display: flex;
  }
  #top_faq .faq_list > li dl dd span::before {
    margin-right: 13px;
    font-size: 1.3rem;
    font-weight: 300;
    flex-shrink: 0;
  }
}
