@charset "utf-8";


/* ----------------------------------------

リンクボタン

---------------------------------------- */

.btn_link {
    font-family: "Jost", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: min(14px, 1.1vw);
    padding: 1em 0;
    width: min(240px, 16vw);
    text-align: right;
    display: inline-block;
    border-bottom: 2px solid #000;
}

.btn_link:after {
    content: '';
    width: 0.8em;
    height: 0.8em;
    background: url(../img/icon_arrow.png) center center no-repeat;
    background-size: contain;
    display: inline-block;
    margin-left: 0.8em;
}

@media (max-width: 750px) {
    .btn_link {
        font-size: 3.46666vw;
        width: 100%;
        border-width: 1px;
    }
}

/* -----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------

作品詳細
body.single-product

-----------------------------------------------------------------
-----------------------------------------------------------------
----------------------------------------------------------------- */

body.single-product #footer {
    border-top: min(30px, 2vw) solid #fff;
}

.woocommerce-js div.product {
    background-color: #f5f5f5;
    border: min(30px, 2vw) solid #fff;
    border-bottom: none;
}

body.single-product .elementor-255 .elementor-element.elementor-element-65252f8 .elementor-heading-title {
    font-size: 22px;
    border-bottom: 1px solid #000;
    padding-bottom: 0.375em;
    letter-spacing: 0.1em;
    margin-bottom: 0.5em;
}


.woocommerce-js div.product p.price {
    font-size: 32px;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-style: normal;
}

body.single-product .slider-product-item h2,
body.single-product .custom-product-item h2 {
    margin-top: 10px;
}

body.single-product .elementor-255 .elementor-element.elementor-element-04beec6 .elementor-heading-title,
body.single-product .elementor-255 .elementor-element.elementor-element-952e423 .elementor-heading-title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 0;
}

body.single-product .slider-product-item img,
body.single-product .carousel-wrapper>.custom-product-item img {
    border: 15px solid #fff;
    height: 240px;
    object-fit: contain;
    background-color: #fff;
}


body.single-product .random-product-slider {
    /* width: calc(100% + 40px);
    left: -10px; */
}

body.single-product .wp-block-table .has-fixed-layout {
    border: none;
    margin-bottom: 80px;
}

body.single-product .wp-block-table td,
body.single-product .wp-block-table th {
    border: none;
    color: #616161;
    padding: 0.5em 0;
}

body.single-product .wp-block-table tbody tr td:first-of-type {
    width: 120px;
}

/* .elementor-255 .elementor-element.elementor-element-a3c6fe9 */
.elementor-255 .elementor-element.elementor-element-299bd05 {
    margin-bottom: 120px;
}

/* .elementor-255 .elementor-element.elementor-element-a13de55 p, */
.elementor-255 .elementor-element.elementor-element-31491f1 p,
/* .elementor-255 .elementor-element.elementor-element-572f849 p  */
.elementor-255 .elementor-element.elementor-element-e09a441 p
{
    margin-bottom: 0;
    font-size: 14px;
    text-align: center;
}

/* .elementor-255 .elementor-element.elementor-element-a13de55 */
.elementor-255 .elementor-element.elementor-element-31491f1 {
    margin-bottom: 50px;
}

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
    width: 250px;
    background-color: #000;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.1em;
    border-radius: 0;
    padding: 1em 0;
}

.woocommerce-js div.product div.images .woocommerce-product-gallery__wrapper {
    box-shadow: 5px 5px 5px rgba(0,0,0,0.2);
}


@media (max-width: 1000px) {
    .elementor-255 .elementor-element.elementor-element-beda0ca {
        max-width: 540px;
    }

    body.single-product .elementor-255 .elementor-element.elementor-element-65252f8 .elementor-heading-title {
        font-size: 18px;
    }

    body.single-product .wp-block-table td,
    body.single-product .wp-block-table th {
        font-size: 13px;
    }

    .woocommerce-js div.product p.price {
        font-size: 24px;
    }

    .woocommerce-js div.product form.cart .button.single_add_to_cart_button {
        font-size: 14px;
    }

    body.single-product .wp-block-table .has-fixed-layout {
        font-size: 50px;
    }

    body.single-product .elementor-255 .elementor-element.elementor-element-04beec6 .elementor-heading-title,
    body.single-product .elementor-255 .elementor-element.elementor-element-952e423 .elementor-heading-title {
        font-size: 16px;
        margin-bottom: 0.375em;
    }

    body.single-product .slider-product-item img,
    body.single-product .carousel-wrapper>.custom-product-item img {
        border-width: 6px;
        height: 150px;
    }

    body.single-product .slider-product-item,
    body.single-product .carousel-wrapper>.custom-product-item {
        padding: 5px;
    }

}

@media (max-width: 750px) {
    .woocommerce-js div.product {
        border: none;
    }

    body.single-product .elementor-255 .elementor-element.elementor-element-65252f8 .elementor-heading-title {
        font-size: 16px;
        margin-top: 2em;
        margin-bottom: 1em;
    }

    body.single-product .wp-block-table td,
    body.single-product .wp-block-table th {
        padding: 0.25em 0;
    }

    body.single-product .wp-block-table .has-fixed-layout {
        margin-bottom: 50px;
    }

    /* .elementor-255 .elementor-element.elementor-element-a3c6fe9  */
    .elementor-255 .elementor-element.elementor-element-299bd05{
        margin-bottom: 80px;
    }

    body.single-product .elementor-255 .elementor-element.elementor-element-04beec6 .elementor-heading-title,
    body.single-product .elementor-255 .elementor-element.elementor-element-952e423 .elementor-heading-title {
        font-size: 14px;
        margin-bottom: 0.5em;
    }

    body.single-product .slider-product-item h2,
    body.single-product .custom-product-item h2 {
        font-size: 13px!important;
    }

    body.single-product .slider-product-item img,
    body.single-product .carousel-wrapper>.custom-product-item img {
        border-width: 5px;
        height: 160px;
    }

    body.single-product .elementor-255 .elementor-element.elementor-element-952e423 .elementor-heading-title {
        margin-top: 2em;
    }

    body.single-product .wp-block-table tbody tr td:first-of-type {
        width: 90px;
    }

    .woocommerce-js div.product div.images .woocommerce-product-gallery__wrapper {
        box-shadow: 4px 4px 4px rgba(0,0,0,0.2);
    }

}

/* #sec_1 {
    background-color: #f5f5f5;
    height: 400px;
}

#wrapper {
    background-color: #fff;
} */

/* バナー */



#banner {
    background-color: #fff;
    margin: 0 auto;
    /* height: min(468px,31.62vw); */
}

#banner > .inner {
    height: 100%;
    display: flex;
    justify-content: space-between;
}

#banner .left  {
    display: flex;
    align-items: center;
    width: 50%;
    /* padding-left: 110px;
    padding-right: 50px; */
    padding-left: min(110px,7.4vw);
    padding-right: min(50px,3.4vw);
}

#banner .left > .inner {
    font-size: min(14px, 1.1vw);
    padding: 6.5em 0;
}

#banner .title {
    /* margin-bottom: 45px; */
    margin-bottom: min(45px,3vw);
}

#banner .title p {
    background: url(../img/logo_original_black.png) center left no-repeat;
    background-size: contain;
    /* width: 380px;
    height: 33px; */
    width: min(380px,26vw);
    height: min(33px,2.2vw);
}


#banner .title span {
    font-size: min(14px, 1.1vw);
    color: #464646;
    letter-spacing: 0.2em;
    line-height: 3;
}

#banner .right {
    /* height: 100%; */
    width: 50%;
    background: url(../img/main2.jpg) center center no-repeat;
    background-size: cover;
    /* width: calc(100% - 674px); */
}

#banner .right img {
    width: 100%;
    max-height: 100%;
    object-fit: cover;
    height: 100%;
}

#banner .p {
    font-size: min(15px, 1.2vw);
    line-height: 2.5;
    letter-spacing: 0.1em;
    text-align: left;
    font-weight: 500;
}

#banner .btn_wrapper {
    text-align: right;
    margin-top: min(50px,3.4vw);
}

#banner .p > .br {
    display: none;
}



/* 余白調整 */

/* .elementor-255 .elementor-element.elementor-element-572f849 {
    margin-bottom: -340px;
} */

#banner {
    top: 230px;
}

body.single-product #footer {
    border-top: 400px solid #fff;
}

.e-con.e-flex>.e-con-inner {
    padding: 0;
}

@media (max-width: 750px) {
    #banner {
        height: auto;
        top: initial;
        margin-bottom: initial;
        background: url(../img/main2.jpg) center center no-repeat;
        background-size: cover;
    }

    #banner p,
    #banner .title span,
    #banner .btn_link {
        border-color: #fff;
        color: #fff;
    }

    #banner .btn_link:after {
        background-image: url(../img/icon_arrow_white.png);
    }
    #banner > .inner {
        flex-direction: column;
    }

    #banner .right,
    #banner .left {
        width: 100%;
    }

    #banner .title p {
        height: 6vw;
        width: 100%;
    }

    #banner .left  {
        padding: 20vw 10vw;
    }

    #banner .right {
        display: none;
    }

    #banner .left > .inner {
        width: 100%;
        padding: 0;
    }

    #banner .title {
        margin-bottom: 10vw;
    }

    #banner .title span {
        font-size: 3vw;
        display: block;
        margin-top: 0.25em;
    }

    #banner .title p {
        background-image: url(../img/logo_original_white.png);
    }

    #banner .p {
        font-size: 3vw;
        
    }

    #banner .p > .br {
        display: block;
    }
}


#banner {
    position: relative;
    width: 1348px;
    width: calc(100% + 348px);
    left: -174px;
}

@media (max-width: 1440px) {
    #banner {
        position: relative;
        width: calc(100% + 200px);
        left: -100px;
    }


    #banner .p > .br {
        display: block;
    }

    /* .elementor-255 .elementor-element.elementor-element-572f849  */
    .elementor-255 .elementor-element.elementor-element-e09a441
    {
        margin-bottom: -80px;
    }
}

@media (max-width: 1000px) {
    body.single-product #footer {
        border-top: 260px solid #fff;
    }

    #banner {
        top: 150px;
    }
}

@media (max-width: 750px) {
    #banner {
        width: calc(100% + 40px);
        left: -20px;
        margin-top: 60px;
        top: initial;
    }

    /* .elementor-255 .elementor-element.elementor-element-24f7ec9 */
    .elementor-255 .elementor-element.elementor-element-86885bd {
        padding: 0;
    }

    body.single-product #footer {
        border-top: min(30px, 2vw) solid #fff;
        border-top: none;
    }

    /* .elementor-255 .elementor-element.elementor-element-572f849 */
    .elementor-255 .elementor-element.elementor-element-e09a441 {
        margin-bottom: 0;
    }
    
}
