﻿.bg_color1 {background-color: #024c22;}
.bg_color2 {background-color: #f5f5f5;}
.bg_color3 {background-color: #e89000;}
.bg_color4 {background-color: #fff5dd;}
.txt_color1 {color: #024c22;}
.txt_color3 {color: #e89000;}
.border_color1 {border-color: #024c22;}
.border_color3 {border-color: #e89000;}
.hvr_bg_color1:hover {background-color: #024c22;}
/* ----------　all　---------- */
.linkStyle{
	color:#e89000;
}
.linkStyle:hover{
	color:#e89000;
	opacity: 0.7;
	transition: all 0.5s;
}
/*body, .txt_color_nomal {*/
/*    color: #024c22;*/
/*}*/
body{
    font-family:'Noto Sans JP',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
.font_en, .date, a[href^="tel:"], a[href^="mailto:"] {
    font-family: 'Outfit', 'Noto Sans JP','Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
header{
    background-color: #ffffff!important;
    box-shadow: 1px 5px 10px #efefef;
}
#main_menu ul li a {
    font-weight: bold;
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 2px);
}
#main_menu ul li a::before {
    background-color: #e89000;
}
header .head_box .tel_bt a{
    color: #024c22;
}
header .head_box .tel_bt a:hover {
    background-color: #024c22;
    color: #fff;
}
header .head_box .link_box{
    margin-bottom: 30px;
}
header .head_box .link_box li {
    width: 13%!important;
    margin: 0 2%;
}
.button:hover::after {
    box-shadow: inset 0 0 0 15em rgb(2 76 34);
}
footer .logo img{
        max-width: 300px;
}

#sp_nav li {
    font-size: -webkit-calc(1rem + 4px);
    font-size: calc(1rem + 4px);
    padding: 15px;
}
#sp_nav li a{
    font-weight: bold;
}
/* ----------　TOP　---------- */
#main_img {
    max-height: 100%;
    min-height: auto;
}
#main_img img {
    max-height: 100vh;
    min-height: auto;
    object-position: 50% 5%;
}
#contents1 .point {
    letter-spacing: 4px;
    font-weight: bold;
    line-height: 2.5;
    max-width: 800px;
    border: 2px solid #014c23;
    padding: 30px;
    border-radius: 10px;
}
#contents1 .point i{
    color: #014c23;
    padding-right: 5px;
    font-size: -webkit-calc(1rem + 6px);
    font-size: calc(1rem + 6px);
}
#contents1 .point span {
    font-size: -webkit-calc(1rem + 5px);
    font-size: calc(1rem + 5px);
    COLOR: #e89000;
}
#contents1 h2,#contents2 h2,#contents3 h3{
    font-weight: bold;   
}
#contents2{
    background-color: #e89000;
    position: relative;
}
#contents2:before {
    content: "";
    background-color: rgba(232, 144 ,0 ,0.8);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
}
#contents2 .con2_wrap{
    position: relative;
}
#contents2 .con2_box {
    background-color: #f5f5f5;
    padding: 30px 50px;
}
#contents2 .con2_box figure{
    width: 100%!important;
    max-width: 1000px;
}
#contents3 {
    background-color: #edf2ef;
    background-color: #faf2e4;
}
#contents3 h3{
    color: #024c22;
}
#contents3 div .txt6 ,#contents3 div .txt8 {
    color: #212121;
}
#attach{
    display: none;
}
#top_cms .cms_title h2{
    font-size: -webkit-calc(1rem + 20px);
    font-size: calc(1rem + 20px);
}
/* ----------　下層ページ　---------- */
#page_title h2{
    font-size: -webkit-calc(1rem + 22px);
    font-size: calc(1rem + 22px);
}
/* タブ切り替え */
#cate_list li.active a{
	color: #ffffff;
	background-color: #505050;
}
/* タブ切り替え  リスト */
#cate_list li{
	vertical-align: top;
	margin: 5px 2%;
}
#cate_list li a{
	background-color: transparent;
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
}
/* コース案内 */
#cms_6-b .cate_box, #cms_6-b .cate_box .box_txt1, #cms_6-b .cate_box .box_txt2,.cms_6-b .cate_box, .cms_6-b .cate_box .box_txt1, .cms_6-b .cate_box .box_txt2 {
    border-color: #0c572c;
}
#cms_6-b .sub_cate .cate_title,.cms_6-b .cate_title{
    border-radius: 0px;
    background-color: #0c572c;
}
#cms_6-b .cate_box,.cms_6-b .cate_box{
    border-bottom: 1px solid #ccc;
}
#cms_6-b .cate_box:last-child,.cms_6-b .cate_box:last-child{
    border-bottom: 1px solid #0c572c;
}
#cms_6-b .box_txt1,.cms_6-b .box_txt1{
        border-right: none;
    background-color: #f5f5f5;
    color: #e89000;
}

/* 生徒さん&親御さんの声 */
.v_type2 .demo_box {padding-top: 70px}
.v_type2 .cate ,#top_cms .v_type2 {counter-reset: number 0;}
.v_type2 .cate_box {padding: 50px 20px 30px;}
.v_type2 .cate_box:before {
    counter-increment: number 1;
    content: "0" counter(number);
    display: inline-block;
    position: absolute;
    top: -43px;
    left: -5px;
    z-index: 1;
    font-size: 80px;
    font-weight: 100;
    font-style: italic;
    color: #e89000;
    background-color: #fff;
    line-height: 1;
    padding: 0 25px 0 0;
}
/* よくある質問 */
.qa_type1 .cate_box {
	border-radius: 10px;
	border: 1px solid #909090;
}
.qa_type1 .cate_box .arrow {
	position: absolute;
	left: 2px;
	top: 50%;
	margin-top: 0px;
	transform: translateY(-50%);
}
.qa_type1 .cate_box .open_bt{
	position: relative;
	width: 100%;
	cursor: pointer;
	padding: 20px 0
}
.qa_type1 .cate_box .open_bt .arrow::before, .qa_type1 .cate_box .open_bt .arrow::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 1px;
	background-color: #5c5c5c;
}
.qa_type1 .cate_box .open_bt .arrow::before {
	top: 48%;
	left: 15px;
	transform: rotate(0deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow::after {
	top: 48%;
	left: 15px;
	transform: rotate(90deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow.arrow_be::before {
	transform: rotate(-135deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow.arrow_be::after {
	transform: rotate(135deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .box_title1 {
	display: inline-block;
	position: relative;
	letter-spacing: 1px;
	cursor: pointer;
	margin-left: 87px;
}
.qa_type1 .cate_box .open_bt .box_title1::before {
	content: "Q.";
	position: absolute;
	left: -32px;
	top: 0px;
	display: inline-block;
	vertical-align: baseline;
	color: #f57f40;
}
.qa_type1 .cate_box .box_item {
	display: none;
	padding: 0px 30px 0px;
}
.qa_type1 .cate_box .box_txt1 {
	padding: 1em;
	background-color: #f5f5f5;
	border-radius: 5px;
}

/* 会社情報 */
/* お問い合わせ */
/* プライバシーポリシー */
/* サイトマップ */

/*-------------------------------------------------------
			            IE
-------------------------------------------------------*/

@media all and (-ms-high-contrast: none){
  .sample{

  }
}

/*-------------------------------------------------------
			          タブレット
-------------------------------------------------------*/
@media screen and (max-width: 768px){
header .head_box {
    max-width: 700px;
}    
header .head_box .pc_box{
    display: flex;
}   
header #logo {
    margin-left: 0;
}   
header .member_banner{
    position: relative;
    width: 30%;
    margin-right: 50px;
}
.head_banner {
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
    width: 70%;
    z-index: 2;
}
footer{
        padding-bottom: 150px;
}
footer .link_box li {
    max-width: 40px;
}
.fat-nav__wrapper{
    height: 100%!important;
}
#sp_nav li:last-child a{
        background-color: #e89000;
    padding: 10px 20px;
    color: #fff;
    letter-spacing: 3px;
}
/* ----------　下層ページ　---------- */    
#page_title .title_img {
    height: 220px;
}
#page_title .page_box {
    padding: 50px 0 0;
}
article.page_wrap {
    padding: 70px 6%;
}
.cate_list {
    margin-bottom:70px;
}
/* よくある質問 */    
.qa_type1 .cate_box .open_bt .box_title1 {
	padding-right: 20px;
}
}

/*-------------------------------------------------------
		            	スマホ
-------------------------------------------------------*/
@media screen and (max-width: 667px){
.head_banner {
    width: 85%;
}
header #logo{
    max-width: 165px;
}
header .member_banner {
    width: 40%;
    margin-right: 55px;
}
header .member_banner a{
    font-size: -webkit-calc(1rem - 2px);
    font-size: calc(1rem - 2px);
    padding: 10px 0;
}
footer {
    padding-bottom: 100px;
}    
footer .logo{
    margin: 10px auto 30px;
    width: 90%;
}
footer .link_box li {
    width: 13%!important;
    margin: 0 3%;
}
.fat-nav__wrapper{
    transform: translateY(0%)!important;
}
#sp_nav li {
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);
    padding: 10px;
}

/* ----------　TOP　---------- */
#contents1 {
    padding: 70px 10%;
}
#contents1 .point {
    letter-spacing: 0px;
    font-size: -webkit-calc(1rem + 0px);
    font-size: calc(1rem + 0px);
    padding: 20px 15px;
}
#contents1 .point i {
    font-size: -webkit-calc(1rem + 1px);
    font-size: calc(1rem + 1px);
}
#contents1 .point span {
    font-size: -webkit-calc(1rem + 2px);
    font-size: calc(1rem + 2px);
}
#contents2 {
    padding: 100px 5% 150px;
}
#contents2 .con2_box {
    padding: 30px 20px;
}
#contents2 .con2_box figure {
    padding: 10px 5px;
}
/* ----------　下層ページ　---------- */    
#page_title .title_img {
    height: 170px;
}
#page_title .page_box {
    padding: 40px 0 0;
}
#page_title h2 {
    font-size: -webkit-calc(1rem + 19px);
    font-size: calc(1rem + 19px);
    letter-spacing: 3px;
}
article.page_wrap {
    padding: 50px 6%;
}
.cate_list {
    margin-bottom: 50px;
}
.cate_list li {
    padding: 8px 0;
}
/* 生徒さん&親御さんの声 */
.v_type2 .cate_box{padding: 42px 25px 25px;}
.v_type2 .cate_box:before{top: -31px;font-size: 48px;}
/* よくある質問 */     
.qa_type1 .cate_box .open_bt {
	padding: 5px 0 7px;
}
.qa_type1 .cate_box .box_item {
    padding: 0px 0px 0px 25px;
}
.qa_type1 .cate_box .arrow {
    left: -10px;
}
.qa_type1 .cate_box .open_bt .box_title1 {
    margin-left: 58px;
    padding-right: 0px;
}
.qa_type1 .cate_box .box_txt1 {
	padding: 1em 1.2em;
	font-size: -webkit-calc(1rem - 1px);
    font-size: calc(1rem - 1px);
}
.qa_type1 .cate_box .open_bt .box_title1::before {
    left: -24px;
}
}