/* カスタマイズ用CSS */

.ec-borderedDefs .w-100 {
    width: 100%;
}

.ec-borderedDefs .e-right {
    padding-left: 30%;
    margin: 20px 0 0 !important;
}

#entry_dog_type_other,
#entry_dog_type_other_2,
#entry_dog_type_other_3 {
    margin: 0 !important;
    max-width: 100% !important;
}

.wrap {
    flex-wrap: wrap !important;
}

.questionnaire_contents::after {
    content: "ございましたらご記入ください";
    display: block;
}

.questionnaire_contents+.ec-required {
    margin: 5px 0 0;
    display: table;
}

.form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 40px 0;
    font-size: 21px;
    line-height: 30px;
    color: #441410;
    border-bottom: 1px solid #e8e8e8;
}

.formbuilder-text-label {
    width: 30%;
    font-weight: 700;
}

.field-bl_formbox {
    width: 70%;
    text-align: right;
    font-weight: 400;
}

.formbuilder-radio label {
    position: relative;
    cursor: pointer;
    padding-left: 44px;
    font-weight: 400;
}

.formbuilder-radio label::before {
    background-color: #fff;
    border: 1px solid #cbcbcb;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    left: 5px;
}

.formbuilder-radio label::after {
    background-color: #cbcbcb;
    border-radius: 50%;
    opacity: 0;
    width: 22px;
    height: 22px;
    left: 10px;
}

.formbuilder-radio label::before,
.formbuilder-radio label::after {
    content: "";
    display: block;
    border-radius: 50%;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}

.ec-cartRole {
    color: #3F2021;
}

#login_mypage .ec-grid2 .ec-grid2__cell {
    padding: 0 10px !important;
}

.ec-layoutRole .ec-layoutRole__contents {
    max-width: none;
    margin-bottom: 80px;
}

.ec-contactConfirmRole dt {
    line-height: 2;
}

.ec-contactConfirmRole dd {
    padding-top: 22px;
    padding-bottom: 10px;
    line-height: 2;
}

.ec-contactConfirmRole dd input {
    line-height: 2;
}

.ec-borderedDefs dl {
    display: flex;
}

#page_homepage .ec-layoutRole .ec-layoutRole__contents {
    margin-bottom: 0;
}

.product-contact-btn {
    margin-bottom: 20px;
}


/* スライドショーの横幅固定を外す */

.ec-sliderRole {
    max-width: none;
    /* 1130px; */
    padding-left: 0;
    /* 20px; */
    padding-right: 0;
    /* 20px; */
}

.btn {
    display: block;
}

.ec-productRole {
    color: #282828;
}

.ec-productRole {
    padding-left: 0;
    /* 20px; */
    padding-right: 0;
    /* 20px; */
    max-width: none;
}

.ec-headingTitle {
    color: #282828;
    font-weight: bold;
}

.ec-blockBtn--action {
    background-color: #3F2021;
    border-color: #3F2021;
    height: auto;
    max-width: 320px;
    margin: 0 auto;
    transition: 0.5s;
}

.ec-blockBtn--action:hover,
.ec-blockBtn--action:active,
.ec-blockBtn--action.active:focus {
    background-color: #3F2021;
    border: 1px solid transparent;
    opacity: 0.7;
}

.ec-blockTopBtn {
    display: none !important;
}

.ec-price .ec-price__price {
    padding: 0;
}

.ec-sliderItemRole {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0;
}

.slick-slider {
    margin-bottom: 23px;
}

.ec-sliderItemRole .slideThumb {
    margin-bottom: 15px;
    width: 32%;
}

.ec-sliderItemRole .slideThumb img {
    width: 100%;
    object-fit: cover;
    height: 116px;
}

.ec-sliderItemRole .item_nav {
    justify-content: space-between;
}

.breadcrumb {
    margin-bottom: 0;
    background: none;
    border-radius: 4px;
    padding: 0;
}

.breadcrumb>li+li:before {
    color: #3F2021;
    content: ">";
    padding: 0 10px;
}

.menu_bc .breadcrumb li {
    margin-right: 0;
}

.ec-headerNav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 12px 0 0;
}

.menu_bc {
    padding: 0 0 42px;
}

.ec-headerNav__item a {
    display: block;
    font-size: 14px;
}

.ec-headerNav__item a:hover span {
    text-decoration: underline;
}

.ec-cartNavi {
    min-width: 100px;
    max-width: 400px;
    height: auto;
    padding: 0;
}

.ec-headerNav__item {
    margin-left: 27px !important;
}

.ec-headerNav .ec-headerNav__itemLink {
    margin-right: 0;
}

.ec-cartNavi {
    justify-content: flex-end;
    background: none;
}

.ec-cartNaviNull::before {
    right: 50px;
}

.ec-shelfGrid .ec-shelfGrid__item img {
    object-fit: cover;
    height: 250px;
}

.ec-shelfGrid a {
    margin-bottom: 10px;
}

.price02-default {
    margin-top: 7px;
    font-weight: 700;
}

.ec-borderedDefs dl {
    border-bottom: none;
}

.news-list .ec-headingTitle,
.news-detail .ec-headingTitle,
.product-list .ec-headingTitle,
.contact-area .ec-headingTitle,
.detail .ec-headingTitle {
    text-align: left;
    font-size: 24px;
    color: #3F2021 !important;
}

.ec-borderedDefs {
    border-top: none;
}

.ec-zipInput,
.ec-zipInput span,
#page_shopping_nonmember .ec-zipInput,
.ec-zipInput span {
    vertical-align: 5px !important;
}

#page_shopping_nonmember .ec-zipInput,
.ec-zipInput .ec-zipInputHelp span {
    vertical-align: middle !important;
}

.ec-zipInputHelp {
    vertical-align: 5px;
}

.ec-borderedDefs dt {
    padding-top: 22px;
    padding-bottom: 10px;
}

#page_help_about .ec-borderedDefs dl {
    padding: 0 20px;
}

#page_help_about .ec-borderedDefs dl:nth-child(odd) {
    background: #f4f4f4;
}

#page_help_about .ec-borderedDefs dt,
#page_help_about .ec-borderedDefs dd {
    padding-top: 20px;
    padding-bottom: 20px;
    vertical-align: top;
    line-height: 2;
}

#page_help_about .ec-borderedDefs .ec-label {
    margin-bottom: 0;
}

#page_help_tradelaw .ec-borderedDefs dt {
    padding-top: 15px;
    padding-bottom: 15px;
}

.ec-required {
    padding: 4px 7px;
    color: #fff;
    background: #DE5D50;
}

#page_contact .ec-off1Grid {
    margin: 0 auto;
}

.ec-role .ec-pageHeader>h2,
.ec-customerRole .ec-pageHeader>h2,
.ec-mypageRole .ec-pageHeader>h2 {
    font-size: 16px;
    font-weight: bold;
    color: #999;
    text-align: center;
    margin-bottom: 21px;
}

.ec-login .ec-login__input {
    margin-bottom: 10px;
}

.ec-login .ec-login__link {
    margin-left: 0;
}

#login_mypage .ec-grid2 {
    justify-content: center;
    margin-top: 20px;
}

.ec-login .new-member__btn a:hover {
    opacity: 0.8 !important;
}

#page_shopping_login .ec-grid2 {
    justify-content: center;
    margin-top: 20px;
}


/*====================================
 特定商法取引に基づく表記
==================================== */

#page_help_tradelaw .ec-borderedDefs dl {
    padding: 25px 0 4px;
    vertical-align: top;
}

#page_help_tradelaw .ec-borderedDefs dt {
    border-bottom: 2px solid #e9b319;
    border-left: 2px solid #e9b319;
    padding-left: 20px;
    line-height: 2;
    vertical-align: top;
}

#page_help_tradelaw .ec-borderedDefs dd {
    border-bottom: 2px solid #e9b319;
    line-height: 2;
    padding-top: 15px;
    padding-bottom: 15px;
}

#page_help_tradelaw .ec-label {
    margin-bottom: 0;
}


/*====================================
 プライバシーポリシー
==================================== */

.ec-off1Grid.Grid_01 {
    margin-bottom: 40px;
}

.ec-heading-bold {
    margin-bottom: 50px;
    position: relative;
}

.ec-heading-bold h3 {
    font-weight: bold;
}

.ec-heading-bold:before {
    width: 300px;
    position: absolute;
    bottom: -20px;
    left: 0;
    height: 1px;
    background: #3F2021;
    content: '';
}

.ec-heading-bold:after {
    width: calc(100% - 300px);
    position: absolute;
    bottom: -20px;
    left: 300px;
    height: 1px;
    background: #3F2021;
    content: '';
}

#page_help_privacy .ec-off1Grid__cell p {
    line-height: 2;
}

#page_help_privacy .ec-off1Grid {
    margin-bottom: 60px;
}

.mb-15 {
    margin-bottom: 15px;
}

.mb-25 {
    margin-bottom: 25px;
}

.head-text {
    margin-bottom: 5px;
    padding-left: 1.8em;
    position: relative;
    line-height: 1.5 !important;
}

.head-text:before {
    width: 1.2em;
    height: 1px;
    background-color: #000;
    display: block;
    content: '';
    position: absolute;
    top: 13px;
    left: 5px;
}

#page_help_privacy .ec-off1Grid ul {
    padding-left: 2em;
    font-size: 14px;
}

#page_help_privacy .ec-off1Grid li {
    margin-bottom: 8px;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.7;
}


/*====================================
 ショッピングカート
==================================== */

.ec-progress .is-complete .ec-progress__number {
    background: #282828;
}

.ec-progress .ec-progress__number {
    background: #ccc;
}

.ec-blockBtn--cancel {
    background: #e9b319;
    border: none;
    color: #441410;
    transition: 0.6s;
}

.ec-login__actions .ec-blockBtn--cancel {
    color: #fff;
    background-color: #525263;
    border-color: #525263;
}

.ec-login__actions .ec-blockBtn--cancel:hover {
    opacity: 0.6;
}

.ec-blockBtn--cancel:hover {
    background: #f1d175;
    border: none;
    color: #441410;
}

.ec-cartHeader .ec-cartHeader__label {
    background: #f4f4f4;
}

#page_entry .ec-borderedDefs dt {
    padding: 22px 0 0;
}

#page_entry .ec-borderedDefs .birth {
    padding: 16px 0 0;
}

.ec-zipInputHelp {
    vertical-align: middle;
}

.ec-zipInput,
.ec-zipInput span {
    vertical-align: middle;
}

.ec-zipInputHelp a {
    vertical-align: middle;
}

.ec-zipInputHelp .ec-zipInputHelp__icon {
    top: 0;
}

#page_contact .ec-zipInputHelp span {
    vertical-align: middle;
}

.error_test_box {
    display: table;
    width: 100%;
}

.name_error_01 {
    width: 41%;
    display: table-cell;
}

.name_error_02 {
    margin-left: 15px;
    width: 45%;
    display: table-cell;
}

.ec-cartCompleteRole {
    padding: 0
}

#page_shopping .ec-rectHeading,
#page_shopping_confirm .ec-rectHeading {
    margin-bottom: 15px;
}

#page_shopping .ec-orderRole__detail>div,
#page_shopping_confirm .ec-orderRole__detail>div {
    margin-bottom: 15px;
}

#shopping_order_use_point {
    margin-top: 5px;
}

#page_shopping .ec-orderAccount .ec-orderAccount__account {
    margin-bottom: 0;
}

#page_shopping .ec-orderDelivery__actions select {
    height: 38px !important;
}

#page_shopping .ec-zipInput span {
    padding: 0 5px 0 0px;
    margin-left: 0;
}

.ec-cartRole__actions .ec-blockBtn--action:focus,
.ec-cartRole__actions .ec-blockBtn--action:active,
.ec-totalBox__btn .ec-blockBtn--action:focus,
.ec-totalBox__btn .ec-blockBtn--action:active {
    background-color: #333;
    outline: none;
    outline-offset: none;
}

.ec-cartNaviNull .ec-cartNaviNull__message {
    padding: 10px 0;
}

.ec-cartNaviNull .ec-cartNaviNull__message p {
    line-height: 1.6;
}


/*====================================
 お知らせ詳細ページ
==================================== */

#page_news_detail .news_ttl::before {
    width: 0;
    height: 0;
}

.news-detail .news_wrap {
    box-shadow: 0px 0px 0px #fff;
}

.news-detail .news_wrap .desc {
    line-height: 1.6;
}


/*====================================
 商品詳細ページ
==================================== */

#page_product_detail .ec-grid2 .inner {
    margin-bottom: 70px;
}

#page_product_detail .ec-layoutRole .ec-layoutRole__contents {
    margin-bottom: 0;
}

.ec-productRole__price {
    margin-top: 20px;
}

.ec-productRole__category {
    display: none;
}


/*====================================
 LINE UP
==================================== */

.lineup .col4_wrap .item a {
    transition-duration: 0.6s;
}

.lineup .col4_wrap .item a:hover {
    opacity: 0.6;
}


/*====================================
 TOPICS
==================================== */

.topics .col4_wrap .topic_img img {
    width: 100%;
    height: 162px;
    object-fit: cover;
}

.topics .col4_wrap .topic_txt {
    line-height: 1.4;
}

.topics .col4_wrap .topic a:hover {
    text-decoration: none;
}


/*====================================
 マイページ
==================================== */

.ec-navlistRole .ec-navlistRole__navlist {
    border-color: #000;
}

.ec-navlistRole .ec-navlistRole__item {
    border-color: #000;
}

.ec-navlistRole .ec-navlistRole__item a {
    color: #282828;
}

.ec-navlistRole .ec-navlistRole__item.active a {
    background: #f2f2f2;
    color: #DE5D50;
}

.ec-navlistRole .ec-navlistRole__item a:hover {
    color: #DE5D50;
    background: #f2f2f2;
}

.ec-para-normal {
    text-align: center;
}

#page_mypage_history .ec-orderRole__detail>div {
    margin-bottom: 15px;
}

#page_mypage_history .ec-rectHeading {
    margin-bottom: 15px;
}

#page_mypage .ec-historyRole {
    max-width: 1040px;
    margin: 0 auto;
}

#page_mypage .ec-historyRole .ec-historyRole__detailTitle {
    font-size: 1.2rem;
}

#page_mypage .ec-historyRole .ec-historyRole__detailPrice {
    font-size: 1rem;
}

#page_mypage_withdraw_complete .ec-reportHeading {
    border-top-width: 0px;
}

.ec-off4Grid .ec-off4Grid__cell {
    width: 100%;
    text-align: center;
    margin: 0;
}

.ec-blockBtn--cancel,
.ec-blockBtn {
    max-width: 320px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.ec-favoriteRole .ec-favoriteRole__item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}

#page_mypage_change .ec-off1Grid {
    display: block;
}

#page_mypage_change .ec-borderedDefs {
    width: 80%;
    margin: 0 auto;
}

#page_mypage_change .ec-selectList select {
    height: 40px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857;
    color: #555555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    box-shadow: none;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    border-radius: 3px;
}

.ec-input select,
.ec-halfInput select,
.ec-numberInput select,
.ec-zipInput select,
.ec-telInput select,
.ec-select select,
.ec-birth select {
    height: 40px;
}

@media (max-width: 1000px) {
    .ec-layoutRole .ec-layoutRole__contentTop {
        padding-top: 83px;
    }
    .ec-off4Grid .ec-off4Grid__cell {
        width: 100%;
        text-align: center;
        margin: 0;
    }
}

@media (min-width: 768px) {
    .ec-grid2 .ec-grid2__cell {
        width: auto;
    }
}

@media (max-width: 768px) {
    .ec-layoutRole .ec-layoutRole__contentTop {
        padding-top: 83px;
    }
    .ec-cartCompleteRole {
        padding: 0 20px;
    }
    .ec-login .ec-grid2__cell {
        max-width: 240px;
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    .new-member__btn {
        margin-bottom: 15px !important;
    }
    .ec-login {
        padding: 30px 5% 20px;
    }
    #page_help_tradelaw .ec-borderedDefs dt {
        border: none;
        padding-left: 20px;
        border-left: 1px solid #000;
    }
    #page_help_tradelaw .ec-borderedDefs dd {
        padding-top: 0;
        padding-left: 20px;
        border-left: 1px solid #000;
    }
    #page_help_about .ec-borderedDefs dt {
        padding-bottom: 10px;
    }
    #page_help_about .ec-borderedDefs dd {
        padding-top: 0;
    }
    .ec-off4Grid .ec-off4Grid__cell {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .ec-progress .ec-progress__label {
        font-size: 11px;
    }
    .ec-shelfGrid {
        display: block;
    }
    .ec-shelfGrid .ec-shelfGrid__item {
        padding: 0!important;
        width: 100%;
    }
    #page_news_list .news_wrap a {
        display: block;
    }
    #page_mypage_change .ec-borderedDefs {
        width: 90%;
        margin: 0 auto;
    }
    .ec-layoutRole .ec-layoutRole__contentTop {
        padding-top: 69px;
    }
}


/*====================================
 新規会員登録フォーム
==================================== */

#entry_dog_sex input[type="radio"],
#entry_dog_sex_2 input[type="radio"],
#entry_dog_sex_3 input[type="radio"] {
    width: 14px;
    height: 14px;
    padding: 0;
    font-size: 16px;
    line-height: 1;
    color: #555555;
    border-radius: 20px;
    border: 1px solid #666;
    display: inline-block;
}

#entry_dog_sex input[type="radio"]:checked,
#entry_dog_sex_2 input[type="radio"]:checked,
#entry_dog_sex_3 input[type="radio"]:checked,
#entry_dog_sex input[type="radio"]:focus,
#entry_dog_sex_2 input[type="radio"]:focus,
#entry_dog_sex_3 input[type="radio"]:focus {
    background-color: #3F2021;
    color: #3F2021;
}

#entry_dog_sex input,
#entry_dog_sex label {
    vertical-align: middle;
}

#entry_dog_sex label,
#entry_dog_sex_2 label,
#entry_dog_sex_3 label {
    font-weight: normal;
    margin-right: 20px;
}

#entry_dog_name,
#entry_dog_name_2,
#entry_dog_name_3,
#entry_dog_type,
#entry_dog_type_2,
#entry_dog_type_3 {
    width: 50%;
    max-width: 100%;
}

#entry_dog_birth select {
    display: inline-block;
    width: auto;
    margin: 0 0 10px;
    background: #ffffff;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    padding: 6px 12px;
    height: 48px;
    margin: 0 8px 10px;
}

#entry_dog_birth_year,
#entry_dog_birth_2_year,
#entry_dog_birth_3_year,
#entry_dog_birth_month,
#entry_dog_birth_2_month,
#entry_dog_birth_3_month,
#entry_dog_birth_day,
#entry_dog_birth_2_day,
#entry_dog_birth_3_day {
    width: auto;
    display: inline-block;
    margin: 0 8px 0px;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    height: 48px!important;
}

.ec-borderedDefs .dog-box {
    margin-bottom: 40px;
}

.ec-borderedDefs .dog-box .ec-telInput span {
    margin-left: 5px;
}

.ec-borderedDefs .dog-box dl:nth-child(3) .ec-telInput {
    position: relative;
    padding-bottom: 0px;
}

.ec-borderedDefs .dog-box dl:nth-child(3) .ec-telInput::after {
    content: "※正確な生年月日が不明の場合は、予測日にて登録をお願いします。";
    font-size: 14px;
    line-height: 1.6;
    color: #3F2021;
    position: absolute;
    left: 0;
    bottom: -27px;
}

#page_entry .ec-borderedDefs .dog-box dl {
    padding: 0;
    align-items: center;
    margin-bottom: 20px;
}

#page_entry .ec-borderedDefs .dog-box dl dt {
    padding: 0;
}

#page_entry .ec-borderedDefs .dog-box dl dd input {
    margin-bottom: 0;
}

#page_entry dl.free dt {
    font-weight: bold;
    line-height: 1.6;
    padding-right: 20px!important;
    box-sizing: border-box;
}

#page_entry dl.free dd textarea {
    width: 100%;
    height: calc(12em + 12px);
    box-sizing: border-box;
}

#page_entry #entry_sex input,
#page_entry #entry_dog_sex input,
#page_entry #entry_dog_sex_2 input,
#page_entry #entry_dog_sex_3 input {
    display: none;
}

#page_entry #entry_sex label,
#page_entry #entry_dog_sex label,
#page_entry #entry_dog_sex_2 label,
#page_entry #entry_dog_sex_3 label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}

#page_entry #entry_sex label::before,
#page_entry #entry_dog_sex label::before,
#page_entry #entry_dog_sex_2 label::before,
#page_entry #entry_dog_sex_3 label::before {
    background: #fff;
    border: 1px solid #3F2021;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}

#page_entry #entry_sex label::after,
#page_entry #entry_dog_sex label::after,
#page_entry #entry_dog_sex_2 label::after,
#page_entry #entry_dog_sex_3 label::after {
    background: #3F2021;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 8px;
    margin-top: -5px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 10px;
}

#page_entry #entry_sex input[type=radio]:checked+label::after,
#page_entry #entry_dog_sex input[type=radio]:checked+label::after,
#page_entry #entry_dog_sex_2 input[type=radio]:checked+label::after,
#page_entry #entry_dog_sex_3 input[type=radio]:checked+label::after {
    opacity: 1;
}

input[type="radio"],
input[type="checkbox"] {
    position: relative;
    top: 2px;
}

@media screen and (max-width: 767px) {
    .ec-borderedDefs dl dt {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 420px) {
    .ec-borderedDefs .dog-box dl:nth-child(3) {
        margin-bottom: 60px!important;
    }
    .ec-borderedDefs .dog-box dl:nth-child(3) .ec-telInput::after {
        left: 0;
        bottom: -50px;
    }
}


/*====================================
 Topics一覧
==================================== */

#page_topics_list .topics .col4_wrap .news_wrap .topic {
    margin-bottom: 50px;
}


/*#page_topics_list .topics .col4_wrap .news_wrap .topic {
    //width: 232px;
}

#page_topics_list .topics .col4_wrap .news_wrap {
    justify-content: space-between;
}*/


/*====================================
 お問い合わせフォーム（アンケート）
==================================== */

.questionnaire-area {
    border-top: 1px solid #000;
    padding-top: 30px;
    margin-top: 30px;
    margin-bottom: 50px;
}

.questionnaire-area h3 {
    font-size: 33px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 3px;
    margin-bottom: 36px;
    color: #441410;
}

#contact_questionnaire_dog_age,
#contact_questionnaire_dog_number {
    max-width: 10em;
    text-align: left;
}

#contact_questionnaire_contents {
    height: 150px !important;
}


/*0915ogw*/

.bcs-list-add {
    padding: 60px 0 0 0;
}

.bcs-list-add h2 {
    font-size: 21px;
    line-height: 1.2;
    font-weight: bold;
    margin: 0 auto 30px;
}

.bcs-list-add h2 span.el_need {
    display: inline-block;
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
    padding: 5px 8px;
    background: #3F2021;
    color: #fff;
    vertical-align: middle;
    margin: 0 0 2px 15px;
}

.bcs-list-add ul {
    display: flex;
    justify-content: space-between;
}

.bcs-list-add ul li {
    width: calc((100% - 80px) / 5);
}

.bcs-list-add ul li h3 {
    height: 18px;
    line-height: 17px;
    font-size: 13px;
    text-align: center;
    background: #ECE9E9;
    border-radius: 10px;
    font-weight: bold;
    margin: 0 auto 10px;
}

.bcs-list-add ul li:nth-child(3) h3 {
    background: #FADC8E;
}

.bcs-list-add ul li div {
    max-width: 78px;
    width: 52%;
    margin: 0 auto;
}

@media (max-width: 768px) {
    .bcs-list-add ul {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .bcs-list-add ul li {
        width: calc((100% - 40px) / 3);
        margin: 0 20px 40px 0;
    }
    .bcs-list-add ul li:nth-child(3n) {
        margin-right: 0;
    }
    .bcs-list-add ul li:nth-child(n+4) {
        margin-bottom: 0;
    }
}

@media (max-width: 620px) {
    .bcs-list-add ul li {
        width: calc((100% - 20px) / 2);
    }
    .bcs-list-add ul li:nth-child(3n) {
        margin-right: 20px;
    }
    .bcs-list-add ul li:nth-child(2n) {
        margin-right: 0;
    }
    .bcs-list-add ul li:nth-child(n+4) {
        margin-bottom: 40px;
    }
    .bcs-list-add ul li:last-child {
        margin-bottom: 0;
    }
    .bcs-list-add h2 {
        font-size: 17px;
    }
    .bcs-list-add h2 span.el_need {
        margin-left: 0;
    }
}

.title-regular img {
    display:block;
    width:80%;
    margin: 0 auto;
}

.regular-point {
    display:flow-root;
    margin:30px 10% 0 10%;
}

.regular-point h3 {
    background:#3F2021;
    font-size: 24px;
    font-weight: 700;
    color:#fff;
    text-align:center;
    display:blolck;
    padding: 10px 0;
    width:94%;
}

.regular-point p {
    margin: 20px 0 0 0;
    width:94%;
}

.regular-point li {
    width: 49%;
    display:flex;
    flex-wrap: wrap;
    
}

.regular-point li::after {
    content:'';
    background:#3E1F20;
    width:1px;
    height:150px;
    display:inline-block;
    margin: -45px 0 0 5%;
}

.regular-point li:nth-child(1) {
    float:left;
}
.regular-point li:nth-child(2) {
    float:right;
}
.regular-point li:nth-child(2)::after {
    content:none;
}

.regular-bnr-top {
    width:80%;
    margin: 0 auto;
}

.regular-bnr-top a {
    display:block;
    width:100%;
    height: 100%;
    margin: 0 auto;
    text-align:center;
}
@media(max-width:767px) {
.title-regular img {
    display:block;
    width:100%;
    margin: 0 auto;
}

.regular-point {
    display:block;
    margin:30px 0 0 0;
}

.regular-point h3 {
    background:#3F2021;
    font-size: 20px;
    font-weight: 700;
    color:#fff;
    text-align:center;
    display:blolck;
    padding: 10px 0;
    width:100%;
}

.regular-point p {
    margin: 20px 0 0 0;
    width:100%;
}

.regular-point li {
    width: 100%;
    display:block;
    
}

.regular-point li::after {
    content:none;
}

.regular-point li:nth-child(1) {
    float:none;
}
.regular-point li:nth-child(2) {
    float:none;
}
.regular-point li:nth-child(2)::after {
    content:none;
}
.regular-bnr-top {
    width:100%;
    margin: 0 auto;
}

.regular-bnr-top a {
    display:block;
    width:100%;
    height: 100%;
    margin: 0 auto;
    text-align:center;
}
}





.subscription .mvisual img {
	width: 100%;
	margin: 0 auto;
}

.subscription .benefits {
	margin: 75px 0 0 0;
	display: flex;
	justify-content: space-between;
}

.subscription .benefits li {
	width: 48%;
}

.subscription .benefits li p {
	font-size: 14px;
	font-weight: 700;
	margin: 10px 0 0 0;
}


.subscription .product-list {
	margin: 100px 0 0 0;
}

.subscription .reassurance {
	margin: 120px 0 0 0;
}

.subscription .reassurance h2 {
	font-size: 56px;
	font-weight: 700;
	text-align: center;
	color: #441410 !important;
}

.subscription .reassurance h2 span {
	font-weight: 500;
	font-size: 21px;
	display: block;
	margin: 0 0 25px 0;
}

.subscription .reassurance .point-list {
	margin: 60px 0 0 0;
}

.subscription .reassurance .point-list .inner {
	padding: 40px 40px 0 40px;
	margin: 0 0 40px 0;
	border-top: 1px solid rgba(0, 0, 0, .1);
	display: flex;
	justify-content: space-between;
}

.subscription .reassurance .point-list .inner dt {
	width: 70.4%;
}

.subscription .reassurance .point-list .inner dd {
	width: 22%;
}

.subscription .reassurance .point-list .inner dl {
	display: flex;
	justify-content: space-between;
}

.subscription .reassurance .point-list .inner dl dt {
	width: 18.6%;
}

.subscription .reassurance .point-list .inner dl dd {
	width: 76.9%;
	margin: 40px 0 0 0;
}

.subscription .reassurance .point-list .inner dl dd h3 {
	font-size: 28px;
	font-weight: 700;
}

.subscription .reassurance .point-list .inner dl dd p {
	font-weight: 400;
	margin: 15px 0 0 0;
}

/*20240619追記*/
.subsc_price {
    
}
.subsc_price span {
    font-size: 20px;
    font-weight: bold;
    color: #DE5D50;
}
.subsc_price a {
    font-weight: bold;
    color: #e9b319;
    text-decoration: underline;
}

.block-title {
    position:relative;
}

.block-title .bnr3 {
    display:block;
    position:absolute;
    right:0;
    top:0;
}

@media (max-width: 767px) {
    .block-title {
    position:static;
}

.block-title .bnr3 {
    display:block;
    position:static;
    width:80%;
    margin: 20px auto;
}
}

.conceptflex {
    display:flex;
    gap:40px;
    margin: 40px 0 0 0;
    align-items:start;
    justify-content:center;
}
.conceptflex li {
    width:280px;
    text-align:center;
}

.conceptflex li img {
    max-width:140px;
}
.conceptflex p {
    line-height: 30px;
        color: #e9b319;
}

.conceptflex a{
        color: #e9b319;
    font-size: 16px;
    font-weight: 700;
}

.appcaution {
    font-size: 14px !important;
    color:#fff !important;
    margin: 15px 0 0 0 !important;
}
.pc-none {
    display:none;
}
@media(max-width:767px) {
    .pc-none {
        display:initial;
    }
    .conceptflex p {
        text-align:center;
    }
}

/*カレンダー240725*/
.apg_sc_table {
    border-collapse: collapse;
    border-spacing: 0;
    line-height: 1.2;
    float: left;
    margin:2%;
   }
   
   .apg_sc_table th,
   .apg_sc_table td {
    border: 1px solid #ccc;
   }
   
   .apg_sc_table thead th {
    padding: 8px;
    font-weight: bold;
    vertical-align: top;
    color: #fff;
    background: #efefef;
   }
   
   .apg_sc_table tbody th {
    background: #efefef;
    line-height: 2.4em;
    text-align: center;
   }
   
   .apg_sc_table td {
    padding: 8px;
    vertical-align: top;
    text-align: center;
    background-color: #fff;
   }
   
   /* ★休日のカラーはここで設定しています。*/
   .apg_sc_table .apg_sc_holiday {
    background: #ECC6C7 !important;
   }
   
   .apg_sc_table .apg_sc_saturday {
    /*background: #BDE2E8;*/
   }
   
   .apg_sc_table .apg_sc_sunday,
   .apg_sc_table .apg_sc_sunday {
    /*background: #ECC6C7;*/
   }
   
   @media only screen and (max-width: 767px) {
    .apg_sc_table {
    float: none;
    margin-top: 20px;
    margin-right: auto;
    display:block;
    width:100%;
    }
   }
   
@media(max-width:767px){
     footer .inner .bl_footer_wrap {
     display:block;
     }
}

footer .inner .f_navi .flex-nav {
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px 1%;
}

footer .inner .f_navi .flex-nav li {
    width:48%;
}

footer .inner .f_navi .flex-nav li a {
    color:#fff;
}

footer .corp-nav {
    display:flex;
    justify-content:center;
    gap: 30px;
    margin: 40px 0 0 0;
}
footer .corp-nav li a {
    color:#fff;
}

@media(max-width:767px) {
    footer .inner .f_navi .flex-nav {
        display:block;
        margin: 30px 0 0 0;
    }
    footer .inner .f_navi .flex-nav li {
        width:100%;
        margin: 15px 0 0 0;
    }
    
    footer .corp-nav {
        display:block;
    }
        footer .corp-nav li {
            margin: 15px 0 0 0;
        }
}
footer .inner .f_logo img {
    max-width:188px;
    width:auto;
}

footer .f-cal {
    display:flow-root;
    width:100%;
}

footer .f-cal p {
    color:#fff;
    font-size: 14px;
    margin: 0 0 0 2%
}

footer .f-cal p span {
    font-size: 12px;
    display:block;
    margin: 5px 0 0 0;
}

@media(max-width:1000px) {
    footer .f-cal p {
        margin: 0 0 0 10px;
    }
    footer .f_navi {
        margin: 0 0 0 20px !important;
    }
}

.ec-shelfGrid .ec-shelfGrid__item img {
    height:auto;
}