/**
Theme Name: Astra +
Author: TERUOKAYA
Author URI: https://teruokaya.co.jp
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-plus
Template: astra
*/

:root, input, textarea, select, ::before, ::after {
    --box-shadow-style-1: 0 0 15px 5px rgba(0, 0, 0, .15);
    --box-shadow-style-2: 0 0 1px 3px rgba( 30, 144, 255, .2);
    --box-shadow-style-3: 0 6px 6px -6px rgba(29, 13, 3, .15);
    --border-radius-small: 4px;
    --border-radius-medium: 6px;
    --border-radius-large: 10px;
    --transparent: rgba(0, 0, 0, 0);
    --other-accent-color: rgba(0, 133, 255, 1);
    --custom-font-type-1: arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
    --custom-font-type-2: arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "メイリオ", meiryo, sans-serif;
    --custom-font-type-3: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}


/* リセット */
body, button, input, select, textarea, .ast-button, .ast-custom-button {
    font-family: var(--custom-font-type-2);
}

h1, h2, h3, h4, h5 {
    font-family: var(--custom-font-type-1);
}

a:focus, input:focus, textarea:focus, select:focus {
    outline: none;
}

abbr {
    color: var(--ast-global-color-0);
    text-decoration: none;
}

abbr[title] {
    border-bottom: none;
}

address {
    font-style: normal;
}

cite, dfn, em, i {
    font-style: normal;
}


/* ヘッダー */
#ast-fixed-header .main-header-bar {
    border-bottom: none;
    box-shadow: 0 0 15px 5px rgba(0, 0, 0, .15);

}

.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon:after {
    background: var(--ast-global-color-0);

}

.ast-site-header-cart i.astra-icon:after {
    top: -5px;
    right: -10px;
}

.ast-header-account-wrap {
    margin-bottom: 0;
}

.ast-header-account-type-extend-text-profile-type:not(.ast-mobile-popup-content .ast-header-account-type-extend-text-profile-type) span {
    display: none;
}

.ast-search-menu-icon .search-field {
    font-size: 16px;
}

.ast-menu-toggle {
    box-shadow: none;
}

.single .ast-primary-header-bar, .woocommerce-page:not(.woocommerce-account, .woocommerce-shop) .ast-primary-header-bar {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-color: var(--ast-border-color);
}


/* メガメニュー */
.ast-desktop .main-header-menu.ast-menu-shadow .astra-full-megamenu-wrapper {
    box-shadow: 0 12px 12px -6px rgba(0, 0, 0, .15);
}


/* スワイパー */
.swiper-pagination-bullet-active {
    background: var(--ast-global-color-3) !important;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: 0 !important;
}


/* パンくず */
.yoast-breadcrumbs {
    white-space: nowrap;
    overflow-x: auto;
}

#breadcrumbs span {
    display: flex;
    column-gap: 10px;
}

#breadcrumbs span a {
    color: var(--ast-global-color-3);
}

#breadcrumbs span a:hover {
    color: var(--ast-global-color-0);
}


/* フィールド調整 */
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row.ast-animate-input label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
    opacity: 0.75;
}

input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select {
    height: 48px;
    color: inherit;
}

@media (min-width: 992px) {
    input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select {
        height: 52px;
    }
}

.wpcf7 input.wpcf7-form-control:not([type=submit]), .wpcf7 textarea.wpcf7-form-control,
.woocommerce-js input[type=text], .woocommerce-page input[type=text], .woocommerce-js #review_form #respond textarea, .woocommerce-js input[type=email],
#custom-email-address, #wp-2fa-email-authcode, #wp-2fa-totp-authcode {
    border-radius: var(--border-radius-small);
}

.ast-search-menu-icon.slide-search a:focus-visible:focus-visible, .astra-search-icon:focus-visible, #close:focus-visible, a:focus-visible, .ast-menu-toggle:focus-visible, .site .skip-link:focus-visible, .wp-block-loginout input:focus-visible, .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper, .ast-header-navigation-arrow:focus-visible, .woocommerce .wc-proceed-to-checkout > .checkout-button:focus-visible, .woocommerce .woocommerce-MyAccount-navigation ul li a:focus-visible, .ast-orders-table__row .ast-orders-table__cell:focus-visible, .woocommerce .woocommerce-order-details .order-again > .button:focus-visible, .woocommerce .woocommerce-message a.button.wc-forward:focus-visible, .woocommerce #minus_qty:focus-visible, .woocommerce #plus_qty:focus-visible, a#ast-apply-coupon:focus-visible, .woocommerce .woocommerce-info a:focus-visible, .woocommerce .astra-shop-summary-wrap a:focus-visible, .woocommerce a.wc-forward:focus-visible, #ast-apply-coupon:focus-visible, .woocommerce-js .woocommerce-mini-cart-item a.remove:focus-visible, #close:focus-visible, .button.search-submit:focus-visible, #search_submit:focus, .normal-search:focus-visible, .ast-header-account-wrap:focus-visible, .woocommerce .ast-on-card-button.ast-quick-view-trigger:focus, .astra-cart-drawer-close:focus, .ast-single-variation:focus, .ast-woocommerce-product-gallery__image:focus, .ast-button:focus,

.woocommerce .button.single_add_to_cart_button:focus, .woocommerce .ast-woocommerce-container .woocommerce-pagination ul.page-numbers li a:focus, .woocommerce #reviews #respond input#submit:focus, .woocommerce #place_order:focus, .woocommerce .woocommerce-MyAccount-content form button:focus, .ast-mobile-popup-drawer.active .menu-toggle-close:focus, [data-section="section-header-mobile-trigger"] .ast-button-wrap .ast-mobile-menu-trigger-minimal:focus, #ast-scroll-top:focus, .woocommerce p#ast-coupon-trigger:focus {
    border-width: 0;
}

.ast-button-wrap .menu-toggle:focus, .ast-menu-toggle:focus, .astra-cart-drawer-close:focus {
    outline: none;
}

input:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="reset"]:focus, input[type="search"]:focus, input[type="number"]:focus, textarea:focus, .wp-block-search__input:focus, .woocommerce-ordering select.orderby:focus, #coupon_code:focus, .woocommerce-page #comment:focus, .woocommerce a.add_to_cart_button:focus, .woocommerce .woocommerce-cart-form button:focus, .woocommerce .woocommerce-cart-form__cart-item .quantity .qty:focus, .woocommerce .woocommerce-billing-fields .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper > .input-text:focus, .woocommerce #order_comments:focus, .woocommerce .woocommerce-address-fields .woocommerce-address-fields__field-wrapper .woocommerce-input-wrapper > .input-text:focus, .woocommerce .woocommerce-MyAccount-content .woocommerce-EditAccountForm .woocommerce-form-row .woocommerce-Input.input-text:focus,  body #content .woocommerce form .form-row .select2-container--default .select2-selection--single:focus, #ast-coupon-code:focus, .woocommerce.woocommerce-js .quantity input[type=number]:focus, .woocommerce-js .woocommerce-mini-cart-item .quantity input[type=number]:focus,

body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=text]:focus,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=password]:focus,
body:not(.cartflows-canvas):not(.cartflows-default) .woocommerce form .form-row input[type=email]:focus,

.wpcf7 input.wpcf7-form-control:not([type=submit]):focus, .wpcf7 select.wpcf7-form-control:focus, .wpcf7 textarea.wpcf7-form-control:focus,

#custom-email-address:focus, #wp-2fa-email-authcode:focus, #wp-2fa-totp-authcode:focus {
    border-style: solid;
    border-color: var(--other-accent-color);
    box-shadow: var(--box-shadow-style-2);
}


/* woocommerce インフォ */
.woocommerce-error, .woocommerce-info, .woocommerce-message {
    background-color: var(--ast-global-color-4);
    border-top: initial;
    border: 1px solid var(--ast-border-color);
    border-top-color: var(--ast-border-color);
    border-radius: var(--border-radius-small);
    box-shadow: var(--box-shadow-style-3);
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    font-family: 'Font Awesome 5 Free';
    scale: 1.25;
    left: 1.25em;
}

.woocommerce-error::before {
    content: '\f06a';
    color: var(--ast-global-color-0);
}

.woocommerce-info::before {
    content: '\f4ad';
    color: var(--ast-global-color-8);
    transform: scale(-1, 1);
}

.woocommerce-message::before {
    content: '\f4ad';
    color: var(--ast-global-color-8);
    transform: scale(-1, 1);
}


/* テーブル */
.dl-table-style-1x,
.dl-table-style-2x {
    background: var(--ast-global-color-4);
    border: 1px solid var(--ast-border-color);
    border-radius: var(--border-radius-medium);
    box-shadow: var(--box-shadow-style-3);
    margin-bottom: calc(0.3em + 10px);
}

.dl-table-style-1x dt,
.dl-table-style-2x dt {
    padding: 0.5rem 1rem;
    font-weight: normal;
}

.dl-table-style-1x dt,
.dl-table-style-2x dt:first-child {
    border-top-left-radius: var(--border-radius-medium);
    border-top-right-radius: var(--border-radius-medium);
}

.dl-table-style-1x dt {
    background: var(--ast-global-color-5);
    text-align: center;
}

.dl-table-style-2x dt {
    background: var(--ast-global-color-5);
    display: flex;
}

.dl-table-style-1x dd,
.dl-table-style-2x dd {
    background: var(--ast-global-color-4);
}

.dl-table-style-1x dd {
    border-bottom-left-radius: var(--border-radius-medium);
    border-bottom-right-radius: var(--border-radius-medium);
    padding: 1rem;
    margin: 0;
}

.dl-table-style-2x dd:last-of-type {
    border-bottom-left-radius: var(--border-radius-medium);
    border-bottom-right-radius: var(--border-radius-medium);
}

.dl-table-style-2x dd {
    margin: 0;
    padding: 1rem;
}

.dl-table-style-1x p,
.dl-table-style-2x p {
    margin-bottom: 1rem;
}

@media (min-width: 992px) {
    .dl-table-style-2x {
        display: flex;
        flex-wrap: wrap;
    }

    .dl-table-style-2x dt {
        display: block;
        flex: 20%;
        border-bottom: 1px solid var(--ast-border-color);
        padding: 1rem 1.25rem;
        text-align-last: justify;
        align-content: center;
    }

    .dl-table-style-2x dt:first-of-type {
        border-top-right-radius: 0;
	}

    .dl-table-style-2x dt:last-of-type {
        border-bottom: 0;
        border-bottom-left-radius: var(--border-radius-medium);
	}

	.dl-table-style-2x dt span {
        display: block;
    }

	.dl-table-style-2x dd:first-of-type {
        border-top-right-radius: var(--border-radius-medium);
    }

	.dl-table-style-2x dd:last-child {
        border-bottom: none;
        border-bottom-right-radius: var(--border-radius-medium);
    }

    .dl-table-style-2x dd {
        border-bottom: 1px solid var(--ast-border-color);
        flex: 80%;
    }
}


/* 商品詳細 */
.product-details .pp-subtitle, .product-details .pp-remarks {
    font-size: .875em;
    margin-bottom: 1em;
}

.pp-title {
    position: relative;
    cursor: pointer;
    margin-top: 0 !important;
    margin-bottom: 1em !important;
}

.pp-title::after {
    content: '－';
    position: absolute;
    right: .5em;
    font-weight: normal;
    transition: transform 0.3s ease;
}

.pp-title.open::after {
    content: '＋';
    transform: rotate(180deg);
}


/* アレルギー情報 */
.allergen {
    display: flex;
    flex-wrap: wrap;
    padding: 0 !important;
    margin: 0 !important;
    gap: 1em;
}

.allergen li {
    margin-bottom: 0 !important;
}

.allergen li:nth-child(-n + 8) {
    font-weight: bold;
}

.allergen::before {
    content: '';
    flex: 20 1 100px;
    order: 1;
}

.allergen::after {
    content: '';
    flex: 20 1 100px;
}

.allergen-c {
    background: var(--ast-global-color-0);
}

.allergen-0, .allergen-1, .allergen-2 {
    display: inline-block;
    color: var(--ast-global-color-7);
    text-align: center;
    border-radius: var(--border-radius-small);
}

.allergen-0, .allergen-1 {
    flex: 1 1 100px;
}

.allergen-1, .allergen-2 {
    font-weight: bold;
    color: var(--ast-global-color-4);
    background: var(--ast-global-color-0);
    box-shadow: var(--box-shadow-style-3);

}

.allergen-2 {
    padding: .125em 1em .2em;
    margin-right: .5em;
    line-height: 1;
    font-size: .875em;
}

@media (max-width: 767px) {
    .allergen-0, .allergen-1, .allergen::before, .allergen::after {
        flex: 1 1 80px;
    }

    .allergen::before, .allergen::after {
        content: '';
    }

    .allergen::before {
        order: 1;
    }
}


/* 栄養成分表示 */
.nutrition-facts {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1em;
}

.nf-row {
    display: flex;
    list-style: none;
    padding-left: 0 !important;
    margin: 0 !important;
}

.nf-col1 {
    flex: 1 0 120px;
    text-align-last: justify;
    padding: 0 1em;
}

.nf-col2 {
    flex: 1 0 60px;
    text-align: right;
    padding-right: .5em;
}

.nf-col3 {
    flex: 1 0 40px;
}

@media (max-width: 540px) {
	.nf-row {
        flex: 100%;
    }
}


/* 商品データシート */
@media (min-width: 992px) {
    .product-data-sheet {
        background: var(--ast-global-color-4);
        border: 1px solid var(--ast-border-color);
        border-radius: var(--border-radius-medium);
        padding: 2em 2em 1em 2em;
        margin-bottom: 0;
        box-shadow: var(--box-shadow-style-3);
    }
}

.product-details {
    margin-bottom: 2em;
}

.product-details:last-child {
    margin-bottom: 0;
}

.product-details:last-of-type .pp-description {
    margin-bottom: 0;
}


/* クーポンゲット */
.coupon-code {
    table-layout: fixed;
    box-shadow: var(--box-shadow-style-3);
}

.coupon-code th {
    background: var(--ast-global-color-5);
}

.coupon-code td {
    background: var(--ast-global-color-4);
}

.copy-coupon {
    cursor: pointer;
    position: relative;
}

.copy-coupon:hover {
    opacity: 0.7;
}

.copied::after {
    content: 'コピーしました';
    color: var(--ast-global-color-4);
    background: #000;
    border-radius: .4rem;
    position: absolute;
    left: 0;
    bottom: 2rem;
    font-size: .875rem;
    padding: .125rem;
    min-width: 120px;
    text-align: center;
    animation: fadeIn 1s ease;
}


/* 縦書き */
.tategaki {
    writing-mode: vertical-rl;
}

.tategaki p, .tategaki h2 {
    font-family: var(--custom-font-type-3) !important;align-content;
}


/* その他のスタイル */

a img.fade {
	background: none !important;
	outline: none;
	transition: all 0.3s;
}

@media (hover: hover) and (pointer: fine) {
	a:hover img.fade {
		background: none !important;
		opacity: 0.7;
	}
}

.readme {
    padding: 1rem;
    background: var(--ast-global-color-4);
    border-radius: var(--border-radius-medium);
    box-shadow: var(--box-shadow-style-3);
}

.remarks {
    background: var(--ast-global-color-4);
    border: 3px solid var(--ast-global-color-6);
    border-radius: 10px;
    padding: 1rem;
    font-size: .875rem;
}

.komoji {
    font-size: .875rem;
}

.align1 {
    text-align: center;
}

.level1 {
    background: var(--ast-global-color-4);
}

.level2 {
    background: var(--ast-global-color-4);
}

.level3 {
    background: var(--ast-global-color-4);
}

.precaution {
    background: var(--ast-global-color-5);
    padding: 1em;
}

.precaution::before {
    content: '';
    display: block;
    border: 1em solid var(--ast-global-color-5);
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: calc(-1em + 2px);
    left: 0;
    margin: -1em 0 0 2em;
}

.card-style1 {
    box-shadow: var(--box-shadow-style-3);
}


/* シェアボタン */
.share-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 30px;
    margin: 2rem 0;
}

.share-buttons ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    column-gap: 30px;
}

.share-buttons ul li a:hover {
    opacity: 0.5;
}

.share-buttons img {
    height: 36px;
}


/* フッターレイアウト */
@media (max-width: 921px) {
	.widget_nav_menu .widget-title, .widget_nav_menu nav {
        padding: 0 20px;
    }

    .widget_nav_menu .widget-title {
        position: relative;
        margin-bottom: 20px;
    }

    .widget_nav_menu .widget-title::after {
        content: '＋';
        transition: transform 0.3s ease;
        position: absolute;
        right: 20px;
    }

    .widget_nav_menu .widget-title.open::after {
        transform: rotate(180deg);
        content: '－';
    }

    .site-above-footer-wrap[data-section="section-above-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
        border-bottom: 1px solid var(--ast-border-color);
    }

    .site-above-footer-wrap[data-section="section-above-footer-builder"].ast-footer-row-mobile-stack .site-footer-section:not(:last-child) {
        margin-bottom: 20px;
    }

    .widget_nav_menu nav {
        display: none;
        margin-bottom: 20px;
        line-height: 2.8;
    }

    .footer-nav-wrap {
        line-height: 2.8;
    }
}


/* タブのデザイン */
.elementor-widget-n-tabs .e-n-tabs-heading {
    margin-bottom: -1px;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] {
    border-width: 1px 1px 1px 1px;
    border-bottom-color: var(--ast-global-color-4);
    z-index: 1;
}
