/**
Theme Name: LC-child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
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: lc-child
Template: astra
*/

/* ----------------------------------------------------------------------
　表示・非表示設定
------------------------------------------------------------------------*/
/* PC版非表示設定 */
.is-pc {
    display: block !important;
}

.is-sp {
    display: none !important;
}

/* SP版非表示設定 */
@media screen and (max-width: 768px) {
    .is-pc {
        display: none !important;
    }

    .is-sp {
        display: block !important;
    }
}

/* ----------------------------------------------------------------------
 margin - 余白
---------------------------------------------------------------------- */
.u-mt-xxsmall {
    margin: 5px 0 0;
}

.u-mt-xsmall {
    margin: 10px 0 0;
}

.u-mt-small {
    margin: 20px 0 0;
}

.u-mt {
    margin: 30px 0 0;
}

.u-mt-large {
    margin: 40px 0 0;
}

.u-mt-xlarge {
    margin: 50px 0 0;
}

.u-mt-xxlarge {
    margin: 60px 0 0;
}

.u-mr-xsmall {
    margin: 0 10px 0 0;
}

.u-mr-small {
    margin: 0 20px 0 0;
}

.u-mr {
    margin: 0 30px 0 0;
}

.u-mr-large {
    margin: 0 40px 0 0;
}

.u-mr-xlarge {
    margin: 0 50px 0 0;
}

.u-mb-xsmall {
    margin: 0 0 10px 0;
}

.u-mb-small {
    margin: 0 0 20px 0;
}

.u-mb {
    margin: 0 0 30px 0;
}

.u-mb-large {
    margin: 0 0 40px 0;
}

.u-mb-xlarge {
    margin: 0 0 50px 0;
}

.u-ml-xsmall {
    margin: 0 0 0 10px;
}

.u-ml-small {
    margin: 0 0 0 20px;
}

.u-ml {
    margin: 0 0 0 30px;
}

.u-ml-large {
    margin: 0 0 0 40px;
}

.u-ml-xlarge {
    margin: 0 0 0 50px;
}

/* ----------------------------------------------------------------------
   text-align - 配置
  ---------------------------------------------------------------------- */
.align_c {
    text-align: center;
}

.align_r {
    text-align: right;
}

.align_l {
    text-align: left;
}

.txt12 {
    font-size: 12px;
}

.txt13 {
    font-size: 13px;
}

.txt14 {
    font-size: 14px;
}

.txt15 {
    font-size: 15px;
}

.txt16 {
    font-size: 16px;
}

.txt18 {
    font-size: 18px;
}

.txt20 {
    font-size: 20px;
}

.txt22 {
    font-size: 22px;
}

.txt24 {
    font-size: 24px;
}

.txt26 {
    font-size: 26px;
}

.txt28 {
    font-size: 28px;
}

.txt30 {
    font-size: 30px;
}

.txt32 {
    font-size: 32px;
}

.txt34 {
    font-size: 34px;
}

.txt36 {
    font-size: 36px;
}

.txt38 {
    font-size: 38px;
}

.txt40 {
    font-size: 40px;
}

.text-bd{
    font-weight: bold;
}

.flo_l {
    float: left;
}

.flo_r {
    float: right;
}

.cboth {
    clear: both; 
}

.red {
    color: #ff0000;
}

a {
    color: #ce9345;
    text-decoration: var(--proteo-general_link_decoration, underline);
}

body,
button,
optgroup,
body.yith-woocompare-popup {
    color: var(--proteo-base_font_color, #404040);
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: var(--proteo-base_font_size, 16);
    line-height: 1.7;
}

.alignfull {
    /*margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);*/
    width: auto;
    max-width: 1140px;
    margin: 0 auto;
}

.alignwide {
    /*margin-left: calc(25% - 25vw);
    margin-right: calc(25% - 25vw);*/
    width: auto;
    max-width: 1140px;
    margin: 0 auto;
}

.site-header:not(.sticky) {
    margin: 0 auto;
    padding: 0px !important;
    left: 0;
    right: 0;
    /*max-width: 1140px;*/
    z-index: 1000;
}

body.wp-singular .container {
    max-width: 1140px;
    padding-top: 30px;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    display: block;
}

@media (min-width: 768px) {
body.wp-singular .container {
    width: 100%;
    }
}

@media (min-width: 576px) {
    body.wp-singular .container {
    width: 100%;
    }
}



body.home .container {
    max-width: 1140px;
    padding-top: 30px;
    padding-right: 0;
    padding-left: 0;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-justify-content: flex-start !important;
    justify-content: flex-start !important;
}

@media screen and (max-width: 1160px) {
    body.home .container {
        max-width: 1140px;
        padding-top: 30px;
        padding-right: 0;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto;
        display: -webkit-flex !important;
        display: flex !important;
    }
}

@media screen and (max-width: 991px) {
    body.home .container {
        width: 96% !important;
        padding: 30px 0 0;
        margin: 0 auto;
        display: block !important;
    }
}



/*.site-content{
    padding-top: 0 !important;  
}*/
.content-area{
    margin: 0 auto 0 0;
    padding: 0;
    width: 75%;
}

@media screen and (max-width: 991px) {
    .content-area{
    margin: 0 auto;
    padding: 0;
    width: 100%;
    }
}

.top-sidearea{
    margin: 0;
    padding: 0;
    width: 23%;
    text-align: left;
    border: 1px solid #d2592f;
    border-radius: 8px;
    box-sizing:border-box;
    height: fit-content;
    display: block;
}

@media screen and (max-width: 1160px) {
    .top-sidearea{
        margin: 0 15px 0 0;
        padding: 0;
        width: 21%;
        text-align: left;
        border: 1px solid #d2592f;
        border-radius: 8px;
        box-sizing:border-box;
        height: fit-content;
        display: block;
    }
}

.top-sidearea .widget,
.top-sidearea ul{
    margin-bottom: 0 !important;
    padding: 0;
}
.top-sidearea ul li{
    margin: 0;
    padding: 10px;
    text-align: left;
    border-bottom:1px solid #d2592f;
    font-size: 15px;
    font-weight: 400;
}

.top-sidearea ul li:last-child {
    margin: 0;
    padding: 10px;
    text-align: left;
    border-bottom: 0px solid #d2592f;
    font-size: 15px;
    font-weight: 400;
}

.top-sidearea ul li a:hover{
    color: #d2592f;
    text-decoration: none;
}


#primary-menu li {
    width: 14.0%;
    margin: 0;
    padding: 0;
    text-align: center;
}

.site-branding{
    width: 100px !important;
    margin: 0;
    padding: 0;
}

.main-navigation{
        display: table-cell;
        width: 900px !important;
        float: none;
        vertical-align: middle;
    }

#primary-menu li img {
    width: 40%;
}

#primary-menu li .menu-image-title {
    font-size: 12px;
    letter-spacing: 0;
    margin: -10px 0 0;
}

.site-header .header-sidebar {
    text-align: right;
    clear: both;
    width: 200px !important;
    padding: 10px 0 0 !important;
}

.site-header .header-contents {
    position: relative;
    transition: all ease 0.3s;
    padding: 0 0 20px !important;
    color: var(--proteo-header_menu_color, #404040);
    /*padding: var(--proteo-header_spacing);*/ }


h2.top-heading-01{
    margin: 0;
    padding: 10px 5px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    border-top: 5px solid #f2d202;
    border-bottom: 5px solid #f2d202;
    background: #d75c31;
    color: #fff;
}

ul.top-banner-area{
    margin: 30px 0 0;
    padding: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    list-style: none;
}

ul.top-banner-area li{
    margin: 0;
    padding:10px 15px 15px;
    width: 32%;
    border: 1px solid #d75c31;
    box-sizing: border-box;
}

ul.top-banner-area li .banner-img{
    margin: 0 auto;
    padding: 0;
    width: 60%;
}

ul.top-banner-area li .banner-img img{
    width: 100%;
    height: auto;
}

ul.top-banner-area li .banner-heading{
    margin: 0;
    text-align: center;
    color:#d75c31;
    font-size: 18px;
    font-weight: bold;
}

ul.top-banner-area li .banner-text{
    margin: 0;
    text-align: center;
    font-size: 15px;
}

ul.top-box {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.top-box li{
    margin: 50px 0 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

ul.top-box li .textarea{
    margin: 0;
    padding: 0;
    text-align: left;
    width: 70%;
}

ul.top-box li .textarea .heading{
    margin: 0;
    padding: 0;
    font-size: 20px;
    font-weight: bold;
    color: #d75c31;
}

ul.top-box li .textarea .text {
    margin: 5px 0 0;
    padding: 0;
    font-size: 14px;

}

ul.top-box li .imgarea {
    margin: 0;
    padding: 0;
    width: 25%;
}

ul.top-box li .imgarea img{
    width: 100%;
    height: auto;
}

.button01 a {
    background: #fff;
    border: 2px solid #d75c31;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 20px auto 0 0;
    max-width: 400px;
    padding: 10px 25px;
    color: #d75c31;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.button01 a:hover {
    background: #d75c31;
    color: #FFF;
}

.button01 a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #d75c31;
    border-right: 3px solid #d75c31;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 47%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

.button01 a:hover:after {
    border-color: #FFF;
}

#main-footer .footer-sidebars{
    padding-top: 30px;
}

#main-footer .site-info{
    display: none;
}

.footer-sidebar-2 ul li a{
    font-size: 14px;
    margin: 0;
    padding: 0;
}

#main-footer div[class^=footer-sidebar] {
    padding-bottom: 0px; 
}

header.entry-header .woocommerce-breadcrumb {
    text-align: inherit;
    margin-bottom: 35px;
    text-align: left;
}

#secondary .widget{
    margin: 0 0 20px;
    padding: 0;
    width: 100%;
    text-align: left;
	/*
	border: 1px solid #d2592f;
	*/
    border-radius: 8px;
    box-sizing:border-box;
    height: fit-content;
    display: block;
}

#secondary .widget ul {
    padding: 0;
    list-style-type: none;
    margin: 0 !important;
}

#secondary .widget ul li {
    margin: 0;
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #d2592f;
    font-size: 15px;
    font-weight: 400;
}

#secondary .widget ul li:last-child {
    margin: 0;
    padding: 10px;
    text-align: left;
    border-bottom: 0px solid #d2592f;
    font-size: 15px;
    font-weight: 400;
}

#secondary .widget ul li a:hover {
    color: #d2592f;
    text-decoration: none;
}

@media (min-width: 1600px) {
    .container,
    .wp-block-cover-image .wp-block-cover__inner-container,
    .wp-block-cover .wp-block-cover__inner-container,
    .wp-block-group__inner-container {
        max-width: 1140px;
    }
}

/*サイドウィジェット　タイトルサイズ調整*/
div h2.widget-title {
    font-family: Noto Sans JP, sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    margin: 10px auto;
    text-align: center;
    font-size: 18px;
    font-weight: 700 !important;
}

div h3.widget-title {
    font-family: Noto Sans JP, sans-serif;
    font-weight: 400 !important;
    font-style: normal;
    margin: 10px auto;
    text-align: center;
    font-size: 20px;
}

/*商品ページ一覧　ボタンテキストサイズ調整*/
.button-style-1:not(.wp-block-button){
    font-size: 14px;
}

/*商品ページ一覧　ボタンテキストサイズ調整*/
ul.products li.product .add_to_cart_button,
ul.products li.product .added_to_cart{
    font-size: 14px;
}

/*商品ページ詳細　テキストエリア余白調整*/
.single-product div.product .summary.entry-summary {
    width: 60%;
    float: left;
    display: inline-block;
    padding-left: 30px;
    padding-right: 10px;
}

.site-header.left_logo_navigation_inline .header-contents {
    display: table;
    border-radius: 0 0 20px 20px;
    padding: 10px !important;
    box-shadow: 0px 0px 4px #5D8735;
    background: #fff;
}

.site-header.sticky {
    position: fixed;
    width: 100vw;
    box-shadow: -2px 2px 0px -27px rgba(0, 0, 0, 0); 
    z-index: 200;
    background-color: transparent !important;
}

.home .content-area {
    margin: 0 auto 0 0;
    padding: 0;
    width: 100%;
}

.home .content-area .site-main .main-v{
    margin: 20px 0 0;
    padding: 0;
    width: 100%;
    position: relative;
}

.home .content-area .site-main .main-v img{
width: 100%;
height: auto;
}

/*  2025.11　　修正*/

.maincatch-area{
    margin: 0;
    padding: 20px 30px 20px 50px;
    background: rgba(170, 196, 108, 0.9);
    font-size: 34px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    min-width: 50%;
    display: block;
    position: absolute;
    left: 0;
    top: 38%;
    line-height: 1.5;
    border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 768px){
    .maincatch-area{
    margin: 0 auto;
    padding: 20px;
    background: rgba(170, 196, 108, 0.9);
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    min-width: 50%;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 38%;
    line-height: 1.5;
    border-radius: 12px;
    width: 90%;
}
}

.main-catch{
    font-size: 40px;
}
@media screen and (max-width: 768px) {
.main-catch{
    font-size: 28px;
}
}

.top-contents-main{
    margin: -82px 0 0;
    padding: 0;
    width: 100%;
    color: #222;
    line-height: 1.8;
    box-sizing: border-box;
}

@media (min-width: 922px) {
    .ast-no-sidebar .site-content .ast-container {
        display: block;
        }
    .ast-container {
        max-width: 100%;
        padding: 0;
    }
}

.main-visual{
    margin: 0;
    padding: 0;
    width: 100%;
    height: 780px;
    background: url(images/img-hirogal-mainv.png) no-repeat;
    background-position: center bottom;
    background-size: cover;
    position: relative;

}

@media screen and (max-width: 768px) {
.main-visual{
    margin: 0;
    padding: 0;
    width: 100%;
    height: 70vh;
    background: url(images/img-hirogal-mainv.png) no-repeat;
    background-position: right bottom;
    background-size: cover;
    position: relative;
}
}

.site-jigyou{
    margin: 5px 10px 0 0;
    padding: 0;
    text-align: right;
    font-size: 12px;
}

.page-base{
    margin: 0 auto;
    padding: 0;
    max-width: 1200px;
}

@media screen and (max-width: 768px) {
.page-base{
    margin: 0 auto;
    padding: 0;
    width: 90%;
}
}

.lead-area{
    margin: 0;
    padding: 70px 0;
    background-image: linear-gradient(0deg, #ffe6ca, #ffffff);
}

.lead-text{
    margin: 0 auto;
    padding: 0;
    text-align: left;
    font-size: 18px;
    max-width: 800px;
}

.lead-contents{
    margin: 50px 0 0;
    padding: 0;
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.lead-contents .inbox{
    margin: 0;
    padding: 0;
    width: 45%;
    display: block;
}

.lead-contents .inbox .ph{
    margin: 0;
    padding: 0;
    width: 100%;
}

.lead-contents .inbox .ph img{
    width: 100%;
    height: 330px;
    border-radius: 12px;
    object-fit: cover;
}

.lead-title{
    margin: 15px 0 0;
    padding: 0;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    width: 100%;
}

@media screen and (max-width: 768px) {
.lead-area{
    padding: 40px 0;
}
.lead-contents {
    margin: 50px auto 0;
    padding: 0;
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.lead-contents .inbox {
    margin: 20px 0;
    padding: 0;
    width: 100%;
    display: block;
}
}

.page-c01{
    margin: 0 auto;
    padding: 70px 0;
    text-align: left;
    max-width: 635px;
}

@media screen and (max-width: 768px) {
.page-c01{
    margin: 0 auto;
    padding: 40px 0;
    text-align: left;
    max-width: 90%;
}
}

.page-c01 img {
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.page-c02{
    margin: 0;
    padding: 70px 0;
    width: 100%;
    background: #fae4e4;
}

h2.top-heading{
    margin: 0;
    padding: 0;
    font-size: 30px;
    text-align: center;
    color: #000;
}

@media screen and (max-width: 768px) {
    .page-c02 {
        padding: 40px 0;
    }
    h2.top-heading{
        margin: 0;
        padding: 0;
        font-size: 24px;
        text-align: center;
}
}

.liveec-base {
    margin: 50px 0 0;
    padding: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.liveec-base li {
    margin: 10px 0;
    padding: 0;
    width: 30%;
    border-radius: 12px;
    background: #fff;
    list-style: none;
}

@media screen and (max-width: 768px) {
.liveec-base{
    margin: 10px 0 0;
    padding: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.liveec-base li{
    margin: 20px 0;
    padding: 0;
    width: 100%;
    border-radius: 12px;
    background: #fff;
    list-style: none;
}
}

.liveec-base li img{
    width: 100%;
    height: auto;
    border-radius: 12px 12px 0 0;
}

.liveec-base li .text-area {
    margin: 20px auto;
    padding: 0;
    width: 80%;
    text-align: center;
}

.page-c03{
    background: linear-gradient(156deg, rgba(159, 4, 123, 0.5), rgba(66, 12, 191, 0.5)),
    url(images/img-hirogal-bg01.png) no-repeat;
    background-size: cover;
    position: relative;
    height: 100%;
}
.page-c04 {
    background: linear-gradient(156deg, rgba(213, 186, 9, 0.6), rgba(219, 30, 30, 0.5)),
        url(images/img-hirogal-bg02.png) no-repeat;
    background-size: cover;
    position: relative;
    height: 100%;
}
.page-c05 {
    background: linear-gradient(156deg, rgba(0, 132, 193, 0.479),rgba(82, 3, 172, 0.5)),
        url(images/img-hirogal-bg03.png) no-repeat;
    background-size: cover;
    position: relative;
    height: 100%;
}

.page-c03-inbox,
.page-c04-inbox,
.page-c05-inbox{
    margin: 0 auto;
    padding: 70px 0;
    max-width: 1000px;
    text-align: left;
    font-size: 18px;
    color: #fff;
}

@media screen and (max-width: 768px) {
.page-c03{
    background: linear-gradient(156deg, rgba(159, 4, 123, 0.5), rgba(66, 12, 191, 0.5)),
    url(images/img-hirogal-bg01.png) no-repeat;
    background-size: cover;
    background-size: left top;
    position: relative;
    height: 100%;
}
.page-c04 {
    background: linear-gradient(156deg, rgba(213, 186, 9, 0.6), rgba(219, 30, 30, 0.5)),
        url(images/img-hirogal-bg02.png) no-repeat;
    background-size: cover;
    background-size: right top;
    position: relative;
    height: 100%;
}
.page-c05 {
    background: linear-gradient(156deg, rgba(0, 132, 193, 0.479),rgba(82, 3, 172, 0.5)),
        url(images/img-hirogal-bg03.png) no-repeat;
    background-size: cover;
    background-size: left top;
    position: relative;
    height: 100%;
}

.page-c03-inbox,
.page-c04-inbox,
.page-c05-inbox{
    margin: 0 auto;
    padding: 40px 0;
    width: 90%;
    text-align: left;
    font-size: 16px;
    color: #fff;
}
}

a.button-01 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 20px auto 0;
    padding: 10px 50px;
    border: 1px solid #fff;
    border-radius: 30px;
    background-color:transparent;
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    width: 600px;
    box-sizing: border-box;
}

a.button-01::after {
    position: absolute;
    right: 2em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2em;
    height: .5em;
    background-color: #fff;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.button-01:hover {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid #fff;
    color: #fff;
    text-decoration: none;
}

.button-01:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}

@media screen and (max-width: 768px) {
a.button-01 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 20px auto 0;
    padding: 10px 20px;
    border: 1px solid #fff;
    border-radius: 30px;
    background-color:transparent;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    width: 96%;
    box-sizing: border-box;
}

a.button-01::after {
    display: none;
}
}

/*　フッターメニュー*/
#astra-footer-menu li a{
    color: #000 !important;
    text-decoration: none;
    font-size: 13px;
    margin: 0 10px;
}

#astra-footer-menu li a:hover {
    color: #5D8735 !important;
}

@media screen and (max-width: 768px) {
#astra-footer-menu li{
    margin: 0 0 10px;
}

#astra-footer-menu li a{
    color: #5D8735 !important;
    text-decoration: none;
    font-size: 15px;
}

#astra-footer-menu li a:hover {
    color: #7aac4b !important;
}


}_