/***************************************
ここからMV
****************************************/
.mv {
    margin-bottom: 100px;
}


.mv_image {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 40px;
    align-items: end;
}
.photo_image:nth-child(1) img{
    transform: translateY(0);
}
.photo_image:nth-child(2) img {
    transform: translateY(-15px);
}
.photo_image:nth-child(3) img {
    transform: translateY(-20px);
}
.photo_image:nth-child(4) img {
    transform: translateY(-17px);
}
.photo_image:nth-child(5) img {
    transform: translateY(20px);
}
.photo_image:nth-child(6) img {
    transform: translateY(10px);
}

.mv_title {
    text-align: center;
}
.mv_title h2 {
    font-weight: 700;
    font-size: 32px;
    color: #393836;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-bottom: 20px;
}
.mv_title p {
    color: #B68C21;
}

/* 装飾 */
.mv_decoration {
    position: relative;
}
.mv_decoration::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: -140px;
    z-index: -1;
    left: 20px;
    background: url("../image/mvgreen.png") no-repeat center / contain;
}
.mv_decoration::after {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: -80px;
    left: 18%;
    z-index: -1;
    background: url("../image/mvpink.png") no-repeat center / contain;
}
/* タブレット */
@media screen and (max-width: 768px){
    .mv_image {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }
    .mv_image figure:nth-child(5),
    .mv_image figure:nth-child(6) {
        display: none;
    }

    /* 装飾 */
    .mv_decoration::before {
        content: "";
        position: absolute;
        width: 80px;
        height: 80px;
        top: -140px;
        z-index: -1;
        left: -10px;
    }
    .mv_decoration::after {
        content: "";
        position: absolute;
        width: 80px;
        height: 80px;
        top: -120px;
        left: 16%;
        z-index: -1;
    }
}
/* スマホ */
@media screen and (max-width: 440px){

    .mv_image {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .mv_image figure:nth-child(4) {
        display: none;
    }
    .mv_title h2 {
        font-weight: 700;
        font-size: 20px;
        color: #393836;
        line-height: 1.5;
        letter-spacing: 0.03em;
    }
    .mv_title p {
        color: #B68C21;
        font-size: 13px;
    }
        /* 装飾 */
    .mv_decoration::before {
        content: "";
        position: absolute;
        width: 50px;
        height: 50px;
        top: -115px;
        z-index: 1;
        left: -10px;
    }
    .mv_decoration::after {
        content: "";
        position: absolute;
        width: 46px;
        height: 26px;
        top: -75px;
        left: 12%;
        z-index: -1;
    }

    .photo_image:nth-child(1) img{
    transform: translateY(-10px);
}
    .photo_image:nth-child(2) img {
    transform: translateY(-5px);
}
    .photo_image:nth-child(3) img {
    transform: translateY(-20px);
}
}
/***************************************
ここからabout_section
****************************************/
.about_section {
    margin-bottom: 100px;
}

.about_section img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* 装飾左 */
.about_top_left {
    position: relative;
}
.about_top_left::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: -100px;
    left: 150px;
    background: url("../image/abotugreen.png") no-repeat center / contain;
}
.about_bottom_left {
    position: relative;
}
.about_bottom_left::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: -50px;
    left: 145px;
    z-index: -100;
    background: url("../image/aboutbeige.png") no-repeat center / contain;
}
.about_bottom_left::after {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: 180px;
    left: 50px;
    z-index: -100;
    background: url("../image/aboutorange.png") no-repeat center / contain;
}
/* 装飾右 */
.about_top_right {
    position: relative;
}
.about_top_right::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: -50px;
    left: 220px;
    z-index: -100;
    background: url("../image/aboutyerrow.png") no-repeat center / contain;
}
.about_top_right::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 70px;
    top: 190px;
    left: 80px;
    background: url("../image/aobutblue.png") no-repeat center / contain;
}
.about_bottom_right {
    position: relative;
}
.about_bottom_right::before {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    top: 215px;
    left: -80px;
    background: url("../image/aboutpink.png") no-repeat center / contain;
}



.section_title_about {
    text-align: center;
}
.about_section h2 {
    color: #B68C21;
    margin-bottom: 52px;
    font-size: 16px;
    font-weight: 400;
}
/* ブロークングリッドレイアウト */
.about_container {
    margin-bottom: 160px;
}
/* 上のレイアウト  */

.about_inner {
    display: flex;
    gap: 50px;
    justify-content: space-between;
    margin-bottom: 50px;
}

.about_top_center {
    margin-top: 0;        /* 一旦リセットしてみる */
    margin-left: 0;
    margin-right: 0;
}

.about_top_left {
    max-width: 330px;
    margin-left: -6.7%;
}
.about_top_center {
    margin-top: 6.7%;
}

.about_top_title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 37px;
    line-height: 1.5;
    text-align: center;
}
.about_top_text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
    text-align: center;
}

.about_top_right {
    max-width: 260px;
    margin-top: 1.6%;
}

/* 下のレイアウト */
.about_bottom_left {
    max-width: 210px;
    margin-left: 2.4%;
}
.about_bottom_center {
    max-width: 275px;
    margin-left: -4.8%;
}
.about_bottom_right {
    max-width: 360px;
    margin-top:  -6.5%;
    margin-right:  -6.5%;
}

/* ここからスワイパー */
/* まず swiper を非表示（PC用） */
.about_swiper {
    display: none;
    }

    /* swiper画像の調整 */
.about_swiper img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    }

    /* タブレット以下で切り替え！ */
@media screen and (max-width: 768px) {
    .about_top_left img, 
    .about_top_right img,
    .about_bottom_left img, 
    .about_bottom_center img,
    .about_bottom_right img {
        display: none;
    }
      /* テキストは中央寄せ気味にしておく（お好みで） */
    .about_inner {
        justify-content: center;
        gap: 24px;
    }

    .about_container {
        margin-bottom: 40px;  /* Swiperとの間の余白。調整自由 */
    }

  /* Swiper をタブレット以下で表示 */
    .about_swiper {
        display: block;
        margin-top: 24px;
    }
/* ここまでがスワイパー */
    .about_section h2 {
        margin-bottom: 0;
    }

    .about_top_center {
        margin-top: 3.5%;
        margin-left: 40px;
    }
    .about_top_title {
        font-size: 24px;
        font-weight: 500;
        line-height: 1.5;
    }
    .about_top_text {
        font-size: 16px;
        line-height: 1.9;
        font-weight: 400;
    }

    /* 装飾 */
    .about_top_left::before {
        top: -80px;
        left: -35px;
        width: 90px;
        height: 40px;
    }
    .about_bottom_left::before {
        top: -200px;
        left: -370px;
        width: 80px;
        height: 50px;
    }
    .about_bottom_left::after {
        top: -100px;
        left: -420px;
        width: 70px;
        height: 40px;
    }
    .about_top_right::before {
        left: 15px;
        top: -140px;
    }
    .about_top_right::after {
        top: 70px;
        left: -30px;
        width: 60px;
        height: 40px;
    }
    .about_bottom_right::before {
        top: -90px;
        left: 250px;
    }
      .about_top_text br {
    display: inline !important;
  }
}

    /* スマホ */
@media screen and (max-width: 440px){
    .about {
        font-size: 12px;
        font-weight: 400;
        line-height: 1.8;
    }
    .about_top_title {
        font-size: 22px;
        font-weight: 500;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    .about_top_text {
        font-size: 14px;
    }
    .about_inner {
        margin-bottom: 10px;
    }
    
    /* 装飾 */
    .about_top_left::before {
        top: -40px;
        left: 30px;
        width: 41px;
        height: 17px;
    }
    .about_bottom_left::before {
        top: -210px;
        left: -180px;
        width: 50px;
        height: 34px;
    }
    .about_bottom_left::after {
        top: -80px;
        left: -210px;
        width: 60px;
        height: 30px;
    }
    .about_top_right::before {
        left: -40px;
        top: -80px;
        width: 50px;
        height: 50px;
    }
    .about_top_right::after {
        top: 110px;
        left: -30px;
        width: 39px;
        height: 21px;
    }
    .about_bottom_right::before {
        top: -90px;
        left: 100px;
        width: 45px;
        height: 45px;
        z-index: -1;
    }
}



 /* <!-- ここまでがabout_container--> */

/***************************************
ここからfeatures_section
****************************************/
.features  {
    margin-bottom: 100px;
}
.features_title {
    padding-bottom: 70px;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.8;
}
.features_title span {
    color: #B68C21;
}

.features_content {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #B68C21;
    border-top: 1px solid #B68C21;;
}
/* レイアウトために設定 */
.features_list img {
    margin-top: 48px;
    text-align: center;
    padding-bottom: 60px;
    max-width: 330px;
    /* 追加：レスポンシブで潰れないように */
    width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.features_list {
    border-left: 1px solid #B68C21;
    padding: 0 60px;
    position: relative;
}
.circle {
    width: 60px;
    height: 60px;
    border: 1px solid #B68C21;
    border-radius: 50%;
    color: #B68C21;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50% ,-50%);
}



.features_list:first-child {
    border-left: none;
}
.features_title_ja {
    padding-top: 70px;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
}

.features_title_en {
    text-align: center;
    color: #B68C21;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
    margin-bottom: 20px;
}
.features_title_text {
    line-height: 1.8;
}

/*　タブレット */
@media screen and (max-width: 768px){
    .features_list {
        padding: 0 10px;
    }
    
    .features_title_ja {
        font-size: 16px;
        font-weight: 500;
        line-height: 1.8;
    }
    .features_title_en {
        font-size: 16px;
        line-height: 1.8;
        font-weight: 500;
    }
    .features_title_text {
        font-size: 14px;
        font-weight: 400;
        line-height: 1.8;
    }
 
    .features_list .features_img_two,
    .features_list .features_img_three {
        margin-top: 48px;
    }
}
/* スマホ */
@media screen and (max-width: 440px){
    .features_content {
        display: flex;
        flex-direction: column;   
    }
    .features_list {
        border-left: none;
    }
    .features_list + .features_list {
        border-top: 1px solid #B68C21;
    }

    .features .features_title {
        font-size: 20px;
    }
    
    .features_title_ja {
        padding-top: 35px;
    }
}


/***************************************
ここからevent_section
****************************************/
.event_section {
    margin-bottom: 100px;
    border-bottom: 1px solid #393836;
    padding-bottom: 50px;
}
.event_list {
    display: flex;
    justify-content: space-between;
    gap: 75px;
    padding-bottom: 50px;
    margin-top: 40px;
}
.event {
    color: #476C8B;
}


.event_flex {
    display: flex;
    align-items: flex-end;
    gap: 40px;
}
.span_year {
    font-size: 20px;
    font-weight: 400;
}

.br_month {
    font-size: 22px;
    font-weight: 700;
}

strong {
    font-size: 40px;
    font-weight: 700;
}

.event_content {
    display: flex;
    gap: 40px;
    align-items: center;
    margin-top: 22px;
}
.event_title {
    font-size: 16px;
    line-height: 1.8;
    white-space: nowrap; 
}
.event_pc_none {
    display: none;
}
@media screen and (max-width: 1024px){
    .event_button {
        display: none;
    }

} 

/* タブレット */
@media screen and (max-width: 768px){
  .br_text,
  .br_month {
    display: inline !important;
  }
    /* 1件ずつ縦積み */
    .event_list {
        flex-direction: column;
        gap: 32px;
    }

    /* event_flex 内を縦並びにする */
    .event_flex {
        display: flex;
        flex-direction: column;
        gap: 12px;
        margin-right: 0;
    }

    /* 画像は上に */
    .event_flex img {
        width: 100%;
        height: auto;
        display: block;
    }


    .event_date {
        display: none;
    }

    /* 文字ブロック */
    .event_content {
        display: block;
        font-size: 14px;
    }
    .event_pc_none {
        display: block;/* ← 表示 */
        text-align: right;
        margin-top: -20px;
        font-size: 16px;
        line-height: 1.3;
        font-weight: 500;
        white-space: normal;
    }

    .event_title {
        font-size: 16px;
        line-height: 1.3;
        font-weight: 500;
    }
}
/* スマホ */
@media screen and (max-width: 440px){
    .event_pc_none {
        font-size: 14px;
        line-height: 1.3;
        font-weight: 500;
        white-space: normal;
    }

        .event_title {
        font-size: 14px;
        line-height: 1.3;
        font-weight: 500;
    }
}

/***************************************
ここからsection_teacher
****************************************/
.section_teacher {
    margin-bottom: 100px;
    padding-bottom: 50px;
    background: #F6F3E5;
    position: relative;
}
.section_teacher > * { /* ← 実務でよく使う*/
    position: relative;  
    z-index: 1;
}

.section_teacher::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 75px; /* ← 白の高さを調整*/
    background: #fff;
    z-index: 0;
}

.teacher_sub {
    font-size: 16px;
    font-weight: 400;
    color: #88191B;
    margin-bottom: 50px;
}
/* -- teacher_inner部分 -- */
/* -- teacher_top上の部分 -- */

.teacher_inner {
    display: flex;
    align-items: stretch;
    position: relative;
}
.teacher_inner::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 40px;          /* 線の開始位置（上） */
  bottom: 40px;       /* 線の終了位置（下） */
  border-left: 1px solid #88191B;
}

/* 上段2名だけ：線を入れる */
.section_teacher > .wrapper_min > .teacher_inner .teacher_bottom {
    position: relative;
    padding-bottom: 30px;
}

.section_teacher > .wrapper_min > .teacher_inner .teacher_bottom::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -40px;
    width: 100%;
    height: 1px;
    background-color: #88191B;
}

.teacher_area {
    padding: 35px;
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
}

.teacher_area:first-child {
    border: none;
}

.teacher_inner .teacher_area:nth-child(2) .teacher_photo img {
    margin-bottom: 10px;
}
.accordion_body .teacher_inner .teacher_area:nth-child(1) .teacher_photo img {
    margin-bottom: 10px;
}
.teacher_top {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    margin-bottom: 36px;
}
.teacher_photo {
    width: 26%;
    flex-shrink: 0;
}
.teacher_photo img {
    width: 100%;
    max-width: 300px;
    height: auto;
}
.teacher_name_ja {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
}
.teacher_name_en {
    font-size: 14px;
    font-weight: 400;line-height: 1.8;
    color: #88191B;
    padding-bottom: 30px;
}
.teacher_text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}

/* -- .teacher_other_info上の部分 -- */
.teacher_other_row {
    display: flex;
    align-items: center;
    margin-bottom: 30px;  /* 下の「出身地」までの余白はお好みで */
}
.teacher_other_row::after {
    content: "";
    flex-grow: 1;              /* 残り幅いっぱいに伸びる */
    height: 1px;
    background-color: #88191B;         /* ラベルとのすき間 */
}
.teacher_other_info {
    width: 155px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid #88191B;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #88191B;
}


.teacher_bottom {
    margin-top: 30px;
}
/* 最初は非表示（閉じた状態） */
.accordion_body {
    display: none;
}
.accordion_body.is-open {
  display: block;
}

.teacher_button {
    cursor: pointer;
    display: flex;
    justify-content: center;
}
.teacher_more_button {
    position: relative;
    display: inline-flex;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    width: 168px;
    height: 50px;
    margin-top: 30px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    border-radius: 999px;
    border: 1px solid #393836;
    text-align: center;
    background-color: #fff;
    padding-right: 40px;
}

.teacher_more_button::after {
    content: "+";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 23px;
    height: 22px;
    border-radius: 50%;
    right: 12px;
    background-color: #88191B;
    color: #fff;
    transition: all .3s ease;
}
.teacher_more_button.is-open::after {
    content: "ー";
}
.teacher_more_button:hover {
    background-color: #88191B;
    color: #fff;
}

.teacher_more_button:hover::after {
    background-color: #fff;            
    color: #88191B;                    
}
/* 展開ボタン */


/* -- teacher_inner下の部分 -- */
.teacher_flex {
    display: flex;
    gap: 26px;
}
/* 左側ラベル（出身地／資格／経歴）の幅を固定 */
.teacher_red {
    color: #88191B;
    min-width: 4em;      
    flex-shrink: 0;      /* これ以上小さくならないようにする */
}
.teacher_flex li {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8
}
/* タブレット */
@media (max-width: 768px) {

    .teacher_more_button {
        margin-top: 40px;
    }
    .section_teacher::before {
        height: 60px;
    }

    
  .teacher_more_button  {
    margin-bottom: -20px;
  }
  .teacher_inner {
    flex-direction: column;
    gap: 40px; /* 縦の余白 */
  }

  /* 写真とテキストも縦並びに */
  .teacher_top {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* 写真を中央寄せに */
  .teacher_photo {
    width: 60%;
  }

  .teacher_photo img {
    max-width: 250px;
  }

  /* 「Other information」部分も中央寄せ */
  .teacher_other_row {
    justify-content: center;
  }

  /* 経歴テキストの横幅調整 */
  .teacher_bottom ul {
    flex-direction: column;
    gap: 6px;
  }

  /* 上段だけの仕切り線も調整（短くする or 消す場合はここ） */
  /* 全員に線を入れる */
  .teacher_bottom {
    position: relative;
    padding-bottom: 25px;
  }
  .teacher_bottom::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 1px;
    background-color: #88191B;
  }

  /* 森さん（4番目）だけ線を消す */
  .accordion_body .teacher_inner .teacher_area:nth-child(2) .teacher_bottom::after {
    content: none;
  }
  .teacher_inner::before {
    display: none;
  }
        
}


@media screen and (max-width: 440px){
    .section_teacher::before {
        top: -35px;
    }
}
/***************************************
ここからsection_course 
****************************************/
.section_course {
    margin-bottom: -80px;
}
.course {
    color: #476C8B;
    margin-bottom: 41px;
    font-size: 16px;
    font-weight: 400;
}

.course_list {
    margin-bottom: 77px;
}
.course_bule,
.course_card_yellow,
.course_card_green,
.course_card_red {
    position: relative;
    padding: 40px 56px;
    border-radius: 50px;
    border: 1px solid #333; 
    margin-bottom: 48px;
    transition: all 0.3s ease;
}

.course_bule {
    border: 1px solid #476C8B;
}
.course_card_yellow {
    border: 1px solid #E8A101;
}
.course_card_green {
    border: 1px solid #809947;
}
.course_card_red {
    border: 1px solid #88191B;
}
.course_header {
    text-align: center;
    margin-bottom: 34px;
}


/* -- タイトル共通部分 -- */
.course_name_lite,
.course_name_standard,
.course_name_premium,
.course_name_private {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.8;
}
.course_tagline_lite,
.course_tagline_standard,
.course_tagline_premium,
.course_tagline_private {
    font-size: 16px;
    font-weight: 400;
}

/* COURSEキーフレーズの下線 */
.course_text span {
    position: relative;
    display: inline-block;
    z-index: 1;
}
.course_text span::after {
    content: "";
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 98%;
    height: 5px;
    background-color: #FBEE8D;
    opacity: 0.6;
    z-index: -1;
}
.course_list .course_item:nth-child(1) .course_text span::after {
    width: 81%;
}
.course_list .course_item:last-child .course_text span::after {
    width: 97%;
}

/* タイトルの個別の文字色 */
/* -- lite -- */
.course_name_lite,
.course_tagline_lite {
    color: #476C8B;
}
/* -- Standard -- */
.course_name_standard,
.course_tagline_standard {
    color: #E8A101;
}
/* -- premium -- */
.course_name_premium,
.course_tagline_premium {
    color: #809947;
}
/* -- Private -- */
.course_name_private,
.course_tagline_private {
    color: #88191B;
}

.cours_bule {
    color: #476C8B;
}

.cours_yerrow {
    color: #E8A101;
}
.cours_green {
    color: #809947;
}
.cours_red {
    color: #88191B;
}
/* 装飾 */
.course_name_lite {
    position: relative;
}
.course_name_lite:after {
    content:"";
    position:absolute;
    background: url("../image/vectorstroke.png") no-repeat center / contain;
    width: 100px;
    height: 150px;
    right: -110px;
    top: -10px;
}


/* 装飾 */
.course_name_standard {
    position: relative;
}
.course_name_standard::after {
    content: "";
    position: absolute;
    width: 100px;
    background: url("../image/yellowstroke.png") no-repeat center / contain;
    height: 150px;
    left: -110px;
    top: 50px;
}

.course_name_premium {
    position: relative;
}

.course_name_premium::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -160px;
    top: 140px;
    background: url("../image/green.png") no-repeat center / contain;
}

.course_name_private {
    position: relative;
}
.course_name_private::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    left: -180px;
    top: 30px;
    background: url("../image/redstroke.png") no-repeat center / contain;
}
/* --説明文-- */
.course_body_bule{
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    border-top: 1px solid #476C8B;
    border-bottom: 1px solid #476C8B;
    padding: 15px 0;
}
.course_body_yerrow {
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    border-top: 1px solid #B68C21;
    border-bottom: 1px solid #B68C21;
    padding: 15px 0;
}
.course_body_green {
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    border-top: 1px solid #809947;
    border-bottom: 1px solid #809947;
    padding: 15px 0;
}
.course_body_red {
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.8;
    border-top: 1px solid #88191B;
    border-bottom: 1px solid #88191B;
    padding: 15px 0;
}
/* -- 「こんな方におすすめ」エリア --*/
.course_outline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 53px;
    font-size: 16px;
    line-height: 1.8;
    margin-top: 34px;
}

.course_outline_label img {
    padding-right: 15px;
    padding-bottom: 9px;
}
/* タブレット */
@media screen and (max-width: 768px){
    .course_text {
        font-size: 16px;
    }
    .course_outline {
        gap: 20px;
    }
}
/* スマホ */
@media screen and (max-width: 440px){
    .course_text {
        font-size: 14px;
    }
    .course_outline {
        display: flex;
        flex-direction: column;
        font-size: 14px;
    }
    .course_outline_text {
        margin-top: -20px;
        font-size: 14px;
    }
    .course_outline_label img {
    padding-right: 7px;
    padding-bottom: 7px;
    }
    .course_outline {
        gap: 25px;
        margin-top: 15px;
    }

    .course_name_premium::after {
        right: -100px;
        top: 200px;
        width: 80px;
        height: 80px;
    }
    .course_name_private::after {
        width: 100px;
        height: 100px;
        left: -110px;
    }

    .check{
        width: 13%;
    }
}

/* -- course_speaking --*/
/* ここからspeaking class */
/* <!-- speaking classの説明部分 --> */
.course_speaking {
    margin-bottom: 130px;
}
.speaking_class {
    text-align: center;
}
.speaking_class h3 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 18px;
}
.speaking_about {
    color: #476C8B;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 50px;
}
.course_speaking_inner {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    max-width: 720px;   /* ★ 1行が長くなりすぎないように */
    margin: 0 auto; 
}
/* <!-- speaking classの写真・ボタン部分 --> */
.course_speaking_visual {    
    position: relative;
    padding-top:90px; 
    padding-bottom: 180px;
}
.speaking_image img,
.speaking_image_sub img {
    display: block;
    width: 100%;
    height: auto;
}
.speaking_image {
    margin-left: 0;
    max-width: 440px; 
}
.speaking_image_sub {
    position: absolute;
    right: 30px;
    bottom: 0;
    width: 30%;
    max-width: 350px;
}
/* 装飾 */
.speaking_class {
    position: relative;
}
.speaking_class::after {
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    background: url("../image/speakingyerrow.png") no-repeat center / contain;
    top: -5px;
    right:  110px;
    z-index: -1;
}
.course_speaking_inner {
    position: relative;
}
.course_speaking_inner::before{
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    background: url("../image/speakingpink.png") no-repeat center / contain;
    top: -58px;
    left: -10px;
    z-index: -1;
}


/* 崩れ防止 */
@media screen and (max-width: 1060px) {

    .speaking_image_sub {
        width: 35%;
        right: -40px;
        bottom: 40px;
    }
    .speaking_class::after {
        width: 80px;
        height: 80px;
    }
    .course_speaking_inner::before {
        width: 80px;
        height: 80px;
    }
}
/* タブレット */
@media screen and (max-width: 768px){
    .course_speaking_visual {
        padding-bottom: 130px;
    }
    
    .course_speaking_inner {
        font-size: 16px;
    }
    
    .speaking_image {
        max-width: 330px;
        margin-top: -20px;
    }

    
    .speaking_image_sub {
        max-width: 180px;
    }

    /* タブレット */
    /* 装飾 */
    .course_speaking_inner::before {
        top: -50px;
        left: -20px;
    }
    .speaking_class::after {
        top: 20px;
        right: -55px;
    }
}




/* スマホ */
@media screen and (max-width: 440px){
    .speaking_class h3 {
            font-size: 26px;
    }
    .speaking_about {
            font-size: 12px;
            margin-bottom: 25px;
        }
    .course_speaking_inner p {
        font-size: 14px;
    }
    .course_speaking_visual {
        padding-bottom: 80px;
    }
    
    .course_speaking_inner {
        font-size: 16px;
        margin-bottom: 30px;
    }
    
    .speaking_image {
        max-width: 150px;
        margin-top: 10px;
        display: block;
    }

    
    .speaking_image_sub {
        position: absolute;
        right: 0;
        bottom: 100px;
        max-width: 350px;
    }
    /* 装飾 */
        .speaking_class::after {
        top: 0;
        right: 20px;
        width: 50px;
        height: 50px;
        left: 230px;
}
    .course_speaking_inner::before {
        top: -35px;
        width: 50px;
        height: 50px;
        left: -30px;
    }
}

/***************************************
ここからvoice_section
****************************************/
.section_voice {
    margin-bottom: 150px;
}
.section_voice .voice {
    margin-bottom: 44px;
    color: #809947;
}
.voice_list_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #393836;
    border-bottom: 1px solid #393836;
    padding: 55px 0 50px 0;
}
.voice_item {
    flex: 1;
    padding-right: 38px;
    padding-left: 25px;
    border-left: 1px solid #393836;
}
.voice_item:first-child {
    border: none;
}
.voice_text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    position: relative;
    z-index: 1;
}
.voice_text::after {
    content: "“";
    position: absolute;
    left: -15px;
    top: -70px;
    font-size: 96px;
    color: #809947;
    opacity: 0.7;
    font-family: "Noto Sans JP", sans-serif;
    z-index: -1;
}


/* 下のプロフィール＋写真部分 */
.voice_bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    
    gap: 73px;
}
.voice_meta {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}
.voice_photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin-top: 37px;
}

.voice_item:first-child {
    border-top: none;
}
.voice_item:last-child {
    border-bottom: none;
}

@media screen and (max-width: 768px){
    .voice_text {
        font-size: 16px;
    }
    .voice_meta {
        font-size: 16px;
    }
    .voice_bottom {
    gap: 5px;
}
}

/* スマホ */

/* スマホ */
@media screen and (max-width: 440px){
    .voice_text:nth-child(1), .voice_text:nth-child(3) {
        margin-bottom: 0;
    }

    .voice_list_list {
        display: block;
        padding: 24px 20px 32px; 
        border: none;
    }

    .voice_item {
        padding: 20px 0;
        border-left: none;          
        border-top: 1px solid #393836;
        display: flex;
        flex-direction: column;
    }

    
    .voice_item:first-child {
        border-top: 1px solid #393836;
    } 

    .voice_item:last-child {
        border-bottom: 1px solid #393836;
    }

    .voice_text {
        font-size: 16px;
        margin-bottom: 0;
    }

    /* ここを修正 👇 */
    .voice_item:first-child .voice_bottom {
        gap: 65px;
    }

    .voice_bottom {
        display: flex;
        align-items: center;
        justify-content: flex-start;  
        gap: 50px;                    
    }

    .voice_meta {
        margin-top: 120px;                
        white-space: nowrap;          /* 1行に収める */
        text-align: left;             
        
    }

    .voice_photo img {
        width: 150px;
        height: 150px;
        border-radius: 50%;
    }

}