.comp-KV {
    background-color: #F7EAD0;
}

.comp-episode-70th {
    background-color: #F7EAD0;
}

.episode-70th-pagetabTitle {
    display: grid;
    justify-content: center;
    font-weight: 600;
    text-align: center;
}
.episode-70th-pagetabTitle .eng {
    color: #EB212E;
}
.episode-70th-pagetabTitle .jp {
    color: #333333;
}

.pagetab-toplist {
    display: grid;
}
.pagetab-toplist .__link {
    display: grid;
    grid-template-rows: minmax(0, 1fr) max-content;
    justify-content: center;
    text-decoration: none;
    height: 100%;
}
.pagetab-toplist .__link .__top .__text {
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-align: center;
}
.pagetab-toplist .__link:not(.__active) {
    background-color: #ffffff;
}
.pagetab-toplist .__link:not(.__active):hover {
    opacity: 0.7;
}
.pagetab-toplist .__link:not(.__active) .__top .__text {
    color: #333333;
}
.pagetab-toplist .__link:is(.__active) {
    pointer-events: none;
    background-color: #EB212E;
}
.pagetab-toplist .__link:is(.__active) .__top .__text {
    color: #ffffff;
}
.pagetab-toplist .__link .__top {
    display: grid;
    align-items: center;
}
.pagetab-toplist .__link .__bottom {
    display: grid;
    justify-content: center;
}


@media screen and (max-width: 768px) {
    .comp-KV {
        padding-block-end: 50px;
    }

    .comp-episode-70th {
        padding-block-start: 16px;
    }

    .episode-70th-pagetabTitle {
        row-gap: 5px;
        margin-block-end: 12px;
    }
    .episode-70th-pagetabTitle .eng {
        font-size: 1.3rem;
    }
    .episode-70th-pagetabTitle .jp {
        font-size: 1.5rem;
    }

    .pagetab-toplist {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .pagetab-toplist .__link {
        row-gap: 11px;
        border-radius: 14px;
        padding-block-start: 7px;
        padding-block-end: 14px;
    }
    .pagetab-toplist .__link .__top {
        grid-template-columns: 40px minmax(0, 1fr);
        column-gap: 7px;
        padding-block-start: 14px;
    }
    .pagetab-toplist .__link .__top .__text {
        font-size: 1.3rem;
    }
    .pagetab-toplist .__item:nth-of-type(1) .__bottom img {
        width: 50px;
    }
    .pagetab-toplist .__item:nth-of-type(2) .__bottom img {
        width: 140px;
    }
    .pagetab-toplist .__item:nth-of-type(3) .__bottom img {
        width: 137px;
    }
    .pagetab-toplist .__item:nth-of-type(4) .__bottom img {
        width: 100px;
    }
}

@media screen and (min-width: 769px) {
    .comp-episode-70th {
        padding-block-start: 80px;
    }

    .episode-70th-pagetabTitle {
        row-gap: 16px;
        margin-block-end: 20px;
    }
    .episode-70th-pagetabTitle .eng {
        font-size: 1.7rem;
    }
    .episode-70th-pagetabTitle .jp {
        font-size: 2.4rem;
    }

    .pagetab-toplist {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }
    .pagetab-toplist .__link {
        row-gap: 10px;
        border-radius: 20px;
        padding-block-start: 10px;
        padding-block-end: 20px;
    }
    .pagetab-toplist .__link .__top {
        grid-template-columns: 60px minmax(0, 1fr);
        column-gap: 16px;
        padding-block-start: 20px;
    }
    .pagetab-toplist .__link .__top .__text {
        font-size: 1.8rem;
    }
    .pagetab-toplist .__item:nth-of-type(1) .__bottom img {
        width: 70px;
    }
    .pagetab-toplist .__item:nth-of-type(2) .__bottom img {
        width: 148px;
    }
    .pagetab-toplist .__item:nth-of-type(3) .__bottom img {
        width: 185px;
    }
    .pagetab-toplist .__item:nth-of-type(4) .__bottom img {
        width: 136px;
    }
}

/* cont-episode-70th */
.cont-episode-70th {
    background-color: #FFF8EE;
}

.episode-70th-pageTitle {
    display: grid;
    align-items: center;
    width: max-content;
    margin-inline: auto;
}
.episode-70th-pageTitle .__text {
    color: #333333;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.1em;
}

.episode-70th-anchorlist {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-inline: auto;
}

@media screen and (max-width: 768px) {
    .cont-episode-70th {
        border-top-left-radius: 60px;
        border-top-right-radius: 60px;
        margin-block-start: -196px;
        padding-block-start: 236px;
        padding-block-end: 160px;
    }

    .episode-70th-pageTitle {
        row-gap: 20px;
        padding-block-start: 40px;
    }
    .episode-70th-pageTitle img {
        width: 60px;
        margin-inline: auto;
    }
    .episode-70th-pageTitle .__text {
        font-size: 2rem;
    }

    .episode-70th-anchorlist {
        max-width: 90vw;
        row-gap: 20px;
        column-gap: 30px;
        margin-block-start: 20px;
    }
    .episode-70th-anchorlist .__link {
        font-size: 1.2rem;
    }
}

@media screen and (min-width: 769px) {
    .cont-episode-70th {
        border-top-left-radius: 120px;
        border-top-right-radius: 120px;
        margin-block-start: -80px;
        padding-block-start: 180px;
        padding-block-end: 160px;
    }

    .episode-70th-pageTitle {
        grid-template-columns: 52px minmax(0, 1fr);
        column-gap: 20px;
        padding-block-start: 40px;
    }
    .episode-70th-pageTitle img {
        width: 52px;
    }
    .episode-70th-pageTitle .__text {
        font-size: 3.8rem;
    }

    .episode-70th-anchorlist {
        max-width: 824px;
        row-gap: 20px;
        column-gap: 30px;
        margin-block-start: 40px;
    }
    .episode-70th-anchorlist .__link {
        font-size: 1.6rem;
    }
}


/* episode-70th-section */
.episode-70th-section {}

.episode-70th-contents {
    position: relative;
    background-color: #ffffff;
}

.episode-70th-cntTitle {
    position: relative;
    display: grid;
    width: fit-content;
    max-width: 640px;
}
.episode-70th-cntTitle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-repeat: round;
}
.episode-70th-cntTitle .num {
    color: #999999;
    line-height: 1.3;
}
.episode-70th-cntTitle .jp {
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.1em;
}
.episode-70th-commentArea {
    display: grid;
    background-color: #F5F5F5;
}
.episode-70th-commentArea .episode-70th-commentTitle {
    color: #EB212E;
    font-weight: 600;
    line-height: 2;
}
.episode-70th-commentArea .episode-70th-commentText {
    font-weight: 300;
}
.episode-70th-contents-category {
    position: absolute;
    display: grid;
    align-items: flex-end;
    justify-content: center;
    grid-template-rows: minmax(0, 1fr) max-content;
    background-color: #ffffff;
    border-radius: 100%;
    text-decoration: none;
}
.episode-70th-contents .episode-70th-contents-category:hover {
    background-color: #EB212E;
}
.episode-70th-contents-category::before {
    content: "";
    position: absolute;
    display: block;
    border-radius: 100%;
}
.episode-70th-contents-category img {
    transition: filter 0.2s ease;
}
.episode-70th-contents .episode-70th-contents-category:hover img {
    filter: brightness(0) invert(1);
}
.episode-70th-contents-category .__text {
    color: #EB212E;
    font-weight: 600;
    text-align: center;
}
.episode-70th-contents .episode-70th-contents-category:hover .__text {
    color: #ffffff;
}

@media screen and (max-width: 768px) {
    .episode-70th-section {
        padding-block-end: 100px;
    }

    .episode-70th-contents {
        border-top-left-radius: 60px;
        border-inline-start: 4px solid #EB212E;
        border-block-start: 4px solid #EB212E;
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
        margin-block-start: 100px;
        padding-inline: 16px;
        padding-block-start: 40px;
        padding-block-end: 30px;
    }
    .episode-70th-cntTitle {
        row-gap: 10px;
        margin-block-end: 15px;
        padding-block-end: 12px;
    }
    .episode-70th-cntTitle::after {
        width: 100%;
        height: 6px;
        background-image: radial-gradient(circle, #E4032E 18%, transparent 22%), radial-gradient(circle, #1B3D8F 18%, transparent 22%);
        background-size: 30px 6px, 30px 6px;
        background-position: 5px 0, 20px 0;
    }
    .episode-70th-cntTitle .num {
        font-size: 2.4rem;
    }
    .episode-70th-cntTitle .jp {
        font-size: 1.8rem;
    }
    .episode-70th-cntText {
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .episode-70th-commentArea {
        row-gap: 10px;
        border-radius: 24px;
        margin-block-start: 20px;
        padding-inline: 30px;
        padding-block: 30px;
    }
    .episode-70th-commentArea .episode-70th-commentTitle {
        font-size: 1.4rem;
    }
    .episode-70th-commentArea .episode-70th-commentText {
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .episode-70th-contents-category {
        top: -89px;
        right: 0;
        row-gap: 5px;
        box-shadow: 5px 6px 0 0 #F4DCAD;
        width: 156px;
        height: 156px;
        padding-block-end: 18px;
    }
    .episode-70th-contents-category::before {
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
        width: 156px;
        height: 156px;
    }
    .episode-70th-contents-category img {
        width: 100px;
    }
    .episode-70th-contents-category:is(.category_knife) img {
        width: 110px;
    }
    .episode-70th-contents-category:is(.category_blender) img {
        width: 110px;
    }
    .episode-70th-contents-category .__text {
        font-size: 0.9rem;
    }
}

@media screen and (min-width: 769px) {
    .episode-70th-section {
        padding-block-end: 180px;
    }

    .episode-70th-contents {
        border-top-left-radius: 80px;
        border-inline-start: 6px solid #EB212E;
        border-block-start: 6px solid #EB212E;
        box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
        margin-block-start: 160px;
        padding-block-end: 30px;
    }
    .episode-70th-contents:nth-child(even) {
        margin-inline-start: 12%;
    }
    .episode-70th-contents:nth-child(odd) {
        margin-inline-end: 12%;
    }
    .episode-70th-contents:is(#cnt1) {
        padding-inline: 120px;
        padding-block-start: 43px;
        margin-inline-end: 0;
    }
    .episode-70th-contents:not(#cnt1) {
        padding-inline: 50px;
        padding-block-start: 50px;
    }
    .episode-70th-cntTitle {
        row-gap: 10px;
        margin-block-end: 35px;
        padding-block-end: 12px;
    }
    .episode-70th-cntTitle::after {
        width: 100%;
        height: 8px;
        background-image: radial-gradient(circle, #E4032E 24%, transparent 26%), radial-gradient(circle, #1B3D8F 24%, transparent 26%);
        background-size: 30px 8px, 30px 8px;
        background-position: 5px 0px, 20px 0;
    }
    .episode-70th-cntTitle .num {
        font-size: 3rem;
    }
    .episode-70th-cntTitle .jp {
        font-size: 3.2rem;
    }
    .episode-70th-cntText {
        font-size: 1.8rem;
        line-height: 2;
    }
    .episode-70th-commentArea {
        row-gap: 10px;
        border-radius: 24px;
        margin-block-start: 40px;
        padding-inline: 30px;
        padding-block: 30px;
    }
    .episode-70th-commentArea .episode-70th-commentTitle {
        font-size: 1.4rem;
    }
    .episode-70th-commentArea .episode-70th-commentText {
        font-size: 1.6rem;
        line-height: 2;
    }
    .episode-70th-contents-category {
        top: -116px;
        right: 114px;
        row-gap: 8px;
        box-shadow: 5px 6px 0 0 #F4DCAD;
        width: 224px;
        height: 224px;
        padding-block-end: 18px;
    }
    .episode-70th-contents-category::before {
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
        width: 224px;
        height: 224px;
    }
    .episode-70th-contents-category img {
        width: 133px;
    }
    .episode-70th-contents-category:is(.category_knife) img {
        width: 145px;
    }
    .episode-70th-contents-category:is(.category_blender) img {
        width: 155px;
    }
    .episode-70th-contents-category .__text {
        font-size: 1.4rem;
    }
}

/* toggle */
.toggle-wrap {
    text-align: center;
    margin-top: 32px;
}
.toggle-wrap .toggle-btn {
    background:none;
    border:none;
    cursor:pointer;
    color:#EB212E;
    font-size: 1.4rem;
    font-weight:300;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    padding: 6px 12px;
}
.chevron{
    width: 26px;
    height: 26px;
    border-right:2px solid #EB212E;
    border-bottom:2px solid #EB212E;
    transform:rotate(45deg);
    transition:transform 0.4s ease;
    margin-top:-2px;
}
.toggle-btn.open .chevron{
    transform:rotate(225deg);
    margin-top:4px;
}
.text-block{
    --collapsed: 92px;
    height:var(--collapsed);
    overflow:hidden;
    transition:height 0.4s ease;
}

.text-block p:last-child {
    margin-bottom:0;
}

@media screen and (max-width: 768px) {}

@media screen and (min-width: 769px) {}

/* pagetab-bottomTitle */
.pagetab-bottomTitle {
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-block-end: 30px;
    text-align: center;
}

.pagetab-bottomlist {
    display: grid;
    margin-inline: auto;
}
.pagetab-bottomlist .__link {
    display: grid;
    align-items: center;
    justify-content: center;
    height: 100%;
    background-color: #ffffff;
    background-image: url(https://gsj-stg.front.cloudec.jp/img/contents/brand-70th-episode/arrow-right.svg);
    background-repeat: no-repeat;
    text-decoration: none;
}
.pagetab-bottomlist .__link:hover {
    background-color: #EB212E;
    background-image: url(https://gsj-stg.front.cloudec.jp/img/contents/brand-70th-episode/arrow-right_hv.svg);
}
.pagetab-bottomlist .__link .__left {
    display: grid;
}
.pagetab-bottomlist .__link .__left img {
    grid-row: 1;
    grid-column: 1;
}
.pagetab-bottomlist .__link .__left .__hover {
    opacity: 0;
}
.pagetab-bottomlist .__link:hover .__left img:not(.__hover) {
    opacity: 0;
}
.pagetab-bottomlist .__link:hover .__left img:is(.__hover) {
    opacity: 1;
}
.pagetab-bottomlist .__link .__right {
    display: grid;
    grid-template-rows: max-content max-content;
}
.pagetab-bottomlist .__link .__right .__text {
    grid-row: 1;
    grid-column: 1;
    font-weight: 600;
    text-align: center;
}
.pagetab-bottomlist .__link:hover .__right .__text {
    color: #ffffff;
}
.pagetab-bottomlist .__link .__right img {
    grid-row: 2;
    grid-column: 1;
    margin-inline: auto;
}
.pagetab-bottomlist .__link .__right .__hover {
    opacity: 0;
}
.pagetab-bottomlist .__link:hover .__right img:not(.__hover) {
    opacity: 0;
}
.pagetab-bottomlist .__link:hover .__right img:is(.__hover) {
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .pagetab-bottomTitle {
        font-size: 2rem;
    }

    .pagetab-bottomlist {
        row-gap: 10px;
        padding-block-end: 100px;
    }
    .pagetab-bottomlist .__link {
        grid-template-columns: 40px max-content;
        column-gap: 15px;
        box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        background-size: 6px 14px;
        background-position: center right 10px;
        padding-block: 20px;
        padding-inline: 16px;
    }
    .pagetab-bottomlist .__link .__right .__text {
        font-size: 1.5rem;
    }
    .pagetab-bottomlist .__link .__right img {
        width: auto;
        height: 21px;
    }
}

@media screen and (min-width: 769px) {
    .pagetab-bottomTitle {
        font-size: 2rem;
    }

    .pagetab-bottomlist {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 20px;
        max-width: 880px;
        padding-block-end: 180px;
    }
    .pagetab-bottomlist .__link {
        grid-template-columns: 40px max-content;
        column-gap: 15px;
        box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
        border-radius: 10px;
        background-size: 6px 14px;
        background-position: center right 10px;
        padding-block: 20px;
        padding-inline: 30px;
    }
    .pagetab-bottomlist .__link .__right .__text {
        font-size: 1.5rem;
    }
    .pagetab-bottomlist .__link .__right img {
        width: auto;
        height: 21px;
    }
}

/* cont-campaign */
.cont-campaign {}

@media screen and (max-width: 768px) {
    .campaign-banner {
        box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
        margin-block: 40px;
    }
}

@media screen and (min-width: 769px) {
    .campaign-banner {
        box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
        margin: 40px;
    }
    .cont-campaign .c-btn {
        margin-block-start: 30px;
    }
}
