@charset "UTF-8";

button{
    appearance: none;
    -webkit-appearance: none;
}

body{
    background-color: rgba(16, 16, 16, 1);
    font-family: "Noto Sans JP", "sans-serif";
    color: #E7E7E7;
}
.wapper{
    background-image: url(../images/hero_img.svg);
    background-size: cover;
    height: 95vh;
}
section{
    max-width: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}
.hero{
    padding-top: 150px;
}

.title_img{
    width: 80%;
    display: block;
    margin: 0 auto;
}
.col{
    display: flex;
    flex-direction: column;
    /* justify-content: center; */
    align-items: flex-start;
    gap: 20px;
    margin:0 auto;
    text-align: center;
}
/* 共通css */
.wrap{
    padding: 0 20px;
}
.btn{
    display: block;
    margin: auto;
    width: 300px;
    height: 60px;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
    border-radius: 50px;
}
.strength h1{
    display: inline-block;
    background: linear-gradient(90deg, #00C3CD 0%, #B49000 100%);/* 背景グラデーション */
    padding: 0 1rem;
    font-family: "sans-serif";
    font-size: 30px;
}
h2{
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 40px; /* 200% */
}
h3{
    font-family: "Noto Sans JP";
    font-size: 1em;
    font-style: normal;
    font-weight: 600;
    line-height: 40px; /* 250% */
}
h4{
    font-family: "sans-serif";
    font-size: 2em; 
    font-style: normal;
    font-weight: 250;
    line-height: 40px; /* 129.032% */
}
p{
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; /* 137.5% */
}
/* 個別のcss */
.service{
    border: 3px solid #FFF;
    background: #DA1D1D;
    color: rgba(255, 255, 255, 1);
}

.data{
    border: 3px solid #3223A5;
    background: #FFF;
    color: #3223A5;
}
/* ＝＝＝＝＝＝＝＝ヘッダー＝＝＝＝＝＝＝＝ */
.header{
    margin: 0 20px;
}
.inner_box{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    text-align: center;
    /* margin: 20px auto; */
    padding-top: 20px;
    z-index: 100000000;
}
.logo{

}
.min{
    width: 150px;
    margin: 0;
}
.trouble{
    /* padding: 85px 0; */
    text-align: center;
    margin: 85px 0;
}
/* ＝＝＝＝＝＝＝＝メイン＝＝＝＝＝＝＝＝ */
/*　悩み */
.trouble p{
    font-family: "sans-serif",serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 40px; /* 250% */
    /* padding: 85px 0; */
}
.trouble h2{
    font-family: "Noto Sans JP";
    text-shadow: 0px 4px 4px rgba(255, 255, 255, 0.25);
    font-size: 20px;
    font-weight: 500;
    padding-top: 50px;
}
/* 強み */
.strength{
    
}
/* item */
.item{
    padding-top: 57px;
    /* margin: 57px 0; */
}
.box h2{
    display: inline-block;
    padding: 0 .5em;
    font-weight: bold;
    background: linear-gradient(90deg, #00C3CD 0%, #B49000 100%);
    /* white-space: nowrap; */
    overflow: auto;
}
ul{
    padding: 0 1em;
}
li{
    line-height: 20px;
}
.item p{
    font-family: "Noto Sans JP";
    font-size: 1rem;
    font-style: normal;
    font-weight: 250;
    line-height: 40px; /* 250% */
    padding-bottom: 1rem;
}
.item ul li{
    font-family: "Noto Sans JP";
    font-size: 1rem;
    font-style: normal;
    font-weight: 250;
    line-height: 32px; /* 200% */
}
.teacher h2 {
    

    display: inline-block;
    font-size: 25px;
    font-family: sans-serif;
    background: linear-gradient(90deg, #00C3CD 0%, #B49000 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.teacher{
    padding-top: 57px;
}
/* html.107のpタグの部分の調整 */
.teacher ul{
    padding: 40px 0;
}
/* <2>スラダーの名前がズレる */
/*==================================================
スライダーのためのcss
===================================*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:94%;
    margin:0 auto;
}
.yuuma{
    padding-top: 1.3rem;
}
.left{
    padding-left: 1em;
}

.slider img {
    width:60vw;/*スライダー内の画像を60vwにしてレスポンシブ化*/
    height:auto;

    width: 100%;
    height: 60vw;
    /* CSSでの切り抜き */
    object-fit: cover;
    object-position: 0 0;
}
.slider p{
    display: block;
    font-size: 1em;
    width: 100%;
    /* 文章折り返し */
    overflow-wrap: break-word;
    word-break: break-all;
    white-space: wrap;
}
.slider li{
    /* text-align: center; */
}
.slider .slick-slide {
    /* padding: 0 1rem; */
    width: 80vw;
	transform: scale(0.8);/*左右の画像のサイズを80%に*/
	transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
	opacity: 0.5;/*透過50%*/
}

.slider .slick-slide.slick-center{
	transform: scale(1);/*中央の画像のサイズだけ等倍に*/
	opacity: 1;/*透過なし*/
}


/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
	margin:20px 0 0 0;
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}
/*==================================================
/.スライダーのためのcss
===================================*/
.jump{
    background-image: url(../images/catch_img.svg);
    background-position: center;
    width: 100%;
    background-size: cover;
    height: 237px;
    background-repeat:no-repeat; /*背景画像の繰り返しを解除*/
    /* background-size:auto; 背景画像のサイズ指定 */
}
.catch{
    border: 3px solid #FFF;
    background: #000000;
    
    color: rgba(255, 255, 255, 1);
}
.jump h2{
    font-family: "sans-serif",serif;
    text-align: center;
    font-size: 20px;
    padding: 83px 0 10px 0;
}
/* プラン */
.layer{
    position: absolute;
}
.baseBox{
    /* display: block;
    margin: 0 auto; */
}
.back_letter{
    /* text-align: right; */
    /* margin: 0 0 0 auto; */
    margin: 55px 0 0 auto;
    z-index: 1;
}
.frontStr{
    /* text-align: center;
    margin: 0 auto; */
    display: block;
    margin: 0 auto;
    z-index: 100;
    padding-top: 80px;
}
/* ".heading"は、全体css */
.heading{
    text-align: center;
    padding: 3rem 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    max-width: 500px;
    margin: 0 auto;
    font-size: 1.5rem;
}

.heading-plan{
    background-image: url(../images/plan.svg);
    background-position: 100% 50%;
    margin-top: 55px;
}

/* ＝＝＝＝値段＝＝＝＝ */


.contents{
    border: 2px solid #00C3CD;
    width: 13rem;
    padding: 15px;
    text-align: center;
    margin: 15px auto;
}

.border{
    border-bottom: 1px solid #ACACAC;
}

.center{
    text-align: center;
}
/* ＝＝＝＝オプション＝＝＝＝ */
.cl_center_inner {
    max-width: 1000px;
    width: 97%;
    margin: 0 auto;
}
.heading-option{
    background-image: url(../images/option.svg);
    background-position: 100% 50%;
    margin-top: 55px;
}

/*親要素*/
.cl_center_wrap{
    text-align: center;
}

/* 子要素（リスト部分） */
.cl_center {
    list-style: none;
    padding-bottom: 20px;
    text-align: left;
    display: inline-block;
    text-align: left;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;

}
.cl_center li{
    padding: .5rem;
}
/* =======キャンペーン======= */
.campaign_inner{
    background-image: url(../images/campaign.svg);
}

/* ＝＝＝＝キャンペーン＝＝＝＝ */
/* <!>背景の灰色のキャンペーンをサイズ調整をする */
.heading-campaign{
    background-image: url(../images/campaign.svg);
    background-position: 100% 50%;
    margin-top: 55px;
}
/*  ＝＝＝＝キャンペーン ＝＝＝＝ */
.back_image{
    background-image: url(../images/campaign_img.svg);
    background-position: center;
    width: 100%;
    background-size: cover;
    height: 120px;
    background-repeat:no-repeat; /*背景画像の繰り返しを解除*/
    /* background-size:auto; 背景画像のサイズ指定 */
}

.campaign_text{
    background: linear-gradient(90deg, #00C3CD 0%, #B49000 100%);
    padding: 35px 0;
    text-align: center;
}
/* ＝＝＝＝生徒の声＝＝＝＝ */

.text{
    text-align: left;
    width: 22rem;
    margin: 0 auto;
}
.students{
    border: 1px solid #fff;
    text-align: center;
}
.student{
    border: 3px solid #3c3c3c;
    text-align: center;
    padding: 30px 0;
    width: 70%;
    margin: 30px auto;
}
.text h5{
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 30px; /* 187.5% */
}
.text p{

}
/* ＝＝＝＝よくある質問＝＝＝＝ */
.question{
    padding: 45px 0;
}
/*＝＝＝＝アコーディオン全体＝＝＝＝*/
.accordion-area{
    list-style: none;
    width: 96%;
    max-width: 900px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
	border-bottom: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    font-family: "sans-serif", serif;
    cursor: pointer;
    font-size:1rem;
    /* font-weight: normal; */
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/

.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.accordion_box {
    display: none;/*はじめは非表示*/
    
    /* background: #f3f3f3; */
	margin:0 3% 3% 3%;
    padding: 3%;
}
.accordion_box p,.accordion_box li{
    font-family: "sans-serif", serif;
    font-size: 16px;
    font-weight: 500;
}
.footer{
    margin-top: 43px;
    background: #333;
    bottom: 0;
    left: 0;
    width: 100%;
    font-family: "sans-serif";
    flood-color: #A6A6A6;
    font-size: 13px;
    font-weight: 700;
    line-height: 40px; /* 400% */
    text-align: center;
}
.footer .note p{
    font-size: 1em;
    text-align: center;
    line-height: 2em;
    color: #ff6f6f;
    padding: 1rem;
}