/* カスタマイズ用CSS */
/* カスタマイズカテゴリー */
.customize_category_twig_area{
    margin-bottom: 50px;
}
.customize_category_twig_area h3 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 15px;
    padding: 0;
    margin: 0;
    margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
    .customize_category_twig_area h3 {
        font-size: 36px;
    }
}
.customize_category_twig_box{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    background-color: #F4F2EF;
    padding: 8px;
}
.customize_category_twig_area a{
    display: flex;
    justify-content: center;
    align-items: center; 
    background-color: #FFFFFF;
    color: black;
    height: 58px;
}
/* カスタマイズベンダー */
.customize_vendor_twig_area{
    margin-bottom: 80px;
}

/*@media only screen and (min-width: 768px) {*/
/*    .customize_vendor_twig_area h3 {*/
/*        font-size: 36px;*/
/*    }*/
/*}*/
.customize_vendor_twig_box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    padding: 8px;
}
.customize_vendor_twig_area a{
    display: flex;
    justify-content: center;
    align-items: center; 
    background-color: #FFFFFF;
    color: black;
    height: 70px;
}
.customize_vendor_twig_area a img{
    height: 100%;
    object-fit: contain;
    width: 100%;
    max-width: 100%;
}

/* 背景色強制変更 */
.ec-layoutRole__contents,
.ec-layoutRole__left {
    background-color: #f5f5f5 !important;
}
/* ヘッダー */
.customize_header {
    background: linear-gradient(
        to bottom,
        #EA000D 0%,   /* 0% 〜 20% まで赤 */
        #EA000D 20%,
        #004CB2 20%,  /* 20% 〜 100% まで青 */
        #004CB2 100%
    );
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.customize_header_left {
    padding-top: 8px;
    padding-left: 40px;
}
.customize_header_right {
    padding-top: 8px;
    padding-right: 40px;
}   
.customize_header_left a span {
    font-size: 14px;
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
}
.customize_header_right a,
.customize_header_right span{
    font-size: 12px;
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
}
#customizeTopImage {
    position: relative;
    top: -8px;
}
.customize_header_search_area {
    background-color: white;
    display: flex;
    align-items: stretch;
    padding-top: 8px;
    padding-bottom: 8px;
}
.customize_header_sublogo {
    margin-left: 40px;
    align-self: center;
}
@media screen and (max-width: 649px){
    .customize_header_sublogo {
        display: none; 
    }
    .customize_header_search {
        margin-right: 4px !important;
        margin-left: 4px !important;
    }
    #customizeTopImage {
        width: 30px;
    }
    .customize_header_left a {
        white-space: nowrap;
    }
    .customize_header_right {
        display: none;
    }
    
    .customize_header {
        justify-content: center;
    }
    .customize_header_left a span {
        font-size: 12px;
    }
    /*.ec-layoutRole__contentTop {*/
    /*    padding-top: 90.56px !important;*/
    /*}*/
    .ec-layoutRole__contents {
        padding-top: 90.56px !important;
    }
}
.customize_header_search {
    margin-left: 52px;
    flex-grow: 1;
    align-self: center;
}
.customize_header_searchform {
    display: flex;
    align-items: center;
    border: 1px solid #404040;
    border-radius: 12px;
    /*overflow: hidden;*/
    max-width: 600px;
    width: 100%;
    height: 45px;
}
@media (max-width: 962px){
    .customize_header_searchform {
        height: 30px;
        max-width: none;
    }
}
.category_id {
    border: none;
    background: #f5f5f5;
    padding: 0 15px;
    font-weight: bold;
    color: #333;
    border-right: 1px solid #ddd;
    appearance: none;
    outline: none;
    height: 100%;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}
.search-name {
    flex: 1;
    border: none;
    padding: 0 15px;
    font-size: 14px;
    color: #333;
    outline: none;
    height: 100%;
}
.customize_header_searchform_keywordBtn {
    background: none;
    border: none;
    padding: 0 15px;
    cursor: pointer;
    font-size: 16px;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
}
.customize_header_logininfo,
.customize_header_logoutinfo,
.customize_header_favorite {
    margin-left: 12px;
    margin-right: 12px;
    display: flex;
    align-items: center;
}
.customize_header_cart {
    margin-left: 12px;
    margin-right: 40px;
    display: flex;
    align-items: center;
}
.customize_header_logininfo a{
    white-space: nowrap;
}
.customize_header_logininfo a, 
.customize_header_logoutinfo a, 
.customize_header_favorite a,
.customize_header_cart a {
    color: black;
    display: flex;
    align-items: center;
    height: 100%;
}
.customize_header_logininfo a span,
.customize_header_logininfo a i {
    vertical-align: middle;
}
.customize_divider {
    font-size: xx-large;
}

@media (max-width: 992px){
    .customize_header_logininfo, 
    .customize_header_logoutinfo, 
    .customize_header_favorite,
    .customize_header_cart {
        display: none; 
    }
}
/* フッター */
.customize_footer_area {
    background-color: #004CB2;
    height: 24vh;
}
.customize_footer {
    margin-left: 40px;
    padding-top: 12px;
}
.customize_footer_area p {
    color: white;
    font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 649px){
    .customize_footer_title1,
    .customize_footer_title2_roman,
    .customize_footer_address,
    .customize_footer_map {
        font-size: 10px !important;
    }
    .customize_footer_title2 {
        font-size: 18px !important;
    }
}
.customize_footer_title1,
.customize_footer_title2_roman,
.customize_footer_address,
.customize_footer_map {
    font-size: 14px;
}
.customize_footer_title2 {
    font-size: 24px;
}
.customize_footer_title1,
.customize_footer_address,
.customize_footer_map {
    padding-bottom: 12px
}
.customize_footer_title2_roman {
    padding-bottom: 24px
}
/* カテゴリ（サイド）*/
.customize_category_side_area,
.customize_vendor_side_area,
.customize_news_side_area,
.customize_help_guide_side_area { 
    padding-top: 20px;
    padding-left: 20px;
}
.customize_help_guide_side_area { 
    padding-bottom: 20px;
}
.customize_category_side_title,
.customize_vendor_side_title,
.customize_news_side_title,
.customize_help_guide_side_title,
.customize_newitem_title,
.customize_recommenditem_title,
.customize_vendor_title,
.customize_new_product_vendor_title,
.customize_news_title{
    color: black;
    font-weight: bold;
    font-size: 18px;
}
.customize_category_side_area ul,
.customize_vendor_side_area ul {
  list-style: none;
  margin: 0px 0px 0px 20px;
  padding: 0;
}

.customize_category_side_area li,
.customize_vendor_side_area li {
    margin: 1em 0;
}

.customize_category_side_area > ul > li > div > a,
.customize_vendor_side_area > ul > li > a, 
.customize_news_side_area a,
.customize_help_guide_side_area a {
  font-weight: 500;
  color: black;
}

.customize_category_accordion{
  display: none; /* ← 初期非表示にする場合 */
}

.customize_category_accordion li a {
  display: block;
  color: black;
}
.customize_category_label {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.toggle_icon {
    cursor: pointer;
    padding-right: 3em;
}
.customize_help_guide_block {
    margin-left: 20px;
    margin-top: 1em;
    margin-bottom: 1em;
}
.customize_news_date {
    font-size: 12px;
    color: #C4C4C4;
}
.customize_help_guide_block a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.customize_help_guide_block i {
    color: #c4c4c4;
}
/* カスタマイズ新着商品・おすすめ商品 */
.customize_news_area,
.customize_recommenditem_area,
.customize_newitem_area {
    margin-bottom: 80px;
}
/* .customize_new_product_list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15vw, 1fr));
    gap: 24px 20px;
    padding: 8px;
} */
.customize_new_product_list,
.customize_tag_recommend_product_list{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px 20px;
    padding: 8px;
}
.customize_new_product_block,
.customize_tag_recommend_product_block,
.customize_news_block{
    margin: 1em 0;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 30px;
}
.customize_new_product_block{
    text-align: center;
}
.customize_news_block{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.customize_new_product_item a{
    display: inline-block;
    height: 70px;
}
.customize_tag_recommend_product_item a{
    display: inline-block;
    /*width: 17vw;*/
    /*height: 17vw;       */
    /*正方形にするためwidthと同じものを設定*/
}
.customize_tag_recommend_product_price,
.customize_tag_recommend_product_vendor,
.customize_tag_recommend_product_code {
    color: black;
}
.customize_new_product_item a img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    /*aspect-ratio: 1;*/
    object-position: top;
    margin-bottom: 20px;
}
.customize_tag_recommend_product_item a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1;
    object-position: top;
    margin-bottom: 20px;
}
.customize_newitem_title,
.customize_recommenditem_title,
.customize_vendor_title,
.customize_news_title{
    text-align: center;
    margin-bottom: 20px;
}
.customize_new_product_vendor_title {
    text-align: center;
    margin-top: 0;
}
.ec-shelfGrid .ec-shelfGrid__item img{
    object-fit: cover;
    aspect-ratio: 4 / 3;
    object-position: top;
    
}

.history-output-container{
    text-align: right;
}
.customize_news_tool_container{
    display: flex;
    justify-content: space-around;
    gap: 20px;
}

.customize_news_tool_col{
    width: 50%;
}

.tool_access_info{
    font-size: 12px;
    color: #3b3b3b;
    padding-left: 15px;
}
.customize_news_item li {
    padding-bottom: 10px;
}
.news_index_container{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.news_index_container a{
    color: inherit;
}

.news_index_container a:hover{
    text-decoration: underline;
}
.news_index_container a h4{
    font-weight: bold;
}