@charset "UTF-8";

/* スライド部分 */
    .hero-slider {
    width: 100%;
}


.slider {
    width: 1200px;
    height: 600px;
    position: relative;
    overflow: hidden;
    clip-path: polygon(
        0 0,
        100% 0,
        100% 98%,
        0 85%
    );
    margin:0 auto;
    /*max-width: 1400px;*/

}

.slider img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
    opacity: 0;
    transition: opacity 1s ease;
}

.slider img.active {
    opacity: 1;
}

/* ● */
.slider_dots {
    height: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.slider_dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
}

.slider_dots button.active {
    background-color: #555;
    width: 12px;
    height: 12px;
}


.section01{
  font-weight: bold;
  margin-top: 50px;
  margin-bottom: 60px;
  margin: 50px 0px 60px 100px;
  padding: 40px 0px 250px 3%;
  border: 1px solid black;
  border-right: none;
  
  position: relative;
  overflow: hidden;
}
/*ループ画像確定したら消す*/
.section01{
  padding-bottom: 50px;
}

.section01_text {
  width: 80%;
  max-width: 900px;
  margin: 0 auto;
}




/*スライダーなしの場合のみ*/
.top_image01 {
    width: 100%;
}

.top_image01 div {
    width: 100%;
}

.top_image01 picture {
    display: block;
    width: 100%;
}

.top_image01 img {
    display: block;
    width: 100%;
    height: auto;

    clip-path: polygon(
        0 0,
        100% 0,
        100% 98%,
        0 85%
    );
}









.recommend_div{
  margin: 30px 0 0 30px;
}

.recommend_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.recommend_list li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 10px;
}
/*チェック*/
.recommend_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 18px;
    height: 18px;
    border: 1px solid #333;
    box-sizing: border-box;
}
.recommend_list li::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 5px;
    width: 7px;
    height: 12px;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    transform: rotate(45deg);
}

.section01_wrap {
    position: relative;
}


/* 流れる画像 */
.flow_images {
    position: absolute;
    left: 0px;
    bottom: 60px;

    width: 100vw;
    overflow: hidden;

    z-index: 50;
}

/* 画像を横一列にする */
.flow_images_inner {
    display: flex;
    width: max-content;
    gap: 0px;

    animation: flow 25s linear infinite;
}

/* 画像 */
.flow_images img {
    width: 300px;
    height: 150px;
    object-fit: cover;
    flex-shrink: 0;
    clip-path: polygon(
        10% 0,
        100% 0,
        90% 100%,
        0 100%
    );
    margin-left: -20px;
}

/* 右 → 左 */
@keyframes flow {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}


/*news*/
h2 img{
  width: 50%;
  margin: auto;
  max-width: 550px;
}

.section02 h2{
  width: 200px;
}

.section02 .section-title {
  text-align: left!important;  
  margin: 0 0 20px var(--left-offset); 
}

.section02 {
  margin-top: 100px;
  margin-bottom: 30px;
    --left-offset: 10%; /* 必要 */
}

.news-card h2 {
  text-align: left;
  margin: 0 0 10px 10%;
}

.card_02{
  position: relative;
  background-color: #c7d4db;
  width: calc(100% - 10%);  /* 右側10%空白を残す */
  margin-left: 0;            /* 左端から開始 */
  margin-right: 0;           /* 右側は空白分 width で調整 */
  padding: 50px 0;           /* 上下余白 */
  box-sizing: border-box;
  border-radius:0 20px 20px 0;
}
.news-list {
  list-style: none;
  padding: 0 30px;            /* 左右の文字余白 */
  margin: 0 auto;
  max-width: 700px;            /* 文字幅制限 */
  box-sizing: border-box;
}
.news-list .date {
  font-size: 1.4rem;
  margin-bottom: 3px;
  color: #555;
  text-align: left;
  margin-left: var(--left-offset); /* h2 と揃える */
}

.news-list .content {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: var(--left-offset); /* h2 と揃える */
}

.news-list .category,
.news-list .news-tag {
  display: inline-block;
  padding: 1px 15px;
  border: 1px solid #333;
  border-radius: 15px;
  font-size: 1.3rem;
}

.news-list .title {
  font-size: 1.6rem;
  text-decoration: none;
  color: #333;
}

.news-list hr {
  border: none;
  border-top: 1px solid #9fa0a0;
  margin: 10px 0 0 var(--left-offset); /* h2 と揃える */
}






/*course*/

.title04_2{
  width: 30%;
  margin:30px auto 20px;
}

.content04{
  display: flex;
  justify-content: center;
  /*margin: 0 5%;*/
  gap:50px;
  background-color: #c7d4db;
  padding: 30px 0;
}

.course_area{
  width: 30%;
  border: #333 1px solid;
  border-radius: 15vw;
  text-align: center;
  padding: 60px 20px;
  max-width: 300px;
  font-size: 14px;

  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
}

.course_icon{
  height:25px;
}

.course_logo{
  height:150px;
  margin: 20px 0;
  width: 125px;
}

.course_recommend{
  height:15px;
}

.course_area img{
  display: block;
  margin: 0 auto;
}
.course_area hr{
  width: 70%;
  margin-top: 10px;
  margin-bottom: 40px;
}
h3{
  font-size: 20px;
  margin: 10px 0 15px;
}

.course_text01{
  min-height: 80px;
}

.course_text02{
  text-align: left;
  /*min-height: 100px;*/
  margin: 10px 0 20px;
}

.basic h3{
  color: #b14546;
}
.advance h3{
  color: #9fa0a0;
}


.course_btn{
  padding: 10px 30px;
  color: #fff;
  margin-top: auto;
}
.basic .course_btn{
  background-color: #b14546;
}
.advance .course_btn{
  background-color: #9fa0a0;
}


.recommend_line{
  display: flex;
  align-items: center;
  width: 100%;
  margin: 15px 0;
}

.recommend_line::before,
.recommend_line::after{
  content: "";
  flex: 1;
  border-top: 1px solid #333;
}

.recommend_line img{
  margin: 0 10px;
}

.section04{
  margin-top: 100px;
}

.course_area a:hover{
  opacity: 0.7;
}


/*ワンデー講座*/
.content05{
  margin: 50px 0;
}
.content05 h2{
  margin-bottom: 20px;
}
.oneday_area {
    height: 250px;
    position: relative;

    background-image:
        linear-gradient(
            to right,
            transparent 0%,
            transparent 25%,
            rgba(199, 212, 219, 0.3) 35%,
            #c7d4db 50%,
            #c7d4db 100%
        ),
        url("/img/main01.jpg");

    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
}


.oneday_text {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    width: 40%;
}

.oneday_text a{
  padding: 10px 30px;
  color: #fff;
  background-color: #f5ab7c;
  text-align: center;
  display: block;
  margin: 30px 0;
  width: 80%;
  max-width: 400px;
}







@media screen and (max-width: 700px) {
  .slider{
    width: 100%;
    clip-path: polygon(
        0 0,
        100% 0,
        100% 98%,
        0 90%
    );
  }


/*画像1枚用*/
.top_image01 img {
    display: block;
    width: 100%;
    height: auto;

    clip-path: polygon(
        0 0,
        100% 0,
        100% 98%,
        0 90%
    );
}



  .section01{
    margin-left:10%;
    padding-left: 0%;
  }



  .section02{
    --left-offset:0%;
    margin-bottom: 50px;
  }

  h2 img{
    width: 80%;
  }
  .card_inner{
    width: 100%;
    padding-left: 6%;
    padding-right: 10%;
  }
  
  .section02 h2 img{
    width: 50%;
  }
  .card_02{
    width: 100%;
    padding: 30px 0;
  }
  
  .section02 .section-title{
    margin-bottom: 10px;
  }
  .news-list .date{
    font-size: 1.2rem;
  }
  .news-list .category,.news-list .news-tag,.news-list .title{
    font-size: 1.3rem;
  }
    .news_area{
    width: 98%;
  }
  .news-list .content{
    gap: 15px;
  }

  
  .section04{
    background: none;
  }
  .section04 img{
    margin-bottom: 10px;
  }
.title04_2{
  width: 50%;
}

   .content04{
    flex-direction: column;
    align-items: center;
  }

  .course_area{
    width:100%;
    max-width:350px;
    border-radius: 175px;
  }

.recommend_line{
  margin: 0;
}
.course_area hr{
  margin-bottom: 20px;
}
.course_text01{
  min-height: auto;
  margin-bottom: 20px;
}
.course_btn{
  width: 60%;
}

.course_area{
  position:relative;
  padding: 80px 30px
}

.course_area::before{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  height:100%;
  z-index:-1;

  background: linear-gradient(
    transparent 20%,
    #f6dbc9 20% 70%,
    transparent 70%
  );
}

.oneday_area{
  background-image: linear-gradient(
            to bottom,
            transparent 0%,
            transparent 30%,
            rgba(199, 212, 219, 0.3) 46%,
            #c7d4db 60%,
            #c7d4db 100%
        ),
        url("/img/main01.jpg");
}
.oneday_text{
  width: 95%;
  top: auto;
  right: auto;
  bottom: 0;
  margin-bottom: 10px;
  margin: 0 ;
  text-align: center;
  
left: 50%;
transform: translateX(-50%);


}
.oneday_text a{
  margin:10px auto;
}





}



  
