/* reset */
/* Lists */
:where(.seasonal-food-calendar-contents) ul,
:where(.seasonal-food-calendar-contents) ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* //reset */
:root {
    --black: #000;
    --white: #fff;
    --imizu-blue: #3C66C4;
    --imizu-orange: #FA8A16;
}

:where(.seasonal-food-calendar-contents) a {
    text-decoration: none;
    transition: opacity 0.3s ease;
}

:where(.seasonal-food-calendar-contents) p {
    font-weight: 500;
}

@media (hover: hover) and (pointer: fine) {
    :where(.seasonal-food-calendar-contents) a:hover {
        opacity: 0.85;
    }
}


/* //既存要素の上書き */
.page-wrapper {
    padding-inline: 0;
    padding-bottom: 0;
    background-position: center top;
    background-image: url(../img/common/wave-orange.svg);
}

@media screen and (max-width: 768px) {
    .page-wrapper {
        background-image: url(../img/imizu-unique/seasonal-food-calendar/wave-orange-sp.svg);
        background-size: auto 35px;
        margin-top: -20px;
    }
}

.hr-wave-bottom {
    display: block;
    width: 100%;
    height: 39px;
    margin: 0 0 120px;
    border: 0;
    background-image: url(../img/imizu-unique/seasonal-food-calendar/wave-orange.svg);
    background-repeat: repeat-x;
    background-size: auto 39px;
    background-position: left calc(100% + 1px);
}

@media screen and (max-width: 768px) {
    .hr-wave-bottom {
        height: 29px;
        background-size: auto 30.8px;
        margin: 0 0 30px;
    }
}

.toc-toggle::before {
    --toc-icon-w: 49px;
    --toc-icon-h: 54px;
    top: -40px;
    right: 30px;
    background-image: url("../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_contents@2x.png");
}

/* レイアウト */
.unique-lower-container-1 {
    --max-inner-width: 1080px;
    --gutter-x: 32px;
    max-width: calc(var(--max-inner-width) + var(--gutter-x) * 2);
    margin-inline: auto;
    padding-left: var(--gutter-x);
    padding-right: var(--gutter-x);
}

@media screen and (max-width: 768px) {
    .unique-lower-container-1 {
        --gutter-x: 15px;
    }
}

.unique-lower-container-2 {
    --max-inner-width: 760px;
    --gutter-x: 32px;
    max-width: calc(var(--max-inner-width) + var(--gutter-x) * 2);
    margin-inline: auto;
    padding-top: 80px;
    padding-left: var(--gutter-x);
    padding-right: var(--gutter-x);
}
@media screen and (max-width: 768px) {
    .unique-lower-container-2 {
        --gutter-x: 15px;
        padding-top: 20px;
    }
}

/* ユーティリティ */
.bg-grid {
    background: var(--white) url(../img/imizu-unique/seasonal-food-calendar/bg-grid.png) repeat top center/72px;
}

.d-block {
    display: block;
}

.d-inline-block {
    display: inline-block;
}

.pc-inline-block {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .pc-inline-block {
        display: none;
    }
}

.sp-inline-block {
    display: none;
}

@media screen and (max-width: 768px) {
    .sp-inline-block {
        display: inline-block;
    }
}

.pc-block {
    display: block;
}

@media screen and (max-width: 992px) {
    .tab-none {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .pc-block {
        display: none;
    }
}

.sp-block {
    display: none;
}

@media screen and (max-width: 768px) {
    .sp-block {
        display: block;
    }
}

.d-inline-block {
    display: inline-block;
}

.px-basic {
    padding-inline: 18px;
}

.mx-auto {
    margin-inline: auto;
}

.my-0 {
    margin-block: 0;
}


.mt-0 {
    margin-top: 0;
}

.mt-16 {
    margin-top: 16px;
}
.mt-pc-60 {
    margin-top: 60px;
}

@media screen and (max-width: 768px) {
    .mt-sp-0 {
        margin-top: 0;
    }
    .mt-pc-60 {
        margin-top: 0;
    }
}

.mb-0 {
    margin-bottom: 0;
}

.mb-12 {
    margin-bottom: 12px;
}

.mb-38 {
    margin-bottom: 38px;
}

.mb-46 {
    margin-bottom: 46px;
}

.mb-72 {
    margin-bottom: 72px;
}

.mb-105 {
    margin-bottom: 105px;
}

.mb-122 {
    margin-bottom: 122px;
}

.mb-126 {
    margin-bottom: 126px;
}

@media screen and (max-width: 768px) {
    .mb-sp-23 {
        margin-bottom: 23px;
    }

    .mb-sp-46 {
        margin-bottom: 46px;
    }

    .mb-sp-50 {
        margin-bottom: 50px;
    }

    .mb-sp-56 {
        margin-bottom: 56px;
    }
}

.br-10 {
    border-radius: 10px;
}

.br-20 {
    border-radius: 20px;
}

.text-center {
    text-align: center;
}

/* .child-fv */
.child-fv {
    z-index: 10;
    position: relative;
    height: 520px;
    background: url(../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_bg.webp) no-repeat;
}

.child-fv::after {
    position: absolute;
    top: -32px;
    left: 0;
    width: 100%;
    height: 77px;
    content: "";
    background: url(../img/imizu-unique/seasonal-food-calendar/child-fv__wave.png) repeat-x left top/contain;
    z-index: 11;
}

.child-fv .unique-lower-container-1 {
    position: relative;
    width: 90%;
    height: 100%;
}

.child-fv__ttl-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 452px;
    padding: 140px 20px 40px 10px;
    border-bottom-left-radius: 22px;
    border-bottom-right-radius: 22px;
    background: var(--imizu-orange) url(../img/imizu-unique/seasonal-food-calendar/child-fv__ttl-dot.png) repeat top center;
}

.child-fv__ttl {
    display: flex;
    flex-direction: column;
    margin-left: 10px;
}

.child-fv__ttl-jp {
    margin-block: 0;
    font-size: 30px;
}

.child-fv__ttl-kana {
    font-size: 14px;
    font-weight: 500;
    margin: 0;
    margin-top: -4px;
}

.child-fv__ttl-jp__icon {
    width: 44px;
    margin-top: 4px;
}

.child-fv__ttl-jp__icon img {
    display: block;
    vertical-align: top;
}

.child-fv__lead {
    position: absolute;
    right: 37px;
    bottom: 30px;
    margin-block: 0;
    line-height: 1.7826086957;
    text-align: right;
}

.child-fv__lead-line {
    font-size: 23px;
    font-weight: 700;
    padding-left: 0.3043478261em;
    padding-right: 0;
    background-color: var(--white);
    box-decoration-break: clone;
}
@media screen and (min-width: 993px) {
    .child-fv {
        background-size: 100%;
        background-position-x: 0;
        background-position-y: 33%;
    }
}

@media screen and (max-width: 992px) {
    .child-fv {
        background-size: 100%;
        background-position-x: 50%;
        background-position-y: 50%;
    }

    .child-fv::after {
        display: none;
    }

    .child-fv__ttl-wrap {
        padding-top: 35px;
    }

}

@media screen and (max-width: 768px) {
    .child-fv {
        min-height: 0;
        height: 340px;
        max-height: none;
        background-size: 105%;
        background-position-x: 52%;
        background-position-y: 30%;
    }

    .child-fv .unique-lower-container-1 {
        width: 100%;
    }

    .child-fv__ttl-wrap {
        max-width: 290px;
        margin-inline: auto;
        padding: 20px;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        padding-right: 26px;
        gap: 0px;
    }

    .child-fv__ttl {
        align-items: start;
    }

    .child-fv__ttl-jp__icon {
        width: 38px;
        margin-top: 0px;
    }

    .child-fv__ttl-jp {
        font-size: 24px;
        line-height: 1.4230769231;
        margin-bottom: 2px;
    }

    .child-fv__ttl-kana {
        margin-top: 3px;
        font-size: 14px;
        line-height: 1;
        padding-left: 0;
    }

    .child-fv__lead {
        right: 16px;
        bottom: 31px;
        font-size: 17px;
        text-align: right;
    }

    .child-fv__lead-line {
        padding-right: 0;
        line-height: 2;
        font-size: 17px;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }

    .child-fv__map {
        display: none;
    }

    .child-fv+.hr-wave-bottom {
        height: 29px;
        background-position-y: calc(100% + 0.5px);
        background-size: auto 29px;
    }
}

/* seasonal-food-calendar01 */
#seasonal-food-calendar01 {
    padding: 80px 0 140px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    #seasonal-food-calendar01 {
        padding: 0 0 80px;
    }
}

/* seasonal-food-calendar02 */
#seasonal-food-calendar02 {
    background-color: #FFF6F1;
    padding-bottom: 100px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    #seasonal-food-calendar04 {
        padding-bottom: 100px;
    }
}

/* seasonal-food-calendar__content01 */
.seasonal-food-calendar__content01 {
    max-width: 980px;
    margin: 100px auto 0;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__content01 {
        max-width: 100%;
        margin-top: 40px;
    }
}

/* seasonal-food-calendar__content02 */
@media screen and (min-width: 769px) {
    .seasonal-food-calendar__content02 {
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        width: min(calc(100% + 90px), calc(100vw - 64px));
    }
}

/* seasonal-food-calendar__content03 */
.seasonal-food-calendar__content03 {
    max-width: 1000px;
    margin: 110px auto 0;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__content03 {
        max-width: 100%;
        margin-top: 40px;
    }
}

/* seasonal-food-calendar__media */
.seasonal-food-calendar__media {
    display: grid;
    grid-template: "cnt img " auto/45% 48%;
    justify-content: space-between;
}

.seasonal-food-calendar__media > .seasonal-food-calendar__image {
    grid-area: img;
    margin-bottom: 0;
}

.seasonal-food-calendar__media__cnt {
    grid-area: cnt;
}

.seasonal-food-calendar__media__cnt > .seasonal-food-calendar__text {
    margin: 0;
}

@media screen and (max-width: 992px) {
    .seasonal-food-calendar__media {
        display: block;
    }

    .seasonal-food-calendar__media > .seasonal-food-calendar__ttl-wrap {
        margin-bottom: 28px;
    }
    .seasonal-food-calendar__media > .seasonal-food-calendar__image {
        margin-bottom: 28px;
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__media > .seasonal-food-calendar__ttl-wrap {
        margin-bottom: 20px;
    }
    .seasonal-food-calendar__media__cnt > .seasonal-food-calendar__text {
        margin: 20px 0 0;
    }
}

/* seasonal-food-calendar__media-v2 */
.seasonal-food-calendar__media-v2 {
    display: grid;
    grid-template-columns: 75% 13%;
    grid-template-areas:
        "cnt img"
        "list img";
    align-items: start;
    max-width: 1000px;
    margin: 100px auto 0;
}

.seasonal-food-calendar__media-v2__cnt {
    grid-area: cnt;
}

.seasonal-food-calendar__media-v2__lead {
    font-size: 24px;
    font-weight: bold;
    color: #3C66C4;
    margin: 0 0 20px 0;
}

.seasonal-food-calendar__media-v2__text {
    font-size: 17px;
    line-height: 1.9;
    margin: 0;
}

.seasonal-food-calendar__media-v2__image {
    grid-area: img;
    position: relative;
    margin: 0 auto;
}

.seasonal-food-calendar__media-v2__image::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 35px;
    background: #e0f2f7;
    border-radius: 50%;
    z-index: -1;
}

.seasonal-food-calendar__media-v2__image img {
    vertical-align: top;
}

.seasonal-food-calendar__media-v2__image__bubble {
    position: absolute;
    top: -50px;
    right: -140px;
    width: 160px;
    height: 100px;
    background: url('../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_bubble01.svg') no-repeat center / contain;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}

.seasonal-food-calendar__media-v2__image__bubble__text {
    font-size: 17px;
    line-height: 1.4;
    transform: rotate(10deg);
    padding-bottom: 10px;
}

.seasonal-food-calendar__media-v2__list-wrap {
    grid-area: list;
}

.seasonal-food-calendar__media-v2__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.seasonal-food-calendar__media-v2__list li {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 17px;
    font-weight: 500;
    color: #284679;
}

@media screen and (max-width: 992px) {
    .seasonal-food-calendar__media-v2 {
        grid-template-columns: 100%;
        grid-template-areas:
            "cnt"
            "img"
            "list";
        gap: 50px;
    }
    .seasonal-food-calendar__media-v2__image {
        width: 130px;
        transform: translate(-70px, 16px);
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__media-v2 {
        max-width: 100%;
        margin-top: 50px;
    }

    .seasonal-food-calendar__media-v2__list {
        flex-direction: column;
        gap: 5px;
    }
}

/* seasonal-food-calendar__ttl */
.seasonal-food-calendar__ttl-wrap {
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    margin-bottom: 90px;
}

.seasonal-food-calendar__ttl {
    margin-block: 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--imizu-orange);
    line-height: 1.6;
    display: flex;
    align-items: center;
}

.seasonal-food-calendar__ttl__text {
    display: inline-block;
}

.seasonal-food-calendar__ttl__num {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1.4166666667em;
    height: 1.4166666667em;
    margin-left: 0.3em;
    padding-right: 0.12em;
    border-radius: 100em;
    font-family: "Fugaz One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1em;
    color: var(--black);
    background-color: var(--imizu-orange);
}

.seasonal-food-calendar__ttl-wave {
    margin: 0;
    padding-bottom: 9px;
    background: url("../img/imizu-unique/seasonal-food-calendar/line-wave-orange.svg") repeat-x center bottom/auto 6.2px;
    font-size: 30px;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__ttl-wrap {
        margin-bottom: 20px;
        text-align: center;
    }
    .seasonal-food-calendar__ttl {
        justify-content: center;
        font-size: 20px;
    }
    .seasonal-food-calendar__ttl-wave {
        padding-bottom: 7px;
        font-size: 22px;
    }
}

/* --- seasonal-food-calendar__ttl-v2 --- */
.seasonal-food-calendar__ttl-v2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    margin-bottom: 30px;
}

.seasonal-food-calendar__ttl-v2__head,
.seasonal-food-calendar__ttl-v2__head--reverse {
    display: flex;
    gap: 15px;
}

.seasonal-food-calendar__ttl-v2__icon {
    width: auto;
    height: 70px;
    object-fit: contain;
}

.seasonal-food-calendar__ttl-v2__text > .ttl-ja {
    margin: 0;
    color: #284679;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.1;
}

.seasonal-food-calendar__ttl-v2__text >  .ttl-en {
    margin: 5px 0 0;
    color: #284679;
    font-family: "Fugaz One", sans-serif;
    font-size: 24px;
    line-height: 1.1;
}

.seasonal-food-calendar__ttl-v2__body {
    text-align: right;
    color: #333;
}

.seasonal-food-calendar__ttl-v2__item-wrap {
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
}

.seasonal-food-calendar__ttl-v2__item--season {
    display: flex;
    align-items: center;
    gap: 6px;
}

.seasonal-food-calendar__ttl-v2__item--season::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 18px;
    background-color: #3C66C4;
}

.seasonal-food-calendar__ttl-v2__item--peak {
    display: flex;
    align-items: center;
    gap: 6px;
}

.seasonal-food-calendar__ttl-v2__item--peak::before {
    content: "◎";
    color: #3C66C4;
    font-size: 15px;
    font-weight: normal;
}

.seasonal-food-calendar__ttl-v2__note {
    margin: 0;
    font-size: 12px;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__ttl-v2 {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .seasonal-food-calendar__ttl-v2__head {
        flex-flow: column;
        align-items: center;
        width: 100%;
    }

    .seasonal-food-calendar__ttl-v2__head--reverse {
        flex-flow: column-reverse;
        align-items: center;
        width: 100%;
    }

    .seasonal-food-calendar__ttl-v2__icon {
        height: 60px;
    }

    .seasonal-food-calendar__ttl-v2__body {
        margin-top: 20px;
    }

    .seasonal-food-calendar__ttl-v2__item-wrap {
        justify-content: flex-start;
        gap: 5px;
    }

    .seasonal-food-calendar__ttl-v2__item--season {
        font-size: 16px;
        gap: 4px;
    }

    .seasonal-food-calendar__ttl-v2__item--season::before {
        width: 24px;
        height: 21px;
    }

    .seasonal-food-calendar__ttl-v2__item--peak {
        font-size: 16px;
    }

    .seasonal-food-calendar__ttl-v2__item--peak::before {
        font-size: 18px;
        gap: 4px;
    }

    .seasonal-food-calendar__ttl-v2__note {
        font-size: 14px;
        line-height: 1.6;
    }
}

@media screen and (max-width: 374px) {
    .seasonal-food-calendar__ttl-v2__item-wrap {
        flex-flow: column;
    }
}

/* --- seasonal-food-calendar__ttl-v3 --- */
.seasonal-food-calendar__ttl-v3 {
    margin-top: 60px;
}

.seasonal-food-calendar__ttl-v3__check {
    font-size: 19px;
    font-family: "Fugaz One", sans-serif;
    margin: 0 0 10px;
    text-align: center;
    line-height: 1.6;
}

.seasonal-food-calendar__ttl-v3__text {
    font-size: 20px;
    font-weight: bold;
    color: #3C66C4;
    margin: 0;
    text-align: center;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__ttl-v3__check {
        font-size: 35px;
    }

    .seasonal-food-calendar__ttl-v3__text {
        font-size: 22px;
    }
}

/* --- seasonal-food-calendar__ttl-v4 --- */
.seasonal-food-calendar__ttl-v4 {
    position: relative;
    margin: 0 0 30px;
    padding-left: 40px;
}

.seasonal-food-calendar__ttl-v4::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 26px;
    top: 10px;
    left: 0;
    background: url('../img/imizu-unique/seasonal-food-calendar/icon-heart-orange.svg') no-repeat center / contain;
}

.seasonal-food-calendar__ttl-v4__text {
    font-size: 24px;
    font-weight: bold;
    color: #3C66C4;
    margin: 0;
    line-height: 1.8;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__ttl-v4 {
        margin: 0 0 20px;
        padding-left: 35px;
    }

    .seasonal-food-calendar__ttl-v4__text {
        font-size: 22px;
        line-height: 1.5;
    }
}

/* --- seasonal-food-calendar__ttl-v5 --- */
.seasonal-food-calendar__ttl-v5 {
    position: relative;
    margin: 0 0 30px;
    padding-left: 40px;
}

.seasonal-food-calendar__ttl-v5::before {
    position: absolute;
    content: "";
    width: 30px;
    height: 26px;
    top: 10px;
    left: 0;
    background: url('../img/imizu-unique/seasonal-food-calendar/icon-heart-orange.svg') no-repeat center / contain;
}

.seasonal-food-calendar__ttl-v5__text {
    font-size: 24px;
    font-weight: bold;
    color: #3C66C4;
    margin: 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__ttl-v5 {
        margin: 0 0 30px;
        padding-left: 0;
        text-align: center;
    }

    .seasonal-food-calendar__ttl-v5__text {
        font-size: 22px;
        line-height: 1.5;
    }

    .seasonal-food-calendar__ttl-v5::before {
        display: none;
    }
}

/* seasonal-food-calendar__lead */
.seasonal-food-calendar__lead {
    margin: 0 0 10px;
    font-weight: bold;
    font-size: 20px;
    color: #3C66C4;
    line-height: 1.6;
    text-align: left;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__lead {
        font-size: 22px;
    }
}

/* seasonal-food-calendar__text */
.seasonal-food-calendar__text {
    margin: 10px 0 0 0;
}

/* seasonal-food-calendar__image */
.seasonal-food-calendar__image {
    margin: 0 0 40px 0;
    overflow: hidden;
    text-align: center;
}

.seasonal-food-calendar__image img{
    width: 100%;
    object-fit: cover;
    aspect-ratio: 524/350;
    vertical-align: top;
}

.seasonal-food-calendar__image__caption {
    text-align: center;
    font-size: 14px;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__image {
        margin: 0 0 25px 0;
    }
}

/* seasonal-food-calendar__btn */
.seasonal-food-calendar__btn-wrap {
    display: flex;
    gap: 15px;
    margin-top: 15px;
}

.seasonal-food-calendar__btn__type {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #3C66C4;
    color: #fff;
    text-decoration: none;
    min-width: 224px;
    min-height: 32px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 18px;
    position: relative;
    padding: 0 40px 0 20px;
    box-sizing: border-box;
}
.seasonal-food-calendar__btn__type::after {
    content: "";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    background-image: url('../img/common/btn-white.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__btn-wrap {
        gap: 10px;
    }

    .seasonal-food-calendar__btn {
        width: calc((100% - 10px) / 2);
    }

    .seasonal-food-calendar__btn__type {
        width: 100%;
        min-width: auto;
        min-height: 50px;
        border-radius: 40px;
        font-size: 15px;
        padding: 0 40px 0 10px;
    }

    .seasonal-food-calendar__btn__label {
        text-align: center;
        line-height: 1.1;
    }
}

/* seasonal-food-calendar__btn-v2 */
.seasonal-food-calendar__btn-v2-wrap {
    display: flex;
    justify-content: center;
    gap: 78px;
    margin-top: 80px;
}

.seasonal-food-calendar__btn-v2 {
    min-width: 396px;
}

.seasonal-food-calendar__btn-v2__text {
    color: var(--imizu-orange);
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 9px 0;
}

.seasonal-food-calendar__btn-v2__link {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: 100%;
    min-height: 74px;
    border-radius: 100em;
    text-decoration: none;
    text-align: center;
    color: var(--black);
    line-height: 1.6;
    background-color: var(--imizu-orange);
    padding: 5px 60px;
    font-size: 22px;
    font-weight: 700;
    transition: opacity 0.3s ease;
}

.seasonal-food-calendar__btn-v2__link::after {
    content: "";
    position: absolute;
    width: 1.4411764706em;
    height: 1.4411764706em;
    right: 0.7941176471em;
    background: url(../img/common/btn-white.svg) no-repeat center/contain;
}

.seasonal-food-calendar__btn-v2__caption {
    font-size: 15px;
}

@media screen and (max-width: 992px) {
    .seasonal-food-calendar__btn-v2 {
        min-width: auto;
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__btn-v2-wrap {
        flex-direction: column;
        gap: 10px;
        margin-top: 40px;
    }

    .seasonal-food-calendar__btn-v2 {
        width: 100%;
    }

    .seasonal-food-calendar__btn-v2__text {
        font-size: 18px;
        margin: 0 0 5px 0;
    }

    .seasonal-food-calendar__btn-v2__link {
        padding: 14px 60px 17px 50px;
        width: 100%;
    }
}

@media screen and (max-width: 390px) {
    .seasonal-food-calendar__btn-v2__link {
        padding: calc(10 * 100vw / 390) calc(60 * 100vw / 390) calc(10 * 100vw / 390) calc(50 * 100vw / 390);
        font-size: calc(22 * 100vw / 390);
    }
}

/* seasonal-food-calendar__table */
.seasonal-food-calendar__table-wrap {
    border: 2px solid #0D3A64;
    border-radius: 10px;
    overflow: hidden;
}

.seasonal-food-calendar__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    line-height: 1.2;
    table-layout: fixed;
}

.seasonal-food-calendar__table__w--fish {
    width: 200px;
}

.seasonal-food-calendar__table__w--month {
    width: calc((100% - 200px) / 12);
}

.seasonal-food-calendar__table__cell--lv1 {
    border-right: 2px solid #0D3A64;
    border-bottom: 2px solid #0D3A64;
    padding: 13px 5px;
    color: #1d365d;
    background-color: #fff;
    font-size: 14px;
    font-weight: 500;
    box-sizing: border-box;
}

.seasonal-food-calendar__table__cell--lv1:first-child {
    padding: 13px 25px;
    font-size: 15px;
    font-weight: bold;
    text-align: left;
}

.seasonal-food-calendar__table__cell--lv1:last-child {
    border-right: none;
}

.seasonal-food-calendar__table__cell--lv1 > .num {
    font-size: 18px;
    font-family: "Fugaz One", sans-serif;
}

.seasonal-food-calendar__table__cell {
    position: relative;
    padding: 13px 10px;
    text-align: center;
    border-bottom: 1px solid #fff;
    box-sizing: border-box;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    box-sizing: border-box;
}

.seasonal-food-calendar__table__cell:first-child {
    border-right: 2px solid #0D3A64;
    border-bottom: 2px solid #0D3A64;
    color: #000;
    text-align: left;
    font-size: 15px;
    font-weight: bold;
}

[class^="seasonal-food-calendar__table__row"]:last-child > .seasonal-food-calendar__table__cell {
    border-bottom: none;
}

.seasonal-food-calendar__table__cell:nth-child(n+2):before {
    content: "";
    position: absolute;
    top: 0;
    right: 0px;
    width: 2px;
    height: 100%;
    border-right: 2px dotted #0D3A64;
    z-index: 1;
}

.seasonal-food-calendar__table__cell:last-child:before {
    border-right: none;
}

.seasonal-food-calendar__table__cell.season,
.seasonal-food-calendar__table__cell.season--early,
.seasonal-food-calendar__table__cell.season--later {
    background: linear-gradient(to bottom,
        transparent 25%,
        #3C66C4 25%,
        #3C66C4 75%,
        transparent 75%
    );
    background-repeat: no-repeat;
    position: relative;
}

.seasonal-food-calendar__table__cell.season--early {
    background-size: 50% 100%;
    background-position: left center;
}
.seasonal-food-calendar__table__cell.season--later {
    background-size: 50% 100%;
    background-position: right center;
}

.seasonal-food-calendar__table__row--01 { background-color: #FFEFE9; }
.seasonal-food-calendar__table__row--01 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF7E4E; }
.seasonal-food-calendar__table__row--02 { background-color: #FFDBCE; }
.seasonal-food-calendar__table__row--02 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF5112; color: #fff; }
.seasonal-food-calendar__table__row--03 { background-color: #FFF0F1; }
.seasonal-food-calendar__table__row--03 > .seasonal-food-calendar__table__cell:first-child { background-color: #FFC9CC; }
.seasonal-food-calendar__table__row--04 { background-color: #FFE4E3; }
.seasonal-food-calendar__table__row--04 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF9A9A; }
.seasonal-food-calendar__table__row--05 { background-color: #FFDEF6; }
.seasonal-food-calendar__table__row--05 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF84DE; }
.seasonal-food-calendar__table__row--06 { background-color: #C7CAD8; }
.seasonal-food-calendar__table__row--06 > .seasonal-food-calendar__table__cell:first-child { background-color: #303C6E; color: #fff; }
.seasonal-food-calendar__table__row--07 { background-color: #E6EBFF; }
.seasonal-food-calendar__table__row--07 > .seasonal-food-calendar__table__cell:first-child { background-color: #A2B4FF; }
.seasonal-food-calendar__table__row--08 { background-color: #FFD4BC; }
.seasonal-food-calendar__table__row--08 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF5F0B; }
.seasonal-food-calendar__table__row--09 { background-color: #FFD9D9; }
.seasonal-food-calendar__table__row--09 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF7474; color: #fff; }
.seasonal-food-calendar__table__row--10 { background-color: #FFE4D0; }
.seasonal-food-calendar__table__row--10 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF9C52; }
.seasonal-food-calendar__table__row--11 { background-color: #FFF0C0; }
.seasonal-food-calendar__table__row--11 > .seasonal-food-calendar__table__cell:first-child { background-color: #FFCA19; }
.seasonal-food-calendar__table__row--12 { background-color: #EEE4FF; }
.seasonal-food-calendar__table__row--12 > .seasonal-food-calendar__table__cell:first-child { background-color: #C19BFF; }
.seasonal-food-calendar__table__row--13 { background-color: #D8F7FF; }
.seasonal-food-calendar__table__row--13 > .seasonal-food-calendar__table__cell:first-child { background-color: #6EE3FF; }
.seasonal-food-calendar__table__row--14 { background-color: #F5FAFF; }
.seasonal-food-calendar__table__row--14 > .seasonal-food-calendar__table__cell:first-child { background-color: #72BEFE; }
.seasonal-food-calendar__table__row--15 { background-color: #EBEFEF; }
.seasonal-food-calendar__table__row--15 > .seasonal-food-calendar__table__cell:first-child { background-color: #B4C4C6; }
.seasonal-food-calendar__table__row--16 { background-color: #D5DCFB; }
.seasonal-food-calendar__table__row--16 > .seasonal-food-calendar__table__cell:first-child { background-color: #637DF0; color: #fff; }
.seasonal-food-calendar__table__row--17 { background-color: #DCE9F1; }
.seasonal-food-calendar__table__row--17 > .seasonal-food-calendar__table__cell:first-child { background-color: #7FACCC; }
.seasonal-food-calendar__table__row--18 { background-color: #FFD1E1; }
.seasonal-food-calendar__table__row--18 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF5590; color: #fff; }
.seasonal-food-calendar__table__row--19 { background-color: #E5F5CA; }
.seasonal-food-calendar__table__row--19 > .seasonal-food-calendar__table__cell:first-child { background-color: #9FDB3E; }
.seasonal-food-calendar__table__row--20 { background-color: #FFF6F6; }
.seasonal-food-calendar__table__row--20 > .seasonal-food-calendar__table__cell:first-child { background-color: #FFDDDF; }
.seasonal-food-calendar__table__row--21 { background-color: #FAF8DA; }
.seasonal-food-calendar__table__row--21 > .seasonal-food-calendar__table__cell:first-child { background-color: #E6DB4B; }
.seasonal-food-calendar__table__row--22 { background-color: #E7F6DB; }
.seasonal-food-calendar__table__row--22 > .seasonal-food-calendar__table__cell:first-child { background-color: #A8DD7B; }
.seasonal-food-calendar__table__row--23 { background-color: #D6EFD7; }
.seasonal-food-calendar__table__row--23 > .seasonal-food-calendar__table__cell:first-child { background-color: #69C36C; }
.seasonal-food-calendar__table__row--24 { background-color: #F5FCF6; }
.seasonal-food-calendar__table__row--24 > .seasonal-food-calendar__table__cell:first-child { background-color: #D9F5DC; }
.seasonal-food-calendar__table__row--25 { background-color: #F5FCE2; }
.seasonal-food-calendar__table__row--25 > .seasonal-food-calendar__table__cell:first-child { background-color: #DAF493; }
.seasonal-food-calendar__table__row--26 { background-color: #FCF1CC; }
.seasonal-food-calendar__table__row--26 > .seasonal-food-calendar__table__cell:first-child { background-color: #F4CB43; }
.seasonal-food-calendar__table__row--27 { background-color: #D1F2D0; }
.seasonal-food-calendar__table__row--27 > .seasonal-food-calendar__table__cell:first-child { background-color: #56CE51; }
.seasonal-food-calendar__table__row--28 { background-color: #FBFAE3; }
.seasonal-food-calendar__table__row--28 > .seasonal-food-calendar__table__cell:first-child { background-color: #EFEB96; }
.seasonal-food-calendar__table__row--29 { background-color: #EBE1EB; }
.seasonal-food-calendar__table__row--29 > .seasonal-food-calendar__table__cell:first-child { background-color: #B68FB7; }
.seasonal-food-calendar__table__row--30 { background-color: #FFEFE9; }
.seasonal-food-calendar__table__row--30 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF7E4E; }
.seasonal-food-calendar__table__row--31 { background-color: #F7D4CA; }
.seasonal-food-calendar__table__row--31 > .seasonal-food-calendar__table__cell:first-child { background-color: #E2613B; }
.seasonal-food-calendar__table__row--32 { background-color: #FFE0E0; }
.seasonal-food-calendar__table__row--32 > .seasonal-food-calendar__table__cell:first-child { background-color: #FF8E8E; }

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__table-wrap {
        overflow-x: auto;
    }

    .seasonal-food-calendar__table {
        width: 812px;
    }

    .seasonal-food-calendar__table__w--fish {
        width: 170px;
    }

    .seasonal-food-calendar__table__w--month {
        width: calc((100% - 170px) / 12);
    }

    .seasonal-food-calendar__table__cell--lv1:first-child,
    .seasonal-food-calendar__table__cell:first-child {
        position: sticky;
        left: 0;
        z-index: 2;
        background-clip: padding-box;
    }

    .seasonal-food-calendar__table__cell {
        padding: 6px 8px;
    }

    .seasonal-food-calendar__table__cell.season,
    .seasonal-food-calendar__table__cell.season--early,
    .seasonal-food-calendar__table__cell.season--later {
        background: linear-gradient(to bottom,
            transparent 20%,
            #3C66C4 20%,
            #3C66C4 80%,
            transparent 80%
        );
        background-repeat: no-repeat;
    }

    .seasonal-food-calendar__table__cell.season--early {
        background-size: 50% 100%;
        background-position: left center;
    }
    .seasonal-food-calendar__table__cell.season--later {
        background-size: 50% 100%;
        background-position: right center;
    }
}

/* seasonal-food-calendar__mark */
[class^="seasonal-food-calendar__mark--"] {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 17px;
    font-weight: 500;
    color: #284679;
    padding-bottom: 2px;
}

.seasonal-food-calendar__mark--01 {
    background-image: url('../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_badge01.svg');
}
.seasonal-food-calendar__mark--02 {
    background-image: url('../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_badge02.svg');
}
.seasonal-food-calendar__mark--03 {
    background-image: url('../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_badge03.svg');
    color: #fff;
}

/* seasonal-food-calendar__box */
.seasonal-food-calendar__box-wrap {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 50px;
    max-width: 980px;
    margin: 40px auto 0;
}

.seasonal-food-calendar__box {
    width: 100%;
    background-color: #FEFBD9;
    border-radius: 15px;
    padding: 30px 20px 40px 65px;
    display: grid;
    gap: 10px;
    grid-template-columns: 320px 1fr;
    grid-template-areas:
        "img bubble"
        "img cnt";
    align-items: start;
    column-gap: 40px;
    box-sizing: border-box;
}

.seasonal-food-calendar__box__image {
    grid-area: img;
    margin: 0;
}

.seasonal-food-calendar__box__image__title {
    font-size: 22px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.seasonal-food-calendar__box__image__badge {
    background: #FA8A16;
    color: #fff;
    font-size: 18px;
    padding: 3px 8px;
    border-radius: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.seasonal-food-calendar__box__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 318/210;
}

.seasonal-food-calendar__box__bubble {
    position: relative;
    grid-area: bubble;
    background: #fff;
    border: 2px solid #3C66C4;
    border-radius: 40px;
    margin: 30px 0 0 10px;
    padding: 10px 10px 10px 15px;
    color: #3C66C4;
    font-size: 18px;
    font-weight: bold;
    width: fit-content;
    line-height: 1.4;
}

.seasonal-food-calendar__box__bubble::before,
.seasonal-food-calendar__box__bubble::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
}

.seasonal-food-calendar__box__bubble::before {
    left: -10px;
    border-width: 8px 10px 8px 0;
    border-color: transparent #3C66C4 transparent transparent;
    z-index: 1;
}

.seasonal-food-calendar__box__bubble::after {
    left: -7px;
    border-width: 8px 10px 8px 0;
    border-color: transparent #fff transparent transparent;
    z-index: 2;
}

.seasonal-food-calendar__box__cnt {
    grid-area: cnt;
}

.seasonal-food-calendar__box__text {
    margin: 0 0 8px;
    line-height: 1.6;
}

@media screen and (max-width: 992px) {
    .seasonal-food-calendar__box {
        padding: 20px;
        grid-template-columns: 100%;
        grid-template-areas:
            "bubble"
            "img"
            "cnt";
    }

    .seasonal-food-calendar__box__bubble {
        margin: -40px auto 0;
        font-size: 19px;
    }

    .seasonal-food-calendar__box__bubble::after,
    .seasonal-food-calendar__box__bubble::before {
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-style: solid;
    }

    .seasonal-food-calendar__box__bubble::before {
        border-width: 10px 10px 0 10px;
        border-color: #3C66C4 transparent transparent transparent;
        z-index: 1;
    }
    .seasonal-food-calendar__box__bubble::after {
        top: calc(100% - 2px);
        border-width: 10px 10px 0 10px;
        border-color: #fff transparent transparent transparent;
        z-index: 2;
    }
}

@media screen and (min-width: 769px) and (max-width: 992px) {
    .seasonal-food-calendar__box-wrap {
        max-width: 600px;
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__box-wrap {
        max-width: 100%;
        margin-top: 50px;
    }

    .seasonal-food-calendar__box {
        padding-bottom: 40px;
    }

    .seasonal-food-calendar__box__bubble {
        width: calc(100% + 40px);
        text-align: center;
        margin-top: -40px;
        margin-bottom: 15px;
        margin-left: -20px;
    }
    .seasonal-food-calendar__box__text {
        margin: 0 0 15px;
    }
}

/* seasonal-food-calendar__box-v2 */
.seasonal-food-calendar__box-v2 {
    position: relative;
    border: 1px solid #3C66C4;
    background-color: #fff;
    margin: 110px auto 0;
    max-width: 720px;
    box-sizing: border-box;
}

.seasonal-food-calendar__box-v2::before {
    content: "";
    position: absolute;
    bottom: -8px;
    right: -8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 40px 40px;
    border-color: transparent transparent #fff #fff;
}

.seasonal-food-calendar__box-v2::after {
    content: "";
    position: absolute;
    bottom: 15px;
    right: -7px;
    width: 46px;
    height: 1px;
    background-color: #3C66C4;
    transform: rotate(-45deg);
}

.seasonal-food-calendar__box-v2__inner {
    padding: 40px 40px 60px;
    position: relative;
}

.seasonal-food-calendar__box-v2__inner::after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    border-top: 1px solid #3C66C4;
    border-left: 1px solid #3C66C4;
}

.seasonal-food-calendar__box-v2__badge {
    position: absolute;
    top: -30px;
    left: 100px;
    width: 78px;
    height: 78px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 16px;
    font-family: "Fugaz One", sans-serif;
    background-image: url('../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_badge04.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 1;
}

.seasonal-food-calendar__box-v2__lead {
    color: #4a72cc;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1.6;
    margin: 0 0 30px;
}

.seasonal-food-calendar__box-v2__text {
    line-height: 2;
    margin: 0;
}

@media (max-width: 768px) {
    .seasonal-food-calendar__box-v2 {
        max-width: 100%;
        margin-top: 80px;
    }
    .seasonal-food-calendar__box-v2__inner {
        padding: 50px 30px;
    }

    .seasonal-food-calendar__box-v2__badge {
        width: 80px;
        height: 80px;
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
    }

    .seasonal-food-calendar__box-v2::before {
        border-width: 0 0 30px 30px;
    }

    .seasonal-food-calendar__box-v2::after {
        width: 32px;
        bottom: 10px;
        right: -5px;
    }

    .seasonal-food-calendar__box-v2__inner::after {
        width: 20px;
        height: 20px;
    }
}

/* seasonal-food-calendar__description-list*/
.seasonal-food-calendar__description-list-wrap {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.seasonal-food-calendar__description-list,
.seasonal-food-calendar__description-list-v2 {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0;
}

.seasonal-food-calendar__description-list__title,
.seasonal-food-calendar__description-list-v2__title {
    font-size: 12px;
    font-weight: bold;
    min-width: 72px;
    height: fit-content;
    padding: 2px 5px 3px;
    border-radius: 20px;
    white-space: nowrap;
    margin: 0;
    text-align: center;
}

.seasonal-food-calendar__description-list__title {
    background: #F8E505;
}

.seasonal-food-calendar__description-list-v2__title {
    background: #3C66C4;
    color: #fff;
}

.seasonal-food-calendar__description-list dd,
.seasonal-food-calendar__description-list-v2 dd {
    margin: 0;
    flex: 1;
}

.seasonal-food-calendar__description-list__text-wrap {
    display: flex;
    gap: 5px;
    align-items: baseline;
}

.seasonal-food-calendar__description-list__mark-wrap {
    flex-shrink: 0;
}

.seasonal-food-calendar__description-list__text {
    flex: 1;
    line-height: 1.6;
    margin: 0 0 8px 0;
    text-align: left;
}

.seasonal-food-calendar__description-list-v2__text {
    color: #3C66C4;
    line-height: 1.6;
    gap: 5px;
    margin: 0 0 8px 0;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__description-list {
        flex-direction: column;
    }

    .seasonal-food-calendar__description-list__title,
    .seasonal-food-calendar__description-list-v2__title {
        font-size: 15px;
        padding: 2px 10px 3px;
        min-width: 95px;
    }
}

/* seasonal-food-calendar__card */
.seasonal-food-calendar__card-wrap {
    display: flex;
    flex-flow: row wrap;
    gap: 70px 60px;
    max-width: 1000px;
    margin: 70px auto 0;
}

.seasonal-food-calendar__card-wrap:nth-child(n+2) {
    margin-top: 70px;
}

.seasonal-food-calendar__card {
    width: calc((100% - 120px) / 3);
}

.seasonal-food-calendar__card__bubble {
    background: #fff;
    border: 2px solid #3C66C4;
    border-radius: 40px;
    padding: 8px 10px;
    color: #4a72cc;
    font-weight: bold;
    text-align: center;
    position: relative;
    font-size: 19px;
    width: fit-content;
    min-width: 240px;
    margin: 0 auto 20px;
}

.seasonal-food-calendar__card__bubble::after,
.seasonal-food-calendar__card__bubble::before {
    content: "";
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 11px 9px 0 9px;
    border-color: #3C66C4 transparent transparent transparent;
}
.seasonal-food-calendar__card__bubble::before {
    bottom: -8px;
    border-width: 9px 7px 0 7px;
    border-color: #fff transparent transparent transparent;
    z-index: 1;
}

.seasonal-food-calendar__card__image {
    margin: 0 0 15px 0;
}
.seasonal-food-calendar__card__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 294/195;
}

.seasonal-food-calendar__card__title {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 10px 0;
}

.seasonal-food-calendar__card__text {
    line-height: 1.6;
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 5px;
    font-size: 16px;
    text-align: left;
}

.seasonal-food-calendar__card__season {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0 0;
}

.seasonal-food-calendar__card__season dt {
    background: #3C66C4;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 10px 3px;
    border-radius: 20px;
    white-space: nowrap;
}

.seasonal-food-calendar__card__season dd {
    margin: 0;
    color: #3C66C4;
    font-weight: 500;
    font-size: 16px;
}

@media screen and (min-width: 769px) and (max-width: 1080px) {
    .seasonal-food-calendar__card-wrap {
        gap: 70px 10px;
    }

    .seasonal-food-calendar__card {
        width: calc((100% - 20px) / 3);
    }

    .seasonal-food-calendar__card__bubble {
        min-width: auto;
        padding: calc(8 * 100vw / 1080) calc(10 * 100vw / 1080);
        font-size: calc(19 * 100vw / 1080);
    }

    .seasonal-food-calendar__card__title {
        font-size: calc(20 * 100vw / 1080);
    }

    .seasonal-food-calendar__card__text {
        gap: calc(5 * 100vw / 1080);
        font-size: calc(16 * 100vw / 1080);
    }

    .seasonal-food-calendar__card__season {
        gap: calc(10 * 100vw / 1080);
    }

    .seasonal-food-calendar__card__season dt {
        font-size: calc(12 * 100vw / 1080);
        padding: calc(2 * 100vw / 1080) calc(10 * 100vw / 1080) calc(3 * 100vw / 1080);
    }

    .seasonal-food-calendar__card__season dd {
        font-size: calc(16 * 100vw / 1080);
    }

    .seasonal-food-calendar__card .seasonal-food-calendar__mark--01,
    .seasonal-food-calendar__card .seasonal-food-calendar__mark--02,
    .seasonal-food-calendar__card .seasonal-food-calendar__mark--03 {
        width: calc(42 * 100vw / 1080);
        height: calc(42 * 100vw / 1080);
        font-size: calc(17 * 100vw / 1080);
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__card-wrap {
        flex-flow: column;
        gap: 30px;
        max-width: 100%;
        margin-top: 40px;
    }

    .seasonal-food-calendar__card-wrap:nth-child(n+2) {
        margin-top: 30px;
    }

    .seasonal-food-calendar__card {
        width: 100%;
    }

    .seasonal-food-calendar__card__bubble {
        width: 100%;
    }

    .seasonal-food-calendar__card__head {
        display: flex;
        gap: 10px;
    }

    .seasonal-food-calendar__card__image {
        width: calc((100% - 10px) / 2);
        flex-shrink: 0;
    }

    .seasonal-food-calendar__card__title {
        flex: 1;
    }

    .seasonal-food-calendar__card__text {
        margin: 0;
    }

    .seasonal-food-calendar__card__season {
        margin-top: 10px;
    }

    .seasonal-food-calendar__card__season dt {
        font-size: 15px;
        padding: 2px 15px 3px;
    }
}

/* seasonal-food-calendar__card-v2 */
.seasonal-food-calendar__card-v2-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 50px;
}

.seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] {
    gap: 100px;
}

.seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] {
    gap: 65px;
}

.seasonal-food-calendar__card-v2 {
    background: var(--imizu-orange) url(../img/imizu-unique/seasonal-food-calendar/child-fv__ttl-dot.png) repeat top center;
    max-width: 368px;
    border-radius: 25px;
    padding: 25px;
    position: relative;
    text-decoration: none;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] > .seasonal-food-calendar__card-v2 {
    width: calc((100% - 100px) / 2);
}

.seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] > .seasonal-food-calendar__card-v2 {
    width: calc((100% - 65px * 2) / 3);
}

.seasonal-food-calendar__card-v2__badge {
    position: absolute;
    top: -20px;
    left: -15px;
    background: url(../img/imizu-unique/seasonal-food-calendar/seasonal-food-calendar_badge04.svg) no-repeat center / contain;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: "Fugaz One", sans-serif;
    font-size: 19px;
    line-height: 1.2;
}

.seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] .seasonal-food-calendar__card-v2__badge {
    width: 100px;
    height: 100px;
}

.seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] .seasonal-food-calendar__card-v2__badge {
    width: 85px;
    height: 85px;
}

.seasonal-food-calendar__card-v2__image {
    width: 100%;
    margin-bottom: 18px;
    text-align: center;
}

.seasonal-food-calendar__card-v2__image img {
    object-fit: cover;
    aspect-ratio: 290/190;
    vertical-align: top;
}

.seasonal-food-calendar__card-v2__title {
    color: #000;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 20px 0;
}

.seasonal-food-calendar__card-v2__title::after {
    display: inline-block;
    position: relative;
    top: 4px;
    width: 25px;
    height: 25px;
    margin-left: 8px;
    background: url(../img/common/btn-white-orange.svg) no-repeat center/contain;
    content: "";
}

.seasonal-food-calendar__card-v2__tag01 {
    display: inline-block;
    background-color: var(--white);
    color: #21CDEB;
    padding: 2px 5px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
}

.seasonal-food-calendar__card-v2__tag02 {
    display: inline-block;
    background-color: var(--white);
    color: var(--imizu-orange);
    padding: 2px 5px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
}

.seasonal-food-calendar__card-v2__description {
    color: #000;
    line-height: 1.7;
    margin: 0;
    text-align: left;
    width: 100%;
}

@media screen and (min-width: 769px) and (max-width: 992px) {
    .seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] {
        gap: 50px;
    }

    .seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] {
        gap: 30px;
    }

    .seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] > .seasonal-food-calendar__card-v2 {
        width: calc((100% - 50px) / 2);
    }

    .seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] > .seasonal-food-calendar__card-v2 {
        width: calc((100% - 30px * 2) / 3);
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__card-v2-wrap {
        flex-flow: column;
        margin-top: 40px;
    }
    .seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] {
        gap: 50px;
    }

    .seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] {
        gap: 50px;
    }
    .seasonal-food-calendar__card-v2-wrap[data-col-pc="2"] > .seasonal-food-calendar__card-v2,
    .seasonal-food-calendar__card-v2-wrap[data-col-pc="3"] > .seasonal-food-calendar__card-v2 {
        width: 100%;
        max-width: 100%;
        padding: 25px 25px 40px;
    }
}

/* seasonal-food-calendar__card-v3 */
.seasonal-food-calendar__card-v3-wrap {
    display: flex;
    flex-flow: row wrap;
    gap: 70px 60px;
}

.seasonal-food-calendar__card-v3-wrap:nth-child(n+2) {
    margin-top: 70px;
}

.seasonal-food-calendar__card-v3 {
    display: grid;
    grid-template-rows: auto auto 1fr;
    grid-template-areas:
        "img"
        "ttl"
        "ctn";
    width: calc((100% - 120px) / 3);
}

.seasonal-food-calendar__card-v3__image {
    grid-area: img;
    margin: 0 0 15px 0;
}
.seasonal-food-calendar__card-v3__image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 294/195;
}

.seasonal-food-calendar__card-v3__title {
    grid-area: ttl;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 10px 0;
}

.seasonal-food-calendar__card-v3__cnt {
    grid-area: ctn;
}

.seasonal-food-calendar__card-v3__text {
    line-height: 1.6;
    margin: 0 0 10px 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.seasonal-food-calendar__card-v3__name {
    display: flex;
    flex-flow: column;
    gap: 10px;
    margin-top: auto;
}

.seasonal-food-calendar__card-v3__name dt {
    background: #3C66C4;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 2px 10px 3px;
    border-radius: 20px;
    white-space: nowrap;
    width: fit-content;
    height: fit-content;
}

.seasonal-food-calendar__card-v3__name dd {
    margin: 0;
    color: #3C66C4;
    font-weight: 500;
    font-size: 17px;
}

@media screen and (min-width: 769px) and (max-width: 1080px) {
    .seasonal-food-calendar__card-v3-wrap {
        gap: 70px 30px;
    }

    .seasonal-food-calendar__card-v3 {
        width: calc((100% - 60px) / 3);
    }
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__card-v3-wrap {
        max-width: 100%;
        flex-flow: column;
        gap: 30px;
    }

    .seasonal-food-calendar__card-v3-wrap:nth-child(n+2) {
        margin-top: 30px;
    }

    .seasonal-food-calendar__card-v3 {
        position: relative;
        width: 100%;
        padding-bottom: 10px;
        grid-template-areas:
        "ttl"
        "img"
        "ctn";
    }

    .seasonal-food-calendar__card-v3::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 5px;
        background: url(../img/imizu-unique/seasonal-food-calendar/line-wave-blue.svg) repeat-x left top/contain;
        content: "";
    }

    .seasonal-food-calendar__card-v3__image {
        margin: 0 0 10px 0;
    }

    .seasonal-food-calendar__card-v3__text {
        margin: 0 0 20px 0;
    }

    .seasonal-food-calendar__card-v3__name {
        flex-flow: row;
        gap: 15px;
    }

    .seasonal-food-calendar__card-v3__name dt {
        font-size: 15px;
        padding: 2px 15px 3px;
    }
}

/* seasonal-food-calendar__acc-btn */
.seasonal-food-calendar__acc-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    max-width: 1000px;
    width: 100%;
    margin: 70px auto 0;
    padding: 15px;
    border: 1px solid #3C66C4;
    background-color: #fff;
}

.seasonal-food-calendar__acc-btn:hover {
    cursor: pointer;
}

.seasonal-food-calendar__acc-btn__label {
    line-height: 1.2;
    font-weight: bold;
    font-size: 18px;
    color: #3C66C4;
    text-align: center;
    margin-top: 2px;
}

.seasonal-food-calendar__acc-btn__icon {
    display: grid;
    place-items: center;
}

.seasonal-food-calendar__acc-btn__icon img {
    display: block;
    width: 22px;
    height: auto;
}

@media screen and (max-width: 768px) {
    .seasonal-food-calendar__acc-btn {
        max-width: 100%;
        margin-top: 30px;
    }
}

/* js-acc */
.js-acc-content {
    overflow: hidden;
    height: 0;
    transition: height 0.35s ease;
}

.js-acc-text-close,
.js-acc-icon-close {
    display: none;
}

.js-acc-btn[aria-expanded="false"] {
    margin-top: 0;
}

.js-acc-btn[aria-expanded="true"] .js-acc-text-open,
.js-acc-btn[aria-expanded="true"] .js-acc-icon-open {
    display: none;
}

.js-acc-btn[aria-expanded="true"] .js-acc-text-close,
.js-acc-btn[aria-expanded="true"] .js-acc-icon-close {
    display: inline;
}