@charset "utf-8";

/*
-------------------------------------------------------------------
	SP
-------------------------------------------------------------------
*/

#sp-nav{
}

#content .thid .map{
    
}
#content .thid .map iframe{
    width: 260px;
    height: 180px;
    
}
#sp-mainimg{
    display: none;
}
#page-top{
    display: none;
}

@media screen and (min-width:768px){
    .sp-only{
        display: none;
    }
}
@media screen and (max-width:767px){
    /*------------------------------------sp nav
    */
    body{
        background: none;
    }
    body *{
        box-sizing: border-box;
    }
    h1{
        height:0;
        font-size: 0;
    }
    #sp-mainimg{
        display: block;
    }
    #sp-nav{
        display: block !important;
    }
    .pc-only{
        display: none;
    }
    
    .sp-nav_wrapper.open{
        display: block;
        height:120%;
        width:100%;
        position: fixed;
        top:65px;
        background: #fff;
    }
    .sp-nav-toggle{
        width:40px;
        height: 40px;
        border:none;
        background: none;
        position: fixed;
        right:10px;
        top:10px;
        padding: 0 8px;
        z-index: 3;
    }
    .sp-nav-toggle .icon-bar{
        height: 2px;
        width:24px;
        display: block;
        background: gray;
        
    }
    
    .icon-bar{
        transition: all 0.2s;
        -webkit-transition: -webkit-transform 0.2s;
    }
    .sp-nav-toggle .icon-bar.top-bar{
    }
    .sp-nav-toggle .icon-bar.middle-bar{
        margin-top: 6px;
    }
    .sp-nav-toggle .icon-bar.bottom-bar{
        margin-top: 6px;
    }
    .sp-nav-toggle.open{
        /*background: orange;*/
    }
    
    .sp-nav-toggle.open .icon-bar.top-bar{
        transform: rotate(-45deg);
        transform-origin: 90% 5px;
    }
    .sp-nav-toggle.open .icon-bar.middle-bar{
        visibility: hidden;
    }
    .sp-nav-toggle.open .icon-bar.bottom-bar{
        transform: rotate(45deg);
        transform-origin: 90% -3px;
    }
    
    .sp-nav_wrapper{
        display: none;
        padding:0 30px;
    }
    .sp-nav_wrapper img{
        max-width: 100%;
    }
    .sp-nav_list{
        font-size: 17px;
        line-height: 60px;
        margin: 30px 0 40px 0;
    }
    .sp-nav_list li::before{
        content:"";
        display: inline-block;
        width: 0;
        height: 0;
        border-top: 7px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 7px solid transparent;
        border-left: 10px solid #96d24d;
        padding-right: 10px;
        position: relative;
        top:1px;
    }
    .sp-nav_list a{
        color:#302a2a;
        text-decoration: none;
        font-weight: normal;
        display: inline-block;
        width: calc(100% - 30px);
    }
    
    
    
    /*------------------------------------disp none
    */
    #side{
        display:none;
    }
    #header .info{
        display: none;
    }
    #mainimg{
        margin-top: 65px;
    }
    #mainimg.mainimg-index h2{
        display: none;
    }
    #sp-mainimg{
        border-bottom: solid 1px #e2e2e2;
    }
    
    #nav{
        display: none;
    }
    
    /*------------------------------------common
    */
    img{
        max-width: 100%;
    }
    
    /*------------------------------------body
    */
    body{
        min-width: 100%;
    }
    
    #main {
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
    }
    
    /*header*/
    #header{
        position: fixed;
        top:0;
        height:65px;
        border-bottom:solid 1px #ddd;
        background: #fff;
        padding-bottom:0;
        width: 100%;
        z-index: 2;
        display: flex;
        align-items:center;
        padding-left: 10px;
        box-sizing: border-box;
    }
    #header .header {
        width: 100%;
    }
    #header .header .logo {
        float: none;
        padding: 0;
    }
    #header .header .logo img{
        height:45px;
    }
    
    .sp-nav_contact,
    .sp-nav_contact a{
        width:100%;
    }
    
    
    /*content*/
    #content {
        float: none;
        width: 100%;
        margin: 0;
    }
    
    
    /*------------------------------------main
    */
    #main{
        padding-top: 20px;
    }
    #main #pagetop{
        display: none;
    }
    
    
    /*------------------------------------fnav
    */
    #fnav ul {
        width: 100%;
    }
    #fnav{
        display: none;
    }
    
    
    /*------------------------------------content
    */
    #content .contact{
        margin-top: 40px;
        text-align: center;
    }
    
    .greeting ul.image li img{
        width:120px;
        height: a;
    }
    
    #content .imgleft p{
        width:100%;
    }
    
    #content .imgleft p {
        width: 100%;
        margin: 0 0 25px 0;
    }
    
    #content .imgleft .image {
        padding-top: 3px;
        margin-right: 20px;
    }

    #content ul.sec li {
        font-size: 1.2em;
        margin-bottom: 10px;
        background: url(../image/index02.jpg) left top no-repeat;
        padding: 4px 0 0 30px;
        background-size: 25px;
        background-position: left 3px;
    }
    img.banner{
        width:100%;
    }
    
    /*thid*/
    /*------------------------------------thid
    */
    #content .thid .map{
        float: none;
        height: 100%;
        margin-bottom: 20px;
    }
    #content .thid .map iframe{
        width: 100vw !important;
        height:350px;
    }
    #content .thid p{
        margin:0;
    }
    
    /*------------------------------------contact
    */
    .table-contact,
    .table-contact tbody{
        display: block;
        width:100%;
    }
    .table-contact tr{
        display: flex;
        flex-direction:column;
    }
    .table-contact tr th,
    .table-contact tr td{
        width:100% !important;
        display: block;
    }
    #mailform table td{
        padding: 10px 10px;
    }
    #mailform table td .long{
        width:100%;
    }
    #mailform table input[type="text"] {
        border: 1px solid #7F9DB9;
        height: auto;
        padding: 10px 2px;
        margin-top: 2px;
        margin-bottom: 6px;
        font-family: inherit;
        line-height: 1.2;
    }
    #mailform table textarea {
        background-color: #FFFFFF;
        border: 1px solid #7F9DB9;
        width: 100%;
        height: 120px;
        padding: 1px;
        margin: 7px 0 7px;
        font-family: inherit;
        line-height: 1.6;
    }
    #mailform p.submit button {
        background: none;
        border: none;
        width:120px;
    }

    /*------------------------------------下部バナー
    */
    #content .aside{
        display: flex;
        flex-direction:column;
        margin: 0;
    }
    
    #content .aside li{
        float: none;
        width:90%;
        margin:auto !important;
    }
    #content .aside li a img{
        width: 100%;
    }
    
    /*------------------------------------footer
    */
    #footer{
        margin-top: 50px;
    }
    
    #footer .footer {
        width: 100%;
        margin: 0 auto;
        padding: 10px 0;
    }
    
    /*------------------------------------pagetop
    */
    #page-top{
        display:block;
        width:45px;
        height:45px;
        background: #81C230;
        border-radius: 5px;
        font-size: 20px;
        text-align: center;
        line-height: 45px;
        color: #fff;
        position: fixed;
        right:15px;
        bottom: 15px;
        text-decoration: none;
        border:solid 1px #fff;
    }
    
    /*教材*/
    /*------------------------------------thid
    */
    .wrapper-video iframe{
        width:100% !important;
        height: calc((100vw - 40px) * .75); !important;
    }
}