@charset "UTF-8";

/* 印刷用 */
@media only print{

}

@media (min-width: 576px) {
    .container {
        width: 540px;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .container {
        width: 720px;
        max-width: 100%;
    }
}

@media (min-width: 992px) {
    .container {
        width: 960px;
        max-width: 100%;
    }
}

@media (min-width: 1100px) {
    .container {
        width: 1100px;
        max-width: 100%;
    }
}

@media only screen and (max-width:1100px){

}

@media (max-width: 991px){
    /* **********************************
     *  トップ
     * ********************************* */
    .greeting .container{
        display: block;
    }
    .top_news .ttl_area .sub .ttl, .top_rec .ttl_area .sub .ttl, .top_sweet .ttl_area .sub .ttl, .top_pason .sub .ttl{
        font-size:24px;
    }
    .top_news dl dt{
        width:16%;
    }
    .top_news dl dd{
        width:84%;
    }
    .top_rec .ttl_area .img{
        width:51%;
    }
    .top_rec{
        padding:50px 0;
    }
    .top_rec .slick-slide {
        padding: 0 12px;
    }
    .top_sweet .box_area .box:after{
        top: 7px;
        left: 7px;
    }
    .top_sweet .ttl_area .sub .ttl{
        font-size:18px;
        letter-spacing: -0.8px;
    }
    /* **********************************
     *  店舗のご案内
     * ********************************* */
    .pg_shop .box_area{
        display: block;
    }
    .pg_shop .box_area .sub, .pg_shop .box_area .map {
        width: 100%;
    }
    .box_area .map{
        margin-top:30px;
    }
    .pg_shop .box_area .map iframe{
        height:300px;
    }
    /* **********************************
     *  商品紹介（一覧）
     * ********************************* */
    .pg_menu .sweet_cate .box .ttl{
        width:90%;
        font-size:16px;
    }
    /* **********************************
     *  ご予約
     * ********************************* */
    .pg_order .order_tel .box ul{
        width:100%;
    }
    .pg_order .order_tel .box ul li{
        width:49%;
    }
    .pg_order .attention{
        width:100%;
    }
    .your_name input, .your_name_2 input{
        width:100%;
    }
    .your_menu_1_1 select, .your_menu_2_1 select, .your_menu_3_1 select, .your_menu_4_1 select, .your_menu_5_1 select, .your_menu_6_1 select, .your_menu_7_1 select, .your_menu_8_1 select, .your_menu_9_1 select{
        width:30%;
    }
    .your_rosoku_2 select, .your_menu_1_2 select, .your_menu_2_2 select, .your_menu_3_2 select, .your_menu_4_2 select, .your_menu_5_2 select, .your_menu_6_2 select, .your_menu_7_2 select, .your_menu_8_2 select, .your_menu_9_2 select, .your_menu_10_2 select, .your_menu_11_2 select, .your_menu_12_2 select, .your_menu_13_2 select, .your_menu_14_2 select, .your_menu_15_2 select, .your_menu_16_2 select{
        width:25%;
    }
    .pg_order .order_form table td span.detail{
        display: block;
        margin:5px 0 0 0;
        width:100%;
        padding:0;
    }
}

@media only screen and (max-width:767px){

    body{
        font-size: 14px;
        padding-bottom: 60px;
    }

    header .hdr1 .hdr_logo,
    header .hdr1 .hdr_contact{
        float: none;
        width: 100%;
        text-align: center;
        margin: 5px 0;
    }

    .footer_fix{
        display: block;
    }

    .gnav{
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: #FFF;
        padding: 0;
        z-index: 5;
        overflow-y: scroll;

        transition: all 0.2s;
        transform: translateX(100%);
        padding: 15px;
    }
    header.tops .gnav,
    header.under .gnav{
        background:#fff;
        margin:0;
    }
    .gnav > ul > li.sns{
        display: none;
    }
    .gnav li.current a{
        border:0;
    }
    header.tops .in .container{
    }
    header.tops .gnav .container{
        display: block;
    }
    .gnav.active{
        transform: translateX(0%);
    }
    .gnav > ul{
        display: block;
    }
    .gnav > ul > li{
        width: 100%;
        padding: 10px 0;
        border-bottom: 1px dashed #CCC;
    }
    .gnav .children, .gnav .sub-menu{
        display: block;
        position: static;
        background: #EEE;
    }

    .contact_form th,
    .contact_form td{
        display: block;
        width: 100%;
        padding: 10px 10px;
    }
    .contact_form th{
        padding-bottom: 5px;
    }
    .contact_form td{
        padding-top: 0;
    }
    .contact_form_btns input[type="submit"], 
    .contact_form_btns input[type="button"]{
        width: 35%;
    }
    /* **********************************
     *  ヘッダー
     * ********************************* */
    header.tops .in{
        height: 600px;
        background-size: cover;
    }
    header.tops .parts h2{
        font-size:2rem;
    }
    header.tops .parts .en_ttl{
        font-size: 1.2rem;
        line-height: 2rem;
    }
    header.under{
        margin:0 0 50px 0;
    }
    .common h2{
        margin:30px 0 50px 0;
    }
    /* **********************************
     *  フッター
     * ********************************* */
    footer .ftr_btm .ftr_nav{
        display: none;
    }
    footer .ftr_btm .ftr_sns{
        margin:15px 0 0 0;
    }
    footer .ftr_contact .box .ttl{
        font-size:1.2rem;
    }
    footer .ftr_contact .box .sub_ttl{
        font-size:1.2rem;
    }
    footer .ftr_contact .box .tel{
        font-size:1.6rem;
    }
    footer .ftr_contact .box .more{
        width:80%;
    }
    /* **********************************
     *  トップ
     * ********************************* */
    .en_ttl{
        font-size:3.5rem;
    }
    .greeting .sub h2{
        font-size: 1.2rem;
        margin: 30px 0 20px 0;
        line-height: 2rem;
    }
    .greeting .sub .txt{
        font-size:0.9rem;
        line-height: 1.8rem;
        text-align: justify;
        text-justify: inter-ideograph;
    }
    .top_pason .sub .txt{
        font-size:0.9rem;
        line-height: 1.8rem;
    }
    .greeting .img{
        margin:20px 0 0 0;
    }
    .top_news .img{
        width:25%;
    }
    .top_news .ttl_area .sub .ttl, .top_rec .ttl_area .sub .ttl, .top_sweet .ttl_area .sub .ttl, .top_pason .sub .ttl{
        margin:20px 0 0 0;
        font-size: 1.2rem;
    }
    .top_news{
        padding:50px 0;
    }
    .top_sweet .box_area a {
        width: 80%;
        margin: 0 auto 35px auto;
    }
    .top_sweet{
        margin:50px 0;
    }
    .top_pason .container{
        display: block;
    }
    .top_pason .sub{
        width:100%;
        margin:0 0 20px 0;
    }
    .top_pason .img {
        width: 70%;
    }
    .pg_top,
    .pg_shop,
    .pg_404,
    .pg_info{
        margin:0 0 150px 0;
    }
    /* **********************************
     *  店舗のご案内
     * ********************************* */
    .pg_shop .box_area .sub table,
    .pg_shop .box_area .sub table th.cel2,
    .pg_info .box_wrap .txt,
    .pg_order .policy .box .txt, .pg_order .policy .box ul li,
    .pg_order .main_txt,
    .pg_order .attention dd{
        font-size:0.9rem;
        line-height: 1.8rem;
    }
    .pg_shop .box_area .map .txt{
        margin:15px 0 0 0;
    }

    /* **********************************
     *  お知らせ
     * ********************************* */
    .post_list .item .title{
        width:82%;
        font-size:0.9rem;
    }
    .post_list .item .date{
        width:18%;
    }
    /* **********************************
     *  お知らせ（詳細）
     * ********************************* */
    .pg_info .box_wrap h3,
    .pg_order .order_tel .ttl,
    .pg_order .order_form .ttl{
        font-size:1.1rem;
    }
    .news_link{
        margin:50px 0 0 0;
    }
    /* **********************************
     *  商品紹介（一覧）
     * ********************************* */
    .pg_menu .cat_box .sub_ttl{
        font-size:3rem;
    }
    .pg_menu .cat_box h3{
        font-size:1rem;
    }
    .pg_menu .itembox .box,
    .pg_menu .itembox .box:nth-of-type(3n){
        width:48%;
        margin:0 4% 35px 0;
    }
    .pg_menu .itembox .box:nth-of-type(2n){
        margin:0 0 35px 0;
    }
    .pg_menu .sweet_cate{
        flex-wrap: wrap;
    }
    .pg_menu .sweet_cate .box {
        width: 48%;
        margin: 0 0 30px 0;
    }
    .pg_menu .sweet_cate{
        padding:0 0 50px 0;
    }
    /* **********************************
     *  商品紹介（詳細）
     * ********************************* */
    .pg_menu .box_wrap{
        display: block;
    }
    .pg_menu .box_wrap .img{
        width: 60%;
        padding-top: 56%;
        margin: 0 auto 25px auto;
    }
    .pg_menu .box_wrap .sub_box{
        width:100%;
    }
    .pg_menu .box_wrap .sub_box .ttl{
        font-size:1.3rem;
    }
    .pg_menu .box_wrap .sub_box .price{
        font-size:1rem;
    }
    /* **********************************
     *  ご予約
     * ********************************* */
    .pg_order .order_form table th,
    .pg_order .order_form table td{
        width:100%;
        display: block;
    }
    .pg_order .order_form table th{
        padding:12px 0;
    }
    .pg_order .order_form table td{
        padding: 12px 10px;
    }
    div.wpcf7 .ajax-loader{
        display: none!important;
    }
    .pg_order .order_tel .box .tel{
        font-size:2rem;
    }
    .pg_order .order_tel .box ul li{
        width:100%;
        margin:0 0 15px 0;
    }
    .pg_order .order_form .btn_area .btn_conf, .pg_order .order_form .btn_area .btn_submit{
        width:70%;
    }
    .pg_order .order_form .btn_area .btn_edit{
        width:24%;
    }
    .your_mail input{
        width:100%;
    }
}

@media (max-width: 575px){
    .container{
        width:100%;
    } 
    /* **********************************
     *  ヘッダー
     * ********************************* */
    header.tops{
        padding: 10px 10px 0 10px;
    }
    header.tops .parts .logo img{
        width:70%;
    }
    header.tops .parts h2 {
        font-size: 1.4rem;
    }
    header.tops .parts .en_ttl {
        font-size: 1rem;
        line-height: 2rem;
    }
    /* **********************************
     *  フッター
     * ********************************* */
    footer .ftr_contact{
        background-size:cover;
    }
    footer .ftr_contact .box .more,
    .pg_404 .more{
        width: 90%;
    }
    .pg_404 .more{
        font-size:0.9rem;
    }
    footer .maps{
        height:220px;
    }
    /* **********************************
     *  トップ
     * ********************************* */
    .slick-next{
        right:0;
    }
    .slick-prev{
        left:0;
    }
    .top_news .ttl_area .sub .ttl, .top_rec .ttl_area .sub .ttl, .top_sweet .ttl_area .sub .ttl, .top_pason .sub .ttl{
        font-size:1rem;
    }
    .top_news dl dt{
        width:30%;
    }
    .top_news dl dd{
        width:70%;
    }
    .en_ttl {
        font-size: 3.2rem;
    }
    .top_rec .ttl_area .img {
        width: 40%;
    }
    .top_rec .ttl_area{
        margin:0 0 15px 0;
    }
    .top_rec .more{
        width:95%;
    }
    .top_sweet .ttl_area{
        display: block;
    }
    .top_sweet .ttl_area .img{
        width:80%;
        margin:0 auto 10px auto;
    }
    .top_sweet .ttl_area .sub{
        text-align: center;
    }
    .top_sweet .ttl_area .sub .ttl{
        letter-spacing: 0;
    }
    .top_sweet .box_area{
        margin:30px 0 0 0;
    }
    .top_sweet .box_area a{
        width:96%;
    }
    .top_sweet .box_area .box .ttl{
        font-size:1rem;
    }
    .top_pason .img{
        width:100%;
    }
    /* **********************************
     *  店舗のご案内
     * ********************************* */
    header.under{
        background-size:cover!important;
    }
    header.under,
    header.under .in>.container{
        height:200px;
    }
    header.under h1{
        text-align: center;
    }
    header.under h1 img{
        width:72%;
    }
    .pg_shop .box_area .sub table th{
        width:27%;
    }
    .pg_shop .box_area .sub table td{
        width:73%;
        padding-right:10px;
    }
    .pg_shop .box_area .map iframe{
        height:200px;
    }
    .common h2{
        margin:30px 0;
    }
    /* **********************************
     *  お知らせ
     * ********************************* */
    .post_list .item .date {
        width: 25%;
    }
    .post_list .item .title {
        width: 74%;
    }
    /* **********************************
     *  お知らせ（詳細）
     * ********************************* */
    .news_link li {
        width: 31%;
    }
    .news_link li a{
        font-size:0.8rem;
    }
    /* **********************************
     *  商品紹介（詳細）
     * ********************************* */
    .pg_menu .box_wrap .img{
        width: 80%;
        padding-top: 74%;
    }
    .pg_menu .box_wrap .sub_box .txt{
        font-size:0.9rem;
        line-height: 1.8rem;
    }
}