/* ------------------------------------------------------------------
- hero
------------------------------------------------------------------ */
.p-topHero{
    padding-bottom:80px;
}
.ec-sliderRole{
    padding-inline: 0;
    max-width:100%;
    margin-bottom:0;
}
@media screen and (max-width: 767px) {
    .p-topHero{
        padding-bottom: 40px;
    }
}
.slick-slider {
    margin-bottom: 0px;
}
/* ------------------------------------------------------------------
- アンカーリンク
------------------------------------------------------------------ */
.p-topMenuTab{
    margin-inline: auto;
    padding: 0 40px 80px;
    width: 100%;
    max-width: 1225px;
}
.p-topMenuTab__list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
}
.c-tabLink.-recipe{
    gap: 0.5em;
}
.c-tabLink.-recipe::after{
    content: "";
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    background-color: var(--accentColor); /* 理想の濃い赤 */
    -webkit-mask-image: url(../img/common/icn_link.svg);
    mask-image: url(../img/common/icn_link.svg);
    -webkit-mask-size: contain;
    mask-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
    .c-tabLink.-recipe:hover:after{
        filter: invert(95%) sepia(100%) saturate(14%) hue-rotate(213deg) brightness(104%) contrast(104%);
    }
}
@media screen and (max-width: 767px) {
    .p-topMenuTab{
        padding: 0 15px;
    }
    .p-topMenuTab__list{
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 15px;
    }
}
/* ------------------------------------------------------------------
- 商品のご購入
------------------------------------------------------------------ */
.p-topProduct{
    padding-block: 100px 120px;
}
.p-topProduct__listWrapper{
    margin: 48px auto 96px;
    font-size: var(--mdFont);
}
.p-topProduct__list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    
}
.p-topProduct__item .c-accordion__summary{
    padding: 0;
}
.p-topProduct__item .c-accordion__contents{
    padding-inline: 0;
}
.p-topProduct__contentsTop{
    margin-bottom: 30px;
    font-size: var(--mdFont);
    font-weight: 900;
    color: var(--accentColor);
}
.p-topProduct__contentsList{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 30px;
    font-size: var(--textFont);
}
.p-topProduct__contentsItem{
    display: grid;
}
.p-topProduct__contentsInner{
    margin-block: 30px 15px;
   padding: 15px;
   background-color: var(--bgsecond);
}
.p-topProduct__contentsLink{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}
/* #productId-235,#productId-204,#productId-233,#productId-208,#productId-207,#productId-158,#productId-211,#productId-220,#productId-219,#productId-254,#productId-256,#productId-245,#productId-161{
    display: none;
} */
@media screen and (min-width: 768px) {
  .p-topProduct__contentsItem > .p-topProduct__contentsLink:hover  .c-pageLinkIcon,.p-topProduct__contentsTop >  .p-topProduct__contentsLink:hover  .c-pageLinkIcon{
        transform: translateX(0.5em) rotate(45deg);
        transition: ease 0.4s;
    }
}
@media screen and (max-width: 767px) {
    .p-topProduct__listWrapper{
        flex-direction: column;
        gap: 0;
    }
    .p-topProduct{
        padding-block: 60px;
    }
    .p-topProduct__listWrapper{
        margin: 32px auto 64px;
    }

    .p-topProduct__list{
        grid-template-columns: auto;
        gap:0 15px;
        width: 100%;
    }
    .p-topProduct__contentsList{
        grid-template-columns: auto;
        padding-left: 15px;
    }
}
/* ------------------------------------------------------------------
- 催事情報
------------------------------------------------------------------ */
.p-topEvent{
    padding-block: 120px;
    background-color: var(--bgsecond);
}

.p-topEvent h3{
    margin-top: 120px;
    margin-bottom: 32px;
    font-family: var(--secondryFont);
    font-size: var(--mdFont);
    font-weight: 700;
    color: var( --accentColor);
}
.p-topEvent .l-container h3:first-of-type{
    margin-top: 64px;
}
.p-topEvent strong{
    margin-bottom: 8px;
    color: var(--accentColor);
    font-weight: 700;
}

.p-topEvent hr{
    border: var(--primaryBorder);
    margin-block: 30px;
}
.p-topEvent .c-normalLink{
    display: block;
    margin-top: 32px;
}
@media screen and (max-width: 767px) {
    .p-topEvent{
    padding-block: 60px;
}
.p-topEvent h3{
    margin-top: 80px;
}
.p-topEvent__content{
    flex-direction: column;
    margin-top: 32px;
    gap: 100px;
}
.p-topEvent .l-container h3:first-of-type{
    margin-top: 32px;
}
.p-topEvent h3{
    margin-bottom: 16px;
}
.p-topEvent hr{
    margin-block: 15px;
}
}
/* ------------------------------------------------------------------
- ふかほりについて
------------------------------------------------------------------ */
.p-topAbout{
    padding-block: 120px
}
.p-topAbout__img{
    display: block;
    margin-block: 48px 64px;
}
.p-topAbout__subHeading{
    font-family: var(--secondryFont);
    font-size: var(--mdFont);
    font-weight: 700;
    margin-bottom: 32px;
}
.p-topAbout__btn{
    margin: 48px 0 0 auto;
}
@media screen and (max-width: 767px) {
.p-topAbout{
    padding-block: 60px;
}
.p-topAbout__img{
    margin-block: 32px;
}
.p-topAbout__subHeading{
    margin-bottom: 16px;
}
.p-topAbout__btn{
    margin: 24px 0 0 auto;
}
}
/* ------------------------------------------------------------------
- ご利用案内
------------------------------------------------------------------ */
.p-guide{
    padding-block: 120px;
    background-color: var(--bgsecond);
}
.p-guide__list{
    margin-top: 48px;
}
.p-guide__btn{
    padding: 30px 15px;
    font-size: var(--mdFont);
}
@media screen and (max-width: 767px) {
.p-guide{
    padding-block: 60px;
}
.p-guide__list{
    margin-top: 32px;
}
.p-guide__btn{
    padding: 15px;
}
}
/* ------------------------------------------------------------------
- 新着情報
------------------------------------------------------------------ */
.p-topNews{
    padding-block: 120px;
}
.p-topNews__summary{
    padding-block: 30px;
}
.p-topNews__list{
    margin-top: 48px;
}
.p-topNews__item{
    border-bottom: var(--primaryBorder);
}
.p-topNews__item:first-child{
    border-top: var(--primaryBorder);
}
.p-topNews__contentsInner{
    padding-block: 15px 45px;
}
.p-topNews__titleBox time{
    font-size: .875rem; 
}
.p-topNews__title{
    font-weight: 700;
    font-family: var(--secondryFont);
}
.p-topNews__btn{
    margin: 48px 0 0 auto;
}
@media screen and (max-width: 767px) {
.p-topNews{
    padding-block: 60px;
}
.p-topNews__list{
    margin-top: 32px;
}
.p-topNews__summary{
    padding-block: 15px;
}
.p-topNews__contentsInner{
    padding-block: 15px 30px;
}
.p-topNews__btn{
    margin: 24px 0 0 auto;
}
}
/* ------------------------------------------------------------------
- よくある質問
------------------------------------------------------------------ */
.p-topQuestion{
    padding-block: 120px;
    background-color: var(--bgsecond);
}
.p-topQuestion__summary{
    padding-block: 30px;
}
.p-topQuestion__list{
    margin-top: 48px;
}
.p-topQuestion__item{
    border-bottom: var(--primaryBorder);
}
.p-topQuestion__item:first-child{
    border-top: var(--primaryBorder);
}
.p-topQuestion__contentsInner{
    padding-block: 15px 45px;
}
.p-topQuestion__title,.p-topQuestion__contentsTitle{
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-family: var(--secondryFont);
    font-size: var(--mdFont);
}
.p-topQuestion__title::before,.p-topQuestion__contentsTitle::before{
    display: inline-block;
    color: var(--accentColor);
}
.p-topQuestion__title::before{
    content: "Q";
}
.p-topQuestion__contentsTitle::before{
    content: "A";
}
.p-topQuestion__contentsTitle{
    margin-bottom: 32px;
}
.p-topQuestion__btn{
    margin: 48px 0 0 auto;
}
.p-topQuestion__img{
    margin-top: 16px;
}
@media screen and (max-width: 767px) {
.p-topQuestion{
    padding-block: 60px;
}
.p-topQuestion__list{
    margin-top: 32px;
}
.p-topQuestion__summary{
    padding-block: 15px;
}
.p-topQuestion__contentsInner{
    padding-block: 15px 30px;
}
.p-topQuestion__contentsTitle{
    margin-bottom: 16px;
}
.p-topQuestion__btn{
    margin: 24px 0 0 auto;
}
}

/* ------------------------------------------------------------------
- バナー
------------------------------------------------------------------ */
.p-topBanner{
    padding-block: 100px;
}
.p-topBanner__list{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 30px;
}
.p-topBanner__item a{
    display: block;
}
.p-topBanner__item a img{
    transition: ease 0.4s;
}
@media screen and (min-width: 768px) {
    .p-topBanner__item a:hover img{
        opacity: 0.5;
    }
}
@media screen and (max-width: 767px) {
    .p-topBanner{
    padding-block: 60px;
}
}
