@charset "UTF-8";
/* CSS Document */
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* indivisual */
a {
  border: none;
  color: inherit;
  text-decoration: underline;
  word-wrap: break-word;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

ul, ol {
  list-style: none none outside;
}

img {
  display: block;
  border: none;
}

body {
  height: 100%;
  font-family: "ヒラギノ角ゴ ProN W5", "HiraKakuProN-W5", "ヒラギノ角ゴ Pro W5", "HiraKakuPro-W5", "Noto Sans JP", sans-serif;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #000;
  text-align: justify;
}

img {
  max-width: 100%;
  height: auto;
}

@media only screen and (min-width: 769px) {
  .cm_flex {
    display: flex;
  }
}

.check0 {
  pointer-events: none;
}
.check0::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid red;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
.check0::after {
  content: "";
  display: block;
  color: #fff;
  padding: 0.25em;
  background: red;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  transform: translateY(-100%);
}

.cm_link {
  display: block;
  width: 100%;
  height: 7.0625rem;
  text-decoration: none;
  background: #DA4B29;
  border-radius: 2.625rem 0 2.625rem 0;
  position: relative;
  transition: 0.5s;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .cm_link {
    height: 4.2857142857rem;
    border-radius: 1.4285714286rem 0 1.4285714286rem 0;
  }
}
.cm_link span {
  display: block;
  color: #FFF;
  font-size: 1.625rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .cm_link span {
    font-size: 1.1428571429rem;
    font-weight: bold;
    padding-right: 1rem;
  }
}
.cm_link::before {
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  background-color: #FFF;
  position: absolute;
  border-radius: 50%;
  top: 50%;
  right: 4.3125rem;
  transform: translateX(50%) translateY(-50%);
  transition: 0.25s;
}
@media only screen and (max-width: 767px) {
  .cm_link::before {
    display: none;
  }
}
.cm_link::after {
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw-r.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 3.375rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .cm_link::after {
    width: 1.9285714286rem;
    height: 1.9285714286rem;
    right: 1.5rem;
  }
}

.cm_link2 {
  display: block;
  width: 15.375rem;
  font-size: 1.125rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.04em;
  text-decoration: none;
  padding: 0 0 1.1875rem;
  position: relative;
  transition: 0.5s;
}
@media only screen and (max-width: 767px) {
  .cm_link2 {
    font-weight: bold;
  }
}
.cm_link2:hover::before {
  transform: scale(1.4, 1.4);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
.cm_link2:hover .border::after {
  transform-origin: right top;
  transform: scale(0, 1);
}
.cm_link2::before {
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  background: #90C030;
  border-radius: 50%;
  position: absolute;
  bottom: 0.875rem;
  right: 0;
}
.cm_link2::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw.svg") center/100% no-repeat;
  position: absolute;
  bottom: 1.4375rem;
  right: 0.9375rem;
  transform: translateX(50%);
  z-index: 2;
}
.cm_link2 img {
  height: 3rem;
}
.cm_link2 .border {
  display: block;
}
.cm_link2 .border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #90C030;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.5s;
}

.cm_h2 {
  font-size: 1.875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  line-height: 1.4;
  padding-left: 3rem;
  margin-top: 7rem;
  background: url("https://www.alba-edu.org/img_2023/green.svg") top 0.6rem left/26px no-repeat;
}
@media only screen and (max-width: 767px) {
  .cm_h2 {
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.16em;
    background-size: 1.4285714286rem;
    background-position: top 0.4rem left;
    padding-left: 2.2857142857rem;
    margin-top: 5rem;
  }
}

.cm_h3 {
  color: #FFF;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-align: center;
  padding: 1.3125rem 1rem;
  background: #90C030;
}
@media only screen and (max-width: 767px) {
  .cm_h3 {
    font-size: 1.2142857143rem;
    font-weight: bold;
    padding: 0.6428571429rem 1rem;
  }
}

@keyframes btnScaleUp {
  from {
    width: 1.875rem;
    height: 1.875rem;
  }
  to {
    width: 200vw;
    height: 200vw;
  }
}
@keyframes btnScaleDown {
  from {
    width: 200vw;
    height: 200vw;
  }
  to {
    width: 1.875rem;
    height: 1.875rem;
  }
}
.contactBnr {
  display: block;
  width: calc(100% - 10rem);
  height: 14.2020497804vw;
  color: #FFF;
  text-decoration: none;
  margin: 6.375rem auto 0;
  background: #DA4B29;
  border-radius: 3.75rem 0 3.75rem 0;
  position: relative;
  overflow: hidden;
}
.contactBnr.activ {
  background: #FAC11B;
}


@media only screen and (max-width: 767px) {
  .contactBnr {
    height: auto;
    width: calc(100% - 40px);
    padding: 2.2857142857rem 1.7142857143rem;
    margin-top: 4.2857142857rem;
    border-radius: 1.2142857143rem 0 1.2142857143rem 0;
  }
}
.contactBnr:hover {
  /*
  background: #FFF;
  transition-delay: 0.3s;

  &::before{

    //transform: translateY(-50%) scale(11000%);

    animation-name: btnScaleUp;
    animation-duration: 0.35s;
    animation-fill-mode: forwards;
  }
  h2,p{
    color: $red;
  }
  */
}
.contactBnr:hover::before {
  transform: translateX(50%) translateY(-50%) scale(150%);
}
.contactBnr::before {
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  background: #FFF;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 6.588579795vw;
  transform: translateX(50%) translateY(-50%);
  transition: 0.25s;
  /*
      animation-name: btnScaleDown;
      animation-duration: 0.35s;
      animation-fill-mode: forwards;
  */
}
@media only screen and (max-width: 767px) {
  .contactBnr::before {
    top: 3.6428571429rem;
    right: 2.3571428571rem;
  }
}
.contactBnr::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/_arwr.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 6.588579795vw;
  transform: translateX(50%) translateY(-50%);
  z-index: 2;
}
.contactBnr.activ::after {
  background: url("https://www.alba-edu.org/img_2025/arw_y.svg") center/100% no-repeat;
}

@media only screen and (max-width: 767px) {
  .contactBnr::after {
    top: 3.6428571429rem;
    right: 2.3571428571rem;
  }
}
.contactBnr h2 {
  position: absolute;
  top: 50%;
  left: 7.7598828697vw;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .contactBnr h2 {
    position: static;
    transform: none;
  }
}
.contactBnr h2 .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 5.1244509517vw;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .contactBnr h2 .en {
    font-size: 3.4285714286rem;
  }
}
.contactBnr h2 .jp {
  display: block;
  font-size: 1.317715959vw;
  font-weight: normal;
  letter-spacing: 0.22em;
  margin-top: 0.75rem;
}
@media only screen and (max-width: 767px) {
  .contactBnr h2 .jp {
    font-size: 1rem;
  }
}
.contactBnr p {
  font-size: 1.317715959vw;
  font-feature-settings: "palt" 1;
  line-height: 1.75;
  letter-spacing: 0.14em;
  position: absolute;
  top: 50%;
  left: 36.6032210835vw;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .contactBnr p {
    position: static;
    font-size: 1rem;
    letter-spacing: 0.1em;
    transform: none;
    margin-top: 2.1428571429rem;
  }
}

.post h1 {
  font-size: 2.1875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-bottom: calc(1.75rem - 0.25em);
  margin: calc(7.5rem - 0.25em) 0 -0.25em;
  border-bottom: 1px solid #E6ECE9;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .post h1 {
    font-size: 1.3571428571rem;
    font-weight: bold;
    margin: calc(5.5rem - 0.25em) 0 0;
  }
}
.post h1 .date {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.0625rem;
  letter-spacing: 0;
  position: absolute;
  top: calc(100% + 1.25rem);
  right: 0;
}
@media only screen and (max-width: 767px) {
  .post h1 .date {
    font-size: 0.8571428571rem;
    top: -2.5rem;
  }
}
.post .category {
  display: flex;
  align-items: center;
  gap: 0 1.5rem;
  margin-top: 1.75rem !important;
  padding-right: 6.25rem;
}
@media only screen and (max-width: 767px) {
  .post .category {
    flex-wrap: wrap;
    padding: 0;
    gap: 1.1428571429rem 1.4285714286rem;
  }
}
.post .category span {
  display: block;
}
.post .category .sort {
  color: #fff;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  font-feature-settings: "palt" 1;
  background: #90C030;
  padding: 0.3125rem 0.5rem;
  line-height: 13px;
}
@media only screen and (max-width: 767px) {
  .post .category .sort {
    font-size: 0.9285714286rem;
  }
}
.post .category .sort.red {
  background: #DA4B29;
}
.post .category .sort.yellow {
  background: #FAC11B;
}
.post .category .sort.dgreen {
  background: #007B43;
}
.post .category .sort.gray {
  background: #808080;
}
.post .category .cat {
  color: #90C030;
  font-size: 0.9375rem;
  font-feature-settings: "palt" 1;
  padding-left: 1.75rem;
  letter-spacing: 0.14em;
  position: relative;
  line-height: 13px;
}
@media only screen and (max-width: 767px) {
  .post .category .cat {
    font-size: 0.9285714286rem;
  }
}
/*
.post .category .cat::after {
  width: 1.375rem;
  height: 1.375rem;
  content: "";
  background: #90C030;
  border-radius: 0.625rem 0 0.625rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
*/
.post .category .cat span.after {
  width: 1.375rem;
  height: 1.375rem;
  content: "";
  background: #90C030;
  border-radius: 0.625rem 0 0.625rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
/*
  .post .category .cat::after {
    width: 1.1428571429rem;
    height: 1.1428571429rem;
  }
  */
  .post .category .cat span.after {
    width: 1.1428571429rem;
    height: 1.1428571429rem;
  }

}
.post .category .cat.red {
  color: #DA4B29;
}
.post .category .cat.red::after {
  background: #DA4B29;
}
.post .category .cat.red2 {
  color: #D41C24;
}
.post .category .cat.red2::after {
  background: #D41C24;
}
.post .category .cat.pink {
  color: #FF7B93;
}
.post .category .cat.pink::after {
  background: #FF7B93;
}
.post .category .cat.dgreen {
  color: #007B43;
}
.post .category .cat.dgreen::after {
  background: #007B43;
}
.post .category .cat.dgreen2 {
  color: #456130;
}
.post .category .cat.dgreen2::after {
  background: #456130;
}
.post .category .cat.yellow {
  color: #F6BD1B;
}
.post .category .cat.yellow::after {
  background: #F6BD1B;
}
.post .category .cat.yellow2 {
  color: #FAC11B;
}
.post .category .cat.yellow2::after {
  background: #FAC11B;
}
.post .category .cat.brown {
  color: #A79C80;
}
.post .category .cat.brown::after {
  background: #A79C80;
}
.post .category .cat.brown2 {
  color: #754C24;
}
.post .category .cat.brown2::after {
  background: #754C24;
}
.post .category .cat.brown3 {
  color: #603813;
}
.post .category .cat.brown3::after {
  background: #603813;
}
.post .category .cat.brown4 {
  color: #806239;
}
.post .category .cat.brown4::after {
  background: #806239;
}
.post .category .cat.brown5 {
  color: #A49675;
}
.post .category .cat.brown5::after {
  background: #A49675;
}
.post .category .cat.black {
  color: #000;
}
.post .category .cat.black::after {
  background: #000;
}
.post .category .cat.orange {
  color: #FF8E1E;
}
.post .category .cat.orange::after {
  background: #FF8E1E;
}
.post .category .cat.blue {
  color: #54A8D4;
}
.post .category .cat.blue::after {
  background: #54A8D4;
}
.post .category .cat.blue2 {
  color: #0061AF;
}
.post .category .cat.blue2::after {
  background: #0061AF;
}
.post .category .cat.gray {
  color: #ABA082;
}
.post .category .cat.gray::after {
  background: #ABA082;
}
.post .category .cat.gray2 {
  color: #808080;
}
.post .category .cat.gray2::after {
  background: #808080;
}
.post .category .cat.gray3 {
  color: #C8C0AC;
}
.post .category .cat.gray3::after {
  background: #C8C0AC;
}
.post h2 {
  color: #90C030;
  font-size: 1.75rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  margin: calc(6rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 767px) {
  .post h2 {
    font-size: 1.2142857143rem;
    font-weight: bold;
    margin: calc(3rem - 0.25em) 0 -0.25em;
  }
}
.post h3 {
  color: #90C030;
  font-size: 1.5em;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  margin: calc(4rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 767px) {
  .post h3 {
    font-size: 1rem;
    font-weight: bold;
    margin: calc(2.5rem - 0.25em) 0 -0.25em;
  }
}
.post h4 {
  color: #90C030;
  font-size: 1.25em;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  margin: calc(2.5rem - 0.25em) 0 -0.25em;
}
@media only screen and (max-width: 767px) {
  .post h4 {
    font-size: 1rem;
    font-weight: bold;
    margin: calc(2rem - 0.25em) 0 -0.25em;
  }
}
.post h5 {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.4em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .post h5 {
    font-size: 1rem;
    font-weight: bold;
  }
}
.post p,
.post div {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  margin: calc(2.5rem - 0.25em) 0 -0.25em;
}
.post p:nth-of-type(1),
.post div:nth-of-type(1) {
  margin: calc(2.5rem - -2.75em) 0em -0.25em;
}
@media only screen and (max-width: 767px) {
  .post p,
  .post div {
    margin: calc(1.75rem - 0.25em) 0 -0.25em;
  }
  .post p:nth-of-type(1),
  .post div:nth-of-type(1) {
  margin: calc(1.75rem - 0.25em) 0 -0.25em;
  }
}
.post img {
  margin-top: 4.625rem;
}
@media only screen and (max-width: 767px) {
  .post img {
    margin-top: 1.2857142857rem;
  }
}
.post ol,
.post ul {
  padding-left: 1.25em;
  margin: 2em 0 0 0.25em;
  list-style: disc none;
}
.post ol li,
.post ul li {
  font-weight: 400;
  line-height: 1.75;
  margin: 1.625em 0 -0.375em;
}
.post ol li:first-child,
.post ul li:first-child {
  margin-top: -0.375em;
}
.post ol {
  margin: 2em 0 0 0.5em;
  list-style: decimal none;
}
header {
  position: relative;
}
header.fixed::after {
  height: 6rem;
}
@media only screen and (max-width: 767px) {
  header.fixed::after {
    height: 4.5714285714rem;
  }
}
header.fixed .menu span {
  color: #000;
}
header::after {
  content: "";
  width: 100%;
  height: 0;
  background: #FFF;
  filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.2));
  position: fixed;
  left: 0;
  top: 0;
  z-index: 6;
  transition: 0.5s;
  /*
  @include sp {
    height: cs_rem(64);
  }
  */
}
header .h1 {
  position: fixed;
  top: 3rem;
  left: 3.125rem;
  transform: translateY(-50%);
  z-index: 9;
}
header .h1.fixed {
  position: fixed;
}
@media only screen and (max-width: 767px) {
  header .h1 {
    left: 1.4285714286rem;
    top: 2.2857142857rem;
  }
}
header .h1 img {
  height: 1.75rem;
}
@media only screen and (max-width: 767px) {
  header .h1 img {
    height: 1.3571428571rem;
  }
}
header .contact {
  display: block;
  width: 11.25rem;
  height: 2.625rem;
  background: #DA4B29;
  border-radius: 1.0625rem 0 1.0625rem 0;
  position: fixed;
  top: 3rem;
  right: 2.875rem;
  transform: translateY(-50%);
  z-index: 7;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  header .contact {
    width: 8.7142857143rem;
    height: 2.1428571429rem;
    top: 2.2857142857rem;
    right: 5.7142857143rem;
  }
}
header .contact span {
  display: block;
  color: #FFF;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 1.875rem;
  transform: translateY(-50%);
  transition: 0.25s;
}
@media only screen and (max-width: 767px) {
  header .contact span {
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
}
header .contact::after {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw-r.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  header .contact::after {
    display: none;
  }
}
header .contact::before {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background-color: #FFF;
  position: absolute;
  border-radius: 50%;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  transition: 0.25s;
}
@media only screen and (max-width: 767px) {
  header .contact::before {
    display: none;
  }
}
header .contact:hover {
  /*
  //border-radius: 0;
  background-color: #FFF;
  transition-delay: 0.2s;

  span{
    color: $red;
  }
  &::before{
    transform: translateY(-50%) scale(1800%);
  }
  */
}
header .contact:hover::before {
  transform: translateY(-50%) scale(150%);
}
header nav {
  width: 100%;
  height: 100vh;
  padding-top: 11.7130307467vw;
  background: #90C030;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 8;
  overflow: hidden;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
@media only screen and (max-width: 767px) {
  header nav {
    padding: 0 0 8.5714285714rem;
    overflow-y: scroll;
  }
}
header nav::after {
  width: 100%;
  height: 85.9375%;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/nav.svg") bottom right/contain no-repeat;
  position: fixed;
  bottom: 5.8125rem;
  right: 0.9516837482vw;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  header nav::after {
    width: 108.8vw;
/*    height: calc(100lvh - 18rem); */
height: calc(100lvh - 9rem);
    background: url("https://www.alba-edu.org/img_2023/_nav.svg") right top/auto 100% no-repeat;
    bottom: auto;
    top: 9.1428571429rem;
    right: 0;
  }
}
header nav.show {
  opacity: 1;
  visibility: visible;
overflow: scroll;
    padding-bottom: 180px;
}
@media only screen and (max-width: 767px) {
  header nav.show .sns li a use {
    pointer-events: fill;
  }
}
header nav .cm_link {
  height: 5.625rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  header nav .cm_link {
    height: 4.2857142857rem;
  }
}
header nav .cm_link span {
  font-size: 1.375rem;
  left: 11.25rem;
}
@media only screen and (max-width: 767px) {
  header nav .cm_link span {
    font-size: 1.1428571429rem;
    left: 50%;
  }
}
header nav .cm_link::before {
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  background-color: #FFF;
  position: absolute;
  border-radius: 50%;
  top: 50%;
  right: 3.4375rem;
  transform: translateY(-50%);
  transition: 0.25s;
}
@media only screen and (max-width: 767px) {
  header nav .cm_link::before {
    right: 1.5rem;
  }
}
header nav .cm_link.green {
  background-color: #007B43;
}
header nav .cm_link.green::after {
  background-image: url("https://www.alba-edu.org/img_2023/arw-dg.svg");
}
header nav .cm_link:hover span {
  color: #DA4B29;
}
header nav .cm_link:hover.green span {
  color: #007B43;
}
header nav .cm_link:hover::before {
  transform: translateY(-50%) scale(2300%);
}
@media only screen and (max-width: 767px) {
  header nav .overflow {
    width: 100%;
    /*height: calc(100vh - 8.8571428571rem);*/
    height: 100vh;
    overflow-y: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
  }
}
header nav .wrap {
  position: relative;
  z-index: 3;
}
@media only screen and (min-width: 769px) {
  header nav .wrap {
    display: flex;
    justify-content: center;
    gap: 0 13.17715959vw;
  }
}
@media only screen and (max-width: 979px) {
  header nav .wrap {
    gap: 0 6.588579795vw;
  }
}
@media only screen and (max-width: 767px) {
  header nav .wrap {
    padding: 5.4285714286rem 1.4285714286rem 2.4285714286rem;
  }
}
header nav .wrap .left {
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 769px) {
  header nav .wrap .left {
    width: 31.6251830161vw;
  }
}
@media only screen and (max-width: 979px) {
  header nav .wrap .left {
    width: 35vw;
  }
}
@media only screen and (max-width: 767px) {
  header nav .wrap .left {
    width: 100%;
    display: block;
    margin-bottom: 2.5714285714rem;
  }
}
header nav .wrap .right {
  max-width: 23.875rem;
}
@media only screen and (min-width: 769px) {
  header nav .wrap .right {
    width: 382px;
  }
}
@media only screen and (max-width: 767px) {
  header nav .wrap .right {
    margin: 0 auto;
  }
}
header nav .foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 5.8125rem;
  padding: 0 5rem;
  background: #fff;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  header nav .foot {
    display: block;
    width: 100vw;
    height: auto;
    text-align: center;
    padding: 1.2857142857rem 0;
/*
    position: fixed;
*/
    position: relative;

    left: 0;
    bottom: 0;
  }
}
header nav .foot address {
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  header nav .foot address {
    line-height: 1.5769230769;
  }
}
header nav .foot img {
  height: 2.25rem;
}
@media only screen and (max-width: 767px) {
  header nav .foot img {
    height: 1.7857142857rem;
    margin: 1.2857142857rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  header .nav {
    display: flex;
    flex-wrap: wrap;
  }
  header .nav:last-of-type {
    width: 100%;
    border-bottom: 1px solid #fff;
  }
  header .nav:last-of-type > li {
    width: 100%;
  }
  header .nav:last-of-type > li a {
    position: relative;
    /*
    &::before{
      width: cs_rem(11);
      height: cs_rem(2);
      content: "";
      background: #fff;
      position: absolute;
      top: 50%;
      right: cs_rem(20);
      transform:  translateY(-50%) rotate(270deg);
      transition: 0.5s;
    }
    &::after{
      width: cs_rem(11);
      height: cs_rem(2);
      content: "";
      background: #fff;
      position: absolute;
      top: 50%;
      right: cs_rem(20);
      transform: translateY(-50%);
    }
    */
  }
  header .nav:last-of-type > li a.open::before {
    transform: translateY(-50%) rotate(180deg);
  }
}
header .nav li {
  margin: 3.125rem 0 0;
}
@media only screen and (max-width: 767px) {
  header .nav li {
    width: 50%;
    margin: 0;
    border-top: 1px solid #fff;
  }
  header .nav li:nth-child(even) {
    border-left: 1px solid #fff;
  }
  header .nav li.open a::before {
    transform: translateY(-50%) rotate(180deg);
  }
  header .nav li.open .child {
    height: auto;
    padding-bottom: 1.25rem;
  }
  header .nav li.open .child li {
    height: auto;
  }
}
header .nav li:first-child {
  margin: 0;
}
header .nav li a {
  display: block;
  color: #FFF;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-decoration: none;
  transition: 0.5s;
}
@media only screen and (max-width: 767px) {
  header .nav li a {
    font-size: 1.0714285714rem;
    font-weight: bold;
    text-align: center;
    padding: 1.2142857143rem 0;
  }
}
@media only screen and (min-width: 769px) {
  header .nav li a.children {
    cursor: default;
  }
}
header .nav li a:hover:not(.children) {
  color: #007B43;
}
@media only screen and (max-width: 767px) {
  header .nav li .child {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1.2857142857rem 0;
    padding-bottom: 1.25rem;
  }
}
header .nav li .child li {
  margin: 1.875rem 0 0;
}
@media only screen and (max-width: 767px) {
  header .nav li .child li {
    width: 50%;
    border: none;
    margin: 0;
  }
}
header .nav li .child li:first-child {
  margin: 2.125rem 0 0;
}
@media only screen and (max-width: 767px) {
  header .nav li .child li:first-child {
    margin: 0 0 0;
  }
}
header .nav li .child li a {
  font-size: 1.25rem;
  font-weight: 500;
}
header .nav li .child li a::before, header .nav li .child li a::after {
  display: none;
}
@media only screen and (max-width: 767px) {
  header .nav li .child li a {
    font-size: 1rem;
    padding: 0;
  }
}
header .nav2 li {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  header .nav2 li {
    margin-top: 1.1428571429rem;
  }
}
header .nav2 li:first-child {
  margin: 0;
}
header .sns {
  display: flex;
  gap: 0 1.375rem;
  margin-top: 4.6875rem;
}
@media only screen and (max-width: 767px) {
  header .sns {
    justify-content: center;
    margin-top: 2.4285714286rem;
  }
}
header .sns li a {
  display: block;
  width: 2.125rem;
  height: 2.125rem;
}
header .sns li a img {
  width: 2.125rem;
}
@media only screen and (max-width: 767px) {
  header .sns li a img {
    width: 2.4285714286rem;
  }
}
header .sns li a svg {
  width: 2.125rem;
  pointer-events: none;
  height: 2.125rem;
}
@media only screen and (max-width: 767px) {
  header .sns li a svg {
    width: 2.4285714286rem;
    height: 2.4285714286rem;
  }
}
header .sns li a use {
  fill: #fff;
  cursor: pointer;
  pointer-events: fill;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 767px) {
  header .sns li a use {
    pointer-events: none;
  }
}
header .sns li a use:hover {
  fill: #007B43;
}
header .menu {
  position: fixed;
  right: 2.875rem;
  top: 3rem;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10;
}
@media only screen and (max-width: 767px) {
  header .menu {
    right: 1.4285714286rem;
    top: 2.2857142857rem;
  }
}
header .menu span {
  display: block;
  color: #FFF;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  header .menu span {
    font-size: 1.2142857143rem;
  }
}
header .menu .close {
  display: none;
  color: #FFF;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  header .menu .close {
    font-size: 1.2142857143rem;
  }
}
header .menu.open {
  position: fixed;
}
header .menu.open span {
  display: none;
}
header .menu.open .close {
  display: block;
}

.subPage .header {
    height: 17.5375rem;
    padding: 7.8rem 0 0;
    background: url("https://www.alba-edu.org/img_2023/head.png") center/1714px no-repeat #90C030;
z-index: 7;
}
@media only screen and (max-width: 767px) {
  .subPage .header {
    height: 15.3571428571rem;
    padding: 6.4285714286rem 2.1428571429rem 0;
    background: url("https://www.alba-edu.org/img_2023/sp-head.png") center/500px no-repeat #90C030;
  }
}
.subPage .header.short {
  height: 6.25rem;
  background: url("https://www.alba-edu.org/img_2023/_head.png") center/1366px no-repeat #90C030;
}
@media only screen and (max-width: 767px) {
  .subPage .header.short {
    height: 4.4285714286rem;
    padding: 0;
    background: url("https://www.alba-edu.org/img_2023/_sp-head.png") center/cover no-repeat #90C030;
  }
}
.subPage .header .ancestor {
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .subPage .header .ancestor {
    text-align: left;
  }
}
.subPage .header .ancestor .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 4.625rem;
  font-weight: 500;
  letter-spacing: 0em;
  text-indent: 0em;
}
@media only screen and (max-width: 767px) {
  .subPage .header .ancestor .en {
    font-size: 3.4285714286rem;
  }
}
.subPage .header .ancestor .jp {
  display: block;
  font-size: 1.25rem;
  font-weight: normal;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .subPage .header .ancestor .jp {
    font-size: 1rem;
    margin-top: 0.5rem;
  }
}

.speakUp {
  color: #FFF;
  padding: 4rem 2em;
  margin-top: 6.875rem;
  background: url("https://www.alba-edu.org/img_2023/speakup-bg.png") center/cover no-repeat #90C030;
}
@media only screen and (max-width: 767px) {
  .speakUp {
    padding: 3.1428571429rem 1em;
    margin-top: 4.2857142857rem;
    background: url("https://www.alba-edu.org/img_2023/_speakup-bg.png") center/cover no-repeat #90C030;
  }
}
.speakUp .inner {
  max-width: 850px;
  margin: 0 auto;
}
.speakUp h2 {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 769px) {
  .speakUp h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .speakUp h2 {
    text-align: center;
    margin-bottom: 2.2857142857rem;
  }
}
.speakUp h2 span {
  display: block;
}
.speakUp h2 .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 4.375rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .speakUp h2 .en {
    font-size: 3.4285714286rem;
  }
}
.speakUp h2 .jp {
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.14em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .speakUp h2 .jp {
    font-size: 0.9285714286rem;
    font-weight: bold;
    margin-top: 1rem;
  }
}
.speakUp .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.9375rem 1.25rem;
}
@media only screen and (max-width: 767px) {
  .speakUp .list {
    gap: 0.75rem 1rem;
  }
}
.speakUp .list li {
  display: inline-block;
}
.speakUp .list li a {
  display: block;
  font-size: 1.125rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  border-radius: 1.0625rem 0 1.0625rem 0;
  border: 1.5px solid #fff;
  text-decoration: none;
  padding: 0.875rem 1rem;
  transition: 0.5s;
}
@media only screen and (max-width: 767px) {
  .speakUp .list li a {
    font-size: 0.9285714286rem;
    font-weight: bold;
    padding: 0.75rem 0.7142857143rem;
    border-radius: 0.8571428571rem 0 0.8571428571rem 0;
  }
}
.speakUp .list li a:hover {
  color: #90C030;
  background: #FFF;
}

footer {
  padding: 4.1875rem 5rem 0;
  position: relative;
}
@media screen and (max-width: 979px) {
  footer {
    padding: 4.1875rem 2em 0;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    padding: 2.5rem 1.4285714286rem 0;
  }
}
footer .top {
  width: 5.625rem;
  position: absolute;
  right: 5rem;
  top: -2.8125rem;
  z-index: 3;
}
@media only screen and (max-width: 767px) {
  footer .top {
    position: fixed;
    width: 4.4285714286rem;
    right: 0.7142857143rem;
    bottom: 0.7142857143rem;
    top: initial;
  }
}
footer .cm_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 0 5.8565153734vw;
}
@media only screen and (max-width: 767px) {
  footer .cm_flex {
    gap: 0;
  }
}
footer .logo a {
  display: block;
}
footer .logo a:hover img {
  opacity: 1;
}
footer .logo img {
  width: 17rem;
}
@media only screen and (max-width: 767px) {
  footer .logo img {
    width: 17.1428571429rem;
    margin: 0 auto 2.5714285714rem;
  }
}
@media only screen and (max-width: 767px) {
  footer .nav {
    width: 50%;
  }
  footer .nav:first-of-type {
    border-right: 1px solid #E2E8E5;
  }
}
@media only screen and (max-width: 767px) {
  footer .nav:last-of-type {
    width: 100%;
    border-bottom: 1px solid #E2E8E5;
  }
}
@media only screen and (max-width: 767px) {
  footer .nav:last-of-type > li.open a::before {
    transform: translateY(-50%) rotate(180deg);
  }
  footer .nav:last-of-type > li.open .child {
    height: auto;
    padding-bottom: 1.25rem;
  }
  footer .nav:last-of-type > li.open .child li {
    height: auto;
  }
}
footer .nav:last-of-type > li a {
  position: relative;
}
@media only screen and (max-width: 767px) {
  footer .nav:last-of-type > li a {
    /*
    &::before{
    	width: cs_rem(11);
    	height: cs_rem(2);
    	content: "";
    	background: #000;
    	position: absolute;
    	top: 50%;
    	right: cs_rem(20);
    	transform:  translateY(-50%) rotate(270deg);
    	transition: 0.5s;
    }
    &::after{
    	width: cs_rem(11);
    	height: cs_rem(2);
    	content: "";
    	background: #000;
    	position: absolute;
    	top: 50%;
    	right: cs_rem(20);
    	transform: translateY(-50%);
    }
    */
  }
}
footer .nav li {
  margin-top: 1.875rem;
}
@media only screen and (max-width: 767px) {
  footer .nav li {
    margin: 0;
    border-top: 1px solid #E2E8E5;
  }
}
footer .nav li:first-child {
  margin-top: 3.75rem;
}
@media only screen and (max-width: 767px) {
  footer .nav li:first-child {
    margin-top: 0;
  }
}
footer .nav li a,
footer .nav li span
{
  display: block;
  font-size: 1.125rem;
  text-decoration: none;
}
  footer .nav li span.children.gr
   {
  color: #666666;
  }

@media only screen and (max-width: 767px) {
  footer .nav li a,
  footer .nav li span
   {
    font-size: 1.0714285714rem;
    text-align: center;
    padding: 1.2142857143rem 0;
  }
  footer .nav li span.children.gr
   {
  color: #666666;
  }
}
footer .nav li a:hover {
  color: #90C030;
}
@media only screen and (max-width: 767px) {
  footer .nav li .child {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2857142857rem 0;
    justify-content: space-between;
    padding-bottom: 1.25rem;
  }
}
footer .nav li .child li {
  margin-top: 1.25rem;
}
@media only screen and (max-width: 767px) {
  footer .nav li .child li {
    width: 50%;
    border: none;
    margin: 0;
  }
}
footer .nav li .child li:first-child {
  margin-top: 1.625rem;
}
@media only screen and (max-width: 767px) {
  footer .nav li .child li:first-child {
    margin: 0;
  }
}
footer .nav li .child li a {
  font-size: 1rem;
}
footer .nav li .child li a::before, footer .nav li .child li a::after {
  display: none;
}
@media only screen and (max-width: 767px) {
  footer .nav li .child li a {
    color: #000;
    padding: 0;
  }
}
footer .sns {
  display: flex;
  gap: 0 0.875rem;
  margin-top: 6.25rem;
}
@media only screen and (max-width: 767px) {
  footer .sns {
    justify-content: center;
    gap: 0 1.2857142857rem;
    margin-top: 2rem;
  }
}
footer .sns li a {
  display: block;
}
footer .sns li a img {
  width: 1.75rem;
}
@media only screen and (max-width: 767px) {
  footer .sns li a img {
    width: 1.9285714286rem;
  }
}
footer .sns li a svg {
  width: 1.75rem;
  pointer-events: none;
  height: 1.75rem;
}
@media only screen and (max-width: 767px) {
  footer .sns li a svg {
    width: 1.9285714286rem;
    height: 1.9285714286rem;
  }
}
footer .sns li a use {
  fill: #000;
  cursor: pointer;
  pointer-events: fill;
  transition: all 0.3s ease;
}
footer .sns li a use:hover {
  fill: #90C030;
}
footer .nav2 {
  display: flex;
  gap: 0 2rem;
  margin-top: 3.5rem;
}
@media only screen and (max-width: 767px) {
  footer .nav2 {
    justify-content: center;
    margin-top: 2.1428571429rem;
  }
}
footer .nav2 li a {
  display: block;
  font-size: 0.875rem;
  text-decoration: none;
}
footer .nav2 li a:hover {
  color: #90C030;
}
@media only screen and (max-width: 767px) {
  footer .nav2 li a {
    font-size: 0.8571428571rem;
  }
}
footer address {
  line-height: 1.625;
  border-top: 3px dotted #C5C5C5;
  margin: 2rem 0 0;
  padding: 1.25rem 0 0;
}
footer address strong {
  display: block;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  padding-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  footer address strong {
    font-size: 1.1428571429rem;
    font-weight: bold;
    padding-bottom: 0.75em;
  }
}
@media only screen and (max-width: 767px) {
  footer address {
    font-size: 0.8571428571rem;
  }
}
footer .copy {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  footer .copy {
    order: 2;
    font-size: 0.7142857143rem;
    text-align: center;
  }
}
@media only screen and (min-width: 769px) {
  footer .box {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  footer .box > div {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  footer .box .left .sns, footer .box .left .nav2 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  footer .box .pcNone {
    display: none;
  }
}
footer .right {
  padding: 3.375rem 3rem;
  background: rgb(236, 244, 237);
  position: relative;
}
@media only screen and (min-width: 769px) {
  footer .right {
    min-width: 540px;
  }
}
@media screen and (max-width: 979px) {
  footer .right {
    min-width: 440px;
    padding: 3.375rem 2rem 3.375rem;
  }
}
@media only screen and (max-width: 767px) {
  footer .right {
    min-width: auto;
    padding: 2.1428571429rem 1.4285714286rem 2.5714285714rem;
    margin-top: 2.1428571429rem;
  }
}
footer .right h2 {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  color: #90C030;
  font-size: 2.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  footer .right h2 {
    font-size: 2.8571428571rem;
  }
}
footer .right .cm_link2 {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media only screen and (min-width: 769px) {
  footer .right .cm_link2 {
    position: absolute;
    right: 3rem;
    top: 3.375rem;
  }
}
@media only screen and (max-width: 767px) {
  footer .right .cm_link2 {
    width: 15.6428571429rem;
    font-size: 1.1428571429rem;
    font-weight: bold;
    margin-top: 1.5714285714rem;
  }
}
footer .right p {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  footer .right p {
    font-size: 0.8571428571rem;
    margin-top: 1.4285714286rem;
  }
}
footer .foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 1.5rem 0 0;
  padding: 1.75rem 0;
  border-top: 1px solid #C5C5C5;
}
@media only screen and (max-width: 767px) {
  footer .foot {
    flex-direction: column;
    padding: 1.4285714286rem 0;
  }
}
footer .foot img {
  height: 2.25rem;
}
@media only screen and (max-width: 767px) {
  footer .foot img {
    order: 1;
    height: 1.6428571429rem;
    margin: 0 auto 1.1428571429rem;
  }
}

.slide_loop {
  width: 100%;
  position: relative;
}
.slide_loop.center {
  overflow: visible;
}
.slide_loop.center .mask {
  overflow: visible;
}
.slide_loop.center .mask .image {
  display: flex;
  justify-content: flex-start;
  position: static;
}
.slide_loop.center .mask .image li {
  float: none;
}
.slide_loop.center .prev, .slide_loop.center .next {
  display: none;
}
.slide_loop.center .thum {
  display: none;
}
.slide_loop .prev, .slide_loop .next {
  cursor: pointer;
  position: absolute;
  z-index: 2;
  transition: 0.375s;
  transform: translateY(-50%);
  opacity: 1;
  visibility: visible;
}
.slide_loop .prev:hover, .slide_loop .next:hover {
  opacity: 0.5;
}
@media screen and (max-width: 980px) {
  .slide_loop .prev:hover, .slide_loop .next:hover {
    opacity: 1;
  }
}
.slide_loop .prev.hide, .slide_loop .next.hide {
  opacity: 0;
  visibility: hidden;
}
.slide_loop .mask {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.slide_loop .mask .image {
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.slide_loop .mask .image::after {
  clear: both;
  content: "";
  display: block;
}
.slide_loop .mask .image.active {
  transition: 0.5s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.slide_loop .mask .image li {
  float: left;
  margin: 0;
}
.slide_loop .thum {
  display: flex;
  justify-content: center;
  margin: 2rem 0 0;
}
.slide_loop .thum li {
  cursor: pointer;
  width: 1rem;
  height: 0.5rem;
  margin: 0 0.5rem;
  position: relative;
}
@media screen and (max-width: 1199px) {
  .slide_loop .thum li {
    width: 0.5rem;
    height: 0.5rem;
    margin: 0 0.5rem;
  }
}
.slide_loop .thum li.center span {
  background: #5D9DC5;
}
.slide_loop .thum li.center span::after {
  opacity: 1;
}
.slide_loop .thum li span {
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  font-size: 0.5rem;
  background: transparent;
  border: 1px solid #5D9DC5;
  border-radius: 0.5em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media screen and (max-width: 1199px) {
  .slide_loop .thum li span {
    width: 0.5rem;
    height: 0.5rem;
    font-size: 0.5rem;
  }
}

/* wordpress */
.wpcf7-form {
  border-top: 1px solid #CDD2CB;
  margin-top: 3.625rem;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form {
    margin-top: 2.4285714286rem;
  }
}
.wpcf7-form .need {
  display: inline-block;
  color: #DA4B29;
}
.wpcf7-form form {
  max-width: 828px;
  margin: 5.4375rem auto 0;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form form {
    margin-top: 2.1428571429rem;
  }
}
.wpcf7-form dl {
  display: flex;
  align-items: baseline;
  width: 100%;
  margin-top: 2.3125rem;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form dl {
    display: block;
    margin-top: 1.8571428571rem;
  }
}
.wpcf7-form dl:first-of-type {
  margin-top: 0;
}
.wpcf7-form dl dt {
  width: 14.5rem;
  font-size: 1.25rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form dl dt {
    width: 100%;
    padding: 0 0 1rem;
    font-size: 1.1428571429rem;
  }
}
.wpcf7-form dl dt .br {
  padding: 2px 0;
}
.wpcf7-form dl dd {
  width: calc(100% - 14.5rem);
}
@media only screen and (max-width: 767px) {
  .wpcf7-form dl dd {
    width: 100%;
  }
}
.wpcf7-form .radio {
  padding: 1rem 0 0;
}
@media screen and (max-width: 999px) {
  .wpcf7-form .radio {
    line-height: 2;
  }
}
@media screen and (max-width: 999px) {
  .wpcf7-form .radio.spflex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0 0.625rem;
  }
  .wpcf7-form .radio.spflex .mwform-radio-field {
    display: inline-block;
    margin: 0;
  }
}
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form input[type=text],
.wpcf7-form textarea {
  display: block;
  width: 100% !important;
  color: #4D4D4D;
  line-height: 1.5;
  padding: 0.75em 1.5rem;
  background: #EFF7F0;
  border: none;
  border-radius: 0.1875rem;
  -webkit-appearance: none;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form input[type=tel],
  .wpcf7-form input[type=email],
  .wpcf7-form input[type=text],
  .wpcf7-form textarea {
    padding: 1rem 0.75rem;
  }
}
.wpcf7-form input[type=tel]::placeholder,
.wpcf7-form input[type=email]::placeholder,
.wpcf7-form input[type=text]::placeholder,
.wpcf7-form textarea::placeholder {
  color: #B9B9B9;
  letter-spacing: 0.12em;
}
.wpcf7-form .select {
  background: #EFF7F0;
  width: 100%;
  border-radius: 0.1875rem;
  position: relative;
  z-index: 1;
}
.wpcf7-form select:invalid {
  color: #B9B9B9;
}
.wpcf7-form .select::after {
  position: absolute;
  content: "";
  right: 1.5rem;
  top: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  border-color: #90C030 transparent transparent transparent;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .wpcf7-form .select::after {
    border-width: 8px 5px 0 5px;
    right: 1rem;
  }
}
.wpcf7-form select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  width: 100%;
  height: 100%;
  line-height: 1.5;
  padding: 0.75em 1.5rem;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form select {
    padding: 1rem 0.75rem;
  }
}
.wpcf7-form .flex {
  display: flex;
  justify-content: center;
  margin: 4rem auto 0;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form .flex {
    margin-top: 2.7857142857rem;
  }
}
.wpcf7-form div.btn {
  width: 13.625rem;
  position: relative;
  overflow: hidden;
  border-radius: 1.0625rem 0 1.0625rem 0;
}
.wpcf7-form div.btn::after {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw-g.svg") center/cover no-repeat;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.wpcf7-form div.btn::before {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background-color: #90C030;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  transition: 0.25s;
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
.wpcf7-form div.btn:not(.disabled):hover::before {
  transform: translateY(-50%) scale(1400%);
}
.wpcf7-form div.btn:not(.disabled):hover input {
  color: #FFF;
  border: 2px solid #90C030;
}
@media screen and (max-width: 999px) {
  .wpcf7-form div.btn_back {
    margin: 0 1em;
  }
}
.wpcf7-form input[type=submit],
.wpcf7-form input[type=reset] {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 1;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  padding: 0.875rem 1rem 0.875rem 0;
  background: transparent;
  border: 2px solid #000;
  border-radius: 1.0625rem 0 1.0625rem 0;
  cursor: pointer;
  -webkit-appearance: none;
  position: relative;
  z-index: 2;
  transition: 0.5s;
  overflow: hidden;
  /*
  &::before {
  	transition: transform .4s ease-in-out;
  }
  */
}
@media only screen and (max-width: 767px) {
  .wpcf7-form input[type=submit],
  .wpcf7-form input[type=reset] {
    font-weight: bold;
  }
}
.wpcf7-form input[type=submit]:disabled,
.wpcf7-form input[type=reset]:disabled {
  cursor: default;
}
.wpcf7-form input[type=reset] {
  color: rgba(0, 0, 0, 0.5);
  background: rgba(0, 0, 0, 0.2);
}
.wpcf7-form .checkbox01 {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 0 1rem 0 2.5rem;
  position: relative;
  width: auto;
}
@media screen and (max-width: 1199px) {
  .wpcf7-form .checkbox01 {
    font-size: 1rem;
    letter-spacing: 0.1em;
    padding: 0 0 0 2.75rem;
  }
}
.wpcf7-form .checkbox01::before,
.wpcf7-form .wpcf7-list-item-label:before {
  background: #fff;
  border: 2px solid #90C030;
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  right: 0;
  margin-top: -8px;
  position: absolute;
  top: 50%;
}
.wpcf7-form .checkbox01::after {
  border-right: 3px solid #FF7B99;
  border-bottom: 3px solid #FF7B99;
  content: "";
  display: block;
  height: 9px;
  left: 11px;
  margin-top: -6px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}
.wpcf7-form input[type=checkbox] {
  display: none;
}
.wpcf7-form input[type=checkbox]:checked + .checkbox01::after {
  opacity: 1;
}
.wpcf7-form .check {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3.5625rem 0 0;
  font-size: 1.125rem;
}
@media only screen and (max-width: 767px) {
  .wpcf7-form .check {
    font-size: 1rem;
    margin-top: 2.7857142857rem;
  }
}
.wpcf7-form .check a {
  text-decoration: underline;
}
.wpcf7-form .check a:hover {
  text-decoration: none;
}
.wpcf7-form span.wpcf7-list-item {
  position: relative;
  box-sizing: border-box;
  display: inline-block;
  padding: 0 0 0 2.5rem;
  width: auto;
}
@media screen and (max-width: 999px) {
  .wpcf7-form span.wpcf7-list-item {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}
.wpcf7-form span.wpcf7-list-item .wpcf7-list-item-label {
  cursor: pointer;
}
.wpcf7-form span.wpcf7-list-item .wpcf7-list-item-label:before {
  background: #fff;
  border: 2px solid #90C030;
  content: "";
  display: block;
  height: 19px;
  left: 0;
  margin-top: -11px;
  position: absolute;
  top: 50%;
  width: 19px;
}
.wpcf7-form span.wpcf7-list-item .wpcf7-list-item-label:after {
  border-right: 3px solid #DA4B29;
  border-bottom: 3px solid #DA4B29;
  content: "";
  display: block;
  height: 12px;
  left: 7px;
  margin-top: -9px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}
.wpcf7-form span.wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.wpcf7-form .error {
  margin: 0.9375rem 0 0;
}
.wpcf7-form .confirm_btn:disabled {
  cursor: default;
}
.wpcf7-form .confirm_btn:disabled:hover {
  background: #FFF;
}
.wpcf7-form .mw_wp_form_confirm dl dd {
  margin: 1rem 0 0;
}
.wpcf7-form .mw_wp_form_confirm dl dd .radio {
  padding: 0;
}
.wpcf7-form .mw_wp_form_confirm .check {
  display: none;
}

.en {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
}

.pan {
  display: flex;
  width: calc(100% - 10rem);
  margin: 2rem auto 0;
  gap: 0 5rem;
}
@media only screen and (max-width: 767px) {
  .pan {
    width: calc(100% - 60px);
    flex-wrap: wrap;
    gap: 0.5rem 2.5rem;
    margin-top: 1.4285714286rem;
  }
}
.pan li {
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  position: relative;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .pan li {
    font-size: 0.7857142857rem;
    letter-spacing: 0.12em;
    line-height: 1.25;
  }
}
.pan li:last-child::after {
  display: none;
}
.pan li::after {
  color: #909091;
  content: "＞";
  position: absolute;
  right: -2.5rem;
  transform: translateX(50%);
}
@media only screen and (max-width: 767px) {
  .pan li::after {
    right: -1.25rem;
  }
}
.pan li a {
  text-decoration: none;
  color: #909091;
  word-break: keep-all;
}

.pager,
.wp-pagenavi {
  display: flex;
  justify-content: center;
  gap: 0 3rem;
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .pager,
  .wp-pagenavi {
    gap: 0 2rem;
    margin-top: 3.8571428571rem;
  }
}
.pager li,
.wp-pagenavi span,
.wp-pagenavi a {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.1875rem;
  font-weight: 500;
}
.pager li a,
.wp-pagenavi a {
  display: block;
  text-decoration: none;
  position: relative;
}
.pager li a:hover,
.wp-pagenavi a:hover {
  color: #90C030;
}
.pager li a.on,
.wp-pagenavi span.current {
  color: #90C030;
  position: relative;
}
.pager li a.on::after,
.wp-pagenavi span.current::after {
  width: 1.1875rem;
  height: 2px;
  content: "";
  background: #90C030;
  position: absolute;
  left: 50%;
  top: 1.5rem;
  transform: translateX(-50%);
}

.pager2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 3rem;
  margin-top: 6.25rem;
}
@media only screen and (max-width: 767px) {
  .pager2 {
    justify-content: space-between;
    gap: 0 1.5rem;
    margin-top: 2.8571428571rem;
  }
}
.pager2 li {
  font-size: 1.0625rem;
  letter-spacing: 0.2em;
  /*
  &:nth-child(2){
  	a{
  		color: $green;
  	}
  }
  */
}
@media only screen and (max-width: 767px) {
  .pager2 li {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
}
.pager2 li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  position: relative;
  transition: 0.3s;
}
.pager2 li a:active {
  color: #90C030;
}
.pager2 li a:hover use {
  fill: #90C030;
}
.pager2 li a svg {
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
  margin-right: 0.5rem;
}
.pager2 li a use {
  fill: #000;
  cursor: pointer;
  pointer-events: fill;
  transition: 0.3s;
}
.pager2 li a img {
  height: 1.25rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .pager2 li a img {
    height: 1.4285714286rem;
  }
}
.pager2 li a:hover {
  color: #90C030;
}
.pager2 li a.on {
  color: #90C030;
}

.pickupList li > div {
  width: 20.625rem;
  margin-right: 3rem;
}
@media only screen and (max-width: 767px) {
  .pickupList li > div {
    width: 15.1428571429rem;
    margin-right: 2.1428571429rem;
  }
}
.pickupList li a {
  text-decoration: none;
}
.pickupList li a:hover .img {
  transform: scale(1.1);
}
.pickupList li a .ofh {
  overflow: hidden;
}
.pickupList li a .img {
  background: url("https://www.alba-edu.org/img_2023/noimage.svg") center/cover no-repeat;
  padding-top: 63.6363636364%;
  transition: transform 0.3s ease-in-out;
}
.pickupList li a .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 4rem;
}
.pickupList li a .box .sort {
  color: #FFF;
  font-size: 0.8125rem;
  font-feature-settings: "palt" 1;
  background: #90C030;
  padding: 0.3125rem 0.5rem;
}
.pickupList li a .box .sort.red {
  background: #DA4B29;
}
.pickupList li a .box .sort.yellow {
  background: #FAC11B;
}
.pickupList li a .box .sort.dgreen {
  background: #007B43;
}
.pickupList li a .box .sort.gray {
  background: #808080;
}
.pickupList li a .box .cat {
  color: #90C030;
  font-feature-settings: "palt" 1;
  padding-left: 1.75rem;
  letter-spacing: 0.14em;
  position: relative;
}
/*
.pickupList li a .box .cat::after {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: #90C030;
  border-radius: 0.625rem 0 0.625rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
*/
.pickupList li a .box .cat.red {
  color: #DA4B29;
}
.pickupList li a .box .cat.red::after {
  background: #DA4B29;
}
.pickupList li a .box .cat.red2 {
  color: #D41C24;
}
.pickupList li a .box .cat.red2::after {
  background: #D41C24;
}
.pickupList li a .box .cat.pink {
  color: #FF7B93;
}
.pickupList li a .box .cat.pink::after {
  background: #FF7B93;
}
.pickupList li a .box .cat.dgreen {
  color: #007B43;
}
.pickupList li a .box .cat.dgreen::after {
  background: #007B43;
}
.pickupList li a .box .cat.dgreen2 {
  color: #456130;
}
.pickupList li a .box .cat.dgreen2::after {
  background: #456130;
}
.pickupList li a .box .cat.yellow {
  color: #F6BD1B;
}
.pickupList li a .box .cat.yellow::after {
  background: #F6BD1B;
}
.pickupList li a .box .cat.yellow2 {
  color: #FAC11B;
}
.pickupList li a .box .cat.yellow2::after {
  background: #FAC11B;
}
.pickupList li a .box .cat.brown {
  color: #A79C80;
}
.pickupList li a .box .cat.brown::after {
  background: #A79C80;
}
.pickupList li a .box .cat.brown2 {
  color: #754C24;
}
.pickupList li a .box .cat.brown2::after {
  background: #754C24;
}
.pickupList li a .box .cat.brown3 {
  color: #603813;
}
.pickupList li a .box .cat.brown3::after {
  background: #603813;
}
.pickupList li a .box .cat.brown4 {
  color: #806239;
}
.pickupList li a .box .cat.brown4::after {
  background: #806239;
}
.pickupList li a .box .cat.brown5 {
  color: #A49675;
}
.pickupList li a .box .cat.brown5::after {
  background: #A49675;
}
.pickupList li a .box .cat.black {
  color: #000;
}
.pickupList li a .box .cat.black::after {
  background: #000;
}
.pickupList li a .box .cat.orange {
  color: #FF8E1E;
}
.pickupList li a .box .cat.orange::after {
  background: #FF8E1E;
}
.pickupList li a .box .cat.blue {
  color: #54A8D4;
}
.pickupList li a .box .cat.blue::after {
  background: #54A8D4;
}
.pickupList li a .box .cat.blue2 {
  color: #0061AF;
}
.pickupList li a .box .cat.blue2::after {
  background: #0061AF;
}
.pickupList li a .box .cat.gray {
  color: #ABA082;
}
.pickupList li a .box .cat.gray::after {
  background: #ABA082;
}
.pickupList li a .box .cat.gray2 {
  color: #808080;
}
.pickupList li a .box .cat.gray2::after {
  background: #808080;
}
.pickupList li a .box .cat.gray3 {
  color: #C8C0AC;
}
.pickupList li a .box .cat.gray3::after {
  background: #C8C0AC;
}
.pickupList li a .box .date {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}
.pickupList li a .title {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  line-height: 1.6;
  margin: -0.3em 0;
}
@media only screen and (max-width: 767px) {
  .pickupList li a .title {
    font-weight: bold;
  }
}

.subPage {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .subPage {
    overflow: hidden;
  }
}
.subPage .contents {
  max-width: 1103px;
  width: calc(100% - 10rem);
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .subPage .contents {
    width: calc(100% - 40px);
  }
}
.subPage .side-nav-wrapper {
  max-width: 1206px;
}
@media only screen and (min-width: 769px) {
  .subPage .side-nav-wrapper {
    display: flex;
    justify-content: space-between;
  }
  .subPage .side-nav-wrapper main {
    order: 1;
    width: calc(100% - 18.5rem);
  }
  .subPage .side-nav-wrapper aside {
    order: 2;
    width: 15.8125rem;
  }
  .subPage .side-nav-wrapper aside .sidebar {
    position: sticky;
    top: 7.5rem;
    z-index: 2;
  }
}
.subPage .sidebar.column ul {
  flex-direction: column;
}
.subPage .sidebar h2 {
  color: #898989;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.01em;
  margin-top: 4.375rem;
  padding: 0 0.75rem 0.625rem 0.75rem;
}
.subPage .sidebar ul {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .subPage .sidebar ul {
    display: flex;
    flex-wrap: wrap;
    width: calc(100vw - 40px);
    margin-top: 2.1428571429rem;
  }
  .subPage .sidebar ul::after {
    width: 100vw;
    height: 100%;
    content: "";
    background: #EDF5EE;
    position: absolute;
    top: 0;
    left: -20px;
    z-index: -1;
  }
  .subPage .sidebar ul::before {
    width: 100vw;
    height: 1px;
    content: "";
    background: #EDF5EE;
    position: absolute;
    bottom: 0;
    left: -20px;
    z-index: 1;
  }
}
.subPage .sidebar ul li {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .subPage .sidebar ul li:last-child::after {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .subPage .sidebar ul li {
    width: calc(50% - 0.5rem);
    display: flex;
    align-items: center;
  }
  .subPage .sidebar ul li.left {
    width: calc((100vw - 40px) / 2 - 8px);
    padding-left: 0;
  }
  .subPage .sidebar ul li.left::after {
    width: 100%;
    left: 0;
  }
  .subPage .sidebar ul li.bottom::after {
    display: none;
  }
}
.subPage .sidebar ul li::after {
  content: "";
  display: block;
  width: calc(100% - 16px);
  height: 1px;
  background: #E2E8E5;
  position: absolute;
  bottom: 0;
}
@media only screen and (min-width: 769px) {
  .subPage .sidebar ul li::after {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .subPage .sidebar ul li::after {
    width: 100%;
    left: 0;
  }
}
.subPage .sidebar ul li a {
  display: block;
  font-feature-settings: "palt" 1;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-decoration: none;
  padding: 1rem 0.75rem;
}
@media only screen and (max-width: 767px) {
  .subPage .sidebar ul li a {
    width: 100%;
    font-size: 0.8571428571rem;
    letter-spacing: 0.12em;
    padding: 1rem 1.7142857143rem 1rem 0;
    position: relative;
  }
  .subPage .sidebar ul li a:hover::after {
    background: #90C030;
  }
  .subPage .sidebar ul li a::before {
    width: 0.5rem;
    height: 0.5rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/down.svg") center/contain no-repeat;
    position: absolute;
    top: 50%;
    right: 0.5714285714rem;
    transform: translateX(50%) translateY(-50%);
    z-index: 2;
  }
  .subPage .sidebar ul li a::after {
    width: 1.1428571429rem;
    height: 1.1428571429rem;
    content: "";
    background: #000;
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.subPage .sidebar ul li a.on {
  color: #90C030;
}
.subPage .sidebar ul li a.on::after {
  background: #90C030;
}
.subPage .sidebar ul li a:hover {
  color: #90C030;
}
.subPage .sidebar ul li.current a {
  color: #90C030;
}

.subPage .sidebar ul li .child {
  padding-bottom: 0.2857142857rem;
}
.subPage .sidebar ul li .child li {
  border: none;
  margin-bottom: 1.375rem;
}
.subPage .sidebar ul li .child li::after {
  display: none;
}
.subPage .sidebar ul li .child li a {
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 0 0 0 1.875rem;
}
.subPage .caseStudy {
  margin-top: 8.625rem;
  position: relative;
}
@media only screen and (min-width: 769px) {
  .subPage .caseStudy {
    padding: 0 0 0 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy {
    padding: 0 0 0 2.1428571429rem;
    margin-top: 4.5rem;
  }
}
@media only screen and (min-width: 769px) {
  .subPage .caseStudy h2 {
    position: absolute;
    left: 5rem;
    top: 0;
  }
}
.subPage .caseStudy h2 .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 3.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy h2 .en {
    font-size: 3.4285714286rem;
  }
}
.subPage .caseStudy h2 .jp {
  display: block;
  color: #808080;
  font-size: 1rem;
  letter-spacing: 0.22em;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy h2 .jp {
    font-size: 1rem;
  }
}
.subPage .caseStudy .slide_loop {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .subPage .caseStudy .slide_loop {
    padding: 0 0 0 19.9375rem;
  }
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop {
    margin-top: 2rem;
  }
}
.subPage .caseStudy .slide_loop .mask {
  overflow: hidden;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li {
  /*
  &:first-child{
  	> div{
  		margin-left: c_rem(36);
  	}
  }
  */
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li > div {
  width: 25rem;
  padding: 0 2.1875rem;
  margin-right: 1.875rem;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .mask .caseStudyList li > div {
    width: 17.6428571429rem;
    padding: 0 1.25rem;
    margin-right: 2.1428571429rem;
  }
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a {
  display: block;
  text-decoration: none;
  padding: 0 0 1.75rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .mask .caseStudyList li a {
    padding-bottom: 1.5714285714rem;
  }
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a::after {
  background: #EFF7F0;
  width: calc(100% + 4.5rem);
  height: calc(100% - 7.5rem);
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .mask .caseStudyList li a::after {
    width: calc(100% + 2.5rem);
    height: calc(100% - 6rem);
  }
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a:hover .img {
  transform: scale(1.1);
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .ofh {
  overflow: hidden;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .img {
  background: url("https://www.alba-edu.org/img_2023/noimage.svg") center/cover no-repeat;
  padding-top: 63.6363636364%;
  transition: transform 0.3s ease-in-out;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .cat {
  color: #90C030;
  padding-left: 1.75rem;
  letter-spacing: 0.14em;
  margin-top: 1.5rem;
  position: relative;
}
/*
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .cat::after {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: #90C030;
  border-radius: 0.5rem 0 0.5rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
*/
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .cat div {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: #90C030;
  border-radius: 0.5rem 0 0.5rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .red {
  color: #DA4B29;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .red::after {
  background: #DA4B29;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .dgreen {
  color: #007B43;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .dgreen::after {
  background: #007B43;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .yellow {
  color: #F6BD1B;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .yellow::after {
  background: #F6BD1B;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .brown {
  color: #A79C80;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .brown::after {
  background: #A79C80;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .black {
  color: #000;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .box .black::after {
  background: #000;
}
.subPage .caseStudy .slide_loop .mask .caseStudyList li a .title {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  line-height: 1.6;
  margin: calc(1.25rem - 0.3em) 0 -0.3em;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .mask .caseStudyList li a .title {
    font-weight: bold;
  }
}
.subPage .caseStudy .slide_loop .catList {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .catList {
    margin-top: 1.6428571429rem;
    gap: 1rem 1rem;
  }
}
.subPage .caseStudy .slide_loop .catList li {
  color: #90C030;
  padding-left: 1.75rem;
  letter-spacing: 0.14em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .catList li {
    font-size: 0.8571428571rem;
  }
}
/*
.subPage .caseStudy .slide_loop .catList li::after {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: #90C030;
  border-radius: 0.5rem 0 0.5rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .catList li::after {
    width: 1.1428571429rem;
    height: 1.1428571429rem;
  }
}
*/

.subPage .caseStudy .slide_loop .catList li div {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  background: #90C030;
  border-radius: 0.5rem 0 0.5rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .catList li div {
    width: 1.1428571429rem;
    height: 1.1428571429rem;
  }
}


.subPage .caseStudy .slide_loop .catList .green {
  color: #90C030;
}
.subPage .caseStudy .slide_loop .catList .red {
  color: #DA4B29;
}
.subPage .caseStudy .slide_loop .catList .red::after {
  background: #DA4B29;
}
.subPage .caseStudy .slide_loop .catList .dgreen {
  color: #007B43;
}
.subPage .caseStudy .slide_loop .catList .dgreen::after {
  background: #007B43;
}
.subPage .caseStudy .slide_loop .catList .yellow {
  color: #F6BD1B;
}
.subPage .caseStudy .slide_loop .catList .yellow::after {
  background: #F6BD1B;
}
.subPage .caseStudy .slide_loop .catList .brown {
  color: #A79C80;
}
.subPage .caseStudy .slide_loop .catList .brown::after {
  background: #A79C80;
}
.subPage .caseStudy .slide_loop .catList .black {
  color: #000;
}
.subPage .caseStudy .slide_loop .catList .black::after {
  background: #000;
}
.subPage .caseStudy .slide_loop .prev {
  width: 3.25rem;
  position: absolute;
  top: 8.625rem;
  left: 0;
  cursor: pointer;
  transform: none;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .prev {
    width: 2.8571428571rem;
    top: calc(100% + 2rem);
  }
}
.subPage .caseStudy .slide_loop .prev::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.subPage .caseStudy .slide_loop .prev:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
.subPage .caseStudy .slide_loop .next {
  width: 3.25rem;
  position: absolute;
  top: 8.625rem;
  left: 5.25rem;
  cursor: pointer;
  transform: none;
}
.subPage .caseStudy .slide_loop .next::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .slide_loop .next {
    width: 2.8571428571rem;
    left: 4.2857142857rem;
    top: calc(100% + 2rem);
  }
}
.subPage .caseStudy .slide_loop .next:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
.subPage .caseStudy .cm_link2 {
  width: 11.9375rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  position: absolute;
  left: 5rem;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  .subPage .caseStudy .cm_link2 {
    width: 10.4285714286rem;
    font-size: 1.1428571429rem;
    margin: 2.5rem 2rem 0 auto;
    position: relative;
    left: initial;
  }
}

#index {
  position: relative;
  overflow: hidden;
}
#index .header {
  background: #EBF3EC;
}
#index .header .menu span {
  color: #000;
}
#index .header .mainImage {
height: 67.222548vw;
  position: relative;
  /*
  .book{
  	width: c_rem(184);
  	height: c_rem(121);
  	color: #FFF;
  	text-align: center;
  	padding: c_rem(20) 0 0;
  	background: $dgreen;
  	border-radius: c_rem(6);
  	filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.3));
  	position: absolute;
  	bottom: c_vw(43);
  	left: c_vw(53);
  	z-index: 2;

  	p{
  		font-size: c_rem(20);
  		letter-spacing: 0.12em;
  		strong{
  			display: inline-block;
  			font-size: c_rem(40);
  			font-family: $en;
  			letter-spacing: 0.04em;
  			padding: c_rem(4) 0;
  		}
  	}
  	.day{
  		font-size: c_rem(12);
  	}
  }
  */
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage {
            height: 194.866667vw;
  }
}
#index .header .mainImage video {
    width: 30.8199121523vw;
    height: 18.6676427526vw;
    position: absolute;
    top: 28.03399vw;
    left: 59.227357vw;
    object-fit: cover;
    object-position: center;
    z-index: 2;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage video {
        width: 67.066667vw;
        height: 39.2vw;
        top: 68.145867vw;
        left: 29.6610666667vw;
  }
}
#index .header .mainImage::after {
    width: 81.551977vw;
    height: 50.658858vw;
    content: "";
    background: url("https://www.alba-edu.org/img_2025/main-min.png") center/cover no-repeat;
    position: absolute;
    top: 9.636896vw;
    left: 10.102489vw;
    z-index: 1;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage::after {
width: 99.22vw;
height: 132.03vw;
    background: url("https://www.alba-edu.org/img_2025/main-min_sp.png") center/cover no-repeat;
    left: 0;
    top: 59.733333vw;
    z-index: 3;
  }
}
#index .header .mainImage .catch {
    width: 33.3821376281vw;
    position: absolute;
    top: 10.0292825769vw;
    left: 34.864422vw;
    z-index: 2;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .catch {
    width: 74.1333333333vw;
    left: 13.0666666667vw;
    top: 24.5333333333vw;
  }
}
#index .header .mainImage .book {
  width: 13.4795314788vw;
  height: 8.8579795022vw;
  z-index: 4;
  position: absolute;
bottom: 7.847877vw;
  left: 3.8799414348vw;
  transition: 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(0.9);
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .book {
    width: 44.5276533333vw;
    height: 29.26104vw;
    left: 5.3333333333vw;
    bottom: 7.2vw;
  }
}
#index .header .mainImage .book.play {
  transform: scale(1);
  opacity: 1;
}
#index .header .mainImage .book.play .page0 {
  opacity: 1;
}
#index .header .mainImage .book.play .page1 {
  opacity: 0;
}
#index .header .mainImage .book.play .page2 {
  transform: translateX(-100%) rotateY(90deg);
}
#index .header .mainImage .book.play .page3 {
  transform: translateX(-100%) rotateY(180deg);
}
#index .header .mainImage .book.play .txt {
  opacity: 1;
  visibility: visible;
}
#index .header .mainImage .book .page0, #index .header .mainImage .book .page1 {
  height: 100%;
  background: #007B43;
  border-radius: 0.375rem 0 0 0.375rem;
  position: absolute;
  top: 0;
  left: 0;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));
}
#index .header .mainImage .book .page0 {
  width: 100%;
  background: #007B43;
  border-radius: 0.375rem;
  transition: 0.125s 1.5s;
  opacity: 0;
}
#index .header .mainImage .book .page1 {
  width: calc(50% + 1px);
  transition: 0.125s 1.625s;
  opacity: 1;
}
@media (max-resolution: 96dpi) {
  #index .header .mainImage .book .page1 {
    width: calc(50% + 1.5px);
  }
}
#index .header .mainImage .book .page2, #index .header .mainImage .book .page3 {
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  background: #007B43;
  border-radius: 0.375rem 0 0 0.375rem;
  transform-origin: right center;
}
#index .header .mainImage .book .page2 {
  transition: 0.5s 0.5s linear;
  transform: translateX(-100%) rotateY(0deg);
}
#index .header .mainImage .book .page2::before {
  width: 2.5622254758vw;
  height: 2.5622254758vw;
  display: block;
  content: "";
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(-50%);
  background-image: url(https://www.alba-edu.org/img_2023/index/book-icon.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .book .page2::before {
    width: 8.5630133333vw;
    height: 8.5630133333vw;
  }
}
#index .header .mainImage .book .page2::after {
  display: none;
  width: 0.7320644217vw;
  height: 100%;
  display: block;
  content: "";
  right: -1px;
  top: 0;
  position: absolute;
  background-color: #8FBF30;
  z-index: -1;
}
@media (max-resolution: 96dpi) {
  #index .header .mainImage .book .page2::after {
    right: -1.5px;
  }
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .book .page2::after {
    width: 2.4199733333vw;
  }
}
#index .header .mainImage .book .page3 {
  right: 0;
  transition: 0.5s 1s linear;
  transform: translateX(-100%) rotateY(90deg);
}
#index .header .mainImage .book .txt {
  color: #FFF;
  text-align: center;
  border-radius: 0.375rem;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  transition: 0.375s 1.5s;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
}
#index .header .mainImage .book .txt p {
  font-size: 1.4641288433vw;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .book .txt p {
    font-size: 4.8365333333vw;
  }
}
#index .header .mainImage .book .txt p strong {
  display: inline-block;
  font-size: 2.9282576867vw;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
  padding: 0.25rem 0;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .book .txt p strong {
    font-size: 9.6730666667vw;
  }
}
#index .header .mainImage .book .txt .day {
  font-size: 0.878477306vw;
}
@media only screen and (max-width: 767px) {
  #index .header .mainImage .book .txt .day {
    font-size: 2.90192vw;
  }
}
#index #index01 {
  padding: 7.5rem 0 5rem 5rem;
  background: #EBF3EC;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index01 {
    padding: 5em 0 5em 2em;
  }
}
@media only screen and (min-width: 769px) {
  #index #index01 h2 {
    position: absolute;
    left: 5rem;
    top: 7.5rem;
  }
}
#index #index01 h2 .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 3.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  #index #index01 h2 .en {
    font-size: 3.4285714286rem;
  }
}
#index #index01 h2 .jp {
  display: block;
  color: #808080;
  font-weight: normal;
  letter-spacing: 0.22em;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  #index #index01 h2 .jp {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 769px) {
  #index #index01 .more {
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  #index #index01 .more {
    margin: 2.8571428571rem 2rem 0 0;
  }
}
#index #index01 .cm_link2 {
  width: 11.9375rem;
  font-size: 1.5rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #index #index01 .cm_link2 {
    width: 10.4285714286rem;
    font-size: 1.1428571429rem;
    margin-left: auto;
  }
}
#index #index01 .slide_loop {
  position: relative;
}
@media only screen and (min-width: 769px) {
  #index #index01 .slide_loop {
    padding-left: 24.8169838946vw;
  }
}
@media only screen and (max-width: 767px) {
  #index #index01 .slide_loop {
    margin-top: 2rem;
  }
}
#index #index01 .slide_loop .mask {
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #index #index01 .slide_loop .mask .image li > div {
    margin-right: 3.7857142857rem;
  }
}
#index #index01 .slide_loop .prev {
  width: 3.25rem;
  position: absolute;
  top: 7.875rem;
  left: 0;
  cursor: pointer;
  transform: none;
}
@media only screen and (max-width: 767px) {
  #index #index01 .slide_loop .prev {
    width: 2.8571428571rem;
    bottom: 0;
    top: initial;
  }
}
#index #index01 .slide_loop .prev::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
#index #index01 .slide_loop .prev:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#index #index01 .slide_loop .prev img {
  position: relative;
  z-index: 2;
}
#index #index01 .slide_loop .next {
  width: 3.25rem;
  position: absolute;
  top: 7.875rem;
  left: 5.25rem;
  cursor: pointer;
  transform: none;
}
@media only screen and (max-width: 767px) {
  #index #index01 .slide_loop .next {
    width: 2.8571428571rem;
    bottom: 0;
    left: 4.2857142857rem;
    top: initial;
  }
}
#index #index01 .slide_loop .next::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
#index #index01 .slide_loop .next:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#index #index01 .slide_loop .next img {
  position: relative;
  z-index: 2;
}
#index #index02 {
    background: #8FBF30;
    border-radius: 16px;
}
@media only screen and (min-width: 769px) {
#index #index02 {
    display: flex;
    flex-direction: row-reverse;
    width: 93.5%;
    margin: auto;
}
#index #index02 .slideSelect {
  order: 1;
  position: relative;
}
}
@media only screen and (min-width: 769px) {
  #index #index02 .slideSelect {
width: 32.038653vw;
z-index: 2;
  }
}
@media only screen and (max-width: 767px) {
  #index #index02 .slideSelect {
    height: 54.6666666667vw;
  }
}
#index #index02 .slideSelect .image {
  height: 100%;
}
#index #index02 .slideSelect .image li {
    width: 100%;
    height: 100%;
    background-position: 68% 60%;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: 0.5s;
    border-radius: 0px 16px 16px 0px;
}
#index #index02 .slideSelect .image li.show {
  opacity: 1;
}
#index #index02 .slideSelect.spNone .image li::after {
  display: block;
  content: "";
  right: 0;
  bottom: 0;
  position: absolute;
  background-repeat: no-repeat;
}
#index #index02 .slideSelect.spNone .image li:first-child::after, #index #index02 .slideSelect.spNone .image li:nth-child(2)::after {
    width: 11.219806rem;
    height: 13.502556rem;
    background-image: url(https://www.alba-edu.org/img_2025/index_slide02.svg);
}
#index #index02 .slideSelect.spNone .image li:nth-child(3)::after {
  width: 12.7625375rem;
  height: 16.2rem;
  background-image: url(https://www.alba-edu.org/img_2023/index/slide03.svg);
}
#index #index02 .slideSelect.spNone .image li:nth-child(4)::after {
  width: 11.697125rem;
  height: 15.4754rem;
  background-image: url(https://www.alba-edu.org/img_2023/index/slide04.svg);
}
#index #index02 .slideSelect .thum {
  display: none;
}
#index #index02 .wrapper {
  color: #fff;
  position: relative;
  order: 2;
}
@media only screen and (min-width: 769px) {
  #index #index02 .wrapper {
      width: 60.761347vw;
      height: calc(97vh - 6rem);
      min-height: 669px;
  }
}
#index #index02 .wrapper h2 {
    font-size: 1.125rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    padding-left: 2.8125rem;
    position: relative;
    /* top: 2.875rem; */
    /* right: 5.8565153734vw; */
    z-index: 4;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper h2 {
    font-size: 1.2857142857rem;
    font-weight: bold;
    position: relative;
    top: 3.7142857143rem;
    left: 2.1428571429rem;
    right: initial;
    z-index: 1;
  }
}
#index #index02 .wrapper h2::after {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: #007B43;
  border-radius: 0.8125rem 0 0.8125rem 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper h2::after {
    width: 1.8571428571rem;
    height: 1.8571428571rem;
  }
}
#index #index02 .wrapper .main {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    margin-top: 5.1rem;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main {
    display: block;
    padding: 7.1428571429rem 2.1428571429rem 3.2857142857rem;
  }
}
#index #index02 .wrapper .main::after {
    width: 28.602958vw;
    height: 28.606486vw;
    content: "";
    background: url("https://www.alba-edu.org/img_2025/index_01.svg") bottom right/cover no-repeat;
    position: absolute;
    right: -86px;
    bottom: 83px;
    mix-blend-mode: multiply;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main::after {
    width: 88.2666666667vw;
    height: 99.7333333333vw;
  }
}
#index #index02 .wrapper .main .catch {
    font-size: 2.7818448023vw;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.10em;
    line-height: 1.5;
    margin: 0.30em 0;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main .catch {
    font-size: 1.8571428571rem;
    font-weight: bold;
  }
}
#index #index02 .wrapper .main p {
  font-size:   1.5105417277vw;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.10em;
  line-height: 200%;
  margin-top: 2.392387vw;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main p {
    font-size: 1.2142857143rem;
    font-weight: bold;
    line-height: 1.8;
    margin: calc(2.5rem - 0.4em) 0 -0.4em;
  }
}
@media only screen and (min-width: 769px) {
  #index #index02 .wrapper .main .list {
    min-width: 24rem;
  }
}
#index #index02 .wrapper .main .list li {
  margin-top: 0.75rem;
  position: relative;
}
#index #index02 .wrapper .main .list li:hover::before {
  transform: translateY(-50%) scale(1.2, 1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#index #index02 .wrapper .main .list li::before {
  width: 1.875rem;
  height: 1.875rem;
  content: "";
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#index #index02 .wrapper .main .list li::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/_arw.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  transform: translateX(50%) translateY(-50%);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main .list li {
    margin-top: 0.7142857143rem;
  }
}
#index #index02 .wrapper .main .list li:first-child {
  margin-top: 4.595754vw;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main .list li:first-child {
    margin-top: 2.8571428571rem;
  }
}
#index #index02 .wrapper .main .list li a {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: 0.06em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main .list li a {
    font-size: 1.1428571429rem;
    font-weight: bold;
  }
}
#index #index02 .wrapper .main .list li a:hover span {
  text-decoration: none;
}
#index #index02 .wrapper .main .list li a .num {
  display: block;
  width: 2.125rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.375rem;
  text-align: center;
  text-decoration: none;
  background: #007B43;
  border-radius: 0.8125rem 0 0.8125rem 0;
  padding: 0.375rem 0;
  margin-right: 1rem;
}
#index #index02 .wrapper .main .list li a span {
  text-decoration: underline;
}
#index #index02 .wrapper .main .cm_link2 {
  width: 11.9375rem;
  font-size: 1.5rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 1000px) {
  #index #index02 .wrapper .main .cm_link2 {
    width: 10.4285714286rem;
    font-size: 1.1428571429rem;
    margin: 2.5714285714rem 0 0 auto;
  }
}
#index #index02 .wrapper .main .cm_link2::after {
  background-image: url("https://www.alba-edu.org/img_2023/_arw.svg");
}
#index #index02 .wrapper .main .cm_link2::before {
  background-color: #fff;
}
#index #index02 .wrapper .main .cm_link2 .border::after {
  background-color: #fff;
}
#index #index02 .wrapper .main .cm_flex {
  position: relative;
}
@media only screen and (min-width: 769px) {
  #index #index02 .wrapper .main .cm_flex {
    justify-content: space-between;
    align-items: flex-end;
    gap: 0 6.8814055637vw;
  }
}
@media only screen and (max-width: 1200px) {
  #index #index02 .wrapper .main .cm_flex {
    gap: 0 2.9282576867vw;
  }
}
@media only screen and (max-width: 1000px) {
  #index #index02 .wrapper .main .cm_flex {
    display: block;
  }
}
#index #index02 .wrapper .main .inner {
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 769px) {
  #index #index02 .wrapper .main .inner {
    padding: 0 5.1976573939vw;
  }
}
@media only screen and (min-width: 769px) {
  #index #index02 .wrapper .main .img {
    width: 39.2386530015vw;
  }
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .main .img {
    height: 54.6666666667vw;
  }
}
#index #index02 .wrapper .popup {
  width: 100%;
  height: 100%;
  padding: 6.875rem 6.8081991215vw 4.25rem;
  background: #8FBF30;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 5;
  transition: 0.5s;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
    border-radius: 16px;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .popup {
    padding: 9.7142857143rem 1.4285714286rem 2.8571428571rem;
  }
}
#index #index02 .wrapper .popup:last-child::-webkit-scrollbar {
  width: 0.75rem;
  border-radius: 50%;
}
#index #index02 .wrapper .popup:last-child::-webkit-scrollbar-track {
  background-color: #fff;
  border-radius: 3.75rem;
}
#index #index02 .wrapper .popup:last-child::-webkit-scrollbar-thumb {
  background-color: #007B43;
  border-radius: 3.75rem;
}
#index #index02 .wrapper .popup.show {
  opacity: 1;
  visibility: visible;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .popup h2 {
    position: absolute;
    top: 6rem;
  }
}
#index #index02 .wrapper .popup .close {
  width: 7.5rem;
  position: absolute;
  top: 2.625rem;
  left: 2.5rem;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .popup .close {
    width: 6.1428571429rem;
    top: 1.7857142857rem;
    right: 1.3571428571rem;
    left: initial;
  }
}
#index #index02 .wrapper .popup .box {
  background: #fff;
  filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.3));
  margin-top: 2rem;
}
#index #index02 .wrapper .popup .box .image {
  padding: 2.5rem 2.5rem 2.5rem;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .popup .box .image {
    padding: 1.8571428571rem 0.8571428571rem 1.4285714286rem 1.7142857143rem;
  }
}
#index #index02 .wrapper .popup .box .image img {
  margin: 0 auto;
}
#index #index02 .wrapper .popup .box h3 {
  color: #FFF;
  font-size: 1.125rem;
  text-align: center;
  letter-spacing: 0.06em;
  padding: 1.3125rem 0;
  background: #007B43;
}
@media only screen and (max-width: 767px) {
  #index #index02 .wrapper .popup .box h3 {
    font-size: 0.7142857143rem;
    padding: 1em 0;
  }
}
#index #index02 .wrapper .popup .box h3 span {
  font-size: 0.875rem;
}
#index #index02 .wrapper .popup p {
  line-height: 1.75;
  margin: calc(1.75rem - 0.375em) 0 -0.375em;
}
#index #index03 {
  padding: 0 5rem;
}
@media only screen and (max-width: 767px) {
  #index #index03 {
    padding: 0 1.4285714286rem;
  }
}
#index #index03 .cm_h2 {
  letter-spacing: 0.14em;
  margin-top: 5.5rem;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_h2 {
    margin-top: 3.5714285714rem;
  }
}
#index #index03 .cm_flex {
  justify-content: space-between;
  gap: 0 2.9282576867vw;
  margin-top: 2rem;
}
#index #index03 .cm_flex > div {
  background: #EBF3EC;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex > div {
    margin-top: 2rem;
  }
}
#index #index03 .cm_flex > div h3 {
  height: 3.5rem;
  color: #fff;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex > div h3 {
    height: 2.9285714286rem;
    font-size: 1.2857142857rem;
    font-weight: bold;
  }
}
#index #index03 .cm_flex > div h3 span {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
@media only screen and (min-width: 769px) {
  #index #index03 .cm_flex .red {
    width: 21.75rem;
  }
}
#index #index03 .cm_flex .red h3 {
  background: #DA4B29;
}
#index #index03 .cm_flex .red .box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 1.625rem;
}
@media only screen and (min-width: 769px) {
  #index #index03 .cm_flex .red .box {
    height: calc(100% - 3.5rem);
    min-height: 33.375rem;
  }
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .red .box {
    padding: 2.1428571429rem 1.4285714286rem;
  }
}
#index #index03 .cm_flex .red .box .list {
  width: 18.5rem;
  position: relative;
}
#index #index03 .cm_flex .red .box .list::before {
  width: 2px;
  height: 13.75rem;
  content: "";
  background: #EBF3EC;
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  top: 1.5rem;
}
#index #index03 .cm_flex .red .box .list::after {
  width: 2px;
  height: 13.75rem;
  content: "";
  background: #EBF3EC;
  mix-blend-mode: multiply;
  position: absolute;
  right: 0;
  top: 1.5rem;
}
#index #index03 .cm_flex .red .box .list li {
  margin-top: 1.75rem;
}
#index #index03 .cm_flex .red .box .list li:first-child {
  margin: 0;
}
#index #index03 .cm_flex .red .box .list li a {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-feature-settings: "palt" 1;
  text-decoration: none;
  padding: 0 0 1.4375rem 1.25rem;
  position: relative;
}
#index #index03 .cm_flex .red .box .list li a:hover, #index #index03 .cm_flex .red .box .list li a.select {
  color: #DA4B29;
}
#index #index03 .cm_flex .red .box .list li a:hover .num, #index #index03 .cm_flex .red .box .list li a.select .num {
  color: #FFF;
  background: #DA4B29;
}
#index #index03 .cm_flex .red .box .list li a:hover .arw::before, #index #index03 .cm_flex .red .box .list li a.select .arw::before {
  transform: scale(1.4, 1.4);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
  background-color: #DA4B29;
}
#index #index03 .cm_flex .red .box .list li a:hover .arw::after, #index #index03 .cm_flex .red .box .list li a.select .arw::after {
  background-image: url("https://www.alba-edu.org/img_2023/arw.svg");
}
#index #index03 .cm_flex .red .box .list li a::after {
  width: 100%;
  height: 2.5625rem;
  content: "";
  mix-blend-mode: multiply;
  background: url("https://www.alba-edu.org/img_2023/index/02.svg") center/100% no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
}
#index #index03 .cm_flex .red .box .list li a .num {
  display: block;
  width: 1.375rem;
  color: #DA4B29;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  text-align: center;
  padding: 0.1875rem 0;
  margin-right: 1rem;
  background: #fff;
  position: relative;
  z-index: 1;
}
#index #index03 .cm_flex .red .box .list li a .arw {
  display: block;
}
#index #index03 .cm_flex .red .box .list li a .arw::before {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: -0.125rem;
  right: 0;
  z-index: 2;
}
#index #index03 .cm_flex .red .box .list li a .arw::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/_arwr.svg") center/100% no-repeat;
  position: absolute;
  top: 0.3125rem;
  right: 0.8125rem;
  transform: translateX(50%);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .red .box .list li a .arw::after {
    transform: translateX(50%) rotate(90deg);
  }
}
#index #index03 .cm_flex .green::after {
  width: 4.75rem;
  height: 4.75rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/index/03.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  left: -3.8125rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green::after {
    width: 2.2857142857rem;
    height: 3.0714285714rem;
    background: url("https://www.alba-edu.org/img_2023/index/_03.svg") center/100% no-repeat;
    top: -3.0714285714rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
#index #index03 .cm_flex .green h3 {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  background: #90C030;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green h3 {
    font-size: 1.2857142857rem;
  }
}
@media only screen and (min-width: 769px) {
  #index #index03 .cm_flex .green .box {
    padding: 2.635431918vw;
    height: calc(100% - 3.5rem);
  }
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green .box {
    padding: 2rem 1.4285714286rem;
  }
}
#index #index03 .cm_flex .green .box .inner {
  background: #fff;
  border-radius: 2rem 0 2rem 0;
}
@media only screen and (min-width: 769px) {
  #index #index03 .cm_flex .green .box .inner {
    padding: 2.9282576867vw 1.4641288433vw;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green .box .inner {
    padding: 1.8571428571rem 1.4285714286rem 2.2857142857rem;
  }
}
#index #index03 .cm_flex .green .box .inner ul li {
  opacity: 0;
  visibility: hidden;
  transition: 0.5s opacity;
  height: 0;
}
#index #index03 .cm_flex .green .box .inner ul li.show {
  opacity: 1;
  visibility: visible;
  height: auto;
}
#index #index03 .cm_flex .green .box .inner h4 {
  display: flex;
  align-items: center;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green .box .inner h4 {
    font-size: 1.2857142857rem;
    font-weight: bold;
  }
}
#index #index03 .cm_flex .green .box .inner h4 .num {
  display: block;
  width: 1.375rem;
  color: #fff;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  text-align: center;
  padding: 0.1875rem 0;
  margin-right: 1rem;
  background: #DA4B29;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green .box .inner h4 .num {
    font-size: 1.2857142857rem;
  }
}
#index #index03 .cm_flex .green .box .inner h4 .num.green {
  background: #007B43;
}
#index #index03 .cm_flex .green .box .inner img {
  margin-top: 1.5rem;
}
#index #index03 .cm_flex .green .box .inner p {
  font-size: 0.875rem;
  line-height: 2;
  margin: 1em 0 -0.5em;
}
#index #index03 .cm_flex .green .box .inner .cm_link2 {
  width: 12.875rem;
  font-size: 1.25rem;
  margin: 3.5rem auto 0;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .green .box .inner .cm_link2 {
    width: 12.1428571429rem;
    font-size: 1.1428571429rem;
    margin: 2.1428571429rem auto 0;
  }
}
#index #index03 .cm_flex .dgreen::after {
  width: 4.75rem;
  height: 4.75rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/index/04.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  left: -3.8125rem;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .dgreen::after {
    width: 2.2857142857rem;
    height: 3.0714285714rem;
    background: url("https://www.alba-edu.org/img_2023/index/_04.svg") center/100% no-repeat;
    top: -3.0714285714rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 769px) {
  #index #index03 .cm_flex .dgreen {
    width: 17.5625rem;
  }
}
#index #index03 .cm_flex .dgreen h3 {
  background: #007B43;
}
#index #index03 .cm_flex .dgreen .box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 1.625rem;
}
@media only screen and (min-width: 769px) {
  #index #index03 .cm_flex .dgreen .box {
    height: calc(100% - 3.5rem);
  }
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .dgreen .box {
    padding: 2.1428571429rem 1.4285714286rem;
  }
}
#index #index03 .cm_flex .dgreen .box .list2 {
  width: 14.3125rem;
  position: relative;
}
#index #index03 .cm_flex .dgreen .box .list2::before {
  width: 2px;
  height: 9.1875rem;
  content: "";
  background: #EBF3EC;
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  top: 1.5rem;
}
#index #index03 .cm_flex .dgreen .box .list2::after {
  width: 2px;
  height: 9.1875rem;
  content: "";
  background: #EBF3EC;
  mix-blend-mode: multiply;
  position: absolute;
  right: 0;
  top: 1.5rem;
}
#index #index03 .cm_flex .dgreen .box .list2 li {
  margin-top: 1.75rem;
}
#index #index03 .cm_flex .dgreen .box .list2 li:first-child {
  margin: 0;
}
#index #index03 .cm_flex .dgreen .box .list2 li a {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-feature-settings: "palt" 1;
  text-decoration: none;
  padding: 0 0 1.4375rem 1.25rem;
  position: relative;
}
#index #index03 .cm_flex .dgreen .box .list2 li a:hover, #index #index03 .cm_flex .dgreen .box .list2 li a.select {
  color: #007B43;
}
#index #index03 .cm_flex .dgreen .box .list2 li a:hover .num, #index #index03 .cm_flex .dgreen .box .list2 li a.select .num {
  color: #FFF;
  background: #007B43;
}
#index #index03 .cm_flex .dgreen .box .list2 li a:hover .arw::before, #index #index03 .cm_flex .dgreen .box .list2 li a.select .arw::before {
  transform: scale(1.4, 1.4);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
  background-color: #007B43;
}
#index #index03 .cm_flex .dgreen .box .list2 li a:hover .arw::after, #index #index03 .cm_flex .dgreen .box .list2 li a.select .arw::after {
  background-image: url("https://www.alba-edu.org/img_2023/arw-w-left.svg");
}
#index #index03 .cm_flex .dgreen .box .list2 li a::after {
  width: 100%;
  height: 2.5625rem;
  content: "";
  mix-blend-mode: multiply;
  background: url("https://www.alba-edu.org/img_2023/index/02.svg") center/100% no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
}
#index #index03 .cm_flex .dgreen .box .list2 li a .num {
  display: block;
  width: 1.375rem;
  color: #007B43;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  text-align: center;
  padding: 0.1875rem 0;
  margin-right: 1rem;
  background: #fff;
  position: relative;
  z-index: 1;
}
#index #index03 .cm_flex .dgreen .box .list2 li a .arw {
  display: block;
}
#index #index03 .cm_flex .dgreen .box .list2 li a .arw::before {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: -0.125rem;
  right: 0;
  z-index: 2;
}
#index #index03 .cm_flex .dgreen .box .list2 li a .arw::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw-green-left.svg") center/100% no-repeat;
  position: absolute;
  top: 0.3125rem;
  right: 0.8125rem;
  transform: translateX(50%);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #index #index03 .cm_flex .dgreen .box .list2 li a .arw::after {
    transform: translateX(50%) rotate(90deg);
  }
}
#index #index04 {
  padding: 0 5rem;
}
@media only screen and (max-width: 767px) {
  #index #index04 {
    padding: 0 1.4285714286rem;
  }
}
#index #index04 .cm_h2 {
  letter-spacing: 0.14em;
  margin-top: 5.25rem;
}
@media only screen and (max-width: 767px) {
  #index #index04 .cm_h2 {
    margin-top: 3.5714285714rem;
  }
}
#index #index04 .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8.25rem 1.25rem;
  margin-top: 8.25rem;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list {
    display: block;
    margin: 0;
  }
}
#index #index04 .list li {
  width: calc((100% - 3.75rem) / 4);
}
@media screen and (max-width: 1100px) {
  #index #index04 .list li {
    width: calc((100% - 2rem) / 2);
    max-width: 286px;
  }
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li {
    width: 100%;
    max-width: none;
    margin-top: 8.2857142857rem;
  }
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li:last-child a .img {
    background-size: auto 100%;
    background-color: #e9f2ed;
  }
}
#index #index04 .list li a {
  display: block;
  text-decoration: none;
  padding: 0 1.5rem 1.5rem;
  border: 1px solid #C5C5C5;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a {
    padding: 0 1.4285714286rem 2.1428571429rem;
  }
}
#index #index04 .list li a:hover .img {
  transform: scale(1.1);
}
#index #index04 .list li a .ofh {
  overflow: hidden;
  margin: -5.25rem auto 1.75rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a .ofh {
    margin: -6.2857142857rem 0 1.7142857143rem;
  }
}
#index #index04 .list li a .ofh img {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (min-width: 1300px) {
  #index #index04 .list li a .ofh img {
    display: none;
  }
}
@media screen and (max-width: 1299px) {
  #index #index04 .list li a .ofh img {
    display: block;
    width: auto;
    height: 6.25rem;
  }
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a .ofh img {
    height: 29.6vw;
  }
}
#index #index04 .list li a .img {
  width: 235px;
  height: 12rem;
  background: url("https://www.alba-edu.org/img_2023/noimage.svg") center/cover no-repeat;
  transition: transform 0.3s ease-in-out;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a .img {
    width: 100%;
    height: 43.7333333333vw;
  }
}
#index #index04 .list li a .box .title {
  font-size: 1.5rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a .box .title {
    font-size: 1.4285714286rem;
    font-weight: bold;
  }
}
#index #index04 .list li a .box .cat {
  display: inline-block;
  color: #808080;
  font-size: 0.8125rem;
  font-weight: bold;
  padding: 0.5625rem 1rem;
  margin: 0.875rem 0 0;
  background: #EBF3EC;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a .box .cat {
    font-size: 0.8571428571rem;
    padding: 0.4285714286rem 0.5rem;
  }
}
#index #index04 .list li a .box .cat.red {
  color: #fff;
  background: #DA4B29;
}
#index #index04 .list li a .box .cm_link2 {
  width: 9.4375rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  #index #index04 .list li a .box .cm_link2 {
    width: 10.4285714286rem;
    margin: 0;
    position: absolute;
    right: 1.4285714286rem;
    bottom: 2.1428571429rem;
  }
}
#index #index04 .list li a .box img {
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 979px) {
  #index #index04 .list li a .box img {
    height: 8.75rem;
  }
}
@media screen and (max-width: 1300px) {
  #index #index04 .list li a .box img {
    display: none;
  }
}
#index #index05 {
  margin-top: 6.5625rem;
}
@media only screen and (max-width: 767px) {
  #index #index05 {
    margin-top: 5.7142857143rem;
  }
}
#index #index05 h2 .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 3.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  #index #index05 h2 .en {
    font-size: 3.4285714286rem;
  }
}
#index #index05 h2 .jp {
  display: block;
  color: #808080;
  font-size: 1rem;
  letter-spacing: 0.22em;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  #index #index05 h2 .jp {
    font-size: 1rem;
  }
}
#index #index05 .cm_flex {
  justify-content: space-between;
  position: relative;
}
@media only screen and (min-width: 769px) {
  #index #index05 .cm_flex .left img {
    width: 31.9912152269vw;
    margin-left: -1.1713030747vw;
  }
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .left img {
    width: 76vw;
    margin-left: 17.8666666667vw;
  }
}
#index #index05 .cm_flex .left p {
  font-size: 1.625rem;
  font-feature-settings: "palt" 1;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.14em;
}
@media only screen and (min-width: 769px) {
  #index #index05 .cm_flex .left p {
    font-size: 1.9033674963vw;
    padding-left: 5.7833089312vw;
    margin-top: 2.7818448023vw;
  }
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .left p {
    font-size: 1.2857142857rem;
    font-weight: bold;
    position: absolute;
    top: -2.3571428571rem;
    left: 2rem;
  }
}
#index #index05 .cm_flex .left p .red {
  color: #DA4B29;
}
#index #index05 .cm_flex .right {
  padding: 3.5rem 0 3rem 4rem;
  background: #EBF3EC;
}
@media only screen and (min-width: 769px) {
  #index #index05 .cm_flex .right {
    width: 62.737920937vw;
  }
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right {
    margin-top: 3.1428571429rem;
    padding: 5em 0 5em 2em;
  }
}
#index #index05 .cm_flex .right .slide_loop {
  margin-top: 3rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right .slide_loop {
    margin-top: 1.8571428571rem;
  }
}
#index #index05 .cm_flex .right .slide_loop .mask {
  overflow: hidden;
}
#index #index05 .cm_flex .right .slide_loop .prev {
  width: 3.25rem;
  position: absolute;
  top: -5.625rem;
  right: 10rem;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right .slide_loop .prev {
    width: 2.8571428571rem;
    left: 0;
    bottom: 0;
    top: initial;
    right: initial;
    transform: none;
  }
}
#index #index05 .cm_flex .right .slide_loop .prev::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
#index #index05 .cm_flex .right .slide_loop .prev:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#index #index05 .cm_flex .right .slide_loop .prev img {
  position: relative;
  z-index: 2;
}
#index #index05 .cm_flex .right .slide_loop .next {
  width: 3.25rem;
  position: absolute;
  top: -5.625rem;
  right: 5rem;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right .slide_loop .next {
    width: 2.8571428571rem;
    left: 4.2857142857rem;
    bottom: 0;
    top: initial;
    right: initial;
    transform: none;
  }
}
#index #index05 .cm_flex .right .slide_loop .next::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
#index #index05 .cm_flex .right .slide_loop .next:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#index #index05 .cm_flex .right .slide_loop .next img {
  position: relative;
  z-index: 2;
}
#index #index05 .cm_flex .right .flex {
  margin-top: 3.375rem;
}
@media only screen and (min-width: 769px) {
  #index #index05 .cm_flex .right .flex {
    display: flex;
    align-items: center;
    gap: 0 2.9282576867vw;
  }
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right .flex {
    margin-top: 2.1428571429rem;
  }
}
#index #index05 .cm_flex .right .catList {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.125rem;
  max-width: 27.5rem;
  padding: 1.25rem 1em 1.25rem 1.25rem;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right .catList {
    margin-right: 2.1428571429rem;
    padding: 1.0714285714rem;
    gap: 0.8571428571rem;
  }
}
#index #index05 .cm_flex .right .catList li {
  font-size: 0.875rem;
  letter-spacing: 0.14em;
  padding: 0.1875rem 0 0.1875rem 1.625rem;
  position: relative;
}
/*
#index #index05 .cm_flex .right .catList li::after {
  width: 1.25rem;
  height: 1.25rem;
  content: "";
  border-radius: 0.5625rem 0 0.5625rem 0;
  background: #90C030;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
*/
#index #index05 .cm_flex .right .catList .green {
  color: #90C030;
}
#index #index05 .cm_flex .right .catList .red {
  color: #DA4B29;
}
#index #index05 .cm_flex .right .catList .red::after {
  background: #DA4B29;
}
#index #index05 .cm_flex .right .catList .yellow {
  color: #F6BD1B;
}
#index #index05 .cm_flex .right .catList .yellow::after {
  background: #F6BD1B;
}
#index #index05 .cm_flex .right .catList .brown {
  color: #A79C80;
}
#index #index05 .cm_flex .right .catList .brown::after {
  background: #A79C80;
}
#index #index05 .cm_flex .right .catList .dgreen {
  color: #007B43;
}
#index #index05 .cm_flex .right .catList .dgreen::after {
  background: #007B43;
}
#index #index05 .cm_flex .right .catList .black {
  color: #000;
}
#index #index05 .cm_flex .right .catList .black::after {
  background: #000;
}
#index #index05 .cm_flex .right .cm_link2 {
  width: 11.9375rem;
}
@media only screen and (max-width: 767px) {
  #index #index05 .cm_flex .right .cm_link2 {
    width: 10.4285714286rem;
    margin-top: 2.1428571429rem;
    margin-left: auto;
    margin-right: 2.1428571429rem;
  }
}
#index #index06 {
  padding: 0 5rem;
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  #index #index06 {
    padding: 0 1.4285714286rem;
    margin-top: 3.4285714286rem;
  }
}
#index #index06 h2 {
  text-align: center;
}
#index #index06 h2 .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 3.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  #index #index06 h2 .en {
    font-size: 3.4285714286rem;
  }
}
#index #index06 h2 .jp {
  display: block;
  color: #808080;
  font-size: 1rem;
  letter-spacing: 0.22em;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  #index #index06 h2 .jp {
    font-size: 1rem;
  }
}
#index #index06 .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 3.25rem;
  gap: 3.25rem 0;
}
@media only screen and (max-width: 767px) {
  #index #index06 .list {
    margin-top: 2.2857142857rem;
    gap: 1.5714285714rem 0;
  }
}
#index #index06 .list li {
  min-width: 16.875rem;
  width: 19.7657393851vw;
}
@media only screen and (max-width: 767px) {
  #index #index06 .list li {
    width: calc((100% - 1em) / 2);
    min-width: auto;
  }
}
#index #index06 .list li a {
  display: block;
  text-align: center;
  text-decoration: none;
}
#index #index06 .list li a .img {
  height: 21.25rem;
  background: #EBF3EC;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #index #index06 .list li a .img {
    height: auto;
    padding-top: 100%;
  }
}
#index #index06 .list li a .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #index #index06 .list li a .img img {
    width: 81.25%;
  }
}
#index #index06 .list li a .img .sdw {
  max-width: 162px;
  filter: drop-shadow(3px 3px 2px rgba(0, 0, 0, 0.2));
}
@media only screen and (max-width: 767px) {
  #index #index06 .list li a .img .sdw {
    width: 55%;
  }
}
#index #index06 .list li a .cm_link2 {
  display: inline-block;
  width: auto;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: left;
  padding: 0 3.375rem 1.25rem 0;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #index #index06 .list li a .cm_link2 {
    font-size: 1.1428571429rem;
    font-weight: bold;
  }
}
#index .img_loop {
  display: flex;
  gap: 0 2rem;
  width: 225rem;
  height: 11rem;
  margin-top: 3.25rem;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #index .img_loop {
    margin-top: 1.7857142857rem;
  }
}
#index .img_loop img {
  width: 112.5rem;
  height: 11rem;
  -webkit-animation: 40s linear infinite flow-typo-md;
  animation: 40s linear infinite flow-typo-md;
}

@-webkit-keyframes flow-typo-md {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes flow-typo-md {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUp.play {
  animation-name: fadeUpAnime;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
} 

#aboutus .sidebar.about01 ul li:nth-child(1) {
  color: #90C030;
}
/*
#aboutus .sidebar.about02 ul li:nth-child(2) {
  color: #90C030;
}
  */
#aboutus .sidebar.about03 ul li:nth-child(3) {
  color: #90C030;
}
#aboutus .sidebar.about04 ul li:nth-child(4) {
  color: #90C030;
}
#aboutus .sidebar.about05 ul li:nth-child(5) {
  color: #90C030;
}
#aboutus .sidebar.about06 ul li:nth-child(6) {
  color: #90C030;
}
#aboutus .contents h2 + h3 {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents h2 + h3 {
    margin-top: 2rem;
  }
}
#aboutus .contents h3 {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: center;
  color: #FFF;
  font-feature-settings: "palt" 1;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin-top: 5rem;
  background: #90C030;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents h3 {
    min-height: 3.5rem;
    font-size: 1.2142857143rem;
    font-weight: bold;
  }
}
#aboutus .contents h3 span {
  display: block;
}
#aboutus .contents h3 .num {
  width: 2.0625rem;
  color: #90C030;
  font-size: 1.5rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  text-align: center;
  letter-spacing: 0;
  padding: 0.3125rem 0;
  margin-right: 1rem;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents h3 .num {
    width: 1.7857142857rem;
    font-size: 1.2857142857rem;
    padding: 0.2857142857rem 0;
  }
}
#aboutus .contents h5 {
  display: inline-block;
  color: #fff;
  font-size: 0.875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  background: #90C030;
  padding: 0.3125rem 1em;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents h5 {
    font-weight: bold;
  }
}
@media only screen and (max-width: 767px) {
  #aboutus .contents h3 + .flexBox {
    margin-top: 2.1428571429rem;
  }
}
#aboutus .contents .flexBox {
  font-feature-settings: "palt" 1;
  margin-top: 2.5rem;
}
@media only screen and (min-width: 769px) {
  #aboutus .contents .flexBox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media screen and (max-width: 1200px) {
  #aboutus .contents .flexBox {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .flexBox {
    margin-top: 3.7142857143rem;
  }
}
#aboutus .contents .flexBox .img {
  width: 45.7142857143%;
  padding-top: 29.011%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1200px) {
  #aboutus .contents .flexBox .img {
    width: 26rem;
    height: 16.5rem;
    padding: 0;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .flexBox .img {
    width: 100%;
    height: auto;
    padding-top: 63.4615384615%;
  }
}
#aboutus .contents .flexBox .img2 {
  width: 45.7142857143%;
}
@media screen and (max-width: 1200px) {
  #aboutus .contents .flexBox .img2 {
    width: 26rem;
    padding: 0;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .flexBox .img2 {
    width: 100%;
    height: auto;
  }
}
@media only screen and (min-width: 769px) {
  #aboutus .contents .flexBox dl {
    width: 54.2857142857%;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 1200px) {
  #aboutus .contents .flexBox dl {
    width: 100%;
    padding: 2.2142857143rem 0 0;
  }
}
#aboutus .contents .flexBox dl dt {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.6;
  margin: -0.3em 0;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .flexBox dl dt {
    font-size: 1.3571428571rem;
    font-weight: bold;
  }
}
#aboutus .contents .flexBox dl dd {
  line-height: 2;
  margin: calc(1.75rem - 0.5em) 0 -0.5em;
}
@media only screen and (min-width: 769px) {
  #aboutus .contents .flexBox .txtBox {
    width: 54.2857142857%;
    padding-left: 2rem;
  }
}
@media screen and (max-width: 1200px) {
  #aboutus .contents .flexBox .txtBox {
    width: 100%;
    padding: 1.75rem 0 0;
  }
}
#aboutus .contents .flexBox .txtBox *:first-child {
  margin-top: 0;
}
#aboutus .contents .flexBox .txtBox h5 + p {
  margin: calc(1.25rem - 0.5em) 0 -0.5em;
}
#aboutus .contents .flexBox .txtBox p {
  line-height: 2;
  margin: calc(1.75rem - 0.5em) 0 -0.5em;
}
#aboutus .contents .flexBox .txtBox .cm_link2 {
  width: 18.125rem;
  margin-top: 3.5rem;
}
#aboutus .contents .flexBox .txtBox .cm_link2.mgt {
  margin-top: 1.75rem;
}
@media screen and (max-width: 1200px) {
  #aboutus .contents .flexBox .txtBox .cm_link2 {
    margin: 3rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .flexBox .txtBox .cm_link2 {
    display: inline-block;
    width: auto;
    padding-right: 3.0714285714rem;
    margin: 2.3571428571rem 0 0;
  }
  #aboutus .contents .flexBox .txtBox .cm_link2.br {
    line-height: 1.5;
    margin: calc(2.3571428571rem - 0.25em) 0 -0.25em;
  }
  #aboutus .contents .flexBox .txtBox .cm_link2.br::before {
    bottom: 2.25rem;
  }
  #aboutus .contents .flexBox .txtBox .cm_link2.br::after {
    bottom: 2.75rem;
  }
}
#aboutus .contents .detail {
  padding: 0 2.4375rem 2.5rem;
  margin-top: 2.5rem;
  border: 1px solid #C9C9C9;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .detail {
    padding: 0 1.4285714286rem 2.5714285714rem;
    margin-top: 2.1428571429rem;
  }
}
#aboutus .contents .detail figure {
  position: absolute;
  width: 5.3125rem;
  bottom: -0.5625rem;
  right: -0.875rem;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .detail figure {
    width: 20vw;
    bottom: -1.3571428571rem;
    right: -0.7142857143rem;
  }
}
#aboutus .contents .detail figure.b {
  bottom: -1.4375rem;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .detail figure.b {
    bottom: -3rem;
  }
}
#aboutus .contents .detail h4 {
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  padding: 1.375rem 0;
  border-bottom: 1px solid #E6ECE9;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .detail h4 {
    font-size: 1.4285714286rem;
    font-weight: bold;
    line-height: 1.25;
    padding: 1rem 0;
  }
}
#aboutus .contents .detail .flexBox {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #aboutus .contents .detail .flexBox {
    margin-top: 1.0714285714rem;
  }
}
#aboutus #about01 {
  position: relative;
}
#aboutus #about01 .cm_h2,
#overview02  .cm_h2 {
  margin-top: 0;
}
#aboutus #about01 .catch {
  line-height: 1;
  margin-top: 5.25rem;
}


@media only screen and (max-width: 767px) {
  #aboutus #about01 .catch {
    margin-top: 2.7142857143rem;
  }
}
#aboutus #about01 .catch img {
  height: 10.075rem;
}
@media only screen and (max-width: 767px) {
  #aboutus #about01 .catch img {
    height: 9.357143rem;
  }
}
#aboutus #about01 .catch + p {
  margin: calc(5rem - 0.6em) 0 -0.6em;
}
@media only screen and (max-width: 767px) {
  #aboutus #about01 .catch + p {
    margin: calc(3rem - 0.5em) 0 -0.5em;
  }
}
#aboutus #about01 p {
  font-size: 1.125rem;
  line-height: 2.2;
  margin: calc(3.5rem - 0.6em) 0 -0.6em;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #aboutus #about01 p {
    font-size: 1.1428571429rem;
    line-height: 2;
    margin: calc(3rem - 0.5em) 0 -0.5em;
  }
}
#aboutus #about01 p .red {
  color: #DA4B29;
}
#aboutus #about01 .image {
  width: 61.3186813187%;
  position: absolute;
  top: 4.75rem;
  right: 0;
  z-index: -1;
}
@media only screen and (max-width: 979px) {
  #aboutus #about01 .image {
    position: static;
    width: 100vw;
    max-width: 558px;
    margin: -18.6666666667vw 0 0 -20px;
  }
}
#aboutus #about02 .cm_h2 {
  margin-top: 9.375rem;
}
@media only screen and (max-width: 767px) {
  #aboutus #about02 .cm_h2 {
    margin-top: 5.375rem;
  }
}
#aboutus #about02 .bg {
  padding: 3rem 2.5rem;
  margin-top: 4rem;
  background: #EFF7F0;
}
@media only screen and (max-width: 767px) {
  #aboutus #about02 .bg {
    margin-top: 2.8571428571rem;
    padding: 1.4285714286rem 1.4285714286rem 2.4285714286rem;
  }
}
#aboutus #about02 .bg .flexBox {
  margin-top: 0;
}
#aboutus #about02 .bg + .flexBox {
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  #aboutus #about02 .bg + .flexBox {
    margin-top: 3.5rem;
  }
}
#aboutus #about02 .power {
  margin-top: 2.5rem;
  padding: 2rem 0 0;
  border-top: 1px solid #E6ECE9;
}
#aboutus #about02 .power:first-of-type {
  padding: 0;
  border: none;
}
#aboutus #about02 .power dt {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  padding: 0.1875rem 0 0.1875rem 2.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #aboutus #about02 .power dt {
    font-size: 1.4285714286rem;
    font-weight: bold;
    padding: 0 0 0 2.1428571429rem;
  }
}
#aboutus #about02 .power dt::after {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: #90C030;
  border-radius: 0.8125rem 0 0.8125rem 0;
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  #aboutus #about02 .power dt::after {
    width: 1.4285714286rem;
    height: 1.4285714286rem;
  }
}
#aboutus #about02 .power .red {
  color: #DA4B29;
}
#aboutus #about02 .power .red::after {
  background: #DA4B29;
}
#aboutus #about02 .power .yellow {
  color: #FAC11B;
}
#aboutus #about02 .power .yellow::after {
  background: #FAC11B;
}
#aboutus #about02 .power dd {
  line-height: 2;
  margin: calc(1.25rem - 0.5em) 0 -0.5em;
}
#aboutus #about04 .detail {
  margin-top: 4.25rem;
}
/*
#overview .sidebar.overview01 ul li:nth-child(1) {
  color: #90C030;
}
  */
#overview .sidebar.overview02 ul li:nth-child(1) {
  color: #90C030;
}
#overview .sidebar.overview03 ul li:nth-child(2) {
  color: #90C030;
}
#overview .sidebar.overview04 ul li:nth-child(3) {
  color: #90C030;
}
/*
#overview .sidebar.overview05 ul li:nth-child(5) {
  color: #90C030;
}
#overview .sidebar.overview06 ul li:nth-child(6) {
  color: #90C030;
}
  */
#overview .modal {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 8;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
#overview .modal.show {
  opacity: 1;
  visibility: visible;
}
#overview .modal.show .bgLayer {
  opacity: 1;
}
#overview .modal.show .modalContainer {
  opacity: 1;
  transform: translateX(-50%) translateY(-50%) scale(1);
}
#overview .modal .bgLayer {
  width: 100%;
  height: 100%;
  background: rgba(205, 217, 185, 1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  /*
  &.show{
  	opacity: 1;
  }
  */
}
#overview .modal .modalContainer {
  max-width: 900px;
  width: 65.8857979502vw;
  max-height: calc(100vh - 12rem);
  padding: 6.25rem;
  background: #FFF;
  position: absolute;
  top: calc(50% + 3rem);
  left: 50%;
  transition: 0.125s;
  transform: translateX(-50%) translateY(-50%) scale(0.9);
  opacity: 0;
  overflow: auto;
  /*
  &.show{
  	opacity: 1;
  	transform: translateX(-50%) translateY(-50%) scale(1);
  }
  */
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer {
    max-height: calc(100vh - 9.1428571429rem);
    max-height: calc(100svh - 9.1428571429rem);
    width: calc(100% - 60px);
    padding: 6.1428571429rem 1.8571428571rem 2.5714285714rem;
    top: calc(50% + 2.2857142857rem);
  }
}
#overview .modal .modalContainer .body .img {
  width: 9.25rem;
  height: 9.25rem;
  margin: 0 auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer .body .img {
    width: 10.5714285714rem;
    height: 10.5714285714rem;
  }
}
#overview .modal .modalContainer .body dl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media only screen and (min-width: 769px) {
  #overview .modal .modalContainer .body dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer .body dl dt {
    margin-bottom: 1.5rem;
  }
}
#overview .modal .modalContainer .body dl dt span {
  display: block;
  text-align: center;
}
#overview .modal .modalContainer .body dl dt .green {
  color: #90C030;
  font-size: 0.9375rem;
  margin-top: 1.25rem;
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer .body dl dt .green {
    font-size: 1.1428571429rem;
    margin-top: 1.4285714286rem;
  }
}
#overview .modal .modalContainer .body dl dt .name {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-top: 0.75rem;
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer .body dl dt .name {
    font-size: 1.7142857143rem;
    font-weight: bold;
  }
}
#overview .modal .modalContainer .body dl dd {
  width: calc(100% - 200px);
  line-height: 2.25;
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer .body dl dd {
    width: 100%;
    line-height: 1.75;
  }
}
#overview .modal .modalContainer .close {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.625rem;
  letter-spacing: 0.04em;
  padding-right: 3.5rem;
  background: url("https://www.alba-edu.org/img_2023/close.svg") center right/auto 1rem no-repeat;
  cursor: pointer;
  position: absolute;
  right: 2.5rem;
  top: 2rem;
}
@media only screen and (max-width: 767px) {
  #overview .modal .modalContainer .close {
    font-size: 1.2857142857rem;
    right: 2rem;
  }
}
#overview .modal .teikan {
  max-width: 1206px;
  max-height: 41.4375rem;
  width: 88.2869692533vw;
  padding: 4.75rem 5.8565153734vw 3.125rem;
  overflow: scroll;
}
@media only screen and (max-width: 767px) {
  #overview .modal .teikan {
    width: calc(100% - 60px);
    padding: 6.1428571429rem 1.8571428571rem 2.5714285714rem;
  }
}
#overview .modal .teikan::-webkit-scrollbar {
  width: 0.75rem;
  border-radius: 3.75rem;
}
#overview .modal .teikan::-webkit-scrollbar-thumb {
  background-color: #90C030;
  border-radius: 3.75rem;
}
#overview .modal .teikan::after {
  width: 100%;
  height: 3.125rem;
  content: "";
  position: fixed;
  left: 0;
  bottom: 0;
}
#overview .modal .teikan .scroll {
  padding-bottom: 3rem;
}
#overview .modal .teikan .cm_h2:first-of-type {
  margin: 0;
}
#overview .modal .teikan .cm_link2 {
  margin-top: 3rem;
}
#overview .modal .teikan h3 {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-top: 3.5rem;
}
@media only screen and (max-width: 767px) {
  #overview .modal .teikan h3 {
    font-size: 1.1428571429rem;
    font-weight: bold;
    margin-top: 2.8571428571rem;
  }
}
#overview .modal .teikan p {
  font-size: 0.875rem;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  #overview .modal .teikan p {
    font-size: 0.8571428571rem;
  }
}
#overview .staffList {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2.5rem;
  margin-top: 2.8125rem;
}
@media only screen and (max-width: 767px) {
  #overview .staffList {
    gap: 2.5714285714rem 1em;
  }
}
#overview .staffList li {
  max-width: 180px;
  letter-spacing: 0.12em;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #overview .staffList li {
max-width: 100%;
    width: calc((100% - 1em) / 2);
  }
}
@media only screen and (min-width: 769px) {
  #overview .staffList li:hover .img img {
    transform: scale(1.15);
  }
  #overview .staffList li:hover .name {
    color: #90C030;
  }
}
#overview .staffList li .img {
  width: 9.25rem;
  height: 9.25rem;
  margin: 0 auto 1.1875rem;
  -webkit-mask-image: url("/img_2023/mask2.svg");
  mask-image: url("/img_2023/mask2.svg");
}
@media only screen and (max-width: 767px) {
  #overview .staffList li .img {
    width: 9.9285714286rem;
    height: 9.9285714286rem;
    margin: 0 auto 1rem;
  }
}
#overview .staffList li .img img {
  transition: 0.25s ease-in-out;
  transform: scale(1);
}
#overview .staffList li .green {
  color: #90C030;
  text-align: center;
  margin-bottom: 0.75rem;
letter-spacing: 1.0px;
}
#overview .staffList li .name {
  font-size: 0.875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
}
#overview .staffList li .name strong {
  font-size: 1.25rem;
}
@media only screen and (max-width: 767px) {
  #overview .staffList li .name strong {
    font-size: 1.1428571429rem;
  }
}
@media only screen and (max-width: 767px) {
  #overview .staffList li .name {
    font-size: 1rem;
    font-weight: bold;
  }
}
#overview .staffList li .name span {
  font-size: 1.25rem;
  color: #90C030;
}
@media only screen and (max-width: 767px) {
  #overview .staffList li .name span {
    font-size: 1.1428571429rem;
  }
}
#overview #overview01 .cm_h2 {
  margin-top: 4rem;
}
#overview #overview01 .read {
  font-size: 1.75rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.28em;
  line-height: 1.75;
  margin: calc(6rem - 0.375em) 0 -0.375em;
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .read {
    font-size: 1.3571428571rem;
    font-weight: bold;
    letter-spacing: 0.16em;
    line-height: 1.5;
    margin: calc(2rem - 0.25em) 0 -0.25em;
  }
}
#overview #overview01 .read .red {
  color: #DA4B29;
}
#overview #overview01 p {
  font-size: 1.125rem;
  line-height: 2.2;
  margin: calc(2.5rem - 0.6em) 0 -0.6em;
}
@media only screen and (max-width: 767px) {
  #overview #overview01 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(2rem - 0.5em) 0 -0.5em;
  }
}
#overview #overview01 .cm_flex {
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 5rem;
}
@media screen and (max-width: 979px) {
  #overview #overview01 .cm_flex {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .cm_flex {
    margin-top: 0.6428571429rem;
  }
}
@media only screen and (min-width: 769px) {
  #overview #overview01 .cm_flex dl {
    width: 60.7692307692%;
    order: 1;
  }
}
@media screen and (max-width: 979px) {
  #overview #overview01 .cm_flex dl {
    width: 100%;
  }
}
#overview #overview01 .cm_flex dl dt {
  padding-bottom: 1.375rem;
  border-bottom: 1px solid #B2B2B2;
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .cm_flex dl dt {
    text-align: center;
  }
}
#overview #overview01 .cm_flex dl dt .name {
  display: block;
  color: #808080;
  font-size: 0.875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .cm_flex dl dt .name {
    font-size: 1rem;
    font-weight: bold;
  }
}
#overview #overview01 .cm_flex dl dt .name strong {
  display: inline-block;
  color: #90C030;
  font-size: 1.625rem;
  letter-spacing: 0.18em;
  padding-right: 1rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .cm_flex dl dt .name strong {
    font-size: 1.4285714286rem;
  }
}
#overview #overview01 .cm_flex dl dd {
  line-height: 2;
  margin: calc(1.75rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .cm_flex dl dd {
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
@media only screen and (min-width: 769px) {
  #overview #overview01 .cm_flex img {
    width: 32.0879120879%;
    order: 2;
  }
}
@media screen and (max-width: 979px) {
  #overview #overview01 .cm_flex img {
    width: 100%;
    max-width: 292px;
    margin: 0 auto 2rem;
  }
}
@media only screen and (max-width: 767px) {
  #overview #overview01 .cm_flex img {
    width: 56vw;
  }
}
#overview #overview03 table {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 table {
    border-top: 1px solid #CDD2CB;
    margin-top: 2rem;
  }
}
#overview #overview03 table tbody tr:last-child th, #overview #overview03 table tbody tr:last-child td {
  border: none;
  padding-bottom: 0;
}
#overview #overview03 table tbody tr th {
  width: 15rem;
  color: #90C030;
  font-size: 1.25rem;
  font-weight: normal;
  padding: 2.375rem 0 2.375rem 0.625rem;
  border-bottom: 1px solid #90C030;
  vertical-align: top;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 table tbody tr th {
    display: block;
    width: 100%;
    font-size: 1.2142857143rem;
    padding: 2rem 0 0;
    border: none;
  }
  #overview #overview03 table tbody tr th::after {
    width: 4.8571428571rem;
    height: 1px;
    content: "";
    background: #90C030;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-50%);
  }
}
#overview #overview03 table tbody tr .fs14 {
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 table tbody tr .fs14 {
    font-size: 1rem;
  }
}
#overview #overview03 table tbody tr td {
  line-height: 2;
  border-bottom: 1px solid #CDD2CB;
  padding: 2rem 0 2rem 1.25rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 table tbody tr td {
    display: block;
    width: 100%;
    font-size: 1.1428571429rem;
    line-height: 1.5;
    padding: 0.75rem 0 2rem;
  }
}
@media only screen and (max-width: 767px) {
  #overview #overview03 table tbody tr td.sp14 {
    font-size: 1rem;
  }
}
#overview #overview03 table tbody tr td a {
  color: #90C030;
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 table tbody tr td a {
    font-size: 1.1428571429rem;
  }
}
#overview #overview03 .history li {
  display: flex;
  margin-top: 1.5rem;
  letter-spacing: 0.12em;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 .history li {
    display: block;
  }
}
#overview #overview03 .history li:first-child {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 .history li:first-child {
    margin-top: 0.5rem;
  }
}
#overview #overview03 .history li span {
  display: block;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 .history li span {
    font-size: 1rem;
  }
}
#overview #overview03 .history li .y {
  min-width: 7.5rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 .history li .y {
    padding-bottom: 0.5rem;
  }
}
#overview #overview03 .map {
  width: 100%;
  height: 14.375rem;
  margin-top: 1.75rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 .map {
    height: 16.4285714286rem;
  }
}
#overview #overview03 .map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
#overview #overview03 .map img {
  height: 5.5rem;
  position: absolute;
  left: -3.375rem;
  bottom: 0;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #overview #overview03 .map img {
    bottom: -2rem;
    left: -2rem;
  }
}
#overview #overview05 .bg {
  background: #EEF6EF;
  padding: 3.125rem 5rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview05 .bg {
    padding: 1.6428571429rem 1.4285714286rem 2.2857142857rem;
    margin-top: 1.8571428571rem;
  }
}
#overview #overview05 .bg dl {
  border-top: 1px solid #B5B5B5;
  padding-top: 2rem;
  margin-top: 2rem;
}
#overview #overview05 .bg dl:first-child {
  border: none;
  margin: 0;
  padding: 0;
}
#overview #overview05 .bg dl dt {
  color: #90C030;
  font-weight: bold;
  font-size: 1.375rem;
}
#overview #overview05 .bg dl dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.75rem;
  margin-top: 1.75rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview05 .bg dl dd ul {
    gap: 1.0714285714rem 0;
    margin-top: 1.2857142857rem;
  }
}
#overview #overview05 .bg dl dd ul li {
  width: 14.9375rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview05 .bg dl dd ul li {
    width: 100%;
  }
}
#overview #overview05 .bg dl dd ul li a {
  display: block;
  height: 3rem;
  background: #fff;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #overview #overview05 .bg dl dd ul li a {
    height: 4.2857142857rem;
    font-size: 1.1428571429rem;
  }
}
#overview #overview05 .bg dl dd ul li a:hover::before {
  transform: translateX(50%) translateY(-50%) scale(1.2, 1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#overview #overview05 .bg dl dd ul li a span {
  display: block;
  letter-spacing: 0.16em;
  position: absolute;
  top: 50%;
  left: 1.875rem;
  transform: translateY(-50%);
}
#overview #overview05 .bg dl dd ul li a::before {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: #90C030;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 1.75rem;
  transform: translateX(50%) translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #overview #overview05 .bg dl dd ul li a::before {
    width: 1.8571428571rem;
    height: 1.8571428571rem;
    right: 1.8571428571rem;
  }
}
#overview #overview05 .bg dl dd ul li a::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw.svg") center/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 1.75rem;
  transform: translateX(50%) translateY(-50%);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #overview #overview05 .bg dl dd ul li a::after {
    right: 1.8571428571rem;
  }
}
#overview #overview06 .slide_loop {
  margin-top: 3.3125rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #overview #overview06 .slide_loop {
    margin-top: 2.1428571429rem;
  }
}
#overview #overview06 .slide_loop .prev {
  display: block;
  width: 3.25rem;
  margin-top: 2.375rem;
  cursor: pointer;
  position: relative;
  transform: none;
}
@media only screen and (max-width: 767px) {
  #overview #overview06 .slide_loop .prev {
    width: 2.8571428571rem;
  }
}
#overview #overview06 .slide_loop .prev::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#overview #overview06 .slide_loop .prev:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#overview #overview06 .slide_loop .next {
  width: 3.25rem;
  position: absolute;
  bottom: 0;
  left: 5.25rem;
  cursor: pointer;
  transform: none;
}
@media only screen and (max-width: 767px) {
  #overview #overview06 .slide_loop .next {
    width: 2.8571428571rem;
    left: 4.2857142857rem;
  }
}
#overview #overview06 .slide_loop .next::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#overview #overview06 .slide_loop .next:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#overview #overview06 .slide_loop .more {
  position: absolute;
  right: 0;
  bottom: 0;
}
#overview #overview06 .slide_loop .more .cm_link2 {
  width: 11.9375rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #overview #overview06 .slide_loop .more .cm_link2 {
    width: 10.4285714286rem;
    font-size: 1.1428571429rem;
  }
}
#overview #overview06 .slide_loop .mask {
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  #activities .contents {
    width: calc(100% - 60px);
  }
}
@media screen and (min-width: 768px) {
  #activities aside .cm_link {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  #activities aside .cm_link {
    width: 72vw;
    height: 4.2857142857rem;
    border-radius: 1.4285714286rem 0 1.4285714286rem 0;
    margin-top: 3.7142857143rem;
    position: fixed;
    left: 1.4285714286rem;
    bottom: 0.7142857143rem;
    z-index: 3;
  }
  #activities aside .cm_link span {
    font-size: 1.1428571429rem;
  }
  #activities aside .cm_link::after {
    background: url(https://www.alba-edu.org/img_2023/activities/open.svg) center/100% no-repeat;
  }
}
@media only screen and (max-width: 767px) {
  #activities aside .sidebar {
    width: 100vw;
    height: 100vh;
    padding: 3.4285714286rem 2.1428571429rem 8.5714285714rem;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    overflow: scroll;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
  }
  #activities aside .sidebar::-webkit-scrollbar {
    width: 0.8571428571rem;
    border-radius: 50%;
  }
  #activities aside .sidebar::-webkit-scrollbar-track {
    background-color: #fff;
    border-radius: 3.75rem;
  }
  #activities aside .sidebar::-webkit-scrollbar-thumb {
    background-color: #CCCCCC;
    border-radius: 3.75rem;
  }
  #activities aside .sidebar.show {
    opacity: 1;
    visibility: visible;
  }
  #activities aside .sidebar h2 {
    font-size: 1.1428571429rem;
    padding: 0 0.8571428571rem 1.2857142857rem;
    border-bottom: 1px solid #E2E8E5;
    margin-top: 3.4285714286rem;
  }
  #activities aside .sidebar h2:first-of-type {
    margin: 0;
  }
}
#activities aside .sidebar .cm_link {
  width: calc(100% - 40px);
}
@media screen and (min-width: 768px) {
  #activities aside .sidebar .cm_link {
    display: none;
  }
}
#activities aside .sidebar .cm_link::after {
  background: url(https://www.alba-edu.org/img_2023/activities/close.svg) center/100% no-repeat;
}
@media only screen and (max-width: 767px) {
  #activities aside .sidebar ul {
    width: 100%;
    margin: 0;
  }
}
#activities aside .sidebar ul::before, #activities aside .sidebar ul::after {
  display: none;
}
@media only screen and (max-width: 767px) {
  #activities aside .sidebar ul li {
    width: 50%;
  }
  #activities aside .sidebar ul li:last-child::after {
    display: block;
  }
  #activities aside .sidebar ul li.parent {
    display: block;
    width: 100%;
    position: relative;
  }
  #activities aside .sidebar ul li.parent > a::before {
    display: block;
    width: 0.7857142857rem;
    height: 0.1428571429rem;
    content: "";
    background: #000;
    position: absolute;
    top: 50%;
    right: 1.4285714286rem;
    transform: translateY(-50%) rotate(270deg);
    transition: 0.5s;
  }
  #activities aside .sidebar ul li.parent > a::after {
    display: block;
    width: 0.7857142857rem;
    height: 0.1428571429rem;
    content: "";
    background: #000;
    position: absolute;
    top: 50%;
    right: 1.4285714286rem;
    transform: translateY(-50%);
  }
  #activities aside .sidebar ul li.parent a {
    padding-top: 1.4285714286rem;
    padding-bottom: 1.4285714286rem;
  }
  #activities aside .sidebar ul li.open > a::before {
    transform: translateY(-50%) rotate(180deg);
  }
  #activities aside .sidebar ul li.open .child {
    height: auto;
  }
  #activities aside .sidebar ul li.open .child li {
    height: auto;
    margin-bottom: 1.2857142857rem;
  }
  #activities aside .sidebar ul li.open .child li:last-child {
    margin-bottom: 2.2857142857rem;
  }
  #activities aside .sidebar ul li.open .child li:last-child::after {
    display: none;
  }
  #activities aside .sidebar ul li.w100 {
    width: 100%;
  }
  #activities aside .sidebar ul li.br {
    border-right: 1px solid #E2E8E5;
  }
  #activities aside .sidebar ul li .child {
    border: none;
  }
  #activities aside .sidebar ul li .child li {
    height: 0;
    overflow: hidden;
    transition: 0.5s;
    margin-bottom: 0;
  }
  #activities aside .sidebar ul li .child li a {
    font-size: 1rem;
    padding: 0 0 0 1.4285714286rem;
  }
  #activities aside .sidebar ul li .child li a::before {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  #activities aside .sidebar ul li a {
    font-size: 1.0714285714rem;
    padding-left: 1.4285714286rem;
  }
}
#activities aside .sidebar ul li a::after {
  display: none;
}
#activities .tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 3rem 0 1.875rem;
  padding-bottom: 1.75rem;
  border-bottom: 1px solid #E6ECE9;
}
@media only screen and (max-width: 767px) {
  #activities .tagList {
    margin-top: 2.1428571429rem;
  }
}
#activities .tagList li.current a {
  background: #90c030;
  color: #fff;
}
#activities .tagList li a {
  display: block;
  color: #231815;
  font-size: 0.9375rem;
  text-decoration: none;
  padding: 0.4375rem;
  border-radius: 0.3125rem;
  background: #EFF7F0;
  transition: 0.5s;
}
#activities .tagList li a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 767px) {
  #activities .tagList li a {
    font-size: 0.8571428571rem;
  }
}
#activities .pickupList {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 2rem;
}
@media only screen and (max-width: 767px) {
  #activities .pickupList {
    gap: 2.5rem 0;
  }
}
#activities .pickupList li {
  min-width: auto;
  width: calc((100% - 2rem) / 2);
}
@media only screen and (max-width: 767px) {
  #activities .pickupList li {
    width: 100%;
  }
}
#activities .pickupList li a .box {
  height: auto;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.5rem 1.25rem;
  padding: 1.25rem 5.25rem 1.25rem 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #activities .pickupList li a .box {
    gap: 0.5rem 0.9285714286rem;
  }
}
#activities .pickupList li a .box .cat {
  font-size: 0.8125rem;
  padding-left: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #activities .pickupList li a .box .cat {
    font-size: 0.9285714286rem;
  }
}
#activities .pickupList li a .box .cat div {
  width: 1rem;
  height: 1rem;
  border-radius: 0.5rem 0 0.5rem 0;
  content: "";
  background: #90C030;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  }
  
#activities .pickupList li a .box .cat::after {
  width: 1rem;
  height: 1rem;
  border-radius: 0.5rem 0 0.5rem 0;
}

#activities .pickupList li a .box .date {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

#books .sidebar.intro ul li:nth-child(1) {
  color: #90C030;
}
#books .sidebar.news ul li:nth-child(2) {
  color: #90C030;
}
#books .sidebar.comment ul li:nth-child(3) {
  color: #90C030;
}
#books .sidebar.event ul li:nth-child(4) {
  color: #90C030;
}
#books #intro h2 {
  color: #FFF;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-align: center;
  padding: 1.3125rem 1rem;
  margin-top: 0;
  background: #90C030;
}
@media only screen and (max-width: 767px) {
  #books #intro h2 {
    font-size: 1.2142857143rem;
    font-weight: bold;
    margin-top: 2.8571428571rem;
    padding: 0.6428571429rem 1rem;
  }
}
#books #intro .cm_flex {
  margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  #books #intro .cm_flex {
    margin-top: 2.1428571429rem;
  }
}
#books #intro .cm_flex .image {
  height: 21.25rem;
  background: rgb(237, 245, 238);
  position: relative;
}
@media only screen and (min-width: 769px) {
  #books #intro .cm_flex .image {
    width: 45.8241758242%;
  }
}
@media only screen and (max-width: 767px) {
  #books #intro .cm_flex .image {
    height: 68.5333333333vw;
  }
}
#books #intro .cm_flex .image img {
  height: 14.6875rem;
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #books #intro .cm_flex .image img {
    height: 47.4666666667vw;
  }
}
@media only screen and (min-width: 769px) {
  #books #intro .cm_flex .txtBox {
    width: 54.1758241758%;
    padding-left: 2rem;
  }
}
#books #intro .cm_flex .txtBox .title {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.6;
  margin: calc(1.25rem - 0.3em) 0 -0.3em;
}
@media only screen and (max-width: 767px) {
  #books #intro .cm_flex .txtBox .title {
    font-size: 1.3571428571rem;
    font-weight: bold;
    margin: calc(2rem - 0.3em) 0 -0.3em;
  }
}
#books #intro .cm_flex .txtBox p {
  line-height: 2;
  margin: calc(2.75rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  #books #intro .cm_flex .txtBox p {
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}
#books #intro .detail {
  margin-top: 3.75rem;
  padding: 0 2.375rem 2.625rem;
  border: 1px solid #C1C1C1;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail {
    padding-left: 1.4285714286rem;
    padding-right: 1.4285714286rem;
  }
}
#books #intro .detail h3 {
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-align: center;
  padding: 1em 0;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail h3 {
    font-size: 1.4285714286rem;
    font-weight: bold;
    padding: 1.1428571429rem 0;
  }
}
#books #intro .detail h4 {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.6;
  margin: 2.5rem 0 -0.3em;
  padding-top: calc(2.5rem - 0.3em);
  border-top: 1px solid #DEE4E1;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail h4 {
    font-size: 1.2142857143rem;
    font-weight: bold;
  }
}
#books #intro .detail h3 + h4 {
  margin-top: 0;
}
#books #intro .detail .list1 li {
  line-height: 1.5;
  margin: 0.75rem 0 0;
  padding-left: 2rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail .list1 li {
    padding-left: 1.5rem;
  }
}
#books #intro .detail .list1 li:first-child {
  margin-top: calc(1.75rem - 0.25em);
}
#books #intro .detail .list1 li::before {
  color: #90C030;
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
}
#books #intro .detail p {
  line-height: 2;
  margin: calc(1.75rem - 0.5em) 0 -0.5em;
}
#books #intro .detail .cm_flex {
  align-items: flex-end;
  justify-content: space-between;
}
@media only screen and (min-width: 769px) {
  #books #intro .detail .cm_flex img {
    width: 50.1201923077%;
  }
}
@media only screen and (min-width: 769px) {
  #books #intro .detail .cm_flex p {
    padding-left: 2rem;
  }
}
#books #intro .detail .cm_flex p a {
  color: #90C030;
}
#books #intro .detail .list2 li {
  display: table;
  width: 100%;
  font-feature-settings: "palt" 1;
  text-align: left;
  margin: 1rem 0 0;
}
#books #intro .detail .list2 li:first-child {
  margin-top: 1.75rem;
}
#books #intro .detail .list2 li span {
  display: table-cell;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail .list2 li span {
    line-height: 1.5;
  }
}
#books #intro .detail .list2 li span:first-child {
  width: 12.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail .list2 li span:first-child {
    width: 10.5714285714rem;
  }
}
#books #intro .detail .list2 li span:first-child::after {
  content: "：";
  position: absolute;
  right: 0.75rem;
  top: 0;
}
#books #intro .detail .list2 li span .s {
  display: inline-block;
  width: auto;
}
#books #intro .detail .list2 li span .s::after {
  display: none;
}
@media only screen and (max-width: 767px) {
  #books #intro .detail .list2 li span .s {
    font-size: 0.7142857143rem;
  }
}
#books #intro .cm_link {
  margin-top: 3.375rem;
}
@media only screen and (max-width: 767px) {
  #books #intro .cm_link {
    margin-top: 2.1428571429rem;
  }
}
#books #intro .cm_link:hover {
  /*
  //border-radius: 0;
  background: #FFF;
  transition-delay: 0.2s;

  span{
  	color: $red;
  }
  &::before{
  	transform: translateY(-50%) scale(6000%);
  }
  */
}
#books #intro .cm_link:hover::before {
  transform: translateX(50%) translateY(-50%) scale(150%);
}
#books #news .slide_loop {
  margin-top: 3.25rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #books #news .slide_loop {
    margin-top: 2rem;
  }
}
#books #news .slide_loop .prev {
  display: block;
  width: 3.25rem;
  margin-top: 2.375rem;
  cursor: pointer;
  position: relative;
  transform: none;
}
#books #news .slide_loop .prev::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#books #news .slide_loop .prev:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#books #news .slide_loop .next {
  width: 3.25rem;
  position: absolute;
  bottom: 0;
  left: 5.25rem;
  cursor: pointer;
  transform: none;
}
#books #news .slide_loop .next::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#books #news .slide_loop .next:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#books #news .slide_loop .more {
  position: absolute;
  right: 0;
  bottom: 0;
}
#books #news .slide_loop .more .cm_link2 {
  width: 11.9375rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #books #news .slide_loop .more .cm_link2 {
    width: 10.4285714286rem;
    font-size: 1.1428571429rem;
  }
}
#books #news .slide_loop .mask {
  overflow: hidden;
}
#books #news .slide_loop .mask .newsList li > div {
  width: 330px;
  margin-right: 3rem;
}
@media only screen and (max-width: 767px) {
  #books #news .slide_loop .mask .newsList li > div {
    width: 15.1428571429rem;
    margin-right: 2.1428571429rem;
  }
}
#books #news .slide_loop .mask .newsList li a {
  display: block;
  text-decoration: none;
}
#books #news .slide_loop .mask .newsList li a:hover .img {
  transform: scale(1.1);
}
#books #news .slide_loop .mask .newsList li a .ofh {
  overflow: hidden;
}
#books #news .slide_loop .mask .newsList li a .img {
  background: url("https://www.alba-edu.org/img_2023/noimage.svg") center/cover no-repeat;
  padding-top: 63.6363636364%;
  transition: transform 0.3s ease-in-out;
}
#books #news .slide_loop .mask .newsList li a .date {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-top: 2rem;
  padding-left: 0.5rem;
}
@media only screen and (max-width: 767px) {
  #books #news .slide_loop .mask .newsList li a .date {
    padding-left: 0;
  }
}
#books #news .slide_loop .mask .newsList li a .title {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  margin: calc(1.75rem - 0.3em) 0 -0.3em;
}
@media only screen and (max-width: 767px) {
  #books #news .slide_loop .mask .newsList li a .title {
    font-size: 1.1428571429rem;
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
#books #comment .commentList {
  display: flex;
  flex-wrap: wrap;
  gap: 2.25rem 2.5rem;
  margin-top: 2.8125rem;
}
@media only screen and (max-width: 767px) {
  #books #comment .commentList {
    gap: 2.1428571429rem 1em;
    margin-top: 2.4285714286rem;
  }
}
#books #comment .commentList li {
  max-width: 180px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #books #comment .commentList li {
    width: calc((100% - 1em) / 2);
  }
}
#books #comment .commentList li:hover .img img {
  transform: scale(1.15);
}
#books #comment .commentList li:hover .name {
  color: #90C030;
}
#books #comment .commentList li .img {
  width: 9.25rem;
  height: 9.25rem;
  margin: 0 auto;
  -webkit-mask-image: url(/img_2023/mask2.svg);
  mask-image: url(/img_2023/mask2.svg);
}
@media only screen and (max-width: 767px) {
  #books #comment .commentList li .img {
    width: 9.8571428571rem;
    height: 9.8571428571rem;
  }
}
#books #comment .commentList li .img img {
  transition: 0.25s ease-in-out;
  transform: scale(1);
}
#books #comment .commentList li .name {
  font-size: 0.875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  margin-top: 1.375rem;
}
@media only screen and (max-width: 767px) {
  #books #comment .commentList li .name {
    font-size: 0.8571428571rem;
    font-weight: bold;
  }
}
#books #comment .commentList li .name strong {
  font-size: 1.25rem;
}
@media only screen and (max-width: 767px) {
  #books #comment .commentList li .name strong {
    font-size: 1.1428571429rem;
  }
}
#books #comment .commentList li .name span {
  font-size: 1.25rem;
  color: #90C030;
}
@media only screen and (max-width: 767px) {
  #books #comment .commentList li .name span {
    font-size: 1.1428571429rem;
  }
}
#books #event > div {
  padding: 3rem 4.875rem;
  margin-top: 2.5rem;
  background: #EDF5EE;
}
@media only screen and (min-width: 769px) {
  #books #event > div {
    max-height: 44.375rem;
    overflow-y: scroll;
  }
  #books #event > div::-webkit-scrollbar {
    width: 0.75rem;
    border-radius: 50%;
  }
  #books #event > div::-webkit-scrollbar-track {
    background-color: #F2F2F2;
    border-radius: 3.75rem;
  }
  #books #event > div::-webkit-scrollbar-thumb {
    background-color: #90C030;
    border-radius: 3.75rem;
  }
}
@media only screen and (max-width: 767px) {
  #books #event > div {
    padding: 2.8571428571rem 1.4285714286rem;
    margin-top: 2rem;
  }
}
#books #event .intro li {
  display: flex;
  justify-content: space-between;
  padding: 2rem 0;
  font-feature-settings: "palt" 1;
  border-bottom: 1px solid #B4B4B4;
}
@media only screen and (max-width: 767px) {
  #books #event .intro li {
    display: block;
    padding: 2.5rem 0;
  }
}
#books #event .intro li:first-child {
  padding-top: 0;
}
#books #event .intro li:last-child {
  padding-bottom: 0;
  border: none;
}
#books #event .intro li .img {
  width: 9.5rem;
  height: 9.5rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  #books #event .intro li .img {
    width: 10.8571428571rem;
    height: 10.8571428571rem;
    margin: 0 auto;
  }
}
#books #event .intro li .title {
  width: calc(100% - 9.5rem);
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.16em;
  margin: -0.3em 0;
  padding-left: 2rem;
}
@media only screen and (max-width: 767px) {
  #books #event .intro li .title {
    width: 100%;
    font-size: 1.1428571429rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    padding: 0;
    margin: calc(1.5rem - 0.3em) 0 -0.3em;
  }
}
#books #event .intro li a {
  display: block;
  color: #90C030;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  margin-top: 1.4375rem;
}
@media only screen and (max-width: 767px) {
  #books #event .intro li a {
    font-size: 1.1428571429rem;
    margin-top: 1.5rem;
  }
}
#books .modal {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
#books .modal.show {
  opacity: 1;
  visibility: visible;
}
#books .modal.show .bgLayer {
  opacity: 1;
}
#books .modal.show .modalContainer {
  opacity: 1;
  transform: translateX(-50%) translateY(-50%) scale(1);
}
#books .modal .bgLayer {
  width: 100%;
  height: 100%;
  background: rgba(205, 217, 185, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}
#books .modal .bgLayer.show {
  opacity: 1;
}
#books .modal .modalContainer {
  max-width: 900px;
  max-height: calc(100vh - 12rem);
  width: 65.8857979502vw;
  padding: 7.5rem 5rem 5.25rem;
  background: #FFF;
  position: absolute;
  top: calc(50% + 3rem);
  left: 50%;
  transition: 0.125s;
  transform: translateX(-50%) translateY(-50%) scale(0.9);
  opacity: 0;
  overflow: auto;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer {
    max-height: calc(100vh - 9.1428571429rem);
    max-height: calc(100svh - 9.1428571429rem);
    width: calc(100% - 60px);
    padding: 5.1428571429rem 1.8571428571rem 2.8571428571rem;
    top: calc(50% + 2.2857142857rem);
  }
}
#books .modal .modalContainer.show {
  opacity: 1;
  transform: translateX(-50%) translateY(-50%) scale(1);
}
#books .modal .modalContainer .body {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .body {
    display: block;
  }
}
#books .modal .modalContainer .body .img {
  width: 9.25rem;
  height: 9.25rem;
  margin: 0.75rem 0 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .body .img {
    width: 10.5714285714rem;
    height: 10.5714285714rem;
    margin: 0 auto;
  }
}
#books .modal .modalContainer .body dl {
  width: calc(100% - 148px);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  padding-left: 3.25rem;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .body dl {
    width: 100%;
    padding: 1.7142857143rem 0 0;
  }
}
#books .modal .modalContainer .body dl dt {
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .body dl dt {
    text-align: center;
  }
}
#books .modal .modalContainer .body dl dt strong {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .body dl dt strong {
    font-size: 1.7142857143rem;
    font-weight: bold;
  }
}
#books .modal .modalContainer .body dl dd {
  line-height: 2.25;
  margin: calc(2rem - 0.625em) 0 -0.625em;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .body dl dd {
    line-height: 2;
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}
#books .modal .modalContainer .close {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.625rem;
  letter-spacing: 0.04em;
  padding-right: 3.5rem;
  background: url("https://www.alba-edu.org/img_2023/close.svg") center right/auto 1rem no-repeat;
  cursor: pointer;
  position: absolute;
  right: 2.5rem;
  top: 2rem;
}
@media only screen and (max-width: 767px) {
  #books .modal .modalContainer .close {
    right: 2rem;
  }
}

#news .contents {
  max-width: 1065px;
  position: relative;
}
#news .contents .item {
  height: 6.125rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  #news .contents .item {
    position: static;
    height: 4.7857142857rem;
    margin-left: auto;
    margin-top: 2.5rem;
  }
}
#news .contents .newsList li {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  #news .contents .newsList li {
    margin-top: 1.4285714286rem;
  }
}
#news .contents .newsList li:first-child {
  margin-top: 4.1875rem;
}
@media only screen and (max-width: 767px) {
  #news .contents .newsList li:first-child {
    margin-top: 2.7142857143rem;
  }
}
#news .contents .newsList li a {
  display: flex;
  align-items: center;
  padding: 1.25rem 4rem 1.25rem 3.375rem;
  text-decoration: none;
  background: #EFF7F0;
  position: relative;
  transition: 0.5s;
}
#news .contents .newsList li a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 767px) {
  #news .contents .newsList li a {
    padding: 0.7142857143rem 3rem 0.7142857143rem 0.7142857143rem;
    align-items: center;
  }
}
#news .contents .newsList li a::after {
  content: "＞";
  color: #90C030;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #news .contents .newsList li a::after {
    font-size: 0.7142857143rem;
    right: 1rem;
  }
}
#news .contents .newsList li a span {
  display: block;
}
#news .contents .newsList li a .date {
  display: block;
  min-width: 8.75rem;
  color: #90C030;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  #news .contents .newsList li a .date {
    font-size: 0.8571428571rem;
    min-width: 5.7142857143rem;
  }
}
#news .contents .newsList li a .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  #news .contents .newsList li a .title {
    font-size: 1rem;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }
}
#news .contents .post {
  max-width: 950px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #news .contents .post {
    padding: 0 0.7142857143rem;
  }
}
#news .contents .tag {
  display: flex;
  gap: 0 0.625rem;
  max-width: 950px;
  padding: 1.875rem 0 0;
  margin: 3rem auto 0;
  border-top: 1px solid #E6ECE9;
}
@media only screen and (max-width: 767px) {
  #news .contents .tag {
    margin: 2.1428571429rem auto 0;
  }
}
#news .contents .tag li a {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-decoration: none;
  border-radius: 0.25rem;
  background: #EFF7F0;
  padding: 0.3125rem 0.625rem;
  transition: 0.5s;
}
#news .contents .tag li a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 767px) {
  #news .contents .tag li a {
    font-size: 0.8571428571rem;
  }
}

#contact .contents {
  max-width: 1103px;
  margin-top: 6.25rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #contact .contents {
    margin-top: 3.5714285714rem;
    padding: 0 0.7142857143rem;
  }
}
#contact .contents p {
  font-size: 1.125rem;
  line-height: 2;
  text-align: center;
  margin: -0.5em 0;
}
@media only screen and (max-width: 767px) {
  #contact .contents p {
    font-size: 1rem;
    text-align: left;
  }
}
#contact .contents p .red {
  color: #DA4B29;
}
#contact .contents .thanks {
  line-height: 1;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  #contact .contents .thanks {
    margin-bottom: 3.5rem;
  }
}
#contact .contents .thanks img {
  height: 5.625rem;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  #contact .contents .thanks img {
    height: 4.1428571429rem;
  }
}
#contact .contents .thanks .en {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 6.875rem;
  font-weight: bold;
  letter-spacing: 0;
  margin: 1.25rem 0;
}
@media only screen and (max-width: 767px) {
  #contact .contents .thanks .en {
    font-size: 3.9285714286rem;
    text-align: center;
  }
}
#contact .contents .thanks .jp {
  display: block;
  font-size: 1.25rem;
  letter-spacing: 0.26em;
}
@media only screen and (max-width: 767px) {
  #contact .contents .thanks .jp {
    font-size: 1rem;
    text-align: center;
  }
}
#contact .contents .item {
  height: 6.375rem;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 767px) {
  #contact .contents .item {
    height: 4.6428571429rem;
    bottom: -4.2857142857rem;
    right: -0.7142857143rem;
  }
}
#contact .contents .back {
  display: block;
  width: 13.625rem;
  height: 3.1875rem;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  padding-right: 1rem;
  margin: 7rem auto 0;
  background: #FFF;
  border: 2px solid #000;
  border-radius: 1.0625rem 0 1.0625rem 0;
  cursor: pointer;
  position: relative;
  z-index: 2;
  transition: 0.5s;
  overflow: hidden;
  /*
  &::before{
  	width: 1px;
  	height: 100%;
  	content: "";
  	background: $green;
  	transition: transform .4s ease-in-out;
  	position: absolute;
  	right: -1px;
  	top: 0;
  	bottom: 0;
  	margin: auto;
  	z-index: 1;
  }

  &:hover {
    color: #FFF;
    opacity: 1;
    border-color: $green;
    &::before{
  	width: 100%;
  	height:  100%;
  	transform: scale(100);
    }
  }
  */
}
@media only screen and (max-width: 767px) {
  #contact .contents .back {
    width: 14.5714285714rem;
    height: 3.2857142857rem;
    font-size: 1.1428571429rem;
    margin-top: 3.8571428571rem;
  }
}
#contact .contents .back span {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  padding-right: 1rem;
}
#contact .contents .back::after {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw-g.svg") center/cover no-repeat;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
#contact .contents .back::before {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background-color: #90C030;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  transition: 0.25s;
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
#contact .contents .back:hover {
  color: #FFF;
  border: 2px solid #90C030;
}
#contact .contents .back:hover::before {
  transform: translateY(-50%) scale(1400%);
}

#sitemap .contents {
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents {
    margin-top: 2rem;
    padding: 0 0.7142857143rem;
  }
}
#sitemap .contents .cm_flex {
  justify-content: space-between;
}
@media screen and (max-width: 1050px) {
  #sitemap .contents .cm_flex {
    display: block;
  }
}
@media only screen and (min-width: 769px) {
  #sitemap .contents .cm_flex > div {
    width: 45.69356301%;
    min-width: 440px;
  }
}
@media screen and (max-width: 1050px) {
  #sitemap .contents .cm_flex > div {
    width: 100%;
    min-width: auto;
  }
}
#sitemap .contents .link {
  border-bottom: 1px solid #CDD2CB;
}
#sitemap .contents .link .parent {
  position: relative;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .parent.sp .btn {
    display: none;
    width: 2.2142857143rem;
    height: 2.2142857143rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  #sitemap .contents .link .parent.sp .btn::before {
    width: 1.0714285714rem;
    height: 0.1428571429rem;
    content: "";
    background: #90C030;
    position: absolute;
    top: 50%;
    left: 50%;
    transition: 0.3s;
    transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  }
  #sitemap .contents .link .parent.sp .btn::after {
    width: 1.0714285714rem;
    height: 0.1428571429rem;
    content: "";
    background: #90C030;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  #sitemap .contents .link .parent.sp .btn.open::before {
    transform: translateX(-50%) translateY(-50%) rotate(180deg);
  }
}
#sitemap .contents .link .parent .txt,
#sitemap .contents .link .parent .txt2
 {
  text-decoration: none;
}
@media only screen and (min-width: 769px) {
  #sitemap .contents .link .parent .txt,
  #sitemap .contents .link .parent .txt2 {
    display: flex;
    align-items: baseline;
    gap: 0 2rem;
    padding: 2.125rem 0;
  }
  #sitemap .contents .link .parent .txt.disabled {
    cursor: default;
  }
  #sitemap .contents .link .parent .txt:hover {
    color: #90C030;
  }
  #sitemap .contents .link .parent .txt:hover .jp {
    color: #90C030;
  }
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .parent .txt,
  #sitemap .contents .link .parent .txt2 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.8571428571rem 1.4285714286rem;
    padding: 1.4285714286rem 0;
    position: relative;
  }
}
#sitemap .contents .link .parent .txt span,
#sitemap .contents .link .parent .txt2 span {
  display: block;
}
#sitemap .contents .link .parent .txt .en,
#sitemap .contents .link .parent .txt2 .en {
  font-size: 2.1875rem;
  font-weight: 500;
  letter-spacing: 0;
  gap: 0 2rem;
  transform: translateY(1px);
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .parent .txt .en,
  #sitemap .contents .link .parent .txt2 .en {
    font-size: 1.6rem;
  }
}
#sitemap .contents .link .parent .txt .jp,
#sitemap .contents .link .parent .txt2 .jp {
  color: #808080;
  font-size: 0.875rem;
  letter-spacing: 0.22em;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .parent .txt .jp,
  #sitemap .contents .link .parent .txt2 .jp{
    font-size: 1rem;
  }
}
#sitemap .contents .link .child {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  margin-bottom: 2.875rem;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .child {
    display: block;
    margin-bottom: 1.8571428571rem;
  }
}
#sitemap .contents .link .child li {
  width: 50%;
  font-feature-settings: "palt" 1;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .child li {
    width: 100%;
    margin-top: 1.1428571429rem;
  }
  #sitemap .contents .link .child li:first-child {
    margin-top: 0.4285714286rem;
  }
}
#sitemap .contents .link .child li a {
  font-size: 0.875rem;
  text-decoration: none;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link .child li a {
    display: block;
    font-size: 1rem;
    padding-left: 0.8571428571rem;
  }
}
#sitemap .contents .link .child li a:hover {
  color: #90C030;
}
#sitemap .contents .link2 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link2 {
    display: block;
    margin-top: 1.2857142857rem;
  }
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link2 li {
    margin-top: 1.1428571429rem;
  }
}
#sitemap .contents .link2 li a {
  font-size: 0.875rem;
  letter-spacing: 0.14em;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #sitemap .contents .link2 li a {
    font-size: 1rem;
  }
}
#sitemap .contents .link2 li a:hover {
  color: #90C030;
}

#government .sidebar.government01 ul li:nth-child(1) {
  color: #90C030;
}
#government .sidebar.government02 ul li:nth-child(2) {
  color: #90C030;
}
#government .sidebar.government03 ul li:nth-child(3) {
  color: #90C030;
}
#government .sidebar.government04 ul li:nth-child(4) {
  color: #90C030;
}
#government .sidebar.government05 ul li:nth-child(5) {
  color: #90C030;
}
#government .sidebar.government06 ul li:nth-child(6) {
  color: #90C030;
}
#government .detail {
  padding: 0 2.4375rem 2.5rem;
  margin-top: 2.5rem;
  border: 1px solid #C9C9C9;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #government .detail {
    padding: 0 1.4285714286rem 1.9285714286rem;
    margin-top: 2.1428571429rem;
  }
}
#government .detail h3 {
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.16em;
  text-align: center;
  padding: 1.125rem 0;
  border-bottom: 1px solid #E4EAE7;
}
@media only screen and (max-width: 767px) {
  #government .detail h3 {
    font-size: 1.4285714286rem;
    font-weight: bold;
  }
}
#government .detail .cm_flex {
  justify-content: space-between;
  margin-top: 1.625rem;
}
@media only screen and (max-width: 767px) {
  #government .detail .cm_flex {
    margin-top: 1.0714285714rem;
  }
}
@media only screen and (min-width: 769px) {
  #government .detail .cm_flex .img {
    width: 50%;
  }
}
@media only screen and (min-width: 769px) {
  #government .detail .cm_flex .txtBox {
    width: 45.9134615385%;
  }
}
@media only screen and (max-width: 767px) {
  #government .detail .cm_flex .txtBox {
    margin-top: 1.5rem;
  }
}
#government .detail .cm_flex .txtBox p {
  font-feature-settings: "palt" 1;
  line-height: 2;
  margin: -0.5em 0;
}
#government .detail .cm_flex .txtBox p strong {
  font-size: 1.125rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #government .detail .cm_flex .txtBox p strong {
    font-weight: bold;
  }
}
#government .detail .cm_flex .txtBox .cm_link2 {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  max-width: 9.4375rem;
  margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  #government .detail .cm_flex .txtBox .cm_link2 {
    max-width: 10.0714285714rem;
    margin-top: 2rem;
    font-weight: bold;
  }
}
#government .detail figure {
  width: 5.3125rem;
  position: absolute;
  right: -0.875rem;
  bottom: -1rem;
}
@media only screen and (max-width: 767px) {
  #government .detail figure {
    width: 5.3571428571rem;
  }
  #government .detail figure.b {
    bottom: -3.8571428571rem;
  }
}
#government .detail figure img {
  margin-left: auto;
}
#government #government05 {
  padding: 0;
}
#government #government05 h2 {
  left: 0;
}
#government #government05 .cm_link2 {
  left: 0;
}
@media only screen and (max-width: 767px) {
  #government #government06 h2 + .cm_h3 {
    margin-top: 2rem;
  }
}
#government #government06 .cm_h3 {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  #government #government06 .cm_h3 {
    margin-top: 3.5714285714rem;
  }
}
#government #government06 .cm_flex {
  justify-content: space-between;
  margin-top: 2.375rem;
}
@media only screen and (max-width: 767px) {
  #government #government06 .cm_flex {
    margin-top: 2.1428571429rem;
  }
}
@media only screen and (min-width: 769px) {
  #government #government06 .cm_flex .img {
    width: 45.7142857143%;
  }
}
@media only screen and (min-width: 769px) {
  #government #government06 .cm_flex .txtBox {
    width: 50.5494505495%;
  }
}
@media only screen and (max-width: 767px) {
  #government #government06 .cm_flex .txtBox {
    margin-top: 1.5rem;
  }
}
#government #government06 .cm_flex .txtBox h4 {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.5;
  margin: -0.25em 0;
}
@media only screen and (max-width: 767px) {
  #government #government06 .cm_flex .txtBox h4 {
    font-size: 1.3571428571rem;
    font-weight: bold;
  }
}
#government #government06 .cm_flex .txtBox h4 + p {
  margin: calc(2.25rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  #government #government06 .cm_flex .txtBox h4 + p {
    margin: calc(2rem - 0.5em) 0 -0.5em;
  }
}
#government #government06 .cm_flex .txtBox p {
  font-feature-settings: "palt" 1;
  line-height: 2;
  margin: -0.5em 0;
}
#government #government06 .cm_flex .txtBox p strong {
  font-size: 1.125rem;
}
#government #government06 .cm_flex .txtBox p a {
  color: #90C030;
}
#government #government06 .cm_flex .txtBox .cm_link2 {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  max-width: 9.4375rem;
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  #government #government06 .cm_flex .txtBox .cm_link2 {
    max-width: 8.7142857143rem;
    font-weight: bold;
    margin: 2.1428571429rem auto 0;
  }
}

#privacy .contents {
  margin-top: 6.25rem;
}
@media only screen and (max-width: 767px) {
  #privacy .contents {
    margin-top: 2.0714285714rem;
    padding: 0 0.7142857143rem;
  }
}
#privacy .contents > div {
  margin-top: 3.375rem;
  padding-bottom: 4rem;
  border-top: 1px solid #CDD2CB;
  border-bottom: 1px solid #CDD2CB;
}
@media only screen and (min-width: 769px) {
  #privacy .contents > div {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  #privacy .contents > div {
    margin-top: 2.0714285714rem;
    padding-bottom: 2.1428571429rem;
  }
}
#privacy .contents p {
  line-height: 2;
  margin: -0.5em 0;
}
@media only screen and (min-width: 769px) {
  #privacy .contents p {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  #privacy .contents p {
    text-align: left;
    line-height: 1.75;
    margin: -0.375em 0;
  }
}
#privacy .contents .author {
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-top: 3.5rem;
}
@media only screen and (max-width: 767px) {
  #privacy .contents .author {
    font-size: 1.2142857143rem;
    letter-spacing: 0.16em;
    margin-top: 2.1428571429rem;
  }
}
#privacy .contents address {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5em;
}
@media only screen and (min-width: 769px) {
  #privacy .contents address {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  #privacy .contents address {
    font-size: 1rem;
    line-height: 1.75;
  }
}
#privacy .contents dl {
  margin-top: 3.75rem;
}
@media only screen and (max-width: 767px) {
  #privacy .contents dl {
    margin-top: 3.4285714286rem;
  }
}
#privacy .contents dl dt {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  #privacy .contents dl dt {
    font-size: 1.2142857143rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.16em;
    margin: -0.25em 0;
  }
}
#privacy .contents dl dd {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  line-height: 2;
  margin: calc(2rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  #privacy .contents dl dd {
    font-size: 1rem;
    line-height: 1.75;
  }
}

#educators .sidebar.educators01 ul li:nth-child(1) {
  color: #90C030;
}
#educators .sidebar.educators02 ul li:nth-child(2) {
  color: #90C030;
}
#educators .sidebar.educators03 ul li:nth-child(3) {
  color: #90C030;
}
#educators .sidebar.educators04 ul li:nth-child(4) {
  color: #90C030;
}
#educators .sidebar.educators05 ul li:nth-child(5) {
  color: #90C030;
}
#educators .sidebar.educators06 ul li:nth-child(6) {
  color: #90C030;
}
#educators :not(.contactBnr) p:not(.h1) {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 2.1428571429;
  margin: 1.8125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators :not(.contactBnr) p:not(.h1) {
    font-size: 1rem;
    line-height: 2;
    margin: calc(1.75rem - 0.5em) 0 -0.5em;
  }
}
#educators :not(.contactBnr) p:not(.h1).lead {
  font-size: 1.125rem;
}
@media only screen and (max-width: 767px) {
  #educators :not(.contactBnr) p:not(.h1).lead {
    font-size: 1rem;
    line-height: 2;
  }
}
#educators dl {
  padding: 0 2.5rem 2.5rem;
  border: 1px solid #C6C6C6;
  margin: 2.5rem 0 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #educators dl {
    padding: 0 1.4285714286rem 2.4285714286rem;
    margin-top: 1.7142857143rem;
  }
}
#educators dl[class^=abs]::after {
  display: block;
  content: "";
  right: -0.875rem;
  bottom: -0.5625rem;
  z-index: 2;
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
}
#educators dl.abs01::after {
  width: 4.366025rem;
  height: 5.47474375rem;
  background-image: url(https://www.alba-edu.org/img_2023/business/abs01.svg);
}
#educators dl dt {
  width: 100%;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  font-size: 1.375rem;
  border-bottom: 1px solid #E3E9E6;
  padding: 1.5625rem 0;
}
@media only screen and (max-width: 767px) {
  #educators dl dt {
    font-size: 1.4285714286rem;
    font-weight: bold;
    padding: 1.2142857143rem 0;
  }
}
#educators dl dd .title {
  display: block;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.375rem;
  letter-spacing: 0.16em;
  line-height: 1.4545454545;
  margin: 2.3125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators dl dd .title {
    font-size: 1.2857142857rem;
    font-weight: bold;
    line-height: 1;
    margin-top: 1.1428571429rem;
  }
}
#educators dl dd p {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2;
  margin: 1.8125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators dl dd p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#educators dl dd .title + p {
  margin: 1.4375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators dl dd .title + p {
    margin: calc(1.25rem - 0.5em) 0 -0.5em;
  }
}
#educators dl dd .spScroll {
  overflow-x: scroll;
  padding-bottom: 1em;
  margin-top: 1.25rem;
}
#educators dl dd .spScroll::-webkit-scrollbar {
  height: 0.75rem;
  border-radius: 50%;
}
#educators dl dd .spScroll::-webkit-scrollbar-track {
  background-color: #F2F2F2;
  border-radius: 3.75rem;
}
#educators dl dd .spScroll::-webkit-scrollbar-thumb {
  background-color: #90C030;
  border-radius: 3.75rem;
}
#educators dl dd .spScroll img {
  min-width: 828px;
}
@media only screen and (max-width: 767px) {
  #educators dl dd .spScroll img {
    min-width: 775px;
  }
}
#educators dl dd table {
  width: 100%;
  margin: 1.125rem 0 0;
  border-collapse: collapse;
  border: solid 1px #D2D2D2;
}
@media only screen and (max-width: 767px) {
  #educators dl dd table {
    width: 47.5rem;
    margin-top: 1.4285714286rem;
  }
}
#educators dl dd table th, #educators dl dd table td {
  border: solid 1px #D2D2D2;
  text-align: center;
  font-size: 0.875rem;
  max-width: 10.625rem;
  padding: 1.0625rem 0.75rem 0.6875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  #educators dl dd table th, #educators dl dd table td {
    font-size: 0.7857142857rem;
    padding: 0.7142857143rem 0.5714285714rem;
  }
}
#educators dl dd table th span, #educators dl dd table td span {
  font-size: 0.75rem;
  display: block;
}
@media only screen and (max-width: 767px) {
  #educators dl dd table th span, #educators dl dd table td span {
    font-size: 0.7857142857rem;
  }
}
#educators dl dd table th span.black, #educators dl dd table td span.black {
  display: inline;
}
#educators dl dd table thead th, #educators dl dd table thead td {
  background-color: #ECF4ED;
  padding: 0.625rem 0.3125rem;
  letter-spacing: 0.1em;
}
#educators dl dd table tbody td {
  color: #90C030;
}
#educators dl dd table tbody td.left {
  text-align: justify;
}
#educators dl dd table tbody td span {
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  #educators dl dd table tbody td span {
    font-size: 0.7857142857rem;
  }
}
#educators dl dd table .black {
  color: #231815;
}
@media only screen and (min-width: 769px) {
  #educators .col2 {
    display: flex;
    justify-content: space-between;
  }
}
#educators #educators01 {
  position: relative;
}
#educators #educators01::after {
  display: block;
  width: 5.3125rem;
  height: 5.29810625rem;
  background-image: url(https://www.alba-edu.org/img_2023/aboutus/11.svg);
  content: "";
  right: -0.8125rem;
  bottom: -0.8125rem;
  z-index: 2;
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
}
#educators #educators02 {
  position: relative;
}
#educators #educators02::after {
  display: block;
  width: 5.3125rem;
  height: 5.3125rem;
  background-image: url(https://www.alba-edu.org/img_2023/aboutus/09.svg);
  content: "";
  right: -0.8125rem;
  bottom: -0.8125rem;
  z-index: 2;
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  #educators #educators02::after {
    width: 5.3571428571rem;
    height: 5.3571428571rem;
    right: -0.5rem;
    bottom: -1.8571428571rem;
  }
}
#educators #educators02 .price {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 0 2.25rem;
  margin: 1.375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators02 .price {
    width: 55.4285714286rem;
    margin-top: 1.6428571429rem;
  }
}
#educators #educators02 .price > li {
  max-width: 7.5625rem;
}
#educators #educators02 .price > li:nth-child(4) ul.sub > li:first-child::before {
  transform: rotate(225deg);
}
#educators #educators02 .price > li:nth-child(4) ul.sub > li:first-child::after {
  transform: rotate(-45deg);
}
#educators #educators02 .price > li:nth-child(5) ul.sub > li:first-child::before {
  transform: rotate(0deg);
  top: calc(50% - 0.25rem);
}
#educators #educators02 .price > li:nth-child(5) ul.sub > li:first-child::after {
  transform: rotate(0deg);
  top: calc(50% + 0.25rem);
}
#educators #educators02 .price > li:last-child ul.sub > li {
  max-width: 3.0625rem;
}
#educators #educators02 .price > li:last-child ul.sub > li:first-child {
  min-height: 16.375rem;
  writing-mode: vertical-rl;
  background-color: #007B43;
  text-align: center;
  padding: 0 1rem 0 1.125rem;
  line-height: 1;
}
#educators #educators02 .price > li:last-child ul.sub > li:first-child::before, #educators #educators02 .price > li:last-child ul.sub > li:first-child::after {
  display: none;
}
#educators #educators02 .price > li > .sub {
  display: block;
  margin: 0;
}
#educators #educators02 .price > li > .sub > li {
  background-color: #ECF4ED;
  margin: 0.625rem 0 0;
  text-align: center;
  font-size: 1rem;
  padding: 1.3125rem 0;
  letter-spacing: 0.06em;
}
#educators #educators02 .price > li > .sub > li:first-child {
  background-color: #90C030;
  color: #FFF;
  margin: 0;
  position: relative;
}
#educators #educators02 .price > li > .sub > li:first-child::before {
  width: 1.125rem;
  height: 0.21875rem;
  content: "";
  background: #000;
  position: absolute;
  top: 50%;
  right: -1.6875rem;
  transform: rotate(270deg);
  transition: 0.25s;
}
#educators #educators02 .price > li > .sub > li:first-child::after {
  width: 1.125rem;
  height: 0.21875rem;
  content: "";
  background: #000;
  position: absolute;
  top: 50%;
  right: -1.6875rem;
}
#educators #educators02 .price > li > .sub > li:nth-child(2) {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  letter-spacing: 0;
}
#educators #educators02 .price > li > .sub > li:nth-child(3) {
  font-size: 0.75rem;
  min-height: 7.625rem;
  text-align: justify;
  line-height: 1.5;
  padding: 0.75rem 0.625rem;
  letter-spacing: -0.02em;
}
#educators #educators02 .price > li > .sub > li.nobg {
  font-size: 0.75rem;
  text-align: left;
  background: none;
  padding: 0;
  line-height: 1.3333333333;
}
#educators #educators02 .price > li > .sub > li .list {
  list-style: inside;
  list-style-position: outside;
  padding: 0 0.3125rem 0 0.5rem;
}
#educators #educators02 .price > li > .sub > li .list > li {
  margin-top: 0.375rem;
}
#educators #educators02 .price > li > .sub > li .list > li:first-child {
  margin-top: 0;
}
#educators #educators03 ul {
  width: 100%;
  margin: 2.75rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators03 ul {
    margin: 1.9285714286rem 0 0;
  }
}
#educators #educators03 ul li {
  margin: 2.5rem 0 0;
}
@media only screen and (min-width: 769px) {
  #educators #educators03 ul li {
    display: flex;
    align-items: center;
    gap: 0 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  #educators #educators03 ul li {
    margin: 2.8571428571rem 0 0;
  }
  #educators #educators03 ul li:first-child {
    margin: 0;
  }
}
#educators #educators03 ul li .img {
  max-width: 31.25rem;
}
#educators #educators03 ul li .txt p {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.16em;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators03 ul li .txt p {
    font-size: 1.1428571429rem;
    font-weight: bold;
    line-height: 1.5;
    margin: calc(1rem - 0.25em) 0 -0.25em;
  }
}
#educators #educators03 ul li .txt .cm_link2 {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  width: 8.8125rem;
  margin: 2.625rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators03 ul li .txt .cm_link2 {
    width: 10.0714285714rem;
    font-weight: bold;
    margin: 1.375rem auto 0;
  }
}
#educators #educators04 {
  counter-reset: number 0;
}
#educators #educators04 .flow {
  width: 100%;
  margin: 2.875rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 .flow {
    margin: 3.2857142857rem 0 0;
  }
}
#educators #educators04 .flow li {
  display: block;
  height: 4rem;
  background-color: #ECF4ED;
  color: #000;
  font-size: 1.125rem;
  letter-spacing: 0.16em;
  font-weight: normal;
  margin: 1.125rem 0 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 .flow li {
    display: flex;
    align-items: center;
    height: 5.5714285714rem;
    font-size: 1rem;
    margin: 0.7142857143rem 0 0;
    padding: 0 1.4285714286rem 0 4.4285714286rem;
  }
}
#educators #educators04 .flow li:first-child {
  margin: 0;
}
#educators #educators04 .flow li span {
  display: inline-block;
  top: 50%;
  left: 1.875rem;
  transform: translateY(-50%);
  position: relative;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 .flow li span {
    display: block;
    line-height: 2;
    position: static;
    transform: none;
  }
}
#educators #educators04 .flow li span::before {
  display: inline-block;
  counter-increment: number 1;
  content: counter(number);
  background: #FFF;
  color: #90C030;
  line-height: 1;
  padding: 0.3125rem 0.3125rem 0.3125rem 0.5rem;
  margin-right: 1.5625rem;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 .flow li span::before {
    display: block;
    width: 2.1428571429rem;
    font-size: 1.5714285714rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    letter-spacing: 0;
    text-align: center;
    margin: 0;
    padding: 0.2857142857rem 0;
    position: absolute;
    left: 1.4285714286rem;
    top: 50%;
    transform: translateY(-50%);
  }
}
#educators #educators04 p {
  font-size: 0.875rem;
  line-height: 2.1428571429;
  margin: 2.4375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#educators #educators04 dl {
  margin: 3.4375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 dl {
    margin: 2.5rem 0 0;
  }
}
#educators #educators04 dl dd ul {
  margin: 2.75rem 0 0;
  list-style-position: outside;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 dl dd ul {
    margin: 1.4285714286rem 0 0;
  }
}
#educators #educators04 dl dd ul li {
  line-height: 2;
  position: relative;
  padding-left: 2.25rem;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 dl dd ul li {
    padding-left: 1.1428571429rem;
  }
}
#educators #educators04 dl dd ul li::before {
  display: block;
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  left: 0;
  top: 0.9375rem;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #90C030;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 dl dd ul li::before {
    width: 0.8571428571rem;
    height: 0.8571428571rem;
    top: 1.0714285714rem;
  }
}
#educators #educators04 .calendar {
  margin: 5rem 0 0;
  padding-top: 75%;
  position: relative;
}
#educators #educators04 .calendar iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators04 .calendar {
    margin: 1.4285714286rem 0 0;
  }
}
#educators #educators05 {
  padding: 0;
}
#educators #educators05 h2 {
  left: 0;
}
#educators #educators05 .cm_link2 {
  left: 0;
}
#educators #educators06 h3 {
  display: block;
  background-color: #8FBF30;
  color: #FFF;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.16em;
  padding: 1.375rem;
  margin: 2.8125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 h3 {
    font-size: 1.2142857143rem;
    font-weight: bold;
    padding: 0.6428571429rem 0;
    margin: 2rem 0 0;
  }
}
#educators #educators06 .col2 {
  margin: 2.5rem 0 0;
  gap: 0 2rem;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 {
    margin: 2.1428571429rem 0 0;
  }
}
@media only screen and (min-width: 769px) {
  #educators #educators06 .col2 .img {
    width: 45.7142857143%;
  }
}
@media only screen and (min-width: 769px) {
  #educators #educators06 .col2 .txt {
    width: 50.5494505495%;
  }
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 .txt {
    margin: 2.1428571429rem 0 0;
  }
}
#educators #educators06 .col2 .txt .lead {
  color: #90C030;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 .txt .lead {
    font-size: 1.3571428571rem;
    font-weight: bold;
    line-height: 1;
  }
}
#educators #educators06 .col2 .txt p {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
  margin: 1.375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 .txt p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#educators #educators06 .col2 .txt p a {
  color: #90C030;
}
#educators #educators06 .col2 .txt .lead + p {
  margin: 2.125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 .txt .lead + p {
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#educators #educators06 .col2 .txt .cm_link2 {
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin: 2.75rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 .txt .cm_link2 {
    width: 8.7142857143rem;
    font-weight: bold;
    margin: 1.875rem auto 0;
  }
}
#educators #educators06 .col2 + h3 {
  margin: 4.625rem 0 0;
}
@media only screen and (max-width: 767px) {
  #educators #educators06 .col2 + h3 {
    margin-top: 3.4285714286rem;
  }
}

#business .sidebar.business01 ul li:nth-child(1) {
  color: #90C030;
}
#business .sidebar.business02 ul li:nth-child(2) {
  color: #90C030;
}
#business .sidebar.business03 ul li:nth-child(3) {
  color: #90C030;
}
#business .sidebar.business04 ul li:nth-child(4) {
  color: #90C030;
}
#business .sidebar.business05 ul li:nth-child(5) {
  color: #90C030;
}
#business .sidebar.business06 ul li:nth-child(6) {
  color: #90C030;
}
#business .contents .cm_h2 + p {
  line-height: 2;
  margin: calc(1.5rem - 0.5em) 0 -0.5em;
}
@media only screen and (min-width: 769px) {
  #business .contents .col2 {
    display: flex;
    justify-content: space-between;
  }
}
#business .contents dl {
  padding: 0 2.5rem 3.4375rem;
  border: 1px solid #C6C6C6;
  margin: 2.5rem 0 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #business .contents dl {
    padding: 0 1.4285714286rem 1.7142857143rem;
  }
}
#business .contents dl[class^=abs]::after {
  display: block;
  content: "";
  right: -0.875rem;
  bottom: -0.5625rem;
  z-index: 2;
  position: absolute;
  background-size: cover;
  background-repeat: no-repeat;
}
#business .contents dl.abs01::after {
  width: 4.366025rem;
  height: 5.47474375rem;
  background-image: url(https://www.alba-edu.org/img_2023/business/abs01.svg);
}
@media only screen and (max-width: 767px) {
  #business .contents dl.abs01::after {
    width: 5.3571428571rem;
    height: 6.7857142857rem;
    bottom: -1.3571428571rem;
  }
}
#business .contents dl.abs02::after {
  width: 5.3125rem;
  height: 5.3125rem;
  background-image: url(https://www.alba-edu.org/img_2023/business/abs02.svg);
}
@media only screen and (max-width: 767px) {
  #business .contents dl.abs02::after {
    width: 5.3571428571rem;
    height: 5.3571428571rem;
  }
}
#business .contents dl.abs03::after {
  width: 4.90240625rem;
  height: 2.45120625rem;
  background-image: url(https://www.alba-edu.org/img_2023/business/abs03.svg);
}
@media only screen and (max-width: 767px) {
  #business .contents dl.abs03::after {
    width: 5.3571428571rem;
    height: 2.7142857143rem;
  }
}
#business .contents dl dt {
  width: 100%;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  font-size: 1.375rem;
  border-bottom: 1px solid #E3E9E6;
  padding: 1.5625rem 0;
}
@media only screen and (max-width: 767px) {
  #business .contents dl dt {
    font-size: 1.4285714286rem;
    font-weight: bold;
    padding: 1.2142857143rem 0;
  }
}
#business .contents dl dd .col2 {
  align-items: flex-start;
  margin: 1.625rem 0 0;
  gap: 0 1.875rem;
}
@media only screen and (max-width: 767px) {
  #business .contents dl dd .col2 {
    margin-top: 1.4285714286rem;
  }
}
@media only screen and (min-width: 769px) {
  #business .contents dl dd .col2 img {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  #business .contents dl dd .col2 img {
    width: 100%;
  }
}
#business .contents dl dd p {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  #business .contents dl dd p {
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#business #business01 {
  margin: 4.0625rem 0 0;
}
@media only screen and (max-width: 767px) {
  #business #business01 {
    margin-top: 1.9285714286rem;
  }
}
#business #business04 {
  padding: 0;
}
#business #business04 h2 {
  left: 0;
}
#business #business04 .cm_link2 {
  left: 0;
}
#business #business05 p {
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 2.1428571429;
  margin: 2.875rem 0 0;
}
@media only screen and (max-width: 767px) {
  #business #business05 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(1.75rem - 0.5em) 0 -0.5em;
  }
}
#business #business06 {
  margin: 4.375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #business #business06 {
    margin-top: 3.1428571429rem;
  }
}
#business #business06 .voice {
  display: inline-block;
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #90C030;
  letter-spacing: 0.16em;
  line-height: 1.6;
  margin: 2.375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #business #business06 .voice {
    display: block;
    font-size: 1.2142857143rem;
    font-weight: bold;
    line-height: 1;
    margin-top: 1.7142857143rem;
  }
}
#business #business06 .voice:first-of-type {
  margin: 2.625rem 0 0;
}
@media only screen and (max-width: 767px) {
  #business #business06 .voice:first-of-type {
    margin-top: 1.4285714286rem;
  }
}
#business #business06 p {
  margin: 1.75rem 0 0;
}
@media only screen and (max-width: 767px) {
  #business #business06 p {
    margin: calc(1.25rem - 0.5em) 0 -0.5em;
  }
}

#individuals .sidebar.individuals02 ul li:nth-child(1) {
  color: #90C030;
}
#individuals .sidebar.individuals03 ul li:nth-child(2) {
  color: #90C030;
}
#individuals .sidebar.individuals04 ul li:nth-child(3) {
  color: #90C030;
}
#individuals .contents :not(.contactBnr) p:not(.h1, .title) {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 2.2222222222;
  margin: 3.25rem 0 0;
}
#individuals .contents .faq {
  border-bottom: 1px solid #E0E6E3;
}
#individuals .contents .faq:first-of-type {
  margin: 2.6875rem 0 0;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq:first-of-type {
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq {
    border-bottom: 1px solid #DEE4E1;
  }
}
#individuals .contents .faq.open dt span::before {
  transform: rotate(180deg);
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq.open dt span::before {
    transform: translateY(-50%) rotate(180deg);
  }
}
#individuals .contents .faq dt {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.6;
  position: relative;
  cursor: pointer;
  padding: 2.25rem 0rem 2.25rem 2.4375rem;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dt {
    font-size: 1.1428571429rem;
    line-height: 1.625;
    font-weight: bold;
    padding: 2.1428571429rem 0 2.1428571429rem 2.8571428571rem;
  }
}
#individuals .contents .faq dt::after {
  font-size: 1.625rem;
  font-weight: bold;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  color: #90C030;
  content: "Q";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dt::after {
    font-size: 1.8571428571rem;
    top: 3.1428571429rem;
  }
}
#individuals .contents .faq dt span {
  display: block;
  padding-right: 1.4375rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dt span {
    padding-right: 2.1428571429rem;
  }
}
#individuals .contents .faq dt span::before {
  width: 1.1875rem;
  height: 0.125rem;
  content: "";
  background: #90C030;
  position: absolute;
  top: 50%;
  right: 0;
  transform: rotate(270deg);
  transition: 0.25s;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dt span::before {
    transform: translateY(-50%) rotate(270deg);
  }
}
#individuals .contents .faq dt span::after {
  width: 1.1875rem;
  height: 0.125rem;
  content: "";
  background: #90C030;
  position: absolute;
  top: 50%;
  right: 0;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dt span::after {
    transform: translateY(-50%);
  }
}
#individuals .contents .faq dd {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.1em;
  padding: 0 0 2.5rem 2.4375rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dd {
    border: none;
    padding: 0 0 2.1428571429rem 2.8571428571rem;
  }
}
#individuals .contents .faq dd::after {
  font-size: 1.625rem;
  font-weight: bold;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  color: #90C030;
  content: "A";
  position: absolute;
  top: 0.1875rem;
  left: 0;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  #individuals .contents .faq dd::after {
    font-size: 1.8571428571rem;
    font-weight: bold;
    top: 0.2142857143rem;
  }
}
#individuals .contents .faq dd a {
  color: #90C030;
}
#individuals #individuals01 p {
  margin: 4.375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #individuals #individuals01 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(1.5rem - 0.5em) 0 -0.5em;
  }
}
#individuals #individuals02 {
  counter-reset: number 0;
}
#individuals #individuals02 h3, #individuals #individuals03 h3 {
  display: block;
  height: 4rem;
  background-color: #8FBF30;
  color: #FFF;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.16em;
  margin: 2.8125rem 0 0;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #individuals #individuals02 h3, #individuals #individuals03 h3 {
    height: 3.5rem;
    font-size: 1.2142857143rem;
    font-weight: bold;
    margin-top: 1.9285714286rem;
  }
}
#individuals #individuals02 h3 span, #individuals #individuals03 h3 span {
  display: inline-block;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  position: relative;
}
#individuals #individuals02 h3 span::before, #individuals #individuals03 h3 span::before {
  display: inline-block;
  counter-increment: number 1;
  content: counter(number);
  background: #FFF;
  color: #90C030;
  line-height: 1;
  padding: 0.3125rem 0.3125rem 0.3125rem 0.5rem;
  margin-right: 1.5625rem;
}

@media only screen and (max-width: 767px) {
  #ouchigakko .header {
    height: 18.6428571429rem;
  }
}
#ouchigakko .sidebar.ouchigakko01 ul li:nth-child(1) {
  color: #90C030;
}
#ouchigakko .sidebar.ouchigakko02 ul li:nth-child(2) {
  color: #90C030;
}
#ouchigakko .sidebar.ouchigakko03 ul li:nth-child(3) {
  color: #90C030;
}
@media only screen and (min-width: 769px) {
  #ouchigakko .contents .col2 {
    display: flex;
    justify-content: space-between;
  }
}
#ouchigakko .contents .orange {
  color: #DD4B29;
}
#ouchigakko #ouchigakko01 .lead {
  font-size: 1.75rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.28em;
  margin: 6.25rem 0 0;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko01 .lead {
    font-size: 1.8571428571rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.16em;
    margin: calc(2.5rem - 0.25em) 0 -0.25em;
  }
}
#ouchigakko #ouchigakko01 p {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 2.2222222222;
  margin: 2.25rem 0 0;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko01 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(2.75rem - 0.5em) 0 -0.5em;
  }
}
#ouchigakko #ouchigakko01 img {
  margin: 5.375rem 0 0;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko01 img {
    margin-top: 1.7142857143rem;
  }
}
#ouchigakko #ouchigakko01 .supported {
  height: 2.25rem;
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko01 .supported {
    height: 1.9285714286rem;
  }
}
#ouchigakko #ouchigakko01 .cm_link {
  margin: 3.75rem 0 0;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko01 .cm_link {
    height: 7.5714285714rem;
    margin-top: 1.4285714286rem;
  }
}
#ouchigakko #ouchigakko01 .cm_link:hover {
  /*
  background: #FFF;
  transition-delay: 0.2s;

  &::before{
  	transform: translateY(-50%) scale(6000%);
  }
  span{
    color: $red;
  }
  */
}
#ouchigakko #ouchigakko01 .cm_link:hover::before {
  transform: translateX(50%) translateY(-50%) scale(150%);
}
#ouchigakko #ouchigakko01 .cm_link span {
  width: 76.872246696%;
  font-size: 1.375rem;
  font-feature-settings: "palt" 1;
  left: 7.7092511013%;
  transform: translateX(0) translateY(-50%);
  line-height: 1.4545454545;
  white-space: break-spaces;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko01 .cm_link span {
    width: calc(100% - 90px);
    font-size: 1.1428571429rem;
    line-height: 1.5;
    left: 1.4285714286rem;
    white-space: normal;
    padding: 0;
  }
}
#ouchigakko #ouchigakko02 > div {
  padding: 3rem 4rem;
  margin-top: 2.5rem;
  background: #EDF5EE;
}
@media only screen and (min-width: 769px) {
  #ouchigakko #ouchigakko02 > div {
    max-height: 49.375rem;
    overflow-y: scroll;
  }
  #ouchigakko #ouchigakko02 > div::-webkit-scrollbar {
    width: 0.75rem;
    border-radius: 50%;
  }
  #ouchigakko #ouchigakko02 > div::-webkit-scrollbar-track {
    background-color: #F2F2F2;
    border-radius: 3.75rem;
  }
  #ouchigakko #ouchigakko02 > div::-webkit-scrollbar-thumb {
    background-color: #90C030;
    border-radius: 3.75rem;
  }
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko02 > div {
    padding: 2rem 1.4285714286rem;
    margin-top: 2rem;
  }
}
#ouchigakko #ouchigakko02 .event li {
  padding: 2rem 0;
  font-feature-settings: "palt" 1;
  border-bottom: 1px solid #B4B4B4;
}
#ouchigakko #ouchigakko02 .event li:first-child {
  padding-top: 0;
}
#ouchigakko #ouchigakko02 .event li:last-child {
  padding-bottom: 0;
  border: none;
}
#ouchigakko #ouchigakko02 .event li .date {
  font-size: 1.125rem;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko02 .event li .date {
    font-size: 0.8571428571rem;
  }
}
#ouchigakko #ouchigakko02 .event li .title {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.16em;
  margin: calc(1.75rem - 0.3em) 0 -0.3em;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko02 .event li .title {
    font-size: 1.1428571429rem;
    font-weight: bold;
    letter-spacing: 0.08em;
  }
}
#ouchigakko #ouchigakko02 .event li .fs14 {
  font-size: 0.875rem;
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko02 .event li .fs14 {
    font-size: 0.8571428571rem;
  }
}
#ouchigakko #ouchigakko02 .event li .fs16 {
  font-size: 1rem;
  margin-top: 0.875rem;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko02 .event li .fs16 {
    font-size: 1.1428571429rem;
  }
}
#ouchigakko #ouchigakko02 .event li a {
  display: block;
  color: #90C030;
  margin-top: 1.75rem;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko02 .event li a {
    font-size: 1.1428571429rem;
    margin-top: 2rem;
  }
}
#ouchigakko #ouchigakko03 .slide_loop {
  margin-top: 3.25rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko03 .slide_loop {
    margin-top: 2.0714285714rem;
  }
}
#ouchigakko #ouchigakko03 .slide_loop .prev {
  display: block;
  width: 3.25rem;
  margin-top: 2.375rem;
  cursor: pointer;
  position: relative;
  transform: none;
}
#ouchigakko #ouchigakko03 .slide_loop .prev::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#ouchigakko #ouchigakko03 .slide_loop .prev:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#ouchigakko #ouchigakko03 .slide_loop .next {
  width: 3.25rem;
  position: absolute;
  bottom: 0;
  left: 5.25rem;
  cursor: pointer;
  transform: none;
}
#ouchigakko #ouchigakko03 .slide_loop .next::after {
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
#ouchigakko #ouchigakko03 .slide_loop .next:hover::after {
  transform: scale(1.2);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}
#ouchigakko #ouchigakko03 .slide_loop .more {
  position: absolute;
  right: 0;
  bottom: 0;
}
#ouchigakko #ouchigakko03 .slide_loop .more .cm_link2 {
  width: 11.9375rem;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
}
#ouchigakko #ouchigakko03 .slide_loop .mask {
  overflow: hidden;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li > div {
  width: 330px;
  margin-right: 3rem;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko03 .slide_loop .mask .newsList li > div {
    width: 15.1428571429rem;
    margin-right: 2.1428571429rem;
  }
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a {
  display: block;
  text-decoration: none;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a:hover .img {
  transform: scale(1.1);
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .ofh {
  overflow: hidden;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .img {
  background: url("https://www.alba-edu.org/img_2023/noimage.svg") center/cover no-repeat;
  padding-top: 63.6363636364%;
  transition: transform 0.3s ease-in-out;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .info {
  position: relative;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .info .cat {
  position: relative;
  padding-left: 1.875rem;
  color: #FF7B92;
  margin: 1.5625rem 0 0;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .info .cat::before {
  display: block;
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background-image: url(https://www.alba-edu.org/img_2023/onlineouchigakko/ic-cat.svg);
  background-size: cover;
  background-repeat: no-repeat;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  position: absolute;
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .info .date {
  display: block;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .title {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  margin: calc(1.75rem - 0.3em) 0 -0.3em;
}
@media only screen and (max-width: 767px) {
  #ouchigakko #ouchigakko03 .slide_loop .mask .newsList li a .title {
    font-weight: bold;
  }
}

#support .sidebar.support01 ul li:nth-child(1) {
  color: #90C030;
}
#support .sidebar.support02 ul li:nth-child(2) {
  color: #90C030;
}
#support .sidebar.support03 ul li:nth-child(1) {
  color: #90C030;
}
#support .sidebar.support04 ul li:nth-child(2) {
  color: #90C030;
}
#support .sidebar.support06 ul li:nth-child(5) {
  color: #90C030;
}
@media only screen and (min-width: 769px) {
  #support .contents .col2 {
    display: flex;
    justify-content: space-between;
  }
}
#support .contents .orange {
  color: #DD4B29;
}
#support #support01 .img {
  height: 4.58996875rem;
  margin: 5.1875rem 0 0;
}
@media only screen and (max-width: 767px) {
  #support #support01 .img {
    height: 3.1428571429rem;
    margin-top: 2.8571428571rem;
  }
}
#support #support01 .lead {
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.28em;
  margin: 2.4375rem 0 5.375rem;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  #support #support01 .lead {
    font-size: 1.2857142857rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    margin: 1.7857142857rem 0 0;
  }
}
#support #support01 p {
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 2.2222222222;
  margin: calc(3.5rem - 0.5em) 0 -0.5em;
}
@media only screen and (max-width: 767px) {
  #support #support01 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(2.5rem - 0.5em) 0 -0.5em;
  }
}
#support #support01 .txtimg {
  position: relative;
  margin: 3.5625rem 0 0;
}
@media only screen and (max-width: 767px) {
  #support #support01 .txtimg {
    margin: 0;
  }
}
#support #support01 .txtimg_txt {
  max-width: 32.0625rem;
}
#support #support01 .txtimg_img {
  position: absolute;
  right: 0;
  bottom: -2.5rem;
  z-index: -1;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  #support #support01 .txtimg_img {
    position: relative;
    margin-top: -2.8571428571rem;
    z-index: -1;
    bottom: 0;
    right: -24vw;
  }
}
#support #support01 .txtimg_img img {
  display: inline-block;
  width: 56.2222222222%;
}
@media only screen and (max-width: 767px) {
  #support #support01 .txtimg_img img {
    display: block;
    width: 80.5333333333vw;
  }
}
#support .support02 h2 {
  margin:  0;
}
@media only screen and (max-width: 767px) {
  #support .support02 h2 {
    margin-top: 2.5714285714rem;
  }
}
#support .support02 h3 {
  display: block;
  background-color: #8FBF30;
  color: #FFF;
  font-size: 1.375rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.16em;
  padding: 1.375rem;
  margin: 2.8125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #support .support02 h3 {
    font-size: 1.3571428571rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.3;
    margin-top: 1.9285714286rem;
    padding: 0.7142857143rem 1.7857142857rem;
  }
}
#support .support02 .col2 {
  margin: 2.5rem 0 0;
}
@media only screen and (max-width: 767px) {
  #support .support02 .col2 {
    margin-top: 1.4285714286rem;
  }
}
#support .support02 .col2 .img {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  #support .support02 .col2 .img {
    width: 45.7142857143%;
  }
}
#support .support02 .col2 .txt {
  width: 100%;
  margin: 1.0625rem 0 0;
}
@media only screen and (min-width: 769px) {
  #support .support02 .col2 .txt {
    width: 50.5494505495%;
  }
}
#support .support02 p {
  line-height: 2;
  letter-spacing: 0.1em;
}
#support .support02 p a {
  color: #90C030;
  text-decoration: underline;
}
#support .support02 h3 + p {
  margin: 2.5rem 0 0;
}
#support .support02 + .support02 h2 {
  margin: 5rem 0 0;
}

@media only screen and (max-width: 767px) {
  #studentsag .contents,
  #agreement .contents {
    padding: 0 0.7142857143rem;
  }
}
#studentsag .contents h1,
#agreement .contents h1 {
  font-size: 2.1875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 9.6875rem 0 0;
}
@media only screen and (max-width: 767px) {
  #studentsag .contents h1,
  #agreement .contents h1 {
    font-size: 1.7857142857rem;
    font-weight: bold;
    letter-spacing: 0;
    margin-top: 4.2857142857rem;
  }
}
#studentsag .contents .title,
#agreement .contents .title {
  display: block;
  font-size: 1.5rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 2.8125rem auto 0;
  line-height: 1.25;
}
@media only screen and (max-width: 767px) {
  #studentsag .contents .title,
  #agreement .contents .title {
    font-size: 1.2142857143rem;
    font-weight: bold;
    line-height: 1.5;
    margin: calc(1.75rem - 0.25em) 0 -0.25em;
  }
}
#studentsag .contents .title + p,
#agreement .contents .title + p {
  font-size: 1rem;
  line-height: 1.875;
  margin: 3.125rem 0 0;
}
@media only screen and (max-width: 767px) {
  #studentsag .contents .title + p,
  #agreement .contents .title + p {
    line-height: 1.75;
    margin: calc(2.25rem - 0.375em) 0 -0.375em;
  }
}
#studentsag .contents p,
#agreement .contents p {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  line-height: 2;
  margin: 1.75rem 0 0;
}
@media only screen and (min-width: 769px) {
  #studentsag .contents p,
  #agreement .contents p {
    padding: 0 1.6875rem;
  }
}
@media only screen and (max-width: 767px) {
  #studentsag .contents p,
  #agreement .contents p {
    font-size: 1rem;
    line-height: 1.75;
    margin: calc(2rem - 0.375em) 0 -0.375em;
  }
}
#studentsag .contents hr,
#agreement .contents hr {
  width: 100%;
  height: 1px;
  background-color: #CDD2CB;
  border: none;
  margin: 3.4375rem 0;
}
@media only screen and (max-width: 767px) {
  #studentsag .contents hr,
  #agreement .contents hr {
    margin: 2.1428571429rem 0 0;
  }
}
#studentsag .contents h2,
#agreement .contents h2 {
  font-size: 1.25rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin: 3.75rem 0 0;
}
@media only screen and (min-width: 769px) {
  #studentsag .contents h2,
  #agreement .contents h2 {
    padding: 0 1.6875rem;
  }
}
@media only screen and (max-width: 767px) {
  #studentsag .contents h2,
  #agreement .contents h2 {
    font-size: 1.2142857143rem;
    font-weight: bold;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.16em;
    line-height: 1.5;
    margin: calc(3.5rem - 0.25em) 0 -0.25em;
  }
}
#studentsag .contents .revision,
#agreement .contents .revision {
  margin: 3.75rem 0;
}
@media only screen and (max-width: 767px) {
  #studentsag .contents .revision,
  #agreement .contents .revision {
    margin: 3.4285714286rem 0 0;
  }
}
#studentsag .contents .company_name,
#agreement .contents .company_name {
  font-size: 1.25rem;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  #studentsag .contents .company_name,
  #agreement .contents .company_name {
    font-size: 1.2142857143rem;
    font-weight: bold;
    letter-spacing: 0.16em;
    line-height: 1;
  }
}

@media screen and (min-width: 980px) {
  .pcNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 16px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    height: auto;
  }
}
@media screen and (max-width: 979px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 14px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
  }
  img {
    display: block;
    max-width: 100%;
    width: auto;
  }
}/*# sourceMappingURL=layout.css.map */

footer .nav li .child li.rec_foot_pc a{
display: block;
    font-size: 1.125rem;
    text-decoration: none;
}
.rec_foot_pc{
    margin-top: 1.875rem !important;
}
header .nav li .child li.rec_nav_h_pc{
margin: 3.125rem 0 0;}
header .nav li .child li.rec_nav_h_pc a{
    font-size: 1.375rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
}

@media screen and (max-width: 980px) {

.rec_nav{
        width: 100%;
        border-bottom: 1px solid #E2E8E5;}
.rec_nav li{
font-size: 1.0714285714rem;
        text-align: center;
display: block;
    text-decoration: none;}
.rec_nav li a{
font-size: 1.0714285714rem;
        text-align: center;
        padding: 1.2142857143rem 0;
        display: block;
        text-decoration: none;
}
.rec_nav li a:hover {
    color: #90C030;
}

.rec_nav_h{
        margin-top: -37px;
        margin-bottom: 40px;
}

}



.wpcf7-select option{
color:#000000;
}


header .h_support {
    display: block;
    width: 11.25rem;
    height: 2.625rem;
    background: #007B43;
    border-radius: 1.0625rem 0 1.0625rem 0;
    position: fixed;
    top: 3rem;
    right: 14.875rem;
    transform: translateY(-50%);
    z-index: 7;
    overflow: hidden;
}

header .h_support::before {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background-color: #FFF;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    transition: 0.25s;
}

header .h_support::after {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/arw-g_h.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
}

header .h_support span {
    display: block;
    color: #FFF;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 1.875rem;
    transform: translateY(-50%);
    transition: 0.25s;
}

header .h_support:hover::before {
    transform: translateY(-50%) scale(150%);
}

#header_nav{
    position: fixed;
    top: 3rem;
    right: 28.675rem;
    transform: translateY(-50%);
z-index: 7;
}

#header_nav > ul{
    display: flex;
    gap: 20px;
    align-items: center;
}

#header_nav > ul > li{
}

#header_nav > ul > li > a,
#header_nav > ul > li > span
{
color: #000;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
text-decoration: none;
cursor: pointer;
  transition: color 0.2s;

}

#header_nav .menu_box{
      position: absolute;
    left: -65px;
    padding-top: 20px;
}

#header_nav .menu_box .inner{
  border-radius: 8px;
background: #90C030;
padding: 27px 23px;
    width: 252px;

}
#header_nav .menu_box .inner ul{
  display: flex;
flex-direction: column;
align-items: flex-start;
}
#header_nav .menu_box .inner ul li{
  position: relative;
}
#header_nav .menu_box .inner ul li::before {
    width: 1.125rem;
    height: 1.125rem;
    content: "";
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
#header_nav .menu_box .inner ul li::after {
    width: 0.438rem;
    height: 0.438rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/_arw.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    left: 0.105rem;
    transform: translateX(50%) translateY(-50%);
    z-index: 2;
}
#header_nav .menu_box .inner ul li a{
  color: #FFF;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 250%; /* 35px */
letter-spacing: 1.12px;
padding-left: 1.8rem;
text-decoration: none;
}


.h_n_about .border,
#header_nav > ul > li > a > .border {
    display: block;
    position: relative;
}


#header_nav > ul > li > a:hover{
  color: #90C030 !important;

}


.h_n_about_li .h_n_about .border::after,
#header_nav > ul > li > a > .border::after {
        content: "";
      position: absolute;
        bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #90C030;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform 0.5s;
}

.h_n_about_li:hover .h_n_about .border::after,
#header_nav > ul > li > a:hover > .border::after {



    transform: scale(1, 1);
    transform-origin: left top;
}

.h_n_about_li:hover .h_n_about {
color: #90C030 !important;
}

.h_n_about_icon-plus {
  color: black;
  transition: color 0.2s;
}

.h_n_about_li:hover .h_n_about_icon-plus {
  color: #90C030;
}

#header_nav .menu_box .inner ul li:hover::before {
    transform: translateY(-50%) scale(1.2, 1.2);
    transition-duration: 400ms;
    transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
}

/* 最初は非表示かつ透明 */
.menu_box {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  pointer-events: none; /* hover誤動作防止 */
}

/* ホバー時に表示＋フェードイン */
.h_n_about_li:hover .menu_box {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


#index .header .mainImage .book .txt p {
    font-size: 1.13vw;
}

.contents{
      background: #EBF3EC;
}

    #index #index031 {
        padding: 0 7.1rem;
        }

  #index031 ul {
      display: flex;
      gap: 2rem;
      margin-top: 3.75rem;
  }
  #index031 ul li{
  }
  #index031 ul li a{
  text-decoration: none;
  }
  #index031 ul li a img{
  border-radius: 0px 16px 0px 0px;
  }

  #index031 ul li .title{
  border-radius: 0px 0px 0px 16px;
    display: flex;
  padding: 12px 25px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  background: #90C030;
  color: #FFF;
  leading-trim: both;
  text-edge: cap;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 180%; /* 32.4px */
  letter-spacing: 1.44px;
      position: relative;

  }

  #index031 ul li .title::before {
    width: 1.880rem;
    height: 1.880rem;
    content: "";
    background-color: #FFF;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    right: 1.25rem;
    transform: translateY(-50%);
    transition: 0.25s;
  }

  #index031 ul li .title::after {
    width: 0.75rem;
    height: 0.75rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/_arw.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    right: 1.80rem;
    transform: translateY(-50%);
  }
  #index031 ul li a:hover .title::before {
    transform: translateY(-50%) scale(125%);
  }

    #index031 ul li .ofh {
    overflow: hidden;
      border-radius: 0px 16px 0px 0px;

  }

  
  #index031 ul li a .img {
        transition: transform 0.3s ease-in-out;
  }

  #index031 ul li a:hover .img {
  border-radius: 0px 16px 0px 0px;
    transform: scale(1.1);
  }


  #index #about06 {
    display: flex;
    flex-direction: row-reverse;
    width: 93.5%;
    margin: auto;
        margin-top: 5.625rem;
    background: #fff;
    border-radius: 16px;
  }

  #index .topslide {
    position: relative;
  }
  #index .topslide .slide_loop {
      padding: 5.0rem 4rem 5.0rem 26.9375rem;
  }

  #index .topslide h2 {
    position: absolute;
        left: 4rem;
        top: 5.0rem;
  }

  #index .topslide h2 .en {
    display: block;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-size: 3.75rem;
    font-weight: 500;
    letter-spacing: -0.02em;
  }

  #index .topslide h2 .jp {
    display: block;
    color: #808080;
    font-size: 1rem;
    letter-spacing: 0.22em;
    margin-top: 0.5rem;
}


  #index .topslide .slide_loop .prev {
    width: 3.25rem;
    position: absolute;
    top: 13rem;
    left: 4.1rem;
    cursor: pointer;
    transform: none;
}
  #index .topslide .slide_loop .next {
    width: 3.25rem;
    position: absolute;
    top: 13rem;
    left: 8.25rem;
    cursor: pointer;
    transform: none;
}

  #index .topslide .slide_loop .mask {
    overflow: hidden;
}

  #index .topslide .slide_loop .mask .caseStudyList li > div {
    width: 23.75rem;
    padding: 0;
    margin-right: 1.255rem;
}

  #index .topslide .slide_loop .mask .caseStudyList li a {
    display: block;
    text-decoration: none;
    padding: 0 0 1.75rem;
    position: relative;
}

  #index .topslide .slide_loop .mask .caseStudyList li a .ofh {
    overflow: hidden;
}

  #index .topslide .slide_loop .mask .caseStudyList li a .img {
    background: url("https://www.alba-edu.org/img_2025/noimage.svg") center/cover no-repeat;
    padding-top: 56.32%;
    transition: transform 0.3s ease-in-out;
}

  #index .topslide .slide_loop .mask .caseStudyList li a:hover .img {
    transform: scale(1.1);
}

  #index .topslide .slide_loop .mask .caseStudyList li a .box .cat .date {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: Figtree;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 180%;
    display: block;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-size: 0.875rem;
    font-weight: bold;
    letter-spacing: 0.04em;
}

  #index .topslide .slide_loop .mask .caseStudyList li a .box .cat {
    color: #90C030;
    padding-left: 1.75rem;
    letter-spacing: 0.14em;
    margin-top: 1.5rem;
    position: relative;
}



  #index .topslide .slide_loop .mask .caseStudyList li a .box .cat div {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: #90C030;
    border-radius: 0.5rem 0 0.5rem 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

  #index .topslide .slide_loop .mask .caseStudyList li a .title {
    font-size: 1.25rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-feature-settings: "palt" 1;
    line-height: 1.6;
    margin: calc(1.25rem - 0.3em) 0 -0.3em;
}

  #index .topslide .cm_link2{
    width: 11.9375rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    position: absolute;
    left: 4.2rem;
    bottom: 7rem;
  }

    #index #about07 {
    display: flex;
    flex-direction: row-reverse;
    width: 93.5%;
    margin: auto;
        margin-top: 2.50rem;
    background: #fff;
    border-radius: 16px;
  }

  #index .topslide .slide_loop .mask .image li {
    float: left;
    margin: 0;
}


  #index #about07.topslide .slide_loop .mask .caseStudyList li a .books {
width: 100%;
    background: rgb(237, 245, 238);
    padding: 40px;
  }

  #index #about07.topslide .slide_loop .mask .caseStudyList li a .img {
    background: url("https://www.alba-edu.org/img_2025/noimage.svg") center/cover no-repeat;
    padding-top: 60.32%;
    transition: transform 0.3s ease-in-out;
    width: 130px;
    left: 50%;
    margin: auto;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
}

#index #about07.topslide .slide_loop .mask .caseStudyList li a .box .cat .date {
    left: 0;
}
#index #about07.topslide .slide_loop .mask .caseStudyList li a .box .cat {
    height: 0.1rem;
}

    #index #index041 {
        padding: 0 7.1rem;
    }
    #index041 ul {
    display: flex;
    gap: 2rem;
    margin-top: 3.75rem;
  }
  #index041 ul li a {
    text-decoration: none;
  }
  #index041 ul li .ofh {
    overflow: hidden;
    border-radius: 0px 25px 0px 0px;
  }
  #index041 ul li .title {
    border-radius: 0px 0px 0px 16px;
      display: flex;
    padding: 12px 25px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    background: #90C030;
    color: #FFF;
    leading-trim: both;
    text-edge: cap;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%; /* 32.4px */
    letter-spacing: 1.44px;
        position: relative;
  }
  #index041 ul li a .img {
      transition: transform 0.3s ease-in-out;
  }
  #index041 ul li a:hover .img {
    border-radius: 0px 25px 0px 0px;
    transform: scale(1.1);
  }
  #index041 ul li a img {
      border-radius: 0px 25px 0px 0px;
  }
  #index041 ul li .title::before {
      width: 1.880rem;
      height: 1.880rem;
      content: "";
      background-color: #FFF;
      position: absolute;
      border-radius: 50%;
      top: 50%;
      right: 1.25rem;
      transform: translateY(-50%);
      transition: 0.25s;
  }
  #index041 ul li .title::after {
      width: 0.75rem;
      height: 0.75rem;
      content: "";
      background: url("https://www.alba-edu.org/img_2023/_arw.svg") center/100% no-repeat;
      position: absolute;
      top: 50%;
      right: 1.80rem;
      transform: translateY(-50%);
  }
  #index041 ul li a:hover .title::before {
    transform: translateY(-50%) scale(125%);
}

.speakUp h2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0px 35px 4rem;
}

@media only screen and (max-width: 767px) {
	.speakUp h2 {
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	    margin: 0px 10px 3rem;
	    flex-direction: column;
	}
}


footer {
    padding: 4.1875rem 5rem 0;
    position: relative;
    background: #fff;
}

footer .cm_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0 2.886515vw;
}
.footer_donor{
margin-top: 130px;

}



.footer_donor .h_support {
    display: block;
    width: 11.25rem;
    height: 2.625rem;
    background: #007B43;
    border-radius: 1.0625rem 0 1.0625rem 0;
    transform: translateY(-50%);
    z-index: 7;
    overflow: hidden;
}

.footer_donor .h_support::before {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background-color: #FFF;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    transition: 0.25s;
}

.footer_donor .h_support::after {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/arw-g_h.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
}

.footer_donor .h_support span {
    display: block;
    color: #FFF;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 1.875rem;
    transform: translateY(-50%);
    transition: 0.25s;
}

.footer_donor .h_support:hover::before {
    transform: translateY(-50%) scale(150%);
}

.foot_u2{
  display: flex;
    align-items: flex-end;
    margin-top: 30px;
    justify-content: space-between;
}
footer .nav2 {
    display: flex;
    gap: 0 2rem;
    margin-top: 0;
}
footer .sns {
    display: flex;
    gap: 0 0.875rem;
    margin-top: 0;
}

.subPage #header_nav > ul > li > a, .subPage  #header_nav > ul > li > span {
    color: #fff;
    font-weight: 500;
}

.subPage #header_nav > ul > li > a:hover, .subPage  #header_nav > ul > li > span:hover {
    color: #007B43 !important;
    font-weight: 500;
}

.subPage .h_n_about_icon-plus {
    color: #fff;
    transition: color 0.2s;
}

.subPage .h_n_about_li:hover .h_n_about_icon-plus {
    color: #007B43;
}


.subPage .h_n_about_li .h_n_about .border::after,
.subPage #header_nav > ul > li > a > .border::after {
    background-color: #007B43;
}

.subPage .fixed #header_nav > ul > li > a, .subPage .fixed #header_nav > ul > li > span {
    color: #000;
    font-weight: 500;
}

.subPage .fixed #header_nav > ul > li > a:hover, .subPage .fixed #header_nav > ul > li > span:hover {
    color: #90C030 !important;
}


.subPage .fixed .h_n_about_li:hover .h_n_about_icon-plus {
    color: #90C030;
}


.subPage .fixed .h_n_about_li .h_n_about .border::after,
.subPage .fixed #header_nav > ul > li > a > .border::after {
    background-color: #90C030;
}

.subPage .fixed .h_n_about_icon-plus {
    color: #000;
    transition: color 0.2s;
}

.subPage .contents {
    background: inherit;
        margin-top: 120px;
}

#activities.subPage .contents {
    background: inherit;
        margin-top: 4.5rem;
}


#aboutus #about01_01 p {
    font-size: 1.125rem;
    line-height: 2.2;
    margin: calc(3.5rem - 0.6em) 0 -0.6em;
    position: relative;
    z-index: 2;
}

#aboutus #about01_01 p .red {
    color: #DA4B29;
}

#aboutus #about01_01 .read {
    font-size: 2.50rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.28em;
    line-height: 1.75;
    margin: calc(4.4rem - 0.375em) 0 0.625em;
}

#aboutus .sidebar.about01_01 ul li:nth-child(2) {
    color: #90C030;
}
#aboutus .sidebar.about02 ul li:nth-child(3) {
    color: #90C030;
}

/*
baga

*/

#aboutus #baga .cm_flex {
  justify-content: space-between;
      gap: 0 1.0vw;
  margin-top: 2rem;
}
#aboutus #baga .cm_flex > div {
  background: #EBF3EC;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex > div {
    margin-top: 2rem;
  }
}
#aboutus #baga .cm_flex > div h3 {
      min-height: 3rem;
  height: 3rem;
  color: #fff;
  font-size: 1.0rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  text-align: center;
  position: relative;
  margin-top: 0;
}

#aboutus #baga .cm_flex > div.red h3 {
      display: flex;
    align-items: center;
}
#aboutus #baga .cm_flex > div.red h3 span{
    width: 50%;
    position: relative;
    top: auto;
    transform: none;
    left: auto;
        min-height: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

#aboutus #baga .cm_flex > div.red h3 span:nth-child(2){

background: #007B43;
}

@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex > div h3 {
    height: 2.9285714286rem;
    font-size: 1.2857142857rem;
    font-weight: bold;
  }
}
#aboutus #baga .cm_flex > div h3 span {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
font-weight: bold;
}
#aboutus #baga .cm_flex > div.green h3 span {
  letter-spacing: 0.6px;
}

@media only screen and (min-width: 769px) {
  #aboutus #baga .cm_flex .red {
    width: 17.85rem;
  }
}
#aboutus #baga .cm_flex .red h3 {
  background: #DA4B29;
}
#aboutus #baga .cm_flex .red .box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 1.625rem;
}
@media only screen and (min-width: 769px) {
  #aboutus #baga .cm_flex .red .box {
    height: calc(100% - 3.5rem);
    min-height: 30.375rem;
  }
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .red .box {
    padding: 2.1428571429rem 1.4285714286rem;
  }
}
#aboutus #baga .cm_flex .red .box .list {
  width: 18.5rem;
  position: relative;
}
#aboutus #baga .cm_flex .red .box .list::before {
    width: 2px;
    height: 22.95rem;
    content: "";
    background: #EBF3EC;
    mix-blend-mode: multiply;
    position: absolute;
    left: 2rem;
    top: 1.5rem;
}
#aboutus #baga .cm_flex .red .box .list::after {
    width: 1px;
    height: 22.95rem;
    content: "";
    background: #EBF3EC;
    mix-blend-mode: multiply;
    position: absolute;
    right: 1.89rem;
    top: 1.5rem;
}
#aboutus #baga .cm_flex .red .box .list li {
  margin-top: 1.25rem;
}
#aboutus #baga .cm_flex .red .box .list li:first-child {
  margin: 0;
}
#aboutus #baga .cm_flex .red .box .list li a {
  display: flex;
  align-items: center;
  font-size: 1.0rem;
  font-feature-settings: "palt" 1;
  text-decoration: none;
  padding: 0 0 1.4375rem 3.1rem;
  position: relative;
}
#aboutus #baga .cm_flex .red .box .list li a:hover, #aboutus #baga .cm_flex .red .box .list li a.select {
  color: #DA4B29;
}
#aboutus #baga .cm_flex .red .box .list li a:hover .num, #aboutus #baga .cm_flex .red .box .list li a.select .num {
  color: #FFF;
  background: #DA4B29;
}

#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a:hover, #aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a.select {
  color: #007B43;
}
#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a:hover .num, #aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a.select .num {
  color: #FFF;
  background: #007B43;
}


#aboutus #baga .cm_flex .red .box .list li a:hover .arw::before, #aboutus #baga .cm_flex .red .box .list li a.select .arw::before {
  transform: scale(1.4, 1.4);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
  background-color: #DA4B29;
}

#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a:hover .arw::before, #aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a.select .arw::before {
  transform: scale(1.4, 1.4);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
  background-color: #007B43;
}


#aboutus #baga .cm_flex .red .box .list li a:hover .arw::after, #aboutus #baga .cm_flex .red .box .list li a.select .arw::after {
  background-image: url("https://www.alba-edu.org/img_2023/arw.svg");
}
#aboutus #baga .cm_flex .red .box .list li a::after {
    width: 79%;
    height: 2.1rem;
    content: "";
    mix-blend-mode: multiply;
    background: url("https://www.alba-edu.org/img_2023/index/02.svg") center/100% no-repeat;
    position: absolute;
    left: 11%;
    bottom: 0;
}
#aboutus #baga .cm_flex .red .box .list li a .num {
  display: block;
  width: 1.125rem;
  color: #DA4B29;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 0.875rem;
  text-align: center;
  padding:0.12304rem 5px;
  margin-right: 1rem;
  background: #fff;
  position: relative;
  z-index: 1;
}

#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a .num {
      color: #007B43;
}


#aboutus #baga .cm_flex .red .box .list li a .arw {
  display: block;
}
#aboutus #baga .cm_flex .red .box .list li a .arw::before {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 0rem;
    right: 35px;
    z-index: 2;
}
#aboutus #baga .cm_flex .red .box .list li a .arw::after {
    width: 0.5625rem;
    height: 0.5625rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/_arwr.svg") center/100% no-repeat;
    position: absolute;
    top: 0.35rem;
    right: 2.8125rem;
    transform: translateX(50%);
    z-index: 2;
}
#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a .arw::after {
      background: url("https://www.alba-edu.org/img_2023/arw-green-left.svg") center/100% no-repeat;
      display: inline-block;
  transform: rotate(180deg);
    right: 2.5125rem;

}
#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a.select .arw::after {
      background: url("https://www.alba-edu.org/img_2023/arw-w-left.svg") center/100% no-repeat;
}
#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a:hover .arw::after {
      background: url("https://www.alba-edu.org/img_2023/arw-w-left.svg") center/100% no-repeat;
      display: inline-block;
  transform: rotate(180deg);
    right: 2.5125rem;

}


@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .red .box .list li a .arw::after {
    transform: translateX(50%) rotate(90deg);
  }
}

#aboutus #baga .cm_flex .green{
      max-width: 336px;
    width: 37%;
}
@media only screen and (max-width: 767px) {
	#aboutus #baga .cm_flex .green {
	    max-width: 100%;
	    width: 100%;
	}
}

#aboutus #baga .cm_flex .green::after {
    width: 2.25rem;
    height: 2.25rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/index/03.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    left: -1.5125rem;
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green::after {
    width: 2.2857142857rem;
    height: 3.0714285714rem;
    background: url("https://www.alba-edu.org/img_2023/index/_03.svg") center/100% no-repeat;
    top: -3.0714285714rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
#aboutus #baga .cm_flex .green h3 {
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  background: #90C030;
}

@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green h3 {
    font-size: 1.2857142857rem;
  }
}
@media only screen and (min-width: 769px) {
#aboutus #baga .cm_flex .green .box {
    padding: 2.5vw 1.165431918vw;
    height: calc(100% - 3.5rem);
}
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green .box {
    padding: 2rem 1.4285714286rem;
  }
}
#aboutus #baga .cm_flex .green .box .inner {
  background: #fff;
  border-radius: 2rem 0 2rem 0;
}
@media only screen and (min-width: 769px) {
#aboutus #baga .cm_flex .green .box .inner {
    padding: 2.5282576867vw 1.9641288433vw;
    height: 100%;
}
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green .box .inner {
    padding: 1.8571428571rem 1.4285714286rem 2.2857142857rem;
  }
}
#aboutus #baga .cm_flex .green .box .inner ul li {
  opacity: 0;
  visibility: hidden;
  transition: 0.5s opacity;
  height: 0;
}
#aboutus #baga .cm_flex .green .box .inner ul li.show {
  opacity: 1;
  visibility: visible;
  height: auto;
}
#aboutus #baga .cm_flex .green .box .inner h4 {
  display: flex;
  align-items: center;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  font-size: 1.125rem;
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green .box .inner h4 {
    font-size: 1.2857142857rem;
    font-weight: bold;
  }
}
#aboutus #baga .cm_flex .green .box .inner h4 .num {
    display: block;
    width: 1.275rem;
    color: #fff;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-size: 1rem;
    text-align: center;
    padding: 0.1575rem 5px;
    margin-right: 0.6rem;
    background: #DA4B29;
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green .box .inner h4 .num {
    font-size: 1.2857142857rem;
  }
}
#aboutus #baga .cm_flex .green .box .inner h4 .num.green {
  background: #007B43;
}
#aboutus #baga .cm_flex .green .box .inner img {
  margin-top: 1.5rem;
}
#aboutus #baga .cm_flex .green .box .inner p {
    font-size: 0.875rem;
    line-height: 180%;
    margin: 1em 0 -0.5em;
}
#aboutus #baga .cm_flex .green .box .inner .cm_link2 {
  width: 12.875rem;
  font-size: 1.25rem;
  margin: 3.5rem auto 0;
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .green .box .inner .cm_link2 {
    width: 12.1428571429rem;
    font-size: 1.1428571429rem;
    margin: 2.1428571429rem auto 0;
  }
}
#aboutus #baga .cm_flex .dgreen::after {
    width: 2.25rem;
    height: 2.25rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2025/004.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    left: -1.5125rem;
    transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .dgreen::after {
    width: 2.2857142857rem;
    height: 3.0714285714rem;
    background: url("https://www.alba-edu.org/img_2025/arrow_sp_y.svg") center/100% no-repeat;
    top: -3.0714285714rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 769px) {
  #aboutus #baga .cm_flex .dgreen {
    width: 16.3625rem;
  }
}
#aboutus #baga .cm_flex .dgreen h3 {
  background: #FAC11B;
}
#aboutus #baga .cm_flex .dgreen .box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 0 1.625rem;
}
@media only screen and (min-width: 769px) {
  #aboutus #baga .cm_flex .dgreen .box {
    height: calc(100% - 3.5rem);
  }
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .dgreen .box {
    padding: 2.1428571429rem 1.4285714286rem;
  }
}
#aboutus #baga .cm_flex .dgreen .box .list2 {
  width: 14.3125rem;
  position: relative;
}
#aboutus #baga .cm_flex .dgreen .box .list2::before {
  width: 2px;
  height: 9.1875rem;
  content: "";
  background: #EBF3EC;
  mix-blend-mode: multiply;
  position: absolute;
  left: 0;
  top: 1.5rem;
}
#aboutus #baga .cm_flex .dgreen .box .list2::after {
  width: 2px;
  height: 9.1875rem;
  content: "";
  background: #EBF3EC;
  mix-blend-mode: multiply;
  position: absolute;
  right: 0;
  top: 1.5rem;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li {
  margin-top: 1.75rem;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li:first-child {
  margin: 0;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a {
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  font-feature-settings: "palt" 1;
  text-decoration: none;
  padding: 0 0 1.4375rem 1.25rem;
  position: relative;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a:hover, #aboutus #baga .cm_flex .dgreen .box .list2 li a.select {
  color: #007B43;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a:hover .num, #aboutus #baga .cm_flex .dgreen .box .list2 li a.select .num {
  color: #FFF;
  background: #007B43;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a:hover .arw::before, #aboutus #baga .cm_flex .dgreen .box .list2 li a.select .arw::before {
  transform: scale(1.4, 1.4);
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0, 0.8, 0.2, 1);
  background-color: #007B43;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a:hover .arw::after, #aboutus #baga .cm_flex .dgreen .box .list2 li a.select .arw::after {
  background-image: url("https://www.alba-edu.org/img_2023/arw-w-left.svg");
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a::after {
  width: 100%;
  height: 2.5625rem;
  content: "";
  mix-blend-mode: multiply;
  background: url("https://www.alba-edu.org/img_2023/index/02.svg") center/100% no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a .num {
  display: block;
  width: 1.375rem;
  color: #007B43;
  font-family: "Figtree", "Noto Sans JP", sans-serif;
  font-size: 1rem;
  text-align: center;
  padding: 0.1875rem 0;
  margin-right: 1rem;
  background: #fff;
  position: relative;
  z-index: 1;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a .arw {
  display: block;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a .arw::before {
  width: 1.625rem;
  height: 1.625rem;
  content: "";
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: -0.125rem;
  right: 0;
  z-index: 2;
}
#aboutus #baga .cm_flex .dgreen .box .list2 li a .arw::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw-green-left.svg") center/100% no-repeat;
  position: absolute;
  top: 0.3125rem;
  right: 0.8125rem;
  transform: translateX(50%);
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #aboutus #baga .cm_flex .dgreen .box .list2 li a .arw::after {
    transform: translateX(50%) rotate(90deg);
  }
}

.dgreen .t1{
  color: #000;
font-family: Figtree;
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 25.2px */
letter-spacing: 0.42px;
margin-bottom: 30px;
}

.dgreen .box .t_box {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: flex-start;
}
.dgreen .box .alb {
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}


.dgreen .box .alb .num {
  display: flex;
}

.dgreen .box .alb .num span {
  width: 19px;
height: 19px;
background-color:#FAC11B;
border-radius: 19px;
display: flex;
color: #FFF;
font-family: Figtree;
font-size: 14px;
font-style: normal;
font-weight: 500;
    line-height: 1px;
letter-spacing: 0.42px;
    align-items: center;
    justify-content: center;

}
.dgreen .box .alb .num span.nb {
  background-color: #90C030;
}
.dgreen .box .alb .num span.nc {
  background-color: #007B43;
}
.dgreen .box .alb .num span.nd {
  background-color: #DD4B29;
}

.dgreen .box .alb .texts {
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
letter-spacing: 1.12px;
}
.dgreen .box .alb .texts.nd {
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
letter-spacing: 0.2px;
color: #DD4B29;
    line-height: 20px;
}


.dgreen .box img {
      margin-top: 20px;
}


#founder .sidebar.founder01 ul li:nth-child(1) {
  color: #90C030;
}
#founder .sidebar.founder02 ul li:nth-child(2) {
  color: #90C030;
}

#founder01 .cm_h2{
    margin-top: 0;
}



@media only screen and (min-width: 769px) {
  #founder #founder01 .cm_flex {
      justify-content: space-between;
      align-items: flex-start;
      margin-top: 5rem;
  }
  #founder #founder01 .cm_flex img {
    width: 40.12%;
  }
  #founder #founder01 .cm_flex dl {
    width: 52.169231%;
  }

}

  #founder #founder01 .cm_flex dl dt {
      padding-bottom: 1.375rem;
      border-bottom: 1px solid #B2B2B2;
  }

#founder #founder01 .cm_flex dl dt .name {
    display: block;
    color: #808080;
    font-size: 0.875rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    margin-top: 1rem;
}
#founder #founder01 .cm_flex dl dt .name strong {
    display: inline-block;
    color: #90C030;
    font-size: 1.625rem;
    letter-spacing: 0.18em;
    padding-right: 1rem;
}
#founder #founder01 .cm_flex dl dd {
    line-height: 2;
    margin: calc(1.75rem - 0.5em) 0 -0.5em;
}

#founder #founder02{
  position: relative;
}

#founder #founder02 .read {
    font-size: 1.75rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.28em;
    line-height: 1.75;
    margin: calc(6rem - 0.375em) 0 -0.375em;
}

#founder #founder02 .read .red {
    color: #DA4B29;
}

#founder #founder02 p {
    font-size: 1.125rem;
    line-height: 2.2;
    margin: calc(2.5rem - 0.6em) 0 -0.6em;
    width: 80%;
}

#founder #founder02 .txtimg_img{
    position: absolute;
    right: 0;
    bottom: -2.5rem;
    z-index: -1;
    text-align: right;
}

#founder #founder02 .txtimg_img img {
    display: inline-block;
    width: 56.2222222222%;
}


#overview .staffList li {
    max-width: 148px;
    letter-spacing: 0.12em;
    cursor: pointer;
}

#overview #overview04 .history{
  margin-top: 70px;
}

#overview #overview04 .history li:first-child {
    margin: 0;
}

#overview #overview04 .history li {
    display: flex;
    margin-top: 1.5rem;
    letter-spacing: 0.12em;
}
#overview #overview04 .history li span {
    display: block;
    line-height: 1.5;
}
#overview #overview04 .history li .y {
    min-width: 7.5rem;
}


#ss_mv{
  padding: 20px;
}

#ss_mv .inner{
  border-radius: 20px;
background: #D3E7BA;
background-image: url(img_2025/spear_star_mv_back.png);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: auto;
  padding: 4% 0px 3.6% 7.55%;
}

#ss_mv .inner .rows{
  display: flex;
      justify-content: space-between;
}
#ss_mv .inner .rows .text{}
#ss_mv .inner .rows .text h2{
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 56px;
font-style: normal;
font-weight: 500;
line-height: 150%; /* 84px */
letter-spacing: 4.48px;
}
#ss_mv .inner .rows .text h2 .red{
    color: #DD4B29;

}
#ss_mv .inner .rows ul {
        margin: 8.8% 0;
    display: flex;
    flex-wrap: wrap;
        max-width: 570px;
        gap: 15px 0px;
}
#ss_mv .inner .rows ul li{
      display: flex;
    align-items: center;
  color: #000;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 18px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
gap: 8px;
width: 50%;
}
.dot-underline {
  border-bottom: 2px dotted #F7BE1B;
  padding-bottom: 0.1em;
}

#ss_mv .inner .rows .imgs{
  margin-right: -3px;
}

#ss_mv .ask {
    display: block;
    width: 30.0rem;
    height: 5rem;
    background: #DA4B29;
    border-radius: 2.5rem 0 2.55rem 0;
    z-index: 6;
    overflow: hidden;
    position: relative;
}
#ss_mv .ask::before {
    width: 2.25rem;
    height: 2.25rem;
    content: "";
    background-color: #FFF;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    right: 4rem;
    transform: translateY(-50%);
    transition: 0.25s;
}
#ss_mv .ask span {
    display: block;
    color: #FFF;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    font-size: 1.375rem;
    top: 50%;
    left: 50%;
transform: translate(-50%, -50%);
    transition: 0.25s;
}
#ss_mv .ask::after {
    width: 2.25rem;
    height: 2.25rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/arw-r.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    right: 4rem;
    transform: translateY(-50%);
}

#ss_mv .ask:hover::before {
    transform: translateY(-50%) scale(130%);
}

#speak_star .sidebar.speak_star01 ul li:nth-child(1) {
  color: #90C030;
}
#speak_star .sidebar.speak_star02 ul li:nth-child(3) {
  color: #90C030;
}
#speak_star .sidebar.speak_star03 ul li:nth-child(2) {
  color: #90C030;
}
#speak_star .sidebar.speak_star04 ul li:nth-child(4) {
  color: #90C030;
}
#speak_star .sidebar.speak_star05 ul li:nth-child(5) {
  color: #90C030;
}
#speak_star .sidebar.speak_star06 ul li:nth-child(6) {
  color: #90C030;
}


#speak_star .contents{
  margin-top: 7.5rem;
}

#speak_star01 .cm_h2{
margin-top: 0;
}
#speak_star #speak_star01{
  position: relative;
}

#speak_star #speak_star01 .read {
    font-size: 1.88rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.28em;
    line-height: 1.75;
    margin: calc(4.4rem - 0.375em) 0 0.625em;
}

#speak_star #speak_star01 p .red {
    color: #DA4B29;
}

#speak_star #speak_star01 p {
line-height: 180%;
letter-spacing: 1.28px;
    font-size: 1.0rem;
    margin: calc(3.5rem - 0.6em) 0 -0.6em;
    position: relative;
    z-index: 2;
}

#speak_star #speak_star01 figure {
    position: absolute;
    width: 5.3125rem;
    bottom: 0rem;
    right: 3.5rem;
}

.yt_block{
    position: relative;
  width: 100%;
  max-width: 911px;
  aspect-ratio: 16 / 9;
  margin: 70px auto 0;
}

.yt_block iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

#speak_star .contents h3 {
    display: flex;
    min-height: 4rem;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-feature-settings: "palt" 1;
    font-size: 1.375rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.16em;
    margin-top: 5rem;
    background: #90C030;
}

#speak_star .boxs{
  border-right: 1px solid #EEF6EF;
border-bottom: 1px solid #EEF6EF;
border-left: 1px solid #EEF6EF;
  padding: 50px 30px 70px;

}

#speak_star .contents h3 .num {
    width: 2.0625rem;
    color: #90C030;
    font-size: 1.5rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    text-align: center;
    letter-spacing: 0;
    padding: 0.3125rem 0;
    margin-right: 1rem;
    background: #fff;
}

#speak_star .contents h3 span {
    display: block;
}

#speak_star p {
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
padding: 0px 16px;
}

#speak_star h4 {
  margin-top: 70px;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.6px;
    display: flex;
    align-items: baseline;
    justify-content: center;
}

#speak_star .rows {
  display: flex;
  gap: 20px;
  margin-top: 30px;
}
#speak_star #speak_star02 .rows img{
max-width: 415px;
width: calc(50% - 10px);
}
#speak_star h4.sec {
  margin-top: 50px;
}
#speak_star .s_mt {
  margin-top: 20px;
}

#speak_star p.cent_l {
text-align: center;
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 36px */
letter-spacing: 1.6px;
padding: 0px 16px;
}
#speak_star .rows_num3 {
  display: flex;
  gap: 30px;
  margin-top: 0px;
}

#speak_star .rows_num3 p {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 1.12px;
    padding: 0px 0px;
}
#speak_star .rows_num3 h4 {
color: #90C030;
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
margin-top: 35px;
    justify-content: flex-start;
}
#speak_star .rows_num3 h4 {
color: #90C030;
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
margin-top: 25px;
    justify-content: flex-start;
}
#speak_star .rows_num3 .imgs {
flex-shrink: 0;
}
#speak_star .rows_num3 .imgs img{
    max-width: 416px;
}

#speak_star .rows_num3 ul {
margin-top: 15px;
}
#speak_star .rows_num3 ul li{
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
  position: relative;
  padding-left: 0.6em;
}
#speak_star .rows_num3 ul li::before {
    content: '';
    width: 3px;
    height: 3px;
    background: black;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}


#speak_star03 ul {
    display: flex;
    gap: 50px;
    flex-wrap: wrap;
    margin-top: 70px;
}
#speak_star03 ul li {
    width: calc(50% - 25px);
}
#speak_star03 ul li img{}
#speak_star03 ul li .catch{
  color: #90C030;
font-size: 20px;
font-style: normal;
font-weight: 700;
line-height: 180%; /* 36px */
letter-spacing: 1.6px;
margin: 20px auto;
}
#speak_star03 ul li p{
font-family: "Noto Sans JP";
font-size: 13.194px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 23.749px */
letter-spacing: 1.056px;
padding: 0;
}

.ss_link {
  margin-top: 120px;
}

.ss_link .inner {
  max-width: 911px;
  width: 100%;
  height: 343px;
  margin: 0 auto;
  padding-left: 41px;

  background-image: url("https://www.alba-edu.org/img_2025/speak_star_block_back.png");
  background-size: 870px 343px;
  background-repeat: no-repeat;
  background-position: right top;

  image-rendering: auto;
}


.ss_link .ss_link_row {
  display: flex;
  gap: 40px;
      padding-right: 30px;
}

.ss_link .imgs {
    max-width: 374px;
    margin-top: 30px;
    margin-left: -50px;
}

.ss_link .imgs img {}

.ss_link .texts {}

.ss_link .texts .main_text {
      margin: 60px auto 0;
  max-width: 434px;
}

.ss_link .texts .main_text img {

}

.ss_link .texts .sub_text {
    display: flex;
    align-items: stretch;
    justify-content: center;
    margin-top: 48px;
}

.ss_link .texts .sub_text svg {}

.ss_link .link_bt {
  display: flex;
  gap: 10px;
  margin-top: 50px;
}

.ss_link .link_bt .contact {}

.ss_link .link_bt .contact span {}

.ss_link .link_bt1 {
    display: block;
    width: 230px;
    height: 50px;
    background: #DA4B29;
    border-radius: 1.0625rem 0 1.0625rem 0;
    transform: translateY(-50%);
    z-index: 6;
    overflow: hidden;
}
.ss_link .link_bt1::before {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background-color: #FFF;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    transition: 0.25s;
}
.ss_link .link_bt1 span {
    display: block;
    color: #FFF;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.25s;
}
.ss_link .link_bt1::after {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/arw-r.svg") center/100% no-repeat;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
}
.ss_link .link_bt1:hover::before {
    transform: translateY(-50%) scale(150%);
}

.ss_link .link_bt2 {
    display: block;
    width: 230px;
    height: 50px;
    background: #007B43;
    border-radius: 1.0625rem 0 1.0625rem 0;
    transform: translateY(-50%);
    z-index: 6;
    overflow: hidden;
}
.ss_link .link_bt2::before {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background-color: #FFF;
    position: absolute;
    border-radius: 50%;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    transition: 0.25s;
}
.ss_link .link_bt2 span {
    display: block;
    color: #FFF;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.25s;
}
.ss_link .link_bt2::after {
    width: 1.25rem;
    height: 1.25rem;
    content: "";
    background: url(https://www.alba-edu.org/img_2023/arw-g_h.svg) center / 100% no-repeat;
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
}
.ss_link .link_bt2:hover::before {
    transform: translateY(-50%) scale(150%);
}

.subPage .caseStudy.ss .slide_loop {
    padding: 0;
}

@media only screen and (min-width: 769px) {
    .subPage .caseStudy.ss {
        padding: 0;
        margin-top: 70px;
    }
}

.subPage .caseStudy.ss .slide_loop .control{
  display: flex;
  margin-top: 50px;
}
.subPage .caseStudy.ss .slide_loop .control .arrows{
  display: flex;
}

.subPage .caseStudy.ss .slide_loop .prev {
    width: 3.25rem;
    position: relative;
    top: 0;
    left: 0;
    cursor: pointer;
    transform: none;
    display: block;
}
.subPage .caseStudy.ss .slide_loop .next {
    width: 3.25rem;
    position: relative;
    top: 0;
    left: 1.0rem;
    cursor: pointer;
    transform: none;
    display: block;
}
.subPage .caseStudy.ss .slide_loop .prev::after {
    width: 52px;
    height: 52px;
    content: "";
    background: #000;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
.subPage .caseStudy.ss .cm_link2 {
    width: 11.9375rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-size: 1.5rem;
    position: absolute;
    /* top: 42px; */
    bottom: 0;
    right: 0;
    display: flex;
    left: auto;
}

.subPage .caseStudy.ss .slide_loop .mask .image li {
    float: left;
    margin: 0;
}
.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li > div {
    width: 23.75rem;
    padding: 0;
    margin-right: 1.255rem;
}
.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a {
    display: block;
    text-decoration: none;
    padding: 0 0 1.75rem;
    position: relative;
}
.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a .ofh {
    overflow: hidden;
}
.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a .img {
    background: url("https://www.alba-edu.org/img_2025/noimage.svg") center/cover no-repeat;
    padding-top: 56.32%;
    transition: transform 0.3s ease-in-out;
}
.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a .box .cat {
    color: #90C030;
    padding-left: 1.75rem;
    letter-spacing: 0.14em;
    margin-top: 1.5rem;
    position: relative;
}
.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a .box .cat .date {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: Figtree;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 180%;
    display: block;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-size: 0.875rem;
    font-weight: bold;
    letter-spacing: 0.04em;
}
#speak_star.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a p.title {
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-feature-settings: "palt" 1;
    line-height: 1.6;
    margin: calc(1.25rem - 0.3em) 0 -0.3em;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 180%;
    letter-spacing: 1.6px;
    padding: 0;
}

.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a::after {
    content: none;
}

#speak_star05 {}

#speak_star05 .cm_h2 {}

#speak_star05 .qa_block {
  margin-top: 70px;
}

#speak_star05 .qa_block .qa {
  border-radius: 20px;
border: 1px solid #EEF6EF;
    padding: 0px 30px;
    margin-bottom: 30px;
}

#speak_star05 .qa_block .qa .q {
      display: flex;
    align-items: flex-start;
    justify-content: space-between;
        padding: 20px 0px;
    cursor: pointer;
}

#speak_star05 .qa_block .qa .q .q_l {
  display: flex;
      gap: 15px;
    align-items: flex-start;
    padding-right: 8%;
}

#speak_star05 .qa_block .qa .q .q_l .l1 {
  color: #90C030;
  font-family: "Figtree", "Noto Sans JP", sans-serif;

font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
}

#speak_star05 .qa_block .qa .q .q_l .l2 {
  color: #000;
font-family: "Noto Sans JP";
font-size: 16px;
font-style: normal;
font-weight: 600;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
}

#speak_star05 .qa_block .qa .q .ar {
  display: flex;
  position: relative;
}

#speak_star05 .qa_block .qa .q .ar::before {
    width: 1.875rem;
    height: 1.875rem;
    content: "";
    background: #90C030;
    border-radius: 50%;
    position: absolute;
    bottom: -30px;
    right: 0;
}
#speak_star05 .qa_block .qa .q .ar::after {
  width: 0.8125rem;
  height: 0.8125rem;
  content: "";
  background: url("https://www.alba-edu.org/img_2023/arw.svg") center/100% no-repeat;
  position: absolute;
    bottom: -1.3025rem;
    right: 0.90rem;
  transform: translateX(50%) rotate(90deg);
  z-index: 2;
}


#speak_star05 .qa_block .qa .q .ar img {}

#speak_star05 .qa_block .qa .a {
  margin-top: 0px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px solid #EEF6EF;
}

#speak_star05 .qa_block .qa .a .a_l {
  display: flex;
      gap: 15px;
    align-items: flex-start;
    padding-right: 8%;
}

#speak_star05 .qa_block .qa .a .a_l .l1 {
    color: #90C030;
  font-family: "Figtree", "Noto Sans JP", sans-serif;

font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
}

#speak_star05 .qa_block .qa .a .a_l .l2 {
  color: #000;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
}

#speak_star05 .qa .a {
display: none;
}


#speak_star05 .qa .ar::after {
  transition: transform 0.3s ease;
}

#speak_star05 .qa_block .qa.open .q .ar::after {
  transform: translateX(50%) rotate(-90deg); /* 上向き */
}

#speak_star06 .inner{
  margin-top: 70px;
}

.subPage .img_loop {
    display: flex;
    gap: 0 2rem;
    width: 225rem;
    height: 11rem;
    margin-top: 3.25rem;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
}

.subPage .img_loop img {
    width: 112.5rem;
    height: 11rem;
    -webkit-animation: 40s linear infinite flow-typo-md;
    animation: 40s linear infinite flow-typo-md;
}

.img_loop_hidden{
  overflow-x: hidden;
}

#training01 {}

#training01 .cm_h2 {
    margin-top: 0;
}

#training01 p.main {
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
margin-top: 70px;
}

#training01 .sub_h {
    margin-top: 40px;
    display: flex;
    gap: 10px;
    align-items: center;
font-size: 20px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 36px */
letter-spacing: 1.6px;

}

#training01 .sub_h:first-of-type {
  margin-top: 50px;
}

#training01 .sub_h img {
  width: 25px;
}

#training01 p{
font-size: 18px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
margin-top: 20px;
}

#training01 ul {
  margin-top: 20px;
}

#training01 ul li {
font-size: 18px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
      position: relative;
    padding-left: 1.3em;
}

#training01 ul li::before {
    content: '';
    width: 4px;
    height: 4px;
    background: black;
    border-radius: 50%;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}


#training01 h3 {
    display: block;
    background-color: #8FBF30;
    color: #FFF;
    font-size: 1.375rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.16em;
    padding: 1.375rem;
    margin: 2.8125rem 0 0;
}

#training01 .boxs {
    border-right: 1px solid #EEF6EF;
    border-bottom: 1px solid #EEF6EF;
    border-left: 1px solid #EEF6EF;
    padding: 50px 30px 70px;
    position: relative;
}

#training01 .boxs p {

font-size: 18px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
    margin-top: 0px;
        text-align: center;
}

#training01 .boxs .rows {
  display: flex;
  gap: 35px;
  margin-top: 50px;
}

#training01 .boxs .rows .texts {
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
}

#training01 .boxs .rows .texts .t1 {
}

#training01 .boxs .rows .texts img {
    margin-top: 10px;

}

#training01 .boxs .rows .texts .k1 {
  color: #000;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
margin-top: 10px;
}

#training01 .boxs .rows .imgs {
      padding-top: 40px;
}

#training01 .boxs .rows .imgs img {}

#training01 .boxs .rows .imgs .mp {
  font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 21.6px */
letter-spacing: 0.96px;
text-align: left;
    margin-top: 5px;
}

#training01 .boxs figure {
    position: absolute;
    width: 5.3125rem;
    bottom: -0.5625rem;
    right: -0.875rem;
    background: #fff;
}

#training02 p.main{
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
margin-top: 70px;
}

#training02 .sub_h {
    margin-top: 40px;
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.6px;
}


#training02 .sub_h:first-of-type {
  margin-top: 50px;
}

#training02 .sub_h img {
  width: 25px;
}

#training02 p{
font-size: 18px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 32.4px */
letter-spacing: 1.44px;
margin-top: 20px;
}

#training03 p.main{
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
margin-top: 70px;
}
#training03 ul.rows_img{
margin-top: 50px;
display: flex;
gap: 9px;
}
#training03 ul.rows_img li{
}
#training03 ul.rows_img li .cap{
  color: #90C030;
text-align: center;
font-size: 20px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 36px */
letter-spacing: 1.6px;
}
#training03 ul.rows_img li img{
  margin-top: 15px;
}

#training03 h3 {
    display: block;
    background-color: #8FBF30;
    color: #FFF;
    font-size: 1.375rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.16em;
    padding: 1.375rem;
    margin: 2.8125rem 0 0;
}

#training03 .boxs {
      border-right: 1px solid #EEF6EF;
    border-bottom: 1px solid #EEF6EF;
    border-left: 1px solid #EEF6EF;
    padding: 50px 46px 50px;
    position: relative;
}

#training03 .boxs h4 {
text-align: center;
font-size: 20px;
font-style: normal;
font-weight: 500;
line-height: 1; /* 36px */
letter-spacing: 1.6px;
}

#training03 .boxs h4:nth-of-type(2) {
  margin-top: 50px;
}

#training03 .boxs ul.tr_3 {
  display: flex;
  gap: 5px;
  margin-top: 30px;
}

#training03 .boxs ul.tr_3 > li {
  width: calc(100%/3);
  background: #EEF6EF;
  padding: 28px 5px;
}

#training03 .boxs ul.tr_3 li .h_t {
  color: #90C030;
font-size: 16px;
font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1.28px;
    text-align: center;
}

#training03 .boxs ul.tr_3 li ul {
  margin-top: 20px;
}

#training03 .boxs ul.tr_3 li ul li {
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 160%; /* 22.4px */
letter-spacing: 0.7px;
    position: relative;
    padding-left: 1.3em;
}

#training03 .boxs ul.tr_3 li ul li::before {
    content: '';
    width: 3px;
    height: 3px;
    background: black;
    border-radius: 50%;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {
#training03 .boxs ul.tr_3 li ul {
    margin-left: 2em;
}
    #training03 .boxs ul.tr_3 li ul li {
        list-style-type: disc;
        padding-left: 0.3em;
    }
#training03 .boxs ul.tr_3 li ul li::before {
    content: none;
}
}

#training03 .boxs img {
  margin-top: 20px;
}

#training03 .boxs p.list {
font-size: 14px;
font-style: normal;
line-height: 200%; /* 28px */
letter-spacing: 1.12px;
}

#training03 .boxs .vox {
  color: #90C030;
font-size: 18px;
font-style: normal;
letter-spacing: 1.44px;
}
#training03 .boxs .vox:nth-of-type(2) {
  margin-top: 40px;
}
#training03 .boxs.voice_box {
font-size: 14px;
font-style: normal;
font-weight: var(--sds-typography-subtitle-font-weight);
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
}
#training03 .boxs.voice_box p {
  margin-top: 15px;
}


#training03 .boxs_scroll {}

#training03 .boxs_scroll .inner {
background: #EEF6EF;padding: 35px 55px;
height: 190px;
overflow-y: scroll;
}

#training03 .boxs_scroll .inner .title{
    font-size: 1.25rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.16em;
    margin: calc(1.75rem - 0.3em) 0 -0.3em;
}
#training03 .boxs_scroll .inner .fs14 {
    font-size: 0.875rem;
    margin-top: 1.5rem;
}

#training03 .boxs_scroll .inner .fs16 {
    font-size: 1rem;
    margin-top: 0.875rem;
}

#training03 .boxs_scroll .inner li:first-child {
    padding-top: 0;
}
#training03 .boxs_scroll .inner li {
    padding: 2rem 0;
    font-feature-settings: "palt" 1;
    border-bottom: 1px solid #B4B4B4;
}

#training03 .boxs_scroll .inner li a {
    display: block;
    color: #90C030;
    margin-top: 1.75rem;
}

@media only screen and (min-width: 769px) {

    #training03 .boxs_scroll .inner::-webkit-scrollbar {
        width: 0.75rem;
        border-radius: 50%;
    }

    #training03 .boxs_scroll .inner::-webkit-scrollbar-thumb {
        background-color: #90C030;
        border-radius: 3.75rem;
    }
    #training03 .boxs_scroll .inner::-webkit-scrollbar-track {
    background-color: #F2F2F2;
    border-radius: 3.75rem;
}
}

#training04 {}

#training04 .cm_h2 {}

#training04 p.main {
  margin-top: 70px;
}

#training04 p.main img {
  max-width: 590px;
}

#training04 p.texts {
  margin-top: 48px;
font-size: 16px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 28.8px */
letter-spacing: 1.28px;
}

#training .ss_link{
  margin-top: 70px;
}

#training .ss_link .link_bt2 {
    width: 425px;
}

#training05 {}

#training05 .cm_h2 {}

#training05 .rows {
  margin-top: 72px;
  display: flex;
  gap: 25px;
}

#training05 .rows .imgs {
  max-width: 467px;
      width: 100%;
}

#training05 .rows .imgs img {}

#training05 .rows .texts {}

#training05 .rows .texts p {
  margin-top: 50px;
font-size: 20px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 36px */
}

#training05 .rows .texts .cm_link2 {
    display: block;
    width: 15.375rem;
    font-size: 22px;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 0 0 1.1875rem;
    position: relative;
    transition: 0.5s;
    margin-top: 60px;
    margin-left: 10px;
}

#training06 {
  margin: 118px auto 0;
  background: #90C030;
}

#training06 .inner {
width: 1130px;
    margin: auto;
    padding: 70px 0px 110px;
}

#training06 .cm_h2_2 {
  position: relative;
  font-size: 1.875rem;
  font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.2em;
  line-height: 1.4;
  color: #FFF;

  text-align: center;
  padding-left: 3rem;
}

#training06 .cm_h2_2::before {
  content: "";
  position: absolute;
  left: calc(50% - 9rem); /* テキストブロックの先頭あたりに配置 */
  top: 50%;
  width: 26px;
  height: 26px;
  background: url("https://www.alba-edu.org/img_2025/white.svg") no-repeat center/contain;
  transform: translateY(-50%);
}



#training06 ul {
  display: flex;
  gap: 40px;
  margin-top: 70px;
}

#training06 ul li {
  max-width: 350px;
  width: 100%;
  position: relative;
}

#training06 ul li img {}

#training06 ul li .maintext {
  margin: 30px auto;
  color: #FFF;
text-align: center;
font-size: 22px;
font-style: normal;
font-weight: 500;
line-height: 180%; /* 39.6px */
letter-spacing: 1.76px;
display: flex;
    align-items: center;
    justify-content: center;
}

#training06 ul li p {
  color: #FFF;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
    min-height: 13rem;
    margin-bottom: 25px;
}

#training06 ul li .details {
  background: #D3E7BA;
  padding: 25px 20px;
}

#training06 ul li .details .text1 {
  color: #000;
font-size: 14px;
font-style: normal;
font-weight: 400;
letter-spacing: 1.12px;
margin-bottom: 20px;
}

#training06 ul li .details .text_detail {
  margin-top: 5px;
  display: flex;
}


#training06 ul li .details .text_detail .left {
  color: #000;
text-align: justify;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
}

#training06 ul li .details .text_detail .right {
  color: #000;
text-align: justify;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
}

#training06 ul li .details .text_last {
  color: #000;
leading-trim: both;
text-edge: cap;
font-family: "Noto Sans JP";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
margin-top: 15px;
}

#training06 ul li .cm_link2 {
    display: block;
    width: 15.375rem;
    font-size: 1.125rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 0 0 1.1875rem;
    position: relative;
    transition: 0.5s;
    color: #fff;
    margin-top: 40px;
}

#training06 ul li .cm_link2::before {
    width: 1.875rem;
    height: 1.875rem;
    content: "";
    background: #ffffff;
    border-radius: 50%;
    position: absolute;
    bottom: 0.875rem;
    right: 0;
}

#training06 ul li .cm_link2::after {
    width: 0.8125rem;
    height: 0.8125rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2025/arrow_lg.svg") center/100% no-repeat;
    position: absolute;
    bottom: 1.4375rem;
    right: 0.9375rem;
    transform: translateX(50%);
    z-index: 2;
}

#training06 ul li .cm_link2 .border::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ffffff;
    transform: scale(1, 1);
    transform-origin: left top;
    transition: transform 0.5s;
}
#training06 ul li .cm_link2:hover .border::after {
    transform-origin: right top;
    transform: scale(0, 1);
}
#training06 ul li .link {}

#training06 ul li .link a {
  color: #FFF;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 180%; /* 25.2px */
letter-spacing: 1.12px;
}

#training06 ul li.books .cm_link2 {
    position: absolute;
    bottom: 0;
}


#training .sidebar.training01 ul li:nth-child(1) {
  color: #90C030;
}
#training .sidebar.training02 ul li:nth-child(2) {
  color: #90C030;
}
#training .sidebar.training03 ul li:nth-child(3) {
  color: #90C030;
}
#training .sidebar.training04 ul li:nth-child(4) {
  color: #90C030;
}
#training .sidebar.training05 ul li:nth-child(5) {
  color: #90C030;
}
#training .sidebar.training06 ul li:nth-child(6) {
  color: #90C030;
}

#support #support01 {
    position: relative;
}

#support #support01 .cm_h2{
    margin-top: 0;
}

#support #support01 .image {
    width: 61.3186813187%;
    position: absolute;
    top: 4.75rem;
    right: 0;
    z-index: -1;
}



@media only screen and (max-width: 1200px) { 
#header_nav{
  display: none;
}
header .contact {
    right: 9.375rem;
}
header .h_support {
    right: 21.875rem;
}
}
@media only screen and (min-width: 1201px) { 
#f_menu{
  display: none;
}
}



.top_fix_bt_ss {
  position: absolute;
  bottom: 8.4vw;
  right: 3.33vw;
        z-index: 2;
}

.top_fix_bt_ss .inner {

  position: relative;
}


.top_fix_bt_ss .inner a {
  display: flex;
  padding: 17px 13px 10px;
  text-decoration: none;
  position: relative;
    background-image: url(https://www.alba-edu.org/img_2025/top_fix_bt_ss_back.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 312px 135px;
  width: 312px;
  height: 135px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
}

.top_fix_bt_ss .inner a .imgs {
  width: 140px;
}

.top_fix_bt_ss .inner a .imgs img {
  margin-top: -6px;
    margin-left: -8px;
}

.top_fix_bt_ss .inner a .texts {
}

.top_fix_bt_ss .inner a .texts .text1 {
  color: #FFF;
font-family: Figtree;
font-size: 18px;
font-style: normal;
text-decoration: underline;
    padding-top: 10px;
}

.top_fix_bt_ss .inner a .texts .text2 {
  color: #FFF;
font-family: "Noto Sans JP";
font-size: 13px;
font-style: normal;
line-height: 150%; /* 19.5px */
letter-spacing: 1.3px;
text-decoration: none;
}
.top_fix_bt_ss .inner a .texts .text2 span{
  color: #FFF;
font-family: Figtree;
font-size: 15px;
font-style: normal;
line-height: normal;
text-transform: uppercase;
}

.top_fix_bt_ss .inner a .arrow {
      position: absolute;
    bottom: 20px;
    right: 15px;
}

.top_fix_bt_ss .inner a .arrow img {
}

.top_fix_bt_ss .inner .batsu {
    position: absolute;
    top: -16px;
    right: -16px;
    cursor: pointer;
}
.top_fix_bt_ss .inner  .batsu div {
    width: 37px;
    height: 37px;
    background-color: #90C030;
    border-radius: 37px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top_fix_bt_ss .inner a .batsu img {
}

#index #index02 .slideSelect {
    order: 1;
    position: relative;
}

@media only screen and (max-width: 767px) {

#aboutus #about01 .cm_h2, #overview02  .cm_h2 {
    margin-top: 4.25rem;
}
  #index #index02 {
      border-radius: 0;
  }
  .contents {
    padding-top: 5rem;
  }

.subPage   .contents {
    padding-top: 0;
  }
.subPage .contents {
    background: inherit;
    margin-top: 0px;
}

  #index #index02 .wrapper .main {
    margin-top: 0;
  }
  #index #index02 .wrapper .main::after {
    width: 92.266667vw;
    height: 92.333333vw;
  }
  #index #index02 .wrapper .main::after {
      right: -35vw;
      bottom: -4vw;
  }
  #index #index02 .wrapper h2 {
      font-size: 1.2857142857rem;
      font-weight: bold;
      position: relative;
      top: -3.285714rem;
      left: 0.142857rem;
      right: initial;
      z-index: 1;
  }
  #index #index02 .slideSelect .image li {
      border-radius: 0;
  }
  #index #index02 .wrapper .popup h2 {
      position: absolute;
      top: 6rem;
      left: 1.5rem;
  }
  #index #index031 {
    padding: 0 2rem;
  }
  #index031 ul {
    display: flex;
    gap: 2rem;
    margin-top: 2.75rem;
    flex-direction: column;
  }
		#index .topslide h2 {
		    position: relative;
		    left: auto;
		    top: auto;
		    margin-top: 2rem;
		    padding-left: 0;
		}
  #index .topslide .slide_loop {
        padding: 0;
        margin-top: 2rem;
  }
#index .topslide .slide_loop .prev {
    width: 2.85rem;
    position: absolute;
    top: initial;
    left: 0;
    cursor: pointer;
    transform: none;
    bottom: 0;
}
#index .topslide .slide_loop .next {
    width: 2.85rem;
    position: absolute;
    top: initial;
    left: 4.28rem;
    cursor: pointer;
    transform: none;
    bottom: 0;
}
#index .topslide .cm_link2 {
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    position: absolute;
    right: 1rem;
    left: inherit;
    bottom: 2rem;
        width: 10.4285714286rem;
        font-size: 1.1428571429rem;
}
#index .header .mainImage .book .txt p {
    font-size: 4.83vw;
}
  #index #index041 {
    padding: 0 2rem;
  }
  #index041 ul {
      display: flex;
      gap: 2rem;
      margin-top: 2.75rem;
      flex-direction: column;
  }
#index .topslide .slide_loop .mask .caseStudyList li a .title {
    font-weight: bold;
}
  header .contact {
    width: 8.7142857143rem;
    height: 2.1428571429rem;
    top: 2.2857142857rem;
    right: 5.7142857143rem;
}

header .h_support {
    display: block;
        width: 8.7142857143rem;
        height: 2.1428571429rem;
        top: 2.2857142857rem;
        right: 15.7142857143rem;
    background: #007B43;
    border-radius: 1.0625rem 0 1.0625rem 0;
    position: fixed;
    transform: translateY(-50%);
    z-index: 7;
    overflow: hidden;
}
header .h_support span {
    font-weight: bold;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}
header .h_support::before,
header .h_support::after
 {
  content: none;
}

header .nav {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
header .nav li {
    width: 100%;
    margin: 0;
    border-top:none;
    border-bottom: 1px solid #fff;
}
header .nav li:not(:first-child) {
  margin-top: 30px;
}
header .nav li a {
    font-size: 1.0714285714rem;
    font-weight: bold;
    text-align: left;
    padding: 1.2142857143rem 0;
}
header .nav li span.children_menu {
    display: block;
    color: #FFF;
    font-size: 1.375rem;
    font-family: "ヒラギノ角ゴ ProN W6", "Noto Sans JP", sans-serif;
    font-weight: 500;
    text-decoration: none;
    transition: 0.5s;
    font-size: 1.0714285714rem;
    font-weight: bold;
    text-align: left;
    padding: 1.2142857143rem 0;
}
header .nav li:nth-child(even) {
    border-left: none;
}
header .nav li.child {
    border-bottom: none;
      margin-top: 25px;

}
header .nav li.child a{
  padding: 0;
}


.top_fix_bt_ss {
    position: absolute;
    bottom: -22.6vw;
    right: 3.33vw;
    z-index: 4;
}

.top_fix_bt_ss .inner a {
    display: flex;
    padding: 11px 13px 10px;
    text-decoration: none;
    position: relative;
    background-image: url(https://www.alba-edu.org/img_2025/top_fix_bt_ss_back.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 230px 92px;
    width: 230px;
    height: 92px;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
}

.top_fix_bt_ss .inner a .imgs {
    width: 90px;
}

.top_fix_bt_ss .inner a .texts .text1 {
    color: #FFF;
    font-family: Figtree;
    font-size: 16px;
    font-style: normal;
    text-decoration: underline;
    padding-top: 5px;
}

.top_fix_bt_ss .inner a .texts .text2 {
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 11px;
    font-style: normal;
    line-height: 150%;
    letter-spacing: 1.3px;
    text-decoration: none;
}

.top_fix_bt_ss .inner a .texts .text2 span {
    color: #FFF;
    font-family: Figtree;
    font-size: 14px;
    font-style: normal;
    line-height: normal;
    text-transform: uppercase;
}

.top_fix_bt_ss .inner a .arrow {
    position: absolute;
    bottom: 15px;
    right: 12px;
}
.top_fix_bt_ss .inner .batsu {
    position: absolute;
    top: -12px;
    right: -9px;
    cursor: pointer;
}
.top_fix_bt_ss .inner  .batsu div {
    width: 26px;
    height: 26px;
    background-color: #90C030;
    border-radius: 37px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.top_fix_bt_ss .inner  .batsu div img
        width: 10px;{
}

#index #about06 {
    display: flex;
    flex-direction: column;
    width: 93.5%;
    margin: auto;
    margin-top: 3.625rem;
    background: #fff;
    border-radius: 16px;
padding: 0em 0 2em 2em;
}

#index .topslide .slide_loop .mask .caseStudyList li > div {
    width: 15.14rem;
    padding: 0;
    margin-right: 3.755rem;
}

#index #about07 {
    display: flex;
    flex-direction: column;
    width: 93.5%;
    margin: auto;
    margin-top: 3.625rem;
    background: #fff;
    border-radius: 16px;
padding: 0em 0 5em 2em;
}

#index #about07 .prev,
#index #about07 .next {
    bottom: -3rem;
}

footer {
    padding: 2.5rem 1.4285714286rem 0;
}

footer .box .left .cm_flex .nav:first-of-type{
        border-right: none;
        width: 100%;
}

footer .box .left .cm_flex .nav:nth-of-type(2){
        width: 100%;
}


footer .nav li .child {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2857142857rem 0;
    padding-bottom: 1.25rem;
    flex-direction: column;
    align-items: center;
}

.footer_donor {
    margin-top: 60px;
}

.footer_donor .h_support {
    display: block;
    width: 100%;
    height: 3.625rem;
    background: #007B43;
    border-radius: 1.0625rem 0 1.0625rem 0;
    transform: translateY(-50%);
    z-index: 7;
    overflow: hidden;
}
.foot_u2{
display:none;
}
footer .sns {
    margin-top: 2rem;
}
footer .nav2 {
    margin-top: 2.14rem;
}

#aboutus #about01_01 .read {
font-size: 1.3571428571rem;
        font-weight: bold;
        letter-spacing: 0.16em;
        line-height: 1.5;
        margin: calc(2rem - 0.25em) 0 -0.25em;
}

#aboutus #baga .cm_flex .red .box .list li a .arw::after {
    width: 0.5625rem;
    height: 0.5625rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/_arwr.svg") center/100% no-repeat;
    position: absolute;
    top: 0.35rem;
    right: 3.1325rem;
    transform: translateX(50%);
    z-index: 2;
}

#aboutus #baga .cm_flex .red .box .list li a.select .arw::after {
    right: 3.025rem;
}

#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a .arw::after {
    right: 2.8325rem;
}
#aboutus #baga .cm_flex .red .box .list li:nth-child(n+5) a.select .arw::after {
    right: 2.8325rem;
}



#founder #founder02 .read {
    font-size: 1.3571428571rem;
    font-weight: bold;
    letter-spacing: 0.16em;
    line-height: 1.5;
    margin: calc(2rem - 0.25em) 0 -0.25em;
}

#founder #founder01 .cm_h2 {
    margin-top: 4rem;
}

#founder #founder01 .cm_flex img {
    width: 80%;
    margin: 3rem auto;
}

#founder #founder01 .cm_flex dl dt {
    text-align: center;
}

#founder #founder02 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(2.5rem - 0.6em) 0 -0.6em;
    width: 100%;
}

#overview #overview04 .history li {
    flex-direction: column;
}

#overview #overview04 .history li .y {
    padding-bottom: 0.5rem;
}
#overview #overview04 .history li span {
    font-size: 1rem;
}

#ss_mv .inner .rows {
    display: flex;
    justify-content: space-between;
    flex-direction: column-reverse;
    margin-top: 20px;
margin-bottom: 20px;
}

#ss_mv .inner .rows .text h2 {
    font-family: "Noto Sans JP";
    font-size: 29px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 2.48px;
}

#ss_mv .inner .rows .imgs {
    margin-right: -18px;
}

#ss_mv .inner .rows ul {
    margin: 8.8% 0;
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    gap: 15px 0px;
    flex-direction: column;
}

#ss_mv .inner .rows ul li {
    display: flex;
    color: #000;
    leading-trim: both;
    text-edge: cap;
    font-family: "Noto Sans JP";
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.44px;
    gap: 8px;
    width: 100%;
    align-items: center;
}

#ss_mv .inner .rows ul li svg{
    width: 18px;
}

#ss_mv .ask {
    width: 100%;
}

#ss_mv .inner .rows .text {
    padding-right: 7.55%;
}

#ss_mv .ask::before {
    right: 3rem;
}
#ss_mv .ask::after {
    right: 3rem;
}

#speak_star .contents {
    margin-top: 0;
}

#speak_star #speak_star01 .cm_h2 {
    margin-top: 4rem;
}

#speak_star #speak_star01 .read {
    font-size: 1.3571428571rem;
    font-weight: bold;
    letter-spacing: 0.16em;
    line-height: 1.5;
    margin: calc(2rem - 0.25em) 0 -0.25em;
padding: 0px;
}

#speak_star #speak_star01 p.read .red {
    color: #DA4B29;
    display: block;
}

#speak_star #speak_star01 p {
    font-size: 1rem;
    line-height: 2;
    margin: calc(2rem - 0.5em) 0 -0.5em;
padding: 0px;
}

#speak_star .contents h3 +h3 {
margin-top: 2rem;
}

#speak_star .contents h3 {
    min-height: 6rem;
    padding: 0px 2rem;
margin-top: 2rem;
}
#speak_star .contents h3 .num {
    width: 3.3rem;
}

#speak_star .contents h3 span {
    display: block;
    line-height: 1.8rem;
}

#speak_star .boxs {
    border-right: 1px solid #EEF6EF;
    border-bottom: 1px solid #EEF6EF;
    border-left: 1px solid #EEF6EF;
        padding: 0px 0px 30px;
}

#speak_star p {
    font-style: normal;
    font-weight: 400;
    letter-spacing: 1.12px;
    padding: 0px 16px;
    font-size: 1rem;
    line-height: 2;
    margin: calc(2rem - 0.5em) 0 -0.5em;
}

#speak_star .rows {
    display: flex;
    gap: 20px;
    margin-top: 30px;
    padding: 0px 16px;
    flex-direction: column;
}
#speak_star #speak_star02 .rows img {
    max-width: 100%;
    width: 100%;
}

#speak_star p.cent_l {
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 1.6px;
    padding: 0px 16px;
    font-size: 1.1071428571rem;
}
#speak_star p.cent_l br{
display:none;
}

#speak_star .rows_num3 {
    display: flex;
    gap: 0px;
    margin-top: 0px;
    flex-direction: column;
    padding: 20px 16px;
}
#speak_star .rows_num3 .imgs img {
    max-width: 100%;
}

#speak_star03 ul {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 2rem;
    flex-direction: column;
}

#speak_star03 ul li {
    width: 100%;
        display: flex;
        flex-direction: column;
}
#speak_star03 ul li img{
order: 2;
}
#speak_star03 ul li .catch {
    order: 1;
}

#speak_star .contents h3 .num {
    width: 4rem;
    color: #90C030;
    font-size: 1.5rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    text-align: center;
    letter-spacing: 0;
    padding: 0.3125rem 0;
    margin-right: 10px;
    background: #fff;
}
#speak_star03 ul li p {
    order: 3;
}

#speak_star .s_mt {
    margin-top: 20px;
    padding: 0px 16px 0px;
}

.ss_link .ss_link_row {
    display: flex;
    gap: 10px;
    padding-right: 0px;
    flex-direction: column;
}

.ss_link .imgs {
    max-width: 100%;
    margin-top: 15px;
    margin-left: 0;
}
.ss_link .imgs img {
    width: 75%;
    margin: auto;
}
.ss_link .texts .main_text {
    margin: 0px auto 0;
    max-width: 100%;
}
.ss_link .texts .sub_text {
    display: flex;
    align-items: stretch;
    justify-content: center;
    margin-top: 10px;
}

.ss_link {
    margin-top: 60px;
}

.ss_link .inner {
    max-width: 911px;
    width: 100%;
    height: fit-content;
    margin: 0 auto;
    padding-left: 0;
    background-image: url("https://www.alba-edu.org/img_2025/speak_star_block_back.png");
    background-size: 870px 100%;
    background-repeat: no-repeat;
    background-position: right top;
    image-rendering: auto;
}

.ss_link .texts .main_text img {
    width: 80%;
    margin: auto;
    margin-top: 0px;
}

.ss_link .link_bt {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding: 16px;
}
.ss_link .link_bt1 {
    display: block;
    width: 100%;
    height: 50px;
    background: #DA4B29;
    border-radius: 1.0625rem 0 1.0625rem 0;
    transform: translateY(-50%);
    z-index: 7;
    overflow: hidden;
}
.ss_link .link_bt2 {
    display: block;
    width: 100%;
    height: 50px;
    background: #007B43;
    border-radius: 1.0625rem 0 1.0625rem 0;
    transform: translateY(-50%);
    z-index: 7;
    overflow: hidden;
}
.ss_link .link_bt {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding: 16px;
    flex-direction: column;
    align-items: center;
}

.subPage .caseStudy {
    padding: 0;
    margin-top: 2.0rem;
}


.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li > div {
width: 15.14rem;
        padding: 0;
        margin-right: 3.755rem;
}

#speak_star.subPage .caseStudy.ss .slide_loop .mask .caseStudyList li a p.title {
font-size: 1.25rem;
}
.subPage .caseStudy.ss .slide_loop .control {
    display: flex;
    margin-top: 0;
}

.subPage .caseStudy.ss .slide_loop .prev {
    width: 2.85rem;
    position: relative;
    top: 0;
    left: 0;
    cursor: pointer;
    transform: none;
    display: block;
}
.subPage .caseStudy.ss .slide_loop .prev::after {
    content: none;
}
.subPage .caseStudy.ss .slide_loop .next {
    width: 2.85rem;
    position: relative;
    top: 0;
    left: 1.0rem;
    cursor: pointer;
    transform: none;
    display: block;
}
.subPage .caseStudy .slide_loop .next::after {
    content: none;
}
.subPage .caseStudy.ss .cm_link2 {
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    position: absolute;
    right: 0;
    left: inherit;
    bottom: 0rem;
    width: 10.4285714286rem;
    margin-right: 0;
    font-size: 1.1428571429rem;
}
#speak_star05 .qa_block {
    margin-top: 2rem;
}
#speak_star05 .qa_block .qa {
    border-radius: 10px;
    border: 1px solid #EEF6EF;
    padding: 0px 1rem;
    margin-bottom: 1.4rem;
}
#speak_star05 .qa_block .qa .q {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 10px 0px;
    cursor: pointer;
}
#speak_star05 .qa_block .qa .q .q_l {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding-right: 13%;
}
#speak_star05 .qa_block .qa .q .ar::after {
    width: 0.8125rem;
    height: 0.8125rem;
    content: "";
    background: url("https://www.alba-edu.org/img_2023/arw.svg") center/100% no-repeat;
    position: absolute;
    bottom: -1.6025rem;
    right: 0.90rem;
    transform: translateX(50%) rotate(90deg);
    z-index: 2;
}
#speak_star05 .qa_block .qa .a .a_l {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding-right: 13%;
}
#speak_star05 .qa_block .qa .a .a_l .l2 {
    color: #000;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: 1.0px;
}

#speak_star06 .inner {
    margin-top: 2rem;
}
#training01 .cm_h2 {
    margin-top: 4.25rem;
}
#training01 p.main {
    font-size: 1.1428571429rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.28px;
    margin-top: 2rem;
}
#training01 ul li {
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.44px;
    position: relative;
    padding-left: 0;
    list-style-type: disc;
    margin-left: 2rem;
}

#training01 ul li::before {
    content: none;
}
#training01 .boxs p {
    font-size: 1.1071428571rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.44px;
    margin-top: 0px;
    text-align: center;
}
#training01 .boxs p br{
display:none;
}
#training01 .boxs .rows {
    display: flex;
    gap: 0;
    margin-top: 2rem;
    flex-direction: column;
}
#training01 .boxs .rows .imgs {
    padding-top: 1rem;
}
#training02 p.main {
    font-size: 1.1428571429rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.28px;
    margin-top: 2rem;
}
#training03 p.main {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 1.28px;
    margin-top: 2rem;
}
#training03 ul.rows_img {
    margin-top: 50px;
    display: flex;
    gap: 20px;
    flex-direction: column;
}

#training03 ul.rows_img li img {
    margin-top: 15px;
    width: 100%;
}

#training03 .boxs ul.tr_3 {
    display: flex;
    gap: 5px;
    margin-top: 30px;
    flex-direction: column;
}
#training03 .boxs {
    border-right: 1px solid #EEF6EF;
    border-bottom: 1px solid #EEF6EF;
    border-left: 1px solid #EEF6EF;
    padding: 50px 1.5rem 50px;
    position: relative;
}
#training03 .boxs ul.tr_3 > li {
    width: 100%;
    background: #EEF6EF;
    padding: 28px 10px;
}
#training03 h3 {
    line-height: 1.6;
}
#training04 .cm_h2 {
    letter-spacing: 0.1em;
font-feature-settings: "palt";
font-variant-east-asian: proportional-width;
}

#training04 p.main img {
    max-width: 100%;
}
#training04 p.main {
    margin-top: 2rem;
}

#training03 .boxs h4:nth-of-type(2) {
    margin-top: 50px;
    line-height: 1.6;
}
#training .ss_link .link_bt2 {
    width: 100%;
    margin-top: 0.5rem;
}
#training01 p {
    font-size: 1.15rem;
}
#training01 ul li {
    font-size: 1.15rem;
}
#training02 p {
    font-size: 1.15rem;
}
#training05 .rows {
    margin-top: 2rem;
    display: flex;
    gap: 0;
    flex-direction: column;
}
#training05 .rows .texts p {
    margin-top: 2rem;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}
#training05 .rows .texts .cm_link2 {
    display: block;
    width: 15.375rem;
    font-size: 1.2rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 0 0 1.1875rem;
    position: relative;
    transition: 0.5s;
    margin-top: 2rem;
    margin-left: auto;
}
#training06 {
    margin: 4.5rem auto 0;
    background: #90C030;
}
#training06 .inner {
    width: 100%;
    margin: auto;
    padding: 4rem 0px 3rem;
}
#training06 .cm_h2_2 {
    position: relative;
        font-size: 1.5rem;
        font-weight: bold;
        letter-spacing: 0.16em;
        margin-top: 0;
    color: #FFF;
    text-align: center;
    padding-left: 3rem;
}
#training06 .cm_h2_2::before {
    content: "";
    position: absolute;
    left: calc(50% - 6.5rem);
    top: 52%;
    width: 20px;
    height: 20px;
    background: url("https://www.alba-edu.org/img_2025/white.svg") no-repeat center/contain;
    transform: translateY(-50%);
}

#training06 ul {
    display: flex;
    gap: 40px;
    margin-top: 3.5rem;
    flex-direction: column;
}

#training06 ul li {
    max-width: 100%;
    width: 100%;
    position: relative;
}

#training06 ul li p {
    padding: 0 1.5rem;
}

#training06 ul li .cm_link2 {
    display: block;
    width: 15.375rem;
    font-size: 1.125rem;
    font-family: "Figtree", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.04em;
    text-decoration: none;
    padding: 0 0 1.1875rem;
    position: relative;
    transition: 0.5s;
    color: #fff;
    margin-top: 40px;
    margin-left: auto;
    margin-right: 20px;
}
#training06 ul li .link {
    padding: 0 1.5rem;
}
#training06 ul li.books .cm_link2 {
    position: relative;
    bottom: 0;
}

#index #about07.topslide .slide_loop .mask .caseStudyList li a .img {
    background: url("https://www.alba-edu.org/img_2025/noimage.svg") center/cover no-repeat;
    padding-top: 100%;
    transition: transform 0.3s ease-in-out;
    width: 92px;
    left: 50%;
    margin: auto;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
}


}

    #sitemap .contents .link .child {
        display: block;
        margin-bottom: 1.8571428571rem;
    }

    #sitemap .contents .link .child li {
        width: 100%;
        margin-top: 0.8rem;
    }

				#sitemap .contents .link .child li:first-child{
				        margin-top:0;
				}


.subPage .h_n_about_li:hover .h_n_about {
    color: #007B43 !important;
}


.subPage .header.short {
    padding: 5rem 0 0;
}

@media only screen and (max-width: 1280px) {
	#speak_star01 p br{
	display:none;
	}
}



@media only screen and (max-width: 490px) {
    header .h_support {
        display: none;
    }



}

@media only screen and (max-width: 768px) {

#speak_star #speak_star01 figure {
    position: absolute;
    width: 5.3125rem;
    bottom: -4rem;
    right: 0.5rem;
}

#founder #founder02 .txtimg_img {
    position: absolute;
    right: 0;
    bottom: -7.5rem;
    z-index: -1;
    text-align: right;
}
#support #support01 .cm_h2 {
    margin-top: 2em;
}
#support #support01 .image {
    width: 61.3186813187%;
    position: absolute;
    top: -2.25rem;
    right: 0;
    z-index: -1;
}
#support #support01 p.catch {
margin-top: 18rem;
}

#training03 .boxs img {
    margin: 20px auto;
}

#training03 .boxs ul.tr_3.career > li:nth-child(1) {
    background: rgba(247, 190, 27, 0.1);
}
#training03 .boxs ul.tr_3 li:nth-child(1) .h_t{
color: #F7BE1B;
}
#training03 .boxs ul.tr_3.career > li:nth-child(2) {
    background: rgba(0, 123, 67, 0.1);
}
#training03 .boxs ul.tr_3 li:nth-child(2) .h_t{
color: #007B43;
}


}