/* カスタマイズ用CSS */
/* 共通*/
.red-message p,
.red-message{
   color: #c61728 !important;
   font-size:13px
}
.form-error-message,
.error{
   color: #fd595e;
   font-size:13px
}
.form-error-icon{
    display:none;
}
a.anchor{
    color: #999999;
}
.as_subpage{
    max-width:1500px;
}
input[type=radio] {
    position: static;
    height: 13px;
    width: 13px;
    border-color:#000;
    border: #000 1px solid;
    background: #000;
    accent-color:#000;
   -webkit-appearance: auto;
 
}
input[type=radio]:after {
    position: static;
    transform: unset;
}
input[type=radio]:checked, input[type=radio]:focus{
    border-color:#000;
}

input[type=checkbox] {
    -webkit-appearance: auto;
    height: 13px;
    width: 13px;
    background: #fff;
    border: 1px solid #000;
    cursor: pointer;
    margin-right: 0;
    border-radius: 1px;
    position: relative;
    vertical-align: middle;
}


input[type=checkbox]:not(:checked) {
    background: #fff;
    border: 1px solid #000;
}
.redCheckBox input[type=checkbox]{
    display: none;
   /* width:13px;
    height:13px;
    accent-color: #b62d2f;
    background: #fff;
    border:#b62d2f 1px solid;
    border-radius: 50%;
    vertical-align: middle;
    border-radius: 50%;
    appearance: none;
    -webkit-appearance: none;
    outline: none;*/
}


/*.redCheckBox input[type=checkbox]:not(:checked) {
    background: #fff;
    border:#b62d2f 1px solid;
}
.redCheckBox input[type=checkbox]:checked{
    background:#fff;

 }*/
.redCheckBox {
  display: block;
  margin: 5px auto;
  width: 14px;
  position: relative;
  cursor: pointer;
  font-size: 16px;
  user-select: none;
}
.redCheckBox .checkmark{
    position: absolute;
    top: 0px;
    left: 0px;
    height: 14px;
    width: 14px;
    border: 1px solid #b62d2f;
    border-radius: 50%;

    box-sizing: border-box;
  }
.redCheckBox  .checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 2px;
    top: 2px;
    width: 8px;
    height: 8px;
    background-color: #b62d2f;
    border-radius: 50%;
  }
/* チェック時のスタイル */
.redCheckBox input:checked + .checkmark {
    border: 1px solid fw.$check-box;
  }
  /* チェック時 チェックマーク表示 */
.redCheckBox input:checked + .checkmark:after {
    display: block;
  }


.ar-btn-submit {
    background: #ffffff;
    color: #111111;
    border: solid 1px #C61627;
    border-radius: 0px;
    margin: 0;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
 }
.form-check-inline{
    display: inline-block;
    margin-right:10px;
}


.c-btn{
    line-height: 32px;
    border-radius: 6px;
    width:100px;
    text-align: center;
    display: block;
    font-size:15px;
    padding:0;
    min-height:35px;
}

.c-btn-white{
    background-color: #fff;
    border: solid 1px #999999;
    color:#b2b2b2
}
.c-btn-white:hover{
    opacity: 1;
    color:#999999
}
.Right{
    text-align: right;
}
.Center{
    text-align: center;
}
.Left{
    text-align: left;
}
.mt7{
    margin-top: 7px;
}
.mt10{
    margin-top: 10px;
}
.mt15{
    margin-top: 15px;
}
.mb5{
    margin-bottom: 5px !important ;
}

.mb20{
    margin-bottom: 20px !important ;
}
.mb30{
    margin-bottom: 30px !important ;
}
.mb50{
    margin-bottom: 50px !important ;
}
.ml5{
    margin-left: 5px;
}
.mr5{
    margin-right: 5px;
}

.font09{
    font-size:10px;
}
.font10{
    font-size:10px;
}
.font12{
    font-size:12px;
}
span.font12{
    font-size:12px !important;
}

ul.as_list li{
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
    border-right: 1px solid #e6e6e6;
    display: flex;
    justify-content: space-around;
    background-color: #fff;
}
ul.as_list .last{
    border-bottom: 1px solid #e6e6e6;
}
ul.as_list li h3{
    width:56px;
    font-weight: bold;
    display:inline-block;
    font-size: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    padding-left:2px;
}
ul.as_list h4{
    width:100%;
    font-weight: bold;
    font-size: 14px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    padding-left:2px;
}
ul.as_list li div.image h3{
    text-align:center;
    width:100%;
}
ul.as_list div.order_btn{
    border-right: 0;
    display: inline;
}
ul.as_list .order_btn a{
    color: #b62d2f;
        padding: 0 7px;

}
ul.as_list li div.box{
    padding:10px 0;
    display:inline-block;
    border-right: 1px solid #e6e6e6;
}

.as_search_area{
    width:100%;
    background-color: #f9f9f9;
    padding:53px 0 50px;
}
.as_search_area .search{
    margin: 0 auto;
    max-width:600Px;
    width:100%;
}
.as_search_area .search dl{
    display:inline-block;
}
.as_search_area .search dt{
   font-size:13px;
}
.as_search_area .search dd{
    font-size:11px;
 }
 .as_search_area .search select,
 .as_search_area .search input{
    height:35px
 }
.as_search_area input[type=radio] {
    width:13px;
    height:13px;
    accent-color: #b62d2f;
    background: #fff;
    -webkit-appearance: auto;
    position: initial;
    position: static;
    margin-right:3px;
}
.as_search_area .search .btn_area{
    display: inline-block;
    vertical-align:middle;
}
.as_search_area a{
    display:inline-block;
}
.as_sarch_area input[type=radio]:after {
    position: static;
    transform: unset;
}
.as_detail_area{
    background-color: #fff;
    padding: 20px;
    border: 1px solid #e6e6e6;
    font-size: 14px;
}
.as_br{
border-right:1px solid #999999
}
.as-mypage{
max-width: 1120px;
margin: 0 auto;
}
.producer .CommomProduct span.producer{
    display: block;
    margin-bottom: 5px;
}
.producer .CommomProduct p{
    margin-bottom: 5px;
}
/** オーバーレイ　*/
.Orverlay_Area {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1001;
height: 100%;
background: rgba(0, 0, 0, .7);
transition: .3s linear;
display: none;
padding-top: 100px;
}

.Orverlay_Area div{
    width: 200px;
    height:200px;
    margin: 0 auto;
    position: absolute;
    top:50%;
    left:50%;

}
.Orverlay_Area div i{
    color: #fff;
}
/*tooltip under*/
.tooltip{
    display: inline-block;
    position: relative;
}
.tooltip div {
    cursor: pointer;
}
.tooltip span{
    display: flex;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: -40px;
    left: 80%;

    padding: .5em 1em;
    border-radius: 3px;
    background-color: #333333;
    color: #ffffff;
    font-size: .8em;
    white-space: nowrap;
    transition: opacity .3s;
    z-index: 400;
    line-height: 20px;
}
.un02 span{
    bottom: -152px;
    left: -290%;
    width:550px;
}
.un02-1 span{
    bottom: -37px;
    left: -34%;
}

.un03 span{
    bottom: -72px;
    left: -110px;
}
.un03-1 span{
    bottom: -75px;
    left: -75%;
    line-height: normal
}
.un04 span{
    bottom: -30px;
    left: 40%;
}
.un05 span{
    font-size:12px !important;
    bottom: -52px;
    left: -10%;
}
.un06 span{
    bottom: -95px;
    left: -73%;
}
.un07 span{
    font-size:12px !important;
    bottom: -52px;
    left: -10%;
}
.un08 span{
    bottom: -55px;
    left: 340%;
}

.tooltip span::before {
    position: absolute;
    top: -6px;
    width: 9px;
    height: 6px;
    background-color: inherit;
    clip-path: polygon(70% 0, 0 100%, 100% 100%);
    content: '';
}
/* △の位置*/
.un05 span::before{
    left: 130px;
}
.un06 span::before{
    left: 200px;
}
.un07 span::before{
    left: 130px;
}
.un08 span::before{
    left: 70px;
}
.tooltip:hover span {
    visibility: visible;
    opacity: 1;
}
.un02 .visible{
    display: inline;
    visibility: visible;
    opacity: 1;
}
.un05 img{
 width:20px;
}
.un06 div{
    display: inline;
    color: #C61627;
}

.clear_box {
    clear: both;
}

.bg-white {
    background-color: #fff;
}

.bg-gray {
    background-color: #f7f7f7;
}


/* 左右フロート指定 */

.col2 {
    width: 100%;
    float: left;
}

.fl-left {
    float: left;
}

.fl-right {
    float: right;
}



/* 20260509追加 */
.slide_pc_inner {
    position: relative;
}
.slider_text {
    position: absolute;
    top: 45%;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-family: Yu Mincho Demibold;
    font-size: 29px;
    font-weight: bold;
    letter-spacing: 0.15em;
}
.slider_lead {
    color: #fff;
}
.slider_lead_bk {
    color: #000;
    position: relative;
    left: 20%;
}

/* 202606701追加 */
.b-filter.ajs-filter {
    width: 100%;
    float: left;
    margin: 40px 0;
}

.b-filter__items {
    width: 20%;
    float: left;
    height: 180px;
    position: relative;
}

.b-filter__items .b-filter__item,
.b-filter__items .b-filter__submit-btn {
    margin: 1rem;
}

.b-filter__items .b-filter__item select {
    width: 100% !important;
}

.b-filter__items .b-filter__submit-btn {
    position: absolute;
    bottom: 0;
}

.b-filter__form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 16px;
}

#page_custom_wine_page .content-xl {
    font-weight: 400;
}

.wine_header_banner {
    position: relative;
}

.wine_header_banner p {
    position: absolute;
    top: 28%;
    margin: auto;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
    font-size: 24pt;
    font-family: "HGゴシックM", "HG Gothic M", sans-serif;
}

.wine_block {
    margin-bottom: 40px;
    font-family: sans-serif;
}

.wine_block h3 {
    font-family: sans-serif !important;
    text-decoration: underline;
}

#page_custom_wine_page #priceRange {
    display: ruby;
}

.ec-newsRole__newsDescription {
    display: none;
}


/* ワイン投資ページ */

.wine_investment {
    font-size: 16px;
    line-height: 2;
    font-family: Yu Gothic M, 游ゴシックM, YuGothic-medium;
    font-weight: 400;
}

.about_investment {
    color: #2D2D2D;
    font-size: 16px;
    font-family: "YuGothic-medium";
    letter-spacing: 0.32px;
    line-height: 2;
    font-weight: 400;
}

.investment-attention {
    color: #888888;
    text-align: center;
    font-size: 13x;
    font-family: "YuGothic-medium", sans-serif;
    letter-spacing: 0.32px;
    line-height: 1.5;
    font-weight: 300;
} 

.ec-collectionRole .ec-collectionRole__sommelier--quality {
    width: 100% !important;
    max-width: none !important;
}

.ec-collectionRole .investment-two-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: none !important;
}

.ec-collectionRole .investment-two-col__left,
.ec-collectionRole .investment-two-col__right {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

.ec-collectionRole .investment-two-col__right .investment-attention {
    display: block;
    width: 100%;
}

.ec-collectionRole .investment-two-col > .about_investment {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
}

.ec-collectionRole .investment-two-col-wrap {
    display: block !important;
}

.ec-collectionRole .investment-two-col-wrap .investment-two-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: none !important;
}

.ec-collectionRole .investment-two-col-wrap .investment-two-col__left,
.ec-collectionRole .investment-two-col-wrap .investment-two-col__right {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
}

@media (max-width: 767px) {
    .ec-collectionRole .investment-two-col-wrap .investment-two-col {
        grid-template-columns: 1fr !important;
    }
}

.investment-note-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 40px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 30px;
    align-items: start;
}

.investment-note-grid__left,
.investment-note-grid__right {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}

.investment-note-grid__left h3 {
    margin-bottom: 20px;
}

.investment-note-grid__left p,
.investment-note-grid__right p {
    margin: 0 0 20px 0;
}

.investment-note-grid__right .investment-attention {
    display: block;
    text-align: left;
}

.wine_investment .ja {
    font-size: 16px;
}

.wine_investment .price {
    font-size: 32px;
    margin-top: 0;
}

.item-justify {
    width: 6em;
    display: inline-block;
}

.wine_investment tr td:first-child {
    width: 30%;
}

.wine_investment tr td:second {
    width: 35%;
}

.wine_investment tr td:last-child {
    width: 35%;
    text-align: left;
}

.col2 .about_investment {
    width: 50%;
    float: left;
}

.feature .fl-left {
    width: 65%;
}

.feature .fl-right {
    width: 35%;
}

.cost .fl-left {
    width: 60%;
    margin-top: 6rem;
}

.cost .fl-right {
    width: 40%;
}

.custom-product-list .c-card__item-title {
    height: 5em;
}



@media (max-width: 767px) {
    .pc {
        display: none;
    }
    .slider_lead {
        font-size: 16px !important;
    }
    #page_instruction section {
        padding: 70px 0;
    }
    .attention-table td {
        width: 100% !important;
        padding: 0 !important;
    }
    .investment-note-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .feature .fl-left {
        width: 100%;
    }
    .feature .fl-right {
        width: 100%;
    }
    .wine_effects .wine_investment {
        width: 100%;
    }
    .wine_investment td { 
        display: block;
        width: 100%;   
    }
    .wine_portfolio .cost .fl-left {
        width: 100%;
        float: none;
        padding: 0 !important;
    }
    .wine_portfolio .cost .fl-right {
        width: 100%;
        float: none;
        padding: 0 !important;
    }
    .display-grid {
        display: block !important;
    }
    .item-justify {
        display: block;
        margin-top: 1em;
    }
    .wine_effects .wine_investment,
    .wine_accumulation .wine_investment,
    .wine_cost .wine_investment,
    .wine_portfolio .wine_investment {
        margin: 0;
        padding: 0;
        width: 100% !important;
    }
    .wine_effects table td,
    .wine_accumulation table td,
    .wine_cost table td,
    .wine_portfolio table td {
        display: table-cell !important;
        width: auto !important;
        font-size: 15px;
        line-height: 1.5;
    }
    .wine_effects table td:first-child,
    .wine_accumulation table td:first-child,
    .wine_cost table td:first-child,
    .wine_portfolio table td:first-child {
        width: 36% !important;
    }
    .wine_portfolio .fl-right table td:first-child {
        width: 50% !important;
    }

.custom-product-list .c-card__item-title {
    height: auto;
}

.wine_header_banner p {
    font-size: 20px;
    overflow: hidden;
}
.wine_header_banner img {
    max-width: 200%;
}

.wine_page_list .custom-product-list .c-card__inner .sell-price {
    text-align: center;
}

.b-filter__items {
    width: auto;
    float: none;
    height: auto;
}

.b-filter__items .b-filter__submit-btn {
    position: relative;
    margin-top: 30px;
}

.ec-collectionRoleInner {
    padding: 0 20px !important;
}

    .slider_text {
        top: 30%;
        padding: 0 2%;
        line-height: 1.5;
    }

}

@media screen and (min-width: 768px) {
    .sp {
        display: none;    
    }
}

@media screen and (min-width: 1200px) {
    .wine_page_list .custom-product-list li.c-card__item {
        width: 20%;
    }
}