/* ==============================
リセットスタイル 
================================*/
.season__bg video,
.season__bg img {
    display: block;
    max-width: 100%;
}
/* ==============================
root 
================================*/
:root {
    --ff-primary:'Noto Sans JP', sans-serif;
    --ff-secondary:'Noto Serif JP', serif;
    --fw--r: 300;
    --fw--m: 500;
    --fw--b: 700;
    --clr-black: #000;
    --clr-white: #fff;
    --clr-accent-1: #393939;
    --clr-accent-2: #141414;
    --clr-accent-3: #231816;
    --clr-accent-4: #D51717;
    --clr-accent-5: #821923;
}
/* ==============================
共通スタイル 
================================*/
.sp-only{display: none;}
.season__cta-btn {
    font-size: 2.6rem;
    font-weight: var(--fw--m);
    color: var(--clr-white);
    display: block;
    background-color: var(--clr-accent-4);
    padding-block: 1em;
    border-radius: 1.923em;
}
.season__head .season__cta-btn {
    margin-top: 3.84615em;
}
.season__cta-btn ,
.season__back-btn {
    margin-inline: auto;
    letter-spacing: 0;
    text-align: center;
    line-height: 1;
    width: 89.3%;
    max-width: 576px;
}
.season__cta-btn:hover ,
.season__back-btn:hover {
    opacity: .8;
    transition: .6s;
}
.season__back-btn {
    font-size: 2.8rem;
    font-weight: var(--fw--b);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.25em;
    margin-inline: auto;
    border: 1px solid;
    padding-block: .5em;
    border-radius: .392857em;
}
.season__back-btn::before {
    display: block;
    content: '';
    width: .464em;
    height: .464em;
    border-bottom: .107em solid var(--clr-accent-2);
    border-right: .107em solid var(--clr-accent-2);
    transform: rotate(-52deg) skew(-20deg);
}
.season__cta-btn +
.season__back-btn {
    margin-top: 1.71428em;
}
@media only screen and (max-width:720px) {
    .sp-only{display: block;}
    .pc-only{display: none;}
}
/* ==============================
一般スタイル 
================================*/
.season__bg{
    background: var(--clr-accent-1) url('../img/menu/season/season-bg.webp') center/ cover no-repeat fixed;
}
.season__mv,
.season__container {
    max-width: 720px;
    width: 100%;
    margin-inline: auto;
}
.season__container {
    color: var(--clr-accent-1);
}
.season__container.shake{
animation: shake .09s linear 0s 1 alternate backwards;
}
.season__container.shake.-again{
    animation: again .09s linear 0s 1 alternate backwards;
}
@keyframes shake {
    0% {
        transform: translateX(100px);
    }50% {
        transform: translateX(-100px);
        
    }100% {
        transform: translateX(0);

    }
    
}
@keyframes again {
    0% {
        transform: translateX(100px);
    }50% {
        transform: translateX(-100px);
        
    }100% {
        transform: translateX(0);

    }
    
}
.season__head {
    background-color: var(--clr-black);
    color: var(--clr-white);
    padding-block: 70px 105px ;
}
.season__head-title {
    font-family: var(--ff-secondary);
    font-size: 3.2rem;
    letter-spacing: 0;
    line-height: 1.25;
    text-align: center;
}
.season__head-title-img {
    width: min(13.625em,63.4%);
    margin: 1em auto 1.40625em;
}
.season__head-box {
    font-size: 2.3rem;
    letter-spacing: 0;
    color: var(--clr-accent-1);    
    padding: 2.1739em 2.69565em 1.3913em;
    width: min(652px,89.3%);
    margin: 2em auto 2.6em;
    background-color: var(--clr-white);
}
.season__box-details {
    line-height: 1.739;
}
.season__box-date {
    margin-block: 1.739em;
    text-align: center;
}
.season__box-order {
    font-size: 2.1rem;
    text-align: left;
    line-height: 1.42857;
}
.season__attention {
    font-size: 1.7rem;
    line-height: 1.647;
    letter-spacing: 0;
    width: min(652px,89.3%);
    margin-inline: auto;
}
.season__attention-heading {
    margin-bottom: 2.35em;
}
.season__content {
    position: relative;
    overflow-x: hidden;
    margin-block: -1px;
}
.season__content-bg {
    width: 100%;
}
.season__content-note {
    font-size: 2.2rem;
    line-height: 1.636;
    letter-spacing: 0;
    padding-inline: 3.7em 3em;
    position: absolute;
    left: 0;
    bottom: 3%;
    z-index: 10;
}
.season__content-btn {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 100;
    color: #fff;
}
.season__content-btn--1 {
    height: 7.8%;
    top: 19.5%;
}
.season__content-btn--2 {
    height: 8.26%;
    top: 27.3%;
}
.season__content-btn--3 {
    height: 11.2%;
    top: 47.3%;
}
.season__content-btn--4 {
    height: 7%;
    top: 58.5%;
}
.season__content-btn--5 {
    height: 8.5%;
    top: 67.5%;
}
.season__content-btn--6 {
    height: 7%;
    top: 76%;
}
.season__content-btn--7 {
    height: 9.2%;
    top: 83%;
}
.season_ramu,
.season_kani {
    position: absolute;
    z-index: 10;
}
.season_ramu {
    right: -0.5%;
    top: 8.8%;
    width: min(79.138%,569px);

}
.season_kani {
    left: -1%;
    top: 37.05%;
    width: min(83.33%,600px);
}
.season_ramu img:last-child,
.season_kani img:last-child {
    width: min(67.135%,382px);
}
.season_ramu img:last-child{
    margin-left: auto;
    margin-top: -10%;
    position: relative;
    left: 5px;
}
.season_kani img:last-child {
    margin-left: 22%;
    margin-top: -8%;
}
.season__bottom {
    background-color: var(--clr-white);
    padding-bottom: 100px;
}
.season__courses {
    font-size: 2.3rem;
    margin: 0 auto 4.7826em;
    padding-top: 5.43478em;
    width: min(28.39em,89.3%);
    max-width: 100%;
}
.season__courses-title {
    text-align: center;
    letter-spacing: 0;
    line-height: 1.478;
    margin-bottom: .5217em;
}
.season__courses-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.3478em;
}
.season__courses-column-txt {
    font-size: 2rem;
    text-align: center;
    margin-top: 1.1em;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
}
.season__courses-column-txt::before {
    display: block;
    content: '';
    width: .6em;
    height: .6em;
    border-bottom: .107em solid var(--clr-accent-2);
    border-right: .107em solid var(--clr-accent-2);
    transform: rotate(-52deg) skew(-20deg);
}
.allergy_note {
    font-size: 1.9rem;
    width: min(34.368em,89.3%);
    margin: 1.78947em auto 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.allergy_note a {
    font-weight: 700;
    color: var(--clr-accent-5);
}
@media only screen and (max-width:720px) {
    /* ==============================
    共通スタイル 
    ================================*/
    .season__cta-btn {
        font-size: 1.8rem;
    }
    .season__cta-btn {
        font-size: clamp(1.8rem, 0.93rem + 2.319vw, 2.6rem);
    }
    .season__back-btn {
        font-size: 1.5rem;
    }
    .season__back-btn {
        font-size: clamp(1.5rem, 0.087rem + 3.768vw, 2.8rem);
    }

    /* ==============================
    一般スタイル 
    ================================*/
    .season__head {
        padding-block: 32px 88px;
    }
    .season__head-title {
        font-size: 1.8rem;
    }
    .season__head-title {
        font-size: clamp(1.8rem, 0.278rem + 4.058vw, 3.2rem);
    }
    .season__head-box {
        font-size: 1.5rem;
    }
    .season__head-box {
        font-size: clamp(1.5rem, 0.63rem + 2.319vw, 2.3rem);
        padding: 1.3em 1.26em;
        text-align: left;
        margin-block: 1.6em 3em;
    }
    .season__box-date {
        margin-block: 1.33333em;
    }
    .season__box-order {
        font-size: 1.5rem;
    }
    .season__box-order {
        font-size: clamp(1.5rem, 0.848rem + 1.739vw, 2.1rem);
    }
    .season__attention {
        font-size: 1.3rem;
    }
    .season__attention {
        font-size: clamp(1.3rem, 0.865rem + 1.159vw, 1.7rem);
        margin-bottom: 3.3em;
    }
    .season__content-note {
        font-size: 1.283rem;
    }
    .season__content-note {
        font-size: clamp(1.2rem, 0.113rem + 2.899vw, 2.2rem);
    }
    .season_kani {
        top: 36.8%;
    }
    .season__courses {
        font-size: 1.4rem;
    }
    .season__courses {
        font-size: clamp(1.4rem, 0.422rem + 2.609vw, 2.3rem);
    }
    .season__courses-column-txt {
        font-size: 1.4rem;
    }
    .season__courses-column-txt {
        font-size: clamp(1.4rem, 0.748rem + 1.739vw, 2rem);
    }
    .allergy_note {
        font-size: 1.3rem;
    }
    .allergy_note {
        font-size: clamp(1.3rem, 0.648rem + 1.739vw, 1.9rem);
    }
}

/* アニメーション */
.zoom-out-v-fast {
    transform: scale(5, 5);
    opacity: 0!important;
}
.has-animation[data-animation=on].zoom-out-v-fast {
    transform: scale(1, 1);
    opacity: 1!important;
    transition: all 0.25s ease-in!important;
}
.zoom-out-v-fast-late {
  transform: scale(5, 5);
  opacity: 0!important;
  transition: all 0.25s ease-in 0.03s!important;
}
.has-animation[data-animation=on].zoom-out-v-fast-late {
  transform: scale(1, 1);
  opacity: 1!important;
}