@charset "UTF-8";
/* CSS Document */


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

/*-------------------------------------------------------------------------------------
スマホ用レイアウト（768px以下スクリーン）
----------------------------------------------------------------------------------------*/

p {font-size: 16px;}

/*--------------------------------------------------
共通設定(スマホ)
-----------------------------------------------------*/

/*body全体の初期スタイル調整*/
body {
	width: 100%;
  -webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}

/*--------------------------------------------------
見出しタグ設定（スマホ）
-----------------------------------------------------*/
h2 {
  margin: 0.5em 0em 1.5em;
  font-size: 1.6em;
  font-weight: bold;
  padding:0;
  text-align: center;
}
h3 {
  padding: 0.3em 0.6em;
  font-size: 1.4em;
  font-weight: bold;
margin-top: 0em;
}
h4 {
  margin: 0.5em 0em;
  padding:0.3em 0 0.3em 7em!important;
  font-size: 1.2em;
  border: 1px solid #ccc;
  font-weight: bold;
}
h4:before {
    width: 200px;
}
h4 span {
    padding-left: 5px;
}
h5 {
  margin: 0.5em 0em;
  padding: 0.1em;
  font-size: 1em;
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
}
/*--------------------------------------------------
全体レイアウト／背景設定（スマホ）
-----------------------------------------------------*/
/*全体エリア（全体背景を設定するにはここ）*/
.main {
  background-color: #fff;
}
/*記事(ボディ)エリア*/
.article {
  background-color: #fff;
  border-left: none;
  border-right: none;
  font-size: 1.6em; /*=16px*/
}
/*記事(ボディ)エリアの行間*/
.article p {
  line-height: 1.6;
}

.article{
	width: 100%;
}

/*カラム全体の幅を変更する*/
.top_image_in,.section_inr,.section_inr2 {
  width: 100%;
  margin: 0 auto; /*真ん中に要素を置きたいときに使う*/
}
/*--------------------------------------------------
上部固定ヘッダー設定
-----------------------------------------------------*/
/*上部固定ヘッダー全体*/
.header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 5000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  overflow: auto;
}
/*ヘッダー内部をカラム幅にする*/
.header_inr {
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
/*ヘッダーのロゴ*/
.header_logo {
  width: 25%;
  float: left;
  margin: 0em;
}
/*ヘッダーの問い合わせボタン*/
.header_mail {
  width: 30%;
  float: right;
  margin: 0.5em 0em 0em;
}
/*ヘッダーの電話ボタン*/
.header_tel {
  width: 35%;
  float: right;
  margin: 0.7em 0.5em 0em;
}

/*--------------------------------------------------
ファーストビュー設定
-----------------------------------------------------*/
.top_image {
}
.top_image_in img {
  width: 100%;
}
.cta-point3{
  width: 100%;
}
.cta-box {
    background: #fff;
    color: #222;
    padding: 10px 5px 20px;
}
/*--------------------------------------------------
sectionの設定
-----------------------------------------------------*/
.seciton_top{
padding: 1em 0.5em 1em;
}
.seciton_cta {
padding: 0.5em 0.5em 1em;
}
.seciton_check {
padding:  20px 20px;
}
.seciton_naiyou {
padding: 10px;
}
.seciton_tokuten {
padding:  20px 20px;
}
.seciton_keiken {
padding:  20px 20px;
}
.seciton_tokuchou {
padding:  20px 20px;
}
.seciton_voice {
padding:  20px 20px;
}
.seciton_dream {
padding:  20px 30px;
}
.seciton_koushi {
padding:  20px 20px;
}
.seciton_qa {
padding:  20px 20px;
}
.seciton_gaiyou {
padding:  20px 20px;
}
.seciton_naiyou2{
padding:  20px 20px;
}



.seciton_01 {
  padding: 0.5em 0.5em;
}
.section_02 {
  background-color: #FFFEF0;
  padding: 0.5em 0.5em;
}
/*--------------------------------------------------
チェックリスト設定
-----------------------------------------------------*/
ul.checklist {
  border: 1px solid #ccc;
  list-style: none;
  padding: 1em;
}
ul.checklist li {
  background-image: url("../images/icon-check03-red.png");
  background-repeat: no-repeat;
  background-size: 7%;
  padding-left: 2em;
  margin-bottom: 0.8em;
}
ul.checklist li:last-child {
  margin-bottom: 0em;
}
/*--------------------------------------------------
テーブル設定
-----------------------------------------------------*/
table {
  width: 100%;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  margin: 1em 0em;
}
th, td {
  padding: 0.5em;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
th {
  background-color: #f0f0f0;
  font-weight: bold;
  text-align: center;
}
td {
  background-color: #fff;
  text-align: left;
}
/*スマホでは行が列になるテーブルタグ*/

.table_style_01 tr,
.table_style_01 th,
.table_style_01 td{
 display: block;
}

.table_style_01 th,
.table_style_01 td{
 width: 100%;
}


/*--------------------------------------------------
リストスタイル
-----------------------------------------------------*/

.checklist1{
  padding-left: 0.5em;
}
.checklist2{
  padding-left: 0.5em;
}
.checklist3{
  padding-left: 0.5em;
}
.checklist4{
  padding-left: 0.5em;
}
.checklist5{
  padding-left: 0.5em;
}
.checklist6{
  padding-left: 0.5em;
}
.checklist7{
  padding-left: 0.5em;
}



.title-kakko {display: none;
}

.title-kakko_sp {
  display: block;
    font-size: 130%;
    border: 2px solid;
    border-radius: 15px;
    font-weight: bold;
    padding: 0 .5em;
    text-align: center;
    color: #ff6600;
    background-color: #fff;
    margin: 0 10px;
}
.kakko-t {
    margin: 1em auto;
    padding: 0.2em;
}
.kakko-b {
    margin: 1em auto;
    padding: 0.2em;
}


.tokuchou_box {
    display: flex;
}

.tokuchou {
    width: 100%;
}

.tokuchou_pict{
  text-align: center;
  margin: 0 auto
}

.list li {
    width: 100%;
}
.list li.card {
    padding: 10px 15px;
margin-right: 0;
margin-left: 0;
}

.bubble {
    margin-bottom: 1em;
    padding: 1em;
}

.box_qa {
  background-color: #efefef;
  padding: 1em;
}
.box_qa_q {
  background-color: #fff;
  padding: 1em 1em 1em 1em;
  border-bottom: 1px solid #ccc;
  font-size: 1.2em;
  font-weight: bold;
  color: #D10003;
}
.box_qa_a {
  background-color: #fff;
  padding: 1em 1em 1em 1em;
}
.box_qa_q p, .box_qa_a p {
  text-indent: 0em;
}

.box_qa {
  background-color: #efefef;
  margin: 0px;
  padding: 0.5em;
}
.box_qa_q {
  background-color: #fff;
  padding: 0.5em 1em;
  border-bottom: 1px solid #ccc;
  font-size: 100%;
  font-weight: bold;
  color: #CD3B3E;
}
.box_qa_a {
  background-color: #fff;
  padding: 0.5em 1em;
}

.teacher-name {
    margin-top: 40px;
}

.area_cta {
  background-color: #105FA3;
  padding: 1em 1em;
}
.area_cta_inr {
  background-color: #fff;
  padding: 1em 1em;
  overflow: auto;
}
.area_cta_inr_left {
  float: none;
  width: 100%;
}
.area_cta_inr_right {
  float: none;
  width:100%;
	margin-top: 1em;
}
.ctacheck{
  margin: 5px auto;
  width: 100%;
  display: block;
  font-size: 1.1em!important;
}

ul.ctacheck li{
  font-size: 1em;
  margin-right: 20px;
}
/*--------------------------------------------------
フッター部分
-----------------------------------------------------*/
.footer {
  padding: 2em 0em;
  text-align: center;
  font-size: 1.2em;
}

/*--------------------------------------------------
ボタン
-----------------------------------------------------*/

a.btn-c {
  font-size: 1rem;
}

.service-point {
  flex-direction: column;
  width: 100%;
}

.service-point p{
  margin:0 auto!important;}

.service-point_item {
  width: 100%;
}


/*--------------------------------------------------
追従ボタン
-----------------------------------------------------*/

.footer_fix_btn {
  width:100%;
  bottom:0px;
  right:0px;
padding: 10px;
background: rgba(0, 0, 0, 0.3);
}


.img60 {
    width: 100%!important;
}
.img90 {
    width: 100%!important;
}

.present-tit{
    font-size: 170%;
}
    .voice-item {
        flex: 1 1 100%; /* SPでは1列 */
    }
    .class-info {
        flex-direction: column;
        align-items: center;
    }

    .class-image {
        width: 80%;
        margin-right: 0;
        margin-bottom: 20px;
    }
.course-card{
width: 100%;}
.method-container {
display: flex;
        justify-content: center;
}

.pricing-table {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 20px;
}

.plan-header {
    padding: 11px 10px 10px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.plan-limit {
    font-size: 14px;
    font-weight: bold;
min-height: 6em;
}
.plan-features {
    list-style: none;
    padding: 0;
    margin: 0 10px 10px;
    text-align: left;
font-size: 14px;
}


    /* アイテム */
    .cp-infoText03__item:not(:last-child) {
        margin-bottom: 32px;
    }

    /* 日付 */
    .cp-infoText03__date {
line-height: 1.3;
        min-width: 42%;
        text-align: center;
        background: #e0f7ff;
    }
    .cp-infoText03__date:after {
        margin-right: 0;
        padding-right: 0;
        content: none;
    }
    .cp-infoText03__date span {
        font-size: 20px;
    }

    /* テキスト */
    .cp-infoText03__text {
        margin-top: 8px;
        padding-right: 0px;
margin-left: 0;
    }


.cp-infoText03__date:after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 1px;
    margin: auto;
}


.plan-price {
    font-size: 18px;
}


.method-box{
        padding: 0px;
        flex-direction: column;
        font-size: 0.8em;
margin: 0;}

.vip{
padding: 10px;}

.platinum-box{
margin: 0;
min-height: 13em;
padding: 10px;
        width: 100%;
}
.platinum-container{
display: flex;
    justify-content: center;
align-items: center;
    flex-direction: column;
}
.platinum-separator{
margin: 0;}

.p4-h4 {
  border: solid 2px #d4af37;
padding: 0.3em 0 0.3em 11.6em !important;
background-color: #fff;
font-size: 1em!important;
}
.p4-h4 span {
font-size: 1em!important;
}

.p4-h4:before {
background-image: linear-gradient(135deg, #d4af37 10%, #b8860b 100%)!important;
width: 270px!important;
transform: rotate(13deg);
width: 210px;
}

.naiyou-box{
padding: 10px;}

.course-table th{
background-color: #222;}

    .solution {
        font-size: 1.4rem;
        line-height: 3rem;
    }

.line-banner {
        flex-direction: column;
    }

    .text-content {
        width: 100%;
        padding: 20px;
    }

    .image-content {
        width: 100%;
        height: auto;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }

    .image-content img {
        width: 100%;
    }

.henka {
    display: flex
;
    align-items: center;
    justify-content: center;
    max-width: 700px;
    margin: 20px auto;
    position: relative;
}

.henka2 {
    display: flex
;
    align-items: center;
    justify-content: center;
    /* max-width: 700px; */
    margin: 50px auto;
    position: relative;
}
.henka-h2 {
    padding-bottom: 0em;
    padding-top: 0em;
}

.about-class:before,
.seciton_nayami:before {
    height: 70px;
}
.about-class:after,
.seciton_nayami::after {
    height: 70px;
}

.seciton_nayami{
        padding: 20px 20px 4em;}

.henka-text-content,
.henka-text-content2{
width: 75%;}


.henka-text-content {
    padding: 20px 20px 20px 60px;
}

.henka-text-content2 {
    padding: 20px 60px 20px 20px;
}

.henka-image-content,
.henka-image-content2 {
    width: 40%;
margin-top: -2em;
}

.course-table th, .course-table td {
    padding: 5px;
font-size: 14px;
}

.pricing2-table td {
    padding:0 5px;
}

.pricing2-table th {
    font-size: 15px;
    font-weight: bold;
}

.pricing2-table th {
    border-bottom: 1px solid #ccc !important;
    padding: 10px;
    text-align: center;
    line-height: 1;
}

    .pricing2-table td {
        padding: 5px;
        font-size: 14px;
    }


.p1-h3{
min-height: 2em;}


.me-t {
    padding: 0 15px;
}








}

