@charset "UTF-8";
@use "screen";
/* ======================================================================
 common
====================================================================== */
@media screen and (max-width: 768px) {
  html, body {
    overflow-x: hidden; } }

html {
  font-size: 0.6666666666666667vw; }
  @media screen and (max-width: 768px) {
    html {
      font-size: 2.272727272727273vw; } }

body {
  font-family: 'Zen Maru Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  color: #000;
  font-weight: 400; }

input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border-radius: 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  color: inherit; }

select::-ms-expand {
  display: none; }

label {
  cursor: pointer; }

a {
  text-decoration: none;
  color: #000; }

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

.inner {
  width: calc(100% - 50rem);
  margin: 0 auto;
  position: relative;
  box-sizing: border-box; }
  @media screen and (max-width: 768px) {
    .inner {
      width: 92%; } }

.sp {
  display: none !important; }

@media screen and (max-width: 768px) {
  .sp {
    display: block !important; }

  .pc {
    display: none !important; } }
/* ======================================================================
 labo
====================================================================== */
.labo_mv {
  overflow: hidden;
  position: relative; }
  .labo_mv_logo {
    opacity: 1;
    transition: all .2s ease-in-out;
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 3rem;
    width: 32rem;
    margin-left: -16rem; }
    @media screen and (max-width: 768px) {
      .labo_mv_logo {
        transition: none; } }
    .labo_mv_logo:hover, .labo_mv_logo:hover img {
      opacity: .6; }
      @media screen and (max-width: 768px) {
        .labo_mv_logo:hover, .labo_mv_logo:hover img {
          opacity: 1; } }
    @media screen and (max-width: 768px) {
      .labo_mv_logo {
        width: 26rem;
        margin-left: -13rem;
        top: 2rem; } }
  .labo_mv_ttl {
    position: absolute;
    z-index: 2;
    left: 27%;
    width: 84rem;
    top: 4rem; }
    @media screen and (max-width: 768px) {
      .labo_mv_ttl {
        width: 87%;
        left: 11%;
        top: .5rem; } }
  .labo_mv_btm {
    position: absolute;
    z-index: 1;
    bottom: -.1rem; }
  .labo_mv_theme {
    position: absolute;
    z-index: 3;
    width: 25rem;
    top: 23rem;
    right: 14rem; }
    @media screen and (max-width: 768px) {
      .labo_mv_theme {
        width: 13rem;
        right: 50%;
        top: 18rem;
        margin-right: -6.5rem; } }
  .labo_mv_img01 {
    position: absolute;
    z-index: 1;
    left: 2%;
    width: 44rem;
    top: 2rem; }
    @media screen and (max-width: 768px) {
      .labo_mv_img01 {
        width: 64%;
        top: auto;
        bottom: 12rem;
        left: -2%; } }
    @media screen and (max-width: 768px) {
      .labo_mv_img01 img {
        transform: rotate(7deg); } }
  .labo_mv_img02 {
    position: absolute;
    z-index: 1;
    width: 100%;
    bottom: 0;
    left: 0; }
.labo_menu {
  background: #fff000;
  padding: 5rem 0; }
  @media screen and (max-width: 768px) {
    .labo_menu {
      padding: 7% 0; } }
  .labo_menu .labo_sec03_month {
    width: 75rem;
    margin: 0 auto 3rem; }
    @media screen and (max-width: 768px) {
      .labo_menu .labo_sec03_month {
        width: 92%;
        margin: 0 auto 2rem; } }
  .labo_menu .labo_menu_wrap {
    width: 85rem;
    margin: 0 auto 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem 1.8%; }
    @media screen and (max-width: 768px) {
      .labo_menu .labo_menu_wrap {
        width: 92%;
        margin: 0 auto; } }
    .labo_menu .labo_menu_wrap li {
      width: 32%; }
      .labo_menu .labo_menu_wrap li.img_link {
        width: 100%;
        line-height: 0; }
        .labo_menu .labo_menu_wrap li.img_link img {
          border-radius: 1rem; }
    .labo_menu .labo_menu_wrap_btn {
      box-sizing: border-box;
      font-weight: 700;
      opacity: 1;
      transition: all .2s ease-in-out;
      position: relative;
      color: #fff;
      background: #33A1DC;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      width: 100%;
      height: 8rem;
      border-radius: 1rem;
      border: 3px solid #FFF;
      font-size: 3.8rem;
      padding-right: 1.5rem; }
      @media screen and (max-width: 768px) {
        .labo_menu .labo_menu_wrap_btn {
          transition: none; } }
      .labo_menu .labo_menu_wrap_btn:hover, .labo_menu .labo_menu_wrap_btn:hover img {
        opacity: .6; }
        @media screen and (max-width: 768px) {
          .labo_menu .labo_menu_wrap_btn:hover, .labo_menu .labo_menu_wrap_btn:hover img {
            opacity: 1; } }
      @media screen and (max-width: 768px) {
        .labo_menu .labo_menu_wrap_btn {
          height: 6.3rem;
          font-size: 2.4rem;
          border-width: 3px; } }
      .labo_menu .labo_menu_wrap_btn::after {
        content: "";
        position: absolute;
        display: block;
        transform: rotate(45deg);
        top: 50%;
        width: 1.5rem;
        height: 1.5rem;
        border-bottom: 3px solid #FFF;
        border-right: 3px solid #FFF;
        right: 2.8rem;
        margin-top: -1rem; }
        @media screen and (max-width: 768px) {
          .labo_menu .labo_menu_wrap_btn::after {
            width: .7rem;
            height: .7rem;
            right: 1.8rem;
            margin-top: -.7rem; } }
  .labo_menu_btn {
    box-sizing: border-box;
    font-weight: 700;
    opacity: 1;
    transition: all .2s ease-in-out;
    position: relative;
    color: #33A1DC;
    background: #F6FF00;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 75rem;
    height: 10rem;
    border-radius: 1rem;
    border: 4px solid #33A1DC;
    font-size: 3.8rem; }
    @media screen and (max-width: 768px) {
      .labo_menu_btn {
        transition: none; } }
    .labo_menu_btn:hover, .labo_menu_btn:hover img {
      opacity: .6; }
      @media screen and (max-width: 768px) {
        .labo_menu_btn:hover, .labo_menu_btn:hover img {
          opacity: 1; } }
    @media screen and (max-width: 768px) {
      .labo_menu_btn {
        width: 92%;
        height: 7rem;
        font-size: 2.4rem;
        border-width: 3px; } }
    .labo_menu_btn::after {
      content: "";
      position: absolute;
      display: block;
      transform: rotate(45deg);
      top: 50%;
      width: 1.5rem;
      height: 1.5rem;
      border-bottom: 3px solid #33A1DC;
      border-right: 3px solid #33A1DC;
      right: 4rem;
      margin-top: -1rem; }
      @media screen and (max-width: 768px) {
        .labo_menu_btn::after {
          width: 1.2rem;
          height: 1.2rem;
          right: 2rem; } }
    .labo_menu_btn:not(:last-child) {
      margin-bottom: 2rem; }
      @media screen and (max-width: 768px) {
        .labo_menu_btn:not(:last-child) {
          margin-bottom: 1rem; } }
.labo_ttl {
  font-weight: 700;
  background: #33A1DC;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 15rem;
  font-size: 3.8rem;
  line-height: 120%;
  position: relative; }
  @media screen and (max-width: 768px) {
    .labo_ttl {
      font-size: 2.2rem;
      height: 10rem; } }
  .labo_ttl span {
    color: #F6FF00; }
  .labo_ttl_img {
    width: 3.7rem;
    margin-right: 1.5rem; }
    @media screen and (max-width: 768px) {
      .labo_ttl_img {
        width: 2.5rem;
        margin-right: 1rem; } }
  .labo_ttl_menu {
    font-weight: 700;
    position: relative;
    background: #004097;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 20rem;
    font-size: 3.8rem;
    line-height: 120%; }
    @media screen and (max-width: 768px) {
      .labo_ttl_menu {
        font-size: 2.2rem;
        height: 13rem;
        line-height: 1.4em; } }
    .labo_ttl_menu_img {
      position: absolute;
      bottom: -10rem;
      left: 29rem;
      width: 16rem;
      z-index: 2; }
      @media screen and (max-width: 768px) {
        .labo_ttl_menu_img {
          display: none; } }
  .labo_ttl.large {
    background: #004097;
    font-size: 4.8rem; }
    @media screen and (max-width: 768px) {
      .labo_ttl.large {
        font-size: 2.8rem; } }
.labo_cv {
  font-weight: 700;
  opacity: 1;
  transition: all .2s ease-in-out;
  position: relative;
  color: #33A1DC;
  background: #F6FF00;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  width: 60rem;
  height: 10rem;
  border-radius: 1rem;
  border: 4px solid #33A1DC;
  font-size: 3.8rem; }
  @media screen and (max-width: 768px) {
    .labo_cv {
      transition: none; } }
  .labo_cv:hover, .labo_cv:hover img {
    opacity: .6; }
    @media screen and (max-width: 768px) {
      .labo_cv:hover, .labo_cv:hover img {
        opacity: 1; } }
  @media screen and (max-width: 768px) {
    .labo_cv {
      width: 100%;
      height: 7rem;
      font-size: 2.4rem;
      border-width: 3px; } }
  .labo_cv::after {
    content: "";
    position: absolute;
    display: block;
    transform: rotate(45deg);
    top: 50%;
    width: 1.5rem;
    height: 1.5rem;
    border-top: 3px solid #33A1DC;
    border-right: 3px solid #33A1DC;
    right: 4rem;
    margin-top: -1rem; }
    @media screen and (max-width: 768px) {
      .labo_cv::after {
        width: 1.2rem;
        height: 1.2rem;
        right: 2rem;
        margin-top: -.75rem; } }
.labo_sec01 {
  overflow: hidden;
  position: relative; }
  .labo_sec01_bg {
    background-repeat: no-repeat;
    background-image: url(../img/bg01-tl.webp), url(../img/bg01-tr.webp), url(../img/bg01-bl.webp), url(../img/bg01-br.webp);
    background-position: 0 0,100% 0,0 100%,100% 100%;
    background-size: 50rem,50rem,50rem,50rem;
    padding: 15rem 0; }
    @media screen and (max-width: 768px) {
      .labo_sec01_bg {
        background-size: 60%;
        padding: 8rem 0 13rem;
        background-size: 40%,50%,38%,50%; } }
  .labo_sec01_mv {
    margin: auto;
    padding: 0 0 10rem;
    width: 50vw;
    z-index: 10;
    position: relative; }
    @media screen and (max-width: 768px) {
      .labo_sec01_mv {
        padding: 0 0 5rem;
        width: 90vw; } }
    .labo_sec01_mv iframe {
      aspect-ratio: 16 / 9;
      width: 100%;
      height: auto; }
  .labo_sec01_txt {
    font-weight: 700;
    text-align: center;
    font-size: 2.3rem;
    line-height: 2; }
    @media screen and (max-width: 768px) {
      .labo_sec01_txt {
        font-size: 2rem;
        line-height: 1.7; } }
    .labo_sec01_txt span {
      font-size: 130%;
      color: #e3007f;
      font-weight: 900;
      letter-spacing: -.05em;
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 50%, #fff000 50%); }
      .labo_sec01_txt span i {
        font-size: 80%;
        font-style: normal; }
  .labo_sec01_img {
    position: absolute;
    z-index: 1; }
    .labo_sec01_img._img01 {
      width: 27rem;
      right: 11rem;
      bottom: 5rem; }
      @media screen and (max-width: 768px) {
        .labo_sec01_img._img01 {
          width: 11rem;
          right: 1rem;
          bottom: 2rem; } }
    .labo_sec01_img._img02 {
      width: 42.4rem;
      left: -5rem;
      bottom: 4rem; }
      @media screen and (max-width: 768px) {
        .labo_sec01_img._img02 {
          width: 20rem;
          bottom: 0rem;
          left: -7rem; } }
    .labo_sec01_img._img03 {
      width: 36rem;
      left: -2rem;
      top: 18rem; }
      @media screen and (max-width: 768px) {
        .labo_sec01_img._img03 {
          width: 15rem;
          top: 2rem; } }
    .labo_sec01_img._img04 {
      width: 32.4rem;
      right: -2rem;
      bottom: 25rem; }
      @media screen and (max-width: 768px) {
        .labo_sec01_img._img04 {
          width: 15rem;
          bottom: 2rem; } }
.labo_sec02 {
  position: relative;
  background: #fff000; }
  .labo_sec02::after {
    content: "";
    z-index: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #fff000 transparent transparent transparent;
    position: absolute;
    left: 50%;
    border-width: 10rem 11rem 0 11rem;
    bottom: -9rem;
    margin-left: -11rem; }
    @media screen and (max-width: 768px) {
      .labo_sec02::after {
        border-width: 4rem 5rem 0 5rem;
        bottom: -3.8rem;
        margin-left: -5rem; } }
  .labo_sec02_img {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 4rem 0 0;
    width: 100rem; }
    @media screen and (max-width: 768px) {
      .labo_sec02_img {
        width: 92%; } }
.labo_sec03_bk {
  padding: 13rem 0 7rem;
  background-repeat: no-repeat;
  background-image: url(../img/bg02-tl.webp), url(../img/bg02-tr.webp), url(../img/bg02-bl.webp), url(../img/bg02-br.webp);
  background-position: 0 0,100% 0,0 100%,100% 100%;
  background-size: 25rem,25rem,42rem,50rem; }
  @media screen and (max-width: 768px) {
    .labo_sec03_bk {
      padding: 9rem 0 5rem;
      background-size: 25%,25%,40%,50%; } }
.labo_sec03_ttl {
  font-weight: 700;
  text-align: center;
  color: #333;
  font-size: 5.5rem;
  line-height: 120%;
  padding-bottom: 5rem; }
  @media screen and (max-width: 768px) {
    .labo_sec03_ttl {
      font-size: 3.6rem;
      padding-bottom: 3rem; } }
  .labo_sec03_ttl span.pink {
    color: #e3007f; }
  .labo_sec03_ttl span.min {
    font-size: 4rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_ttl span.min {
        font-size: 2rem; } }
  .labo_sec03_ttl_img01 {
    position: absolute;
    width: 29rem;
    top: -4.5rem;
    right: -4rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_ttl_img01 {
        width: 10rem;
        top: 3rem;
        right: -3rem; } }
  .labo_sec03_ttl_img02 {
    position: absolute;
    width: 11rem;
    top: -6rem;
    left: 16rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_ttl_img02 {
        width: 5rem;
        top: -3rem;
        left: 0.5rem; } }
.labo_sec03_month {
  font-weight: 700;
  background: #33A1DC;
  color: #FFF;
  text-align: center;
  border-radius: 1rem;
  font-size: 3.4rem;
  line-height: 1.2em;
  letter-spacing: 0.02em;
  margin-top: 4rem;
  padding: 1.3rem 0; }
  @media screen and (max-width: 768px) {
    .labo_sec03_month {
      font-size: 2.8rem;
      margin-top: 3rem; } }
.labo_sec03_sche {
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 3rem 0; }
  @media screen and (max-width: 768px) {
    .labo_sec03_sche {
      display: block;
      margin: 2rem 0 3rem; } }
  .labo_sec03_sche_img {
    width: 41rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_sche_img {
        width: 80%;
        margin: 3rem auto 0; } }
  .labo_sec03_sche_desc {
    order: 2;
    width: 54rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_sche_desc {
        width: auto;
        text-align: center; } }
  .labo_sec03_sche_date {
    color: #33A1DC;
    font-size: 4rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_sche_date {
        font-size: 2.8rem; } }
    .labo_sec03_sche_date span {
      font-size: 6rem; }
      @media screen and (max-width: 768px) {
        .labo_sec03_sche_date span {
          font-size: 4rem; } }
      .labo_sec03_sche_date span._time {
        font-size: 3rem;
        margin-left: 1rem; }
        @media screen and (max-width: 768px) {
          .labo_sec03_sche_date span._time {
            font-size: 2.4rem; } }
  .labo_sec03_sche_ttl {
    font-size: 4rem;
    margin-top: 1rem;
    letter-spacing: 0.06em;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .labo_sec03_sche_ttl {
        font-weight: 800;
        font-size: 2.8rem; } }
  .labo_sec03_sche_free {
    display: inline-block;
    background: #F6FF00;
    font-size: 3rem;
    margin-top: 2rem;
    padding: 1rem;
    border-radius: 1rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_sche_free {
        font-size: 2.8rem; } }
  .labo_sec03_sche_txt {
    margin-top: 2rem;
    font-size: 2rem;
    line-height: 150%; }
  .labo_sec03_sche_school {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_sche_school {
        justify-content: center; } }
    .labo_sec03_sche_school_box {
      background: #D7F1FF;
      font-size: 2rem;
      margin: 1rem 1rem 0 0;
      padding: .5rem; }
.labo_sec03_cv {
  width: 60%;
  margin: 0 auto 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem; }
  @media screen and (max-width: 768px) {
    .labo_sec03_cv {
      width: 100%;
      font-size: 2.8rem; } }
  .labo_sec03_cv_btn {
    font-weight: 700;
    opacity: 1;
    transition: all .2s ease-in-out;
    position: relative;
    color: #33A1DC;
    background: #F6FF00;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
    height: 10rem;
    border-radius: 1rem;
    border: 4px solid #33A1DC;
    font-size: 3.8rem; }
    @media screen and (max-width: 768px) {
      .labo_sec03_cv_btn {
        transition: none; } }
    .labo_sec03_cv_btn:hover, .labo_sec03_cv_btn:hover img {
      opacity: .6; }
      @media screen and (max-width: 768px) {
        .labo_sec03_cv_btn:hover, .labo_sec03_cv_btn:hover img {
          opacity: 1; } }
    @media screen and (max-width: 768px) {
      .labo_sec03_cv_btn {
        width: 100%;
        height: 7rem;
        font-weight: 900;
        font-size: 2.4rem;
        border-width: 3px; } }
    .labo_sec03_cv_btn::after {
      content: "";
      position: absolute;
      display: block;
      transform: rotate(45deg);
      top: 50%;
      width: 1.5rem;
      height: 1.5rem;
      border-top: 3px solid #33A1DC;
      border-right: 3px solid #33A1DC;
      right: 3rem;
      margin-top: -1rem; }
      @media screen and (max-width: 768px) {
        .labo_sec03_cv_btn::after {
          width: 1.2rem;
          height: 1.2rem;
          right: 2rem;
          margin-top: -.75rem; } }
.labo_sec04 {
  background: #D7F1FF;
  padding: 5rem 0 8rem; }
  @media screen and (max-width: 768px) {
    .labo_sec04 {
      padding: 7% 0; } }
  .labo_sec04_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8rem 0; }
    @media screen and (max-width: 768px) {
      .labo_sec04_list {
        gap: 5rem 0; } }
    .labo_sec04_list_inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 2rem 0;
      padding-top: 1rem; }
      @media screen and (max-width: 768px) {
        .labo_sec04_list_inner {
          gap: 1.5rem 0; } }
    .labo_sec04_list_box {
      width: 47.5%; }
      @media screen and (max-width: 768px) {
        .labo_sec04_list_box {
          width: 100%; } }
      .labo_sec04_list_box.inner {
        display: flex;
        flex-wrap: wrap; }
    .labo_sec04_list_imgbox {
      width: 100%; }
      .labo_sec04_list_imgbox h3 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center; }
        .labo_sec04_list_imgbox h3 img[src*="ttl"] {
          width: 30%; }
        .labo_sec04_list_imgbox h3 img[src*="-img"] {
          border-radius: 1rem; }
    .labo_sec04_list_note {
      margin-top: -4rem;
      width: 100%;
      text-align: right;
      font-size: 1.8rem; }
      @media screen and (max-width: 768px) {
        .labo_sec04_list_note {
          margin-top: -2rem;
          font-size: 1.4rem; } }
    .labo_sec04_list_img {
      overflow: hidden;
      border-radius: 1rem; }
    .labo_sec04_list_ttl {
      font-weight: 700;
      text-align: center;
      font-size: 2.2rem;
      padding: 2rem 0 0; }
    .labo_sec04_list_subttl {
      font-weight: 700;
      text-align: center;
      font-size: 2.4rem;
      line-height: 1.2;
      padding: 0.7rem 0 2rem; }
    .labo_sec04_list_class {
      width: 100%;
      position: relative;
      font-weight: 700;
      background: #33A1DC;
      color: #FFF;
      text-align: center;
      border-radius: 1rem;
      font-size: 3.4rem;
      line-height: 1.2em;
      letter-spacing: 0.02em;
      margin: auto 0;
      padding: 1.3rem 0; }
      @media screen and (max-width: 768px) {
        .labo_sec04_list_class {
          width: 100%;
          font-size: 2.4rem;
          letter-spacing: 0.2em; } }
      .labo_sec04_list_class img {
        position: absolute;
        width: auto;
        height: 5rem;
        top: 50%;
        transform: translateY(-50%);
        left: 2rem; }
        @media screen and (max-width: 768px) {
          .labo_sec04_list_class img {
            height: 4rem; } }
    .labo_sec04_list_txt {
      text-align: justify;
      font-size: 1.8rem;
      line-height: 170%; }
      @media screen and (max-width: 768px) {
        .labo_sec04_list_txt {
          padding-top: 2rem;
          font-size: 1.6rem;
          line-height: 160%; } }
    .labo_sec04_list_subjectbox {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 0 .6rem; }
      .labo_sec04_list_subjectbox h4 {
        font-weight: 700;
        position: relative;
        color: #33A1DC;
        background: #F6FF00;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 1rem;
        font-size: 2.8rem;
        width: 8rem;
        padding: 1.3rem 0; }
        @media screen and (max-width: 768px) {
          .labo_sec04_list_subjectbox h4 {
            font-size: 1.8rem;
            width: 6rem; } }
      .labo_sec04_list_subjectbox p {
        font-size: 1.7rem;
        line-height: 170%;
        width: calc(100% - 8.6rem);
        margin: auto 0; }
        @media screen and (max-width: 768px) {
          .labo_sec04_list_subjectbox p {
            width: calc(100% - 6.6rem);
            font-size: 1.5rem;
            font-weight: 700; } }
        .labo_sec04_list_subjectbox p span.science {
          display: inline-block;
          background: #33A1DC;
          color: #fff;
          font-weight: 700;
          padding: 0 2.2rem .2rem;
          letter-spacing: .1em; }
.labo_sec05 {
  position: relative; }
  .labo_sec05_ttl {
    font-weight: 700;
    text-align: center;
    background: #33A1DC;
    color: #FFF;
    font-size: 2.3rem;
    padding: 3rem 0; }
    .labo_sec05_ttl span {
      display: block;
      color: #F6FF00;
      line-height: 120%;
      font-size: 3.8rem;
      margin-top: .5rem; }
  .labo_sec05_bg {
    background-repeat: no-repeat;
    background-image: url(../img/bg03.png), url(../img/bg04.png);
    background-position: 100% 0,0 100%;
    background-size: 44.4rem,45.3rem;
    padding: 7rem 0; }
    @media screen and (max-width: 768px) {
      .labo_sec05_bg {
        background-size: 60%;
        padding: 15rem 0; } }
  .labo_sec05_txt {
    font-weight: 700;
    text-align: center;
    font-size: 2.3rem;
    line-height: 2; }
    @media screen and (max-width: 768px) {
      .labo_sec05_txt {
        font-size: 1.8rem; } }
    .labo_sec05_txt span {
      background: #F6FF00; }
  .labo_sec05_teac {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12rem; }
    @media screen and (max-width: 768px) {
      .labo_sec05_teac {
        display: block;
        margin-top: 10rem; } }
    .labo_sec05_teac_img {
      overflow: hidden;
      border-radius: 1rem;
      width: 40rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_teac_img {
          width: 60%;
          margin: 0 auto; } }
    .labo_sec05_teac_bal {
      position: absolute;
      z-index: 1;
      top: -5rem;
      left: -5rem;
      width: 25.3rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_teac_bal {
          width: 20rem;
          left: 0;
          top: -4rem; } }
    .labo_sec05_teac_desc {
      width: 55rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_teac_desc {
          width: auto; } }
    .labo_sec05_teac_name {
      font-weight: 700;
      font-size: 3.2rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_teac_name {
          text-align: center;
          font-size: 2.4rem;
          margin-top: 2rem; } }
      .labo_sec05_teac_name span {
        font-size: 3.8rem; }
        @media screen and (max-width: 768px) {
          .labo_sec05_teac_name span {
            font-size: 2.8rem; } }
    .labo_sec05_teac_txt {
      text-align: justify;
      font-size: 2rem;
      line-height: 170%;
      margin-top: 2rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_teac_txt {
          font-size: 1.8rem; } }
  .labo_sec05_img {
    position: absolute; }
    .labo_sec05_img._img01 {
      width: 27.6rem;
      top: 0;
      left: 3.5rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_img._img01 {
          width: 13rem;
          left: 0;
          top: -4rem; } }
    .labo_sec05_img._img02 {
      width: 29.6rem;
      top: 16.7rem;
      right: 6.5rem; }
      @media screen and (max-width: 768px) {
        .labo_sec05_img._img02 {
          width: 15rem;
          right: -2rem;
          top: 71rem; } }
.labo_sec06 {
  padding: 7rem 0; }
  @media screen and (max-width: 768px) {
    .labo_sec06 {
      padding: 7% 0; } }
  .labo_sec06_ttl-img {
    position: absolute;
    top: -14rem;
    left: 18rem;
    width: 29rem; }
    @media screen and (max-width: 768px) {
      .labo_sec06_ttl-img {
        display: none; } }
  .labo_sec06_list {
    position: relative;
    width: 80rem;
    margin: 0 auto 5rem; }
    @media screen and (max-width: 768px) {
      .labo_sec06_list {
        width: auto;
        margin: 0 auto 3rem; } }
    .labo_sec06_list::after {
      content: "";
      display: block;
      background: #33A1DC;
      position: absolute;
      z-index: 1;
      left: 50%;
      top: 0;
      margin-left: -1rem;
      width: 2rem;
      height: 100%; }
    .labo_sec06_list_step {
      box-sizing: border-box;
      font-weight: 700;
      color: #33A1DC;
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
      background: url(../img/step_bal.svg) no-repeat 0 0;
      background-size: 100%;
      width: 11.8rem;
      height: 5.7rem;
      top: -2rem;
      left: -2rem;
      font-size: 2.3rem;
      padding-bottom: 1.5rem; }
      @media screen and (max-width: 768px) {
        .labo_sec06_list_step {
          left: -1rem; } }
    .labo_sec06_list_box {
      position: relative;
      z-index: 2;
      background: #D7F1FF;
      border-radius: 1rem;
      display: flex;
      align-items: center;
      padding: 3rem 5rem; }
      @media screen and (max-width: 768px) {
        .labo_sec06_list_box {
          padding: 7% 4%; } }
      .labo_sec06_list_box:not(:last-child) {
        margin-bottom: 5rem; }
    .labo_sec06_list_img {
      width: 15rem; }
      @media screen and (max-width: 768px) {
        .labo_sec06_list_img {
          width: 25%; } }
    .labo_sec06_list_txt {
      font-size: 2rem;
      line-height: 170%;
      margin-left: 3rem; }
      @media screen and (max-width: 768px) {
        .labo_sec06_list_txt {
          font-size: 1.8rem;
          margin-left: 4%;
          width: 71%; } }
.labo_sec07 {
  background: #D7F1FF;
  padding: 7rem 0; }
  @media screen and (max-width: 768px) {
    .labo_sec07 {
      padding: 7% 0; } }
  .labo_sec07_table {
    margin: 0 auto 3rem; }
    .labo_sec07_table th, .labo_sec07_table td {
      font-weight: 700;
      line-height: 1.15em;
      border-bottom: 1px solid #33A1DC;
      font-size: 2.6rem;
      padding: 1.3rem 2rem; }
      .labo_sec07_table th span, .labo_sec07_table td span {
        font-size: 75%; }
      @media screen and (max-width: 768px) {
        .labo_sec07_table th, .labo_sec07_table td {
          font-size: 2rem;
          padding: 1.1rem 1.5rem; } }
  .labo_sec07_txt {
    text-align: center;
    font-size: 2rem;
    line-height: 170%;
    margin-bottom: 3rem; }
    @media screen and (max-width: 768px) {
      .labo_sec07_txt {
        font-size: 1.8rem;
        margin-bottom: 2rem; } }
  .labo_sec07_next {
    font-weight: 700;
    width: 100%;
    text-align: center;
    background: #F6FF00;
    color: #33A1DC;
    border-radius: 1rem;
    font-size: 3.8rem;
    padding: 1rem 0 2rem; }
    @media screen and (max-width: 768px) {
      .labo_sec07_next {
        font-size: 2rem;
        line-height: 1.3;
        padding: 1rem 0 1.5rem; } }
    .labo_sec07_next span {
      font-size: 5rem; }
      @media screen and (max-width: 768px) {
        .labo_sec07_next span {
          font-size: 2.8rem; } }
  .labo_sec07_school {
    margin: 1rem 0 3rem;
    padding-top: 1.5rem; }
    .labo_sec07_school h3 {
      font-weight: 700;
      text-align: center;
      color: #FFF;
      background: #33A1DC;
      border-radius: 1rem;
      font-size: 3.2rem;
      letter-spacing: 0.05em;
      padding: 1rem; }
      @media screen and (max-width: 768px) {
        .labo_sec07_school h3 {
          font-size: 2.4rem; } }
    .labo_sec07_school h4 {
      font-weight: 700;
      font-size: 2.6rem;
      padding: 2rem 1rem .5rem; }
    .labo_sec07_school li a {
      position: relative;
      display: block;
      background: #fff;
      font-size: 2rem;
      margin: 1rem 0 0;
      padding: .65rem 4rem .65rem 1.5rem;
      border-radius: .5rem;
      transition: .2s; }
      @media screen and (max-width: 768px) {
        .labo_sec07_school li a {
          font-size: 1.6rem;
          line-height: 1.2em; } }
      .labo_sec07_school li a::after {
        content: "";
        position: absolute;
        display: block;
        transform: rotate(45deg);
        top: 50%;
        width: 1rem;
        height: 1rem;
        border-top: 2px solid #33A1DC;
        border-right: 2px solid #33A1DC;
        right: 1.5rem;
        margin-top: -.5rem; }
      .labo_sec07_school li a:hover {
        opacity: .6; }
.labo_sec08 {
  padding: 5rem 0 7rem; }
  @media screen and (max-width: 768px) {
    .labo_sec08 {
      padding: 7% 0 2%; } }
  .labo_sec08_list {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      .labo_sec08_list {
        flex-wrap: wrap; } }
    @media screen and (max-width: 768px) {
      .labo_sec08_list_box {
        width: 48%;
        margin-bottom: 5%; } }
    .labo_sec08_list_box:not(:last-child) {
      margin-right: 4rem; }
      @media screen and (max-width: 768px) {
        .labo_sec08_list_box:not(:last-child) {
          margin-right: 0; } }
    @media screen and (max-width: 768px) {
      .labo_sec08_list_box:not(:nth-child(2n)) {
        margin-right: 4%; } }
    .labo_sec08_list_txt {
      text-align: justify;
      font-size: 1.6rem;
      line-height: 150%;
      margin-top: 1.5rem; }
.labo_sec09 {
  background: #9FD8F6;
  padding: 10rem 0 7rem; }
  @media screen and (max-width: 768px) {
    .labo_sec09 {
      padding: 10% 0; } }
  .labo_sec09_cont {
    background: #FFF;
    border-radius: 1rem;
    padding: 0 5rem 5rem; }
    @media screen and (max-width: 768px) {
      .labo_sec09_cont {
        padding: 0 4% 10%; } }
  .labo_sec09_catch {
    position: relative;
    top: -6rem; }
    @media screen and (max-width: 768px) {
      .labo_sec09_catch {
        top: -4rem; } }
  .labo_sec09_ttl {
    font-weight: 700;
    text-align: center;
    color: #FFF;
    background: #33A1DC;
    border-radius: 1rem;
    font-size: 3.2rem;
    padding: 1rem;
    margin-top: -3rem; }
    @media screen and (max-width: 768px) {
      .labo_sec09_ttl {
        font-size: 2.4rem;
        margin-top: -2rem; } }
  .labo_sec09_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem; }
    @media screen and (max-width: 768px) {
      .labo_sec09_box {
        display: block;
        margin-top: 5rem; } }
  .labo_sec09_img {
    position: relative;
    width: 35rem; }
    @media screen and (max-width: 768px) {
      .labo_sec09_img {
        width: 80%;
        margin: 0 auto; } }
  .labo_sec09_bal {
    position: absolute;
    width: 29.4rem;
    top: -7rem;
    left: -7rem; }
    @media screen and (max-width: 768px) {
      .labo_sec09_bal {
        width: 20rem;
        top: -4rem;
        left: -2rem; } }
  .labo_sec09_txt {
    width: 52rem;
    font-size: 2rem;
    line-height: 170%; }
    @media screen and (max-width: 768px) {
      .labo_sec09_txt {
        width: auto;
        font-size: 1.8rem;
        margin-top: 2rem; } }
  .labo_sec09_name {
    font-weight: 700;
    text-align: center;
    font-size: 1.8rem;
    margin-top: 2rem; }
.labo_sec10 {
  background-repeat: no-repeat;
  background-image: url(../img/bg05.png), url(../img/bg06.png);
  background-position: 0 0,100% 100%;
  background-size: 51rem;
  padding: 5rem 0 7rem; }
  @media screen and (max-width: 768px) {
    .labo_sec10 {
      padding: 7% 0 10%;
      background-size: 60%; } }
  .labo_sec10 .labo_sec04_list {
    margin-bottom: 5rem; }
    @media screen and (max-width: 768px) {
      .labo_sec10 .labo_sec04_list {
        margin-bottom: 3rem; } }
.labo_sec11 {
  background: #D7F1FF;
  padding: 7rem 0; }
  @media screen and (max-width: 768px) {
    .labo_sec11 {
      padding: 7% 0; } }
  .labo_sec11_list_box {
    background: #FFF;
    border-radius: 1rem;
    padding: 2.5rem 3rem; }
    .labo_sec11_list_box:not(:last-child) {
      margin-bottom: 2rem; }
  .labo_sec11_list_tgl {
    position: relative;
    cursor: pointer;
    opacity: 1;
    transition: all .2s ease-in-out;
    font-weight: 700;
    color: #33A1DC;
    font-size: 2.2rem; }
    @media screen and (max-width: 768px) {
      .labo_sec11_list_tgl {
        transition: none; } }
    .labo_sec11_list_tgl:hover, .labo_sec11_list_tgl:hover img {
      opacity: .6; }
      @media screen and (max-width: 768px) {
        .labo_sec11_list_tgl:hover, .labo_sec11_list_tgl:hover img {
          opacity: 1; } }
    .labo_sec11_list_tgl._active::after {
      transform: rotate(225deg);
      margin-top: -.5rem; }
    .labo_sec11_list_tgl::after {
      content: "";
      position: absolute;
      display: block;
      transform: rotate(45deg);
      top: 50%;
      width: 1.2rem;
      height: 1.2rem;
      border-bottom: 3px solid #33A1DC;
      border-right: 3px solid #33A1DC;
      right: 0;
      margin-top: -1rem; }
  .labo_sec11_list_sub {
    display: none;
    margin-top: 2rem; }
    .labo_sec11_list_sub_box {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid #D9D9D9;
      font-size: 1.8rem;
      line-height: 170%;
      padding: 2rem 0; }
      @media screen and (max-width: 768px) {
        .labo_sec11_list_sub_box {
          display: block; } }
      .labo_sec11_list_sub_box:last-child {
        padding-bottom: 0; }
  .labo_sec11_list_name {
    font-weight: 700;
    color: #33A1DC;
    text-decoration: underline;
    width: 25%; }
    @media screen and (max-width: 768px) {
      .labo_sec11_list_name {
        width: auto; } }
    .labo_sec11_list_name:hover {
      text-decoration: none; }
  .labo_sec11_list_add {
    width: 55%; }
    @media screen and (max-width: 768px) {
      .labo_sec11_list_add {
        width: auto; } }
  .labo_sec11_list_tel {
    font-weight: 700;
    text-align: right;
    pointer-events: none;
    box-sizing: border-box;
    width: 20%;
    padding-right: 4rem; }
    @media screen and (max-width: 768px) {
      .labo_sec11_list_tel {
        pointer-events: inherit;
        width: auto; } }
.labo_footer {
  padding: 3rem 0 15rem; }
  .labo_footer_logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 3rem; }
    .labo_footer_logo_box {
      opacity: 1;
      transition: all .2s ease-in-out;
      margin: 0 2rem; }
      @media screen and (max-width: 768px) {
        .labo_footer_logo_box {
          transition: none; } }
      .labo_footer_logo_box:hover, .labo_footer_logo_box:hover img {
        opacity: .6; }
        @media screen and (max-width: 768px) {
          .labo_footer_logo_box:hover, .labo_footer_logo_box:hover img {
            opacity: 1; } }
      @media screen and (max-width: 768px) {
        .labo_footer_logo_box {
          margin: 0 .5rem; } }
  .labo_footer_copy {
    text-align: center;
    font-size: 1.4rem; }
.labo_fixed {
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(51, 161, 220, 0.9); }
  .labo_fixed_box {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    padding: 2rem 0; }
    @media screen and (max-width: 768px) {
      .labo_fixed_box {
        gap: .5rem; } }
  .labo_fixed_date {
    text-align: right;
    font-weight: 700;
    color: #FFF;
    font-size: 2.4rem;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .labo_fixed_date {
        width: 100%;
        text-align: center;
        margin: 0 0 .5rem;
        font-size: 1.8rem; } }
    .labo_fixed_date span {
      font-size: 3.6rem; }
      @media screen and (max-width: 768px) {
        .labo_fixed_date span {
          font-size: 2.6rem; } }
  .labo_fixed .fixed_labo_cv {
    font-weight: 700;
    opacity: 1;
    transition: all .2s ease-in-out;
    position: relative;
    color: #33A1DC;
    background: #F6FF00;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34rem;
    height: 7rem;
    border-radius: 1rem;
    border: 4px solid #33A1DC;
    font-size: 2.5rem;
    letter-spacing: -.05rem;
    margin: 0; }
    .labo_fixed .fixed_labo_cv:hover {
      opacity: .7; }
    @media screen and (max-width: 768px) {
      .labo_fixed .fixed_labo_cv {
        width: calc((100% - 2.9rem - 16px)/ 2);
        height: 5rem;
        font-size: 2.4rem;
        padding-right: 1.2rem; }
        .labo_fixed .fixed_labo_cv:hover {
          opacity: 1; } }
    .labo_fixed .fixed_labo_cv::after {
      content: "";
      position: absolute;
      display: block;
      transform: rotate(45deg);
      top: 50%;
      width: 1.5rem;
      height: 1.5rem;
      border-top: 3px solid #33A1DC;
      border-right: 3px solid #33A1DC;
      right: 2rem;
      margin-top: -.85rem; }
