/*基本設定用css*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure{
    margin: 0;
    padding: 0;
    border: 0;
    font-weight: inherit;
    font-style: inherit;
    font-size: 1em;
    font-family: inherit;
    vertical-align :baseline;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

table{
    border-collapse: separate;
    border-spacing: 2px;
    margin: 0 auto 5em auto;
    width: 100%;
}
th {
    width: 20%;
    background-color: transparent;
    padding: 1em 0;
    color: #000000;
    border: 2px solid #263238;
    font-weight: 700;
    text-align: center;
    background-color: #263238;
    color: #ffffff;
}

td {
    padding: 1em 0em;
    color: #000000;
    border: 2px solid #09070C;
    padding: 1em 0 1em 1em;
    background-color: transparent;
}

p{
    font-size: 1.2em;
}

blockquote:before, blockquote:after, q:before, q:after{
    content:"";
}

blockquote, q{
    quotes:"" "";
}

a img{
    border: none;
}

a {
    text-decoration: none;
}

iframe {
    width: 100% !important;
}

html, body {
    width: 100%;
    scroll-behavior: smooth;
}

body {
    font-family: serif;
    line-height: 1.5;
    color: #000000;
}
h1 {
    font-size: 2.5em;
    line-height: 1;
    padding: 1.2em 0;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
    color: #ffffff;
    font-weight:  normal;       /* 文字の太さ調整 */

}
.content_title{    
    background-color: #263238;         
    color: #1B5E20;
    width: 100%;
    margin: 0 0;
    padding: 0 0;
}

.content_title h1{
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
}

h2 {
    color: #000000;
    text-align: left;
    font-size : 1.8em; /*38px*/
    line-height : 1.3333;
    padding: 1em 0 0.5em 0;
    margin: 1em auto 3em auto;
    border-bottom: 3px solid #263238;

}

h3{
    font-size : 1.5em; /*24px*/
    line-height : 1;
    padding: 1em 0 0.3em 0;
    margin: 0 0;
    color: #EB6100;
    text-align: left;
    box-sizing: border-box;
}

h4 {
    font-size : 1.5em; /*24px*/
    line-height : 1;
    padding: 0 0;
    margin: 0.5em 0 0.5em 0;
}

hr{
    width: 100%;
    padding: 0 0;
    margin: 0 auto;
    border: 1px solid #A3CF60;
    box-sizing: border-box;
}

li{
    list-style: none;
}

.outer{
    width: 100%;
    padding: 0 0;
    margin: 0 0;
}

/*main header setting*/

.content_wrap {
    color: #000000;
    width: 100%;
    max-width: 1000px;
    height: auto;
    margin: 0 auto;
    padding: 5% 0% 7% 0%;
    box-sizing: border-box;
    background: #ffffff;
}

#about:target, #lessons:target, #reainers:target, #contact:target {
    -webkit-animation: modify 0.1s;
    animation: modify 0.1s;
}

@-webkit-keyframes modify{
    0% { padding-top: 100px; margin-top: -100px; }
    100% { padding-top: 0; margin-top: 0; }
}
@keyframes  modify{
    0% { padding-top: 100px; margin-top: -100px; }
    100% { padding-top: 0; margin-top: 0; }
}

.content_wrap p {
    text-align: justify;
    text-justify: inter-ideograph;
    margin-bottom: 3em;
}

/*リンクボタン*/
a.link_btn{
    display: block;
    margin: 0 auto;
    padding: 0.9em 0; 
    width: 200px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    background-color: #263238;
}

/*詳細ボタン設定*/
a.link_btn:active{  /* クリックした時 */
    -ms-transform: translateY(2px);
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: none;
}

a.link_btn:hover{
    cursor : pointer;
    opacity: 0.3;    
    filter: alpha(opacity=30);
    -ms-filter: "alpha( opacity=30 )";
}

.sns_link{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 0 0;
    flex-wrap: wrap;
    margin: 0 0;
}

.sns_link li{
    margin: 5em 0;
}
/*googleマップ設定*/
#map {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
}

/*page top*/
#pagetop{
    position: fixed;
    right: 5%;
    bottom: 10%;
    opacity: 0;
    -ms-filter: "alpha( opacity=0 )";
    filter:alpha(opacity:0);
    zoom:1;
    z-index: 500;
}

#pagetop a{
    display: block;
    padding: 15px;
    background: #1EA6BB;
    color:#fff;
    text-decoration: none;
    border-radius: 10px;
}

@media screen and (max-width: 896px) {
    h1{
        font-size: 2.0em;
        padding-left: 1em;
    }

    h2{
        font-size: 1.8em;
    }

    .content_wrap {
        padding: 10% 3%;
    }
}

@media screen and (max-width: 480px) {
    html, body {
        font-size: 1em;
    }

    h1{
        padding: 0.7em;
    }

    .content_title h1{
        font-size: 1.5em;
    }

    h2, h3{
        font-size: 1.4em;
    }
    
    table{
        border-collapse: collapse;
        border-spacing: 0;
    }
    th {
        width: auto;
        display: block;
        text-align: center;
        background-color: #263238;
        border: 1px solid #263238;
        color: #ffffff;
    }

    td {
        width: auto;
        display: block;
        text-align: center;
        border: 1px solid #263238;
    }
    .sns_link{
        flex-flow: column;
    }
    .sns_link li{
        width: 100%;
        margin: 1em 0;
    }

    a.link_btn{
        width: 100%;
    }

}