@charset "utf-8";

@media screen and (max-width: 1540px){
    html{
        font-size: 18px;
    }
    body.home .wrap, .wrap{
        max-width: 1000px;
    }
    /* PAGE */
    .products_mv::after{
        width: calc(100vw - (100vw - 1000px)/2);
    }

    /* TOP */
    .home_sec01 .text_box img.ps_ab{
        top: 8vw;
        left: 2vw;
    }
    .home .news_content {
        width: 75%;
    }

    .footer_bottom .footer_menu ul li {
        padding: 0 12px;
    }

    .cat_type li .cat_name::before, .cat_type li .cat_name::after {
        width: 25px;
        height: 25px;
        right: 10px;
    }

    .cat_type li ul.inlist li a {
        font-size: 11px;
    }
    
    /* 商品詳細 */
    #itempage #img-box{
        width: 200px;
    }

    /* CONCEPT */
    .slider_item01__elm, .slider_item02__elm{
        width: 237px;
        height: 414px;
    }
}

@media screen and (max-width: 1366px){
    html{
        font-size: 16px;
    }
    body.home .wrap, .wrap{
        max-width: 950px;
    }

    /* HEADER */
    #header{
        width: 100px;
        padding: 0 20px;
    }
    div#drawer.opened {
        left: 100px;
    }

    /* FOOTER */
    .footer_bottom .footer_menu ul li{
        padding: 0 15px;
    }
    .footer_top .footer_info .text_box a{
        border: 2px solid #e4a037;
    }
    .footer_top .footer_info .logo img{
        width: 110px;
    }

    /* PAGE */
    .products_mv{
        height: 350px;
    }
    .products_mv::after{
        width: calc(100vw - (100vw - 950px)/2);
    }

    /* PARTS */
    .cat_type li .cat_name{
        font-size: 14px;
        padding: 0 15px;
        height: 55px;
    }
    .cat_type li .cat_name::before, .cat_type li .cat_name::after{
        width: 24px;
        height: 24px;
        right: 10px;
    }
    .cat_type li ul.inlist li a{
        font-size: 13px;
        padding: 7px 20px 7px 0;
    }
    .cat_type li ul.inlist{
        padding: 15px;
    }
    .cat_type li ul.inlist li a:after{
        width: 17px;
        height: 17px;
    }
    .product_cat{
        width: 21%;
        padding: 60px 20px 50px;
    }
    .product_cat .title_text span{
        font-size: 1.2rem;
    }

    /* 商品詳細 */
    .item-detail-box{
        width: 79%;
    }
    .product_list{
        width: 77%;
    }

    /* TOP */
    .home_sec01 .text_box img.ps_ab {
        top: 9vw;
        left: 7vw;
    }
    .home_sec01 .read_more a img{
        width: 30px;
    }
    .news_content .news_box .text{
        font-size: 14px;
    }
    .mv_news .text{
        font-size: 14px;
    }

    /* 特集 */
    .feature-title h1{
        font-size: 24px;
    }
    .topics-tags .tag{
        font-size: 14px;
    }
    .return-btn a{
        padding: 5px 40px;
        font-size: 14px;
    }
    .detail-box {
        width: 67%;
    }

    /* ABOUT */
    .about_sec02 table td:nth-of-type(1), .about_sec02 table td:nth-of-type(2){
        width: 10%;
    }

    /* CONCEPT */
    .slider_item01__elm, .slider_item02__elm {
        width: 225px;
        height: 393px;
    }

    .archive-feature .post-title{
        font-size: 15px;
    }
}

@media screen and (max-width: 1190px){
    #footer .wrap,
    .wrap{
        padding: 0 20px;
    }
}

@media screen and (max-width: 991px){
    body{
        padding-top: 90px;
    }
    body.home{
        padding-top: 0;
    }

    /* HEADER */
    #header{
        display: block;
        height: auto;
        width: 100%;
        bottom: auto;
        right: 0;
        padding: 10px 20px;
        margin: 0;
        border: none;
        background-color: rgba(255,255,255,.7);
    }
    .header_content{
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .header_menu{
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
    }
    #header .menu_btn{
        margin-bottom: 0;
        margin-left: 30px;
    }
    #header .user_menu ul{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    #header .logo img{
        width: 60px;
    }
    #header .logo{
        margin-bottom: 0;
    }
    #header .logo .text{
        display: none;
    }
    #header .user_menu li{
        padding: 0 10px;
    }
    #header .user_menu li.line img{
        transform: rotate(90deg);
        width: 40px;
    }
    #header .menu_btn .text{
        letter-spacing: 0;
    }
    #header .nav_toggle{
        width: 40px;
    }
    .nav_toggle.opened span:nth-of-type(1) {
        transform: translateY(11px) rotate(45deg);
    }
    .nav_toggle.opened span:nth-of-type(3) {
        transform: translateY(11px) rotate(-45deg);
    }
    div#drawer.opened{
        left: auto;
        right: 0;
    }
    div#drawer{
        right: -210px;
        left: auto;
        top: 89px;
        height: calc(100% - 89px);
    }

    /* FOOTER */
    .footer_top{
        height: 410px;
    }
    .footer_top .flex{
        padding-bottom: 130px;
    }
    .footer_bottom{
        padding: 20px 0;
    }
    .footer_bottom .footer_menu{
        width: 100%;
    }
    .footer_bottom .footer_menu ul li{
        padding: 0 10px;
        text-align: center;
        width: 20%;
    }
    .footer_bottom .footer_user_menu{
        width: 100%;
        margin-top: 15px;
    }
    .footer_bottom .footer_user_menu ul{
        justify-content: center;
    }
    #footer .copyright{
        padding: 15px 0;
    }
    #footer .copyright .text{
        position: initial;
        transform: initial;
        margin-top: 10px;
    }

    /* TOP */
    .mv_news{
        min-width: auto;
    }
    .home_sec01{
        background: #0b1431;
        height: auto;
        padding: 50px 0;
    }
    .home_sec01 .wrap,
    .home_sec01 .flex{
        height: auto;
    }
    .home_sec01 .flex{
        display: block;
    }
    .home_sec01 .text_box img.ps_ab{
        position: initial;
        width: auto;
        margin-bottom: 20px;
    }
    .home_sec01 .text_img {
        margin-bottom: 40px;
    }
    .home_sec01 .text_box{
        text-align: center;
    }
    .home_sec01 .text{
        text-align: center;
    }
    .home_sec01 .read_more{
        margin-top: 30px;
        padding-bottom: 0;
        text-align: center;
    }
    .home_sec01 .read_more .text{
        color: #fff;
    }

    /* 特集 */
    .speciality-slider-sec{
        width: 100%;
    }
    .speciality-slider-sec{
        margin-top: 30px;
    }
    .speciality_sec{
        padding: 70px 0 50px;
    }

    /* 商品 */
    .product_sec .flex{
        display: block;
    }

    .product_sec .recommend_list .flex {
        display: flex;
        flex-wrap: wrap;
    }
    .product_cat{
        width: 100%;
        margin: 0 -20px;
        width: 100vw;
    }
    .single .item-detail-box{
        padding: 0;
    }
    .product_list{
        width: 100%;
        margin-top: 30px;
    }
    .vertical {
        -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
        writing-mode: initial;
    }
    .product_cat .text_box{
        margin-bottom: 50px;
        display: block;
    }
    .product_cat .title{
        margin-bottom: 30px;
    }
    .product_cat .text_box .text.top{
        margin-left: 0;
        margin-bottom: 20px;
    }
    .product_cat .cat_type>ul{
        display: flex;
        flex-wrap: wrap;
    }
    .product_cat .cat_type>ul>li{
        width: 48%;
        margin: 1%;
    }
    .home .news_sec{
        margin-top: 50px;
    }
    .news_sec{
        padding: 50px 0;
    }
    .home .news_sec .flex{
        display: block;
    }
    .news_sec .news_sec_left .link{
        margin: 30px 0;
    }
    .home .news_content{
        width: 100%;
    }

    /* CONCEPT */
    .concept_sec .flex{
        display: block;
    }
    .concept_sec .box_left{
        width: 100%;
        margin-bottom: 30px;
    }
    .concept_sec .box_right{
        width: 100%;
    }
    .slider_item01__item, .slider_item02__item{
        opacity: 1;
        position: initial;
    }
    .products_mv{
        height: 280px;
    }
    .products_mv .text{
        right: 20px;
        font-size: 3rem;
    }
    .products_mv::after{
        width: 100%;
    }
    .concept_sec .text_box .text br{
        display: none;
    }
    .concept_sec01 .text_box{
        margin-bottom: 70px;
    }
    .concept_sec01 .text_box img.ps_ab{
        position: initial;
        margin-top: 30px;
    }
    .concept_sec .slider_item01{
        width: 225px;
    }
    .slider_item01__elm, .slider_item02__elm{
        width: 100%;
        height: auto;
    }
    .concept_sec .slider_item01,
    .concept_sec .slider_item02{
        width: 50%;
    }
    .slider_item01__item,
    .slider_item02__item{
        height: 200px;
    }
    .concept_sec .slider_item01 img,
    .concept_sec .slider_item02 img{
        width: 100%;
    }
    .concept_sec .box_flex{
        padding: 0;
    }
    .about_sec01, .concept_sec01{
        margin-top: 0;
        padding: 50px 0;
    }
    .concept_sec01::after,
    .concept_sec02::after,
    .about_sec01::after{
        width: 85%;
    }
    .concept_sec02{
        padding: 50px 0;
        margin-top: 50px;
    }
    .about_sec01 .text_box{
        width: 100%;
        margin-bottom: 20px;
    }
    .about_sec01 .movie{
        width: 100%;
        text-align: center;
    }
    .about_sec01 .map{
        width: 100%;
    }
    .about_sec01 .cap{
        width: 100%;
        margin-top: 20px;
        border-radius: 5px;
    }
    .about_sec02 table th{
        font-size: 14px;
    }
    .about_sec02 table td:nth-of-type(1),
    .about_sec02 table td:nth-of-type(2){
        width: 13%;
    }
    .about_sec02 table td{
        width: 24.6666%;
    }
    .products_desc{
        height: auto;
        min-height: 410px;
    }
    .item-detail-box{
        width: 100%;
    }
    #primary{
        padding: 50px 0;
    }
    #content{
        padding: 0 20px;
    }
    .products_top {
        padding: 30px 0 50px;
    }

    #m_2.make_box .flex {
        display: flex;
        flex-wrap: wrap;
    }
    html {
        overflow-x: hidden;
    }

    .products_desc.fadein.scrollin {
        margin-top: 90px;
    }
}

@media screen and (max-width: 767px){
    body {
        padding-top: 60px;
    }

    /* HEADER */
    #header .user_menu li.line{
        display: none;
    }
    #header .user_menu li img{
        width: 25px;
    }
    #header .user_menu li:first-child img{
        width: 20px;
    }
    #header .logo img{
        width: 35px;
    }
    #header .nav_toggle{
        width: 30px;
        height: 16px;
    }
    #header .nav_toggle span:nth-of-type(2) {
        top: 7px;
    }
    #header .nav_toggle span:nth-of-type(3) {
        top: 14px;
    }
    .nav_toggle.opened span:nth-of-type(1) {
        transform: translateY(7px) rotate(45deg);
    }
    .nav_toggle.opened span:nth-of-type(3) {
        transform: translateY(7px) rotate(-45deg);
    }
    #header .nav_toggle span{
        height: 2px;
    }
    #header .menu_btn .text{
        font-size: 10px;
        margin-top: 5px;
    }
    #header .user_menu li{
        padding: 0 7px;
    }
    #header .menu_btn{
        margin-left: 10px;
    }
    div#drawer{
        top: 60px;
        height: calc(100% - 60px);
        padding: 10px 10px 40px;
    }
    div#drawer .inner ul li a{
        padding: 15px 10px;
    }
    div#drawer .inner ul li a.paddington{
        font-size: 14px;
    }

    /* FOOTER */
    .footer_top{
        height: auto;
        background-color: #0b1431;
        padding: 20px 0;
        text-align: center;
    }
    .footer_top .flex{
        display: block;
        padding-bottom: 0;
    }
    .footer_top img.ps_ab{
        display: none;
    }
    .footer_top .footer_info .logo{
        margin-right: 0;
        margin-bottom: 20px;
    }
    .footer_top .footer_info .logo img{
        width: 60px;
    }
    .footer_top .footer_info .text.top,
    .footer_top .footer_info .text{
        font-size: 14px;
        margin-bottom: 5px;
    }
    .footer_top .footer_info{
        display: block;
    }
    .footer_top .footer_info .text_box a img{
        width: 20px;
    }
    .footer_top .footer_info .text_box a {
        border: 1px solid #e4a037;
        font-size: 15px;
        margin-top: 20px;
    }
    .footer_bottom .footer_menu{
        display: none;
    }
    .footer_bottom .footer_user_menu{
        margin-top: 0;
    }
    .footer_bottom {
        padding: 10px 0;
    }
    .footer_bottom .footer_user_menu ul li a{
        font-size: 13px;
        display: inline-block;
    }
    #footer .copyright ul li a{
        font-size: 13px;
    }
    #footer .copyright ul li{
        width: 100%;
        padding: 0;
        border: none !important;
        line-height: 1.3;
    }
    #footer .copyright .text{
        font-size: 12px;
    }
    #footer .copyright ul{
        display: block;
    }
    #footer .copyright{
        padding: 10px 0;
    }

    /* TOP */
    .mv .mv_text img{
        width: 60px;
    }
    .mv .mv_text{
        top: 47%;
    }
    .mv{
        min-height: 600px;
    }
    .mv img.ps_ab{
        transform: initial;
        top: 80px;
        right: 20px;
        width: 200px;
    }
    .mv_news{
        bottom: 0;
        padding: 10px 20px;
        width: 100%;
    }
    .mv_news .flex{
        display: block;
    }
    .mv_news .text{
        margin-right: 0;
    }
    .mv_news .text.top{
        margin-bottom: 0;
    }
    .home_sec01 .text_box>.text{
        text-align: left;
    }
    .home_sec01 .text br{
        display: none;
    }
    .speciality-slider-sec{
        padding: 0 10px 20px 10px;
    }
    .news_content .news_box{
        padding: 10px;
        display: block;
        margin-bottom: 15px;
    }
    .news_content .news_box a{
        font-size: 13px;
    }
    .news_content .news_box .text_box{
        display: block;
    }
    .news_content .news_box .text{
        margin-left: 0;
        font-size: 13px;
    }

    /* 商品 */
    .product_cat{
        padding: 40px 20px;
    }
    .product_cat .title{
        margin-bottom: 20px;
    }
    .product_cat .text_box .text{
        font-size: 14px;
    }
    .product_cat .text_box .text br{
        display: none;
    }
    .product_cat .cat_type>ul>li{
        width: 100%;
        margin: 1% 0;
    }

    /* CONCEPT */
    .products_top .text{
        font-size: 0.9rem;
    }
    .products_top .text.top{
        margin-bottom: 10px;
    }
    .products_top {
        padding: 10px 15px0px;
    }
    .products_mv .text{
        font-size: 2.3rem;
    }
    .products_mv {
        height: 170px;
    }
    .concept_sec .text_box .text{
        line-height: 2;
    }
    .concept_sec01 .text_box {
        margin-bottom: 50px;
    }
    .slider_item01__item, .slider_item02__item {
        height: 250px;
    }
    .concept_sec02 .grapes_box ul li{
        width: 100%;
        margin: 1% 0;
        padding: 5px 0;
    }
    .about_sec01 .text_box table th,
    .about_sec01 .text_box table td{
        display: block;
        width: 100%;
    }
    .about_sec01 .map iframe{
        height: 250px;
    }
    .about_sec02, .about_sec03{
        padding: 50px 0;
    }
    .about_sec02 table{
        width: 100%;
        display: block;
        white-space: nowrap;
        overflow-x: scroll;
    }
    .about_sec02 table td, .about_sec02 table td:nth-of-type(1), .about_sec02 table td:nth-of-type(2){
        font-size: 13px;
    }

    #m_2.make_box .col_4 {
        width: 49%;
    }
    .product_list .box{
        width: 48%;
    }
    .product_list .box:nth-of-type(3n){
        margin-right: 2%;
    }
    .product_list .box:nth-of-type(2n){
        margin-right: 0;
    }
    .product_list .box{
        margin-bottom: 30px;
    }
    .pagination_wrapper li a,
    .pagination_wrapper li .current{
        font-size: 14px;
    }
    .recommend_list{
        padding-bottom: 50px;
    }
    #itempage #img-box {
        width: 100%;
    }
    .detail-box {
        width: 100%;
    }
    .detail-table dl dt,
    .detail-table dl dd{
        width: 100%;
        border: none;
    }
    .detail-box .price_amount .p_tag{
        width: 90px;
        border-radius: 3px;
        font-size: 13px;
        padding: 2px 0;
    }
    .item-info .skubutton{
        font-size: 14px;
    }
    .item-detail-box .abovecat{
        font-size: 18px;
    }
    .archive-topics .topics-box.col_4 {
        width: 100%;
        margin: 0 0 30px;
    }
    .feature-title h1 {
        font-size: 18px;
    }
    .entry-content h2, .item-description h2{
        font-size: 16px;
        line-height: 1.8;
    }
    .entry-content p{
        font-size: 14px;
    }
    .entry-content th,
    .item-description th,
    .entry-content td,
    .item-description td{
        font-size: 14px;
    }
    .wpcf7 table{
        border: none;
    }
    .wpcf7 table th, .wpcf7 table td{
        padding: 10px 15px;
        font-size: 14px;
        display: block;
        width: 100%;
        border: none;
    }
    .wpcf7 table th p{
        margin-bottom: 0;
    }
    .wpcf7 form input[type="text"], .wpcf7 form input[type="email"], .wpcf7 form input[type="tel"], .wpcf7 form textarea{
        width: 100%;
    }
    .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{
        font-size: 14px;
    }
    div.cart_navi li{
        width: 100%;
        margin: 1% 0;
        padding: 0;
    }
    .recommend_list .recommend_item .product_name{
        font-size: 14px;
    }
    .recommend_list .recommend_item{
        width: 48%;
        margin-right: 2%;
    }
    .recommend_list .recommend_item:nth-of-type(5n){
        margin-right: 2%;
    }
    .recommend_list .recommend_item:nth-of-type(2n){
        margin-right: 0;
    }
    .cat-child-btn span a{
        font-size: 13px;
        margin-right: 0;
        margin-bottom: 5px;
    }
    .products_desc .text{
        font-size: 14px;
        text-align: left;
    }
    .products_desc .text br{
        display: none;
    }
    .archive-feature .post-title{
        font-size: 14px;
    }
    .archive-feature .col_4{
        width: 48%;
    }
    .popup-inner{
        width: 100%;
        height: auto;
        position: relative;
        padding: 40px 20px;
        top: 0;
        left: 0;
        transform: initial;
    }
    .popup-inner .text.top{
        font-size: 18px;
        text-align: center;
    }
    .popup-inner .text{
        font-size: 14px;
        text-align: left;
    }
    .popup-inner .text br{
        display: none;
    }
    .popup-inner .box{
        padding: 10px;
    }
    .popup-inner .go_btn{
        font-size: 14px;
        display: block;
        width: 100%;
        padding: 15px 0;
    }
    .popup .black-background{
        position: fixed;
    }

/*複数配送指定*/

    div#allocation_dialog {
        width: 100%;
        max-width: 100%;
        min-width: inherit !important;
    }

    .msa_table tr td {
        display: block;
        width: 100% !important;
    }

    #cart_table {
        width: 477px !important;
    }

    #cart_table .num, #cart_table .thumbnail, #cart_table .stock {
        display: table-cell !important;
    }

    #cart_table, #multi_cart_table table {
        font-size: 12px !important;
        overflow-x: scroll !important;
    }

    #multi_cart_table .thumbnail {
        width: 30px !important;
    }

    div#cart, #multi_cart_table {
        overflow-x: scroll !important;
    }

    .msa_total #new_destination {
        display: block;
    }

    div#memberpages td, div#memberpages th {
        display: block;
    }

}

}