@charset "UTF-8";
/* CSS Document */

*,*::before,*::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.a{
  /*!*/  max-width: 767px;
  /*!*/  margin: 0 auto;   
}
@media (min-width:768px){
    .a{
        border-left: 3px solid #000; 
        border-right: 3px solid #000;    
    }
}

img{
    max-width: 100%; /*ブラウザサイズに合わせる*/
    height: auto;
    vertical-align: top;/*テキストや画像の縦方向の位置を指定するCSSプロパティ*/
}

html {
  font-size: clamp(14px, 1.5vw, 18px);
}


body{
background: #A0E094;
background: linear-gradient(180deg, rgba(160, 224, 148, 1) 0%, rgba(62, 175, 39, 1) 100%);
    line-height: 1.6; /*行間*/
    font-family: "Sawarabi Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}
/*@media (max-width:767px){
    body{
        font-size: small; 
    }
}*/


.container{
    width: 90%; /*サイト幅*/
    margin: 0 auto; /*中心にする*/
    padding: 80px 0;
}
/*==============================*/

#background{
    background-image:linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6)), 
    url("../images/visual2-7.jpg");
    background-repeat: no-repeat;
    background-position: 45% center;
  background-size:cover;
}


/*===== メインビジュアル =====*/
.main-visual {
  position: relative;
 width: 100%;
height: auto; /* ← vh指定をやめる */
  overflow: hidden;
}

.main-visual img {
  width: 100%;
  height: auto;
  display: block;
}

.main-visual .container {
  /*position: relative;*/
  width: 100%;
    margin: 0;
  padding: 0;
}

/* 背景画像を表示 */
.main-visual__bg {
  width: 100%;
  height: auto;
  display: block;
}



/*===== コンセプト（あそぶように、まなぶ） =====*/
.concept{
    padding: 0 5%;
}



/*===== バナー関連（共通） =====*/

#banner_img{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#banner_img > div {
  width: 48%; /* ← 各バナーの幅を指定 */
}

#banner_img img {
    width: 100%;
    height: auto;
}

.banner2-3{
    background-color: #A0E094;
}


.banner1{

}

.banner1 a{
    display: block;
    transition: all .3s ease-in-out;
    transform: translateY(0);
    box-shadow: 10px 10px 10px rgba(0,0,0,.1);
    border-radius: 60px 60px;
    overflow: hidden;
}
.banner1 img{
    width: 100%;
    vertical-align: middle;

}
.banner1 a:hover{
    transform: translateY(-5px);
    box-shadow: 0 10px 10px rgba(0,0,0,.2);
}


.banner2{

}

.banner2 a{
    display: block;
    transition: all .3s ease-in-out;
    transform: translateY(0);
    box-shadow: 10px 10px 10px rgba(0,0,0,.1);
    border-radius: 60px 60px;
    overflow: hidden;
}
.banner2 img{
    width: 100%;
    vertical-align: middle;

}
.banner2 a:hover{
    transform: translateY(-5px);
    box-shadow: 0 10px 10px rgba(0,0,0,.2);
}





/*===== 教科（さんすうもえいごも！） =====*/
.subject{
    padding: 0 5%;
}

.subject_title{
    padding-bottom: 5%
}

.subject_img{
    border-radius: 60px 60px;
    overflow: hidden;
}

.subject_txt{
   padding-top: 10%; 
    padding-left: 10%;
    padding-right: 10%;
}


/*===== 説明（ちいさなひらめき） =====*/
.explanation{
    background-color: #A0E094;
    padding: 0 5%; 
}

.explanation_img{
    width: 90%;
    margin: 0 auto;
    padding-bottom: 10%;   
}

.explanation_txt{
    text-align: center;
}


/*===== スライド =====*/
.slider{
    padding: 0 5%; 
    background-color: #dd78b4;
}

.slider_img img{
    padding: 0 30px;
}

.slick-slide {
  transition: all 0.5s ease;   /* なめらかな切り替え */
  opacity: 0.5;                /* デフォルトで半透明 */
  filter: brightness(80%);     /* 少し暗くしてマスクっぽく */
}

/* 中央（センター）のスライド */
.slick-center {
  opacity: 1;                  /* 明るくする */
  filter: brightness(100%);    /* 明るさ戻す */
}



/*===== 保護者レビュー =====*/
.review{
    padding: 0 5%;   
    background-color: #d2f4c9;
}

.review_title{
    padding-bottom: 10% 
}



/*===== 教育のプロ =====*/
.pro{
    padding: 0 5%;
    background-color: #A0E094;
}

.pro_title{
  padding-bottom: 10%      
}

.pro_txt{
 padding-bottom: 10%;
 text-align: center;
}

.pro_img{
  width: 90%;
  margin: 0 auto;
}

/*===== よくあるご質問 =====*/
.question{
    padding: 0 5%;
    background-color:#FCE5F2;
}

.question_title{
   padding-bottom: 5%; 
}

.question_img{
   width: 65%; 
    margin: 0 auto;
    margin-bottom: 5%; 
}


/*===== フッター =====*/

footer{
    padding: 0 5% 30px;
    background-color: #A0E094;
}

.footer-logo{
    width: 45%;
    margin: 0 auto;
}

.footer-nav {
  text-align: center; /* 中央寄せ */
  padding: 50px 0 20px;
    
}

.footer-nav ul {
  list-style: none;
  margin: 0;
  display: inline-flex; /* 横並びにして中央寄せを保つ */
  gap: 0.5em; /* ｜との間隔を整える */
}

.footer-nav li {
  position: relative;
}

.footer-nav li:not(:last-child)::after {
  content: "｜"; /* 区切り線 */
  margin: 0 0.5em;
 color: #333;
}

.footer-nav a {
  text-decoration: none;
  transition: color 0.1s;
     color: #000;
}

.footer-nav a:hover {
  color: #d2f4c9; /* ホバー時の色 */
}

.footer-nav p{
    color: #000;
}

.footer p{
    text-align: center;
}



/*===== 追従バナー =====*/
.banner_trial {
  position: fixed; /* 追従タイプ */
  right: 5%;
  bottom: 5%;
  display: block;
  width: 250px;
  z-index: 100;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.banner_trial:hover {
  transform: translateY(-8px); /* ← 上に8px動く */
  filter: brightness(1.1);    /* ← 少し明るく（おまけ） */
}

/* ✅ スマホサイズ（767px以下）のとき */
@media screen and (max-width: 767px) {
  .banner_trial {
    right: 5%;         /* 画面端に寄せる */
    bottom: 5%;        /* 位置を少し上に */
    width: 100px;        /* 小さくする */
    opacity: 0.9;        /* 少し透けさせてもOK */
  }

  .banner_trial:hover {
    transform: translateY(-4px); /* スマホでは小さめに動く */
  }
}
