@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap");
:root {
  --c-p-blue: #1b9ec6;
  --c-p-light-blue: #f2f8fb;
  --c-p-light-blue2: #d2e2f2;
  --c-p-orange: #f18d00;
  --c-p-society: #5dc2d0;
  --c-p-region: #8dc661;
  --c-p-international: #ee869a;
  --c-p-media: #f0af40;
  --ff-yugo: "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", "Helvetica Neue", "Helvetica", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  --ff-mincho: "Noto Serif JP", serif;
  --ff-noto-sans: "Noto Sans JP", "Helvetica Neue", "Helvetica", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  --ff-roboto: "Roboto", sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  #main {
    padding-top: 15vw;
  }

  #header {
    background-image: url("../img/top/top_052_header_bg_sp.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }

  .header_logo {
    margin-top: 0;
    line-height: 1;
  }
}
#fixed_menu {
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
}

.fixed_menu_list > li {
  border: 2px solid var(--c-white);
  border-right: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.fixed_menu_list > li:nth-child(1) {
  background-image: url("../img/top/top_039_fixed_menu_bg_01.jpg");
}

.fixed_menu_list > li:nth-child(2) {
  background-image: url("../img/top/top_040_fixed_menu_bg_02.jpg");
}

.fixed_menu_list > li:nth-child(3) {
  background-image: url("../img/top/top_041_fixed_menu_bg_03.jpg");
}

.fixed_menu_list > li:nth-child(4) {
  background-image: url("../img/top/top_042_fixed_menu_bg_04.jpg");
}

.fixed_menu_list > li > a {
  color: var(--c-white);
}

@media screen and (max-width: 767px) {
  .fixed_menu_list {
    background-image: url("../img/top/top_043_fixed_menu_bg_sp.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }

  .fixed_menu_list > li {
    border: 0;
    background: none;
  }

  .fixed_menu_list > li:nth-child(1), .fixed_menu_list > li:nth-child(2), .fixed_menu_list > li:nth-child(3), .fixed_menu_list > li:nth-child(4) {
    background: none;
  }

  .fixed_menu_list > li:not(:first-child) {
    border-left: 1px solid var(--c-white);
  }
}
#footer {
  background-color: transparent;
  border-top: 2px solid var(--c-black);
}

.footer_nav > li a {
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.footer_nav > li.item_request a {
  background-image: url("../img/top/top_045_footer_nav_bg_01.jpg");
}

.footer_nav > li.item_opencampus a {
  background-image: url("../img/top/top_047_footer_nav_bg_02.jpg");
}

.footer_nav > li.item_webentry a {
  background-image: url("../img/top/top_049_footer_nav_bg_03.jpg");
}

.footer_nav > li.item_support a {
  background-image: url("../img/top/top_051_footer_nav_bg_04.jpg");
}

.footer_btn {
  border: 1px solid var(--c-p-blue);
}

@media screen and (max-width: 767px) {
  .footer_nav > li.item_request a {
    background-image: url("../img/top/top_044_footer_nav_bg_01_sp.jpg");
  }

  .footer_nav > li.item_opencampus a {
    background-image: url("../img/top/top_046_footer_nav_bg_02_sp.jpg");
  }

  .footer_nav > li.item_webentry a {
    background-image: url("../img/top/top_048_footer_nav_bg_03_sp.jpg");
  }

  .footer_nav > li.item_support a {
    background-image: url("../img/top/top_050_footer_nav_bg_04_sp.jpg");
  }
}
.bold {
  font-weight: var(--fw-b) !important;
}

.yugo {
  font-family: var(--ff-yugo);
}

.three_dots {
  display: flex;
  gap: clamp(0px, 0.71vw, 10px);
  justify-content: center;
  align-items: center;
}

.three_dots.mtb {
  padding: clamp(0px, 2.1vw, 40px) 0;
}

.three_dots.mtb_l {
  padding: clamp(0px, 4.29vw, 60px) 0;
}

.three_dots span {
  width: clamp(0px, 0.57vw, 8px);
  height: auto;
  aspect-ratio: 1/1;
  color: var(--c-black);
  border-radius: 50%;
  display: inline-block;
}

.three_dots span:nth-child(1) {
  background-color: #f9be68;
}

.three_dots span:nth-child(2) {
  background-color: #edadcd;
}

.three_dots span:nth-child(3) {
  background-color: #55c0cc;
}

.three_dots.light_blue span:nth-child(1), .three_dots.light_blue span:nth-child(2), .three_dots.light_blue span:nth-child(3) {
  background-color: var(--c-p-light-blue2);
}

@media screen and (max-width: 767px) {
  .three_dots {
    gap: 2vw;
  }

  .three_dots.mtb {
    padding: 7vw 0 8vw;
  }

  .three_dots.mtb_l {
    padding: 12vw 0;
  }

  .three_dots span {
    width: 1.2vw;
  }
}
/* ===============================================
    title
=============================================== */
.sec_ttl_ja {
  font-family: var(--ff-yugo);
  font-size: clamp(0px, 3.21vw, 45px);
  font-weight: var(--fw-b);
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 0.8em;
}

.sec_txt_en {
  text-align: center;
  margin-bottom: -1px;
}

.sec_txt_en img {
  max-width: none;
  height: clamp(0px, 7.5vw, 144px);
  display: inline-block;
  vertical-align: bottom;
}

@media screen and (max-width: 1400px) {
  .sec_txt_en {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec_ttl_ja {
    font-size: 5.5vw;
    letter-spacing: 0.05em;
  }

  #advantage.sec_txt_en img {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
/* ===============================================
    button
=============================================== */
.btn_more_blue {
  background-color: var(--c-p-blue);
  font-family: var(--ff-noto-sans);
}

.btn_more_blue:hover {
  background-color: var(--c-p-orange);
}

.btn_more_blue::after {
  border-top-color: var(--c-p-blue);
  border-right-color: var(--c-p-blue);
}

.btn_more_blue:hover::after {
  border-top-color: var(--c-p-orange);
  border-right-color: var(--c-p-orange);
}

.btn_more {
  min-height: clamp(0px, 4.64vw, 65px);
}

@media screen and (max-width: 767px) {
  .btn_more {
    min-height: 16.5vw;
  }

  .btn_more::before {
    width: 13.2vw;
    right: 1.6vw;
  }

  .btn_more::after {
    width: 3.3vw;
    height: 3.3vw;
    right: 7.6vw;
  }
}
/* ===============================================
    animation
=============================================== */
/* 画像を左から右へ表示 */
.anim_img {
  overflow: hidden;
}

.anim_img img {
  width: 100%;
  clip-path: inset(0 100% 0 0);
}

.anim_img.is_visible img {
  animation: imgReveal 1.2s cubic-bezier(0.6, 0, 0.4, 1) forwards;
}

@keyframes imgReveal {
  to {
    clip-path: inset(0 0 0 0);
  }
}
/* テキストアニメーション */
.anim_txt span {
  display: inline-block;
  overflow: hidden;
  line-height: 1.6;
  vertical-align: bottom;
}

.anim_txt span::before {
  content: attr(data-text);
  display: inline-block;
  transform: translateY(100%);
  animation: maskSlide 0.7s cubic-bezier(0.77, 0, 0.18, 1) forwards;
  animation-delay: inherit;
  animation-play-state: paused;
  transform: translate3d(0, 100%, 0);
  /* GPU */
  will-change: transform;
  /* パフォーマンス向上 */
}

.anim_txt.is_active span::before {
  animation-play-state: running;
}

@keyframes maskSlide {
  to {
    transform: translate3d(0, 0, 0);
  }
}
/* ===============================================
    slider
=============================================== */
.js_slider {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.js_slider.slick-initialized {
  opacity: 1;
}

.modal_cont.slide {
  overflow: visible;
}

.slider_content {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.slider_content .slick-list {
  width: 100%;
}

.slider_content.ap {
  height: clamp(0px, 28.57vw, 400px);
}

.slide_item {
  width: 100%;
  height: 100%;
}

.slide_item .img_cont {
  width: 100%;
  height: 100%;
  max-height: calc(80vh - 30px);
  overflow: auto;
}

.slide_item .appeal_point {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(0px, 5vw, 70px);
  padding: 0 clamp(0px, 5vw, 70px);
}

.slide_item .appeal_point .img_area {
  width: clamp(0px, 16.43vw, 230px);
  aspect-ratio: 1/1;
  background-color: #c0d6ef;
  overflow: hidden;
  border-radius: 50%;
}

.slide_item .appeal_point .img_area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide_item .appeal_point .txt_area {
  flex: 1;
  width: 100%;
}

.slide_item .appeal_point .txt_area .point_ttl_en {
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .slider_content.ap {
    height: auto;
    max-height: 80vh;
  }

  .slide_item .appeal_point {
    flex-direction: column;
    align-items: center;
    gap: 7vw;
    padding: 4vw 6vw;
  }

  .slide_item .appeal_point .img_area {
    width: 35vw;
  }

  .slide_item .appeal_point .txt_area .point_txt {
    text-align: center;
  }
}
/* 矢印 */
.slide_arrow {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s;
  box-shadow: 3px 5px 5px 3px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.slide_arrow.prev {
  left: -55px;
}

.slide_arrow.next {
  right: -55px;
}

.slide_arrow::before {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 2px solid #333;
}

.slide_arrow.prev::before {
  border-left: 2px solid #333;
  transform: rotate(-45deg);
  margin-left: 3px;
}

.slide_arrow.next::before {
  border-right: 2px solid #333;
  transform: rotate(45deg);
  margin-right: 3px;
}

.slider_content {
  overflow: visible;
}

@media screen and (max-width: 767px) {
  .slide_arrow {
    width: 12vw;
    height: 12vw;
  }

  .slide_arrow.prev {
    left: -8vw;
  }

  .slide_arrow.next {
    right: -8vw;
  }

  .slide_arrow::before {
    width: 3.5vw;
    height: 3.5vw;
  }

  .slide_arrow.prev::before {
    margin-left: 0.5vw;
  }

  .slide_arrow.next::before {
    margin-right: 0.5vw;
  }
}
/* ===============================================
    mv
=============================================== */
.mv_slider.js_slider .slick-list,
.mv_slider.js_slider .slick-track {
  white-space: 100%;
  height: 100%;
}

.mv_slider .slick-slide {
  will-change: opacity;
}

.mv_slider .slick-track {
  transform: translate3d(0, 0, 0);
}

.mv_slider_wrap {
  position: relative;
  overflow: hidden;
}

.mv_slider_wrap::before, .mv_slider_wrap::after {
  content: "";
  height: 100%;
  width: auto;
  aspect-ratio: 752/1080;
  position: absolute;
  top: 0;
  background-repeat: no-repeat;
  z-index: 2;
}

.mv_slider_wrap::before {
  aspect-ratio: 752/1080;
  background-image: url("../img/top/top_088_mv_left.png");
  background-position: top left;
  background-size: 100% auto;
  left: 0;
}

.mv_slider_wrap::after {
  aspect-ratio: 285/1080;
  background-image: url("../img/top/top_089_mv_right.png");
  background-position: top right;
  background-size: 100% auto;
  right: 0;
  z-index: 2;
}

.mv_slider {
  width: 100%;
  height: min(100svh, 56.25vw);
  overflow: hidden;
}

.mv_slide {
  width: 100%;
  height: 100%;
}

.mv_slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.add_animation {
  animation: zoomUp 10s linear 0s normal both;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
    /* 拡大率 */
  }
}
.mv_txt {
  width: clamp(0px, 14.16vw, 230px);
  position: absolute;
  bottom: clamp(0px, 4.5vw, 80px);
  left: clamp(0px, 9.74vw, 160px);
  z-index: 2;
}

.mv_txt img {
  display: inline-block;
  max-height: 80svh;
}

@media screen and (max-width: 767px) {
  .mv_img_sp {
    margin-bottom: 6.5vw;
  }

  .mv_txt_sp {
    width: 60vw;
    margin-bottom: 6vw;
    position: relative;
    z-index: 2;
  }
}
/* ===============================================
    lead
=============================================== */
#lead {
  font-family: var(--ff-yugo);
  padding: clamp(0px, 15vw, 210px) 0 clamp(0px, 3.86vw, 54px);
  background-image: url("../img/top/top_067_lead_bg_top.png"), url("../img/top/top_065_lead_bg_btm.png");
  background-repeat: no-repeat, no-repeat;
  background-position: top center, bottom center;
  background-size: clamp(0px, 146.79vw, 2055px) auto, 100% auto;
  position: relative;
}

.lead_ttl {
  font-size: clamp(0px, 3.21vw, 45px);
  font-weight: var(--fw-b);
  letter-spacing: 0.15em;
  text-align: center;
  margin-bottom: 1em;
}

.txt_grad {
  background: linear-gradient(90deg, #f9be68 0%, #edadcd 20%, #55c0cc 100%);
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
}

.lead_txt {
  font-size: clamp(0px, 1.93vw, 27px);
  font-weight: var(--fw-b);
  letter-spacing: 0.25em;
  line-height: 2.2;
  text-align: center;
  margin-bottom: clamp(0px, 13.57vw, 190px);
}

.lead_txt_en {
  width: clamp(0px, 114.29vw, 1600px);
  max-width: 100%;
  margin: 0 auto;
}

.lead_box_wrap {
  width: 62.5%;
  margin: 0 auto;
}

.lead_box {
  background-color: var(--c-white);
  border-top-left-radius: clamp(0px, 7.14vw, 100px);
  padding: clamp(0px, 6.43vw, 90px) clamp(0px, 4.29vw, 60px);
  position: relative;
}

.lead_box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  width: 100vw;
  height: 100%;
  background-color: var(--c-white);
  z-index: 0;
}

.lead_box::after {
  content: "";
  width: clamp(0px, 11.46vw, 220px);
  aspect-ratio: 220/230;
  height: auto;
  background-image: url("../img/top/top_068_lead_ill_01.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  position: absolute;
  bottom: clamp(-4px, -0.21vw, 0px);
  left: calc(100% + clamp(-90px, -4.69vw, 0px));
}

.lead_photo_01 {
  width: 23%;
  aspect-ratio: 488/444;
  border-top-left-radius: clamp(0px, 4.58vw, 88px);
  border-bottom-right-radius: clamp(0px, 4.58vw, 88px);
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
}

.lead_photo_02 {
  width: 18%;
  aspect-ratio: 346/315;
  border-top-left-radius: clamp(0px, 3.28vw, 63px);
  border-bottom-right-radius: clamp(0px, 3.28vw, 63px);
  overflow: hidden;
  position: absolute;
  bottom: clamp(0px, 18vw, 350px);
  right: 0;
}

.lead_photo_01 img, .lead_photo_02 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lead_txt_l {
  font-size: clamp(0px, 2.5vw, 35px);
  font-weight: var(--fw-b);
  letter-spacing: 0.05em;
  text-align: center;
}

.lead_txt_s {
  font-size: clamp(0px, 1.64vw, 23px);
  font-weight: var(--fw-sb);
  line-height: 2.4;
  text-align: center;
}

.lead_line {
  width: clamp(0px, 0.36vw, 5px);
  position: absolute;
  top: calc(100% - clamp(0px, 7.14vw, 100px));
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

@media screen and (max-width: 767px) {
  #lead {
    padding: 0 0 23vw;
    background-image: url("../img/top/top_064_lead_bg_btm_sp.png");
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100% auto;
  }

  #lead::before {
    content: "";
    width: 100%;
    height: auto;
    aspect-ratio: 1000/1297;
    background-image: url("../img/top/top_066_lead_bg_top_sp.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    position: absolute;
    top: -40vw;
    left: 0;
    pointer-events: none;
    z-index: -1;
  }

  .lead_ttl {
    font-size: 4.7vw;
    font-weight: var(--fw-b);
    letter-spacing: normal;
    text-align: left;
    margin-bottom: 0.4em;
  }

  .lead_txt {
    font-size: 3.8vw;
    letter-spacing: normal;
    line-height: 1.84;
    text-align: left;
    margin-bottom: 52.5vw;
  }

  .lead_txt_en {
    width: 100%;
  }

  .lead_box_wrap {
    width: 100%;
  }

  .lead_box {
    border-top-left-radius: 10vw;
    padding: 14.5vw 8vw 0;
    position: initial;
  }

  .lead_box::before {
    display: none;
  }

  .lead_box::after {
    width: 17.6vw;
    bottom: 5.5vw;
    left: auto;
    right: 1vw;
  }

  .lead_photo_01 {
    width: 34.2vw;
    border-top-left-radius: 6.2vw;
    border-bottom-right-radius: 6.2vw;
    overflow: hidden;
    bottom: -22.4vw;
  }

  .lead_photo_02 {
    width: 24.2vw;
    border-top-left-radius: 4.4vw;
    border-bottom-right-radius: 4.4vw;
    right: auto;
    left: 34.2vw;
    bottom: -2.3vw;
  }

  .lead_txt_l {
    font-size: 5.5vw;
  }

  .lead_txt_s {
    font-size: 4vw;
    line-height: 1.7;
    text-align: left;
  }

  .lead_line {
    width: 0.5vw;
    position: absolute;
    top: calc(100% + 9.5vw);
  }
}
/* ===============================================
    info
=============================================== */
#info {
  padding: clamp(0px, 14.29vw, 200px) 0;
}

.info_ill_01 {
  position: absolute;
  top: clamp(-200px, -14.29vw, 0px);
  left: clamp(-310px, -22.14vw, 0px);
}

.info_ill_02 {
  position: absolute;
  bottom: clamp(-290px, -20.71vw, 0px);
  right: clamp(-340px, -24.29vw, 0px);
}

.info_ill_03 {
  position: absolute;
  bottom: clamp(-230px, -16.43vw, 0px);
  left: clamp(-330px, -23.57vw, 0px);
}

.info_txt_l {
  font-family: var(--ff-yugo);
  font-size: clamp(0px, 3.21vw, 45px);
  font-weight: var(--fw-b);
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 0.6em;
}

.info_txt_s {
  font-family: var(--ff-yugo);
  font-weight: var(--fw-sb);
  font-size: clamp(0px, 1.64vw, 23px);
  line-height: 2.4;
  text-align: center;
}

.info_head {
  margin-bottom: clamp(0px, 4.29vw, 60px);
}

.info_box_wrap {
  position: relative;
}

.info_box {
  position: relative;
}

.info_box_inner {
  background-color: var(--c-p-light-blue);
  padding: clamp(0px, 5.36vw, 75px) clamp(0px, 3.57vw, 50px) clamp(0px, 3.57vw, 50px);
  position: relative;
  z-index: 2;
}

.info_box_inner .three_dots {
  padding-bottom: clamp(0px, 3.57vw, 50px);
}

.info_box_btn {
  margin-top: clamp(0px, 2.86vw, 40px);
}

.info_box_ttl {
  font-family: var(--ff-yugo);
  font-size: clamp(0px, 2.5vw, 35px);
  font-weight: var(--fw-bl);
  letter-spacing: 0.1em;
  text-align: center;
  background-color: var(--c-p-light-blue2);
  border-radius: clamp(0px, 0.86vw, 12px);
  padding: 0.5em 0.8em;
  margin-bottom: 1.15em;
}

.info_txt_md {
  font-family: var(--ff-yugo);
  font-size: clamp(0px, 1.93vw, 27px);
  font-weight: var(--fw-b);
  line-height: 1.67;
  text-align: center;
}

.info_box .info_txt_md {
  margin-bottom: 0.5em;
}

.info_box_list .society {
  background-color: var(--c-p-society);
}

.info_box_list .region {
  background-color: var(--c-p-region);
}

.info_box_list .international {
  background-color: var(--c-p-international);
}

.info_box_list .media {
  background-color: var(--c-p-media);
}

.info_box_list {
  margin-top: clamp(0px, 2.86vw, 40px);
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 2.14vw, 30px);
}

.info_list_cont {
  width: 37.8%;
  padding-top: clamp(0px, 5.71vw, 80px);
  display: flex;
  flex-direction: column;
  z-index: 2;
}

.info_list_img {
  flex: 1;
  line-height: 1;
  font-size: 0;
  position: relative;
  z-index: 2;
}

.info_list_img img {
  display: inline-block;
  height: clamp(0px, 24.29vw, 340px);
}

.info_box_list > li {
  min-height: clamp(0px, 24.29vw, 340px);
  line-height: 1.7;
  border-bottom-right-radius: clamp(0px, 2.29vw, 32px);
}

.info_box_list > li a {
  width: 100%;
  height: 100%;
  display: flex;
}

.info_list_cont .inner {
  padding-right: 16.8%;
}

.info_list_ttl {
  font-size: clamp(0px, 1.93vw, 27px);
  font-weight: var(--fw-b);
  letter-spacing: 0.05em;
  background-color: var(--c-white);
  padding: 0.42em 0.8em;
  border-radius: clamp(0px, 0.71vw, 10px);
  text-align: center;
  margin-bottom: 0.75em;
}

.info_list_txt {
  font-family: var(--ff-yugo);
  font-size: clamp(0px, 1.43vw, 20px);
  font-weight: var(--fw-sb);
  color: var(--c-white);
  line-height: 1.5;
  text-align: center;
}

.info_list_btn {
  width: clamp(0px, 21.43vw, 300px);
  height: clamp(0px, 4.64vw, 65px);
  background: linear-gradient(135deg, #f9be68 0%, #edadcd 50%, #55c0cc 100%);
  border: 1px solid var(--c-white);
}

.info_box_list .info_list_btn {
  margin-top: auto;
  margin-right: 0;
}

.info_list .info_list_btn {
  position: absolute;
  bottom: 0;
  right: 0;
}

.info_list_btn::after {
  border-top-color: #55c0cc;
  border-right-color: #55c0cc;
}

.info_list {
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 7.14vw, 100px);
  margin-top: clamp(0px, 7.14vw, 100px);
}

.info_list > li {
  position: relative;
  line-height: 1.7;
}

.info_list_inner {
  font-family: var(--ff-yugo);
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

.info_list_ttl_l {
  font-size: clamp(0px, 2.5vw, 35px);
  font-weight: var(--fw-b);
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  margin-bottom: clamp(0px, 3.21vw, 45px);
}

.info_list_ttl_l::before {
  content: "";
  width: clamp(0px, 3.57vw, 50px);
  height: clamp(2px, 0.21vw, 3px);
  background-color: var(--c-black);
  position: absolute;
  top: calc(100% + 0.8em);
  left: 50%;
  transform: translateX(-50%);
}

.info_list_ttl_l > span {
  display: inline-block;
  padding: 0.45em 1em 0.4em;
  border-radius: clamp(0px, 0.86vw, 12px);
  background-color: #ccc;
  line-height: 1.3;
}

.info_list_ttl_l.w_md > span {
  width: clamp(0px, 25.71vw, 360px);
}

.info_list_txt_l {
  font-size: clamp(0px, 1.93vw, 27px);
  font-weight: var(--fw-b);
  text-align: center;
  margin-bottom: 0.8em;
}

.info_list .info_list_txt {
  color: var(--c-black);
}

/* psychology */
.psychology .info_list_inner {
  width: 47%;
  padding-top: clamp(0px, 5vw, 70px);
}

.psychology .info_list_ttl_l > span {
  background-color: #b6e9d6;
}

/* child */
.child .info_list_inner {
  width: 50%;
  padding-top: clamp(0px, 2.86vw, 40px);
  left: 0;
  right: auto;
}

.child .info_list_ttl_l::before {
  background-color: var(--c-white);
}

.child .info_list_ttl_l > span {
  background-color: #fff9c8;
}

.child .info_list_txt_l {
  color: var(--c-white);
}

.child .info_list_txt {
  margin-top: 0.6em;
}

/* education */
.education .info_list_inner {
  width: 50%;
  padding-top: clamp(0px, 2.14vw, 30px);
}

.education .info_list_ttl_l > span {
  background-color: #b9f0b0;
}

.education .info_list_txt_l {
  line-height: 1.48;
  margin-bottom: 0.2em;
}

.education .info_list_inner .info_list_txt {
  font-weight: var(--fw-b);
}

.education .txt_btm {
  width: 120%;
  position: absolute;
  bottom: 0.7vw;
  left: -14vw;
}

/* hn */
.hn .info_list_inner {
  width: 50%;
  padding-top: clamp(0px, 2.5vw, 35px);
  margin-right: 0;
}

.hn .info_list_ttl_l > span {
  background-color: var(--c-white);
}

.hn .info_list_txt_l {
  margin-bottom: 0.4em;
}

@media screen and (max-width: 767px) {
  #info {
    padding: 32vw 0 27vw;
  }

  .info_ill_01 {
    display: none;
  }

  .info_ill_02 {
    display: none;
  }

  .info_ill_03 {
    display: none;
  }

  .info_txt_l {
    font-size: 5.5vw;
    margin-bottom: 0.5em;
  }

  .info_txt_s {
    font-size: 4vw;
    line-height: 1.65;
  }

  .info_head {
    margin-bottom: 6vw;
  }

  .info_box_inner {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 10vw 5vw 18vw;
  }

  .info_box_inner .three_dots {
    padding-bottom: 11vw;
  }

  .info_box_btn {
    margin-top: 7vw;
  }

  .info_box_ttl {
    font-size: 4.5vw;
    border-radius: 1.2vw;
    margin-bottom: 2em;
  }

  .info_txt_md {
    font-size: 4vw;
    line-height: 1.65;
  }

  .info_box .info_txt_md {
    margin-bottom: 0.5em;
  }

  .info_box_list {
    margin-top: 8vw;
    gap: 18vw;
  }

  .info_list_cont {
    width: 100%;
    padding-top: 0;
  }

  .info_list_img {
    flex: auto;
  }

  .info_list_img img {
    height: auto;
  }

  .info_box_list > li {
    min-height: auto;
    border-bottom-right-radius: 0;
  }

  .info_box_list > li a {
    flex-direction: column;
  }

  .info_list_cont .inner {
    padding-right: 0;
    padding: 3vw 3vw 12vw;
  }

  .international .info_list_cont .inner {
    padding-top: 0;
    margin-top: -3vw;
  }

  .media .info_list_cont .inner {
    padding-top: 0;
  }

  .info_list_ttl {
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    border-radius: 1.2vw;
    margin-bottom: 0.75em;
  }

  .info_list_txt {
    font-size: 4vw;
  }

  .info_list_btn {
    width: 76vw;
    height: 16.5vw;
  }

  .info_box_list .info_list_btn {
    margin-top: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    z-index: 2;
  }

  .info_list .info_list_btn {
    left: 50%;
    transform: translate(-50%, 50%);
  }

  .info_list {
    display: flex;
    flex-direction: column;
    gap: 17vw;
    margin-top: 10vw;
  }

  .info_list_ttl_l {
    width: 90vw;
    margin: 0 calc(50% - 45vw);
    font-size: 4.5vw;
    letter-spacing: 0.1em;
    margin-bottom: 8vw;
  }

  .info_list_ttl_l::before {
    width: 5vw;
    height: clamp(1px, 0.2vw, 2px);
    top: calc(100% + 1em);
  }

  .info_list_ttl_l > span {
    padding: 0.65em 1em 0.6em;
    border-radius: 0;
  }

  .info_list_ttl_l.w_md > span {
    width: 100%;
  }

  .info_list_txt_l {
    font-size: 4.5vw;
    line-height: 1.3;
    margin-bottom: 0.2em;
  }

  /* psychology */
  .psychology .info_list_inner {
    width: 94%;
    padding-top: 0;
    margin: 0 auto;
  }

  .psychology .info_list_ttl_l > span {
    background-color: #b6e9d6;
  }

  /* child */
  .child .info_list_inner {
    width: 94%;
    padding-top: 0;
    margin: 0 auto;
    left: 0;
    right: 0;
  }

  .child .info_list_txt {
    color: var(--c-white);
    margin-top: 0;
  }

  /* education */
  .education .info_list_inner {
    width: 94%;
    padding-top: 0;
    margin: 0 auto;
  }

  .education .info_list_txt_l {
    line-height: 1.3;
    margin-bottom: 0.2em;
  }

  .education .info_list_inner .info_list_txt.txt_btm {
    font-weight: var(--fw-sb);
  }

  .education .txt_btm {
    width: 94%;
    position: relative;
    bottom: auto;
    left: 0;
    padding-left: 0;
    margin: 0.3em auto 0;
  }

  /* hn */
  .hn .info_list_inner {
    width: 94%;
    padding-top: 0;
    margin: 0 auto;
  }

  .hn .info_list_ttl_l > span {
    background-color: transparent;
    padding-bottom: 0;
  }

  .hn .info_list_txt_l {
    margin-bottom: 0.5em;
  }
}
/* ===============================================
    advantage
=============================================== */
#advantage {
  background-image: url("../img/top/top_076_line_sec.jpg");
  background-repeat: no-repeat;
  background-position: top left;
  background-size: auto clamp(0px, 3.57vw, 50px);
  padding: clamp(0px, 16.43vw, 230px) 0 clamp(0px, 14.29vw, 200px);
}

.advantage_item {
  background-image: url("../img/top/top_004_advantage_bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: clamp(0px, 2.5vw, 35px) 0;
}

.advantage_col {
  display: flex;
  gap: clamp(0px, 7.86vw, 110px);
}

.advantage_l, .advantage_r {
  width: 50%;
}

.advantage_r {
  max-width: 560px;
  font-family: var(--ff-yugo);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.advantage_ttl_wrap {
  display: flex;
  align-items: center;
  gap: clamp(0px, 3.21vw, 45px);
  margin-bottom: clamp(0px, 5vw, 70px);
}

.advantage_num {
  width: clamp(0px, 14.57vw, 204px);
}

.advantage_ttl {
  font-size: clamp(0px, 1.93vw, 27px);
  font-weight: var(--fw-b);
  color: var(--c-p-blue);
  line-height: 1.66;
}

.advantage_txt_wrap {
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 3.57vw, 50px);
}

.advantage_txt_l {
  font-size: clamp(0px, 3.21vw, 45px);
  font-weight: var(--fw-b);
  line-height: 1.3;
  text-align: center;
}

.advantage_txt {
  font-size: clamp(0px, 1.43vw, 20px);
  font-weight: var(--fw-m);
  line-height: 1.8;
  text-align: center;
  margin-bottom: clamp(0px, 3.57vw, 50px);
}

@media screen and (max-width: 767px) {
  #advantage {
    background-image: url("../img/top/top_075_line_sec_sp.jpg");
    background-size: auto 3vw;
    padding: 12vw 0 18vw;
  }

  .advantage_item {
    background-image: url("../img/top/top_003_advantage_bg_sp.jpg");
    padding: 5vw 5vw 10vw;
  }

  .advantage_col {
    flex-direction: column;
    gap: 10vw;
  }

  .advantage_l, .advantage_r {
    width: 100%;
  }

  .advantage_r {
    max-width: 100%;
  }

  .advantage_ttl_wrap {
    justify-content: center;
    gap: 5vw;
    margin-bottom: 7vw;
  }

  .advantage_num {
    width: 27vw;
  }

  .advantage_ttl {
    font-size: 4vw;
    line-height: 1.69;
  }

  .advantage_txt_wrap {
    gap: 6vw;
  }

  .advantage_txt_l {
    font-size: 5.5vw;
  }

  .advantage_txt {
    font-size: 4vw;
    line-height: 1.7;
    margin-left: -1em;
    margin-right: -1em;
    margin-bottom: 7vw;
  }
}
/* ===============================================
    data
=============================================== */
.data_ttl {
  margin-bottom: 0.3em;
}

.data_cont {
  background-image: url("../img/top/top_016_data_bg.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% auto;
  padding-top: clamp(0px, 3.57vw, 50px);
}

.data_inner {
  background-color: var(--c-white);
  border-top-left-radius: clamp(0px, 7.14vw, 100px);
  border-top-right-radius: clamp(0px, 7.14vw, 100px);
  padding: clamp(0px, 14.29vw, 200px) 0 clamp(0px, 35vw, 490px);
}

.data_items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(0px, 2.14vw, 30px);
}

.data_item {
  min-height: clamp(0px, 25vw, 350px);
  background-color: var(--c-p-light-blue);
  display: flex;
  flex-direction: column;
  padding: clamp(0px, 2.14vw, 30px) 0;
}

.data_item_ttl {
  font-size: clamp(0px, 1.43vw, 20px);
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1em;
}

.data_body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.data_col {
  flex: 1;
  display: flex;
}

.data_col.no_grow {
  flex: 0 1 auto;
}

.data_l {
  width: 47%;
  padding: 0 clamp(0px, 1.43vw, 20px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.data_r {
  flex: 1;
  padding-right: clamp(0px, 3.57vw, 50px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
}

.data_num {
  font-family: var(--ff-yugo);
  font-weight: var(--fw-b);
  font-size: clamp(0px, 2.57vw, 36px);
  color: var(--c-p-blue);
  line-height: 1;
  white-space: nowrap;
}

.data_num > span {
  font-family: var(--ff-roboto);
  font-size: 2.6em;
  display: inline-block;
  letter-spacing: -0.03em;
  padding: 0 0.05em;
}

.data_num.txt_md {
  font-size: clamp(0px, 2vw, 28px);
}

.data_num.txt_md > span {
  font-size: 2.8em;
}

.data_txt {
  font-family: var(--ff-yugo);
  font-weight: var(--fw-sb);
  font-size: clamp(0px, 1.21vw, 17px);
  letter-spacing: 0.05em;
  line-height: 1.3;
}

.data_txt.txt_adj {
  display: inline-block;
}

.data_txt > span {
  font-size: 0.88em;
}

.data_txt_md {
  font-family: var(--ff-yugo);
  font-size: clamp(0px, 3.21vw, 45px);
  color: var(--c-p-blue);
  font-weight: var(--fw-b);
  line-height: 1;
}

.data_item .txt_mt {
  margin-top: clamp(0px, 0.71vw, 10px);
}

.data_item .txt_mt_s {
  margin-top: clamp(0px, 0.43vw, 6px);
}

.data_item .txt_mt_l {
  margin-top: clamp(0px, 1.43vw, 20px);
}

.data_item .txt_center {
  text-align: center;
  padding: 0 1em;
}

.data_item .data_l img {
  width: clamp(0px, 12.86vw, 180px);
}

.data_item.item05 .data_l img {
  width: clamp(0px, 10.29vw, 144px);
}

.data_item.item06 .data_l img {
  width: clamp(0px, 8.57vw, 120px);
}

.data_item.item07 .data_l img {
  width: clamp(0px, 9.29vw, 130px);
  margin-top: clamp(-15px, -1.07vw, 0px);
}

.data_item.item08 .data_l img {
  width: clamp(0px, 6.93vw, 97px);
}

.data_item.item09 .data_l img {
  width: clamp(0px, 6.93vw, 97px);
}

.data_item.item11 .data_l img {
  width: clamp(0px, 12.14vw, 170px);
}

.data_item.item05 .data_l img {
  transform: translateX(15);
}

.data_btn_area {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(0px, 1.43vw, 20px);
  margin-top: clamp(0px, 10.71vw, 150px);
}

.data_btn_area .btn_more {
  margin: 0;
}

@media screen and (max-width: 767px) {
  .data_ttl {
    margin-bottom: 0.5em;
  }

  .data_cont {
    background-image: url("../img/top/top_015_data_bg_sp.jpg");
    padding-top: 3vw;
  }

  .data_inner {
    border-top-left-radius: 5.2vw;
    border-top-right-radius: 5.2vw;
    padding: 5vw 5vw 38vw;
  }

  .data_inner .container {
    width: 100%;
  }

  .data_items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
  }

  .data_item {
    min-height: 60vw;
    padding: 4.5vw 0;
  }

  .data_item_ttl {
    font-size: 3.6vw;
    line-height: 1.36;
    letter-spacing: normal;
    margin-bottom: 1em;
  }

  .data_item_ttl.sp_h_2 {
    height: 2.8em;
  }

  .data_item.item14 .data_item_ttl {
    margin-bottom: 0.5em;
  }

  .data_col {
    flex-direction: column-reverse;
    justify-content: flex-end;
  }

  .data_l {
    flex: 1;
    width: 100%;
    padding: 0 3vw;
    justify-content: flex-end;
  }

  .data_r {
    flex: 0 1 auto;
    padding-right: 0;
    align-items: center;
  }

  .data_num {
    font-size: 4.1vw;
  }

  .data_num > span {
    font-size: 2.87em;
  }

  .data_num.txt_md {
    font-size: 3.5vw;
  }

  .data_txt {
    font-size: 3vw;
  }

  .data_item.item04 .data_txt {
    font-size: 3.3vw;
    text-align: center;
  }

  .data_item.item14 .data_txt {
    text-align: center;
    margin-bottom: 0;
  }

  .data_item.item04 .data_txt > span {
    font-size: 0.9em;
  }

  .data_txt_md {
    font-size: 5.5vw;
  }

  .data_item.item08 .data_r .data_txt_md {
    margin-top: 0.8em;
  }

  .data_item .txt_mt {
    margin-top: 4vw;
  }

  .data_item .txt_mt_s {
    margin-top: 1vw;
  }

  .data_item .txt_mt_l {
    margin-top: 2vw;
  }

  .data_item .txt_center {
    margin-bottom: 3vw;
  }

  .data_item.item04 .txt_mt_s {
    transform: translateX(1em);
  }

  .data_item.item05 .data_l img {
    transform: none;
  }

  .data_item .data_l img {
    width: 22vw;
  }

  .data_item.item01 .data_l img {
    margin-bottom: 2.8vw;
  }

  .data_item.item02 .data_l img {
    width: 20vw;
  }

  .data_item.item05 .data_l img {
    width: 14.4vw;
  }

  .data_item.item06 .data_l img {
    width: 14.2vw;
  }

  .data_item.item07 .data_l img {
    width: 33vw;
    margin-top: 0;
    margin-bottom: 4.5vw;
  }

  .data_item.item08 .data_l img {
    width: 31vw;
    margin-bottom: 4.5vw;
  }

  .data_item.item09 .data_l img {
    width: 11.4vw;
    margin-bottom: 2vw;
  }

  .data_item.item10 .data_l img {
    width: 23vw;
    margin-bottom: 5vw;
  }

  .data_item.item11 .data_l img {
    width: 23vw;
  }

  .data_item.item12 .data_l img {
    width: 26vw;
    margin-bottom: 4vw;
  }

  .data_item.item13 .data_l img {
    width: 20vw;
    margin-bottom: 2.4vw;
  }

  .data_item.item14 .data_l img {
    width: 14.7vw;
    margin-bottom: -1vw;
  }

  .data_btn_area {
    gap: 7vw;
    flex-direction: column;
    align-items: center;
    margin-top: 9.5vw;
  }
}
/* ===============================================
    dreams
=============================================== */
/* 横スクロール */
.dreams_col_wrap {
  padding: clamp(0px, 1.82vw, 35px) 0;
  background-image: url("../img/top/top_035_dreams_bg.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.dreams_col {
  display: flex;
  align-items: center;
  gap: clamp(0px, 1.56vw, 30px);
}

.dreams_l {
  width: 770px;
  max-width: 40vw;
}

.dreams_r {
  width: calc(100vw - min(40vw, 770px) - clamp(0px, 1.56vw, 30px));
}

.dreams_slider {
  overflow: hidden;
  display: flex;
  gap: clamp(0px, 1.56vw, 30px);
}

.dreams_card {
  width: clamp(0px, 20.83vw, 400px);
  height: 100%;
  background: linear-gradient(135deg, #f9be68 0%, #edadcd 50%, #55c0cc 100%);
  border-radius: clamp(0px, 1.56vw, 30px);
  padding: clamp(0px, 0.26vw, 5px);
  display: flex;
  flex-direction: column;
}

.dreams_card_inner {
  flex: 1;
  width: 100%;
  background-color: var(--c-white);
  border-radius: clamp(0px, 1.35vw, 26px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(0px, 1.3vw, 25px);
}

.dreams_card_txt {
  font-family: var(--ff-yugo);
  font-weight: var(--fw-sb);
  font-size: clamp(0px, 1.2vw, 23px);
  line-height: 1.96;
  text-align: center;
}

#dreams .sec_ttl_ja {
  width: 100%;
  position: absolute;
  bottom: calc(100% + clamp(0px, 7.81vw, 150px));
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 0;
}

#dreams .sec_txt_en {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  #dreams .sec_txt_en img {
    height: 7.4vw;
  }

  .dreams_col_wrap {
    padding: 5vw 0;
    background-image: url("../img/top/top_034_dreams_bg_sp.png");
  }

  .dreams_col {
    flex-direction: column;
    gap: 5vw;
  }

  .dreams_l {
    width: 90%;
    max-width: 100%;
  }

  .dreams_r {
    width: 100%;
    max-width: 100%;
    flex: 0 1 auto;
  }

  .dreams_slider {
    width: 90%;
    margin: 0 auto;
    overflow: visible;
    gap: 5vw;
  }

  .dreams_card {
    width: 70vw;
    border-radius: 5vw;
    padding: 0.8vw;
  }

  .dreams_card_inner {
    border-radius: 4.6vw;
    padding: 5.33vw;
  }

  .dreams_card_txt {
    font-size: 3.6vw;
    line-height: 1.88;
  }

  #dreams .sec_ttl_ja {
    bottom: calc(100% + 11vw);
  }
}
/* ===============================================
    access
=============================================== */
#access {
  padding: clamp(0px, 17.86vw, 250px) 0 clamp(0px, 7.14vw, 100px);
}

.access_inner {
  font-family: var(--ff-yugo);
  width: clamp(0px, 95.7vw, 1340px);
  height: 100%;
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
}

.access_img {
  position: relative;
}

.access_cont {
  width: clamp(0px, 45.71vw, 640px);
  height: calc(100% + 2px);
  background-color: var(--c-white);
  margin-left: auto;
  padding: 0 clamp(0px, 2.14vw, 30px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.access_ttl {
  font-size: clamp(0px, 3.21vw, 45px);
  font-weight: var(--fw-b);
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.3;
  margin-bottom: 0.2em;
}

.access_txt_l {
  font-size: clamp(0px, 1.79vw, 25px);
  font-weight: var(--fw-b);
  line-height: 1.55;
  text-align: center;
  margin-bottom: 0.5em;
}

.access_txt {
  font-size: clamp(0px, 1.43vw, 20px);
  font-weight: var(--fw-m);
  line-height: 1.65;
  text-align: center;
}

.access_btn {
  margin-top: clamp(0px, 3.57vw, 50px);
  display: flex;
  flex-direction: column;
  gap: clamp(0px, 1.43vw, 20px);
}

@media screen and (max-width: 767px) {
  #access {
    padding: 19vw 0 20vw;
  }

  .access_inner {
    width: 100%;
    height: auto;
    position: relative;
    top: 0;
    left: 0;
    transform: none;
  }

  .access_img {
    position: relative;
  }

  .access_cont {
    width: 100%;
    height: auto;
    background-color: var(--c-white);
    margin-left: auto;
    padding: 0 5vw 10vw;
  }

  .access_ttl {
    font-size: 5.5vw;
    letter-spacing: normal;
  }

  .access_txt_l {
    font-size: 4vw;
    margin-bottom: 0.8em;
  }

  .access_txt {
    font-size: 3.6vw;
  }

  .access_btn {
    margin-top: 10vw;
    gap: 7vw;
  }
}
