
/* ===============================================
  osk スマホ対応
=============================================== */

@media screen and (max-width: 768px) {
	.headbox{
		z-index: 1;
	}
    #navi,#category_menu *,
    .osk *{
        -webkit-box-sizing: border-box;
           -moz-box-sizing: border-box;
             -o-box-sizing: border-box;
            -ms-box-sizing: border-box;
                box-sizing: border-box;
    }
    #navi,#category_menu,#main-contents{
        width:100%;
        float:none;
    }
    #category_menu ul li a{
        width: auto;
    }
    #corp_waku{
      width: 100%;
      padding: 0 10px;
    }
    #navi{
        margin-top: 40px;
    }
    #category_menu {
        padding: 0;
    }
    #category_menu dt {
        padding:10px 15px;
        font-size: 15px;
    }

    #category_menu ul li a{
        width: auto;
        padding: 10px 15px;
        font-size:15px;
    }

    #category_menu ul li ul {
        font-size:15px;
    }

    #category_menu ul li.here ul li a{
        background-position: 0 50% !important;
        padding: 5px 0 5px 12px;
    }

    #category_menu #submenu a.current,
    #category_menu a.ayumi {
        background-position: 0 50% !important;
    }
  
	/* ========= 汎用 ========= */
	.pcShow{
		display: none;
	}
  .spShow{
    display: inline-block;
  }
	img{
		width: auto;
		max-width: 100%;
		height: auto;
	}

	.sp_block{display: block;}
	.sp_inline-block{display: inline-block;}
	.sp_inline{display: inline;}

	.sp_wmax{width: 100%;}
	.sp_mauto{margin: auto;}

	.sp_tl{text-align: left;}
	.sp_tr{text-align: right;}
	.sp_tc{text-align: center;}
	.sp_fn{float: none;}
  .sp_wb {word-break: break-all;}

    .swipe_table {
	    position: relative;
	    overflow-x: scroll;
	    padding-bottom: 18px;
	 }
  .swipe_table:before {
	    content: "";
	    width: 65px;
	    height: 65px;
	    background: rgba(0, 0, 0, 0.5) url("../img/icon_swipe.png") no-repeat center center/45px 46px;
	    border-radius: 3px;
	    position: absolute;
	    left: 50%;
	    top: 30px;
	    z-index: 1;
	    -webkit-transform: translateX(-50%);
	    transform: translateX(-50%);
  }
	 .swipe_table.js-remove:before {
	    display: none;
  }
  .swipe_table table {
	    width: 770px !important;
  }
	/* ========= コンテンツ ========= */
  #main {
    background-size: cover;
  }
  
  #main .left, #main .right {
    background-size: 80px;
  }
  
  #main .top {
    background-repeat: repeat-x;
    background-size: 1000px;
  }
  
  #main .kira {
    padding: 25px 0;
  }
  
  #main .kira p {
    font-size: 13px;
    width: 90%;
    margin: 10px auto 0;
  }
  
  #about {
    background: url(../img/about_waku_bottom.png) center bottom no-repeat,
      url(../img/about_bgpt.jpg) repeat;
    background-size: 100% ,contain;
    width: calc(100% - 20px) !important;
    height: auto;
    padding-bottom: 20px;
    margin: 0 10px !important;
  }
  
  #about h2 {
    background: url(../img/about_waku_top.png) no-repeat;
    background-size: 100%;
    padding-top: 20px;
    margin-bottom: 15px;
  }
  
  #about h2 img {
    width: 200px;
  }
  
  #about .link {
    background-size: contain;
  }
  
  #about p {
    margin: 0 30px;
  }
  
  #flow {
    padding: 20px 0;
    overflow: hidden;
  }
  
  #flow h3 {
    position: relative;
  }
  
  #flow h3 img {
    position: absolute;
    width: 600px;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
  }
  
  #flow .flow_num {
    width: 100%;
    height: auto;
    padding: 0 5px;
  }
  
  #flow .flow_num dl {
    margin: 5px;
    width: calc(50% - 10px);
    text-align: center;
  }
  
  #flow .flow_num dd {
    font-size: 12px;
    background: none;
    background-color: #fff;
    border-radius: 0 0 5px 5px;
    box-shadow: 1px 1px #CBC3C4;
    max-width: 292px;
    text-align: center;
    margin: 0 auto;
  }
  
  #flow .flow_num dd.sp_type {
    line-height: 21px;
    padding-top: 13px;
  }
  
  #flow .flow_num dl.nomargin {
    margin-right: 5px !important;
  }
  
  #flow .flow_num .img {
    position: static;
    right: 0;
    width: 50%;
    padding: 30px 10px 10px;
  }
  
  #comment {
    padding: 0 10px;
  }
  
  #comment .comment_txt {
    width: 100%;
    padding-top: 30px;
    height: auto;
  }
  
  #comment .comment_txt p {
    font-size: 14px;
    line-height: 1.5em;
    margin-bottom: 20px;
  }
  
  #comment .comment_txt .img {
    position: static
  }
  
}
