/*-------テキスト上書き---------*/
.ec-searchnavRole,.ec-shelfRole{
    padding-inline: 0;
    font-family: var(--primaryFont);
    font-size: var(--textFont);
    line-height: 1.9;
    letter-spacing:0.04em; 
    font-feature-settings: "palt";
    color: var(--fontColor);
}
/* ------------------------------------------------------------------
- 下層ページデフォルト
------------------------------------------------------------------ */
.l-headingUnderContainer,.l-listContainer{
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.l-headingUnderContainer{
    margin-top: 48px;
}
.l-subheadingUnderContainer{
    margin-top: 24px;
    padding-inline: 15px;
}
.l-subheadingUnderContainer  p + p,.l-subheadingUnderContainer  ol + p{
    margin-top: 1.5em;
}
.l-subheadingUnderContainer p + ol{
    margin-top: 0.5em;
}
figcaption{
    margin-block: 1.5em;
}
.c-contentsBottomLarge{
    margin-bottom: 120px;
}
.c-contentsBottomMin{
    margin-bottom: 100px;
}
.c-textList,.c-numberList{
    display: flex;
    flex-direction: column;
    gap: 2em;
}
.c-numberList{
   counter-reset: number 0;
}
.c-numberList p,.c-numberList ol{
   padding-left: 1em;
}
.c-numberList ol li{
   text-indent: -1em;
   padding-left: 1em;
}
.c-numberList__title,.c-numberList__numberText{
   margin-bottom: 0.5em;
   text-indent: -1em;
   padding-left: 1em;
}
.c-numberList__title{
   font-weight: 700;
}
.c-numberList__title::before,.c-numberList__numberText::before{
    counter-increment: number 1;
    content: counter(number) ".";
}
.c-textList.-margin,.c-numberList.-margin{
    margin-top: 1.5em;
}
.c-attention{
    font-size: 14px;
    color: var(--RedColor);
}
.c-textEndText{
    margin-top: 48px;
}
@media screen and (max-width: 767px) {
    .l-headingUnderContainer{
        margin-top: 32px;
    }
    .c-contentsBottomLarge{
        margin-bottom: 80px;
    }
    .c-contentsBottomMin{
        margin-bottom: 60px;
    }
    .c-textList{
        gap: 1.5em;
    }
}
/* ------------------------------------------------------------------
- 商品一覧ページ
------------------------------------------------------------------ */

.ec-shelfRole{
    padding-inline: 0;
    max-width: none;
}
.ec-topicpath{
    padding:0 0 16px 0;
    border: none;
}
.ec-searchnavRole .ec-searchnavRole__infos{
    border-top: var(--primaryBorder);
}
.ec-topicpath__item,.ec-topicpath__item--active{
    font-size: var(--textFont);
    color: var(--accentColor);
}
.ec-topicpath__divider{
    color: var(--fontColor);
}
.ec-topicpath__item--active{
    font-weight: 700;
}
.ec-font-bold{
    color: var(--accentColor);
}
.ec-select{
    margin-bottom: 0;
}
.ec-topicpath__item a,.ec-topicpath__item--active a{
    transition: ease 0.4s;
}
@media screen and (min-width: 768px) {
    .ec-topicpath__item a:hover,.ec-topicpath__item--active a:hover{
        opacity: 0.6;
    }
}
@media screen and (max-width: 767px) {
.ec-searchnavRole .ec-searchnavRole__infos{
    padding: 16px 0;
}
.ec-searchnavRole .ec-searchnavRole__infos *{
    display: inline-block;
}
.ec-searchnavRole .ec-searchnavRole__actions{
    display: inline-block;
    width: fit-content;
}
}
/*-------商品一覧---------*/
.ec-shelfGrid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px 100px;
    align-items: stretch; /* 全体の高さを揃える */
    padding-top: 60px;
    border-bottom: var(--primaryBorder);
    max-width: 100%;
    margin-inline: 0;
}
.ec-shelfGrid .ec-shelfGrid__item{
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
  margin-bottom: 100px;
  width: 100%;
  max-width: 280px;
}
.ec-shelfGrid .ec-shelfGrid__item:nth-child(odd),.ec-shelfGrid .ec-shelfGrid__item:nth-child(even){
    padding-inline: 0;
}
.p-category__itemInner{
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
}
.p-category__flexbox{
    display: contents;
}
.p-category__imgLink{
    display: block;
    width: clamp(7.5rem, 4.688rem + 12.5vw, 12.5rem);
    max-width: 200px;
    margin-inline: auto;
    transition: ease 0.4s;
}
.p-category__titleLink{
    transition: ease 0.4s;
}
.p-category__title{
    font-size: var(--textFont);
    font-weight: 700;
    color: var(--accentColor);
    margin-block: calc((1em - 1lh) / 2);
}
.p-category__price{
    display: flex;
    flex-direction: row;
    align-items: center;
}
.p-category__priceLabel{
    font-weight: normal;
}
.p-category__priceValue{
    font-weight: bold;
    color: var(--accentColor);
}
.p-category__moreBtn{
    padding-block: 24px 16px;
    border-bottom: var(--primaryBorder);
}
.p-category__moreBtn .c-btn{
    margin-inline: auto 0;
}
.p-category__cartBtn .c-btn,.p-category__moreBtn .c-btn{
    padding: 10px 30px 10px 15px;
    width: 160px;
    font-size: 14px;
}
.p-category__cartBtn .c-btn.-gray{
    padding-inline: 15px;
}
.p-category__cartBox{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: end;
    justify-content: flex-end;
}
.ec-numberInput{
    text-align: end;
}
.p-category__numberText{
    font-size: var(--textFont);
    margin-right: 0.5em;
}
.ec-numberInput input{
    height: 100%;
    max-width: 50px;
    margin: 0;
    background-color: var(--WitheColor);
    border-color: var(--fontColor);
}
.ec-numberInput input[type=number]{
     max-width: 50px;
}
.ec-numberInput input[type=number]::-webkit-inner-spin-button,
.ec-numberInput input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance:textfield;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn{
    margin-top: 0;
    margin-bottom: 0;
}
.ec-productRole__actions{
    min-width: 160px;
}
.ec-productRole__actions .ec-select select{
    width: 100%;
    margin-bottom: 16px;
}
.ec-pagerRole .ec-pager .ec-pager__item{
    background-color: #fff;
    border: var(--primaryBorder);
}
.ec-pagerRole .ec-pager .ec-pager__item--active{
    color: var(--WitheColor);
    background-color: var(--fontColor);
}
@media screen and (min-width: 768px) {
    .p-category__imgLink:hover,.p-category__titleLink:hover{
        opacity: 0.6;
    }
}
@media screen and (max-width: 767px) {
.ec-input select, .ec-birth select, .ec-select select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select,.ec-headerSearch .ec-headerSearch__keyword input[type=search],.ec-searchnavRole .ec-searchnavRole__counter{
        font-size: var(--textFont);
    }
.ec-shelfGrid{
        grid-template-columns: auto;
        padding-top: 0px;
    }
.ec-shelfGrid .ec-shelfGrid__item{
        display: block;
        grid-row: auto;
        padding-block: 40px;
        border-bottom: var(--primaryBorder);
        max-width: none;
        margin-bottom: 0;
    }
.ec-shelfGrid .ec-shelfGrid__item:last-child{
        border-bottom: none;
    }
.ec-shelfGrid .p-category__itemInner{
        display: grid;
        grid-template-columns:auto 1fr;
        gap: clamp(1.875rem, 0.217rem + 7.37vw, 3.75rem);
    }
    .p-category__flexbox{
        display: flex;
        flex-direction: column;
        gap: 16px;
    }
    .p-category__cartBox{
    flex-direction: column;
    gap: 8px;
    align-items: end;
}
.p-category__productInfo{
    font-size: 14px;
}

}
/*-------ページネーション---------*/
.ec-pager{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    margin-top: 16px;
}
.ec-pager .ec-pager__item--active{
    color: var(--accentColor);
    font-weight: 700;
}
.p-category__postage{
    margin-block: 100px;
}
@media screen and (max-width: 767px) {
    .p-category__postage{
    margin-block: 80px;
}
}
/*-------モーダル---------*/
.p-categoryModal .ec-modal-close{
    width: 40px;
    height: 40px;
    right: 5px;
}
.p-categoryModal__btnBox{
    display: flex;
}
.p-categoryModal__btnBox .c-btn.-cancel{
    width: 40%;
    max-width: none;
    margin-right: 32px;
}
.p-categoryModal__btnBox .c-btn.-red{
    width: 60%;
    max-width: none;
}
.p-categoryModal .ec-modal-wrap{
    width: 50%;
}
@media screen and (max-width: 1080px) {
.p-categoryModal .ec-modal-wrap{
    width: 70%;
}
}

@media screen and (max-width: 767px) {
    .p-categoryModal .ec-modal-wrap{
        width: 80%;
    }
    .p-categoryModal__btnBox{
        flex-direction: column-reverse;
    }
    .p-categoryModal__btnBox .c-btn.-cancel{
        margin-right: 0;
        width: 70%;
        min-width: 180px;
        margin-inline: auto;
        
    }
    .p-categoryModal__btnBox .c-btn.-red{
        width: 100%;
        margin-bottom: 16px;
    }
}
/* ------------------------------------------------------------------
- 商品詳細ページ
------------------------------------------------------------------ */
.ec-productRole{
    color: var(--fontColor);
    padding-inline: 0;
}
.p-detail{
    margin-top: 100px;
}
.p-detail__product{
    margin-bottom: 60px;
    align-items: flex-start;
}
.slick-slide img{
    max-width: 250px;
    margin-inline: auto;
}
.slick-dots{
    bottom: -25px;
}
.ec-sliderItemRole{
    margin-bottom: 0;
}
.ec-productRole .ec-productRole__description{
    margin-bottom: 100px;
}
.ec-productRole .ec-productRole__title .ec-headingTitle{
    font-size: var(--mdFont);
    color: var(--accentColor);
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.4;
    margin-block: calc((1em - 1lh) / 2);
}
.ec-productRole .ec-productRole__code{
    display: flex;
    flex-direction: row;
    gap: 1em;
    font-size: 14px;
    margin-bottom: 8px;
    padding: 0;
    border-bottom: none;
}
.ec-productRole__codeTitle{
    font-weight: normal;
}
.ec-productRole .ec-productRole__category{
    display: flex;
    flex-direction: row;
    margin-bottom: 32px;
    padding: 0;
    gap: 1em;
    font-size: 14px;
    border-bottom: none;
}

.ec-productRole .ec-productRole__category a{
    color: var(--textColor);
    text-decoration: underline;
    transition: ease 0.4s;
    cursor: pointer;
}
.ec-productRole .ec-productRole__tags{
    border-bottom: none;
}
.ec-productRole .p-detail__categoryBox{
    display: flex;
    flex-direction: column;
    margin-left: 0.5em;
}
.ec-productRole__categoryTitle{
    font-weight: normal;
}
.ec-productRole__priceRegularPrice{
    display: block;
    margin-bottom: 8px;
}
.ec-price{
    display: flex;
    flex-direction: row;
    align-items: center;
}
.ec-productRole .ec-productRole__price {
    margin-bottom: 48px;
    padding: 0;
    border-bottom: none;
    font-size: var(--mdFont);  
}
.ec-price .ec-price__tax{
    font-size: var(--mdFont);
    color: var(--fontColor);
    font-weight: 700;
}
.ec-price .ec-price__price{
    font-size: var(--mdFont);
    color: var(--accentColor);
    font-weight: 700;
}
.ec-productRole .ec-productRole__actions{
    padding: 0;
}
.ec-productRole .ec-productRole__description{
    font-size: var(--textFont);
    margin-bottom: 100px;
}
.ec-productRole .p-detail__cartBox{
    display: flex;
    align-items: end;
    justify-content: space-between;
}
.p-detail__number{
    width: 350px;
    margin-bottom: 16px;
}
.mb-3 .required{
    display: block;
}
@media only screen and (min-width: 768px) {
    .ec-sliderItemRole .item_nav {
        margin-top: 30px;
    }
}
@media screen and (max-width: 767px) {
    .slick-dots{
        bottom: -32px;
    }
    .p-detail{
    margin-top: 40px;
}
.ec-productRole .ec-productRole__profile{
    margin-top: 32px;
}
    .ec-productRole .ec-productRole__description{
    margin-bottom: 80px;
}
    .p-detail__product{
        margin-bottom: 60px;
    }
    .p-detail__product{
        flex-direction: column;
        gap: 32px;
    }
    .p-detail__number{
    width: 100%;
}
.ec-productRole .ec-productRole__description{
    margin-bottom: 80px;
}
}
/*-------サブエリア---------*/
.p-detail__subArea{
    margin-bottom: 100px;
}
.p-detail__subAreaTitle{
    font-size: var(--headingfont);
}
.p-detail__subAreaform{
    margin-top: 48px;
    padding-inline:15px ;
    font-size: var(--textFont);
    color: var(--fontColor);
    font-weight: normal;
}
.p-detail__subAreaform ul{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 32px;
}
.p-detail__subAreaform li{
    display: grid;
    grid-template-rows: subgrid;
}
.p-detail__subAreaform li a,.p-detail__subAreaform a{
    color: var(--accentColor);
    text-decoration: underline;
    transition: ease 0.4s;
}
.p-detail__subAreaform li a img{
    width: 100%;
    aspect-ratio: 1/1.333;
    object-fit: cover;
}
.p-detail__subAreaform a{
    display: block;
    height: 100%;
    width: 100%;
    max-width: 250px;
}
.p-detail__subAreaform a img{
    max-width: 250px;
}
/*-------レビュー---------*/
#product_review_area{
    border-top: none;
    margin-bottom: 100px;
}
.ec-role {
    padding: 0;
    color: var(--fontColor);
}
.ec-rectHeading h4{
    display: flex;
    align-items: center;
    gap: 0.5em;
    background-color: var(--subHeadingColor);
    font-size: var(--headingfont);
    font-family: var(--secondryFont);
}
#product_review_area .recommend_average{
    margin-left: 0;
    font-size: var(--mdFont);
    color: var(--accentColor);
}
.recommend_count{
    margin-right: 1em;
    font-size: var(--mdFont);
}
.pull-right .c-summary__toggle{
    display: block;
    width: 16px;
}
.pull-right .c-summary__toggleicon:first-child{
    width: 16px;
}
.pull-right .c-summary__toggleicon:last-child{
    height: 16px;
}
.ec-inlineBtn--action{
    width: 100%;
    max-width: 300px;
}
#reviewContent{
    padding-inline: 15px;
    margin-bottom: 48px;
}
#product_review_area .review_list{
    padding: 0;
}
#product_review_area .review_list li{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 0;
    padding-block: 30px;
    font-size: var(--textFont);
}
#product_review_area .review_list li + li{
    border-top: var(--primaryBorder);
}
#product_review_area .review_list .recommend_level{
    color: var(--accentColor);
}
@media screen and (min-width: 768px) {
.p-detail__subAreaform li a:hover,.p-detail__subAreaform a:hover{
    opacity: 0.6;
}
}
@media screen and (max-width: 767px) {
    .p-detail__subAreaform{
    margin-top: 32px;
    }
    .p-detail__subArea{
        margin-bottom: 80px;
    }
    #product_review_area{
        margin-bottom: 80px;
    }
}
/* ------------------------------------------------------------------
- ショッピングガイド
------------------------------------------------------------------ */
.p-teiki__detailMerit{
    margin-bottom: 1em;
}

.p-first__textItem::before,.p-teiki__detailMerit::before{
    counter-increment: number 1;
content: counter(number)".";
}

/* ------------------------------------------------------------------
- お支払い方法等
------------------------------------------------------------------ */



.p-teiki__detailItem::before{
    content: "・";
    margin-right: 0.4em;
}
.p-teiki__detailTextBox{
    margin-top: 1em;
    padding-inline: 15px;
}
.p-teiki__detailItem,.p-teiki__detailMerit{
        text-indent: -1em;
  padding-left: 1em;
}


/* ------------------------------------------------------------------
- 初めての方へ
------------------------------------------------------------------ */
.p-first{
    margin-bottom: 120px;
}
.p-first  p{
    text-align: justify;
}
.p-first__intro{
    margin-bottom: 40px;
}
.p-first__content{
    padding-block: 60px;
    border-bottom: var(--primaryBorder);
}
.p-first__textBox{
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-block: 48px;
}
.p-first__textList{
    counter-reset: number 0;
}
.p-first__textItem{
    font-weight: 700;
}
.p-first__signUpBtn{
    margin-inline: auto 0;
    width: 250px;
}
.p-first__signUpBtn .c-btn{
    font-size: var(--mdFont);
    justify-content: left;
}
.p-first__btn{
    width: 250px;
    margin-inline: auto 0;
}
.p-first__btnList{
    display: grid;
    grid-template-columns: repeat(auto-fit, 250px);
    gap: 24px;
}
@media screen and (max-width: 880px) {
.p-first__btnList{
    display: block;
}
}
@media screen and (max-width: 767px) {
    .p-first{
    margin-bottom: 100px;
}
    .p-first__intro{
    margin-bottom: 20px;
}
    .p-first__content{
        margin-bottom: 0;
    }
    .p-first__content{
        padding-block: 40px;
    }
    .p-first__textBox{
    margin-block: 32px 48px;
}
}
/* ------------------------------------------------------------------
- 店舗案内
------------------------------------------------------------------ */
.p-about{
    margin-bottom: 120px;
}
.p-about__online{
    margin-top: 120px;
}
.p-about dl{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 48px;
}

.p-about dt{
  display: inline;
  width: 15%;
  padding: 8px;
  border-bottom: 1px solid var(--accentColor);
 }

 .p-about dd{
  display: inline;
  width: 85%;
  margin-bottom: 0;
  padding: 8px;
  border-bottom: 1px solid #ccc;
 }

.p-about__list + img{
    margin-top: 10px;
}

 .p-about__imgBox{
  display: flex;
  gap: 20px;

  margin-top: 16px;
  padding-left: 10px;
  padding-right: 10px;
 }
 .p-about__img p{
    font-weight: 700;
 }

 .p-about__img{
  width: 50%;
 }


 @media screen and (max-width: 767px) {
.p-about{
    margin-bottom: 80px;
}
.p-about__online{
    margin-top: 80px;
}
.p-about__content{
    margin-block: 32px 80px;
}
.p-about dl{
    margin-top: 32px;
}
.p-about dt{
  width: 25%;
 }

 .p-about dd{
  width: 75%;
 }

 }
 /* ------------------------------------------------------------------
- 定期購入
------------------------------------------------------------------ */
.p-teiki__intro{
    margin-bottom: 120px;
}
.p-teiki__heading{
    margin-bottom: 48px;
}
.p-teiki__gomaOnly{
    margin-bottom: 120px;
}
.p-teiki__gomaSelect{
    margin-bottom: 100px;
}
.p-teiki__productWrapper{
    display: flex;
    flex-direction: column;
    gap: 100px;
}
.p-teiki__product{
    padding: 30px;
    background-color: var(--WitheColor);
}
.p-teiki__productShip > .c-subheading{
    margin-bottom: 30px;
    text-align: center;
}
.p-teiki__periodList{
    display: flex;
    align-items: center;
    justify-content: center;
}
.p-teiki__periodItem {
    width: calc(100% / 3);
}
.p-teiki__periodItem  p{
    text-align: center;
}
.p-teiki__periodItem > .c-btn{
    max-width: 160px;
    margin-inline: auto;
    padding: 10px 15px 10px 10px;
}
.p-teiki__periodList > li +li{
    border-left: var(--primaryBorder);
}
.p-teiki__productImgBox{
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
}
.p-teiki__productImgBox img{
    max-width: 400px;
}
.p-teiki__productIconBox{
    display: block;
    position: relative;
    width: 24px;
    aspect-ratio: 1/1;
}
.p-teiki__productIcon{
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--accentColor);
    background-color: var(--accentColor);
}
.p-teiki__productIcon:first-child{
    width: 24px;
    height: 2px;
}
.p-teiki__productIcon:last-child{
    width: 2px;
    height: 24px;
}
.p-teiki__attention{
    margin-top: 32px;
}
.p-teiki__detail{
    margin-bottom: 120px;
}
.p-teiki__detailList{
   counter-reset: number 0;
   margin-bottom: 48px;
}
.p-teiki__kurogoma{
    margin-bottom: 120px;
}
.p-teiki__kurogomaIntro{
    margin-bottom: 100px;
}
.p-teiki__periodprice{
    font-weight: 700;
    color: var(--accentColor);
    margin-bottom: 8px;
    font-size: var(--mdFont);
}
 @media screen and (max-width: 767px) {
    .p-teiki__intro{
    margin-bottom: 80px;
}
.p-teiki__heading{
    margin-bottom: 32px;
}
.p-teiki__gomaOnly{
    margin-bottom: 80px;
}
.p-teiki__gomaSelect{
    margin-bottom: 60px;
}
.p-teiki__productWrapper{
    gap: 60px;
}
.p-teiki__productShip > .c-subheading{
    margin-bottom: 0px;
}
.p-teiki__periodList{
    flex-direction: column;
}
.p-teiki__periodList > li +li{
    border-left: 0;
    border-top: var(--primaryBorder);
}
.p-teiki__periodItem{
    width: 100%;
    padding-block: 30px;
}
.p-teiki__periodItem:last-child{
    padding-bottom: 0;
}
.p-teiki__productImgBox{
    flex-direction: column;
    margin-bottom: 24px;
}
.p-teiki__detail{
    margin-bottom: 120px;
}
.p-teiki__detailList{
    margin-bottom: 32px;
}
.p-teiki__kurogoma{
    margin-bottom: 80px;
}
.p-teiki__kurogomaIntro{
    margin-bottom: 60px;
}
 }
 
/* ------------------------------------------------------------------
- レビュー投稿
------------------------------------------------------------------ */
 .ec-registerCompleteRole{
    margin-bottom: 100px;
 }
  @media screen and (max-width: 767px) {
     .ec-registerCompleteRole{
    margin-bottom: 60px;
 }
  }

/* ------------------------------------------------------------------
- ログインページ
------------------------------------------------------------------ */
.p-login__container{
    padding-inline: 15px;
}
.ec-login{
    background-color: var(--subHeadingColor);
    margin-inline: auto;
    margin-bottom: 100px;
    max-width: 880px;
}
.p-login__btnGrid{
    flex-direction: column;
    align-items: center;
}
.p-login__btnGrid .p-login__btnCell{
    width: 100%;
}
.p-login__btnGrid .p-login__linkCell{
    width: 100%;
    margin-top: 24px;
}
.p-login__linkCell .ec-login__link{
    margin-left: 0;
}
.ec-login__input .form-control{
    margin-bottom: 16px;
} 
.form-check{
    display: flex;
    align-items: center;
    gap: 8px;
}
.ec-checkbox label{
    margin-bottom: 0;
}
  @media screen and (max-width: 767px) {
 .ec-login{
    margin-bottom: 80px;
}
.p-login__btnGrid .p-login__linkCell{
    margin-top: 16px;
}
}
/* ------------------------------------------------------------------
- ショッピングログインページ
------------------------------------------------------------------ */
.p-shoppingLogin_flexBox .c-heading{
    margin-bottom: 16px;
}
.p-shoppingLogin_flexBox .p-shoppingLogin_text{
    margin-bottom: 32px;
}
.p-shoppingLogin_flexBox{
    flex-direction: column;
    align-items: center;
    margin-bottom: 100px;
    line-height: 1.9;
}

.ec-grid3 .ec-grid3__cell.p-shoppingLogin_guest{
    max-width: 880px;
    width: 66.6666666667%;
    padding-inline: 15px;
}
.ec-guest{
    margin-inline: 0;
}
.p-guest{
    width: 100%;
    padding-block: 30px;
    background-color: var(--subHeadingColor);
}
.ec-guest .p-guest__grid a.c-btn.-white{
    color: var(--accentColor);
}
.ec-guest .p-guest__grid{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 30px;
}
.ec-guest .p-guest__grid a.c-btn.-white:hover{
    color: var(--WitheColor);
}
  @media screen and (max-width: 767px) {
    .p-shoppingLogin_flexBox{
        margin-bottom: 80px;
    }
    .ec-grid3 .ec-grid3__cell.p-shoppingLogin_guest{
        width: 100%;
    }
    .ec-guest .p-guest__grid{
        display: flex;
        flex-direction: column;
    }
  }
  /* ------------------------------------------------------------------
- マイページ
------------------------------------------------------------------ */
.p-mypage__history .ec-historyListHeader .ec-historyListHeader__date{
    font-weight: normal;
}
.ec-historyRole .p-mypage__history{
    padding: 30px;
}
.ec-historyRole .p-mypage__history .c-btn.-white{
    max-width: 150px;
}
.ec-imageGrid{
    border-top: var(--primaryBorder);
}
  @media screen and (max-width: 767px) {
    .ec-historyRole .p-mypage__history{
    margin-bottom: 30px;
    padding: 15px;
    border-top: none;
    background-color: var(--WitheColor);
    }
    .p-mypage__history .ec-historyRole__detail{
    border-top: var(--primaryBorder);
}
  }
/* ------------------------------------------------------------------
- マイページ/ご注文履歴
------------------------------------------------------------------ */
.p-mypage,.p-mypageChange,.p-mypageDelivery,.p-mypageDeliveryEdit,.p-withdraw{
    margin-bottom: 100px;
}
.ec-mypageRole{
    padding-inline: 40px;
}
.ec-navlistRole .ec-navlistRole__navlist{
    margin-bottom: 60px;
}
.ec-navlistRole .ec-navlistRole__item{
    border-color: var(--lineCoror);
}
.ec-navlistRole .ec-navlistRole__item a{
    font-family: var(--secondryFont);
    color: var(--fontColor);
    background-color: var(--WitheColor);
}
.ec-navlistRole .active a{
    background-color: var(--accentColor);
    color: var(--WitheColor);
}
.ec-welcomeMsg{
    border-bottom: var(--primaryBorder);
}
.p-mypageChange .ec-off4Grid__cell{
    margin-top: 100px;
}
.ec-historyRole .ec-historyRole__detail .ec-historyRole__detailPrice{
    margin-top: 8px;
}
@media screen and (min-width: 768px) {
    .ec-navlistRole .ec-navlistRole__item a:hover{
        background-color: var(--fontColor);
        color: var(--WitheColor);
    }
}
  @media screen and (max-width: 767px) {
        .p-mypage,.p-mypageChange,.p-mypageDelivery,.p-mypageDeliveryEdit{
    margin-bottom: 60px;
}
    .ec-mypageRole{
    padding-inline: 15px;
}
.p-mypage,.p-mypageChange{
    margin-bottom: 80px;
}
.p-mypageChange .ec-off4Grid__cell{
    margin-top: 60px;
}
  }
  /* ------------------------------------------------------------------
- マイページ/ご注文履歴詳細
------------------------------------------------------------------ */
.ec-orderMail{
    border-bottom: var(--primaryBorder);
}
.p-orderRole__detail .ec-totalBox{
    margin-top: 0;
}
.ec-orderRole.p-orderDetail{
    margin-bottom: 100px;
}
.p-orderDetailBtn .c-btn.-cancel{
    width: 40%;
    margin-inline: auto;
}
.ec-orderMail .ec-orderMail__link a{
    color: var(--accentColor);

}
  @media screen and (max-width: 767px) {
    .ec-orderRole.p-orderDetail{
    margin-bottom: 60px;
}
  }
/* ------------------------------------------------------------------
- マイページ/会員情報編集・お届け先編集
------------------------------------------------------------------ */
.ec-reportHeading{
    font-family: var(--secondryFont);
    border-top: none;
}
.ec-addressRole .ec-addressRole__actions{
    border-bottom: 0;
}
.p-mypageDelivery .c-btn.-white{
    max-width: 300px;
    min-width: 100px;
}
.ec-addressList .ec-addressList__item{
    border-bottom: var(--primaryBorder);
}
.p-mypageDelivery .ec-addressList__action .c-btn.-white{
    border-color: var(--textColor);
    color: var(--textColor);
}
.p-mypageDelivery .ec-addressList__action .c-btn.-white::after{
border-top: solid 2px var(--fontColor);
  border-right: solid 2px var(--fontColor);
}
@media screen and (min-width: 768px) {
.p-mypageDelivery .ec-addressList__action .c-btn.-white:hover{
        background-color: var(--fontColor);
        color: var(--WitheColor);
    }
    .p-mypageDelivery .ec-addressList__action .c-btn.-white:hover::after{
    border-color: var(--WitheColor);
    color: var(--WitheColor);
}
}
/* ------------------------------------------------------------------
- マイページ/退会
------------------------------------------------------------------ */
.p-withdraw__title{
  word-break: keep-all;
  overflow-wrap: break-word;
  text-align: center;
}
  /* ------------------------------------------------------------------
- カート
------------------------------------------------------------------ */
.ec-cartRole{
    padding-inline: 0;
}
.p-cart{
    padding-inline: 0;
    gap: 40px;
}

.ec-progress .ec-progress__number{
    font-family: var(--secondryFont);
    font-weight: 900;
    background-color: var(--fontColor);
}
.ec-progress .ec-progress__item:after{
    background: var(--fontColor);
}
.ec-progress .ec-progress__label{
    font-family: var(--secondryFont);
      word-break: keep-all;
  overflow-wrap: break-word;
}
.ec-progress .is-complete .ec-progress__number{
    background-color: var(--accentColor);
}
.ec-progress .is-complete .ec-progress__label{
    color: var(--accentColor);
}
.p-cart__shippingBox{
    margin-inline: auto;
    padding: 15px;
    width: 80%;
    background-color: var(--WitheColor);
    border: var(--primaryBorder);
    line-height: 1.9;
}
.p-cart__shippingBox strong{
    color: var( --RedColor);
}
.ec-cartRole .ec-cartRole__totalText{
    margin-bottom: 0;
}
.ec-cartHeader .ec-cartHeader__label{
    background: var(--subHeadingColor);
    font-family: var(--secondryFont);
}
.ec-cartRole .ec-cartRole__actions{
    margin-bottom: 80px;
}
.p-cart__totalAmountTax{
    margin-left: 0.5em;
    color: var(--accentColor);
}
.ec-cartRole .ec-cartRole__total{
    padding-bottom: 0.5em;
}
.ec-cartRow .ec-cartRow__delColumn,.ec-cartRow .ec-cartRow__subtotalColumn,.ec-cartRow .ec-cartRow__amountColumn,.ec-cartRow .ec-cartRow__contentColumn{
    border-bottom: var(--primaryBorder);
}

.ec-alert-warning{
    background-color: var(--GrayColor);
}
.ec-alert-warning .ec-alert-warning__text{
    color: var(--fontColor);
    font-family: var(--secondryFont);
}
.p-cart__empty .c-btn.-cancel{
    width: 50%;
    margin-inline: auto;
    margin-bottom: 60px;
}
  @media screen and (max-width: 767px) {
.p-cart__shippingBox{
    width: 100%;
}
    .ec-cartRole .ec-cartRole__totalText{
        padding-top: 0;
    }

.p-cart__empty .c-btn.-cancel{
    width: 100%;
    margin-bottom: 20px;
}
.ec-cartTable{
    border-top: var(--primaryBorder);
}
.ec-progress{
    padding-inline: 15px;
}
  }
    /* ------------------------------------------------------------------
- お問い合わせ
------------------------------------------------------------------ */
.p-contactForm,.p-contactConfirmForm,.p-agreement{
    margin-bottom: 120px;
}
.p-contact__textBox{
    margin-bottom: 32px;
}
.ec-para-normal.-attention{
    font-size: 14px;
    color: var(--RedColor);
}
.p-contact__3dSecure{
    padding: 15px;
    background-color: var(--WitheColor);
     margin-bottom: 80px;
}
.p-contact__3dSecureTitle{
    font-weight: 700;
}
.ec-contactConfirmRole p{
    margin: 16px 0;
}
.p-contactFormComplete,.p-cartComplete{
    margin-bottom: 100px;
}
  @media screen and (max-width: 767px) {
    .p-contactForm,.p-contactConfirmForm,.p-agreement{
    margin-bottom: 80px;
}
    .p-contact__textBox{
    margin-bottom: 24px;
}
.p-contact__3dSecure{
    margin-bottom: 40px;
}
.p-contactFormComplete,.p-cartComplete{
    margin-bottom: 60px;
}
  }


/* ------------------------------------------------------------------
- 新規会員登録
------------------------------------------------------------------ */
.p-entry__checkbox{
    margin-bottom: 48px;
}
.ec-checkbox label{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5em;
}
.ec-checkbox input{
    margin-bottom: 0;
}
.p-entryConfirm__text{
    margin-bottom: 32px;
}
  @media screen and (max-width: 767px) {
    .p-entryConfirm__text{
    margin-bottom: 24px;
}
  }


/* ------------------------------------------------------------------
- ショッピングページ
------------------------------------------------------------------ */
.ec-orderRole {
    margin-bottom: 120px;
}
.ec-orderRole{
    align-items: flex-start;
}
.ec-rectHeading h2{
    background-color: var(--subHeadingColor);
    font-family: var(--secondryFont);
    padding: 10px;
    margin-bottom: 24px;
}
.ec-orderAccount{
    margin-bottom: 40px;
}
.ec-orderAccount .ec-orderAccount__account{
    padding-inline: 15px;
}
.ec-orderDelivery .ec-orderDelivery__title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 20px;
    font-family: var(--secondryFont);
}
.p-orderDelivery__wrapper{
    margin-bottom: 40px;
    padding-inline: 15px;
    line-height: 1.9;
}
.ec-orderDelivery .ec-orderDelivery__change{
    position: relative;
}
.ec-orderDelivery__change .c-btn{
    padding-block: 5px;
}
.ec-orderDelivery__edit .c-btn.-change{
    max-width: 250px;
}
.ec-borderedList .ec-imageGrid{
    border-top: var(--primaryBorder);
}
.ec-orderDelivery .ec-borderedList li{
    border-bottom: none;
}
.ec-borderedList li:last-of-type{
    border-bottom: var(--primaryBorder);
}
.ec-select__shipping,.ec-select__delivery,.ec-select__time{
    margin-bottom: 16px;
}
.p-orderDelivery__selectTimeBox{
    margin-bottom: 8px;
}
.p-orderDelivery__wrapper .ec-selects{
    border-bottom: none;
}
.p-orderDelivery__selectTimeBox label{
    display: block;
}
.ec-orderPayment .ec-radio{
    margin-bottom: 40px;
    padding-inline: 15px;
}
.ec-orderRole .ec-orderRole__summary{
    position: sticky;
    top: 80px;
}
.ec-orderRole .ec-borderedList{
    border-top: none;
}

.ec-totalBox{
    background-color: var(--WitheColor);
    border: var(--primaryBorder);
    margin-bottom: 0;
    margin-top: 20px;
    container-type: inline-size;
    resize: horizontal;
    overflow: auto;
} 
.p-orderDetail .ec-totalBox{
    margin-top: 0;
}
.ec-totalBox .ec-totalBox__total,.ec-totalBox .ec-totalBox__paymentTotal{
    border-top: var(--primaryBorder);
}
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price, .ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel{
    color: var(--accentColor);
}
.ec-totalBox .ec-totalBox__btn a{
    color: var(--fontColor);
    margin-inline: auto;
}
.ec-radio p{
    margin-top: 16px;
}
.ec-totalBox .ec-totalBox__taxRate{
    flex-direction: column;
}
#page_shopping .ec-radio div{
        margin-bottom: 10px;
}
#page_shopping .ec-radio div:nth-of-type(2){
    display: flex !important;
    align-items: flex-start;
}
#page_shopping .ec-radio #zeus_contact_info, #page_shopping .ec-radio div.col-sm-6{
    display: block !important;
} 
@container (max-width: 247px) {
    .ec-totalBox__taxRate{
        flex-direction: column;
    }
    .ec-totalBox .ec-totalBox__taxRate dt{
        text-align: right;
    }
}
@media screen and (max-width: 767px) {
.ec-orderRole {
    margin-bottom: 80px;
}
.ec-totalBox{
    margin-top: 0;
}
.ec-totalBox .ec-totalBox__btn .ec-blockBtn--cancel{
    width: 70%;
}
  }
/* ------------------------------------------------------------------
- ショッピングページ お届け先複数指定
------------------------------------------------------------------ */

.ec-AddAddress .ec-AddAddress__add{
    margin-bottom: 40px;
    padding-top: 40px;
}
.ec-AddAddress__addBox > .ec-AddAddress__add:last-of-type,.p-shoppingError{
    margin-bottom: 100px;
}
.ec-AddAddress .ec-AddAddress__add{
    border-top: var(--primaryBorder);
}
.ec-AddAddress .ec-AddAddress__item{
    background-color: var(--subHeadingColor);
}
.ec-AddAddress .ec-AddAddress__selectNumber,.ec-AddAddress__selectAddress .ec-select{
    display: flex;
    align-items: center;
    gap: 8px;
}
.ec-AddAddress .ec-AddAddress__select{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
}
.ec-input input{
    margin-bottom: 0;
}
.ec-AddAddress .c-btn.-change,.ec-addressRole__actions .c-btn.-change{
    max-width: 250px;
}
.ec-AddAddress .ec-AddAddress__actions{
    width: 80%;
    margin-bottom: 100px;
}
.ec-AddAddress .ec-AddAddress__selectAddress select{
    width: 100%;
    overflow: hidden;       
    text-overflow: ellipsis;  
    white-space: nowrap;  
}
.ec-AddAddress .ec-AddAddress__selectAddress label{
    width: 100%;
}
.ec-AddAddress .c-btn.-delete{
    width: fit-content;
    padding-block: 5px;
}
.p-shoppingError__btnBox{
    width: 33.3333333333%;
    margin-inline: auto;
}
@media screen and (max-width: 767px) {

.ec-AddAddress .ec-AddAddress__select,.ec-AddAddress__selectAddress .ec-select{
    flex-direction: column;
}
.ec-AddAddress .ec-AddAddress__select{
    align-items: flex-start;
}
.ec-AddAddress .ec-AddAddress__actions{
    width: 100%;
    margin-bottom: 60px;
}
.ec-AddAddress__addBox > .ec-AddAddress__add:last-of-type{
    margin-bottom: 80px;
}
.p-shoppingError{
    margin-bottom: 60px;
}
.p-shoppingError__btnBox{
    width: 100%;
}
  }

  /* ------------------------------------------------------------------
- パスワードをお忘れの方
------------------------------------------------------------------ */
.p-forgot,.p-forgotComplete,.p-reset{
    margin-bottom: 100px;
}
.ec-forgotRole__intro{
    margin-bottom: 32px;
}
.p-forgotComplete__heading{
      word-break: keep-all;
  overflow-wrap: break-word;
}
@media screen and (max-width: 767px) {
    .p-forgot,.p-forgotComplete,.p-reset{
    margin-bottom: 60px;
}.ec-forgotRole__intro{
    margin-bottom: 24px;
}
}
 /* ------------------------------------------------------------------
- クレジット決済について
------------------------------------------------------------------ */
.p-3d_secure__linkText{
    font-weight: 700;
}
.p-3d_secure__img figcaption{
    margin-top: 1rem;
}
.p-credit__3d_secure p + figure,.p-credit__3d_secure figure + figure{
    margin-top: 1.5em;
}
 /* ------------------------------------------------------------------
- 利用規約
------------------------------------------------------------------ */
.p-agreement__forbidden p + ol{
    margin-top: 2em;
}

.p-agreement__forbidden .c-numberList{
    gap: 1em;
}