@charset "UTF-8";
/*!
Theme Name: castouch mobile.css
Version:20190128
*/
/***********************************************/
/*                1500px                       */
/***********************************************/

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

}


/***********************************************/
/*                1300px                       */
/***********************************************/

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

/****************** 共通 *********************/
.content_1270area{
	width:96%;
	margin:0 auto;
}
.content_1300area{
	width:96%;
	margin:0 auto;
}

/******************* ヘッダー *****************/
/***** Toggle Menu ******/

    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
	#top-head .inner {
    padding-bottom: 0px;
        width:100%;

}
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        background: #fff;
        width: 100%;
        height: 100px;
        z-index: 999;
        position: relative;
        background: rgba(255,255,255,0.7);
    }
    #top-head.fixed .logo img,
	#top-head .logo img{
    /* float: left; */
    overflow: hidden;
    text-indent: 100%;
    width: 250px;
    height: auto;
    margin: 10px 0px 0px 10px;
    background-size: contain;
}
.sub_h1 {
    letter-spacing: 0.07em;
    font-size: 0.7em;
	position: absolute;
    top: 17px;
    left: 76px;
}

	
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -456px;
		background: #f1f0ef/*#e1ddda*/;
        width: 100%;
        text-align: center;
        padding: 0px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
    width: 100%;
        list-style: none;
        float: none;        
        margin-right:0px;
        margin-top:0px;
        margin-bottom:0px;
    	padding: 0px;
    }
    #global-nav ul li {
        float: none;
        position: static;
        border-right: none;
        border-bottom: 1px solid #fff;
    margin-right:0px;
        display:block;
    }
#global-nav ul li.nav_menudisplay a{
	display:block;
}

    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #1a224d;
        padding: 13px 0;
        font-size:100%;
        font-weight: normal;
    }
    #top-head #global-nav ul li a:hover {
	color:#fff/*#e95a5a*/;
	background:#a2a1a1;
}
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
.head-right ul{
	margin-right:70px;
}
.head-right ul li {
	margin-right:14px;
}
/*** ↓★保護者用ブログ対応 追加20201001★↓ ***/
li.guardians a{
    border: none;
    padding: 13px 0!important;
}
li.guardians a:hover{
    border: none;
    padding: 13px 0!important;
	color:#fff!important;
}
/*** ↑★保護者用ブログ対応 追加20201001★↑ ***/


/******************* #Content *****************/
#content {
    padding: 100px 0 0 0;
}

/****************** 共通 *********************/
.content_area {
    width: 100%;
    margin: 0 auto;
}

/******************* #Mainvisual *****************/
.mainvisual_imgarea{
	width:100%;
	margin:0 auto;
}

/**** TOPページコンテンツ ****/	
/**** TOPページ_Afterschool ****/	
ul.top_after_box li.top_aftli {
    width: 80%;
    display: block;
    vertical-align: top;
    margin: 0 auto;
    padding: 20px;
}
.top_aftli_ttl {
    text-align: center;
    font-size: 1.1rem;
    letter-spacing: 0.08rem;
}
.top_aftlitxtbox{
    height: auto;
}
}

/***********************************************/
/*                1220px                       */
/***********************************************/

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

/***********************************************/
/*                1080px                       */
/***********************************************/

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

/****************** 共通 *********************/
.content_1000area{
	width:96%;
	margin:0 auto;
}
/****************** #Header *****************/
.head-right ul li.contact_btn{
		display:none;
	}
.head-right ul li.tel_btn span.tel_hosoku{
	display:block;
	}
/************ Footer **************/
.footer_content {
	position:static;
    padding: 30px 0px;
}
.footer_left{
position: relative;
    display: block;
    height: 200px;
    margin: 0 auto 30px;
    width: 100%;
}
.footer_left_logo{
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 315px;
    height: 73px;
}
.footer_left_sub{
    position: absolute;
    top: 21px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    font-size: 85%;
    letter-spacing: -0.01rem;
    font-weight: 700;
    text-align: center;
}
.ft_left_sub_club{
		display:block;
	}
.footer_left_address{
    position: absolute;
    top: 151px;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
}
.footer_right{
    display: block;
    background: #f1f0ef;
	width:90%;
    padding: 20px 20px;
    text-align: center;
    line-height: 1.5rem;
	margin:0 auto;
}
.ft_right_left{
	float:none;
	margin-right:0px;
}
.ft_right_right{
	float:none;
	    margin: 20px 0px 0px 0px;
}
/******************* #Footer ***********************/
.ft_nav{
	width:900px;
	margin:0px auto 15px;
}

.ft_nav ul{
    margin: 0 auto;
    width: 900px;
    }
.ft_nav ul li{
	font-size:77%;
}
.ft_nav ul li.snav{
	font-size:70%;
}	


}


/***********************************************/
/*                1000px                       */
/***********************************************/

@media only screen and (max-width: 1000px) {
.txt_c{
	text-align:left;
}
/**** TOPページコンテンツ ****/
/** top_news banner_button **/
ul.tn_btn{
	margin-top:30px;
}
ul.tn_btn li.tn_btnli{
	margin-right:100px;
}
.top_button {
    border: 1px solid #666;
}

}


/***********************************************/
/*                 940px                       */
/***********************************************/

@media only screen and (max-width: 940px) {
/****************** #Header ***********************/
/**** TOPページコンテンツ ****/
/******************* #Mainvisual *****************/
.slick-slide .caption_01 {
    top: 37%;
    font-size: 1.5rem;
}

}

/***********************************************/
/*                 880px                       */
/***********************************************/

@media only screen and (max-width: 880px) {
/****************** 共通 *********************/
.breadcrumbs {
    font-size: 80%;
}
.content_825area{
	width:96%;
	margin:0 auto;
}
p.top_acb_station {
    margin-bottom: 20px;
}
/**** TOPページコンテンツ ****/	
/**** TOPページ_News ****/	
#c_news {
    padding: 20px 0px 50px 0px;
}
/**** TOPページ_Policy ****/	
#c_policy {
    padding: 40px 0px 70px 0px;
}
h2#top_policy_jp {
    margin-bottom: 50px;
}
ul.top_policy {
    margin-top: 30px;
}
ul.top_policy li.top_policyli_left{
	display:block;
	margin:0 auto;
	width:80%;
}
ul.top_policy li.top_policyli_right {
    display: block;
    margin: 10px auto 0;
    width: 100%;
    text-align: center;
}
/**** TOPページ_Introduction ****/
#c_intro {
    padding: 40px 0px 70px 0px;
}
ul.top_intro{
	margin-top:30px;
}
ul.top_intro li.top_introli {
    display: block;
    margin: 30px auto 0;
    width: 90%;
}
.ti_txt {
    font-size: 100%;
    margin: 0 auto 20px;
    text-align: center;
	height: auto;
}
/**** TOPページ_Afterschool ****/	
#c_afterschool {
    padding: 40px 0px 70px 0px;
}
h2#top_afterschool_jp {
     margin-bottom: 0px;
	}
/**** TOPページ_Instagram ****/
#c_insta {
    padding: 40px 0px 70px 0px;
}
h2#top_insta_jp {
    margin-bottom: 20px;
}
/**** TOPページ_Access ****/
#c_access {
    padding: 40px 0px 50px 0px;
}
h2#top_access_jp {
    margin-bottom: 30px;
}
/**** TOPページ_Recruit ****/
#c_recruit {
    padding: 30px 0px 30px 0px;
}
li.top_recruitli {
    display: block;
    vertical-align: top;
    margin: 0px auto;
    width: 90%;
}
li.top_recruitli:last-child {
    margin-right: 0px;
	width: 90%;
	margin: 0 auto;
}
h2#top_recruit_jp {
    margin-left: 0px;
    text-align: center;
}
h2#top_recruit_jp:before {
    margin: 40px auto 18px;
}
p.top_recruit_txt {
    text-align: center;
}
.top_recruit_btn {
    text-align: center;
}
.top_recruit_photo {
    width: 520px;
}
/******************* #Footer ***********************/
.ft_nav{
	width:100%;
	margin:0px auto 0;
}
.ft_nav ul{
    margin: 0 auto;
    width: 100%;
    }
.ft_nav ul li{
    display: block;
    font-size: 90%;
    margin-right: 0px;
    text-align: left;
    color: #000;
    list-style-type: none;
    padding-top: 0px;
}
.ft_nav ul li.snav{
    display: block;
    font-size: 75%;
    margin-right: 0px;
    text-align: left;
    color: #000;
    list-style-type: none;
    padding-top: 0px;
}
.ft_nav ul li a,.ft_nav ul li.snav a{
    display: block;
    color: #333;
    text-decoration: none;
    border-bottom: 1px solid #d7d7d7;
    line-height: 270%;
    padding-left: 20px;
}
/*.ft_nav ul li.mfirst a{
    border-top: 1px solid #d7d7d7;
}*/
.ft_nav ul li a:hover,.ft_nav ul li.snav a:hover{
	background:#91a1d2;
	color:#fff;
	}
.ft_nav ul li a::before {
	content:none;
}
.ft_menu {
    background: #f1f0ef;
    padding: 0px 0px 0px 0px;
}
.ft_telno {
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    letter-spacing: 0.1rem;
}
}


/***********************************************/
/*                 780px                       */
/***********************************************/

@media only screen and (max-width: 780px) {
.sp{
	padding:0 5%;
}
/**** TOPページコンテンツ ****/
/**** TOPページ_News ****/	
li.top_news_box {
	width:49%;
	margin-bottom:10px;
}
.top_news_ttl{
    font-size: 92%;
    line-height: 110%;
}

/** top_news banner_button **/
ul.tn_btn{
	margin-top:30px;
}
ul.tn_btn li.tn_btnli{
	display:block;
	margin-right:0px;
	margin-bottom:20px;
}
ul.tn_btn li.tn_btnli:last-child{
	margin-bottom:0px;
}	
/**** TOPページ_Policy ****/	
p.top_policy_p {
    font-size: 1.0rem;
    line-height: 1.625;
}
.top_policy_btn {
    margin-top: 30px;
}

/**** TOPページ_Afterschool ****/
ul.top_after_box {
    margin-top: 30px;
}
.top_aftli_txt{
    font-size: 1.0rem;
    line-height: 1.625;
}
}

/***********************************************/
/*                 690px                       */
/***********************************************/

@media only screen and (max-width: 690px) {
/******************* ヘッダー *****************/
    #mobile-head {
        height: 80px;
    }
    #global-nav {
        top: -476px;
    }
.sub_h1{
    top: 9px;
    left: 77px;
    font-size: 0.5em;
    text-align: left;
    line-height: 125%;
	}
.sub_h1_name{
		display:block;
	}

/******************* #Content *****************/
#content {
    padding: 87px 0 0 0;
}

}

/***********************************************/
/*                 670px                       */
/***********************************************/

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




}

/***********************************************/
/*                 585px                       */
/***********************************************/

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

/*************** Header *******************/
.head-right ul li.tel_btn {
	font-size:80%;
	}
#top-head.fixed .logo img, #top-head .logo img {
    width: 220px;
    height: auto;
    position: absolute;
    top: 5px;
}
.sub_h1 {
    letter-spacing: 0.07em;
    font-size: 0.5em;
    position: absolute;
    top: 6px;
    left: 68px;
    text-align: left;
    line-height: 125%;
    font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif;
    margin: 0px!important;
}
.sub_h1_name{
		display:block;
	}
.tophead_btm {
height:7px;

}
/**** TOPページコンテンツ ****/
/**** TOPページ_News ****/	
#c_news {
    padding: 40px 0px 50px 0px;
}
h2#top_news_jp{
	margin-bottom:30px;
	}
ul.top_news_area {
    margin-left: 20px;
}	
li.top_news_box {
	float:none;
	width:100%;
	margin-bottom:10px;
}
.j_photo {
	margin: 0px 15px 0px 0px;
    width: 28%;
}	
ul.top_news_contlist{
	width:65%;
}
/**** TOPページ_Policy ****/	
#c_policy {
    padding: 40px 0px 50px 0px;
}
h2#top_policy_jp {
    margin-bottom: 30px;
}
p.top_policy_p {
    /* line-height: 200%; */
    font-size: 1.0rem;
   line-height: 1.4;
}
ul.top_policy li.top_policyli_right {
    padding: 0px 20px;
}
/**** TOPページ_Intro ****/	
#c_intro {
    padding: 40px 0px 50px 0px;
}
h2#top_intro_jp {
    margin-bottom: 30px;
}
.ti_txt {
  line-height: 1.4;
}
/**** TOPページ_Afterschool ****/	
#c_afterschool {
    padding: 40px 0px 50px 0px;
}
h2#top_afterschool_jp {
    margin-bottom: 30px;
}
ul.top_after_box li.top_aftli {
    width: 100%;
}
.top_aftli_txt {
    line-height: 1.4;
}
/**** TOPページ_Instagram ****/	
#c_insta {
    padding: 40px 0px 50px 0px;
}
h2#top_insta_jp {
    margin-bottom: 30px;
}
/**** TOPページ_Recruit ****/	
p.top_recruit_txt {
    line-height: 1.4;
}
}

/***********************************************/
/*                 520px                       */
/***********************************************/

@media only screen and (max-width: 520px) {
.head-right ul{
	margin-right:0px;    
	margin-top: 0px;
}
.head-right ul li.tel_btn {
	display:none;
	}


}
/***********************************************/
/*                 480px                       */
/***********************************************/

@media only screen and (max-width: 480px) {
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
.main_pc { display: none !important; }
.main_sp { display: block !important; }

/**** TOPページコンテンツ ****/
/******************* #Mainvisual *****************/
.slick-slide .caption_01 {
    top: 40%;
    font-size: 1.3rem;
    letter-spacing: -0.01em;
}
/**** TOPページ_News ****/	
h2#top_news_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
}
h2#top_news_jp:before {
    width: 100px;
    height: 73px;
}
/**** TOPページ_Policy ****/	
h2#top_policy_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
}
h2#top_policy_jp:before {
    width: 100px;
    height: 73px;
}	
/**** TOPページ_Introduction ****/
h2#top_intro_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
}	
h2#top_intro_jp:before {
    width: 201px;
    height: 73px;
}
/**** TOPページ_Afterschool ****/
h2#top_afterschool_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
}	
h2#top_afterschool_jp:before {
    width: 203px;
    height: 94px;
}
/**** TOPページ_Instagram ****/
h2#top_insta_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
}	
h2#top_insta_jp:before {
    width: 154px;
    height: 73px;
}
/**** TOPページ_Access ****/	
h2#top_access_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
}
h2#top_access_jp:before {
    width: 110px;
    height: 36px;
}	
/**** TOPページ_Recruit ****/	
h2#top_recruit_jp {
    font-size: 0.8em;
    letter-spacing: .10em;
    margin-top: 10px;
    margin-bottom: 20px;
}
h2#top_recruit_jp:before {
    width: 159px;
    height: 38px;
}
/***** Footer ******/
.footer_left_logo {
    width: 275px;
    height: 64px;
}
}

/***********************************************/
/*                 380px                       */
/***********************************************/

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

/**** TOPページコンテンツ ****/
/******************* #Mainvisual *****************/
.slick-slide .caption_01 {
    top: 40%;
font-size: 1.1rem;
    letter-spacing: -0.01em;
}

}
/***********************************************/
/*                 320px                       */
/***********************************************/

@media only screen and (max-width: 320px) {
/******************* ヘッダー *****************/
#top-head.fixed .logo img, #top-head .logo img {
    width: 190px;
    height: auto;
    position: absolute;
    top: 13px;
}
.logo_area h1 {
	top: 4px;
    left: 60px;
    font-size: 65%;
}
/*************** Header *******************/
.sub_h1 {
    top: 9px;
    left: 58px;
}


}