@charset "UTF-8";
html {
    scroll-behavior: smooth;
}

body{
    font-family: YakuHanJP, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    width: 100%;
    background-image: url(../img/body_background.jpg);
}
.contents-wrapper{
    max-width: 1200px;
    margin: auto;
}
.detail-cotent-wrapper{
    max-width: 950px;
    margin: auto;
}
.menu-wrapper{
    width: 80%;
}

.grecaptcha-badge{
    bottom: 80px !important;
}

.mb-l{
    margin-bottom: 144px;
}
.mt-l{
    margin-top: 144px;
}
.mtb-l{
    margin: 120px 0;
}
.social-icons li{
    margin-left: 20px;
}
.social-icons img{
    width: auto;
    height: 35px;
}
main .section-concept .about .sp-txt{
    display: none;
}

/* header */
.header-top{
    position: relative;
    width: 100%;
    height: 100vh;
    padding: 40px 40px 0 0;
    background-image: linear-gradient(rgba(244, 212, 174, 0.2), rgba(244, 212, 174, 0.2)), url(../img/header_img.jpg);
    background-size: cover;
    background-position: 50% 33%;
    background-repeat: no-repeat;
}
.header-top .main-navi{
    text-align: right;
}
.header-top .g-navi, .header-top .social-icons{
    display: flex;
    justify-content: end;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9)
}
.header-top .g-navi a{
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    margin-left: 14px;
}
.header-top .logo{
    position: absolute;
    top: 20%;
    left: 200px;
    transform: translate(-50%, -50%);
}
.home.header-top .logo{
    top: 50%;
    left: 300px;
}
.header-top .logo img{
    display: inline-block;
    width: 60%;
}

.header-top .logo p{
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
}


/* content用のheader */
.header-top.content-page{
    height: 350px;
}
/* パンくずリスト */
.bread-crumb{
    display: flex;
    flex-wrap: wrap;
    margin-top: 8px;
    margin-left: 122px;
    padding-bottom: 14px;
    padding-right: 16px;
}
.bread-crumb span{
    margin: 0 4px;
}

.header-top.content-page h2{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 35px;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.9);
}

/* main */
.section-concept{
    padding: 0 8px;
}
main section.section-concept .flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

main .section-concept .flex img{
    width: auto;
}

main .section-concept .about{
    margin: 8px;
    text-align: center;
}
main .section-concept .about img{
    display: block;
    margin: 0 auto;
    width: 35%;
}

main .section-concept .about p{
    font-weight: bold;
}

/* お知らせ */
.section-top-news, .section-top-menu{
    text-align: center;
}
.section-top-news h2{
    margin-bottom: 40px;
}
.section-top-news ul{
    display: inline-block;
    padding: 0 16px;
    text-align: left;
}
/* .section-top-news span, .section-top-news time{
    margin-right: 40px;
} */
.section-top-news .category{
    margin: 0 20px;
}
.section-top-news li{
    margin-bottom: 1em;
}
.section-top-news .link-button{
    margin: 40px auto 0;
}

.link-button{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FF9488;
    border-radius: 9999px;
    width: 225px;
    height: 50px;
}
.link-button.pre{
    background-color: #AAA6A6;
}
.link-button.pre .wpcf7-previous{
    cursor: pointer;
} 
.link-button a, .link-button button{
    display: block;
    width: 100%;
    height: 100%;
    color: white;
    text-align: center;
    line-height: 50px;
}

.link-button input{
    display: block;
    width: 100%;
    height: 100%;
    color: white;
    border: unset !important;
    background-color: transparent;
}


/* メニュー */
.section-top-menu .flex{
    display: flex;
    margin-bottom: 56px;
}
.section-top-menu h2{
    margin-bottom: 40px;
}
.section-top-menu .flex > img{
    width: 60%;
    margin-right: 24px;
}
.section-top-menu .flex div p{
    text-align: left;
    margin-bottom: 40px;
}
.section-top-menu .flex .move-menu-button{
    display: inline-block;
    width: 345px;
    height: auto;
}
.section-top-menu .menu-collection img{
    width: 100%;
    height:auto;
}


/* オンラインストア */
.section-onlineshop{
    position: relative;
    height: 400px;
    background-image: url(../img/online_shop_bg.jpg);
    background-size: cover;
    background-position: 50% 33%;
    background-repeat: no-repeat;
    margin-bottom: 169px;
    padding-top: 16px;
}
.section-onlineshop h2{
    padding-top: 8px;
    text-align: center;
    font-size: 30px;
    color: #fff;
}
.section-onlineshop .link-button{
    text-align: center;
}
.section-onlineshop .link-button.store-button{
    position: absolute;
    left: 50%;
    bottom: -20%;
    transform: translate(-50%, -50%);
    width: 450px;
    height: 80px;
    font-size: 24px;
}
.section-onlineshop .link-button.store-button a{
    line-height: 80px;
}

/* 営業カレンダー */
.section-calendar{
    text-align: center;
}
.section-calendar h2{
    margin-bottom: 40px;
}
.section-calendar .google-calendar{
    width: 100%;
    height: 500px;
}
.section-calendar .link-button{
    margin: 40px auto 0;
}

/* アクセス */
.section-access{
    text-align: center;
}
.section-access h2{
    margin-bottom: 40px;
}
.section-access .flex {
    display: flex;
    justify-content: center;
    align-items: stretch;
}
.shop-info {
    text-align: left;
    padding-left: 70px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.shop-info dl{
    display: flex;
    flex-wrap: wrap;
}
.shop-info dl dt{
    width: 30%;
}
.shop-info dl dd{
    width: 70%;
    margin-bottom: 32px;
}
.shop-map {
    width: 90%;
    display: flex;
    align-items: stretch;
}
.section-access .google-map{
    width: 100%;
}
.section-access .link-button{
    margin: 40px auto 0;
}

/* footer */
.footer{
    text-align: center;
    background-color: #FF9488;
    color: #fff;
    padding:  16px 0;
}
.footer-logo a{
    display: inline-block;
}
.footer-logo .logo{
    width: 200px;
}

.footer .g-navi, .footer .social-icons{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 34px;
}
.footer .social-icons{
    margin: 32px 0;
}
.footer .g-navi li{
    font-weight: bold;
    margin: 16px 16px 0;
}
.footer .social-icons li{
    margin: 0 10px;
}

/* 404 */
.section-404{
    text-align: center;
    margin: 120px auto 144px;
}
.section-404 h2{
    margin-bottom: 40px;
}
.section-404 img{
    display: block;
    width: 70%;
    margin: auto;
}
.section-404 .link-button{
    margin: 40px auto 0;
}


/* news */
.section-news{
    width: 80%;
    margin: 120px auto 144px;
}
.section-news li{
    border: 1px solid #FF9488;
    background-color: #fff;
    margin-bottom: 40px;
}
.section-news .flex{
    display: flex;
}
/* .section-news .thumbnail{
    min-width: 400px;
} */
.section-news .thumbnail img{
    object-fit: cover;
    width: 100%;
    min-width: 400px;
    height: 280px;
}
.section-news .info-data {
    width: 100%;
    height: auto;
    padding: 16px;
}
.section-news time{
    margin-right: 80px;
}
.section-news .category{
    border: 2px solid #FF9488;
    padding: 4px 8px;
}
.section-news .head{
    display: flex;
    align-items: center;
}
.section-news .exc{
    height: 100px;
}
.section-news h2{
    margin: 16px 0 8px;
    font-size: 18px;
}
.section-news .link-button{
    margin: 16px 0 0 auto;
}


/* ページネーション */
.page-numbers{
    display: flex;
    justify-content: center;
}
.page-numbers li{
    margin-right: 10px;
    margin-bottom: 0;
    text-align: center;
    background-color: unset;
    width: 50px;
    height: 50px;
}
.page-numbers a, .page-numbers span{
    display: block;
    line-height: 50px;
}
.page-numbers .current{
    color: #fff;
    font-weight: bold;
    background-color: #FF9488;
}


/* news detail */
.section-news-detail{
    margin: 120px auto 144px;
    padding: 0 120px;
}
.detail-cotent-wrapper{
    margin-bottom: 144px;
}
.section-news-detail .news-block .flex{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-bottom: 1px solid #333;
    padding-bottom: 24px;
    margin-bottom: 24px;
}
.section-news-detail .news-block .content h2{
    text-align: center;
    margin-bottom: 24px;
    padding-bottom: 8px;
    border-bottom: dashed 1px #333;
}
.section-news-detail .news-block .content p{
    line-height: 1.5;
}
.section-news-detail .news-block .content img{
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 0 auto 40px;
}

.section-news-detail .news-block time{
    margin-left: 80px;
}
.section-news-detail .news-block .category{
    width: 220px;
    border: 2px solid #FF9488;
    padding: 4px 8px;
}
.section-news-detail .navi .flex{
    display: flex;
    justify-content: space-between;
}
.section-news-detail .navi .next .guide{
    color: #FF9488;
}
.section-news-detail .navi .pre .guide{
    color: #46BCFF;
}
.section-news-detail .navi .next, .section-news-detail .navi .pre{
    width: 200px;
}

/* menu */
.section-menu .menu-block .menu-wrapper{
    display: flex;
    justify-content: space-between;
    margin: auto;
}
.section-menu .menu-block{
    margin-bottom: 144px;
}
.section-menu .flex{
    display: flex;
    justify-content: center;
}
.section-menu .link-btns{
    margin-top: 120px;
}
.section-menu .link-btns .link-button{
    margin-left: 12px;
    margin-right: 12px;
    margin-bottom: 24px;
}
.section-menu .notice{
    font-size: 14px;
    margin-bottom: 144px;
    text-align: center;
}
.section-menu .menu-block h2{
    width: 80%;
    margin-left: auto;
    margin-right: auto;

    padding-bottom: 24px;
    margin-bottom: 24px;
    text-align: center;
    border-bottom: #333 1px solid;
}
.section-menu .menu-block .menu-list{
    width: 47%;
    align-self: flex-start;
    color: #4d2600;
}
.section-menu .menu-block .menu-list td{
    padding: 8px 0 4px 0;
    border-bottom: 1px dashed #333;
}
.section-menu .menu-block .menu-list td:nth-child(1){
    /* padding-right: 128px; */
    width: 80%;
}
.section-menu .menu-block .menu-list td:nth-child(2){
    width: 20%;
    text-align: right;
}
.section-menu .menu-block .menu-img-exc{
    width: 90%;
    margin: 64px auto 0;
}
.section-menu .menu-block .menu-img-exc li{
    position: relative;
    margin: 0 12px;
}
.section-menu .menu-block .menu-img-exc li::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-top: 20px solid transparent;
    border-right: 0;
    border-bottom: 0;
    border-right: 20px solid #6c3524;
}


/* menu detail */
.section-menu-detail{
    margin-top: 120px;
}
.section-menu-detail .menu-detail-block h2{
    text-align: center;
    margin-bottom: 40px;
}
.section-menu-detail .menu-detail-block .flex{
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
    padding: 0 24px;
}
.section-menu-detail .menu-detail-block .thumbnail-block{
    margin-right: 8px;
}
.section-menu-detail .menu-detail-block .flex img{
    width: 100%;
    height: auto;
}

.section-menu-detail .menu-detail-block .link-button{
    margin: auto;
}


/* privacy */
.section-privacy .txt{
    padding: 0 16px;
}
.section-privacy .txt-end{
    display: block;
    text-align: right;
}
.section-privacy, .section-terms{
    width: 90%;
    margin: 120px auto 144px;
}
.section-privacy h2, .section-terms h2{
    margin: 32px 0 8px;
}
.section-privacy p, .section-terms p{
    margin-bottom: 8px;
}
.section-privacy ol li, .section-terms ol li{
    list-style: decimal;
}
.form-wrapper{
    width: 60%;
    margin: auto;
}
.section-contact{
    max-width: 1500px;
    margin: 120px auto 144px;
}
.section-contact .contact1-block{
    margin: auto;
}
.section-contact .contact1-block h2.notice{
    width: 80%;
    margin: auto;
    text-align: center;
    font-size: 16px;
    font-weight: normal;
    margin-bottom: 40px;
}
.tel-border{
    border-bottom: #333 1px dashed;
    padding-bottom: 40px;
    margin-bottom: 40px;
}
.section-contact .contact1-block .tel-block h2,
.section-contact .contact1-block .form-block h2{
    margin: auto;
    text-align: center;
    background-color: #EAEAEA;
    padding: 24px;
}
.section-contact .contact1-block .tel-block h2{
    width: 60%;
}
.section-contact .contact1-block .form-block li{
    margin-bottom: 8px;
}
.section-contact .contact1-block .form-block ul{
    margin: 32px 0;
}
.section-contact .contact1-block .head-wrapper h2{
    margin-bottom: 24px;
}
.section-contact .contact1-block .head-wrapper{
    margin-bottom: 40px;
}
.section-contact .contact1-block form table{
    width: 100%;
    text-align: left;
    border-collapse:collapse;
    margin-bottom: 56px;
}
.section-contact .contact1-block form input:not(.link-button.submit input){
    padding: 8px;
}
.section-contact .contact1-block form input, textarea{
    width: 100%;
    border: #AAA6A6 1px solid;
    resize: none;
}

.section-contact .contact1-block form table tr{
    border: 1px solid #FF9488;
}
.section-contact .contact1-block form table tr th{
    width: 45%;
    font-weight: normal;
    background-color: #EAEAEA;
    padding: 16px;
}
.section-contact .contact1-block form table tr td{
    background-color: #fff;
    padding: 16px;
}

.common-input-notice{
    text-align: center;
    display: inline-block;
    color: #fff;
    border-radius: 9999px;
    height: 24px;
    width: 65px;
    line-height: 24px;
    margin-right: 10px;
}
.section-contact .contact1-block form table .required{
    background-color: #FF9488;
}
.section-contact .contact1-block form table .optional{
    background-color: #AAA6A6;
}

.section-contact .contact1-block form .confirm_block p{
    margin-bottom: 24px;
}
.section-contact .contact1-block form .confirm_block .submit-block{
    text-align: center;

}
.section-contact .contact1-block form .confirm_block .link-button{
    margin: auto;
}
.link-privacy{
    color: #6e272b;
    text-decoration: underline;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    display: none;
    margin-top: 10px;
}

.wpcf7-form-control-wrap.is-show .wpcf7-not-valid-tip {
    display: block;
}



/* contact-confirm */
.section-contact.section-confirm .contact1-block h2{
    text-align: center;
    margin-bottom: 40px;
}
.section-contact.section-confirm .confirm{
    width: 60%;
    margin: auto;
}
.section-contact.section-confirm .form-block{
    margin-top: 0;
}
.section-contact.section-confirm .contact1-block form .user-inputted{
    display: block;
    padding: 4px 8px;
    background-color: #EAEAEA;
    outline: none;
    border: none;
}
.section-contact.section-confirm .contact1-block form .user-inputted.message{
    white-space: pre-wrap;
}
.section-contact.section-confirm .contact1-block form table{
    word-break: break-all;
}

.section-confirm .confirm-block{
    text-align: center;
}
.section-confirm .confirm-block p{
    margin-bottom: 24px;
}
.section-confirm .confirm-block .flex{
    display: flex;
    justify-content: center;
}
.section-confirm .confirm-block .link-button{
    margin: 0 40px;
}

/* contact-complate */
.section-contact-complete{
    margin-top: 120px;
    margin-bottom: 120px;
    text-align: center;
}
.section-contact-complete h2{
    margin-bottom: 24px;
}
.section-contact-complete p{
    margin-bottom: 40px;
}
.section-contact-complete .link-button{
    margin: auto;
}


/* 隠し要素 */
.sp, .sp-hamburger{
    display: none;
}

.sp-hamburger .menu-icon {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 50px;
    width: 50px;
    background-color: #FF9488;
    padding: 8px;
    border: 1px solid #fff;
    border-radius: 2px;
}
.sp-hamburger .menu-icon div {
    height: 3px;
    width: 90%;
    background-color: #fff;
    border-radius: 2px;
}

/* auto-scroll */
#page-top a{
    display: flex;
    justify-content: center;
    align-items: center;
    background:#FF9488;
    border-radius: 5px;
    width: 60px;
    height: 60px;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
}
#page-top {
    position: fixed;
    right: 12px;
    z-index: 2;
    opacity: 0;
    transform: translateY(100px);
}
#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
    from{
        opacity: 0;
        transform: translateY(100px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}
#page-top.DownMove{
    animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
    from{
        opacity: 1;
        transform: translateY(0);
    }
    to{
        opacity: 1;
        transform: translateY(100px);
    }
}

.modal {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    display: none;
}

.bigimg {
    width: 90%;
    height: auto;
    max-width: 500px;
    max-height: 500px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.close-btn{
    position: absolute;
    top: 0px;
    right: 0;
    transform: translateY(-130%);
}

.cross-mark{
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
}

.cross-mark::before, .cross-mark::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px;
    height: 30px;
    background: #fff;
}

.cross-mark::before {
    transform: translate(-50%,-50%) rotate(45deg);
}
.cross-mark::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}
.bigimg img{
    width: 100%;
    height: auto;
}


/* Reservation */
.javakan-reservation-wrapper{
    width: 95%;
    max-width: 1200px;
    margin: auto;
    margin-top: 120px;
    margin-bottom: 144px;
}


/* EC */
.javakan-shop-wrapper{
    width: 80%;
    max-width: 1200px;
    margin: auto;
    margin-top: 120px;
    margin-bottom: 144px;
}
.javakan-cart-wrapper, .javakan-order-wrapper{
    width: 90%;
    margin: auto;
    margin-top: 120px;
    margin-bottom: 144px;
}
.woocommerce-result-count{
    color: #3399ff;
    text-align: center;
    padding-bottom: 4px;
    margin-bottom: 24px;
    border-bottom: 1px solid #3399ff;
}
.woocommerce-result-count{
    width: 100%;
}
/* .javakan-products-flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.javakan-products-flex::after{
    content:"";
    display: block;
    width: 300px;
} */
/* .javakan-shop-flex-item{
    width: 300px;
    margin-bottom: 24px;
} */
/* .javakan-shop-flex-item .price{
    display: block;
}
.javakan-shop-flex-item{
    margin: 0 16px 24px;
} */
/* .javakan-shop-item-title{
    margin-bottom: 8px;
} */
.javakan-shop-item-title .over-text{
    font-weight: normal;
    font-size: 16px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
/* .javakan-shop-flex-item img{
    width: 100%;
    height: 300px;
    object-fit: cover;
    margin-bottom: 8px;
} */
.fa-shopping-cart{
    font-size: 27px;
    margin-right: 24px;
}
.cart-button{
    display: flex;
    justify-content: flex-end;
    color: #fff;
    font-size: 18px;
    margin-bottom: 16px;
}

/* content-single-product */
.javakan-single-product-flex{
    display: flex;
    justify-content: space-around;
}
.javakan-single-product-flex .woocommerce-product-gallery{
    width: 35%;
}
.javakan-single-product-flex .wp-post-image{
    width: 100%;
    height: auto;
}
.javakan-single-product-flex .entry-summary{
    width: 60%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
}
.javakan-single-product-flex .product_title{
    font-size: 20px;
    margin-bottom: 16px;
    padding-bottom: 8px !important;
    border-bottom: 2px dashed #333
}
.javakan-single-product-flex .price{
    font-weight: bold;
    margin-bottom: 16px;
}
.javakan-single-product-flex .woocommerce-product-details__short-description{
    margin-bottom: 24px;
}
.javakan-single-product-flex .stock{
    margin-bottom: 8px;
}
.javakan-single-product-flex .cart{
    margin-bottom: 24px;
}
.woocommerce div.product form.cart div.quantity{
    margin-right: 8px;
    margin-bottom: 8px;
}
.javakan-single-product-flex .javakan-description{
    margin-bottom: 16px;
}
.woocommerce-product-attributes{
    font-size: 14px;
}
.javakan-single-product-flex .flex-control-nav{
    display: flex;
    padding: 0;
}
.javakan-stock-color1{
    color: #3399ff !important;
}
.javakan-stock-color2{
    color: #ff3300 !important;
}
.javakan-single-product{
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
.woocommerce-Price-amount{
    color: #000;
}

.javakan-single-product-flex .javakan-description-title, .javakan-single-product-flex .javakan-additional-title{
    font-size: 16px;
    margin-bottom: 8px;
}
.javakan-add-to-cart-button{
    background: #ffd814 !important;
    color: #000 !important;
    padding: 8px 24px;
}
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button{
    background: #ffd814;
}
.javakan-single-product-flex .woocommerce-product-attributes th{
    font-weight: normal;
}
.return-to-cart-button{
    display: inline-block;
    border-bottom: 1px solid;
}

.javakan-order-wrapper .woocommerce-thankyou-order-received{
    margin-bottom: 16px;
    color: #3399ff;
}
.javakan-order-wrapper h2{
    margin-bottom: 16px;
}
.javakan-order-wrapper .shipped_via{
    display: none;
}
.woocommerce-order-details__title{
    margin-top: 8px;
}

.wp-block-product-new .wc-block-grid__products{
    justify-content: space-around;
}

.wc-block-cart__empty-cart__title{
    margin-bottom: 16px;
}
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title){
    display: none !important;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    display: none !important;
}
.wp-block-separator.is-style-dots{
    display: none !important;
}
.add_to_cart_button{
    background: #ffd814;
    color: #000;
}
a.button.wc-forward{
    display: none;
}
.wc-block-checkout__actions_row{
    margin-bottom: 16px;
}

.wc-block-cart-item__prices, .wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices{
    display: none !important;
}
.wc-block-components-address-card address{
	width: 80%;
}

.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{
	width: 100%;
}

.wp-block-button__link.add_to_cart_button.empty{
	background: #999;
	color: #fff;
}

label[for="order_comments"] .optional, label[for="billing_address_2"] .optional, label[for="shipping_address_2"] .optional{
    display: none;
}

.woocommerce-checkout #payment ul.payment_methods li img{
    display: none;
}
.woocommerce-terms-and-conditions-link{
    color: #3399ff;
}
.woocommerce-terms-and-conditions-wrapper .section-terms{
    width: 100%;
    margin: 0;
}



#customer_details{
    margin-top: 32px;
}
#customer_details, .woocommerce-shipping-fields{
    margin-top: 8px;
    margin-bottom: 40px;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt{
    background-color: #ffd814;
    color: #333;
}
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt:hover{
    background-color: #ff9900;
    color: #fff;
}
.javakan-order-wrapper .woocommerce-checkout h3{
    margin-bottom: 8px;
}
#billing_country_field, #shipping_country_field{
    font-size: 0;
}

.woocommerce-checkout #payment div.payment_box .form-row{
    margin: 0;
}
.woocommerce-checkout #payment #wc-stripe-cc-form .form-row{
    padding: 0;
}
#stripe-payment-data .form-row.form-row-first, #stripe-payment-data .form-row.form-row-last{
    width: 100%;
    float: none;
}


/* cart */
.wc-block-components-totals-item__description{
    display: none !important;
}
.wp-block-woocommerce-cart-order-summary-shipping-block .wc-block-components-totals-item__value{
    display: none !important;
}
.wc-block-components-shipping-address{
    display: none !important;
}
.wc-block-components-totals-shipping__change-address__link{
    display: none !important;
}
.wc-block-components-totals-shipping__fieldset{
    display: none !important;
}



/* 特定商取引法 */
.specified-commercial-transactions-wrapper{
	width: 80%;
	margin: 144px auto;
}


@media screen and (max-width: 900px) {
    .wide-monitor{
        display: none;
    }
    .header-top .sp-main-visual, .header-top.content-page .sp-main-visual{
        background-image: url(../img/header_img.jpg);
        background-size: cover;
        background-position: 50% 50%;
        background-repeat: no-repeat;
    }
    .header-top.content-page .sp-main-visual{
        position: relative;
        height: 120px;
    }
    .mt-l{
        margin-top: 72px;
    }
    .mb-l{
        margin-bottom: 72px;
    }
    .bread-crumb{
        font-size: 13px;
        margin-left: 16px;
    }

    /* header */
    .header-top.content-page h2{
        width: 100%;
        text-align: center;
        font-size: 28px;
    }
    .sp, .sp-hamburger{
        display: block;
    }

    .header-top{
        background-image: unset;
        padding: 0;
        height: auto;
        margin-bottom: 72px;
    }
    .header-top .main-navi, .header-top .logo{
        display: none;
    }

    .header-top .sp-logo{
        width: 60%;
        padding: 8px 0 0px 8px;
    }
    .header-top .sp .flex{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
        padding-right: 8px;
    }

    /* top-concept */
    .main section.section-concept{
        flex-direction: column;
    }
    main section.section-concept .flex{
        padding: 8px;
    }
    main .section-concept .flex img{
        width: 35%;
    }
    main .section-concept .about img{
        width: 50%;
    }
    main .section-concept .about p{
        display: none;
    }
    main .section-concept .about .sp-txt{
        display: inline-block;
        text-align: left;
        font-size: 13px;
    }
    .section-top-menu .move-menu-button{
        display: inline-block;
        padding: 0 8px;
        max-width: 500px;
    }

    .section-onlineshop .link-button.store-button{
        width: 80%;
    }

    /* top-news */
    .section-top-news{
        margin: 0 auto 72px;
        font-size: 14px;
    }
    .section-top-news h2{
        margin-bottom: 16px;
    }
    .section-top-news li{
        border-bottom: 1px #333 solid;
    }
    .section-top-news li div span{
        display: inline-block;
        margin-bottom: 8px;
    }
    .section-top-news ul li div > span:last-of-type{
        display: block;
        margin-top: 8px;
    }
    .section-top-news ul{
        text-align: left;
    }
    /* .section-top-news span, .section-top-news time{
        margin-right: 8px;
    } */

    /* top-menu */
    .section-top-menu h2{
        margin-bottom: 16px;
    }
    .section-top-menu .flex{
        flex-direction: column;
        margin-bottom: 16px;
    }
    .section-top-menu .flex > img{
        width: 100%;
        margin-right: 0;
        margin-bottom: 8px;
    }
    .section-top-menu .flex div p{
        margin-bottom: 16px;
        padding: 0 8px;
    }
    .section-top-menu .menu-collection{
        margin-bottom: 40px;
    }
    .section-top-menu .flex .move-menu-button{
        width: 80%;
    }

    /* top-online-shop */
    .section-onlineshop{
        height: 200px;
        position: relative;
        margin-bottom: 97px;
    }
    .section-onlineshop h2{
        font-size: 24px;
        width: 100%;
        color: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .section-onlineshop .link-button.store-button{
        left: 50%;
        bottom: -25%;
        transform: translate(-50%, -50%);
        width: 92%;
        height: 50px;
        font-size: 16px;
    }
    .section-onlineshop .link-button.store-button a{
        line-height: 50px;
    }

    /* top-shop-calendar */
    .section-calendar h2{
        margin-bottom: 16px;
    }
    .section-calendar .google-calendar{
        height: 350px;
    }

    /* top-access */
    .section-access h2{
        margin-bottom: 16px;
    }
    .section-access .flex{
        flex-direction: column-reverse;
    }
    .shop-map{
        width: 100%;
        height: 350px;
        margin-bottom: 16px;
    }
    .shop-info dl dt, .shop-info dl dd{
        max-width: 400px;
        margin-bottom: 8px;
    }
    .shop-info{
        padding: 0 8px;
    }
    /* footer */
    .footer .g-navi{
        justify-content: flex-start;
    }
    .footer .social-icons{
        width: 70%;
        margin: auto;
    }
    .footer .social-icons li{
        margin-bottom: 24px;

    }


    /* news */
    .section-news{
        width: 90%;
        margin-top: 72px;
        margin-bottom: 72px;
    }
    .header-top.content-page{
        background-image: unset;
        height: auto;
        margin-bottom: 8px;
    }
    .header-top .sp-main-visual{
        width: 100%;
        height: 370px;
        object-fit: cover;
    }
    .section-news .news-list .flex{
        flex-direction: column;
    }
    .section-news .thumbnail img{
        height: 200px;
    }
    .section-news li{
        position: relative;
    }
    .section-news .category{
        font-size: 13px;
        padding: 0 10px;
        background-color: #FF9488;
        color: #fff;
        position: absolute;
        top: 0;
        left: 0;
    }
    .section-news .info-data{
        height: auto;
        padding: 0 0 16px 0;
    }
    .section-news .head{
        font-size: 13px;
        padding: 8px;
        border-bottom: 1px #333 solid;
    }
    .section-news time{
        margin-right: 0;
    }
    .section-news .info-data h2, .section-news .info-data p{
        padding: 0 8px;
        margin-bottom: 16px;
        font-size: 14px;
    }
    .section-news .link-button{
        margin-right: 8px;
        width: 50%;
    }
    .pagination li{
        margin: 0;
        border: 1px solid #FF9488;
    }
    .pagination li:first-of-type{
        border-left: 1px solid #FF9488;;
    }
    .pagination li{
        border-left: unset;
    }
    .section-news .thumbnail img{
        min-width: unset;
    }

    /* 404 */
    .section-404{
        margin-top: 72px;
    }
    .section-404 h2{
        font-size: 16px;
        margin-bottom: 32px;
    }
    .section-404 img{
        width: 90%;
    }
    .section-404 .link-button{
        margin-top: 32px;
    }

    /* privacy */
    .section-privacy, .section-terms{
        margin-top: 72px;
    }
    .section-privacy h2, .section-terms h2{
        font-size: 16px;
    }
    .section-privacy p, .section-privacy li, .section-terms p, .section-terms li{
        font-size: 12px;
        padding: 0 8px;
    }

    /* news-datail */
    .section-news-detail{
        margin: 72px 0;
        padding: 0 16px;
    }
    .section-news-detail .news-block time{
        margin-left: 8px;
    }
    .section-news-detail .news-block .category{
        width: auto;
        padding-left: 32px;
        padding-right: 32px;
    }
    .section-news-detail .news-block .flex{
        padding-bottom: 16px;
        margin-bottom: 16px;
    }
    .section-news-detail .news-block .content h2{
        font-size: 18px;
        font-weight: normal;
        margin-bottom: 32px;
        text-align: left;
    }
    .section-news-detail .news-block .content img{
        margin-bottom: 16px;
    }
    .section-news-detail .news-block .content p{
        font-size: 15px;
    }
    .section-news-detail .navi .next, .section-news-detail .navi .pre{
        width: 100%;
    }
    .section-news-detail .navi .flex{
        flex-direction: column;
    }
    .section-news-detail .navi .next{
        order: 2;
        margin-right: auto;
        font-size: 12px;
        margin-bottom: 16px;
        padding-right: 72px;
    }
    .section-news-detail .navi .pre{
        order: 3;
        margin-left: auto;
        font-size: 12px;
        padding-left: 72px;
        text-align: right;
    }
    .section-news-detail .navi .pre a{
        display: inline-block;
        text-align: left;
    }
    .section-news-detail .navi .link-button{
        margin: auto;
        margin-bottom: 40px;
    }
    .section-news-detail .detail-cotent-wrapper{
        margin-bottom: 40px;
    }

    /* menu */
    .section-menu .link-btns{
        font-size: 12px;
        margin-top: 72px;
    }
    .section-menu .link-btns .link-button{
        margin-left: 8px;
        margin-bottom: 8px;
    }
    .section-menu .link-btns .link-button:last-child{
        margin-right: 8px;
    }
    .section-menu .menu-block{
        margin-bottom: 72px;
    }
    .section-menu .menu-block .sp-flex{
        display: flex;
        flex-direction: column-reverse;
    }

    .section-menu .menu-block .menu-wrapper{
        flex-direction: column;
        border-top: #333 1px solid;
        width: 80%;
        padding-top: 24px;
    }
    .section-menu .menu-block .menu-list{
        width: 100%;
    }
    .section-menu .menu-block .menu-list td{
        padding-bottom: 8px;
    }
    .section-menu .notice{
        font-size: 12px;
        margin-bottom: 40px;
    }
    .section-menu .menu-block .menu-img-exc{
        flex-wrap: wrap;
        margin-top: 0;
        margin-bottom: 24px;
    }
    .section-menu .menu-block .menu-img-exc li{
        flex: 0 0 45%;
        margin: 0;
        margin: 0 8px 8px 0;
    }
    .section-menu .menu-block .menu-img-exc li img{
        width: 100%;
    }
    .section-menu .menu-block h2{
        font-weight: normal;
        border: unset;
        padding-bottom: 0;
        margin-bottom: 32px;
    }

    /* menu-datail */
    .section-menu-detail{
        margin-top: 72px;
    }
    .detail-cotent-wrapper{
        margin-bottom: 72px;
    }
    .section-menu-detail .menu-detail-block h2{
        margin-bottom: 32px;
    }
    .section-menu-detail .menu-detail-block .flex{
        width: 80%;
        max-width: 400px;
        margin: auto;
        flex-direction: column;
        padding: 0;
    }
    .section-menu-detail .menu-detail-block .thumbnail-block{
        margin-right: 0px;
    }
    .section-menu-detail .menu-detail-block .thumbnail-block img{
        width: 100%;
        margin: 0 auto 8px;
    }
    .section-menu-detail .menu-detail-block .flex p{
        font-size: 14px;
        margin-bottom: 32px;
    }
    .form-wrapper{
        width: 100%;
    }
    .section-contact{
        margin-top: 72px;
        margin-bottom: 72px;
    }
    .section-contact .contact1-block{
        width: 100%;
    }
    .section-contact .contact1-block h2.notice{
        width: 100%;
        padding: 0 16px;
        font-size: 14px;
        text-align: left;
        margin-bottom: 16px;
    }
    .section-contact .contact1-block .board{
        width: 80%;
        margin: auto;
    }
    .section-contact .contact1-block h2{
        font-size: 20px;
    }
    .tel-border{
        padding-bottom: 24px;
        margin-bottom: 24px;
    }
    .section-contact .contact1-block .form-block form{
        padding: 0 16px;
    }
    .section-contact .contact1-block .tel-block h2, .section-contact .contact1-block .form-block h2{
        width: 100%;
        padding: 16px;
    }
    .section-contact .contact1-block .form-block ul{
        padding: 0 16px;
        font-size: 14px;
        margin-top: 16px;
        margin-bottom: 24px;
    }
    .section-contact .contact1-block form table tr{
        display: flex;
        flex-direction: column;
        border-bottom: unset;
    }
    .section-contact .contact1-block form table tr:last-of-type{
        border-bottom: #FF9488 1px solid;
    }
    .section-contact .contact1-block form table tr th, .section-contact .contact1-block form table tr td{
        width: 100%;
    }
    .section-contact .contact1-block form table span{
        font-size: 14px;
    }
    .section-contact .contact1-block form table{
        margin-bottom: 24px;
    }
    .section-contact .contact1-block form .confirm_block p{
        font-size: 14px;
        text-align: left;
        margin-bottom: 24px;
    }
    .section-contact .contact1-block form .confirm_block .submit-block p{
        margin-bottom: 14px;
    }

    /* contact-confirm */
    .section-contact.section-confirm .contact1-block h2{
        margin-bottom: 24px;
    }
    .section-confirm .confirm-block p{
        font-size: 14px;
        text-align: left;
    }
    .section-confirm .confirm-block .flex{
        flex-direction: column-reverse;
    }
    .section-confirm .confirm-block .link-button.pre{
        margin-top: 32px;
    }
    .section-confirm .confirm-block .link-button{
        margin: 0;
    }
    .section-confirm .confirm-block .link-button{
        margin-left: auto;
        margin-right: auto;
    }
    .section-contact.section-confirm .confirm{
        width: 100%;
    }

    /* contact-complate */
    .section-contact-complete{
        margin-top: 72px;
        margin-bottom: 72px;
        padding: 0 16px;
    }
    .section-contact-complete h2{
        font-size: 16px;
    }
    .section-contact-complete p{
        text-align: left;
        font-size: 14px;
        margin-bottom: 32px;
    }

    /* hamburger */
    #g-nav{
        position:fixed;
        z-index: 999;
        top:-200%;
        left:0;
        width:100%;
        height: 100vh;
        background:#fff;
        opacity: 0.9;
        transition: all 0.5s;
    }
    #g-nav.panelactive{
        top: 0;
    }
    #g-nav ul {
        width: 100%;
        position: absolute;
        z-index: 999;
        top: 300px;
        left:50%;
        transform: translate(-50%,-50%);
    }
    #g-nav li{
        list-style: none;
        text-align: center;
        margin-bottom: 4px;
    }
    #g-nav li a{
        font-size: 20px;
        text-decoration: none;
        padding:8px;
        display: block;
    }
    .openbtn{
        border-radius: 2px;
        background-color: #FF9488;
        position: relative;
        z-index: 9998;
        top:10px;
        right: 10px;
        width: 50px;
        height:50px;
    }
    .openbtn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
        background-color: #fff;
        width: 45%;
    }
    .openbtn span:nth-of-type(1) {
        top:15px;
    }
    .openbtn span:nth-of-type(2) {
        top:23px;
    }
    .openbtn span:nth-of-type(3) {
        top:31px;
    }
    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }
    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }
    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }
    #g-nav-list img{
        width: 200px;
        position: absolute;
        z-index: 999;
        top: 140px;
        left:50%;
        transform: translate(-50%,-50%);
    }

    #page-top a{
        width: 50px;
        height: 50px;
        color: #fff;
        text-align: center;
        text-transform: uppercase;
        text-decoration: none;
        font-size: 10px;
        transition: all 0.3s;
    }

    /* オンラインストア */

    .javakan-shop-wrapper, .javakan-cart-wrapper, .javakan-order-wrapper{
        margin-top: 72px;
        margin-bottom: 72px;
    }
    .cart-button{
        justify-content: center;
        margin-bottom: 40px;
    }
    .javakan-shop-flex-item{
    /* .javakan-shop-flex-item:not(:last-child){ */
        text-align: center;
        width: 100%;
    }
    .javakan-shop-flex-item a{
    /* .javakan-shop-flex-item:not(:last-child) a{ */
        width: 100%;
        max-width: 300px;
        text-align: left;
        display: inline-block;
    }
    .javakan-shop-flex-item{
        margin: 0 0 40px;
    }
    /* .javakan-products-flex::after{
        content: none;
    } */
    .javakan-single-product-flex {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .javakan-single-product-flex .woocommerce-product-gallery,
    .javakan-single-product-flex .entry-summary{
        width: 100%;
    }
    .javakan-add-to-cart-button{
        width: 100%;
    }
    .wc-block-components-notice-banner__content{
        display: flex;
        flex-direction: column;
    }
    .woocommerce-column--billing-address{
        margin-bottom: 32px;
    }

    ul.order_details::before{
        content: none !important;
    }
    .woocommerce ul.order_details li{
        float: unset;
        margin-right: 0;
        border-right: unset;
        padding-right: 0;
        margin-bottom: 8px;
    }
	
	/* 特定商取引法 */
	.specified-commercial-transactions-wrapper{
		margin-top: 72px;
        margin-bottom: 72px;
	}
    .specified-commercial-transactions-wrapper .wp-block-table td,
    .specified-commercial-transactions-wrapper .wp-block-table th{
        display: block;
        font-size: 13.5px;
    }
    .specified-commercial-transactions-wrapper .wp-block-table td:not(:last-of-type),
    .specified-commercial-transactions-wrapper .wp-block-table th:not(:last-of-type){
        border-top: none;
        border-bottom: none;
    }
    .specified-commercial-transactions-wrapper .wp-block-table table{
        border-top: 1px solid #000;
    }


    /* Reservation */
    .javakan-reservation-wrapper{
        margin-top: 72px;
        margin-bottom: 72px;
    }
}
