@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* ボディ要素と基本設定-------------------------------------- */
body {
    font-family: "Arial","Noto Sans JP", sans-serif;
    font-feature-settings: "palt";
    line-height: 1.8;
    }
    iframe{margin-top:1em;width:100%;height: 420px;}
iframe.top{margin-top:1em;width:100%;height: 600px;margin-top:120px;}
img{max-width: 100%;image-rendering: -webkit-optimize-contrast;}
  p{font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;}
  .sp{display: none;}
  .sp900{display: none;}
  a {text-decoration: none ;}
  img.logo{width:80px;margin-left: 10px;vertical-align: middle;}
  img.title_h{max-width: 1000px;margin:0 auto;text-align: center;}
  h1{
    line-height: 1;
    font-weight: 800;
  }
  h1{font-size: calc(22px + 16 * (100vw - 768px)/1152);}  /* 768px-1920px */
  .t_text_graduates{font-size: calc(28px + 20 * (100vw - 768px)/1152);line-height: 1.2;} 

  h2{color: #161616;text-align: center;}
  ul {margin: 0;padding: 0;}
  li {list-style-type: none;}

  button, input, optgroup, select, textarea {
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    border-radius: 0;
    text-align: inherit;
}
*, ::before, ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}

/* ヘッダー-------------------------------------- */
header{
  width:100%;padding-top:0.5em;padding-bottom: 0em;background-color:rgba(255,255,255,0.95);position: fixed;z-index: 9999;top: 0;
}
.header_navi_wrapper{    padding: 1em 2em 1em 0;float: right;}
.header_navi{font-family: 'Noto Sans JP', sans-serif;color:#364069;font-weight: 700;}
.header_navi:hover{color:#5d6dad;}
.cta_fixed{position: fixed;right:0;bottom:0;width:400px;z-index: 9999;}

.arrow-bottom {
display: inline-block;
width: 0.5rem;
height: 0.5rem;
margin: 0 10px;
border-bottom: 0.18rem solid #838383;
border-right: 0.18rem solid #838383;
transform: rotate(45deg);
position: relative;
top: -0.2rem;
}

/*========= ナビゲーションのためのCSS ===============*/
header{
  height: auto;
}
#g_nav_list ul{
display: flex;
justify-content: space-between;
margin: 0 auto;
gap: 1.8em;
}
.header_inner{
  display: flex;
  justify-content: space-between;
  width: 95%;
  margin: 0 auto;
  align-items: center;
}
#g_nav_list ul li{
  display: block;
  width: auto;
  text-align: center;
  }
@media screen and (max-width: 1199px){
#g_nav_list ul{
    display: block;
    width: 100%;
    }
#g_nav{
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position:fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
top:0;
  right: -120%;
width:100%;
  height: 100vh;/*ナビの高さ*/
background:#fffffff6;
  /*動き*/
transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g_nav.panelactive{
  right: 0;
}

/*ナビゲーションの縦スクロール*/
#g_nav.panelactive #g_nav_list{
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999; 
  width: 100%;
  height: 100vh;/*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g_nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g_nav li{
list-style: none;
  text-align: center;
}

#g_nav li a{
color: #333;
text-decoration: none;
padding:10px;
display: block;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: bold;
}
#g_nav li a:hover{
  color: #5d6dad;
  }

/*========= ボタンのためのCSS ===============*/
.openbtn1{
position:relative;
  z-index: 9999;/*ボタンを最前面に*/
cursor: pointer;
  width: 50px;
  height:50px;
}

/*×に変化*/  
.openbtn1 span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
background-color: #666;
  width: 45%;
}

.openbtn1 span:nth-of-type(1) {
top:15px; 
}

.openbtn1 span:nth-of-type(2) {
top:23px;
}

.openbtn1 span:nth-of-type(3) {
top:31px;
}

.openbtn1.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
}
@media screen and (min-width: 1200px){
.openbtn1{
display: none;
  }
}

/*　左からスライド型のグローバルナビ　*/
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 3;
  box-shadow: 0 0 3px rgba(0,0,0,.3);
}
.l-header__inner {
  width: 92%;
  margin: 0 auto;
  padding: 10px 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
}
.l-header__logo {
  width: 60%;
}
.u-hover {
  transition: opacity .2s;
}
.l-header__nav {
  background-image: url(../images/bg_features_02.jpg);
  background-size: 60% auto;
  background-repeat: repeat;
  position: fixed;
  left: 0;
  top: 53px;
  z-index: 2;
  width: 100%;
  height: 100%;
  box-shadow: 0 -3px 3px rgba(0,0,0,.05);
  padding-top: 20px;
  display: none;
}


/*　ナビここまで　*/

/* フッター-------------------------------------- */

/* 背景 */
.bg_gray_position{background-color: #f2f2f2;height: 140px;position: relative;top: 33vw;z-index: -99;}
.bg_gray{background-color: #f2f2f2}
footer{width:100%;padding:0;text-align: center;}
footer .wrapper{display: flex;justify-content:space-around;}
footer .wrapper a{
    display: inline-block;
    color:lightslategray;
    font-family: tbudrgothic-std,sans-serif;
    font-weight: 400;
    font-style: normal;
}
.fooer_bg1{
  padding: 2rem 0;
}
.footer_bg2{
  padding: 0.5rem 0;
  background: #313c61;
}
.footer_bg2 p{
  margin: 0;
  padding: 0;
  color: #c4c7d4;
}
/* 個別の余白設定 */

/*　文字装飾　*/
.bold{font-weight: 900;}
.red{color:#bf161b;}
.dark_red{color:#ce4f5f;}
.gray{color:dimgray;}
.gray2{color: #424141;}
.white{color: #fff;}
.black{color:#161616;}
.blue{color:#313c61;}
.navy{color: #111d3b;}
.yellow{color: #fece29;}
.italic{font-style: oblique;}
.under{border-bottom: 2px dashed #bf161b;display: inline;line-height: 1.8;}
.y_marker{background:linear-gradient(transparent 60%, rgba(255,255,102) 60%);}
.marker{
  background: linear-gradient(transparent 75%, #ffce28 30%);
  font-weight: bold;
}
.bouten{-webkit-text-emphasis: filled circle #ffa243;text-emphasis: filled circle #ffa243;}
.fs60{font-size: 0.6em;}
.fs70{font-size: 0.7em;}
.fs80{font-size: 0.8em;}
.fs90{font-size: 0.9em;}
.fs110{font-size: 1.1em;}
.fs120{font-size: 1.2em;}
.fs130{font-size: 1.3em;}
.fs150{font-size: 1.5em;}
.fs180{font-size: 1.8em;}
.fs200{font-size: 2em;}
.fs250{font-size: 2.5em;}
.fs300{font-size: 3em;}
.fs400{font-size: 4em;}
.lh1{line-height: 1;}
.lh2{line-height: 2;}
p.right,h3.right{text-align: right;}
div.center,p.center,h3.center,h2.center{text-align: center;}
h3{font-size: 1.8em;text-align:center;font-weight: 800;}


.list_ttl_bg1{
  background: url(../img/list_bg1.jpg) no-repeat center / cover;
  color: #fff;
}
.list_ttl_bg2{
  background: url(../img/list_bg2.jpg) no-repeat center / cover;
}
.list_ttl_bg1,.list_ttl_bg2{
  text-align: center;
  padding: 3em 1em;
  margin: 3em 0;
}
.title_special01{font-size: 1.85em;margin-bottom:0;text-align: left;margin:0;letter-spacing: 0.06rem;}
.icon_special{
  display: inline-block;
  width: 35px;
  height: 30px;
  background: url(../img/check_blue.svg) no-repeat bottom;
  position: relative;
  top: 5px;
  margin-right: 0.8rem;
}
.img_white{filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);}
.img_yellow{filter: invert(81%) sepia(81%) saturate(633%) hue-rotate(359deg) brightness(106%) contrast(105%);}
.img_red {
  filter: invert(15%) sepia(95%) saturate(6932%) hue-rotate(358deg) brightness(75%) contrast(112%);
}
.img_gray {
  filter: invert(35%) sepia(0%) saturate(11%) hue-rotate(143deg) brightness(101%) contrast(93%);
}

.title_special02{font-size: 2em;margin-bottom:0;}
/* アイテム装飾 -------------------------------------- */
.shadow{box-shadow: 0 0 9px rgb(0 0 0 / 15%);}
.shadow_strong{box-shadow: 0.5rem 0.5rem 1.5rem rgb(0 0 0 / 15%);}
.radius_vw{border-radius: 0.8vw;}
.media_shadow{ box-shadow: 0 1px 9px rgb(0 0 0 / 10%);}
/* コンテンツ -------------------------------------- */
.recommend .flex_icon_reverse { width: 95%;}
.comparison_no{max-width: 120px;}
/* 特徴 */
.section_point{position: relative;}
.section_point .bg_gray{    padding-bottom: 5vw; padding-top: 6.5vw;}
.section_point .flex{ 
  text-align: center;
    gap: 1rem;
    max-width: 1080px;
}
.section_headline_inner img{width: 50vw;}
.wrapper{max-width: 1080px;margin:0 auto;}
.section_headline .wrapper{ padding:0.9rem;}
.section_bmp_move .wrapper{ max-width: 720px;}
.section_bmp_move {padding-top: 5vw;}

@media screen and (min-width: 768px){
#catch{
  background: url(../img/fv.jpg) no-repeat bottom center;
  width: 100%;
  text-align: center;
  padding-top: 1rem;
}
}
  #content1 .bg_lightgray{
    padding-top:3em;
    padding-bottom: 3em;
}
.t_contents {background-color: #f2f2f2; padding: 1em;text-align: center;  margin: 2em 0 1.5em;}
.t_contents p{font-weight: bold;text-align: center;line-height: 1.2;}
.t_contents .p_relative{position: relative;top:0;}
.t_contents_sub {background-color: #f2f2f2;padding: 20px;text-align: center;}
.img_center{text-align: center;}
.img_center .kyuugaku_posi{position: relative;top: 0.5vw;max-width:550px;}
.img_center .skill_evidence{max-width: 750px; margin-top: 1.8vw;}
.skill_after h3{margin: 0;}
.skill_after{padding: 3.5vw; padding-bottom: 0;}
.career_support p{margin:0.7rem 0;line-height:1.5;}
.career_support .flex{ padding:2rem 0;}
/* 三角付き */
.section_headline {
  background: #313c61;
}
.section_headline {
  padding: 2.3rem 1rem 1.55rem 1rem;
  position: relative;
  max-width: 100vw;
  color: #fff;
}
.section_headline h3{line-height: 2.2rem;}
.section_headline:before {
  position: absolute;
  display: block;
  content: "";
  width: 0;
  height: 0;
  left: 50%;
  border-style: solid;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  border-color: #313c61 transparent transparent transparent;
  bottom: -28px;
  border-width: 34px 42px 0 42px;
}
.curriculum_box .section_headline{ padding: 0;padding-top: 2.3rem;}
.curriculum_box .section_headline:before {  border-color: #f2f2f2 transparent transparent transparent;}
.contents_text{font-size: 1.1em; text-align: justify;}
.text_inner{ padding: 1.35rem;}
.full_img{ margin: 0 auto;}
.flex_icon_margin{margin: 2%;}
.flex_icon_margin .flex_icon img{margin: 6%;}
.flex_icon_margin p{margin-top: 0;margin-bottom: 0;}
.full_img .flex_icon p{font-size: calc(20px + 10 * (100vw - 1200px)/720); /* 768px-1920px */ color: #313c61; font-family: "Arial","Noto Sans JP", sans-serif;font-weight: 900;text-align: center;line-height: 1.85vw;margin-bottom: 1%;margin-top: 4%;}
.flex_icon_text{margin: 1% 0; text-align: justify; font-size: 17.5px;}
        /* 吹き出し下向き */
        .balloon2 {
          position: relative;
          display: inline-block;;
          padding:0 2.5vw;
          min-width: 120px;
          max-width: 100%;
          color: #555;
          background: #FFF;
          border: solid 3px #555;
          box-shadow: 4px 4px 0px 0px #555;
          box-sizing: border-box;
          text-align: justify;
          font-feature-settings: "palt" 1;
          border-radius: 10px;
          font-size: 80%;
        }
        
        .balloon2:before {
          content: "";
          position: absolute;
          bottom: -21px;
          left: 50%;
          margin-left: -15px;
          border: 12px solid transparent;
          border-top: 10px solid #FFF;
          z-index: 2;
        }
        
        .balloon2:after {
          content: "";
          position: absolute;
          bottom: -30px;
          left: 50%;
          margin-left: -17px;
          border: 14px solid transparent;
          border-top: 12px solid #555;
          z-index: 1;
        }
        
        .balloon2 h3 { margin: 0; padding: 0;}
        .section_bmp_move .bmp_move_title{font-size: 2.8em; margin:0.5%;}

/* カリキュラム */
.curriculum_box{margin-top: 3vw;}
.curriculum_box .cl_4_20 p ,.point_box .cl_4_20 p {margin: 2% 0;}
.curriculum_box .flex_item_48 p,.point_box .flex_item_48 p{text-align: center; margin: 1% 0 2% 0; line-height: 1.5;}
/* カリキュラムから特徴に変更追記 ↑ */

.curriculum_box .cl_4_20 strong ,.point_box .cl_4_20 strong{text-align: center;}
/* .flex_p_title{font-family: "Arial","Noto Sans JP", sans-serif; text-align: center;font-weight: bold;font-size: 20.5px;font-size: calc(16px + 4 * (100vw - 765px)/635);} */
.flex_p_title{font-weight: bold; text-align: center;font-size: 20.5px;font-size: calc(16px + 4 * (100vw - 765px)/635);}
.curriculum_box .comit_img{ width: 20vw;margin: 2vw auto 2.5vw;}
.t_contents h1{margin-bottom: 0px; margin-top:0;}
.curriculum_box .flex{margin-top:3vw}
.title_main_skill{padding-top: 3.2vw;}
/* カリキュラム ここまで*/

/* 理念 */
.difference{
  max-width: 500px;
  position: relative;
  top: -35px;
}
.mb-none{margin-bottom: 10px;}
.mt-none{
  margin-top: 0;
  font-size: 110%;
  margin-bottom: 2em;
  letter-spacing: 0.02rem;
}
.rinen{width: calc(240px + 210 * (100vw - 768px)/1152);position: relative;right: 2vw;}
.title_main_rinen{background-color: #f2f2f2;padding-top: 5vw;padding-bottom: 2.5vw; margin-bottom: 5vw ;}
.title_main_rinen .title_main_text_voice {margin: 0 auto;text-align: center; }

.gcbox {
  font-size: 80%;
  background-color: #313c61;
  color: #fff;
  font-weight: bold;
  padding: 0.3% 1%;
  margin: 5;
  margin-bottom: 50px;
  vertical-align: 1.5px;
}
.flex_item_48 h2{font-size: 20px;line-height: 1.5;margin: 1% 0 2.5% 0;}
.flex_item_48 p{margin-top: 0;}
.rinen_box .cl_4_20 p{margin: 2% 0;font-size: 85%; line-height: 1.95;}
.rinen_box .bg_gray h2{font-size: 1.25em;text-align: center;margin: 0 auto;}
.rinen_box .flex03 .item-image { margin: 1% 0;}
.rinen_box .bg_gray{padding: 1vw;}
.rinen_box .flex_item_40{margin: 1%;}
.rinen_box .flex{margin-top:3vw;margin-bottom: 2.5vw;}
.rinen_box{ margin-bottom: 1.5vw;}
.rinen_box.wrapper{ margin-top: 3.65vw;}
.rinen_box .flex_title {padding-top: 3vw; margin-top: 0;}
img.img_left{float:left;margin-right:15px;margin-top:0;}
/* 理念ここまで */
/* 比較 */
.title_h{max-width: 1080px;margin:0 auto;text-align: center;}
.paragraph_wrap{width:85%;margin: 0 auto;}
.paragraph_wrap img.img_right{float:right;width:30%;margin-left:15px;margin-top:0;}
.paragraph_wrap{width:85%;margin: 0 auto;}
.flex_item_29 img{margin: 0 2%;}
.comparison_box .comparison_list{max-width: 700px;}
.comparison_box .section_headline:before {  border-color: #f2f2f2 transparent transparent transparent;}
.comparison_box .section_headline {padding: 1.4rem 1rem 1.55rem 1rem;margin-bottom: 4vw;}
.comparison_inner{  padding-top: 4vw; padding-bottom: 1vw;
  }
  .right_img{
    float: right;
    width: 100%;
    max-width: 400px;
    margin-left: 20px;
  }
/* 比較ここまで */

/* 受講までの流れ */
.flow_wrapper{
  margin: 3vw auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.flow{text-align: center; margin: 0 0.5%;max-width: 30%;}
.flow_wrapper h3 {margin: 1% 0;line-height: 1.5; color: #313c61;}
.step{font-size: 1.6em;color: #313c61;}
.flow_wrapper p{ text-align: justify; margin: 3% 0;font-size: 0.9em;line-height: 1.5;}
.flow_wrapper .fs08 , .pay_box .fs08{font-size: 0.82em;}
.arrow_margin {margin: 0 4px;}
.arrow{width:20px;margin-top: 145px;}
/* 受講までの流れここまで */
/* 料金 */
img.card{width: 50%;margin: 0 auto;}


.pay{  max-width: 570px;}
.pay_box {margin-bottom: 5vw;}
.bmp_pay_box{
  border: solid 1px #d7d8d8;
  box-sizing: border-box;
}
.bmp_pay_box .inner{
  padding: 3em 4em;
  background: #f8f8f8;
}
.bmp_pay_box h1{
  background:#686d7f;
  margin: 0 auto;
  color: #fff;
  font-size: 1.6em;
  padding: 1rem;
  text-align: center;
  font-weight: 700;
}
.pay_contents{
  background-color: #959595;
  padding: 15px 15px 0;
  max-width: 965px;
  position: relative;
}
/* 料金ここまで */
/* 特典 */
.special_box .flex{justify-content: space-evenly; align-items: center;}
.special_box .flex_icon_reverse{justify-content: flex-start; margin: 5% 0;}
.special_box .icon_text{width: 85%;}
.special_title {text-align: center; width: 28vw;}
.special_box .section_headline{margin-bottom: 4vw;}
.special_box {margin-bottom: 1.5vw;}
.note{font-size:80%;}
.img_special{max-width: 450px;}
/* 特典ここまで */
/* Q&A */
div.qanda{margin: 2.8em 0;}
div.qanda{margin: 2.8em 0;}
p.q_text{font-size: 1.2em; line-height: 40px;font-weight: 900;padding-left:2.7em;
    text-indent:-2.7em;}
p.a_text{font-size:1em;
    margin-top: 1.8em;
    padding-left:3.2em;
    text-indent:-3.2em;
    line-height: 2;
}
p span.q_icon{
    background: dimgray;
    padding:5px 12px;
    font-size: 24px;
    /* border-radius: 10px; */
    color:#fff;
    margin-right:10px;
    line-height: 1em;
    font-weight: 900;
}
p span.a_icon{
    background: #364069;
    padding:5px 12px;
    font-size: 24px;
    /* border-radius: 10px; */
    color:#fff;
    margin-right:10px;
    line-height: 1em;
    font-weight: 900;
}
/* Q&Aここまで */
/* コンテンツ flex -------------------------------------- */
.flex{display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex .cl_3_30{width:30%;}
.flex_item_26{width: 26%;margin: 1%}
.flex_item_25{width: 25%; margin: 0 1.2vw}
.flex .cl_4_20{width:23%;}
.flex_item_29{width:29%}
.full_img .cl_4_20{width:21%;}
.flex_item_31{width: 31.8%;}
.flex_item_35{width: 35%;}
.flex_item_40{width: 40%;}
.flex_item_45{width: 45%;}
.flex_item_48{width: 48%; margin:2% 0}
.flex_item_50{width: 50%;}
.flex_item_65{width: 65%;}
.flex_skill{width: 85%; display: flex; margin-top: 3vw; margin: 0 auto; margin-top: 4vw;justify-content: center;}
.flex_skill .flex_item_48{margin: 1%;}

.flex_item_45{
  width: 49.5%;
}
/* flex 付属 -------------------------------------- */
.flex_reverse {flex-direction: row-reverse!important; }
.fleX_column{flex-direction: column!important;}
.flex_jus_evenly{justify-content: space-evenly!important;}
.flex_jus_center{justify-content: center!important;}
.flex_jus_start{justify-content: flex-start!important;}
.flex_end {justify-content: flex-end!important;}
.flex_align_center {align-items: center!important;}

.flex03 {display: flex;flex-wrap: wrap;justify-content: center;align-items: center;text-align: center;}
.flex_g3{
  justify-content:space-between;
  padding:3em 0;
}
.flex03 .flexitem {display: flex;flex-direction: column;width: 50%;}

.flex03 .flex_media-1 {display: flex;flex-direction: column;width: 100%;}

.flex03 .item-image {min-height: 0%;margin:0 0.8em 1em 0.8em;
}
.flex03 .item-image img {width: 100%;height: auto;vertical-align: bottomzo;
  
}
/* 動画 */

#product_movie .youtubebox iframe {

  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.move{
  position:relative;
  width:100%;
  padding-top:56.25%;
  }
  .move iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
  border-radius: 32px;
  box-shadow: 8px 8px 9px rgb(0 0 0 / 15%);
}

/* 見出しタイトル -------------------------------------- */

.intro_cta p{
  font-size: 1.5em;
  font-weight: bold;
  margin: 0;
}
.intro_cta hr{
  margin-top: 2.5em;
  border: 0.5px solid #e9e9e9;
}
.intro_cta h4{
  text-align: center;
  font-size: 2.5em;
  font-weight: 700;
  padding-top: 1rem;
  margin: 0;
  margin-top: 1em;
  position: relative;
  line-height: 1.3;
  margin-bottom: 20px;
}
.intro_cta h4::after{
  content: '';
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-top: 20px solid #ea4b4b;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
}
.intro_cta .flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
}

.intro_cta .challenge_img{
  display: block;
  height: auto;
  border-radius: 1rem;
  overflow: hidden;
  max-width: 350px;
  object-fit: cover;
  width: 100%;
  height: 25rem;
  object-fit: cover;
  filter: drop-shadow(5px 5px 5px #aaa);
}
.intro_cta .challenge_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.intro_cta .marker{
  background: linear-gradient(transparent 85%, #ffce28 30%);
  font-weight: inherit;
}

.ingro_img_pc{
  display: block;
  margin: 0 auto;
}
.ingro_img_sp{display: none;}


.intro_bg{
  background: url(../img/intro_list_bg.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  text-align: center;
  padding: 3.25rem 1rem;
}
.intro_bg .absolute{
  position: absolute;
  top: 83%;
  left: 81%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 60%;
  max-width: 530px;
  height: auto;
}

@media screen and (max-width: 480px){
.ingro_img_pc , .intro_bg ,.intro_bg .absolute{display: none;}
.ingro_img_sp{display: block;}
}

.intro{padding-top:6vw}
/* 見出しタイトル付属 */
.pleft5v{padding-left: 5vw;}
.pleft3v{padding-left: 3.5vw;}

.img_radius_right{    border-radius: 0 24px 24px 0;}
.img_radius_left{    border-radius: 24px 0  0 24px;}
.shadow_right {box-shadow: 6px 9px 15px 0 rgb(0 0 0 / 20%);}
.shadow_left {box-shadow: -6px 9px 15px 0 rgb(0 0 0 / 20%);}


.flex_title {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    /* padding:0 0.1em 0 0.1em; */
    margin-top: 180px;
    background-color: #f2f2f2;

}
.flex_title .flexitem {display: flex;flex-direction: column;width: 48.5%;}
.t_img_position{ position: relative;top: -75px;}
.title_main_afterbox .t_img_position , .title_main_afterbox2 .t_img_position{ position: relative;top: -15vw;}
.t_text_position{width: 40%;position: relative;top: 150px;left: 54%;text-align: center;}
.title_main_afterbox .t_text_position{width: 42%;position: relative;top: 165px;left: 48.5%;text-align: center;}
.t_text_reverse{position: relative;top: 150px;right: 21%;text-align: center;}
.title_sub{ font-size: 80%;line-height: 1.5;color: #2c2c2c;}
.title_sub_after{ font-size: 85%;line-height: 1.3;color: #2c2c2c;}
.flex_inner p{width: 49%;}
.fit{object-fit: cover;object-position: 0 100%}
/* .fit{height: 420px;object-fit: cover;object-position: 0 100%} */
.flex_item_35 .fit{width: 100%;height: 450px;object-fit: cover;object-position: 50% 50%;}
.flex_icon{display: flex;justify-content: center;}
.flex_icon_reverse{display: flex;justify-content: center;}
.icon{ width: calc(22px + 15 * (100vw - 768px)/1152);margin-top: 2.5%;}
.icon_text{ width: 85%;font-size: calc(17px + 9 * (100vw - 768px)/1152); padding-left: 15px;margin: 3% 0;line-height: 1.2;}

.title_main_text{margin: 0 10% 2% 17%;}
.title_main_text_voice {margin: 0 auto;}
.flexitem_inner{padding: 4% 0 4% 5%;width: 55%!important;}
.after_no{max-width: 17vw;position: relative;left: -2vw;margin-bottom: 1.5%;}
.title_main_afterbox{  margin-top: -6.8vw;}
.title_main_afterbox2.flex_title {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0.1em 0 0.1em;
  margin-top: 180px;
  background-color: #f2f2f2;
  flex-direction: row-reverse;
}

.title_main_afterbox2{margin-top: -5vw;}
.title_main_graduates{margin-top: -2vw; margin-bottom: 3vw;}

.title_main_skill .flex_title{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between; background-color: #f2f2f2;align-content: flex-start;padding: 3vw 0;    margin-top: 0;}
.title_main_skill .flex_title .list_item{padding: 1vw 2.5vw 1vw 0}
.t_contents h1{text-align: center;}

.tokuten{
  display: flex;
  margin: 4em 0;
}
.tokuten_left ,.tokuten_right{
  flex: 1;
}
.tokuten_left{
  max-width: 57%;
}
.tokuten_right {
  max-width: 42.15%;
}
.kiyaku {
  overflow-y: scroll;
  margin: 0 auto;
  height: 100px;
  max-width: 700px;
  width: fit-content;
  padding: 1em;
  font-size: 13px;
  color: #888;
  margin-top: 10px;
  margin-bottom: 2%;
  border-radius: 3px;
  position: relative;
  left: -1%;
  line-height: 1.7;
  letter-spacing: 0.01rem;
  text-align: left;
}
.kiyaku dt {
  text-align: center;
}
.kiyaku dd {
  margin: 0;
}
.table_form{
  margin: 0 auto;
  width: 100%;
}

.table_form{
  margin: 0 auto;
  width: 100%;
}
.form_info{
  padding: 1em 2em;
  border: solid #eedfdf8a 3px;
  text-align: justify;
  max-width: 965px;
  margin: 0.8em auto 0;
  box-sizing: border-box;
  width: 97%;
}
.form_info2 {
  padding: 1em 2em;
  border: solid #eedfdf8a 3px;
  text-align: justify;
  margin: 0.8em auto 0;
  box-sizing: border-box;
  width: 98%;
  max-width: 100%;
}
.form_info p{
  line-height: 1.2;
}
.form_info p b{
  margin-bottom: 0.4em;
  display: block;
  color: #473f3f;
  letter-spacing: 0.05rem;
  padding-bottom: 0.25em;
  text-align: center;
}
.form_info p span{
  font-size: 0.8em;
  color: #3f3f3f;
  display: table;
  margin: 0 auto;
}
@media screen and (min-width: 768px){
  .form_cta .table_form{
    width: 90%;
  }
  }

.form {
  display: block;
  background-color: #f7eded;
  text-align: center;
  margin: 0 auto;
}
.form .wrapper{
  padding: 2em 0 2em;
}

.form .day ,.form_cta .day{
  margin-bottom: 0;
  font-size: 1.8em;
  font-weight: 700;
  letter-spacing: 0.06rem;
  text-align: center;
}
.form input {
  background-color: #fff;
  border-radius: 5px;
  border: solid 2px #ea4b4b;
  height: 70px;
  margin: 1rem auto;
  text-align: center;
}
.form input[type="text"]{
  width: 100%;
  line-height: 2;
}
.form input.btn {
  width: 100%;
  border: none;
  background: url(../img/btn.png) center top no-repeat;
  background-position: center;
  background-size: 70%;
  transition: all 0.3s;
  background-color: #ea4b4b;
  border-radius: 4px;
  color: aliceblue;
  box-shadow: 0 6px 0 #b01e1e, 0 12px 0 rgba(0, 0, 0, 0.2);
  height: 100px;
}
.form input.btn:hover {
  background-color: #ed1818;
  box-shadow: 0 3px 0 #9b1919, 0 6px 0px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
}

/* ボタン、CTA-------------------------------------- */

.cta {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url(../img/zoom_caputure.jpg);
  padding: 3% auto;
  text-align: center;
  position: relative;
  z-index: 99;
}
  .cta_innner{    max-width: 1080px;margin: 0 auto;padding: 4.5vw 0;}
  .cta_innner img{text-align: center;margin:0 auto}
  .cta_btn_line{
    display: block;
    width:30%;
    margin: 0 auto 1em;
    color:#fff;
    font-size: 1.2em;
    font-weight: bold;
    padding:10px;
    background:#19CC62;
    text-decoration: none;
    border-radius: 5px;
    text-shadow:0 1px #1a6ea0;
    font-weight: 700;
    font-style: normal;
    text-align: center;
    position: relative;
    z-index: 99;
}
.cta_btn_line:hover{
    background: #5acc87;
}
.cta_innner .line_btn{
  background: #4cc764;
  max-width: 280px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border-radius: 50em;
  border: solid 1px #7adb8d;
  box-sizing: border-box;
  margin-top: 1rem;
}
.cta_innner .line_btn:hover{
  background: #1fcd66;
  opacity: 0.9;
}
.cta_innner .line_btn img{
  max-height: 40px;
  display: inline-block;
  vertical-align: middle;
}
.cta_innner .line_btn a{
  display: block;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.05rem;
}
.example4 {/* cta用のポジション設定 */
  position: relative;
}

.example4 img {
  width: 100%;
  height: auto;
}

.cta_posi {
  position: absolute;
  left: 0;
  top: 0;
}
.cta_last{
  background-image: url(../img/cta_counseling_bg.jpg);
  background-repeat: no-repeat;
  background-position: top center;
  text-align: center;
  position: relative;
  margin-top: 5vw;
}
.cta_last .wrapper {
  max-width: 1135px;
  margin: 0 auto;
}
.form_cta {
  background: linear-gradient(rgb(29 35 57 / 98%), rgba(0, 0, 0, 0.8)), url(../img/zoom_caputure.jpg);
  padding: 4% 0;
  text-align: center;
}
@media screen and (min-width: 768px){
  .cta_last .wrapper {
padding:0 2.5%;
  }
  .cta_last img{
    position: relative;
    top: 3em;
  }
}

.cta_last_inner{
  max-width: 1135px;
  margin: 0 auto;
  padding-top: 6.5vw;
  padding-bottom: 4em;
}
@media screen and (max-width: 950px){
.cta_last_inner {
  position: relative;
  top: 3vw;
}
}
.cta_last_inner .white_box{
  max-width: 480px;
  border: solid 1px #fff;
  background-color: #ffffff8f;
  padding: 2% 2.5%;
  text-align: justify;
  width: 50%;
}
.cta_last_inner .white_box p{
  margin: 0;
  font-size: 17px;
}
/* エフェクト */
.cta_btn:hover { opacity: 0.9; filter: brightness(1.3); }
a.btn_graduates {
    display: flex;
    align-items: center;
    max-width: 400px;
    margin: 0 auto;
    padding: 1rem 6.2rem 1rem 6rem;
    border: 2px solid #313c61;
    background: #fff;
    color: #313c61;
    text-decoration: none;
    transition: 0.3s;
    margin-top: 30px;
  }
  .flex_media-1 a.btn_graduates, .flex03 a.btn_graduates{margin-top: 0; margin-bottom: 2.5vw;border: 1px solid #313c61;}
  .flex_item_48 a.btn_graduates, .flex_item_40 a.btn_graduates, .btn-blue a.btn_graduates{ padding:0.6rem 3rem 0.6rem 3.6rem;border: none;background: #313c61;color: #fff;font-size: 0.9em; margin-top: 0.8rem;}
  a.btn_graduates:hover {background-color: #313c61; color:#fff;}
  .flex_item_48 a.btn_graduates:hover , .flex_item_40 a.btn_graduates:hover, .btn-blue a.btn_graduates:hover {background-color: #fff; color:#313c61;border: 1px solid #313c61;}
  a.btn_graduates .b__text {
    display: block;
    flex-grow: 1;
    font-weight: bold;
    text-align: center;
    position: relative;
    padding-right: 15px;
  }
  .flex_item_48 a.btn_graduates .b__text , .flex_item_40 a.btn_graduates .b__text, .btn-blue a.btn_graduates .b__text{font-weight: normal;  }
  a.btn_graduates .b__text::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -12px;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid #313c61;
    border-right: 3px solid #313c61;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    transition: 0.3s;
  }
  .flex_item_48 a.btn_graduates .b__text::after , .flex_item_40 a.btn_graduates .b__text::after, .btn-blue a.btn_graduates .b__text::after{ border-top: 2px solid #fff; border-right: 2px solid #fff;  width: 12px; height: 12px;}
  a.btn_graduates:hover  .b__text::after{border-top: 3px solid #fff; border-right: 3px solid #fff;}
  @media (max-width: 1900px) {
  .bg_gray_position{position: relative;top: 35vw;}
  }
  @media (max-width: 1400px) {
  .flex_skill{width: 98%;}
  }
  @media (max-width: 1200px) {
    a.btn_graduates .b__text {
      font-size: 0.9rem;
      padding-right: 20px;
      line-height: 1.5;
    }
    .flex_item_48 a.btn_graduates .b__text {
      font-size: 14px;
    }
    a.btn_graduates .b__text::after {
      width: 12px;
      height: 12px;
    }
    .flex_item_26 {
      width: 45%;
      margin: 1.5%;
  }
}
  /* @media (max-width: 100px) {
.sp900{display: block;}
.flex_skill {display: none;}
    } */


  /* @media (max-width: 736px) { */
    @media (max-width: 768px) {
    a.btn_graduates .b__text {
      font-size: 14px;
      padding-right: 20px;
    }
    .flex_item_48 a.btn_graduates .b__text , .flex_item_40 a.btn_graduates.b__text, .btn-blue a.btn_graduates.b__text{
      font-size: 13px;
    }
    .flex_item_40 a.btn_graduates, .btn-blue a.btn_graduates{ padding: 0.6rem 5rem 0.6rem 4.5rem;}
    a.btn_graduates .b__text::after {
      width: 10px;
      height: 10px;
    }
    .flex_item_48 a.btn_graduates, .flex_item_40 a.btn_graduates, .btn-blue a.btn_graduates {
      margin-top: 0.2rem;
      margin-bottom: 4em;
  }
  }

/* @media screen and (max-width:700px) { */
  @media screen and (max-width:768px) {
    body{ margin: 0;}
    .sp{display: block;}
    .pc{display: none;}
    .sp900{display: none;}
    .img_radius_left ,.shadow_right{box-shadow: none;}
    .img_radius_right,.img_radius_left{border-radius: 0;}
    .cta_innner {
      max-width: 90%;
      margin: 0 auto;
      padding: 2em 0;
  }
  .form_cta {
    padding: 0;
}
      .cta_btn_line{
    width:65%;
    font-size: 1em; margin-top: 0.8em;}
    .cta_fixed{display: none;}
.cta_fixed_sp{position:fixed;width:100%;bottom:62px;z-index: 9999;}

.right_img{
  float: none;
  margin: 0 auto;
  display: block;
  margin-bottom: 1em;
}
.list_ttl_bg1, .list_ttl_bg2 {
  margin: 3em 0;
}
footer .wrapper{display: block;text-align: center;}
footer .wrapper a{display: block;}

    .section_bmp_move{ margin-top: 4em;margin-bottom: 3em;}
    .section_bmp_move .bmp_move_title {font-size: 2.3em;}
    .move iframe{ border-radius: 16px;box-shadow: 4px 4px 6px rgb(0 0 0 / 15%);}
/* フォント系 */
    h1{font-size: 1.8em;line-height: 1.3;}
    h3 {font-size: 1.35em;line-height: 1.4;}
    .title_special01{
      font-size: 1.25em;
      text-indent: -2em;
      padding-left: 2.1em;
      margin-bottom: 0.5rem;
    }
    .title_special02{font-size: 1.5em;}
    p{text-align: justify;}
    .point_box p,.curriculum_box p, .rinen_box p,
    .comparison_box p, .special_box p{font-size: 17.2px;line-height: 2;}  /* sp版p一括設定 */
    .curriculum_box .flex_item_48 p, .point_box .flex_item_48 p {font-size: 16px;line-height: 1.8; text-align: justify;}
    .curriculum_box .cl_4_20 p ,.point_box{font-size: 14px;line-height: 1.8;}
    .curriculum_box .flex_item_48 .flex_p_title .cl_4_20 ,.point_box .flex_item_48 .flex_p_title{font-size: 20px;}
    .point_box .center p{font-size: 13px; margin: 1em;}
    .career_support .flex{ padding: 1rem 0 2rem 0;}
    .career_support .flex_item_65 p, .rinen_box .t_contents_sub{font-size: 16px; margin-top: 2em; margin-bottom: 2em;}
    .point_box .cl_3_30 p{margin: 0.5em 0 2em 0;}
    .special_box p{text-align: center;}
    .flex_p_title {font-size: 20px;}
    .t_contents p{margin:0.1rem 0;line-height: 1.35;}

    /* 余白 */
    .pleft5v{padding-top: 7vw;padding-left: 0.5em;}
    .special_box p{margin-top: 1%;}
    .special_box .note{text-align: justify; font-size: 13px;}
    .special_box h3{margin-bottom: 2%;}
    a.btn_graduates {padding: 1.2rem 3.2rem 1.2rem 3rem;}
    .pay_box p{text-align: center;}
    .flex .matka02{text-align: center;}
    .curriculum_box .flex{ margin-top: 1em;}
    .curriculum_box .flex_title{margin-bottom: 1.5em;}
    .curriculum_box .flex_item_48,.point_box .flex_item_48 {margin-bottom: 2.5em;}
    .flow .flex_p_title { font-size: 23px;}
    .rinen_box .title_main{margin-bottom: 3em;}
    /* a.btn_graduates .b__text {font-size: 16px; } */
    .rinen_box .cl_4_20 p {  margin: 6% 0;}
    .title_main_rinen{ margin-bottom: 3em;}
    .comparison_box .title_sub{font-size: 65%; }
    .comparison_box .section_headline{padding: 0.5rem 1rem 1.55rem 1rem;margin-top: 2.5em;margin-bottom: 4em;}
    .comparison_box h2{ line-height: 1.5;}
    .comparison_inner{padding-top: 2.1em;}
    .skill_after{padding:0; }
    .title_main_graduates{ margin-bottom: 2em;}
/* 画像サイズ系 */
    .img_special{width: 100%;}
    .pay { max-width: 90%; }
    .bg_gray_position {
      height: 60px;
      position: relative;
      top: 33vw;
      
  }
  .comparison_no{max-width: 100px;}

  .flex_item_35 .fit{height: auto;}
  .section_headline_inner img {  width: 100%;}
  .section_headline{ padding: 1.5rem 1rem 1.55rem 1rem;}
  .special_box .section_headline {padding: 1.5rem 1rem 1rem 1rem;margin-bottom: 3em;}
  .section_headline .wrapper ,.text_inner{padding: 0;}
  .section_point .flex_icon_margin .flex_icon img {margin: 8% 8% 2% 8%;  width: 70%;}
.section_point .full_img .flex_icon p { font-size: 25px;line-height: 1.5;}
.flow{margin: 1% 0;max-width: 100%;}

.tokuten {
  display: block;
  margin: 2em auto;
  text-align: center;
}
.tokuten_left ,.tokuten_right{
max-width: 100%;
}
/* ヘッダー-------------------------------------- */
    header .header a.header_right{
        font-size: 1em;
    }
    .wrapper{width:94%;margin: 0 auto;}
    .cta_last .wrapper {
      width: 100%;
  }
  .cta_last {
    background-color: none;
    background-image: none;
  }
  .cta_last_inner {
    padding-top: 4.5vw;
    padding-bottom: 3em;
}
  .cta_last_inner .white_box {
    padding: 0;
    width: 90%;
    margin: 0 auto;
}
.cta_last_inner .white_box p {
  padding: 5%;
}
    .header_navi_wrapper_sp{display:flex;width: 100%;background: #364069;z-index: 9999;position: fixed;bottom: 0;}
    .header_navi_wrapper_sp .border_r{border-right: 1px lightgray dotted}
    .header_navi_wrapper_sp .header_navi{width: 100%; font-size:11px;text-align: center;vertical-align: middle;margin:0px auto;}
    .header_navi_wrapper_sp .header_navi p{color:#fff;font-weight: 200;margin-top:10px;margin-bottom:10px;text-align: center;line-height: 1.6;}
    .header_navi_wrapper_sp .header_navi img{width: 20px;}
    .header_navi_wrapper_sp .header_navi:hover{color:#eee;}
    header .header p.header_center{
        margin:0 auto;
        text-align: center;
        width: 100%;
        font-size: 2em;
    }
    img.logo{width:40px;margin-left: 0px;vertical-align: middle;}
    .cta_fixed{display: none;}
    .cta_fixed_sp{position:fixed;width:100%;z-index: 9999;}
    .full_img,.img_center,.img_center .skill_evidence,.comparison_box .comparison_list{width: 100%;}
    .kyuugaku_posi{width: 85%;}
    .curriculum_box .comit_img { width: 35vw;}
    /* 見出しflex-------------------------------------- */
   
    .flex_title .flexitem,.title_main_afterbox .t_text_position { width: 100%;}
    .flex_title { margin-top: 0;}
    .t_img_position,.title_main_afterbox .t_text_position,.t_text_reverse,
    .title_main_afterbox .t_img_position,.title_main_afterbox2 .t_img_position,
    .t_text_reverse,.t_text_position ,.after_no { position: static;}
    .special_title {width: 60vw;  }
    /* flex-------------------------------------- */
    .flex ,.flex_skill ,.flex_title{display: block;}
    .flex_skill{width: 95%;}
    .flex_sp{display: flex;}

    .flex .cl_3_30,.flex .cl_4_20,.flex_item_29,.full_img .cl_4_20,
    .flex_item_40,.flex_item_45,.flex_item_48,.flex_item_50,.flex_item_65, .flex_item_31
    ,.flex_item_60, .flex_item_35 ,.title_main_afterbox .flex_item_35 ,.rinen_box .flex_title {width: 100%;}/* flex一括設定 */

    .title_main_afterbox2 .flex_title{display: flex;}

    .section_point .flex_sp .cl_4_20{width: 45%;}
    .curriculum_box .flex_sp .cl_3_30{width: 34%;}
    .curriculum_box .flex_sp .flex_item_50{width: 64%;}
    .curriculum_box .flex_sp .cl_4_20{width: 48%;font-size: 14px}
    .rinen_box .flex_sp .cl_4_20{width: 47%; font-size: 95%; line-height: 1.7; margin-bottom: 2.5em;}
    .flexitem_inner {width: 95%!important; padding:0; margin: 0 auto;}
    .flex03 .item-image{margin: 3% 0;}

    .matka_logo{width:180px;}

    .flow_wrapper{flex-direction: column;}
    .flow_wrapper p{font-size: 1.05em;}
    .paragraph_wrap{width:100%;margin: 0 auto;}
    .paragraph_wrap img.img_right{display: block;width:100%;margin-left:0px;margin-bottom:1.2em; }
    img.img_left{width: 25%;}
    .paragraph{margin-bottom:2.5em;}
    .flex03 {
      flex-direction: column;
      }
      .flex03 .flexitem {
      width: 100%;
      }
      .flex03 .flexitem {
          width: 100%;
          }
          .flex_item_26 {
            width: 100%;
            margin: 5% 0;
        }

        .difference{
          top: -10px;
        }
        .mt-none{    margin-top: 15px;
          text-align: left!important;}
          /* 特徴 */
          .radius_vw { border-radius: 2.2vw;}

.flex_item_31 { margin: 3vw 0;}

.bg_gray_position{display: none;}

.section_point{position: static;}

.section_point .flex{padding-bottom: 9vw;}

.section_point .flex{width: 88%;}

.point_box{margin-top: 15vw;}
.pay_box .flex_item_45{margin: 0;}
.pay_contents {
  padding: 15px 40px 0;
  top: 0;
}
.mb-none{ margin-top: 2rem;}
/* 特徴support */
.after_no {
  max-width: 35vw;
  padding-right: 4%;
}


.title_main_afterbox2 {
  margin-top: 10vw;
}

.title_sub_after {
  font-size: 75%;
  line-height: 1.6rem;
  display: inline-block;
}

.point_box .t_text_reverse {margin-top: 18vw;}

/* 卒業生の声 */
.after_no {
  max-width: 35vw;
  padding-right: 4%;
}


.title_main_afterbox2 {
  margin-top: 10vw;
}

.title_sub_after {
  font-size: 73%;
  line-height: 1.6rem;
  display: inline-block;
}

.point_box .t_text_reverse {margin-top: 18vw;}

/* 画像対応 */
.sp_imgstyle{padding-top: 2em; padding-bottom: 5em;background-color: #f2f2f2;}
.recommend .flex_icon_reverse { width: 100%;}
      }


/* 卒業生の声CSS */
.bg_lightgray{
  background-color: #f2f2f2;
}
/*　マージン　*/
.mb0{margin-bottom: 0;}
.mt1em{margin-top:1em;}
.mb1em{margin-bottom:1em;}
.mt2em{margin-top:2em;}
.mb2em{margin-bottom:2em;}
.mt4em{margin-top:4em;}
.mb4em{margin-bottom:4em;}
.pconly_mr1em{margin-right: 1em;}
.mt80{margin-top: 80px;}

/*　パディング　*/
.pt1em{padding-top:1em;}
.pb1em{padding-bottom:1em;}
.pt2em{padding-top:2em;}
.pb2em{padding-bottom:2em;}
.pt4em{padding-top:4em;}
.pb4em{padding-bottom:4em;}

#content2 .wrapper, #content4 .wrapper {
  padding-top: 3em;
  padding-bottom: 3em;
}
#content2 .wrapper {
  padding-bottom: 1em;
}
div.wrapper .graduates_flex p.cap{color:gray;font-size:1em;font-weight:normal;}
.graduates_flex{width:49%;flex-shrink: 0;flex-basis:auto;margin-top:1em;}
div.wrapper .graduates_flex p{display: block;text-align: center;margin-bottom:0;color:#364069;font-size:1.5em;font-weight:bold;}
.graduates_flex iframe{height:310px}

img.graduates_title_h{max-width: 1000px;margin:3em auto 0;text-align: center;}

.cat_fixed{font-size:1.2em;z-index:999;position:fixed;top:75px;right:0;left:0;margin:15px;}
.graduates_flex{width:49%;flex-shrink: 0;flex-basis:auto;margin-top:1em;}
div.wrapper .graduates_flex p{display: block;text-align: center;margin-bottom:0;color:#364069;font-size:1.5em;font-weight:bold;}
.graduates_flex iframe{height:310px}
.graduates_cat_flex{float:right;}
.graduates_cat_flex .graduates_cat_item{display: inline-block;}
.graduates_cat_flex .graduates_cat_item a{color:dimgray;background:rgba(255,255,255,0.8);border:1px solid dimgrey;padding:10px 15px;}
.graduates_cat_flex .graduates_cat_item a:hover{background:dimgrey;color:#fff;}
a.anchor {
    display: block;
    padding-top: 30px;
    margin-top: -30px;
}
h2.cat{font-size:1.6em;width:70%;margin:2.5em auto 1em;background:#205899;color:#fff;text-align:center;border-radius:50px;padding:15px;}
a.voice_link{display: block; width:100%;background:#364069;color: #fff;padding-top:10px;padding-bottom: 10px;text-align: center;}
a.voice_link:hover{opacity: 0.8;}

#content4 p {font-size: 1.08em;text-align: center;margin:1.3em auto;line-height: 2;}

.btn_gimg:hover{
  opacity:.6
}
.w130btn a{ max-width: 130px;margin-top:1.5em!important;}
@media screen and (max-width:700px) {
  #content2 .wrapper,#content4 .wrapper{
    padding-top:1em;
    padding-bottom: 1em;
}

  .graduates_flex{width:100%;flex-shrink: 0;flex-basis:auto;}
  div.wrapper .graduates_flex p{display: block;text-align: center;margin-bottom:0;color:#364069;font-size:1.2em;font-weight:bold;}
.graduates_flex iframe{height:220px}

img.graduates_title_h{margin:4em auto 0;}

.cat_fixed{font-size:0.8em;z-index:999;top:40px;right:0;left:0;margin:15px auto;}
.graduates_cat_flex{display:flex;justify-content:space-around;}
.graduates_cat_item{margin-right:1em;}
.graduates_cat_flex .graduates_cat_item a{padding:8px;}
img.graduates_title_h{margin:4em auto 0;}
h2.cat{font-size:1.1em;width:90%;margin:1.5em auto 1em;background:#205899;color:#fff;text-align:center;border-radius:50px;padding:px;}

}

/* スクロール */

.loop_inner{margin:0.5rem 0 2rem 0;}
.loop_wrap {
  display: flex;

  overflow: hidden;
}

.loop_wrap img {
  width: 100vw;
  height: 100%;
}
@keyframes loop {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
.loop_wrap img:first-child {
  animation: loop 120s -100s linear infinite;
}

.loop_wrap img:last-child {
  animation: loop2 120s -40s linear infinite;
}

@media screen and (max-width: 700px){
iframe.top {
    height: 260px;
}
}
.kumamoto_logo{
  text-align: center;
  margin-top: 6.5vw;
}
@media screen and (max-width: 768px){
  .kumamoto_logo{
    width: 150px;
    margin: 0 auto;
    position: relative;
    left: -5px;
    margin-top: 3rem;
  }
  .kumamoto_margin{
    margin-top: 1em !important;
  }
  .w130btn a{ max-width: 100%;}
  }


  .full{max-width: 1650px;margin: 0 auto;}
  .voice_5day .flex_li{
    display: flex;
    gap: 1.5em 0.5rem;
    flex-wrap: wrap;
    flex-direction: row;
}
.voice_5day .flex_li li{
  width: 30.5%;
  box-shadow: 0.5rem 0.5rem 1.5rem rgb(0 0 0 / 15%);
  border: solid 1px #eaeaea;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.voice_5day .flex_li li p{
  font-size: 0.95rem;
  margin: 0;
  padding:0;
  line-height: 1.7;
}
.voice_5day .flex_li li p.info, .manzoku_graph .info span{
  font-size: 0.78rem;
  color: #666;
}
.voice_5day .flex_li .inner{
  padding: 2.1em;
}
.voice_5day .flex_li .pt-0{
  padding-top: 0;
}
.voice_5day .row{
  display: flex;
  flex-direction: row;
  align-items: center;
  color: #77787b;
}
.voice_5day .row img{
max-width: 50px;
}
.voice_5day .flex_li li .row p{
  font-weight: bold;
    line-height: 1.5;
    margin-top: 7px;
    margin-left: 9px;
}
.voice_5day .flex_li li .row p .little{
  font-size: 12px;
  color: #959595;
  font-weight: normal;
}
.voice_5day .flex_li .long{
  width: 49%;
}
.voice_5day .flex_li .short{
  width: 49%;
}
.voice_5day .flex_li .veryshort{
  width: 49%;
}
.voice_5day .google{
  max-width: 200px;
  margin:3em auto 2em;
}
.voice_5day .star {
  display: block;
  border-bottom: solid 1px #e1e1e1;
  margin-bottom: 10px;
  font-size: 1.4em;
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: 5px;
  color: #ae1112;
}
.voice_5day .star img{
  max-width: 100px;
}


.voice_google .flex_li{
  display: flex;
  gap: 1.5em 0.5rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
.voice_google .flex_li li{
  width: 30.5%;
  box-shadow: 0.5rem 0.5rem 1.5rem rgb(0 0 0 / 15%);
  border: solid 1px #eaeaea;
  border-radius: 0.8rem;
  display: flex;
  flex-direction: column;
}
.voice_google .flex_li li p{
  font-size: 0.9em;
  margin: 0;
  padding:0;
  line-height: 1.7;
}
.voice_google .flex_li .inner{
  padding: 2.1em;
}
.voice_google .row{
  display: flex;flex-direction: row;
}
.voice_google .row img{
max-width: 50px;
}
.voice_google .flex_li li .row p{
  font-weight: bold;
    line-height: 1.5;
    margin-top: 7px;
    margin-left: 9px;
}
.voice_google .flex_li li .row p .little{
  font-size: 12px;
  color: #959595;
  font-weight: normal;
}
.voice_google .flex_li .long{
  width: 32%;
}
.voice_google .flex_li .short{
  width: 32%;
}
.voice_google .flex_li .veryshort{
  width: 32%;
}
.google{
  max-width: 200px;
  margin:3em auto 2em;
}
.star {
  display: block;
  border-bottom: solid 1px #e1e1e1;
  margin-bottom: 10px;
  font-size: 1.25em;
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: 5px;
  color: #ae1112;
}
.star img{
  max-width: 100px;
}
/*　アコーディオン　*/

.l-accordion{
  margin: 3em;
}
.l-accordion input {
  display: none;
}

.l-accordion .l-accordion-inside {
  height: 0;
  opacity: 0;
  transition: 0.5s;
  padding-top: 2em;
}

.l-accordion input:checked~.l-accordion-inside {
  height: auto;
  opacity: 1;
}

.l-accordion .l-accordion-switch {
  position: relative;
  display: block;
  background-color: #fff;
  font-weight: bold;
  padding: 1rem;
  cursor: pointer;
  max-width: 500px;
  margin: 0 auto;
  border: solid 1px #929292;
  text-align: center;
  border-radius: 0.25rem;
  color: #111111;
}
.l-accordion .l-accordion-switch:hover {
  background-color: #dfdfdf;
  transition : 0.2s;/*ふわっとさせる指定*/
  color: #464646;
  border: solid 1px #f6f6f6;
}
.l-accordion .l-accordion-switch::before,
.l-accordion .l-accordion-switch::after {
  content: '';
  position: absolute;
  display: block;
  width: 14px;
  height: 3px;
  background: #555;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.l-accordion .l-accordion-switch::before:hover, .l-accordion .l-accordion-switch::after:hover {
  background: #fff;
}
.l-accordion .l-accordion-switch::after {
  transform: translateY(-50%) rotate(90deg);
  transition: 0.5s;
}

.l-accordion input:checked~.l-accordion-switch::after {
  transform: rotate(0);
  transition: 0.5s;
}

/*　  テストグリッド　*/

.glid{
  gap: 10px;
  grid-template-columns:1fr 1fr 1fr 1fr;
  height: auto;
  display: grid;
}
.big {
  grid-column: 1 / 3;
}
.big2 {
  grid-column: 3 / 5;
}
.manzoku_graph img{
  display: block;
  margin: 0 auto;
  width: 70%;
  max-width: 400px;
  margin-bottom: 2em;
  margin-top: 3em;
}
.manzoku_graph .info{
  display: table;
  margin: 0 auto;
  margin-bottom: 3em;
}
.manzoku_graph .info p{
  margin: 0;
}


/*  カードレイアウト */
.card_3 .flex{
  gap: 1.5rem;
}
.l-wrapper_03{
  position: relative;
}
.card-radius_03 {
  border-radius: 0.8vw;
  box-shadow: 0.5rem 0.5rem 1.5rem rgb(0 0 0 / 15%);
  background: #fff;
  flex: 1;
  border: solid 1px #eaeaea;
  box-sizing: border-box;
}
.card_03 {
  background-color: #fff;
  color: #212121;
  text-decoration: none;
  padding: 1rem 3rem 1.8rem;
  border-radius: 0.8vw;
}
.card__header_03 {
display: flex;
flex-wrap: wrap;
}
.card__title_03 {
  background: #0a679a;
  text-align: center;
  color: #fff;
  padding: 0.5rem 2.5rem;
  font-weight: bold;
  font-size: calc(15px + 8 * (100vw - 768px)/1152);
  position: absolute;
  border-radius: 50rem;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 60%;
}
.card__thumbnail_03 {
  overflow: hidden;
  max-height: 200px;
  margin-bottom: 2em;
}
.card__image_03 {
width: 100%;
}
.card__body_03 {
  position: relative;
  top: 2.5em;
}
.card__text3_03 {
font-size: 17.25px;
margin-top: 0;
line-height: 2;
line-break: anywhere;
margin-bottom: 3.25em;
}
.card__text3_03 .title_special01 {
  font-size: 1.3em;
  text-align: left;
  margin: 0;
  letter-spacing: 0.06rem;
  line-height: 1.45;
  text-indent: -2em;
  padding-left: 1.85em;
  margin-bottom: 0.5em;
  font-weight: 600;
}
.card_03 .icon_special{
  width: 33px;
  height: 25px;
}
.bg_blue{
  background: #303d61;
}
.bg_red{
  background: #ba0001;
}

.card_04{
  border-radius: 0.8vw;
  box-shadow: 0.5rem 0.5rem 1.5rem rgb(0 0 0 / 15%);
  border: solid 1px #eaeaea;
  box-sizing: border-box;
  padding: 2.5em 3em 2em;
}
.card_04 .flex{
  gap: 2rem;
}
  .card_04 .title h3{
  font-size: 2.35em;
  text-align: left;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
  color: #303d61;
  margin-bottom: 10px;
}
.card_04 .day p{
  font-size: 2em;
  font-weight: bold;
  margin: 0;
}
.card_04 .day p span{
  background: #303d61;
  color: #fff;
  padding: 0.25rem 1rem;
  font-size: 1.2em;
  margin-right: 0.5em;
}
.card_04 .info{
  background: #959595;
  color: #fff;
  display: inline-block;
  padding: 0.2rem 1.5rem 0.1rem;
}
.card_04 .info_info{
  display: inline-flex;
  margin-left: 1em;
  font-size: 0.78rem;
  color: #666;
  vertical-align: bottom;
}
.card_04 .list li{
  font-size: 1.4em;
  line-height: 1.2;
  margin: 0.8em 0;
  color: #364069;
  list-style: disc;
}
.card_04 .list li p{
  display: inline;
  position: relative;
  left: -0.6rem;
}

.card_04 .inner_left ,.card_04 .inner_right{
flex: 1;
}
.card_04 .inner_left{

}
.card_04 .inner_left .top{
  border-bottom: solid 1px #ccc;
  padding-bottom: 0.8rem;
}
.card_04 .inner_right{
  max-width: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.8rem;
  margin: 0 auto;
}
.card_4 .card_04{
  margin: 2em 0;
}
.card_04 .list li {
  font-size: 1.1em;
  line-height: 1.2;
  margin: 0.8em 0;
  color: #364069;
  list-style: disc;
  padding-left: 1.55em;
  text-indent: -1.35em;
}
.card_4 .card_04:last-child ,.card_04 .list p:last-child{
  margin-bottom: 0;
}

/* カードレイアウト 文字と画像のみ */


/*　------------------------------- table 料金申込仕様 ------------------------------- */
.table_plan_box {
  padding: 1em 0 2em;
  box-sizing: border-box;
}
table.table_plan{
  width: 100%;
  border: solid 1px #c8c8c8;
  outline-offset: 3px;
  box-sizing: border-box;
  margin: 1em 0 2em;
}

table.table_plan th{
  background: #313c61;
  text-align: center;
  border-right: solid 1px #ddd;
  border-left: solid 1px #ddd;
  margin: 0 auto;
  color: #fff;
  font-size: 1.8em;
  text-align: center;
  font-weight: 700;
  padding: 10px;
}

table.table_plan td{
  text-align: center;
  padding: 0.2rem;
  border: solid 1px #ddd;
  width: 155px;
}
table.table_plan td span{
  font-size: 1.55em;
}
table.table_plan td b{
  font-size: 3em;
  margin-left: 0.3em;
  letter-spacing: 0.1rem;
  position: relative;
  top: 5px;
  color: #b35164;

}
table.table_plan .popular{
  width: 180px;
}

table.table_plan th.popular{
  position: relative;
}
.bmp_pay_box .table_plan .red{
  background: #b35164;
  font-size: 1.25em;
  padding: 3px;
}
.bmp_pay_box .table_plan .green{
  background: #3f9897;
  font-size: 1.25em;
  padding: 3px;
}
table.table_plan td .bmp_green{
  color: #3f9897;
}
.info_text{
  text-align: right;
  position: relative;
  margin-top: -3.7rem;
  margin-bottom: 5rem;
  width: 95%;
  font-size: 0.85em;
}

/* @media screen and (max-width: 1430px){
  .voice_5day .flex_li .long, .voice_5day .flex_li .short ,.voice_5day .flex_li .veryshort,
  .voice_google.flex_li .long, .voice_google .flex_li .short ,.voice_google .flex_li .veryshort {
    width: 32%;
  }
  } */
  @media screen and (max-width: 980px){
    .voice_5day .flex_li li, .voice_5day .flex_li .long, .voice_5day .flex_li .short ,.voice_5day .flex_li .veryshort,
    .voice_google .flex_li li, .voice_google .flex_li .long, .voice_google .flex_li .short ,.voice_google .flex_li .veryshort {
      width: 100%;
    }
  }
@media screen and (max-width: 768px){
  .form .wrapper{
    width: auto;
    padding: 2em 1.25em 2em;
  }
  .form .day, .form_cta .day {
    margin-bottom: 0;
    font-size: 1.7em;
    font-weight: 700;
    letter-spacing: initial;
    text-align: center;
    line-height: 1.4;
}
  .form input.btn {
    background: url(../img/btn.png) center top no-repeat;
    background-position: center;
    background-size: 90%;
    background-color: #ea4b4b;
}
.intro_cta p {
  font-weight: normal;
  font-size: 1.15em;
}
  .intro_cta h4 {
    font-size: 1.85em;
}
.intro_cta .challenge_img {
  max-width: 100%;
  flex: 1;
  min-width: 300px;
  height: auto;
  margin-top: 2em;
}
.bmp_pay_box .inner {
  padding: 1em 1.5em;
}
table.table_plan th {
  font-size: 1.5em;
}
table.table_plan td span {
  font-size: 1.25em;
}
.bmp_pay_box .table_plan .red ,.bmp_pay_box .table_plan .green{
  font-size: 1em;
  padding: 0.5rem;
  font-weight: 600;
  line-height: 1.3;
}
  .voice_5day .flex_li .inner, .voice_google .flex_li .inner {
    padding: 1em 1.5em;
}
.card_03 {
  padding: 1rem 1.5rem 1.8rem;
}
.card-radius_03 {
  margin: 4em 0;
}
.card__thumbnail_03{
  text-align: center;
}
.card__title_03{
  font-size: 1.35em;
  width: 80%;
}
.card__text3_03 .title_special01 {
  font-size: 1.1em;
  text-indent: -2.05em;
}
.card_04 .title h3 {
  font-size: 1.6em;
}
.card_04 {
  padding: 2em 1.5em 2em;
}
.card_04 .day p {
  font-size: 1.2em;
  text-align: left;
}
.card_04 .day p span {
  font-size: 0.85em;
  padding: 0.25rem 0.8rem;
}
.card_04 .info {
  background: #959595;
  color: #fff;
  display: inline-block;
  padding: 0.1rem 1rem 0.05rem;
  font-size: 0.8em;
}
.card_04 .inner_right {
  margin-top: 2em;
}
.icon_special {
  width: 35px;
  height: 23px;
  margin-right: 0.3em;
}

.info_text {
  margin-top: -1.5rem;
  margin-bottom: 2rem;
}
.kiyaku {
  background: #ffffff4d;
  padding: 1.5em;
  font-size: 12px;
}
}
@media screen and (max-width: 600px){
  .intro_cta .flex {
    display: block;
}
}
@media screen and (max-width: 480px){
  .voice_5day .flex_li ,.voice_google .flex_li{
    display: block;
  }
  .voice_5day .flex_li li, .voice_5day .flex_li .long, .voice_5day .flex_li .short ,.voice_5day .flex_li .veryshort,
  .voice_google .flex_li li, .voice_google .flex_li .long, .voice_google .flex_li .short , .voice_google.flex_li .veryshort {
    width: 100%;
  }
  .voice_google .flex_li li {
    box-shadow: none;
    border: none;
}
.form input {
  margin: 1rem auto 0;
}
.form input.btn {
  background: url(../img/btn_sp.png) center top no-repeat;
  background-color: #ea4b4b;
  background-size: 80%;
  background-position: center;
}
.intro_cta h4::after{
  top: 92%;
  left: 48%;
}
  }