@charset "UTF-8";
/* CSS Document */

/*------------------------------------------------
 parts.css
------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700&display=swap');
:root{
  --ala_gothic: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  --sans: 'Noto Sans JP', sans-serif;
  --serif: 'Noto Serif JP', serif;
}
.ala_wrapper *{
  font-size: 16px;
  line-height: 30px;
  font-family: var(--sans);
  word-break: break-all;
}
.ala_wrapper .container{
  max-width: 1070px;
}
.ala_wrapper img{
  max-width: 100%;
}
.ala_wrapper a:hover{
  opacity: 0.6;
}
.ala_delim{
  display: block;
  width: 100%;
}
.ala_left{
  text-align: left;
  margin-bottom: 0;
}
.ala_right{
  text-align: right;
  margin-bottom: 0;
}
.ala_center{
  text-align: center;
  margin-bottom: 0;
}
.ala_box00{
  margin: 0 !important;
}
.ala_fill_sgreen{
  background-color: #FAFCF0;
  padding-top: 60px;
  padding-bottom: 110px;
}
.ala_img_parent{
  position: relative;
}
.ala_border_box{
  display: block;
  border: 1px solid #DB7A7A;
  color: #DB7A7A;
  max-width: max-content;
  padding: 1px 12px;
  margin-top: 15px;
}


/*------------------------------------------------
 見出し
------------------------------------------------*/
/* ------ h2 ------ */
/* 左右のドット付き見出し */
.ala_capt_dot{
  position: relative;
  text-align: center;
  display: block;
  max-width: max-content;
  font-family: var(--ala_gothic);
  color: #00402F;
  font-size: 36px;
  font-weight: 600;
  line-height: 52px;
  border: 0;
  padding: 0 137px;
  margin: 0 auto;
  margin-bottom: 30px;
}
.ala_capt_dot span{
  display: block;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  margin: 0 auto;
}
.ala_capt_dot::before, .ala_capt_dot::after{
  content: "";
  position: absolute;
  background: url(../../images/gakuen/common/title_accent01.svg) no-repeat;
  background-size: contain;
  width: 62px; height: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.ala_capt_dot::before{
  left: 0;
}
.ala_capt_dot::after{
  right: 0;
}
/* 強調英語タイトル(画像)付き見出し */
.ala_capt_impact{
  display: block;
  text-align: center;
  max-width: max-content;
  font-weight: 600;
  font-size: 30px;
  line-height: 42px;
  color: #00402F;
  border: 0;
  padding: 0;
  margin: 0 auto;
  margin-bottom: 30px;
}
.ala_capt_impact img{
  display: block;
  max-height: 33px;
  margin: 0 auto;
  margin-bottom: 30px;
}
/* 左右囲み付き見出し */
.ala_capt_box{
  max-width: max-content;
  border: 0;
  padding: 0;
  margin: 0 auto;
  margin-bottom: 85px;
}
/* ------ h3 ------ */
/* 緑色シンプルな見出し */
.ala_capt_simple{
  display: block;
  font-size: 30px;
  font-weight: 600;
  line-height: 40px;
  max-width: max-content;
  color: #00402F;
  border: 0;
  padding: 0;
  margin-top: 0;
  margin-bottom: 40px;
}
.ala_capt_simple span{
  display: block;
  font-size: 17px;
  font-weight: 400;
  margin: 5px 0;
}


/*------------------------------------------------
 ナビ
------------------------------------------------*/
.ala_vnav_list{
  display: flex;
  list-style: none;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  gap: 27px;
  padding: 0;
  margin: 0;
}
.ala_vnav_list a{
  display: grid;
  gap: 5px;
  background-color: #fff;
  min-width: 140px;
  height: 100%;
  border-radius: 20px;
  padding: 10px 6px;
}
.ala_vnav_list a:hover{
  text-decoration: none;
}
.ala_vnav_list a img{
  display: block;
  max-height: 41px;
  margin: 0 auto;
}
.ala_vnav_list a p{
  color: #00402F;
  text-align: center;
  font-size: 15px;
  line-height: 18px;
  font-weight: 500;
  margin: 0;
}


/*------------------------------------------------
 ボタン
------------------------------------------------*/
.ala_btn01{
  display: block;
  background-color: #E3E67C;
  color: #00402F !important;
  font-family: var(--sans);
  font-weight: 600;
  font-size: 18px;
  max-width: max-content;
  padding: 15px 61px;
  margin: 0 auto;
}
.ala_btn01:hover{
  opacity: .6;
  text-decoration: none;
}
.ala_btn_dl{
  display: block;
  max-width: max-content;
  background: url(../../images/gakuen/common/download.svg) #FDE173 no-repeat;
  background-position: 8% 50%;
  background-size: 25px;
  min-width: 320px;
  font-size: 18px;
  font-weight: 500;
  color: #00402F !important;
  padding: 15px 0;
  padding-left: 72px;
}
.ala_btn_dl:hover{
  opacity: .6;
  text-decoration: none;
}


/*------------------------------------------------
 コンテンツ
------------------------------------------------*/
/* 横並び繰り返しコンテンツ */
.ala_flex_contents{
  list-style: none;
  padding: 0;
  margin: 0;
}
.ala_flex_contents li{
  display: flex;
  align-items: center;
  gap: 100px;
  margin-bottom: 90px;
}
.ala_flex_contents li:last-child{
  margin-bottom: 0;
}
.ala_flex_contents li:nth-child(even){
  flex-direction: row-reverse;
}
.ala_flex_contents .ala_has article{
  width: calc(100% - (442px + 100px));
}
.ala_flex_contents article{
  position: relative;
  width: calc(100% - (360px + 100px));
  z-index: 1;
}
.ala_flex_contents article::before{
  content: "";
  background-color: #F8FBE2;
  position: absolute;
  border-radius: 50%;
  aspect-ratio: 1/1;
  top: -65px; left: -82px;
  z-index: -10;
}
.ala_flex_contents li:nth-child(1) article::before{
  width: 298px;
}
.ala_flex_contents li:nth-child(2) article::before{
  width: 277px;
}
.ala_flex_contents li:nth-child(3) article::before{
  width: 231px;
}
.ala_flex_contents article b{
  display: block;
  color: #00402F;
  font-size: 30px;
  font-family: var(--ala_gothic);
  margin-bottom: 21px;
}
.ala_flex_contents article p{
  margin-bottom: 27px;
}
.ala_flex_contents img{
  object-fit: cover;
  border-radius: 66px;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.16);
  width: 360px;
}
.ala_flex_contents aside{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 442px; height: 266px;
}
.ala_flex_contents aside img:nth-child(even){
  margin-top: auto;
}
/* アクセスセクション */
.ala_access{
  margin-bottom: 90px;
}
.ala_access p{
  text-align: center;
  margin: 0;
}
.ala_access iframe{
  margin-top: 38px;
}
/* お問い合わせ */
.ala_contact p{
  margin: 0;
}



/*------------------------------------------------
 レスポンシブ　　　max-width:1199px
------------------------------------------------*/
@media screen and (max-width:1199px) {
  .ala_vnav_list {
    gap: 15px;
  }
  .ala_vnav_list a {
    gap: 5px;
    min-width: 132px;
    padding: 10px 6px;
  }
  .ala_vnav_list a p {
    font-size: 13px;
    line-height: 18px;
  }
}
/*------------------------------------------------
 レスポンシブ　　　max-width:991px
------------------------------------------------*/
@media screen and (max-width:991px) {
  .ala_flex_contents li {
    gap: 25px;
  }
  .ala_flex_contents article {
    width: calc(100% - (250px + 25px));
  }
  .ala_flex_contents .ala_has article {
    width: calc(100% - (362px + 25px));
  }
  .ala_flex_contents article::before {
    top: -48px; left: -59px;
  }
  .ala_flex_contents li:nth-child(1) article::before {
    width: 213px;
  }
  .ala_flex_contents li:nth-child(2) article::before {
    width: 133px;
  }
  .ala_flex_contents li:nth-child(3) article::before {
    width: 183px;
  }
  .ala_flex_contents article b {
    font-size: 26px;
    margin-bottom: 14px;
  }
  .ala_flex_contents article p {
    font-size: 14px;
    line-height: 26px;
    margin-bottom: 20px;
  }
  .ala_flex_contents aside {
    width: 362px; height: 255px;
  }
  .ala_flex_contents aside img{
    border-radius: 34px;
  }
  .ala_flex_contents img {
    border-radius: 29px;
    width: 250px;
  }
  .ala_access{
    margin-bottom: 75px;
  }
  .ala_btn01 {
    font-size: 14px;
    padding: 7px 55px;
  }
}
/*------------------------------------------------
 レスポンシブ　　　max-width:767px
------------------------------------------------*/
@media screen and (max-width:767px) {
  .ala_wrapper p{
    font-size: 14px;
    line-height: 25px;
  }
  .ala_capt_dot {
    font-size: 29px;
    line-height: 39px;
    padding: 0 45px;
  }
  .ala_capt_dot span {
    font-size: 14px;
  }
  .ala_capt_dot::before, .ala_capt_dot::after {
    width: 33px; height: 10px;
  }
  .ala_capt_impact {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 20px;
  }
  .ala_capt_impact img {
    margin-bottom: 19px;
  }
  .ala_capt_box {
    text-align: center;
    margin-bottom: 28px;
  }
  .ala_capt_box img{
    width: 80%;
  }
  .ala_capt_simple {
    font-size: 25px;
    line-height: 33px;
    margin-bottom: 15px;
  }
  .ala_capt_simple span {
    font-size: 15px;
    margin: 3px 0;
  }
  .ala_vnav_list {
    max-width: 450px;
    justify-content: flex-start;
    margin: 0 auto;
  }
  .ala_vnav_list li{
    width: calc(33.33% - 10px);
  }
  .ala_vnav_list a {
    min-width: unset;
    width: 100%;
  }
  .ala_btn_dl {
    text-align: center;
    background-position: 8% 50%;
    background-size: 19px;
    min-width: unset;
    max-width: unset;
    width: 100%;
    font-size: 16px;
    padding: 12px 0;
  }
  .ala_flex_contents li {
    display: block;
  }
  .ala_flex_contents article {
    width: 100% !important;
  }
  .ala_flex_contents article p {
    margin-top: 15px;
  }
  .ala_flex_contents aside {
    width: 100%; height: unset;
    aspect-ratio: 92/65;
    max-width: 460px;
    margin: 0 auto;
  }
  .ala_flex_contents img {
    max-width: 460px;
    width: 100%;
    margin: 0 auto;
  }
  .ala_access iframe {
    aspect-ratio: 1/1;
    height: auto;
  }
}
/*------------------------------------------------
 レスポンシブ　　　max-width:480px
------------------------------------------------*/
@media screen and (max-width:480px) {
  .ala_vnav_list a p {
    font-size: 11px;
    line-height: 16px;
  }
  .ala_capt_dot {
    margin-bottom: 23px;
  }
  .ala_capt_box {
    margin-bottom: 24px;
  }
  .ala_capt_box img{
    width: 65%;
  }
}