@charset "UTF-8";
@font-face {
  font-family: "cpl";
  src: url("/lib/fonts/Corporate-Logo-Rounded-Bold-ver3.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/*--------------------------------------
共通
---------------------------------------*/
a,
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
font,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
s,
samp,
small,
span,
strike,
strong,
sub,
sup,
tbody,
tfoot,
thead,
tt,
ul,
var {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: inherit;
  font-size: 100%;
  vertical-align: baseline;
  list-style: none;
  color: #333;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  clear: both;
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
}

.txt_center {
  text-align: center !important;
}

.block_center {
  margin-left: auto !important;
  margin-right: auto !important;
}

.txt_left {
  text-align: left !important;
}

.txt_right {
  text-align: right !important;
}

.fleft {
  display: block;
  float: left;
}

.fright {
  display: block;
  float: right;
}

.txt_red {
  color: #f33;
}

img {
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}

.parallax-img {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}

html {
  font-size: 0.6944444444vw;
}
@media (min-width: 1441px) {
  html {
    font-size: 10px;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 2.5641025641vw;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #333;
}
body * {
  box-sizing: border-box;
}

a {
  text-decoration: none;
}

.en {
  font-family: "Outfit", sans-serif;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.observe.observe_fade_common {
  opacity: 0;
  transition: opacity 1s ease;
}
.observe.observe_fade_common.observe_active {
  opacity: 1;
}
.observe.observe_fade_multi > * {
  opacity: 0;
  transition: opacity 1s ease;
}
.observe.observe_fade_multi > *:nth-child(1) {
  transition-delay: 0s;
}
.observe.observe_fade_multi > *:nth-child(2) {
  transition-delay: 0.35s;
}
.observe.observe_fade_multi > *:nth-child(3) {
  transition-delay: 0.7s;
}
.observe.observe_fade_multi > *:nth-child(4) {
  transition-delay: 1.05s;
}
.observe.observe_fade_multi > *:nth-child(5) {
  transition-delay: 1.4s;
}
.observe.observe_fade_multi.observe_active > * {
  opacity: 1;
}

@media print, screen and (min-width: 768px) {
  * {
    letter-spacing: 0.1em;
    font-size: 1.6rem;
  }
  body {
    position: relative;
    z-index: 1;
    overflow-x: hidden;
  }
  .sp {
    display: none !important;
  }
  h2.center {
    text-align: center;
  }
  h2 span {
    font-size: 2.4rem;
    letter-spacing: 0;
    font-weight: 400;
    display: block;
    margin-bottom: 1.8rem;
  }
  h2 img {
    height: 3.8rem;
    width: auto;
  }
  #oc_fixed_btn {
    position: fixed;
    right: 3rem;
    bottom: 3rem;
    width: 15rem;
    z-index: 8;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
    transition-delay: 0.2s;
  }
  #oc_fixed_btn img {
    display: block;
    width: 100%;
    height: auto;
  }
  #oc_fixed_btn.oc_swap_hidden, #oc_fixed_btn.oc_follow_hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    pointer-events: none;
  }
  header {
    padding: 4rem 3rem;
    display: flex;
    align-items: center;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0);
    transition: 0.4s;
    transition: 0.3s;
  }
  header.header_active {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 1rem 3rem;
  }
  header .logo img {
    height: 3rem;
    width: auto;
  }
  header .logo .oc_txt {
    padding-left: 1.9rem;
  }
  header .nav_wrp {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 5rem;
  }
  header .nav_wrp nav ul {
    display: flex;
    gap: 3rem;
  }
  header .nav_wrp nav ul li {
    text-align: center;
  }
  header .nav_wrp nav ul li a {
    display: inline-block;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
  }
  header .nav_wrp nav ul li a small {
    display: block;
    font-size: 1rem;
    font-weight: 400;
  }
  header .nav_wrp .nav_btn_wrp {
    display: flex;
    gap: 1.2rem;
  }
  header .nav_wrp .nav_btn_wrp a {
    display: inline-block;
  }
  header .nav_wrp .nav_btn_wrp a.shadow img {
    filter: drop-shadow(0px 0px 13px rgba(0, 0, 0, 0.24));
  }
  header .nav_wrp .nav_btn_wrp a img, header .nav_wrp .nav_btn_wrp a svg {
    height: 6rem;
    width: auto;
  }
  header .nav_wrp .nav_btn_wrp a:first-child:hover defs linearGradient:first-child stop:nth-child(1) {
    stop-color: #EAD6FF;
  }
  header .nav_wrp .nav_btn_wrp a:first-child:hover defs linearGradient:first-child stop:nth-child(3) {
    stop-color: #FFB349;
  }
  .svg_btn01 svg {
    width: auto;
    height: 6rem;
  }
  .svg_btn01 svg defs linearGradient:first-child stop {
    transition: 0.3s;
  }
  .svg_btn01:hover defs linearGradient:first-child stop:nth-child(1) {
    stop-color: #EAD6FF;
  }
  .svg_btn01:hover defs linearGradient:first-child stop:nth-child(3) {
    stop-color: #FFB349;
  }
  .svg_btn02 svg {
    width: auto;
    height: 6rem;
  }
  .svg_btn02 svg defs linearGradient:first-child stop {
    transition: 0.3s;
  }
  .svg_btn02:hover defs linearGradient:first-child stop:nth-child(1) {
    stop-color: #007EC5;
  }
  .svg_btn02:hover defs linearGradient:first-child stop:nth-child(3) {
    stop-color: #0CC1B1;
  }
  main {
    position: relative;
    z-index: 1;
  }
  main::before {
    position: absolute;
    content: "";
    background-image: url("../img/mainvisual_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 102.5rem;
    height: 122.2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  main #main_visual {
    padding: 16rem 0 0 0;
    position: relative;
    z-index: 1;
    width: 144rem;
    height: 100rem;
    margin: 0 auto;
  }
  main #main_visual .main_visual_deco01 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_deco02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 46.4rem;
    height: 36.1rem;
    z-index: -1;
    left: -10rem;
    top: 45rem;
  }
  main #main_visual .main_visual_deco02 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_deco03.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 25.5rem;
    height: 24rem;
    z-index: -1;
    right: 29rem;
    top: 44rem;
  }
  main #main_visual .main_visual_deco03 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_deco04.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 11.2rem;
    height: 11.2rem;
    z-index: -1;
    left: 64%;
    transform: translateX(-50%);
    bottom: 0;
  }
  main #main_visual .main_visual_img01 {
    display: inline-block;
    position: absolute;
    mask-image: url("../img/mf02.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    width: 60.3rem;
    height: 46.4rem;
    z-index: -1;
    left: -1rem;
    top: 53.7rem;
  }
  main #main_visual .main_visual_img02 {
    display: inline-block;
    position: absolute;
    mask-image: url("../img/mainvisual_img02.png");
    mask-size: contain;
    mask-repeat: no-repeat;
    width: 30.1rem;
    height: 23.4rem;
    z-index: -1;
    left: 45rem;
    bottom: 1rem;
  }
  main #main_visual .main_visual_img03 {
    display: inline-block;
    position: absolute;
    mask-image: url("../img/mf01.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    width: 66.2rem;
    height: 55.3rem;
    z-index: -1;
    right: -1rem;
    top: 13rem;
  }
  main #main_visual .main_visual_img01,
  main #main_visual .main_visual_img03 {
    position: absolute;
  }
  main #main_visual .main_visual_img01 img,
  main #main_visual .main_visual_img03 img {
    position: absolute;
    inset: 0;
    opacity: 0;
    animation: mv-fade-3 12s infinite;
  }
  main #main_visual .main_visual_img01 img:nth-child(1),
  main #main_visual .main_visual_img03 img:nth-child(1) {
    animation-delay: 0s;
  }
  main #main_visual .main_visual_img01 img:nth-child(2),
  main #main_visual .main_visual_img03 img:nth-child(2) {
    animation-delay: 4s;
  }
  main #main_visual .main_visual_img01 img:nth-child(3),
  main #main_visual .main_visual_img03 img:nth-child(3) {
    animation-delay: 8s;
  }
  @keyframes mv-fade-3 {
    0% {
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    40% {
      opacity: 1;
    }
    60% {
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }
  main #main_visual .main_visual_img04 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_bg.png");
    background-size: auto 8rem;
    background-position: 0 15rem;
    background-repeat: repeat-x;
    animation: bg-flow 30s linear infinite;
    width: 45.4rem;
    height: 30.7rem;
    z-index: -1;
    right: -3rem;
    bottom: -5rem;
  }
  @keyframes bg-flow {
    from {
      background-position: 0 15rem;
    }
    to {
      background-position: -100% 15rem;
    }
  }
  main #main_visual .main_visual_img04 .main_visual_img04_human_wrp {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
  }
  main #main_visual .main_visual_img04 .main_visual_img04_human_wrp .main_visual_img04_women {
    position: absolute;
    left: -5rem;
    top: -1rem;
    width: 36rem;
  }
  main #main_visual .main_visual_img04 .main_visual_img04_human_wrp .main_visual_img04_men {
    position: absolute;
    width: 35rem;
    right: -1rem;
    top: -1rem;
  }
  main #main_visual .main_visual_icon01 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 7.7rem;
    height: 6.1rem;
    z-index: -1;
    left: 7rem;
    top: 25.7rem;
  }
  main #main_visual .main_visual_icon02 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.2rem;
    height: 15.9rem;
    z-index: -1;
    left: 30rem;
    top: 49.7rem;
  }
  main #main_visual .main_visual_icon03 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon03.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 4rem;
    height: 3.8rem;
    z-index: -1;
    left: 51%;
    transform: translateX(-50%);
    top: 59.4rem;
  }
  main #main_visual .main_visual_icon04 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon04.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 7.7rem;
    height: 6.4rem;
    z-index: -1;
    right: 35rem;
    top: 14rem;
  }
  main #main_visual .main_visual_icon05 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon05.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 9.9rem;
    height: 22.9rem;
    z-index: -1;
    right: 41rem;
    top: 40.1rem;
  }
  main #main_visual .main_visual_txtbox {
    width: 103rem;
    margin: 0 auto;
  }
  main #main_visual .main_visual_txtbox h1 img {
    width: 49.45rem;
    image-rendering: -webkit-optimize-contrast;
    -webkit-backface-visibility: hidden;
  }
  main #main_visual .main_visual_txtbox p {
    width: 52.4rem;
    line-height: 2;
  }
  main #main_visual #oc_fixed_btn {
    position: fixed;
    right: 3rem;
    bottom: 3rem;
    width: 15rem;
    z-index: 8;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: right 0.3s ease, bottom 0.3s ease, opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
  }
  main #main_visual #oc_fixed_btn img {
    display: block;
    width: 100%;
    height: auto;
  }
  main #main_visual #oc_fixed_btn.oc_swap_hidden, main #main_visual #oc_fixed_btn.oc_follow_hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    pointer-events: none;
  }
  main #main_visual .main_visual_txtbox {
    transition-delay: 0s;
  }
  main #main_visual .main_visual_deco02 {
    transition-delay: 0.2s;
  }
  main #main_visual .main_visual_deco01 {
    transition-delay: 0.4s;
  }
  main #main_visual .main_visual_deco02 {
    transition-delay: 0.6s;
  }
  main #main_visual .main_visual_deco03 {
    transition-delay: 0.8s;
  }
  main #main_visual .main_visual_img03 {
    transition-delay: 1s;
  }
  main #main_visual .main_visual_img01 {
    transition-delay: 1.2s;
  }
  main #main_visual .main_visual_img02 {
    transition-delay: 1.4s;
  }
  main #main_visual .main_visual_img04 {
    transition-delay: 0.6s;
  }
  main #main_visual .main_visual_icon01 {
    transition-delay: 1.8s;
  }
  main #main_visual .main_visual_icon02 {
    transition-delay: 2s;
  }
  main #main_visual .main_visual_icon03 {
    transition-delay: 2.2s;
  }
  main #main_visual .main_visual_icon04 {
    transition-delay: 2.4s;
  }
  main #main_visual .main_visual_icon05 {
    transition-delay: 2.6s;
  }
  main #about {
    background-color: #F7FFFE;
    mask-image: url("../img/section_bg01.svg");
    mask-size: cover;
    mask-position: center top;
    padding: 19rem 12rem 32rem;
  }
  main #about .section_inner {
    width: 120rem;
    margin: 0 auto;
    position: relative;
  }
  main #about .section_inner .about_deco01 {
    display: inline-block;
    width: 37.1rem;
    height: 45.9rem;
    background-image: url("../img/about_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    right: -45.1rem;
    top: -29rem;
    position: absolute;
  }
  main #about .section_inner .about_deco02 {
    display: inline-block;
    width: 18.2rem;
    height: 14.8rem;
    background-image: url("../img/about_deco02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -20.2rem;
    top: 24rem;
    position: absolute;
  }
  main #about .section_inner .about_row {
    display: flex;
    gap: 8.5rem;
  }
  main #about .section_inner .about_row .about_row_col01 {
    padding-top: 0.8rem;
  }
  main #about .section_inner .about_row .about_row_col01 .about_row_col01_txt01 {
    font-size: 1.8rem;
    line-height: 2;
    margin: 3.4rem 0 2.2rem;
  }
  main #about .section_inner .about_row .about_row_col01 .about_row_col01_txt02 {
    font-size: 1.2rem;
    font-weight: 400;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
    text-indent: -1.1rem;
    margin-left: 1.1rem;
  }
  main #about .section_inner .about_row .about_row_col02 {
    width: 54rem;
    flex-shrink: 0;
  }
  main .about_box {
    background: linear-gradient(-99deg, #FFB349 0%, #A6FFE0 61.43%, #EAD6FF 100%);
    border-radius: 1rem;
    overflow: hidden;
    padding: 2px;
    margin-top: 4rem;
  }
  main .about_box .about_box_inner {
    background-color: #fff;
    border-radius: 0.9rem;
    display: flex;
    padding: 4rem;
  }
  main .about_box .about_box_inner .about_box_col01 h3 {
    font-family: "cpl", sans-serif;
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
  }
  main .about_box .about_box_inner .about_box_col01 h3::before {
    content: "";
    position: absolute;
    width: 3.6rem;
    height: 3.6rem;
    background: linear-gradient(114.23deg, rgba(255, 181, 43, 0.3) 0%, rgba(166, 255, 224, 0.3) 49.69%, rgba(234, 214, 255, 0.3) 99.38%);
    border-radius: 50%;
    left: -1.6rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
  }
  main .about_box .about_box_inner .about_box_col01 p {
    font-size: 1.4rem;
    line-height: 1.8;
    width: 32rem;
  }
  main .about_box .about_box_inner .about_box_col02 {
    display: flex;
  }
  main .about_box .about_box_inner .about_box_col02 > div {
    text-align: center;
    width: 19.5rem;
    position: relative;
  }
  main .about_box .about_box_inner .about_box_col02 > div:before, main .about_box .about_box_inner .about_box_col02 > div:after {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: block;
    content: " ";
    width: 1px;
  }
  main .about_box .about_box_inner .about_box_col02 > div::before {
    border-right: 1px dashed #fff;
    z-index: 2;
    left: -1px;
  }
  main .about_box .about_box_inner .about_box_col02 > div:after {
    background: linear-gradient(187deg, #43FCEC 0%, #C6BCFF 50%, #007EC5 100%);
  }
  main .about_box .about_box_inner .about_box_col02 > div:first-child::before, main .about_box .about_box_inner .about_box_col02 > div:first-child::after {
    display: none;
  }
  main .about_box .about_box_inner .about_box_col02 > div img {
    width: 8.8rem;
  }
  main .about_box .about_box_inner .about_box_col02 > div p {
    font-size: 1.4rem;
    font-weight: 400;
    margin-top: 0.8rem;
  }
  main #major {
    background-image: url("../img/section_bg02.svg");
    background-size: cover;
    background-position: right top;
    padding: 10rem 0;
    position: relative;
    margin-top: -24rem;
    padding-bottom: 45rem;
  }
  main #major .section_inner {
    width: 120rem;
    margin: 0 auto;
    position: relative;
  }
  main #major .section_inner::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 23.5rem;
    height: 22.1rem;
    left: -7rem;
    top: -10rem;
  }
  main #major .major_row {
    display: flex;
    justify-content: center;
    gap: 6rem;
    margin-top: 8rem;
  }
  main #major .major_row .major_row_col {
    position: relative;
    z-index: 1;
    width: 36rem;
  }
  main #major .major_row .major_row_col span {
    mask-image: url("../img/mf03.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    display: block;
    height: 34.8rem;
  }
  main #major .major_row .major_row_col:nth-child(1)::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_img01_deco.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.7rem;
    height: 28.9rem;
    top: 4.8rem;
    right: 0;
    z-index: -1;
  }
  main #major .major_row .major_row_col:nth-child(2) span {
    mask-image: url("../img/mf04.svg");
    height: 30.2rem;
    position: relative;
    top: 3rem;
  }
  main #major .major_row .major_row_col:nth-child(2)::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_img02_deco.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 36rem;
    height: 34.5rem;
    top: 0rem;
    right: 0;
    z-index: -1;
  }
  main #major .major_row .major_row_col:nth-child(3) span {
    mask-image: url("../img/mf05.svg");
    height: 34.4rem;
  }
  main #major .major_row .major_row_col:nth-child(3)::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_img03_deco.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.7rem;
    height: 28.9rem;
    top: 0em;
    left: 0;
    z-index: -1;
  }
  main #major .major_row .major_row_col .major_row_col_img {
    width: 100%;
    height: 34.8rem;
  }
  main #major .major_row .major_row_col:nth-child(2) .major_row_col_tag p {
    background: linear-gradient(90.03deg, #1CC8B9 0.12%, #7464CB 50.1%, #007EC5 100.09%);
  }
  main #major .major_row .major_row_col:nth-child(3) .major_row_col_tag p {
    background: linear-gradient(90.08deg, #C9B5EC 3.77%, #D374F5 40.25%, #FA9B79 99.93%);
  }
  main #major .major_row .major_row_col h3 {
    position: absolute;
    left: -1rem;
    top: 0;
    z-index: 3;
  }
  main #major .major_row .major_row_col h3 img {
    height: 5.05rem;
    width: auto;
  }
  main #major .major_row .major_row_col .major_row_col_description {
    font-weight: 400;
    line-height: 1.5;
    margin: 2.5rem 0 2rem;
  }
  main #major .major_row .major_row_col .major_row_col_tag {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  main #major .major_row .major_row_col .major_row_col_tag p {
    display: inline-block;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(255.73deg, #7EC11A 12.85%, #3FBF92 51.61%, #B8C479 91.13%);
    border-radius: 5rem;
    padding: 0.5rem 1rem 0.7rem;
  }
  main #features {
    position: relative;
  }
  main #features h2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
  main #features h2 img {
    height: 5.2rem;
  }
  main #features .features_sec {
    background-image: url("../img/section_bg03.svg");
    background-size: cover;
    background-position: center top;
    padding-top: 24rem;
    padding-bottom: 45rem;
    margin-top: -30rem;
  }
  main #features .features_sec.features_sec02 {
    background-image: url("../img/section_bg04.svg");
    padding-bottom: 31rem;
  }
  main #features .features_sec.features_sec02 .section_inner::before {
    background-image: url("../img/features_sec02_deco02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 28.1rem;
    height: 22.7rem;
    z-index: -1;
    right: -4rem;
    top: 35rem;
  }
  main #features .features_sec.features_sec02 .features_main::before {
    background-image: url("../img/features_sec02_icon01.svg") !important;
    width: 18.2rem !important;
    height: 28.6rem !important;
    left: auto !important;
    right: -6rem;
    transform: none !important;
    bottom: 1rem !important;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 {
    position: relative;
    top: -1.5rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .features_main_col01_deco01 {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec02_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -26rem;
    bottom: -37rem;
    width: 29.7rem;
    height: 36.8rem;
    z-index: -1;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 > h3 {
    margin-left: -2.5rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .features_main_col01_description {
    width: 62.4rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box {
    width: 62.4rem;
    margin-top: 5rem;
    background: none;
    position: relative;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 1rem;
    border: 5px solid transparent;
    background: linear-gradient(-99deg, #FFB349 0%, #A6FFE0 61.43%, #EAD6FF 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner {
    padding: 2.5rem 4rem;
    background-color: rgba(255, 255, 255, 0.8);
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner .about_box_col01 h3 {
    padding-left: 0.4rem;
    margin-bottom: 1.5rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner .about_box_col01 h3::before {
    display: block;
    width: 4.8rem;
    height: 4.8rem;
    top: 54%;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner .about_box_col01 p {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.8;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col02 .features_main_col02_img01 {
    right: -21.9rem;
    top: 0;
    mask-image: url("../img/mf07.svg");
    width: 66.5rem;
    height: 54.2rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col02 .features_main_col02_img02 {
    width: 36.4rem;
    top: 27rem;
    right: 15.1rem;
  }
  main #features .features_sec.features_sec03 {
    background-image: url("../img/section_bg05.svg");
  }
  main #features .features_sec.features_sec03 .section_inner::before {
    background-image: url("../img/features_sec02_deco03.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 43.7rem;
    height: 41.9rem;
    z-index: -1;
    right: -13rem;
    top: 0rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main::before {
    background-image: url("../img/features_sec03_icon01.svg");
    width: 20.2rem;
    height: 37.1rem;
    left: 76%;
    bottom: 1rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 {
    position: relative;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_deco02 {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec03_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -28.4rem;
    bottom: -57rem;
    width: 36.8rem;
    height: 40.3rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 h3 {
    position: relative;
    z-index: 4;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_description {
    width: 64rem;
    margin-bottom: 5rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row {
    height: 12.4rem;
    padding-left: 14rem;
    position: relative;
    margin-bottom: 1.5rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col01 {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 21rem;
    z-index: 2;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02 {
    width: 52rem;
    height: 100%;
    position: relative;
    background-color: #fff;
    border-radius: 1.1rem;
    padding-left: 9rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 1rem;
    border: 2px solid transparent;
    background: linear-gradient(-99deg, #FFB349 0%, #A6FFE0 61.43%, #EAD6FF 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02 h4 {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 0.6rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02 p {
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 400;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col02 .features_main_col02_img01 {
    right: 0;
    top: 0;
    mask-image: url("../img/mf08.svg");
    width: 53.3rem;
    height: 60.6rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col02 .features_main_col02_img02 {
    width: 34.3rem;
    top: 25rem;
    right: -15rem;
  }
  main #features .features_sec .section_inner {
    width: 120rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  main #features .features_sec .section_inner::before {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec01_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 48.8rem;
    height: 34.2rem;
    z-index: -1;
    right: -7rem;
    top: 26rem;
  }
  main #features .features_sec .section_inner .features_deco01 {
    display: inline-block;
    width: 38.1rem;
    height: 26rem;
    background-image: url("../img/features_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    right: -23.1rem;
    bottom: -44rem;
    position: absolute;
    z-index: -1;
  }
  main #features .features_sec .section_inner .features_main {
    position: relative;
  }
  main #features .features_sec .section_inner .features_main::before {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec01_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: 61%;
    bottom: -4rem;
    transform: translateX(-50%);
    width: 28.3rem;
    height: 22.1rem;
    z-index: 4;
  }
  main #features .features_sec .section_inner .features_main .features_main_num {
    font-family: "Outfit", sans-serif;
    font-size: 11.8rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0;
    right: -6rem;
    top: -6rem;
    position: absolute;
    z-index: 4;
  }
  main #features .features_sec .section_inner .features_main_col01 h3 {
    position: relative;
    z-index: 4;
  }
  main #features .features_sec .section_inner .features_main_col01 h3 img {
    height: 16.55rem;
    width: auto;
  }
  main #features .features_sec .section_inner .features_main_col01 .features_main_col01_description {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2.2;
    letter-spacing: 0.2em;
    width: 55.2rem;
    margin-top: 6.5rem;
  }
  main #features .features_sec .section_inner .features_main_col02 span {
    display: inline-block;
  }
  main #features .features_sec .section_inner .features_main_col02 .features_main_col02_img01 {
    position: absolute;
    right: -5.8rem;
    top: 0;
    z-index: 2;
    mask-image: url("../img/mf06.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    display: inline-block;
    width: 58.5rem;
    height: 54.2rem;
  }
  main #features .features_sec .section_inner .features_main_col02 .features_main_col02_img02 {
    display: inline-block;
    width: 38.3rem;
    position: absolute;
    top: 35rem;
    right: -18.6rem;
    z-index: 3;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner {
    justify-content: space-between;
    position: relative;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_btn {
    display: inline-block;
    width: 24.7rem;
    transition: opacity 0.3s;
    position: absolute;
    left: 4rem;
    top: 10rem;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_col01 h3 {
    padding-left: 1.5rem;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_col01 h3::before {
    display: none;
  }
  main #features .features_sec .section_inner .features_sec_human_bg {
    position: relative;
  }
  main #features .features_sec .section_inner .features_sec_human_bg .features_sec_human_deco01 {
    display: inline-block;
    width: 38.1rem;
    height: 26rem;
    background-image: url("../img/features_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    right: -19.1rem;
    top: -10rem;
    position: absolute;
    z-index: -1;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp {
    display: flex;
    justify-content: space-between;
    margin-top: 6.5rem;
    margin-bottom: 10rem;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp .features_sec_imgbox {
    width: 38.4rem;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp .features_sec_imgbox h4 {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 1.3rem 0 0.8rem;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp .features_sec_imgbox p {
    line-height: 1.5;
    font-weight: 400;
  }
  main #features .features_sec.features_sec01 .section_inner .features_main .features_sec01_img01 {
    width: 51.3rem;
    margin-top: 4rem;
    border-radius: 2rem;
  }
  main #interviews {
    background-image: url("../img/section_bg09.svg");
    background-size: cover;
    background-position: center top;
    position: relative;
    z-index: 3;
    margin-top: -21rem;
    padding-top: 18rem;
    padding-bottom: 33rem;
  }
  main #interviews::before {
    display: block;
    position: absolute;
    content: "";
    left: 50%;
    top: -4rem;
    transform: translateX(-50%);
    width: 132rem;
    height: 21.1rem;
    background-image: url("../img/campus_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
    pointer-events: none;
  }
  main #interviews .section_inner .features_sec_human_wrp {
    display: flex;
    justify-content: center;
    gap: 7.5rem;
    margin-top: 1rem;
    position: relative;
    padding-top: 2.5rem;
    padding-bottom: 5.2rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-list {
    padding-top: 2.5rem !important;
    padding-bottom: 10.2rem !important;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 2rem;
    margin: 0;
    padding: 0;
    height: 6px;
    border-radius: 10px;
    overflow: hidden;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-dots > li {
    display: inline-block;
    line-height: 0;
    font-size: 0;
    vertical-align: top;
    padding: 0;
    margin: 0;
    bottom: 0;
    background-color: #EFEFEF;
    height: 6px;
    width: 10rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-dots > li button {
    display: block;
    border: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    text-indent: -9999px;
    line-height: 0;
    height: 100%;
    width: 100%;
    border-radius: 30px;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-dots > li.slick-active button {
    background: linear-gradient(90.03deg, #43FCEC 0.12%, #C6BCFF 50.1%, #007EC5 100.09%);
    opacity: 0.7;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-slide .features_sec_human_img {
    transform: translateY(0);
    will-change: transform;
    transition: transform 0.3s;
  }
  main #interviews .section_inner .features_sec_human_wrp .slick-slide:not(.slick-active, .is-active-next) .features_sec_human_img {
    transform: translateY(5rem);
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human {
    position: relative;
    display: inline-block;
    width: 36.5rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_img {
    width: 32rem;
    position: relative;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt01 {
    position: absolute;
    right: 2.2rem;
    top: -2.5rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt01 img {
    width: 7rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    border-radius: 50%;
    width: 14rem;
    height: 14rem;
    background: linear-gradient(207.93deg, #42D7CA 12.59%, #AC97FF 49.93%, #007EC5 87.28%);
    position: absolute;
    right: -4.3rem;
    bottom: -5.2rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span {
    color: #fff;
    font-weight: 700;
    text-align: center;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span:nth-child(1) {
    font-size: 1.1rem;
    letter-spacing: 0;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span:nth-child(2) {
    font-size: 1.6rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span:nth-child(3) {
    font-size: 1.2rem;
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02.features_sec_human_txt02_blue {
    background: linear-gradient(207.93deg, #42D7CA 12.59%, #AC97FF 49.93%, #007EC5 87.28%);
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02.features_sec_human_txt02_green {
    background: linear-gradient(202.66deg, #8CCC2B 10.49%, #48DCA9 49.5%, #C7D865 89.26%);
  }
  main #interviews .section_inner .features_sec_human_wrp .features_sec_human .features_sec_human_txt02.features_sec_human_txt02_pink {
    background: linear-gradient(162.42deg, #DECBFF 12.38%, #FF9AD1 39.88%, #FA9B79 84.86%);
  }
  main #campus {
    background-image: url("../img/section_bg06.svg");
    background-size: cover;
    background-position: right top;
    margin-top: -26rem;
    position: relative;
    z-index: 3;
    padding: 15rem 0 29rem;
  }
  main #campus::after {
    display: block;
    position: absolute;
    content: "";
    left: 50%;
    bottom: 7.5rem;
    transform: translateX(-50%);
    width: 144rem;
    height: 25.4rem;
    background-image: url("../img/campus_icon02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right -1rem center;
    pointer-events: none;
  }
  main #campus .campus_deco01 {
    position: absolute;
    width: 144rem;
    height: 26.4rem;
    background-image: url("../img/campus_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -5rem;
    bottom: -30rem;
  }
  main #campus .section_inner .campus_slide_wrp {
    overflow: hidden;
    display: flex;
    width: 100%;
    padding-top: 4rem;
    margin-top: 4rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_track {
    display: flex;
    width: max-content;
    flex-shrink: 0;
    animation: campus-slide-marquee-pc 55s linear infinite;
    will-change: transform;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container {
    display: flex;
    flex-shrink: 0;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:first-child span:first-child {
    margin-bottom: 1.5rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(3) {
    padding-left: 1.5rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(4) {
    margin-left: 3.5rem;
    margin-top: -4rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(4) span:last-child {
    margin-top: 6rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(5) {
    padding-top: 2.2rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(6) {
    margin-right: 2rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(6) span:last-child {
    margin-top: 3rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(7) {
    margin-top: -4rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(7), main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(8), main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(9), main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(10) {
    margin-right: 2rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container span {
    display: inline-block;
    mask-size: contain;
    mask-position: center;
    mask-repeat: no-repeat;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container img {
    zoom: 50%;
    width: auto;
    display: block;
    max-width: none;
    transition: 0.3s;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container img:hover {
    cursor: pointer;
    transform: scale(1.1);
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide01 {
    mask-image: url("../img/campus_slide01.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide02 {
    mask-image: url("../img/campus_slide02.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide03 {
    mask-image: url("../img/campus_slide03.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide04 {
    mask-image: url("../img/campus_slide04.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide05 {
    mask-image: url("../img/campus_slide05.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide06 {
    mask-image: url("../img/campus_slide06.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide07 {
    mask-image: url("../img/campus_slide07.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide08 {
    mask-image: url("../img/campus_slide08.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide09 {
    mask-image: url("../img/campus_slide09.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide10 {
    mask-image: url("../img/campus_slide10.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide11 {
    mask-image: url("../img/campus_slide11.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide12 {
    mask-image: url("../img/campus_slide12.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide13 {
    mask-image: url("../img/campus_slide13.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide14 {
    mask-image: url("../img/campus_slide14.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide15 {
    mask-image: url("../img/campus_slide15.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide16 {
    mask-image: url("../img/campus_slide16.png");
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container .campus_slide17 {
    mask-image: url("../img/campus_slide17.png");
  }
}
@media print and (prefers-reduced-motion: reduce), screen and (min-width: 768px) and (prefers-reduced-motion: reduce) {
  main #campus .section_inner .campus_slide_wrp .campus_slide_track {
    animation: none;
  }
}
@media print, screen and (min-width: 768px) {
  @keyframes campus-slide-marquee-pc {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }
  main #campus .section_inner .campus_btn_wrp {
    margin-top: 4.5rem;
  }
  main #campus .section_inner .campus_btn {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(13deg, #43FCEC 0%, #C6BCFF 50%, #007EC5 100%);
    border-radius: 1rem;
    position: relative;
    z-index: 1;
    width: 53.2rem;
    height: 16.2rem;
    margin: 0 auto;
    transition: 0.3s;
  }
  main #campus .section_inner .campus_btn:hover:after {
    background-color: rgba(68, 68, 68, 0.7);
  }
  main #campus .section_inner .campus_btn::before {
    position: absolute;
    content: "";
    background-image: url("../img/about_btn_img.png");
    background-size: cover;
    background-position: center;
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 2;
    border-radius: 1rem;
  }
  main #campus .section_inner .campus_btn:after {
    position: absolute;
    content: "";
    z-index: 3;
    width: 100%;
    width: calc(100% - 1.2rem);
    height: calc(100% - 1.2rem);
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: rgba(68, 68, 68, 0.3);
    border-radius: 1rem;
    transition: 0.5s;
  }
  main #campus .section_inner .campus_btn > span {
    font-size: 2.4rem;
    font-weight: bold;
    font-family: "cpl", sans-serif;
    line-height: 1;
    position: relative;
    color: #fff;
    z-index: 4;
    top: -0.5rem;
  }
  main #campus .section_inner .campus_btn > span span {
    display: block;
    color: #fff;
  }
  main #campus .section_inner .campus_btn > span strong {
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 900;
    letter-spacing: 0;
    background: linear-gradient(269.66deg, #43FCEC -6%, #C6BCFF 46.85%, #47BDFF 99.7%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    margin-bottom: 1rem;
  }
  main #faq {
    background-image: url("../img/section_bg07.svg");
    background-size: cover;
    background-position: center top;
    position: relative;
    z-index: 3;
    margin-top: -21rem;
    padding-top: 18rem;
  }
  main #faq .section_inner {
    width: 120rem;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-bottom: 40rem;
  }
  main #faq .section_inner .faq_deco01 {
    background-image: url("../img/faq_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    content: "";
    right: -20rem;
    top: 50rem;
    width: 29.7rem;
    height: 38.3rem;
    z-index: -1;
  }
  main #faq .section_inner:after {
    position: absolute;
    content: "";
    background-image: url("../img/faq_icon06.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 23.9rem;
    margin-left: 17rem;
    bottom: 8rem;
  }
}
@media print and (min-width: 1700px), screen and (min-width: 768px) and (min-width: 1700px) {
  main #faq .section_inner:after {
    bottom: 5%;
  }
}
@media print, screen and (min-width: 768px) {
  main #faq .faq_row {
    display: flex;
    gap: 2rem;
    justify-content: center;
    margin-top: 6rem;
  }
  main #faq .faq_row .faq_row_col {
    width: 22.4rem;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.06);
    background-color: #fff;
    pointer-events: none;
  }
  main #faq .faq_row .faq_row_col:nth-child(2) .faq_row_col_htxt {
    background-color: #1CDB99;
  }
  main #faq .faq_row .faq_row_col:nth-child(2) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(28, 219, 153, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(2) .faq_row_col_inner p::before {
    border-top: 16px solid #A4F1D6;
  }
  main #faq .faq_row .faq_row_col:nth-child(3) .faq_row_col_htxt {
    background-color: #FD58B2;
  }
  main #faq .faq_row .faq_row_col:nth-child(3) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(253, 88, 178, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(3) .faq_row_col_inner p::before {
    border-top: 16px solid #FEBCE0;
  }
  main #faq .faq_row .faq_row_col:nth-child(4) .faq_row_col_htxt {
    background-color: #2791E7;
  }
  main #faq .faq_row .faq_row_col:nth-child(4) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(39, 145, 231, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(4) .faq_row_col_inner p::before {
    border-top: 16px solid #A8D3F6;
  }
  main #faq .faq_row .faq_row_col:nth-child(5) .faq_row_col_htxt {
    background-color: #B127E7;
  }
  main #faq .faq_row .faq_row_col:nth-child(5) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(177, 39, 231, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(5) .faq_row_col_inner p::before {
    border-top: 16px solid #E0A8F6;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_htxt {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    background-color: #E79727;
    text-align: center;
    padding: 1.5rem 0;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner {
    padding: 0 2rem 2.5rem;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner h3 {
    text-align: center;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner h3 span {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    background: linear-gradient(transparent 60%, rgba(231, 151, 39, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner .faq_row_col_icon {
    text-align: center;
    height: 9rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner .faq_row_col_icon img {
    width: 4.8rem;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner p {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.03em;
    position: relative;
    padding-top: 3.5rem;
    margin-top: 1.5rem;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner p::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
    border-top: 16px solid #F6D5A8;
    border-bottom: 0;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
  main #learn {
    background-image: url("../img/section_bg08.svg");
    background-size: cover;
    background-position: center top;
    min-height: 80rem;
    padding-top: 22.6rem;
    padding-bottom: 10rem;
    margin-top: -22rem;
    position: relative;
    z-index: 4;
  }
  main #learn .section_inner {
    width: 96rem;
    margin: 0 auto;
    position: relative;
  }
  main #learn .section_inner::before {
    position: absolute;
    content: "";
    background-image: url("../img/learn_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 14rem;
    height: 23.8rem;
    left: -12.2rem;
    bottom: -11.3rem;
    z-index: 2;
  }
  main #learn .section_inner::after {
    position: absolute;
    content: "";
    background-image: url("../img/learn_icon02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 13.1rem;
    height: 21.6rem;
    right: -10.4rem;
    bottom: -11.5rem;
    z-index: 2;
  }
  main #learn .section_inner h2 {
    text-align: center;
    color: #fff;
    font-family: "cpl", sans-serif;
    font-size: 4.2rem;
    font-weight: bold;
  }
  main #learn .section_inner .learn_row {
    display: flex;
    gap: 4rem;
    margin-top: 16rem;
  }
  main #learn .section_inner .learn_row .learn_row_col {
    text-align: center;
    background: linear-gradient(50deg, #FFB349 0%, #A6FFE0 53%, #EAD6FF 100%);
    width: calc(50% - 2rem);
    padding: 8.5rem 4rem 4rem;
    position: relative;
    border-radius: 1rem;
  }
  main #learn .section_inner .learn_row .learn_row_col > * {
    position: relative;
    z-index: 2;
  }
  main #learn .section_inner .learn_row .learn_row_col:nth-child(2) .learn_row_col_img01 {
    width: 34.1rem;
    top: -11rem;
  }
  main #learn .section_inner .learn_row .learn_row_col::before {
    position: absolute;
    content: "";
    width: calc(100% - 0.8rem);
    height: calc(100% - 0.8rem);
    background-color: #fff;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    border-radius: 1rem;
  }
  main #learn .section_inner .learn_row .learn_row_col .learn_row_col_img01 {
    position: absolute;
    left: 50%;
    top: -9.7rem;
    transform: translateX(-50%);
    width: 28.7rem;
  }
  main #learn .section_inner .learn_row .learn_row_col h3 {
    text-align: center;
  }
  main #learn .section_inner .learn_row .learn_row_col h3 img {
    height: 3.1rem;
    width: auto;
  }
  main #learn .section_inner .learn_row .learn_row_col p {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.2;
    text-align: left;
    margin: 2.4rem 0 2.8rem 0;
  }
  main #learn .section_inner .learn_row .learn_row_col a {
    transition: 0.3s;
  }
  main #learn .section_inner .learn_row .learn_row_col.learn_row_col02 .learn_btn_row {
    display: flex;
    justify-content: center;
    gap: 1.2rem;
  }
  main #learn .section_inner .learn_row .learn_row_col.learn_row_col02 .learn_btn_row a {
    flex: 1 1 0;
    max-width: 24rem;
  }
  footer {
    background-color: #444;
    padding: 2.6rem 0;
    text-align: center;
  }
  footer p {
    line-height: 1;
    color: #fff;
    font-size: 1.2rem;
  }
  .campus_modal_wrp {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99;
  }
  .campus_modal_wrp .campus_modal {
    width: 68.5rem;
    display: inline-block;
    background-color: #fff;
    border-radius: 2rem;
    padding: 6rem 8rem;
  }
  .campus_modal_wrp .campus_modal .campus_modal_img {
    position: relative;
    height: 35rem;
    border-radius: 1rem;
    overflow: hidden;
  }
  .campus_modal_wrp .campus_modal .campus_modal_img::before {
    position: absolute;
    content: "";
    background-image: url("../img/campus_modal_deco.svg");
    background-size: 100%;
    width: 100%;
    height: 100%;
  }
  .campus_modal_wrp .campus_modal .campus_modal_txt01 {
    font-size: 2.4rem;
    font-weight: 700;
    margin-top: 1rem;
  }
  .campus_modal_wrp .campus_modal .campus_modal_txt02 {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 1rem;
  }
  #career_modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #career_modal .career_modal_inner {
    display: inline-block;
    background-color: #fff;
    padding: 6rem;
    border-radius: 2rem;
  }
  #career_modal .career_modal_inner img {
    width: 56.5rem;
  }
}
@media screen and (max-width: 767px) {
  * {
    letter-spacing: 0.1em;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  html {
    overflow-x: hidden;
  }
  body {
    overflow-x: hidden;
    position: relative;
    z-index: 2;
  }
  .pc {
    display: none !important;
  }
  h2.center {
    text-align: center;
  }
  h2 span {
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 400;
    display: block;
    margin-bottom: 0.8rem;
  }
  h2 img {
    height: 3.35rem;
    width: auto;
  }
  #btm_fixed_btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 2rem;
    z-index: 5;
    opacity: 0;
    transition: 0.3s;
  }
  #btm_fixed_btn.btm_fixed_btn_active {
    opacity: 1;
  }
  #oc_fixed_btn {
    position: fixed;
    right: 1.5rem;
    bottom: 1rem;
    width: 12rem;
    z-index: 8;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.25s ease, visibility 0.45s ease, transform 0.45s ease;
    transition-delay: 0.2s;
  }
  #oc_fixed_btn img {
    display: block;
    width: 100%;
    height: auto;
  }
  #oc_fixed_btn.oc_swap_hidden, #oc_fixed_btn.oc_follow_hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    pointer-events: none;
  }
  header {
    padding: 1rem 1rem;
    display: flex;
    align-items: center;
    position: fixed;
    justify-content: space-between;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0);
  }
  header.menu_toggle_active .menu_toggle {
    background-image: url("../img/menu_btn_close.svg");
  }
  header.menu_toggle_active .nav_wrp {
    transform: translateY(0);
  }
  header .menu_toggle {
    display: block;
    width: 4rem;
    height: 4rem;
    background-image: url("../img/menu_btn_open.svg");
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    z-index: 2;
  }
  header .logo {
    position: relative;
    z-index: 4;
  }
  header .logo img {
    height: 2rem;
    width: auto;
  }
  header .nav_wrp {
    position: fixed;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    background: linear-gradient(111.5deg, #F6ECC6 1.57%, #DFFFF5 35.98%, #F7F0FF 70.38%);
    padding-top: 8.5rem;
    transform: translateY(-100%);
    transition: transform 1s ease;
  }
  header .nav_wrp nav ul li {
    text-align: center;
    margin-bottom: 3.5rem;
  }
  header .nav_wrp nav ul li:last-child {
    margin-bottom: 0;
  }
  header .nav_wrp nav ul li a {
    display: inline-block;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
  }
  header .nav_wrp nav ul li a small {
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
  }
  header .nav_wrp .nav_btn_wrp {
    display: flex;
    gap: 0.4rem;
    padding: 0 1.5rem;
    margin-top: 5rem;
  }
  header .nav_wrp .nav_btn_wrp a {
    display: inline-block;
  }
  header .nav_wrp .nav_btn_wrp a.shadow img, header .nav_wrp .nav_btn_wrp a.shadow svg {
    filter: drop-shadow(0px 0px 13px rgba(0, 0, 0, 0.24));
  }
  header .nav_wrp .nav_btn_wrp a svg, header .nav_wrp .nav_btn_wrp a img {
    width: 100%;
  }
  main {
    position: relative;
    z-index: 1;
  }
  main::before {
    position: absolute;
    content: "";
    background-image: url("../img/mainvisual_deco01_sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 45.7rem;
    height: 63.8rem;
    right: -10.9rem;
    top: 9.5rem;
    z-index: -1;
  }
  main #main_visual {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 75rem;
    margin: 0 auto;
  }
  main #main_visual .main_visual_deco01 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_deco02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 24.6rem;
    height: 19.1rem;
    z-index: -1;
    left: -4rem;
    bottom: 5.5rem;
  }
  main #main_visual .main_visual_deco02 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_deco03.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 19.5rem;
    height: 18.5rem;
    z-index: -1;
    left: 3.5rem;
    top: 9rem;
  }
  main #main_visual .main_visual_deco03 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_deco04.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 11.2rem;
    height: 11.2rem;
    z-index: -1;
    left: 64%;
    transform: translateX(-50%);
    bottom: 0;
  }
  main #main_visual .main_visual_img01 {
    display: inline-block;
    position: absolute;
    mask-image: url("../img/mf02.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    width: 30.6rem;
    height: 23.6rem;
    z-index: -1;
    left: -4rem;
    bottom: -2.9rem;
  }
  main #main_visual .main_visual_img02 {
    display: none;
  }
  main #main_visual .main_visual_img03 {
    display: inline-block;
    position: absolute;
    mask-image: url("../img/mf01.svg");
    mask-size: contain;
    mask-repeat: no-repeat;
    width: 50.6rem;
    height: 42.3rem;
    z-index: -1;
    left: -3.3rem;
    top: -9.4rem;
  }
  main #main_visual .main_visual_img01,
  main #main_visual .main_visual_img03 {
    position: absolute;
  }
  main #main_visual .main_visual_img01 img,
  main #main_visual .main_visual_img03 img {
    position: absolute;
    inset: 0;
    opacity: 0;
    animation: mv-fade-3 12s infinite;
  }
  main #main_visual .main_visual_img01 img:nth-child(1),
  main #main_visual .main_visual_img03 img:nth-child(1) {
    animation-delay: 0s;
  }
  main #main_visual .main_visual_img01 img:nth-child(2),
  main #main_visual .main_visual_img03 img:nth-child(2) {
    animation-delay: 4s;
  }
  main #main_visual .main_visual_img01 img:nth-child(3),
  main #main_visual .main_visual_img03 img:nth-child(3) {
    animation-delay: 8s;
  }
  @keyframes mv-fade-3 {
    0% {
      opacity: 0;
    }
    10% {
      opacity: 1;
    }
    40% {
      opacity: 1;
    }
    60% {
      opacity: 0;
    }
    100% {
      opacity: 0;
    }
  }
  main #main_visual .main_visual_img04 {
    display: inline-block;
    position: absolute;
    width: 25.5rem;
    height: 17.4rem;
    z-index: 2;
    right: 0;
    bottom: -10.9rem;
    background-image: url("../img/mainvisual_bg.png");
    background-size: auto 4rem;
    background-position: 0 9rem;
    background-repeat: repeat-x;
    animation: bg-flow 30s linear infinite;
  }
  @keyframes bg-flow {
    from {
      background-position: 0 9rem;
    }
    to {
      background-position: -100% 9rem;
    }
  }
  main #main_visual .main_visual_img04 .main_visual_img04_human_wrp {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
  }
  main #main_visual .main_visual_img04 .main_visual_img04_human_wrp .main_visual_img04_women {
    position: absolute;
    left: -3rem;
    top: 0rem;
    width: 20rem;
  }
  main #main_visual .main_visual_img04 .main_visual_img04_human_wrp .main_visual_img04_men {
    position: absolute;
    width: 20rem;
    right: -1rem;
    top: -1rem;
  }
  main #main_visual .main_visual_icon01 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 4.76rem;
    height: 3.76rem;
    z-index: -1;
    right: 0;
    top: 59%;
    transform: translateY(-50%);
  }
  main #main_visual .main_visual_icon02 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 20.3rem;
    height: 10.4rem;
    z-index: -1;
    right: 4rem;
    top: 68%;
    transform: translateY(-50%);
  }
  main #main_visual .main_visual_icon03 {
    display: none;
  }
  main #main_visual .main_visual_icon04 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon04.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 5.1rem;
    height: 4.1rem;
    z-index: -1;
    left: 2em;
    top: 13rem;
  }
  main #main_visual .main_visual_icon05 {
    display: inline-block;
    position: absolute;
    background-image: url("../img/mainvisual_icon05.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.2rem;
    height: 14.4rem;
    z-index: -1;
    right: 4.6rem;
    top: 11.8rem;
  }
  main #main_visual .main_visual_txtbox {
    width: calc(100% - 2rem);
    margin: 0 auto;
    position: absolute;
    top: 42%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
  main #main_visual .main_visual_txtbox h1 img {
    image-rendering: -webkit-optimize-contrast;
    -webkit-backface-visibility: hidden;
  }
  main #main_visual .main_visual_txtbox p {
    font-size: 1.4rem;
    line-height: 1.8;
    padding: 0 1rem;
    margin-top: -2.5rem;
  }
  main #main_visual #oc_fixed_btn {
    position: fixed;
    right: var(--oc-follow-right, 1.5rem);
    bottom: 1rem;
    z-index: 8;
    width: 12rem;
    z-index: 3;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: right 0.3s ease, bottom 0.3s ease, opacity 0.45s ease, visibility 0.45s ease, transform 0.45s ease;
  }
  main #main_visual #oc_fixed_btn img {
    display: block;
    width: 100%;
    height: auto;
  }
  main #main_visual #oc_fixed_btn.oc_swap_hidden, main #main_visual #oc_fixed_btn.oc_follow_hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    pointer-events: none;
  }
  main #main_visual .main_visual_txtbox {
    transition-delay: 0s;
  }
  main #main_visual .main_visual_deco02 {
    transition-delay: 0.2s;
  }
  main #main_visual .main_visual_deco01 {
    transition-delay: 0.4s;
  }
  main #main_visual .main_visual_deco02 {
    transition-delay: 0.6s;
  }
  main #main_visual .main_visual_deco03 {
    transition-delay: 0.8s;
  }
  main #main_visual .main_visual_img03 {
    transition-delay: 1s;
  }
  main #main_visual .main_visual_img01 {
    transition-delay: 1.2s;
  }
  main #main_visual .main_visual_img02 {
    transition-delay: 1.4s;
  }
  main #main_visual .main_visual_img04 {
    transition-delay: 0.6s;
  }
  main #main_visual .main_visual_icon01 {
    transition-delay: 1.8s;
  }
  main #main_visual .main_visual_icon02 {
    transition-delay: 2s;
  }
  main #main_visual .main_visual_icon03 {
    transition-delay: 2.2s;
  }
  main #main_visual .main_visual_icon04 {
    transition-delay: 2.4s;
  }
  main #main_visual .main_visual_icon05 {
    transition-delay: 2.6s;
  }
  main #main_visual #oc_fixed_btn {
    transition-delay: 0.1s;
  }
  main #about {
    background-color: #F7FFFE;
    mask-image: url("../img/section_bg01_sp.svg");
    mask-size: cover;
    mask-position: center top;
    padding: 8rem 2rem 22rem;
    margin-top: 6rem;
  }
  main #about .section_inner {
    width: 100%;
    position: relative;
    z-index: 1;
  }
  main #about .section_inner .about_deco01 {
    display: inline-block;
    width: 19.6rem;
    height: 24.3rem;
    background-image: url("../img/about_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    right: -17.1rem;
    top: 11rem;
    position: absolute;
    z-index: -1;
  }
  main #about .section_inner .about_deco02 {
    display: inline-block;
    width: 11.7rem;
    height: 9.5rem;
    background-image: url("../img/about_deco02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -7.2rem;
    bottom: -3rem;
    position: absolute;
    z-index: -1;
  }
  main #about .section_inner .about_row .about_row_col01 {
    padding-top: 0.8rem;
  }
  main #about .section_inner .about_row .about_row_col01 .about_row_col01_txt01 {
    margin: 2rem 0 1.2rem;
  }
  main #about .section_inner .about_row .about_row_col01 .about_row_col01_txt02 {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 400;
    font-family: "Outfit", "Noto Sans JP", sans-serif;
    text-indent: -1.1rem;
    margin-left: 1.1rem;
  }
  main #about .section_inner .about_row .about_row_col02 {
    width: 100%;
    flex-shrink: 0;
    margin-top: 2.2rem;
  }
  main .about_box {
    background: linear-gradient(-99deg, #FFB349 0%, #A6FFE0 61.43%, #EAD6FF 100%);
    border-radius: 1rem;
    overflow: hidden;
    padding: 2px;
    margin-top: 2rem;
  }
  main .about_box .about_box_inner {
    background-color: #fff;
    border-radius: 0.9rem;
    padding: 2rem 2rem;
  }
  main .about_box .about_box_inner .about_box_col01 h3 {
    font-family: "cpl", sans-serif;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1.3rem;
    position: relative;
    z-index: 1;
    padding-left: 1.6rem;
  }
  main .about_box .about_box_inner .about_box_col01 h3::before {
    content: "";
    position: absolute;
    width: 3.6rem;
    height: 3.6rem;
    background: linear-gradient(114.23deg, rgba(255, 181, 43, 0.3) 0%, rgba(166, 255, 224, 0.3) 49.69%, rgba(234, 214, 255, 0.3) 99.38%);
    border-radius: 50%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: -1;
  }
  main .about_box .about_box_inner .about_box_col01 p {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  main .about_box .about_box_inner .about_box_col02 {
    display: flex;
    gap: 0.7rem;
    justify-content: center;
    margin-top: 2rem;
  }
  main .about_box .about_box_inner .about_box_col02 > div {
    text-align: center;
    width: calc(25% - 0.35rem);
    position: relative;
  }
  main .about_box .about_box_inner .about_box_col02 > div p {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 0;
  }
  main #major {
    background-image: url("../img/section_bg02_sp.svg");
    background-size: cover;
    background-position: right top;
    padding: 6rem 2rem;
    position: relative;
    margin-top: -14rem;
    padding-bottom: 15rem;
  }
  main #major .section_inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
  main #major .section_inner::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 12.6rem;
    height: 11.8rem;
    left: -1.5rem;
    top: -10rem;
  }
  main #major .major_row {
    margin: 0 -2rem;
    margin-top: 4rem;
    position: relative;
  }
  main #major .major_row .slick-arrow {
    border: none;
    background: none;
    position: absolute;
    width: 1.2rem;
    height: 2.4rem;
    background-image: url("../img/slick_arrow_left.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 16.4rem;
    overflow: hidden;
    text-indent: -9999px;
    z-index: 2;
  }
  main #major .major_row .slick-arrow.slick-prev {
    left: 1rem;
  }
  main #major .major_row .slick-arrow.slick-next {
    background-image: url("../img/slick_arrow_right.svg");
    right: 1rem;
  }
  main #major .major_row .slick-dots {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 4rem;
  }
  main #major .major_row .slick-dots > li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    position: relative;
  }
  main #major .major_row .slick-dots > li .dot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.8rem;
    height: 0.8rem;
    background-color: #D3DAD2;
    border-radius: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  main #major .major_row .slick-dots > li button {
    border: none;
    padding: 0;
  }
  main #major .major_row .slick-dots > li.slick-active .dot {
    background-color: #0068B7;
  }
  main #major .major_row .slick-dots > li.slick-active button {
    width: 100%;
    height: 100%;
    background-color: #0068B7;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    mask: radial-gradient(circle 0.9rem at 50% 50%, transparent 85%, #000 100%);
    outline: none;
  }
  main #major .major_row .slick-dots > li.slick-active button::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -1rem;
    width: 2rem;
    height: 2rem;
    background: #D3DAD2;
    transform-origin: right 1rem;
    z-index: 2;
    animation: rotate-circle-left 5s linear forwards;
  }
  main #major .major_row .slick-dots > li.slick-active button:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 1rem;
    width: 2rem;
    height: 2rem;
    background: #D3DAD2;
    transform-origin: left 1rem;
    z-index: 3;
    animation: rotate-circle-right 5s linear forwards;
  }
  @keyframes rotate-circle-right {
    0% {
      transform: rotate(0deg);
      background: #D3DAD2;
    }
    50% {
      transform: rotate(180deg);
      background: #D3DAD2;
    }
    50.01% {
      transform: rotate(360deg);
      background: #0068B7;
    }
    100% {
      transform: rotate(360deg);
      background: #0068B7;
    }
  }
  @keyframes rotate-circle-left {
    0% {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(180deg);
    }
  }
  main #major .major_row .slick-list {
    pointer-events: none;
  }
  main #major .major_row .major_row_col {
    position: relative;
    width: 100%;
    margin: 0 2rem;
  }
  main #major .major_row .major_row_col span {
    mask-image: url("../img/mf03.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    display: block;
    height: 34.8rem;
  }
  main #major .major_row .major_row_col.major_row_col_01::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_img01_deco.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.7rem;
    height: 28.9rem;
    top: 4.8rem;
    right: 0;
    z-index: -1;
  }
  main #major .major_row .major_row_col.major_row_col_02 span {
    mask-image: url("../img/mf04.svg");
    height: 30.2rem;
    position: relative;
    top: 3rem;
  }
  main #major .major_row .major_row_col.major_row_col_02::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_img02_deco.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 36rem;
    height: 34.5rem;
    top: 0rem;
    right: 0;
    z-index: -1;
  }
  main #major .major_row .major_row_col.major_row_col_03 span {
    mask-image: url("../img/mf05.svg");
    height: 34.4rem;
  }
  main #major .major_row .major_row_col.major_row_col_03::before {
    position: absolute;
    content: "";
    background-image: url("../img/major_img03_deco.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.7rem;
    height: 28.9rem;
    top: 0em;
    left: 0;
    z-index: -1;
  }
  main #major .major_row .major_row_col .major_row_col_img {
    width: 100%;
    height: 34.8rem;
  }
  main #major .major_row .major_row_col.major_row_col_02 .major_row_col_tag p {
    background: linear-gradient(90.03deg, #1CC8B9 0.12%, #7464CB 50.1%, #007EC5 100.09%);
  }
  main #major .major_row .major_row_col.major_row_col_03 .major_row_col_tag p {
    background: linear-gradient(90.08deg, #C9B5EC 3.77%, #D374F5 40.25%, #FA9B79 99.93%);
  }
  main #major .major_row .major_row_col h3 {
    position: absolute;
    left: -0.5rem;
    top: 1rem;
    z-index: 3;
  }
  main #major .major_row .major_row_col h3 img {
    height: 4.5rem;
    width: auto;
  }
  main #major .major_row .major_row_col .major_row_col_description {
    font-weight: 400;
    line-height: 1.5;
    margin: 1.8rem 0 2rem;
  }
  main #major .major_row .major_row_col .major_row_col_tag {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
  }
  main #major .major_row .major_row_col .major_row_col_tag p {
    display: inline-block;
    line-height: 1;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(255.73deg, #7EC11A 12.85%, #3FBF92 51.61%, #B8C479 91.13%);
    border-radius: 5rem;
    padding: 0.5rem 1rem 0.6rem;
  }
  main #features {
    position: relative;
  }
  main #features h2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
  }
  main #features h2 img {
    height: 4.2rem;
    max-width: none;
  }
  main #features .features_sec {
    background-image: url("../img/section_bg03.svg");
    background-size: cover;
    background-position: center top;
    padding-top: 16rem;
    padding-bottom: 20rem;
    margin-top: -10rem;
  }
  main #features .features_sec.features_sec01 {
    padding-bottom: 18rem;
  }
  main #features .features_sec.features_sec01 .section_inner .features_main .features_main_col02 {
    width: 44.7rem;
    margin-right: -10.3rem;
    margin-top: -6rem;
  }
  main #features .features_sec.features_sec02 {
    background-image: url("../img/section_bg04_sp.svg");
    padding-top: 10rem;
    padding-bottom: 16rem;
  }
  main #features .features_sec.features_sec02 .section_inner::before {
    background-image: url("../img/features_sec02_deco02.svg") !important;
    width: 19.1rem;
    height: 15.4rem;
    top: 37rem;
    right: 2rem;
  }
  main #features .features_sec.features_sec02 .features_main::before {
    background-image: url("../img/features_sec02_icon01.svg") !important;
    width: 18.2rem !important;
    height: 28.6rem !important;
    left: auto !important;
    right: -6rem;
    transform: none !important;
    bottom: 1rem !important;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_num {
    top: -11rem !important;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 {
    position: relative;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01::before {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec02_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -26rem;
    bottom: -17rem;
    width: 29.7rem;
    height: 36.8rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .features_main_col01_description {
    width: 100%;
    margin-top: 4rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box {
    width: 100%;
    margin-top: 2.2rem;
    background: none;
    position: relative;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 1rem;
    border: 5px solid transparent;
    background: linear-gradient(-99deg, #FFB349 0%, #A6FFE0 61.43%, #EAD6FF 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner {
    padding: 2.5rem 2rem 1.8rem;
    background-color: rgba(255, 255, 255, 0.8);
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner .about_box_col01 h3 {
    padding-left: 1.6rem;
    margin-bottom: 2rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner .about_box_col01 h3::before {
    display: block;
    width: 3.6rem;
    height: 3.6rem;
    top: 61%;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col01 .about_box .about_box_inner .about_box_col01 p {
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 400;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col02 {
    margin: -12rem -2rem 0;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col02::before {
    background-image: url("../img/features_sec02_icon01.svg");
    width: 12.3rem;
    height: 19.5rem;
    left: auto;
    right: 0;
    z-index: 3;
    transform: scale(1, 1);
    bottom: -2rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col02 .features_main_col02_img01 {
    position: relative;
    z-index: -1;
    right: -3rem;
    mask-image: url("../img/mf07.svg");
    width: 45.1rem;
    height: 36.8rem;
  }
  main #features .features_sec.features_sec02 .features_main .features_main_col02 .features_main_col02_img02 {
    width: 24.7rem;
    top: 18.3rem;
    right: auto;
    left: -1rem;
  }
  main #features .features_sec.features_sec03 {
    background-image: url("../img/section_bg05_sp.svg");
    padding-top: 12rem;
    padding-bottom: 16rem;
  }
  main #features .features_sec.features_sec03 .section_inner::before {
    background-image: url("../img/features_sec02_deco03.svg") !important;
    width: 29.6rem;
    height: 28.4rem;
    top: 14rem;
    right: -4rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main::before {
    background-image: url("../img/features_sec03_icon01.svg");
    width: 20.2rem;
    height: 37.1rem;
    left: 76%;
    bottom: 1rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 {
    position: relative;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_deco02 {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec03_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -15.7rem;
    bottom: -46.9rem;
    width: 21rem;
    height: 23rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 h3 {
    position: relative;
    z-index: 2;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_description {
    width: 100%;
    margin-bottom: 3.5rem;
    margin-top: 6rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row {
    position: relative;
    background-color: #fff;
    border-radius: 1.1rem;
    border-top-right-radius: 2rem;
    border-top-left-radius: 2rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 1rem;
    border-top-right-radius: 2rem;
    border-top-left-radius: 2rem;
    border: 2px solid transparent;
    background: linear-gradient(-99deg, #FFB349 0%, #A6FFE0 61.43%, #EAD6FF 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col01 {
    width: 100%;
    z-index: 2;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col01 img {
    border-radius: 2rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02 {
    width: 100%;
    position: relative;
    padding: 2rem 2rem 2rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02 h4 {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 1.4rem;
    line-height: 1.4;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col01 .features_main_col01_row .features_main_col01_col02 p {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 400;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col02 {
    margin: -6rem -2rem 0;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col02::before {
    background-image: url("../img/features_sec03_icon01.svg");
    width: 13.2rem;
    height: 24rem;
    left: 5rem;
    right: auto;
    z-index: 3;
    bottom: -5rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col02 .features_main_col02_img01 {
    position: relative;
    z-index: -1;
    left: -2.3rem;
    mask-image: url("../img/mf08.svg");
    width: 36.1rem;
    height: 41rem;
  }
  main #features .features_sec.features_sec03 .section_inner .features_main .features_main_col02 .features_main_col02_img02 {
    width: 23.2rem;
    top: 16.5rem;
    right: -5rem;
    left: auto;
  }
  main #features .features_sec .section_inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 0 2rem;
  }
  main #features .features_sec .section_inner::before {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec01_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.5rem;
    height: 22rem;
    z-index: -1;
    right: -2rem;
    top: 27rem;
  }
  main #features .features_sec .section_inner .features_main {
    position: relative;
  }
  main #features .features_sec .section_inner .features_main .features_main_num {
    font-family: "Outfit", sans-serif;
    font-size: 10rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0;
    right: -2rem;
    top: -9.5rem;
    position: absolute;
    z-index: -1;
  }
  main #features .features_sec .section_inner .features_main_col01 h3 {
    position: relative;
    z-index: 2;
  }
  main #features .features_sec .section_inner .features_main_col01 .features_main_col01_description {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-top: 2rem;
  }
  main #features .features_sec .section_inner .features_main_col02 {
    position: relative;
    height: 40.8rem;
  }
  main #features .features_sec .section_inner .features_main_col02::before {
    position: absolute;
    content: "";
    background-image: url("../img/features_sec01_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -1rem;
    bottom: 1rem;
    width: 18.4rem;
    height: 14.4rem;
    z-index: 2;
    transform: scale(-1, 1);
  }
  main #features .features_sec .section_inner .features_main_col02 span {
    display: inline-block;
  }
  main #features .features_sec .section_inner .features_main_col02 .features_main_col02_img01 {
    z-index: 2;
    mask-image: url("../img/mf06.svg");
    mask-repeat: no-repeat;
    mask-size: contain;
    display: inline-block;
    width: 37.7rem;
    height: 34.9rem;
  }
  main #features .features_sec .section_inner .features_main_col02 .features_main_col02_img02 {
    display: inline-block;
    width: 24.5rem;
    position: absolute;
    top: 23.3rem;
    right: 0rem;
    z-index: 3;
  }
  main #features .features_sec .section_inner .about_box {
    margin-top: 4rem;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner {
    justify-content: space-between;
    position: relative;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_btn {
    display: inline-block;
    margin-top: 2.2rem;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_col01 h3 {
    padding-left: 0rem;
    line-height: 1;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_col01 h3::before {
    display: none;
  }
  main #features .features_sec .section_inner .about_box .about_box_inner .about_box_col02 p {
    margin-top: 0.5rem;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-track {
    display: flex;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-slide {
    height: auto !important;
    display: flex;
    flex-direction: column;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 2rem;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    position: relative;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li .dot {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.8rem;
    height: 0.8rem;
    background-color: #fff;
    border-radius: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li button {
    border: none;
    padding: 0;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li.slick-active .dot {
    background-color: #0068B7;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li.slick-active button {
    width: 100%;
    height: 100%;
    background-color: #0068B7;
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    z-index: 1;
    mask: radial-gradient(circle 0.9rem at 50% 50%, transparent 85%, #000 100%);
    outline: none;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li.slick-active button::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -1rem;
    width: 2.1rem;
    height: 2.1rem;
    background: #fff;
    transform-origin: right 0.9em;
    z-index: 2;
    animation: rotate-circle-left 5s linear forwards;
  }
  main #features .features_sec .section_inner .features_sec_common_slide .slick-dots > li.slick-active button:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 1rem;
    width: 2.1rem;
    height: 2.1rem;
    background: #fff;
    transform-origin: left 0.9rem;
    z-index: 3;
    animation: rotate-circle-right 5s linear forwards;
  }
  @keyframes rotate-circle-right {
    0% {
      transform: rotate(0deg);
      background: #fff;
    }
    50% {
      transform: rotate(180deg);
      background: #fff;
    }
    50.01% {
      transform: rotate(360deg);
      background: #0068B7;
    }
    100% {
      transform: rotate(360deg);
      background: #0068B7;
    }
  }
  @keyframes rotate-circle-left {
    0% {
      transform: rotate(0deg);
    }
    50% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(180deg);
    }
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp {
    margin-top: 6.5rem;
    margin-bottom: 10rem;
    margin: 2.4rem -2rem 0;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp .features_sec_imgbox {
    width: 100%;
    margin: 0 2rem;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp .features_sec_imgbox h4 {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 1.3rem 0 0.4rem;
    line-height: 1.6;
  }
  main #features .features_sec .section_inner .features_sec_imgbox_wrp .features_sec_imgbox p {
    line-height: 1.5;
    font-weight: 400;
  }
  main #features .features_sec.features_sec01 .section_inner .features_main .features_sec01_img01 {
    width: 100%;
    margin-top: 2.5rem;
  }
  main #interviews {
    background-image: url("../img/section_bg09_sp.svg");
    background-size: cover;
    background-position: center top;
    margin-top: -10rem;
    position: relative;
    z-index: 2;
    padding: 7.1rem 0 22rem;
  }
  main #interviews .features_sec_human_wrp {
    margin: 0 -2rem;
    margin-top: 2.5rem;
  }
  main #interviews .features_sec_human_wrp .slick-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -4rem;
    margin: 0;
    padding: 0;
    height: 0.6rem;
    border-radius: 1rem;
    overflow: hidden;
    width: calc(100% - 8rem);
    display: flex;
  }
  main #interviews .features_sec_human_wrp .slick-dots > li {
    display: inline-block;
    line-height: 0;
    font-size: 0;
    vertical-align: top;
    padding: 0;
    margin: 0;
    bottom: 0;
    background-color: #EFEFEF;
    height: 0.6rem;
    flex: 1;
  }
  main #interviews .features_sec_human_wrp .slick-dots > li button {
    display: block;
    border: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    text-indent: -9999px;
    line-height: 0;
    height: 100%;
    width: 100%;
    border-radius: 3rem;
  }
  main #interviews .features_sec_human_wrp .slick-dots > li.slick-active button {
    background: linear-gradient(90.03deg, #43FCEC 0.12%, #C6BCFF 50.1%, #007EC5 100.09%);
    opacity: 0.7;
  }
  main #interviews .features_sec_human_wrp .features_sec_human {
    position: relative;
    display: inline-block;
    padding: 3rem 0rem 6rem 0;
    margin: 0 2rem;
    width: 36.3rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_img {
    overflow: hidden;
    padding-right: 4.3rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt01 {
    position: absolute;
    right: 6.6rem;
    top: 0rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt01 img {
    width: 7rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    border-radius: 50%;
    width: 14rem;
    height: 14rem;
    background: linear-gradient(207.93deg, #42D7CA 12.59%, #AC97FF 49.93%, #007EC5 87.28%);
    position: absolute;
    right: 0rem;
    bottom: 0rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span {
    color: #fff;
    font-weight: 700;
    text-align: center;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span:nth-child(1) {
    font-size: 1.1rem;
    letter-spacing: 0;
    line-height: 1.2;
    padding-bottom: 0.3rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span:nth-child(2) {
    font-size: 1.6rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02 span:nth-child(3) {
    font-size: 1.2rem;
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02.features_sec_human_txt02_blue {
    background: linear-gradient(207.93deg, #42D7CA 12.59%, #AC97FF 49.93%, #007EC5 87.28%);
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02.features_sec_human_txt02_green {
    background: linear-gradient(202.66deg, #8CCC2B 10.49%, #48DCA9 49.5%, #C7D865 89.26%);
  }
  main #interviews .features_sec_human_wrp .features_sec_human .features_sec_human_txt02.features_sec_human_txt02_pink {
    background: linear-gradient(162.42deg, #DECBFF 12.38%, #FF9AD1 39.88%, #FA9B79 84.86%);
  }
  main #campus {
    background-image: url("../img/section_bg06_sp.svg");
    background-size: cover;
    background-position: center top;
    margin-top: -10rem;
    position: relative;
    z-index: 2;
    padding: 7.1rem 0 19rem;
  }
  main #campus::after {
    display: block;
    position: absolute;
    content: "";
    right: -0.5rem;
    bottom: 2rem;
    width: 25.1rem;
    height: 14.9rem;
    background-image: url("../img/campus_icon02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right -1rem center;
    pointer-events: none;
  }
  main #campus .campus_deco01 {
    position: absolute;
    width: 24.9rem;
    height: 16.1rem;
    background-image: url("../img/campus_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    left: -12rem;
    bottom: -45rem;
  }
  main #campus .section_inner .campus_slide_wrp {
    overflow: hidden;
    display: flex;
    width: 100%;
    padding-top: 4rem;
    margin-top: 6rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_track {
    display: inline-flex;
    flex-shrink: 0;
    animation: campus-slide-marquee-sp 45s linear infinite;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container {
    display: flex;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    flex-shrink: 0;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div span {
    display: block;
    mask-repeat: no-repeat;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:first-child span:first-child {
    margin-bottom: 1.5rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(3) {
    padding-left: 1.5rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(4) {
    margin-left: 3.5rem;
    margin-top: -4rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(4) span:last-child {
    margin-top: 6rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(5) {
    padding-top: 2.2rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(6) {
    margin-right: 2rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(6) span:last-child {
    margin-top: 3rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(7) {
    margin-top: -4rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(7), main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(8), main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(9), main #campus .section_inner .campus_slide_wrp .campus_slide_container > div:nth-child(10) {
    margin-right: 2rem;
  }
  main #campus .section_inner .campus_slide_wrp .campus_slide_container img {
    zoom: 35%;
    width: auto;
    display: block;
    max-width: none;
  }
}
@media screen and (max-width: 767px) and (prefers-reduced-motion: reduce) {
  main #campus .section_inner .campus_slide_wrp .campus_slide_track {
    animation: none;
  }
}
@media screen and (max-width: 767px) {
  @keyframes campus-slide-marquee-sp {
    from {
      transform: translate3d(0, 0, 0);
    }
    to {
      transform: translate3d(-50%, 0, 0);
    }
  }
  main #campus .section_inner .campus_btn_wrp {
    margin-top: 4.5rem;
  }
  main #campus .section_inner .campus_btn {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(13deg, #43FCEC 0%, #C6BCFF 50%, #007EC5 100%);
    border-radius: 1rem;
    position: relative;
    z-index: 1;
    width: calc(100% - 4rem);
    height: 10rem;
    margin: 0 auto;
    transition: 0.3s;
  }
  main #campus .section_inner .campus_btn::before {
    position: absolute;
    content: "";
    background-image: url("../img/about_btn_img.png");
    background-size: cover;
    background-position: center;
    width: calc(100% - 0.8rem);
    height: calc(100% - 0.8rem);
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 2;
    border-radius: 1rem;
  }
  main #campus .section_inner .campus_btn:after {
    position: absolute;
    content: "";
    z-index: 3;
    width: calc(100% - 0.8rem);
    height: calc(100% - 0.8rem);
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: rgba(68, 68, 68, 0.5);
    border-radius: 1rem;
  }
  main #campus .section_inner .campus_btn > span {
    font-size: 2rem;
    font-weight: bold;
    font-family: "cpl", sans-serif;
    line-height: 1;
    position: relative;
    color: #fff;
    z-index: 4;
    top: -0.1rem;
  }
  main #campus .section_inner .campus_btn > span span {
    display: block;
    color: #fff;
  }
  main #campus .section_inner .campus_btn > span strong {
    display: inline-block;
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: 0;
    background: linear-gradient(269.66deg, #43FCEC -6%, #C6BCFF 46.85%, #47BDFF 99.7%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    margin-bottom: -0.5rem;
  }
  main #faq {
    background-image: url("../img/section_bg07_faq.svg");
    background-size: cover;
    background-position: center top;
    position: relative;
    z-index: 3;
    margin-top: -5rem;
    padding-top: 6.5rem;
  }
  main #faq .section_inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
    position: relative;
    z-index: 1;
    padding-bottom: 25.5rem;
  }
  main #faq .section_inner::before {
    background-image: url("../img/faq_deco01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    content: "";
    right: -20rem;
    top: 0;
    width: 29.7rem;
    height: 38.3rem;
    z-index: -1;
  }
  main #faq .section_inner:after {
    position: absolute;
    content: "";
    background-image: url("../img/faq_icon06.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 15.3rem;
    height: 15.8rem;
    left: 4rem;
    bottom: 8rem;
  }
  main #faq .faq_row {
    margin-top: 6rem;
  }
  main #faq .faq_row .faq_row_col {
    width: 100%;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.1);
    background-color: #fff;
    display: flex;
    position: relative;
    margin-bottom: 1.2rem;
  }
  main #faq .faq_row .faq_row_col.faq_row_col_active:before {
    display: none;
  }
  main #faq .faq_row .faq_row_col.faq_row_col_active:after {
    display: block;
  }
  main #faq .faq_row .faq_row_col:last-child {
    margin-bottom: 0;
  }
  main #faq .faq_row .faq_row_col::before, main #faq .faq_row .faq_row_col:after {
    position: absolute;
    content: "";
    background-image: url("/lib/img/faq_plus.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 2.6rem;
    height: 2.6rem;
    top: 50%;
    transform: translateY(-50%);
    right: 1.3rem;
  }
  main #faq .faq_row .faq_row_col:after {
    display: none;
    background-image: url("/lib/img/faq_minus.svg");
  }
  main #faq .faq_row .faq_row_col:nth-child(2) .faq_row_col_htxt {
    background-color: #1CDB99;
  }
  main #faq .faq_row .faq_row_col:nth-child(2) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(28, 219, 153, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(2) .faq_row_col_inner p::before {
    border-top: 1.1rem solid #A4F1D6;
  }
  main #faq .faq_row .faq_row_col:nth-child(3) .faq_row_col_htxt {
    background-color: #FD58B2;
  }
  main #faq .faq_row .faq_row_col:nth-child(3) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(253, 88, 178, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(3) .faq_row_col_inner p::before {
    border-top: 1.1rem solid #FEBCE0;
  }
  main #faq .faq_row .faq_row_col:nth-child(4) .faq_row_col_htxt {
    background-color: #2791E7;
  }
  main #faq .faq_row .faq_row_col:nth-child(4) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(39, 145, 231, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(4) .faq_row_col_inner p::before {
    border-top: 1.1rem solid #A8D3F6;
  }
  main #faq .faq_row .faq_row_col:nth-child(5) .faq_row_col_htxt {
    background-color: #B127E7;
  }
  main #faq .faq_row .faq_row_col:nth-child(5) .faq_row_col_inner h3 span {
    background: linear-gradient(transparent 60%, rgba(177, 39, 231, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col:nth-child(5) .faq_row_col_inner p::before {
    border-top: 1.1rem solid #E0A8F6;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_htxt {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.05em;
    background-color: #E79727;
    text-align: center;
    padding: 2.3rem 0;
    width: 7.5rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner {
    padding: 1.5rem 4.5rem 1.5rem 1.8rem;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner > div {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner h3 {
    text-align: left;
    height: auto !important;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner h3 span {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    background: linear-gradient(transparent 60%, rgba(231, 151, 39, 0.2) 60%);
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner .faq_row_col_icon {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner .faq_row_col_icon img {
    width: 4rem;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner p {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.03em;
    position: relative;
    padding-top: 2.5rem;
    margin-top: 1.5rem;
    padding-right: 1rem;
    text-align: justify;
    display: none;
  }
  main #faq .faq_row .faq_row_col .faq_row_col_inner p::before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 1.4rem solid transparent;
    border-left: 1.4rem solid transparent;
    border-top: 1.1rem solid #F6D5A8;
    border-bottom: 0;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }
  main #learn {
    background-image: url("../img/section_bg08_sp.svg");
    background-size: cover;
    background-position: center top;
    padding-top: 8.6rem;
    padding-bottom: 10rem;
    margin-top: -12rem;
    position: relative;
    z-index: 4;
  }
  main #learn .section_inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
  }
  main #learn .section_inner::before {
    position: absolute;
    content: "";
    background-image: url("../img/learn_icon01.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 8.8rem;
    height: 15.1rem;
    left: -0.8rem;
    bottom: -11.3rem;
    z-index: 2;
  }
  main #learn .section_inner::after {
    position: absolute;
    content: "";
    background-image: url("../img/learn_icon02.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 8.5rem;
    height: 14.1rem;
    right: -1.1rem;
    bottom: -11.5rem;
    z-index: 2;
  }
  main #learn .section_inner h2 {
    text-align: center;
    color: #fff;
    font-family: "cpl", sans-serif;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.3;
    padding: 0 1rem;
  }
  main #learn .section_inner .learn_row {
    margin-top: 13rem;
    padding: 0 2rem;
  }
  main #learn .section_inner .learn_row .learn_row_col {
    text-align: center;
    background: linear-gradient(250deg, #FFB349 0%, #A6FFE0 53%, #EAD6FF 100%);
    width: 100%;
    padding: 6.5rem 1.8rem 2.4rem;
    position: relative;
    border-radius: 1rem;
    margin-bottom: 10.5rem;
  }
  main #learn .section_inner .learn_row .learn_row_col:last-child {
    margin-bottom: 0;
  }
  main #learn .section_inner .learn_row .learn_row_col > * {
    position: relative;
    z-index: 2;
  }
  main #learn .section_inner .learn_row .learn_row_col:nth-child(2) .learn_row_col_img01 {
    width: 27.7rem;
    top: -7rem;
  }
  main #learn .section_inner .learn_row .learn_row_col::before {
    position: absolute;
    content: "";
    width: calc(100% - 0.8rem);
    height: calc(100% - 0.8rem);
    background-color: #fff;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    border-radius: 1rem;
  }
  main #learn .section_inner .learn_row .learn_row_col .learn_row_col_img01 {
    position: absolute;
    left: 50%;
    top: -8.7rem;
    transform: translateX(-50%);
    width: 26rem;
  }
  main #learn .section_inner .learn_row .learn_row_col h3 {
    text-align: center;
  }
  main #learn .section_inner .learn_row .learn_row_col h3 img {
    height: 2rem;
    width: auto;
  }
  main #learn .section_inner .learn_row .learn_row_col p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    text-align: left;
    margin: 2rem 0 1.8rem 0;
  }
  main #learn .section_inner .learn_row .learn_row_col a {
    transition: 0.3s;
  }
  main #learn .section_inner .learn_row .learn_row_col a:hover {
    opacity: 0.6;
  }
  footer {
    background-color: #444;
    padding: 1.5rem 0;
    text-align: center;
  }
  footer p {
    line-height: 1;
    font-weight: 700;
    color: #fff;
    font-size: 1rem;
    letter-spacing: 0.04em;
  }
  .campus_modal_wrp {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99;
    padding: 4rem 2rem;
  }
  .campus_modal_wrp .campus_modal {
    width: 68.5rem;
    display: inline-block;
    background-color: #fff;
    border-radius: 2rem;
    padding: 2rem 3rem;
  }
  .campus_modal_wrp .campus_modal .campus_modal_img {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
  }
  .campus_modal_wrp .campus_modal .campus_modal_img::before {
    position: absolute;
    content: "";
    background-image: url("../img/campus_modal_deco.svg");
    background-size: 100%;
    width: 100%;
    height: 100%;
  }
  .campus_modal_wrp .campus_modal .campus_modal_txt01 {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 0.8rem;
  }
  .campus_modal_wrp .campus_modal .campus_modal_txt02 {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.6;
    margin-top: 0.4rem;
  }
  #career_modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2rem;
  }
  #career_modal .career_modal_inner {
    display: inline-block;
    background-color: #fff;
    padding: 2rem;
    border-radius: 2rem;
  }
  #career_modal .career_modal_inner img {
    width: 100%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1366px) {
  body {
    position: relative;
    z-index: 1;
  }
  .sp {
    display: none !important;
  }
}

/*# sourceMappingURL=style.css.map */
