@media (max-width: 768px) {
    
    /* 共通 */
    
    *{
        font-size: 12px;
    }
    
    .pc_none{
        display: block !important;
    }
    
    .sp_none{
        display: none !important;
    }
    
    .container{
        width: 90%;
    }
    
    h4{
        font-size: 16px;
        padding-bottom: 20px;
    }
    
    
    /* sp menu */
    
    .sp_menu_container{
        display: block;
        position: fixed;
        z-index: 9999;
        top: 0;
        left: 0;
        background: #fff;
        color: #000;
        text-align: center;
        transform: translateY(-100%);
        transition: all 0.6s;
        width: 100%;
    }
    
    .sp_menu_container ul {
        background: #4d4d4d;
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }
    
    .sp_menu_container ul li {
        padding: 0;
        width: 100%;
        border-bottom: 1px solid #666;
    }
    
    .sp_menu_container ul li a{
        font-size: 14px;
        font-weight: normal;
        color: #fff;
        padding: 20px;
        display: block;
    }
    
    .sp_menu_container.active {
        transform: translateY(0%);
    }
    
    .sp_menu {
        display: block;
        position: fixed;
        left: 0;
        top: 0px;
        width: 60px;
        height: 55px;
        cursor: pointer;
        z-index: 99999;
        background: #4d4d4d;
        text-align: center;
        border-radius: 0 0 10px 0;
    }

    .sp_menu span {
        display: block;
        position: absolute;    /* .navToggleに対して */
        width: 30px;
        border-bottom: solid 3px #eee;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
        left: 15px;
    }

    .sp_menu span:nth-child(1) {
        top: 9px;
    }

    .sp_menu span:nth-child(2) {
        top: 18px;
    }

    .sp_menu span:nth-child(3) {
        top: 27px;
    }

    .sp_menu span:nth-child(4) {
        border: none;
        color: #eee;
        font-size: 9px;
        font-weight: bold;
        top: 34px;
    }
    
    .sp_menu.active span:nth-child(1) {
        top: 20px;
        left: 15px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .sp_menu.active span:nth-child(2),
    .sp_menu.active span:nth-child(3) {
        top: 20px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    
    .layer{
        display: none;
    }
    
    .layer.active{
        z-index: 1000;
        position: fixed;
        display: block;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0.5;
        top: 0;
        left: 0;
    }
    
    
    /*  */
    
    header{
        padding: 10px 20px 10px 74px;
        align-items: center;
    }
    
    header .form{
        position: absolute;
        right: 10px;
        top: 0;
    }
    
    header .form a{
        display: block;
        font-size: 12px;
        padding: 10px;
        padding-top: 10px;
        border-radius: 0 0 10px 10px;
    }
    
    main{
        padding-bottom: 100px;
        padding-top: 0;
    }
    
    main > div{
        flex-wrap: wrap;
    }
    
    main h3{
        font-size: 14px;
    }
    
    .main01{
        padding-right: 10px;
    }
    
    main h2{
        padding-top: 10px;
        padding-bottom: 30px;
    }
    
    main h2 span{
        font-size: 13px;
    }
    
    .main_title{
        padding-left: 0;
        width: 100%;
        padding: 0 20px;
    }
    
    main .product{
        flex-wrap: wrap;
        justify-content: center;
        padding-bottom: 20px;
    }
    
    main .product div{
        width: 50%;
    }
    
    main .product .type{
        font-size: 12px;
        padding: 4px 10px;
    }
    
    main .product .number{
        font-size: 8px;
    }
    
    .main_img{
        max-width: 100%;
        width: 100%;
    }
    
    .main_img > p{
        padding-right: 10px;
        padding-bottom: 0;
    }
    
    .main_subsidy{
        height: 116px;
        bottom: -80px;
        right: 10px;
    }
    
    .main_subsidy a img{
        width: 60px;
        margin-top: 0;
    }
    
    .main_subsidy h7{
        font-size: 14px;
    }
    
    .main_subsidy a p{
        font-size: 12px;
    }
    
    .fixed {
        position: fixed;
        top: 10px;
        right: 10px;
    }
    
    .copy{
        height: auto;
    }
    
    .copy .img{
        width: 20%;
        display: none;
    }
    
    .copy .text{
        padding-left: 20px;
        padding-right: 20px;
    }
    
    .copy .text01{
        font-size: 12px;
        text-align: center;
    }
    
    .copy .text02,
    .copy .yellow01,
    .copy .yellow02{
        font-size: 14px;
        text-align: center;
    }
    
    #use h4{
        font-size: 12px;
        padding: 40px 20px;
        line-height: 1.8em;
        letter-spacing: 0.1em;
    }
    
    #use .howto{
        flex-wrap: wrap;
    }
    
    #use .howto h6{
        font-size: 14px;
    }
    
    #use .howto_box{
        width: 100%;
    }
    
    #use .howto_box img{
        padding: 0 40px;
        box-sizing: border-box;
    }
    
    #use .light_arrow{
        width: 100%;
        flex-direction: row;
        justify-content: center;
    }
    
    #use .light{
        padding-right: 20px;
    }
    
    #use .arrow{
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        width: 60px;
    }
    
    #use .movie{
        padding-bottom: 40px;
    }
    
    #use .movie h5,
    #use .movie h5 span {
        font-size: 22px;
    }
    
    #feature{
        padding: 40px 0;
    }
    
    #feature h6{
        font-size: 14px;
        padding: 10px 0;
    }
    
    .feature_box > div{
        width: 100%;
        margin-bottom: 20px;
    }
    
    .feature_box > div:nth-child(n+6){
        margin-top: 0;
    }
    
    #feature .support{
        flex-wrap: wrap;
        justify-content: center;
        padding: 20px;
        margin-top: 20px;
    }
    
    #feature .support h7{
        font-size: 16px;
        display: block;
        padding: 10px 0;
        text-align: center;
    }
    
    #feature .support img{
        padding-right: 0;
    }
    
    .contact{
        padding: 40px 0;
    }
    
    .contact h5{
        font-size: 14px;
        padding-bottom: 20px;
    }
    
    .contact_box{
        flex-wrap: wrap;
    }
    
    .contact_box > div{
        width: 100%;
        padding: 10px;
        margin: 0;
        overflow: hidden;
    }
    
    .contact_box .tel_fax{
        margin-right: 0;
        margin-bottom: 20px;
    }
    
    .contact_box .tel_fax a{
        font-size: 18px;
    }
    
    .contact_box .tel_fax div p{
        font-size: 14px;
    }
    
    .contact_box .tel_fax a img{
        width: 15px;
    }
    
    .contact_box .form p{
        font-size: 14px;
        padding-left: 0;
    }
    
    .contact_box .form a{
        font-size: 14px;
        padding: 5px 20px;
    }
    
    .contact_box .form a img{
        width: 16px;
    }
    
    #subsidy{
        padding: 40px 20px 90px 20px;
    }
    
    #subsidy h5{
        font-size: 16px;
    }
    
    #subsidy h5 span{
        font-size: 16px;
        margin-right: 0;
    }
    
    .subsidy_box{
        padding-left: 0;
    }
    
    .subsidy_box > div:first-of-type{
        width: 100%;
        min-width: 0;
    }
    
    .subsidy_box > div:last-of-type{
        width: 100%;
        min-width: 0;
    }
    
    .subsidy_box ul{
        padding: 20px 30px 70px 20px;
        border-radius: 10px;
    }
    
    #subsidy li a{
        font-size: 12px;
        display: block
    }
    
    #product{
        padding: 40px 10px;
    }
    
    #product h5{
        font-size: 16px;
    }
    
    #product h5 span{
        font-size: 16px;
    }
    
    .product_box > div{
        flex-direction: column;
    }
    
    .product_box .left,
    .product_box .right{
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }
    
    .product_box.box01 .img:first-of-type{
        padding-right: 20px;
    }
    
    .product_box .price{
        font-size: 16px;
    }
    
    .price_sub .size {
        font-size: 10px;
    }
    
    .product_box .right > img{
        max-height: none;
        max-width: 100%; 
    }
    
    .product_box .right_title{
        top: 20px;
    }
    
    .product_box .right{
        padding-top: 60px;
    }
    
    .slick-prev{
        left: -14px;
    }
    
    .slick-next {
        right: -20px;
    }
    
    .slick-prev,
    .slick-next {
        width: 20px;
        height: 20px;
    }
    
    .slick-prev:before,
    .slick-next:before {
        width: 10px;
        height: 10px;
    }
    
    #facility{
        padding: 40px 0;
    }
    
    .facility_box div{
        width: calc((100% - 10px) / 2);
    }
    
    .facility_box div:not(:nth-of-type(4n)){
        padding-right: 0;
    }
    
    .facility_box div:nth-of-type(odd){
        padding-right: 10px;
    }
    
    .facility_box div:nth-of-type(n+5){
        padding-top: 0;
    }
    
    .facility_box div:not(:nth-of-type(1)),
    .facility_box div:not(:nth-of-type(2)){
        padding-top: 10px;
    }
    
    #example{
        padding: 40px 10px;
    }
    
    .slider02 img{
        height: 50vw;
    }
    
    #information{
        padding: 40px 0;
    }
    
    #information dl{
        padding: 20px;
        padding-top: 50px;
    }
    
    #information dt,
    #information dd{
        width: 100%;
    }
    
    #information dt:not(:last-of-type),
    #information dd:not(:last-of-type){
        padding-bottom: 0;
    }
    
    #information dd:not(:last-of-type){
        padding-bottom: 10px;
    }
    
    #information .hukidashi{
        margin-left: 20px;
    }
    
    footer{
        padding: 20px;
        flex-direction: column;
        align-items: flex-start !important;
    }
    
    footer > div{
        flex-direction: column;
    }
    
    footer h1 + div{
        padding: 10px 0;
    }


}