@charset "utf-8";


/*　共通設定--------------------------------　*/


img {
    border: 0;
    vertical-align:bottom;
    max-width: 100%;
}

body {
    width: 100%;
    background-color: #fff;
/*	font: 14px/1.231 'ヒラギノ角ゴ pro W3', "Hiragino KaKu Gothic Pro", Osaka, sans-serif; */
    font-size: 14px;
    line-height: 1.8;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    }

.sp-only{
    display: block;
}
.pc-only{
    display: none;
}

.inner{
    width: 100%;
}
iframe{
    width: 100%;
    height: auto;
    min-height: 250px;
}

/*　flex--------------------------------　*/
.flex,.flex-jcc,.flex-jcsb{
    display: block;
}
.flex.remain{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
.flex-jcc.remain{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.flex-jcsb.remain{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}



/*　ヘッダー・スライドバー--------------------------------　*/
#head{
    width: 100%;
}
#head h1{
    width: 50%;
    margin: 0 auto;
    top: 20px;
    max-width: 280px;
}

#visual h2 {
    display: none;
}
#visual .catch {
    width: 40%;
    right: 0;
}

/* スマホ用ナビ--------------------------------　*/
#navi-box-sp {
    display: block;
}


/* slimmenu.js内の .menu-collapseに上書き */

.menu-collapser {
    height:50px;
    text-align:left;
    background-color: #fff;
    padding: 5px;
    color: transparent;
}

    /* menu内のロゴ(テキスト)設定 */
.menu-collapser .sp-logo {
    font-size: 16px;
    color: #000;
    text-decoration: none;
    padding: 15px 0 0 0;
}

/* menu内のロゴ画像設定 */

.menu-collapser img#spHeadLogo {
    margin:0;
    width:85%;
    max-height:40px;
    width:auto;
    }
/*
table td {
    line-height:1.8em }
*/
/*　スクロール時のナビ固定　jquery連動*/

#navi-box-sp {
    width:100%;
    height:50px;
    }

/*　スクロール時のナビ固定　jquery連動*/

.fixed {
        position: fixed;
        top: 0px;
        z-index: 10;
    }


#navi-box-sp #navi-sp {
    text-decoration: none;
    width: 100%;
    height:50px;
    margin: 0 0 0px 0;
    clear:both;
}

#navi-box-sp #navi-sp h1 {
    display:none;
}

#navi-box-sp #navi-sp ul {
    width: 100%;
    height:auto;
    background:none;
    border-bottom: 1px solid #999;
}

/* ナビ下のborder */

#navi-box-sp #navi-sp li {
    float:none;
    list-style: none;
    text-align: center;
    }

#navi-box-sp #navi-sp li a {
    text-decoration: none;
    padding: 8px 10px;
    height:auto;
    width:100%;
    display: block;
    font-weight: normal;
    border-top: solid 1px #999;/* li上のborder */
    color: #333;/* 文字色 */
    background:#fff;/* リンク背景 */

}


#navi-box-sp #navi-sp li a span{
    display:inline;
}

/*　ボタン*/
.collapse-button {
    background-color: transparent;
    z-index: 10;
    width: 50px;
    font-size: 30px;
}
.collapse-button .icon-bar {
    display: block;
    height: 2px;
    width: 30px;
    margin: 8px 0;
    background-color: #000;
}
.collapse-button:hover, .collapse-button:focus {
    color: #333;
    background-color: transparent;
}
#navi-box-sp #navi-sp li a:hover{
    color: #F22318;
}
ul.slimmenu li {
    /* background-color: #AAA; */
    z-index: 10;
}

/*　ビジュアル--------------------------------　*/
#visual{
    width: 100%;
    /* background: url(../img/top_visual_sp.jpg) no-repeat top left 60%;
    background-size: cover; */
    background: url(../img/top_visual_01_sp.jpg) no-repeat top center;
    background-size: cover;

    height: 90vh;
    overflow: hidden;
}


/*　コンテンツ--------------------------------　*/

#contents {
    width:100%;
}

/*　コンテンツ　メインカラム--------------------------------　*/

#contents-main {
    width:100%;
    padding: 0;
    margin:0 auto;
}

/*　コンテンツ　インナー--------------------------------　*/
#contents-main .contents_inner{
    width: 92%;
    margin: 0 auto;
    padding: 50px 0;
}

/* 本文--------------------------------　*/
#contents-main h2,
#footer h2 {
    margin: 0 0 20px;
    width: 100%;
    margin: 0 auto 20px;
    text-align: center;
    font-size: 140%;
}

#contents-main h3 {
    margin: 10px 0 20px;
    font-size: 120%;
}
#contents-main h4{
    font-family: "游明朝", YuMincho, "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 128%;
}


#contents-main .last{
    margin-right: 2% !important;
}



/*　段落　*/
#contents-main p {
    margin:0 0 1em 0 ;
    text-align: left;
}

/*about*/
/* #contents-main .about h2.sp-only {
    width: 89%;
    margin-bottom: 0;
    margin-top: -40px;
} */
#contents-main .w60 {
    width: 90%;
}
#contents-main .feature {
    margin-bottom: 2em;
}
#contents-main .feature_item {
    position: relative;
    width: 48%;
    margin-bottom: 30px;
    min-height: auto;
    padding: 10px;
    font-family: "游明朝", YuMincho, "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 95%;
    line-height: 1.7;
}
#contents-main .feature_item .num {
    position: absolute;
    top: -20px;
    font-size: 200%;
}
#contents-main .in-text {
    font-size: 105%;
    font-weight: 600;
    padding: 15px 10px;
}
#contents-main .feature_item:nth-child(2):after {
    right: 0px;
    background-size: contain;
}
#contents-main .feature_item:nth-child(3):after {
    background: url(../img/top_feature_e03.png) no-repeat top center;
    background-size: contain;
    width: 29%;
}
#contents-main .feature_item:nth-child(4):after {
    background: url(../img/top_feature_e04.png) no-repeat top center;
    background-size: contain;
    width: 27%;
    right: 0px;
}
.afterclass .serif li {
    font-size: 115%;
}
.afterclass .ct-img {
    width: 100%;
}

/*　マスター講座について　申し込み　about　--------------------------------　*/
/* #contents-main .about .bb {
    display: inline-block;
    max-width: 400px;
    width: 60%;
    margin: 20px 3% 0;
}
#contents-main .flex .btn {
    display: block;
    max-width: 400px;
    width: 80%;
    margin: 20px auto 0;

    padding-top: 2px;
}
#contents-main .btn .text-btn h3,
#footer .btn .text-btn h3 {
    margin: 0.4em auto 0;
    font-size: 120%;
}
#contents-main .btn .text-btn h3{
    margin-top: 1em;
}

#contents-main .btn .text-btn p,
#footer .btn .text-btn p{
    margin-bottom: 5px;
    font-size: 80%;
}
#contents-main .btn .text-btn p.price,
#footer .btn .text-btn p.price{
    font-size: 100%;
}
 */
#contents-main .fs-l{
    font-size: 120%;
}
#contents-main .flex .pt{
    padding-top: 1em;
}
#contents-main .flex .mt-4em{
    margin-top: 4em;
}
#contents-main .pay table .fc-w,
#footer .pay table .fc-w{
    padding: 0 5px 0 0;
}


/*どんな人むいてるか*/
#contents-main .person .ct-img {
    width: 50%;
    max-width: 560px;
    margin: 0 auto 30px;
}
#contents-main .person .ct-text {
    width: 100%;
}

/*おすすめ*/
#contents-main .koji-list {
    margin-right: 0;
}
#contents-main .koji-list li {
    font-size: 115%;
}
/*ポイント*/
#contents-main h3.kuro {
    font-size: 130%;
    margin: 20px auto;
}
#contents-main h3.kuro.fs-ls {
    font-size: 120%;
}

#contents-main .point-box {
    display: block;
}

#contents-main .point-box li {
    width: 100%;
    padding: 0;
    margin: 0 0 1em;
}
#contents-main .point-box li:last-child{
    margin-bottom: 0;
}
/*パーソナル講座について*/
#contents-main .personal .feature_item {
    position: relative;
    width: 48%;
    margin-bottom: 20px;
    min-height: 120px;
    padding: 10px;
    font-family: "游明朝", YuMincho, "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 95%;
    line-height: 1.7;
}
#contents-main .personal .feature_item:last-child {
    margin-bottom: 0;
}

#contents-main .personal .feature_item .num {
    position: absolute;
    top: -20px;
    font-size: 200%;
}
#contents-main .personal .in-text {
    font-size: 100%;
    font-weight: 600;
    padding: 15px 5px;
}



/*カリキュラム*/
.curriculum .ct-img {
    margin-bottom: 3em;
}
#contents-main .w-half {
    width: 100%;
    margin: 0 0;
}


/*受講料*/
#contents-main .curriculum .price{
    margin-bottom: 1em;
}
#contents-main .fee {
    margin-bottom: 2em;
}
#contents-main .tokuten section {
    width: 100%;
    max-width: inherit;
    margin: 0 0 1.5em;
}
#contents-main .tokuten h4 {
    font-size: 120%;
    padding: 8px;
    letter-spacing: 0.1em;
}

/*限定*/
#contents-main .gentei {
    margin-left: 0;
}
#contents-main .gentei_inner {
    padding: 5%;
    position: relative;
}
#contents-main .gentei_inner::before {
    content: "";
    display: inline-block;
    width: 20%;
    position: absolute;
    top: 10px;
    left: -5px;
    transform: inherit;
}
#contents-main .gentei_inner_text {
    margin-left: 0;
    text-align: center;
}
#contents-main .gentei_inner::after {
    content: "";
    display: inline-block;
    width: 14%;
    height: 100%;
    right: 0;
    bottom: 4px;
}
#contents-main .gentei_inner_text .bg_color {
    background-size: 90%;
}


/*プロフィール*/
#contents-main .profile .ct-img {
    width: 100%;
    margin-bottom: 20%;
    position: relative;
    z-index: 1;
}
#contents-main .profile .ct-img:before {
    content: "";
    height: 89%;
    position: absolute;
    top: 20%;
    right: 15%;
    z-index: -1;
}
#contents-main .profile .books {
    padding-top: 10%;
}
#contents-main .profile .books_item {
    width: 38%;
    padding: 0 3%;
}
#contents-main .profile .ct-img:after {
    width: 23%;
    height: 45px;
    font-size: 200%;
}
#contents-main .profile .ct-text {
    width: 100%;
}

/*受講生の声*/
#contents-main .voice h2 {
    position: relative;
    z-index: 2;
}
#contents-main .voice_box {
    display: block;
    position: relative;
    z-index: 2;
}
#contents-main .voice_item {
    width: 100%;
    padding: 4%;
    margin-bottom: 2em;
    max-width: inherit;
}
#contents-main .voice_item .vioce-thumbnail{
    width: 20%;
}

#contents-main .voice_item .vioce-text {
    width: 76%;
    margin-left: 4%;
}
#contents-main .voice {
    background: url(../img/top_voice_bg.jpg) repeat-y bottom center;
    background-size: 80% 10%;
    position: relative;
}
#contents-main .voice:after {
    content: "";
    width: 100%;
    height: 10%;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/*バナー*/
#contents-main .banner .hasen {
    width: 100%;
    max-width: 804px;
    margin: 0 auto 2em;
    padding: 1px;
}
#contents-main .banner .hasen h3{
    margin: 10px;
}
#contents-main .banner h3.kuro {
    margin: 10px;
    font-size: 130%;
}







/* フッター--------------------------------　*/
/* #footer p.pagetop a {
    display: none;
}
*/
#footer h2 span.smalltext {
    font-size: 50%;
    color: #7D7573;
}

/* #footer .application {
    display: none;
    margin: 0;
    position: fixed;
    bottom: 0;
    clear: both;
}
#footer .application.w100 {
    width: 100%;
}
#footer .btn {
    display: inline-block;
    max-width: inherit;
    width: 50%;
    margin: 0;
    float: left;
    border: 1px solid #E4E3D8;
}
#footer .btn.w100 {
    width: 100%;
    float: none;
    border: none;
    clear: both;
    vertical-align: bottom;
}
#footer  .btn .text-btn{
    width: 50%;
    float: left;
}

#footer .btn.bg form{
    padding-top: 10px;
    line-height: 1;
    width: 50%;
    float: right;
}
#footer .flex{
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#footer .flex .pt {
    padding-top: 0;
}

#footer .flex .btn {
    font-size: 10px;
    width: 50%;
    margin: 0;
    float: none;
    border: none;
}
#footer .flex .btn .text-btn {
    width: 100%;
    float: none;
}
#footer .flex .btn.bg form {
    padding-top: 10px;
    line-height: 1;
    width: 100%;
    float: none;
}
#footer .banner .close {
    margin: 0 8px 5px 0;
    text-align: right;
}
#footer .banner .close img {
    width: 20px;
    height: 20px;
}
 */

/* コピーライト */

#footer .copyright {
    font-size:10px;
    padding: 10px ;
}

@media screen and (max-width: 400px){
    #head h1{
        width: 60%;
        margin: 0 auto;
        top: 20px;
    }
    #visual .catch {
        width: 58%;
        bottom: 7%;
        right: -20px;
    }
}

