/*
Template: OOSATO
Theme Name: OOSATO_child
Description: New Material Design Theme
Version: 5.3.1
Author:	IT-STUDIO
Theme URI: https://it-studio.jp/
Domain Path: /languages
*/

h1,h2,h3,h4,h5,h6,p,body {
    font-family: '游ゴシック体 Medium', 'Yu Gothic Medium', 'YuGothic M', '游ゴシック体', YuGothic, Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
}

/*
h1,h2,h3,h4,h5,h6,p,body {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
*/
#comments .w-form-row.for_checkbox {
    display: none;
}
.white,.white h1,.white h2,.white h3,.white h4,.white h5,.white h6,.white p{
    color:#fff;
}
.circle img {
    border-radius: 50%;
}
.circle {
    margin-bottom: 5px;
}
.margin0 p {
    margin-bottom: 0 !important;
}
::selection {
    color: silver;
    background:#E3F2FD;
}
::-moz-selection {
    color: silver;
    background:#E3F2FD;
}
.scroll{
overflow: auto;
white-space: nowrap;
}
.scroll::-webkit-scrollbar{
 height: 5px;
}
.scroll::-webkit-scrollbar-track{
 background: #F1F1F1;
}
.scroll::-webkit-scrollbar-thumb {
 background: #BCBCBC;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.keep h1,.keep h2,.keep h3,.keep h4,.keep h5,.keep h6,.keep p{
    word-break: keep-all !important;
}
.single-post .l-content a[target="_blank"]:after {
    font-family: 'FontAwesome';
    content: '\f08e';
    font-size: 1rem;
    margin-left: 5px;
}


/*
input, button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
*/
input,select {
    cursor: pointer !important;
}
time.date-modified:before {
    content: 'a';
    content: '\f2f9';
}
/* blockquote */
blockquote {
    font-style: normal;
    border: 1px solid #aaaaaa !important;
    padding: 10px;
    border-radius: 3px;
    background: #FFFFE0;
    margin-bottom: 5px;
}
blockquote:before, blockquote:after {
    font-family: 'FontAwesome';
    position: relative;
    display: block;
    font-size: 22px;
    color: #666;
}
blockquote:before {
    content: '\f10d';
    text-align: left;
}
blockquote:after {
    content: '\f10e';
    text-align: right;
}

/* BLOG View*/
.w-blog.layout_flat .w-blog-post-body {
    padding: 5px !important;
}
.w-blog.layout_smallcircle h2, .w-blog.layout_smallsquare h2 {
    font-size: 20px;
}
h2.w-blog-post-title {
    margin-bottom: 0 !important;
}
.w-blog.layout_smallcircle .w-blog-post-body {
    display: grid;
}
.w-blog[class*="cols_"] .w-blog-list .w-blog-post-title {
    font-size: 1rem;
    font-weight: 700;
}
.w-blog.layout_smallcircle[class*="cols_"] .w-blog-post, .w-blog.layout_smallsquare[class*="cols_"] .w-blog-post {
    padding: 0 1.5rem;
    margin-bottom: 2rem;
}
@media screen and (max-width: 600px){
.w-grid-item-elm.usg_post_image_1.post_image.as_circle {
    width: 25% !important;
    float: left !important;
    margin-right: 15px;
}
.w-vwrapper.usg_vwrapper_1.align_left.valign_top {
    width: 70%;
    float: left !important;
    margin-left: 15px;
}
.w-hwrapper.usg_hwrapper_2.align_left.valign_top.wrap {
    line-height: 15px;
}
h2.w-grid-item-elm.usg_post_title_1.color_link_inherit.post_title.entry-title {
    margin-bottom: 5px;
}
}
.single-post h2 {
    color: #fff;
    background: #399d39;
    padding: 5px 15px;
    font-weight: bold;    
}
h2.post_title.entry-title {
    font-weight: bold;
    margin-bottom: 5px;
}


/* NAV */
.w-cart-icon {
    position: relative;
}
.w-cart-h span.w-cart-quantity {
    color: #fff !important;
    background: #f44336 !important;
    left: 14px;
}
.w-cart-icon .fa-shopping-cart:after {
  content: 'カート';
  position: absolute;
  top: 18px;
  font-size: 12px;
  left: -5px;
  font-weight: normal;
}
.w-html.ush_html_1 {
    position: relative;
}
.mail-out3 span {
    position: relative;
    font-size: 12px;
    bottom: -17px;
    left: -11px;
}

.mail-out3 i.material-icons {
    position: absolute;
    font-size: 30px;
    top: -7px;
    left: 0;
}

/* Mobile Munu */
.widget_custom_html {
    padding: 0 !important;
}
div#custom_html-2 {
    width: 50%;
    float: left;
}
.header_hor .w-nav.type_mobile.m_layout_dropdown .w-nav-list.level_1 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.type_mobile li.menu-item-object-page {
    width: 50%;
    float: left;
    padding: 0 10px;
    border: 1px solid #ccc;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
}

/* Title Heading */
h1.vc_custom_heading.heading-w:after {
    content: '';
    margin: 0 auto;
    width: 80px;
    height: 1px;
    background-color: #fff;
    display: block;
}
h2.vc_custom_heading.heading-w:after {
    content: '';
    margin: 0 auto;
    width: 70px;
    height: 1px;
    background-color: #fff;
    display: block;
}
h1.vc_custom_heading.heading-w,h2.vc_custom_heading.heading-w {
    margin-bottom: 5px;
}

@media (max-width: 480px) {
.sub-heading h2 {
    font-size: 1.1em;
}
}

/* nextpage previus page */
.blog-nav {
    overflow: hidden;
    border-top: 1px dashed #ccc;
    border-bottom: 1px dashed #ccc;
    margin-bottom: 35px;
    margin-top: 40px !important;
}
.blog-prev {
    float: left;
    padding: 30px 20px;
    width: 50%;
    position: relative;
}
.meta-prev {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    opacity: 0.5;
}
.meta-next {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    opacity: 0.5;
}

.blog-nav-title-next a,.blog-nav-title-prev a {
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}
.blog-next {
    float: right;
    text-align: right;
    padding: 30px 20px;
    width: 50%;
    position: relative;
    color: inherit !important;
}
span.blog-nav-title-prev img {
    display: block;
    float: left;
    margin-right: 10px;
}
span.blog-nav-title-prev a {
    display: block;
    float: left;
    line-height: 24px;
}
span.blog-nav-title-next img {
    display: block;
    float: right;
    margin-left: 10px;
}
span.blog-nav-title-next a {
    display: block;
    float: right;
    line-height: 24px;
}
@media (max-width: 767px) {
span.blog-nav-title-prev img,span.blog-nav-title-next img {
    display: none;
  }
.blog-prev,.blog-next {
      padding: 30px 10px;
}
}


/*Contact Form*/
input.wpcf7c-btn-confirm {
    font-size: 18px !important;
    margin-top: 20px;
    width: 200px;
    margin-bottom: 15px;
}
input.wpcf7-form-control.wpcf7-submit.wpcf7c-elm-step2 {
    margin-top: 20px;
    font-size: 18px !important;
    width: 200px;
    margin-left: 20px;
    margin-bottom: 15px;
}
input.wpcf7-form-control.wpcf7-back.wpcf7c-elm-step2.wpcf7c-btn-back {
    margin-top: 20px;
    font-size: 18px !important;
    margin-bottom: 15px;
}
input.wpcf7-form-control.wpcf7-confirm.wpcf7c-elm-step1.wpcf7c-btn-confirm {
    margin-bottom: 15px;
}

.wpcf7 span.required {
    color: red;
    font-size: 11px;
    position: absolute;
    z-index: 90;
    left: 4px;
}
.wpcf7 span.required2 {
    color: red;
    font-size: 12px;
}
.wpcf7 span.required3 {
    color: red;
    font-size: 11px;
    position: relative;
    left: -8px;
    top: -10px;
}

input.wpcf7c-btn-confirm {
    font-size: 18px !important;
    margin-top: 20px;
    width: 200px;
    margin-bottom: 15px;
}
input.wpcf7-form-control.wpcf7-submit.wpcf7c-elm-step2 {
    margin-top: 20px;
    font-size: 18px !important;
    width: 200px;
    margin-left: 20px;
    margin-bottom: 15px;
}
input.wpcf7-form-control.wpcf7-back.wpcf7c-elm-step2.wpcf7c-btn-back {
    margin-top: 20px;
    font-size: 18px !important;
    margin-bottom: 15px;
}
input.wpcf7-form-control.wpcf7-confirm.wpcf7c-elm-step1.wpcf7c-btn-confirm {
    margin-bottom: 15px;
}
.row {
    position:relative;
    margin-bottom: 15px;
}
.row2 {
    background: #f0f5f5;
    margin-top: 5px;
    margin-bottom: 15px;
    padding: 10px 10px 10px 12px;
    border-radius: 5px;
    position:relative;
    border-top: 1px solid #ddd;
}
span.checkbox {
    position: relative;
    left: -10px;
    color:#888;
}
input.wpcf7-form-control.wpcf7-submit {
    width: 250px;
    display: block;
    font-size: 16px;
}

.wpcf7-radio input[type="radio"]{
    display:none;
}

.wpcf7-checkbox input[type="checkbox"]{
    display:none;
}
.wpcf7-checkbox label{
  cursor: pointer;
}
.wpcf7-list-item-label {
    position: relative;
    display: inline-block;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    border: 1px solid #aaa;
    padding: 2px 15px;
    border-radius: 5px;
    margin-bottom: 10px;
    font-size: 14px;
}
.wpcf7-checkbox {
    position: relative;
    left: 10px;
}
.wpcf7-list-item-label:hover {
    color: #fff !important;
    border: 1px solid #89216b;
    background-color: #888;
}

.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label{
	background: #66BB6A;
	color: #ffffff;
    border: 1px solid #66BB6A;
}

.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label{
	background: #238cc4;
	color: #ffffff;
    border: 1px solid #238cc4;
}

/*WooCommerce*/
.woocommerce .shop_table.cart td, .woocommerce .shop_table.cart tfoot th {
    font-size: 1rem;
}
h1.product_title.entry-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 5px;
}
ul.card-brands {
    margin-bottom: 20px;
}
.card-brands li {
    display: inline-block;
    margin: 10px 5px 0 0;
    text-indent: -9000px;
    height: calc(23px * var(--scale));
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
li.card-visa {
    width: 50px;
    margin-left: -2px;
    background-image: url(/img/mono/visa.svg);
}
li.card-mastercard {
    width: 50px;
    margin-left: -2px;
    background-image: url(/img/mono/mastercard.svg);
}
li.card-amex {
    width: 50px;
    margin-left: -2px;
    background-image: url(/img/mono/amex.svg);
}
li.card-discover {
    width: 50px;
    margin-left: -2px;
    background-image: url(/img/mono/discover.svg);
}
li.card-jcb {
    width: 50px;
    margin-left: -2px;
    background-image: url(/img/mono/jcb.svg);
}
li.card-diners {
    width: 50px;
    margin-left: -2px;
    background-image: url(/img/mono/diners.svg);
}
#shop .l-section-h.i-cf {
    padding-top: 20px;
}

abbr.required,span.required {
    color: red;
}
form.woocommerce-EditAccountForm.edit-account .form-row-last {
    float: left !important;
}
form.woocommerce-EditAccountForm.edit-account .form-row-first {
    float: right !important;
}

.sidebar_none .woocommerce-tabs {
    float: none;
    clear: both;
    width: 100%;
}
span.woocommerce-Price-currencySymbol {
    font-size: 0.8em;
    margin-right: 5px;
}
span.subscription-details {
    font-size: 0.8em;
    font-weight: normal;
}
.single span.woocommerce-Price-amount.amount {
    color: #f44336;
}
section.related.products span.woocommerce-Price-amount,.wc-measurement-price-calculator-price span.woocommerce-Price-amount{
  color: #666;
  font-size: 0.8em;
  font-weight: normal;
}
p#shipping_country_field {
    display: none;
}

h1+.woocommerce-product-rating {
    margin-top: 5px;
}

small.woocommerce-price-suffix {
    font-size: 13px;
    font-weight: normal;
    color: #444;
}
button.single_add_to_cart_button.button.alt {
    float: right;
}

.woocommerce .product_meta {
    clear: both;
}
.woocommerce .product_meta {
    clear: both;
    margin-top: 40px;
    display: inline-block;
}

.woocommerce div.product .cart .quantity+.button {
    font-weight: bold;
    border-radius: 2px;
    line-height: 3rem;
}
.woocommerce div.product .cart .quantity+.button:before {
    font-family: fontawesome;
    content: '\f218';
    margin-right: 5px;
    font-size: 20px;
    font-weight: normal;
}
.woocommerce div.product .cart .quantity {
    float: left;
    clear: both !important;
    display: grid;
}
button.single_add_to_cart_button.button.alt {
    position: relative;
    top: 20px;
}
.woocommerce .product_meta {
    margin-top: 55px;
    float: right;
}

p#billing_country_field {
    display: none;
}
p#billing_postcode_field label {
    font-size: 14px;
}
em.woocommerce-review__verified.verified {
    display: none;
}
.woocommerce-Tabs-panel--description h3,.product-footer h3 {
    font-weight: bold !important;
    border-bottom: 1px solid #888;
    padding-left: 10px;
}
.woocommerce div.product .cart .quantity:before {
    content: '数量';
    vertical-align: sub;
    font-size: 14px;
    position: relative;
    top: 5px;
}
small.woocommerce-price-suffix {
    font-size: 13px;
    font-weight: normal;
    color: #444;
}
nav.woocommerce-breadcrumb {
    display: none;
}
a.woocommerce-LoopProduct-link span.onsale {
    background: #f44336 !important;
}

@media (max-width: 767px) {
.cate-head {
    position: relative;
    margin-top: -25px;
}
}
.search-no-results p.woocommerce-info {
    margin-top: 60px;
}
.woocommerce-product-details__short-description {
    font-size: 14px;
}
.woocommerce-product-details__short-description th {
    padding: 5px 10px;
    padding-bottom: 0;
    vertical-align: middle;
    width: 100px;
}
.woocommerce-product-details__short-description td {
    padding: 5px 10px;
    vertical-align: middle;
}

.annotation {
    clear: both;
    display: block;
    position: relative;
    top: 10px;
    font-size: 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 5px;
}
.annotation p {
    line-height: 20px;
}
span.notes {
    color: #e95095;
    margin-right: 3px;
}
a.mat-items:after {
    content: '\f08e';
    font-size: 1rem;
    margin-left: 5px;
    font-family: 'FontAwesome';
}

table.size-one {
    width: 300px;
    border: 1px solid rgba(255,152,0,1);
}
table.size-one th {
    padding: 2px 2px 2px 10px;
    border-bottom: none;
}
table.size-one td {
    padding: 2px;
    border-bottom: none;
    vertical-align: middle;
}

h2.woocommerce-loop-product__title {
    border-bottom: none !important;
}
section.related.products h2 {
    font-weight: bold;
    border-bottom: 1px solid #888;
    padding-left: 10px;
    font-size: 18px;
    display: inline-block;
}
.woocommerce-variation-availability {
    width: 100%;
    text-align: right;
}
p.stock.out-of-stock {
    text-align: right;
    display: inline-block;
    background: red;
    color: #fff;
    line-height: 30px;
    padding: 0 20px;
    border-radius: 2px;
    margin-top: 15px;
    font-size: 16px;
}
.withdrawal {
    text-align: right;
    margin-top: 30px;
    font-size: 13px;
}

/* Woo Checkout */
.checkout.woocommerce-checkout h3,h3#order_review_heading {
    font-weight: bold;
    margin-top: 20px;
    display: inline-block;
    color: #fff;
    background: #444;
    padding: 2px 20px !important;
}
h3#ship-to-different-address {
    background: none;
    padding-left: 0;
}


/* woo cart */
.wc-proceed-to-checkout a {
    font-weight: bold;
}
.woocommerce-cart ul.products.columns-4 {
    display: block;
    float: left;
    margin-top: 0;
}
.woocommerce-cart .products .product{
  width:100% !important;
}
.woocommerce-cart ul.products {
    margin: 0 0 2.4rem !important;
}
.woocommerce-cart .cross-sells h2 {
    font-weight: bold !important;
    color: #444 !important;
}
/* Woo product Loop */
h2.woocommerce-loop-product__title {
    text-align: center;
    font-weight: bold;
    padding: 0 !important;
    word-wrap: break-word;
}
.product-h .product-meta {
    text-align: center;
}
.product-h .product-meta .star-rating {
    margin: 0 auto !important;
}

/* Footer */
.footer-img {
    max-width: 150px;
    margin-bottom: 10px;
    margin-left: 4px;
}
.footer01 h4 {
    font-weight: bold;
    margin-bottom: 0;
}
.footer01 {
    margin-left: 5px;
}
.footer01 p {
    margin-bottom: 0 !important;
    line-height: 20px;
}
.footer01 p.small {
    font-size: 13px;
    line-height: 16px;
}
span.tel {
    font-size: 16px;
    margin-top: 5px;
    display: inline-block;
    font-weight: bold;
}
a.access i {
    position: relative;
    top: 5px;
    font-size: 20px;
}
table.business-hours th {
    font-weight: normal;
    width: 50%;
    padding: 2px;
    vertical-align: middle;
}
table.business-hours td {
    vertical-align: middle;
    padding: 2px 5px;
}
ul#menu-footer li {
    margin-bottom: 0px;
    margin-left: 5px;
    font-size: 0.9em;
    line-height: 22px;
}
table.business-hours {
    font-size: 0.9em;
    margin-top: 5px;
    margin-bottom: 5px;
}
span.foot-sub {
    font-size: 0.9em;
}

/* Terms */
.terms h4 {
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 30px;
}
.terms img {
    max-width: 120px;
}
a.termsp {
    margin-left: 12px;
    position: relative;
    top: -10px;
}

/* OOSATO */
.food h4 {
    margin-bottom: 0px !important;
}
.food p {
    font-size: 0.9em;
}
