@media(max-width:600px){
/*******************************************
    
    base SP CSS
    
    ****************************************/
    /***********************
    
    common
    
    **************************/
    
    body{
        
    }
    
    .ib{
        width: 100%;
    }
    
    .sp_content{
    display:block !important;
    }
    .pc_content{
    display:none !important;
    }
    img.sc_icon{
        display: none !important;  
    }
    /********************************
    
    header
    
    ********************************/
    
    header{
        background: #fff;
        z-index: 999;
    }
    header:after{
        display: none;
    }
    header h1{
        position: absolute;
        height: 50px;
        display: block;
        left: 5px;
        top: 3px;
    }
    
    header h1 img {
    width: 50px;
    }
    
    header .spbtn {
    position: absolute;
    display: block;
    width: 45px;
    height: 45px;
    top: 5px;
    right: 10px;
    }
    header .spbtn:before {
    font-family: ionicons;
    content: "\f32a";
    position: absolute;
    font-size: 39px;
    left: 8px;
    line-height: 0.9;
    }
    
    header .spbtn i{
        position: absolute;
        font-size: 10px;
        display: block;
        width: 100%;
        text-align: center;
        bottom: 0;
        left: 0;
    }
    
    header nav {
    width: 100%;
    position: absolute;
    top: 60px;
    left: 0;
    background: #fff;
    display: none;
    }
    
    header nav ul li a{
        color: #111;
        display: block;
        width: 100%;
        padding: 15px 0;
    }
    
    header nav ul{
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    header nav ul li{
    width: 100%;
    border-bottom: 1px solid  #111;
    }
    
    header a.contact{
        right: 60px;
    }
    
    header a.tel{
        right: 120px;
        background: #f1f1f1;
    }
    
    header form{
        display: none;
    }
    /*********************************
    
    top_slider
    
    *********************************/
    
    #topslide .sp-slides .sp-slide:nth-child(1):after{
        display: none;
    }
    #topslide .sp-slides .sp-slide:nth-child(2):after{
        display: none;
    }
    #topslide .sp-slides .sp-slide:nth-child(3):after{
        display: none;
    }
    #topslide .sp-slide img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    }
    
    .topimg img.sp_logo{
        position: absolute;
        top: 180px;
        display: block;
        width: 90%;
        left:5%;
        z-index: 2;
    }
    
    /***********************************
    
    intro
    
    ***********************************/
    
    .intro{
        -webkit-background-size: cover;
        background-size: cover;
    }
    
    .intro .ib {
    padding: 30px 15px;
    }
    
    /********************************
    
    policy
    
    **********************************/
    
    .policy .ib{
        width: 100%;
        padding: 20px 15px 80px;
    }
    .pol_con{
        justify-content: center;
    }
    .polbox{
        width: 92%;
        padding-bottom: 10px;
    }
    article .polbox h3{
        font-size: 22px;
    }
    .polbox br{
        display: none;
    }
    
    /*********************************
    
    products
    
    ********************************/
    
    .products:before{
        height: 100px;
    }
    .products:after {
    content: '';
    height: 83px;
    width: 110%;
    left: -5%;
    bottom: -19px;
    }
    .products .ib{
        padding: 0px 15px 30px;
    }
    
    /**********************************
    
    topinfo
    
    *********************************/
    
    .top_info .ib {
    padding: 80px 15px 40px;
    }
    
    .top_info .ib .ti_con {
    background: rgba(255,255,255,.8);
    padding: 10px 0;
    }
    
    .top_info .ib .ti_con ul{
        width: 94%;margin-top: 15px;
    }
    
    .top_info .ib .ti_con ul li{
        margin-bottom: -15px;
    }
    
    /********************************
    
    subpage
    
    ********************************/
    
    .head_tit{
        height: 180px;
    }
    .head_tit h1 {
    position: absolute;
    width: 100%;
    left: 0;
    top: 82px;
    text-align: center;
    font-size: 24px;
    color: #fff;
    z-index: 99;
    }
    
    .panlist .ib{
        padding: 10px;
    }
    #content .ib {
    padding: 30px 15px;
    }
    #content h2.sub_tit span{
        font-size: 28px;
    }
    #content h2{
        padding-bottom: 10px;
        margin: 35px 0;font-size: 22px;
    }

    #content h2.sub_tit{
        font-size: 17px;
        margin-bottom: 35px;
        
    }
    #content h3{
        margin: 35px 0;    line-height: 1.2;
        font-size: 16px;
    }
    #content h3 span{
        font-size: 23px;
    }
    #content.single .ib .left_con .meta .category a{
        font-size: 10px;
    }
    /*********************************
    
    contents
    
    **********************************/
    
    #content table,#content table th,#content table td,#content table tr,#content table tbody{
        display: block;
    width: 100% !important;
    }
    #content table th{
        font-weight: bold;
        text-align: center;
        padding: 15px;
    }
    #content table td {
    width: 75%;
    padding: 15px 0;
    font-size: 15px;
    }
    #content .map div {
    width: 100%;
    }
    #content iframe{
        min-height: 300px;
        height: 300px;
    }
    
    #content p{
        font-size: 15px;
    }
    a.btn {
    display: block;
    padding: 20px;
    line-height: 1;
    max-width: 370px;
    border-radius: 6px;
    border: 1px solid #002368;
    font-size: 24px;
    color: #002368;
    font-weight: bold;
    text-align: center;
    position: relative;
    margin: 30px auto;
    }
    
    /*********************************
    sidebar
    
    *********************************/
    
    #content.single .ib .sidebar {
    width: 100%;
    }
    
    #content.single .ib .left_con{
        width: 100%;
    }
    /*********************************
    
    about
    
    *********************************/
    
    .greeting {
    position: relative;
    padding-bottom: 40px;
    }
    .greeting span.name {
    font-weight: bold;
    font-size: 20px;
    font-family: serif;
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 100%;
    text-align: center;
    }
    #content p.san_s {
    font-size: 36px;
    text-align: center;
    display: block;
    margin: 30px 0;
    }
    
    /********************************
    
    page_info
    
    *********************************/
        
    #content.information ul{
        width: 100%;
    }
    
    #content.information ul li {
        margin-bottom: -17px;
    }
    
    /********************************
    
    product
    
    *********************************/
    
    .catalog_con{
        justify-content: center;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .catalog_con div{
        width: 100%;
    }
    .catalog_con div:nth-child(1){
        width: 90%;
        max-width: 260px;
    }
    
    .catalog_con div img{
        max-width: 190px;
        display: block;
        margin: 0 auto;
    }
    
    .catalog_con a.btn {
    width: 100%;
    max-width: 100%;
    margin: 30px auto;
    }
    .sub_pr_list{
        justify-content: center;
    }
    .sub_pr_list .spr_box{
        width: 90%;
        margin-right: 0;
    }
    .web_cat_a {
    position: relative;
    padding: 10px 5px;
    text-align: center;
    width: 150px;
    font-size: 13px;
    color: #fff;
    background: #002368;
    border-radius: 4px;
    top: -10px;
    right: 0;
    }
    
    .products_detail{
        margin-top: 20px;
    }
    
    #products_thumb .sp-slide img{
        height: 100% !important;
    }
    
    .products_detail .prd_info{
        padding: 15px;
    }
    
    .page-nav a{
        width: 100%;
    }
    
    .page-nav a:first-child{
        border-right: none;
        border-bottom: none;
    }
    
    .page-nav a:nth-child(2) {
    padding-left: 0;
    }
    .page-nav a img{
        width: 100px;
    }
    
    .page-nav a div{
        width: calc(100% - 100px);
        padding-right: 0;
    }
    .slider-pro img.sp-image, .slider-pro img.sp-thumbnail{
        object-fit: cover;
        
    
    }
    #content.products_single h2{
        font-size: 21px;
    }
    /********************************
    
    recruit
    
    *********************************/
    
    img.rec_bnr{
        width: 100%;
        display: block;
    }
    .rec_con{
        justify-content: center;
    }
    .rec_con .rec_box{
        width: 90%;
        margin-right: 0;
        margin-bottom: 15px;
    }
    
    .oj_pr{
        justify-content: center;
    }
    
    #content .oj_pr div{
        width: 90%;margin-bottom: 15px;
    }
    
    #content .oj_pr div:nth-child(n+4){
        margin-bottom: 15px;
    }
    .sales_con.scpc{
        display:none;
    }
    .sales_con div{
        width: 100%;
        padding: 0;
        height: auto;
        background: #fff;
    }
    .sales_con div:nth-child(2), .sales_con div:nth-child(4), .sales_con div:nth-child(6) {
    padding: 15px;
    background: #fff;
    border: 1px solid #d2d2d2;
        margin-bottom: 20px;
    }    
    .sales_con div:nth-child(3){
        padding: 0;
        border: none;
    }
    
    .sales_con div:nth-child(6){
        margin-bottom: 0;
    }
    
    .sales_con{
        margin-bottom: 30px;
    }
    
    .to_int{
        height: 180px;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    .to_int i{
        width: 100%;
        font-size: 18px;
        padding-top: 15px;
    }
    .to_int span {
    height: 100px;
    width: calc(100% / 3);
    overflow: hidden;
    }
    
    .to_int i:before {
    position: absolute;
    right: 8px;
    top: 27px;
    font-weight: normal;
    font-family: Material Icons;
    content: "\e5da";
    font-size: 28px;
    }
    
    .int_desc div{
        justify-content: center;
    }
    .int_desc div span,.int_desc div:nth-child(2) span{
        width: 100%;height: 250px;
    }
    
    #content .int_desc div p{
        width: 100%;
        margin: 20px 0;
    }
    
    #content.single .ib .sidebar h3{
        margin-bottom: 20px;
    }
    
    .edu_img span {
    width: calc(100% / 3);
    height: 120px;
    overflow: hidden;
    position: relative;
    }
    
    /********************************
    
    contact
    
    *******************************/
    
    #content input[type="submit"], #content input[type="button"]{
        width: 100%;
        max-width: 100%;
    }
    #content input[type="text"], #content input[type="email"], #content input[type="tel"] {
    width: 100%;
    padding: 10px;
    border: 1px solid #bbb;
    border-radius: 4px;
    }
    /********************************
    
    footer
    
    *******************************/
    
    .sns_share{
        display: none;
    }
    
    .sp_foot_nav.sp_content{
        position: fixed !important;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 41px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex !important;
        z-index: 9;
    }
    
    .sp_foot_nav a{
        width: 50%;
        padding: 12px;
        font-size: 13px;
        color: #fff;
        background: rgba(100,8,96,.78);
    }
    

    .sp_foot_nav a:nth-child(2){
        background: rgba(0,0,0,.8);
        position: relative;
        padding-left: 37px;
    }
    
    .sp_foot_nav a:nth-child(2):before{
        content: url(../img/origami.png);
        position: absolute;
        top: 5px;transform: scale(0.8);
        left: 4px;
    }
    #pagetop {
    width: 40px;
    height: 40px;
    background: #002C72;
    position: fixed;
    z-index: 9999;
    bottom: 10px;
    cursor: pointer;
    right: 10px;
    border: 1px solid #fff;
    }
    #pagetop:before {
    content: "\f3d8";
    font-size: 24px;
    position: absolute;
    top: 5px;
    left: 12px;
    font-family: ionicons;
    color: #fff;
    }    
    footer .ib{
        padding: 30px 15px 10px;
    }
    footer ul{
        width: 100%;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        -o-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    
    footer ul li{
        margin-bottom: 5px;
    }

    footer .ib img {
    display: block;
    margin: 30px auto;
    max-width: 220px;
    }

    footer .ib p.address {
    font-size: 11px;
    }
    footer .ib p{
        font-size: 10px;
        margin-top: 25px;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}/*736pxここまで*/