@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;700&display=swap');

:root{
    --primary:#e4cff9;
    --dark:#21252f;
    --body:#888;
    --box-shadow:0 8px 20px rgba(0,0,0,0.2);
    --nav_text:#fff;
    --text:#482e04;
    --content_background_color:#f5f2f6;
    --title_background:  #e3cd24;
    --border: 3px solid #d2b3d4;
    --card_border: 3px solid #6f5d70;

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

body{
    font-family: 'Sora', sans-serif,'メイリオ', 'Meiryo', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    line-height: 1.7;
    color: var(--text);
    background: #fffeff;
     
     
}

h1,h2,h3,h4,h5,h6{
    font-weight:700;
}
  

a{
    color:var(--dark);
  }
p{
    color: var(--text);
}
header,main,footer{
    width: 100%;
    margin: 0;
    padding: 0;
}


main {
    width: 100%;
    min-height: 100vh;
    box-sizing: border-box;
  }
  
/* =========================================
   パンくずリスト
========================================= */

.site-breadcrumb {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding: 10px 20px 12px;
    box-sizing: border-box;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 0;

    font-size: 14px;
    line-height: 1.6;
}


/* ホーム */
.site-breadcrumb-home {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    color: #333;
    text-decoration: none;
}

.site-breadcrumb-home i {
    font-size: 18px;
}


/* リンク */
.site-breadcrumb a {
    color: #333;
    text-decoration: none;
}

.site-breadcrumb a:hover {
    text-decoration: underline;
}


/* 区切り */
.site-breadcrumb-separator {
    margin: 0 8px;
    color: #777;
}


/* 現在のページ */
.site-breadcrumb-current {
    color: #333;
}


/* トップページ上のボタン */
.news_nav {
    width: 100%;
    padding-top: 0.2em;
}


/*footer*/
.footer_container{
  font-style: normal;
  font-weight: 400;
  background-color: var(--primary);
  display: flex;
  justify-content: space-around;
  padding: 0;
  border: 0;
}
.footer_inner{
  width: 100%;
  margin: auto;
}
.footer_index1 a img{
  width: 80%;
}
.footer_index1_inner ul,
.main7_sitemap ul {
  max-width: 300px;
  width: 100%;
  list-style: none;
  padding: 0;
}


/*イメージ*/

    .image-container {
            max-width: 600px;
            width:100%;
            text-align: center;
            margin: 0 auto;
        }

        .image-container img {
            width:100%;
            height: auto;
          }

/*ここまで共通*/
.news_nav ul {
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 0;
}

.news_nav li {
    display: inline-block;
    list-style: none;
    margin: 0 10px;
}

.news_nav a {
    display: inline-block;
    padding: 0.5em 1em;
    text-decoration: none;
    color: var(--text);
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 
    
}
.news_nav a:hover {
    background-color: #c6e0ef;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); 
}
.button_area{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.news{
    margin-top: 2em;
    padding: 50px 0;
  }
  .news_contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0;
}

.news_card {
    width: calc(50% - 20px);
    margin-bottom: 20px;
    overflow: hidden;
    background: none;
    border: none;
    margin: 0 10px; 
}



.news_list_date {
    position: relative;
    display: flex;
    align-items: baseline;
  }
.news_card p{
    text-align: left;

}
.news_card .card-img-top {
  transition: transform 0.8s;
  width: 100%;
  height: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.news_card:hover .card-img-top {
  transform: scale(1.1);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.news_card .card-body {
  padding: 1rem;
  white-space: normal;
}
.news_list_date {
  display: flex;
  align-items: center;
}
.news_title{
    position: relative;
    border-bottom: 3px solid #011afa;
    }
    
.news_title::after {
  position: absolute;
  content: " ";
  display: block;     
  border-bottom: solid 3px #ff0000;
  bottom: -3px;
  width:15%;
}
    
.news a{
    text-decoration: none;
    color: #333;
}

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


.arrow{
  width: 25px;
  height: 1px;
  background:var(--text);
  position: absolute;
  right: 0;
  margin-left: 2em;
}

.arrow::after {
  content: "";
  display: block;
  width: 6px;
  height: 1px;
  background:var(--text);
  transform: rotate(45deg);
  position: absolute;
  right: 0px;
  bottom: 2px;
}
.news_list_date .arrow {
    width: 25px;
    height: 1px;
    background: #707070;
    margin-left: 5px; 
  }
.news_card .card-text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    white-space: normal; 
  }
  
/* NEWSページにもどるボタン */
.back-button-container {
margin-top: 1em;
padding: 0.5em; 
border: 1px solid var(--text);
border-radius: 10px; 
display: inline-block; 

}

.back-button {
padding: 3px 6px; 
color: var(--text);
border: none;
border-radius: 3px;
cursor: pointer;
margin: 0;
}


.button_area{
    margin-top: 5%;
}

.footer_inner{
  width: 100%;
  margin: auto;
}
.footer_index1 a img{
  width: 80%;
}
.footer_index1_inner ul,
.main7_sitemap ul {
  max-width: 300px;
  width: 100%;
  list-style: none;
  padding: 0;
}

.inner_box_img{
  width: 50%;
  margin: 0 auto;
}
.inner_box_img img{
  width: 100%;
  margin: 0 auto;
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1); 
}
/*
.main7_sitemap ul li {
  position: relative;
  width: 100%;
  padding-left: 24px; 
  margin: 10px 0; 
}
.main7_sitemap ul li a {
  text-decoration: none; 
  color: inherit; 
}
.main7_sitemap ul li a:hover {
  color: #cc87d5; 
}

.main7_sitemap ul li::before {
    content: "\25BA";
  position: absolute;
  left: 0;
  color: #cc87d5;
}
*/
.inner_box_img{
  width: 80%;
  margin: 0 auto;
}
.inner_box_img{
  width: 100%;
}

.newspage_content_inner{
    width:100%;
    display: flex;
   justify-content: space-between;
    align-items: center;
}
.newsoage_inner_img{
width: 30%;
}
.newsoage_inner_img img{
    width: 100%;

    }
    .newspage_text{
        padding-left:2em;
    }
  @media screen and (max-width: 1399px)
  {
  .score_up_second_title img{
    width: 100%;
}
.score_image {
    display: block;
    width: 100%;
}
  }
@media screen and (max-width: 1280px)
{
.nav ul li a,
.nav ul li a:link,
.nav ul li a:visited {
    width: 8em;
    font-size: 1em;
    padding-top: 0.6em;
    }
.headline h2{
        font-size: 1em;
    }



}
@media screen and (max-width: 1024px) {
    .news_list_item a {
        display: block;
    }
}

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

.cta_btn .cta_btn-tel img,
.cta_btn  .cta_btn-contact img{
    width: 70%;
    margin: 0.5em;
}
    a.text-light
    {
    font-size: 16px;
    }
    .field2{
        max-width: 650px;
        width: 100%;
    }
    .list-group{
        width: 400px;
    } 
    .fade h2{
             padding-top: 3em;
    }
    .line-bc {
        max-width: 900px;
    }
    
    .planb_inner{
        display: block;
    }

    .planb_inner_text{
        font-size: 1em;
    }

}

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

h2,h3,h4,.heading_sub{
margin-top:0!important;
font-size: 1em!important;
}
h5{
font-size: 0.8em;
}
.news_nav{
    font-size: 0.8em;
}
.company_main, .support_area, .area_main, .Quotation, .experience, .free_lessons, .pass, .priceA, .priceB, 
.qa, .score_up, .to_start_main, .button_area {
    padding: 1em;
}
.header_inner{
    display: none;
}

.header_sp {
    position: relative;
    display: flex;
    justify-content: space-between; 
    align-items: center;
}

.header_img img {
    width: 80%;
}

.top_tel img, .top_free img, .top_line img {
    width: 100%;
}
    .site-breadcrumb {
        padding: 8px 15px 10px;
        font-size: 13px;
        line-height: 1.7;
    }

    .site-breadcrumb-separator {
        margin: 0 5px;
    }

.cta_btn{
    display: block;
    margin-top: 1em;
 }
.cta_btn-tel,
.cta_btn-contact{
    padding: 0;
}
.cta_btn .cta_btn-tel img,
.cta_btn  .cta_btn-contact img{
    width: 70%;
    margin: 0.5em;
}
.contents_title{
    margin-top: 1em!important;
}
.main_pagetop p {
  font-size: 0.8em;
}



.area_btnimg{
    width: 50%;
    padding: 2%;
    margin: 0 auto;
  }
  .area_btnimg img{
    width: 100%;
  }

.exp_textsm{
    display: block;
}

.bd-placeholder-img-lg {
        font-size: 3.5em;
    }

.bread{
   font-size: 0.8em;
   margin: 0;
   padding: 0;
}



/*news section*/
.news{
    padding-top: 1em;
    padding-bottom: 1em;
}
.news_card {
font-size: 0.8em !important; 
white-space: normal; 

}
  .news_contents {
    display: flex;
    flex-wrap: wrap;
        justify-content: center;
    margin: 0;
  }
.news_list_item a  {
    font-size:0.8em;
}
.arrow{
    width: 25px;
    height: 1px;
    background:var(--text);
    position: absolute;
    right: 0;
    margin-left: 1em;
    }
    .news_contents p{
    font-size: 1em;
    }
    .news span{
    font-size: 1em;
    }
    .newspage_text{
      padding-left: 5em;
    }
    .newspage_content_inner {
      flex-direction: column;
    }

    .newsoage_inner_img {
      width: 100%;
    }

    .newspage_text {
      padding-left: 0;
      margin-top: 1em;
    }
    .back-button-container {
      padding:0;
      }
    .back-button-container {
      padding: 0.3em; 
      border-radius: 8px; 
    }

    .back-button {
      padding: 2px 4px;
      font-size: 0.8em;
    } 
       
    
}

    @media screen and (max-width: 576px)
     {
       
        .contents_title{
            margin-top: 2em;
        }
        .link_btn{
           margin-top: 1em!important;
           margin-bottom: 2em;
        }
     
        .nav{
            width: 100%;
            height: 40px;
            background: #9fb7d4;
            overflow-x: auto;
            overflow-y: hidden;
          }
          .nav ul {
            height: 40px;
            margin: 0 auto 2px auto;
            list-style: none;
            display: flex;
            padding: 0;
          }
          .nav ul li {
            text-align: center;
            border-left: 1px solid #eee;
          }
          .nav ul li:last-child {
            border-right: 1px solid #eee;
          }
          .nav ul li a,
          .nav ul li a:link,
          .nav ul li a:visited {
            width: 8em;
            font-size: 0.8em;
            padding-top: 0.7em;
          }


          .heading{
            margin-top: 2em!important;
          }


.support_container img {
    margin-top: 0;
}

.main_price img {
    width: 110%;
}
.support_area {
    padding: 0;
}


 /**/
 .contents_title p{
    font-size: 0.8em;
 }
 .sample1 figure img{
    width: 100%;
 }

.ess_imgD{
   display: none;
  }
.ess_spimgD{
    display: block;
    width: 100%;
}

 }

 @media (max-width: 330px) {
    .news_list_date span {
        display: block;
        margin-top: 0.5em; 
}

}