/* ============ ベース指定 ============ */
/* リセット */
* { margin:0; padding:0; }
/* clearfix */
*:after { display:block; clear:both; }
/* HTML5に対応していないOS対策 */
article, aside, figure, footer, header,hgroup, nav, section { display:block; }

/* css */
body {
    height: 100%;
    margin: auto;
    color: #444444;
    background-color: #ffffff;
    font-size: 14.2px;
    letter-spacing: 0.04em;
    font-family: "UDタイポス510";
    line-height: 160%;
}
img {
    border: 0;
    max-width: 100%;
    height: auto;
    width /***/: auto;
    vertical-align: top;
}
a:link , a:visited {
    color: #000000;
    text-decoration: none;
    border: 0;
}
a:hover {
    color: #666666;
    text-decoration: none;
    border: 0;
}

a:hover img {
    border: 0;
    opacity:0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity:0.7;
    -khtml-opacity: 0.7;
}

.clear {
    clear: both;
    -moz-box-shadow: 0 0 0 rgba(0,0,0,.00);
    -webkit-box-shadow: 0 0 0 rgba(0,0,0,.00);
    box-shadow: 0 0 0 rgba(0,0,0,.00);
}
/*スペース*/
.inner {
    max-width: 960px;
    margin: 0 auto;
}
.sp_t {
    padding-top: 2%;
}
.sp_b {
    padding-bottom: 2%;
}
.sp_l {
    padding-left: 2%;
}
.sp_r {
    padding-right: 2%;
}
.sp_tb {
    padding: 2% 0;
}
.pd {
    padding: 2%;
}

/*フォント*/
.xxlarge {
    margin: 2% 0;
    font-size: 1.7em;
    font-weight: bold;
    line-height: 220%;
}
.xlarge {
    margin: 1% 0;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 200%;
}
.large {
    font-size: 1.2em;
    font-weight: bold;
    line-height: 180%;
}
.small {
    font-size: 0.85em;
    line-height: 150%;
}
.xsmall {
    font-size: 0.5em;
    line-height: 150%;
}
/*カラー*/
.red {
    color: #d80c18;
}
.green {
    color: #8FC31F;
}
.orange {
    color: #F39800;
}
.blue {
    color: #38A1DB;
}
.pink {
    color: #F19EC2;
}
.purple {
    color: #A674B0;
}
.yellow {
    color: #FFFBC7;
}
/*pc tb smp*/
.smp , .tb {
    display: none;
}
.pc , .pctb {
}
/*=====共通=====*/
/*header*/
h1 {
    text-align: center;
    font-size: 1em;
}
header {
    text-align: center;
}
/*menu*/
#global_nav {
    width: 100%;
    height: 50px;
    margin: 0 auto;
    border-top: 6px #c9bc9d solid;
    border-bottom: 6px #c9bc9d solid;
    background-color: #2C893A;
    text-align: center;
    position:relative;
}
#global_nav ul {
    width: 480px;
    margin: auto;
    text-align: center;
}

#global_nav li {
    width: 160px;
    margin: 0 auto;
    list-style: none;
    float: left;
}
#global_nav li a:hover img {
    border: 0;
    opacity:1.0;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    -moz-opacity:1.0;
    -khtml-opacity: 1.0;
}
/*ハンバーガー*/
.menu {
    display: none;
}
label {
    display: none;
}
input[type="checkbox"].on-off{
    display: none;
}
.menu ul {
    display: none;
}
.menu li {
    display: none;
}
input[type="checkbox"].on-off + ul{
    display: none;
}
input[type="checkbox"].on-off:checked + ul{
    display: none;
}
#t_nav_smp {
    display: none;
}
#t_nav_smp li {
    display: none;
}
#m_home a , #m_info a , #m_contact a {
    display: none;
}
/*cover*/
#cover_pc {
    width: 100%;
    height: 400px;
    background: url(../imgs/cover_pc.png) no-repeat center top;
}
#cover_tb , #cover_smp {
    display: none;
}
#cover_s {
    width: 100%;
    height: 160px;
    margin: 0 auto;
    background: url(../imgs/bg_wood.jpg) repeat;
    text-align: center;
}
/*container*/
#container {
    width: 100%;
    max-width: 960px;
    margin: 1.5% auto;
    text-align: left;
    overflow: hidden;
}
/*footer*/
footer {
    display: flex;
}
#footer_l {
    position: relative;
    overflow: hidden;
    display: inline;
    width:60%;
    margin: 0;
    float: left;
}
#footer_r {
    position: relative;
    overflow: hidden;
    display: inline;
    width:40%;
    margin: 0;
    float: right;
}
#footer_address {
    width:60%;
    margin: 3% auto 2%;
}
.add_l {
    width: 18%;
    padding-top: 1.5%;
    margin-right: 2%;
    font-size: 0.9em;
    float: left;
}
.add_m {
    width: 18%;
    padding-top: 1.5%;
    margin-right: 2%;
    font-size: 0.9em;
    float: left;
}
.add_r {
    width: 60%;
    padding-top: 1.5%;
    margin-bottom:  0;
    font-size: 0.9em;
    text-align: left;
    float: right;
}
.kobetsu {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
}
.kobetsu_l h2 , .kobetsu_m h2 , .kobetsu_r h2 {
        color: #38A1DB;
        margin:1% auto;
        text-align: center;
        padding: 0.25em;
        border-top: solid 2px #38A1DB;
        border-bottom: solid 2px #38A1DB;
        background: -webkit-repeating-linear-gradient(-45deg, #eff9ff, #eff9ff 3px,#d8effe 3px, #d8effe 7px);
        background: repeating-linear-gradient(-45deg, #eff9ff, #eff9ff 3px,#d8effe 3px, #bbddf3 7px);
}
.kobetsu_l h3 {
    width: 60%;
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin:1% auto;
    color: #fd6dbb;
    text-align: center;
}
.kobetsu_l h3:before, .kobetsu_l h3:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: #fd6dbb;
}

.kobetsu_l h3:before {
    left:0;
}
.kobetsu_l h3:after {
    right: 0;
}
.kobetsu_l , .kobetsu_m {
    position: relative;
    overflow: hidden;
    display: inline;
    width: 29%;
    margin-right: 2%;
    padding: 1.5%;
    background-color: #ffffff;
    border-radius: 7px;
    float: left;
}
.kobetsu_r {
    position: relative;
    overflow: hidden;
    display: inline;
    width: 29%;
    padding: 1.5%;
    background-color: #ffffff;
    border-radius: 7px;
    float: right;
}
.jimu01 {
    overflow: hidden;
    padding: 1.5% 1%;
    margin-bottom: 2%;
    color: #ffffff;
    text-decoration: none;
    background-color: #8FC31F;
    font-size: 0.9em;
    text-align: center;
    border-radius: 25px;
}
.jimu02 {
    overflow: hidden;
    padding: 1.5% 1%;
    margin-bottom: 2%;
    color: #ffffff;
    text-decoration: none;
    background-color: #F39800;
    font-size: 0.9em;
    text-align: center;
    border-radius: 25px;
}
.jimu03 {
    overflow: hidden;
    padding: 1.5% 1%;
    margin-bottom: 2%;
    color: #ffffff;
    text-decoration: none;
    background-color: #00bfff;
    font-size: 0.9em;
    text-align: center;
    border-radius: 25px;
}
address {
    clear: both;
    margin-top: 1%;
    color: #ffffff;
    border-top: 6px #c9bc9d solid;
    background-color: #2C893A;
    font-size: 0.85em;
    text-align: center;
}
/*=====各ページ=====*/

/*home*/
#home {
    width: 100%;
    margin: 0 auto;
    background: url(../imgs/bg_wood_lg.jpg) repeat;
    text-align: left;
    overflow: hidden;
}
#home h2 {
    
}
.smp_copy {
    display: none;
}
#title {
    
}
#title_s {
    display: none;
}
.title {
    padding-bottom: 1%;
    color: #2C893A;
    font-weight: bold;
    font-size: 1.4em;
    text-align: center;
}
.t_top_l {
    position: relative;
    overflow: hidden;
    display: inline;
    width: 48%;
    padding: 1.5% 0;
    float: left;
}
.t_top_r {
    position: relative;
    overflow: hidden;
    display: inline;
    width: 48%;
    padding: 1.5% 0;
    float: right;
}
.t_top_smp {
    display: none;
}
.sansu_kyoshitsu {
    width:100%;
	background: url(../imgs/bg_line_bg.gif) repeat;
    padding: 1.5% 0;
}
.sansu_kyoshitsu.inner {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
}


.exe {
    clear: both;
    padding: 0.7% 0;
    background-color: #FFF100;
}
#letter {
    clear: both;
    padding: 0.7% 0;
    background-color: #8FC31F;
}
.pac {
    display: flex;
    margin-bottom: 2%;
}
.pac_l {
    position: relative;
    overflow: hidden;
    display: inline;
    width: 48%;
    margin-right: 1%;
    padding: 1.5%;
    background: #ffffff;
    border-radius: 4px;
    float: left;
}
.pac_r {
    position: relative;
    overflow: hidden;
    display: inline;
    width: 48%;
    margin-left: 1%;
    padding: 1.5%;
    background: #ffffff;
    border-radius: 4px;
    float: right;
}

.pac_r h3 , .pac_l h3 {
    position: relative;
    padding: 0.25em 1em;
    border-top: solid 2px black;
    border-bottom: solid 2px black;
    text-align: center;
}
.pac_r h3:before , .pac_l h3:before, .pac_r h3:after , .pac_l h3:after {
    content: '';
    position: absolute;
    top: -7px;
    width: 2px;
    height: -webkit-calc(100% + 14px);
    height: calc(100% + 14px);
    background-color: black;
}
.pac_r h3:before , .pac_l h3:before {
    left: 7px;
}
.pac_r h3:after , .pac_l h3:after {
    right: 7px;
}



/*self*/
#self {
    width: 100%;
    max-width: 960px;
    margin: 1.5% auto;
    text-align: left;
    overflow: hidden;
}
#self h2 {
    margin: 3% 0 0;
    padding: 10px 0 0 45px;
    height: 40px;
    color: #333333;
    background: url(../imgs/i_star.png) left -2px no-repeat;
    color: #2C893A;
    font-size: 1.6em;
    margin-bottom: 2%;
}
#self h3 {
    margin: 2% 0;
    font-size: 1.2em;
    
}
#s_title {
    display: none;
    overflow: hidden;
    clear: both;
    margin: 0 auto;
    text-align: center;
}
#self.title {
	text-align: center;
}

#keisan {
}
#keisan .mtitle {
    font-size: 1.3em;
    color: #007DC9;
    font-weight: bold;
    text-align: center;
}
#keisan .stitle {
    font-size: 1em;
    color: #007DC9;
    text-align: center;
}
#keisan .midashi {
    margin: 1% auto;
    font-size: 1.0em;
    font-weight: bold;
    color: #00A0E9;
    background-color: #000000;
    text-align: center;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}
#keisan_flame {
    padding: 2%;
    margin: 0 auto 2%;
    border: 5px #000000 solid;
    background: url(../imgs/dot_blue.png) repeat;
}
#kanji {
}
#kanji .mtitle {
    font-size: 1.3em;
    color: #EB6EA5;
    font-weight: bold;
    text-align: center;
}
#kanji .midashi {
    margin: 1% auto;
    font-size: 1.0em;
    font-weight: bold;
    color: #EB6EA5;
    background-color: #000000;
    text-align: center;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}
#kanji_flame {
    padding: 2%;
    margin: 0 auto 2%;
    border: 5px #000000 solid;
    background: url(../imgs/strip_pink.png) repeat;
}
#kokugo {
}
#kokugo .mtitle {
    font-size: 1.3em;
    color: #EA5514;
    font-weight: bold;
    text-align: center;
}
#kokugo .midashi {
    margin: 1% auto;
    font-size: 1.0em;
    font-weight: bold;
    color: #EA5514;
    background-color: #000000;
    text-align: center;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}
#kokugo_flame {
    padding: 2%;
    margin: 0 auto 2%;
    border: 5px #000000 solid;
    background: url(../imgs/note_orange.png) repeat;
}
table.dokusyo {
    width: 100%;
    padding: 0 2%;
    margin: 2% 0;
    border: #555555 1px solid;
    border-collapse: collapse;
    empty-cells: show;
    border-spacing: 0;
    background-color: #ffffff;
}
table.dokusyo td {
    padding: 1%;
    font-size: 1em;
    border: #555555 1px solid;
    border-collapse: collapse;
    empty-cells: show;
}
#doku_chu {
}
#doku_chu .mtitle {
    font-size: 1.3em;
    color: #EA5514;
    font-weight: bold;
    text-align: center;
}
#doku_chu .midashi {
    margin: 2% auto;
    font-size: 1.2em;
    font-weight: bold;
    color: #ffffff;
    background-color: #2EA7E0;
    text-align: center;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}
#doku_chu_flame {
    padding: 2%;
    margin: 0 auto 4%;
    border: 5px #000000 solid;
    background: url(../imgs/note_orange.png) repeat;
}
#doku_chu .dokuc_l {
    width: 63%;
    margin-right: 2%;
    float: left;
}
#doku_chu .dokuc_l .flame {
    padding: 4%;
    margin: 4% auto ;
    border: 3px #2EA7E0 solid;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}

#doku_chu .dokuc_r {
    width: 35%;
    margin: 0;
    float: right;
}

#doku_chu .dokuc_r img {
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    border-radius: 15px;
}


/*info*/
#info {
    width: 100%;
    max-width: 960px;
    margin: 1.5% auto;
    text-align: left;
    overflow: hidden;
}
#info h2 {
    margin: 3% 0 0;
    padding: 10px 0 0 45px;
    height: 40px;
    color: #333333;
    background: url(../imgs/i_star.png) left -2px no-repeat;
    color: #2C893A;
    font-size: 1.6em;
    margin-bottom: 2%;
}
#info h3 {
    margin: 2% 0;
    font-size: 1.2em;
    
}
#s_title {
    display: none;
    overflow: hidden;
    clear: both;
    margin: 0 auto;
    text-align: center;
}
/*教室一覧*/
table.schoollist {
    width: 100%;
    padding: 0 2%;
    margin: 2% 0;
    border: #555555 1px solid;
    border-collapse: collapse;
    empty-cells: show;
    border-spacing: 0;
    background-color: #ffffff;
}
table.schoollist th {
    padding: 2% 3%;
    font-weight: normal;
    line-height: 130%;
    border: #555555 1px solid;
    border-collapse: collapse;
    empty-cells: show;
}
table.schoollist td {
    padding: 1%;
    font-size: 1em;
    border: #555555 1px solid;
    border-collapse: collapse;
    empty-cells: show;
}
/*contact*/
#contact {
    width: 100%;
    max-width: 960px;
    margin: 1.5% auto;
    text-align: left;
    overflow: hidden;
}
#contact h2 {
    margin: 3% 0 0;
    padding: 10px 0 0 45px;
    height: 40px;
    color: #333333;
    background: url(../imgs/i_star.png) left -2px no-repeat;
    color: #2C893A;
    font-size: 1.6em;
    margin-bottom: 2%;
}
#contact h3 {
    margin: 2% 0;
    font-size: 1.2em;
}
.privacy .title {
    position: relative;
    padding: 0;
    margin: 2% 0;
    color: #2C893A;
    font-size: 1.2em;
    font-weight: bold;
}

.privacy ul {
    padding-left: 0;
    padding: 10px 0;
    line-height: 140%;
}

.privacy li {
    margin-left: 2em;
    font-size: 0.9em;
    list-style-image: url(../imgs/i_key.png);
}
/*thanks設定*/
.thanks_t {
    position: relative;
    padding: 0;
    margin: 2% 0;
    color: #8FC31F;
    font-size: 1.2em;
    font-weight: bold;
}
.btn a:link , .btn a:visited {
    overflow: hidden;
    width: 30%;
    padding: 2% 4% 2%;
    margin: 3% auto 2%;
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    background: #2C893A;
    font-size: 1.2em;
    text-align: center;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0 0 3px rgba(0,0,0,0.5);
    -webkit-box-shadow: 0 0 3px rgba(0,0,0,0.5);
    box-shadow: 0 0 3px rgba(0,0,0,0.5);
}
.btn a:hover {
    background-color: #000000;
}
/*リターントップ*/
#return_top a {
    position:absolute;
    position:fixed;
    right:50px;
    bottom:50px;
    display:block;
    width:100px;
    height:87px;
    background:url(../imgs/top.png) no-repeat left top;
}
#return_top a:hover {
    background:url(../imgs/top_ro.png) no-repeat right top;
    text-decoration:none;
}
#m_return_top {
    display: none;
}
