@charset "utf-8";
/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
.special {
    position: relative;
    z-index: 1;
    padding-top: min(calc(54 / var(--vw-min) * 100vw), 54px);
    padding-bottom: min(calc(90 / var(--vw-min) * 100vw), 90px);
}
@media screen and (max-width:768px){
    .special {
        padding-top: 0;
        padding-bottom: calc(144 / var(--vw-min) * 100vw);
    }
}
.special__deco {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    overflow: hidden;
}
.special__deco:before {
    content: "";
    width: min(calc(350 / var(--vw-min) * 100vw), 350px);
    height: min(calc(350 / var(--vw-min) * 100vw), 350px);
    position: absolute;
    top: max(-30px, -2.2455vw);
    right: max(-76px, -5.68862vw);
    z-index: 0;
    background: url(../img/common/deco/deco_dot.png) no-repeat center / contain;
}
.special__deco:after {
    content: "";
    width: min(calc(350 / var(--vw-min) * 100vw), 350px);
    height: min(calc(350 / var(--vw-min) * 100vw), 350px);
    position: absolute;
    top: min(calc(66 / var(--vw-min) * 100vw), 66px);
    left: max(-20px, -1.497vw);
    z-index: 0;
    background: url(../img/common/deco/deco_dot.png) no-repeat center / contain;
}
.special__inner {
    position: relative;
    z-index: 1;
}

/* title */
.special__title {
    width: 100%;
    position: relative;
}
.special__title--en {
    background: url(../img/special/title_special.png) no-repeat center / contain;
    display: block;
    width: 100%;
    height: min(calc(84 / var(--vw-min) * 100vw), 84px);
}
.special__title--ja {
    background: url(../img/special/title_special_sub.png) no-repeat center / contain;
    display: block;
    width: 100%;
    height: min(calc(62 / var(--vw-min) * 100vw), 62px);
    margin-top: min(calc(20 / var(--vw-min) * 100vw), 20px);
}

/*-----------------------------------------------
 * Contents - Lists
-------------------------------------------------*/
.special__cont {
    width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
    margin: min(calc(66 / var(--vw-min) * 100vw), 66px) auto 0;
}
@media screen and (max-width:768px){
    .special__cont {
        width: 100%;
        padding: 0 calc(48 / var(--vw-min) * 100vw);
    }
}
.specialLists {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(calc(48 / var(--vw-min) * 100vw), 48px);
}
@media screen and (max-width:768px){
    .specialLists {
        grid-template-columns: repeat(1, 1fr);
        gap: calc(50 / var(--vw-min) * 100vw);
    }
}
.specialLists__link {
    display: block;
    text-decoration: none;
}
.specialLists__img {
    width: 100%;
    display: block;
    position: relative;
    padding-top: 56.25%;
    background-color: var(--color-yellow);
    border-radius: min(calc(28 / var(--vw-min) * 100vw), 28px);
    overflow: hidden;
}
@media screen and (max-width:768px){
    .specialLists__img {
        border-radius: calc(28 / var(--vw-min) * 100vw);
    }
}
.specialLists__img img {
    width: calc(100% - min(calc(8 / var(--vw-min) * 100vw), 8px));
    height: calc(100% - min(calc(8 / var(--vw-min) * 100vw), 8px));
    position: absolute;
    inset: 0;
    margin: auto;
    border-radius: min(calc(26 / var(--vw-min) * 100vw), 26px);
    object-fit: cover;
}
@media screen and (max-width:768px){
    .specialLists__img img {
        width: calc(100% - calc(16 / var(--vw-min) * 100vw));
        height: calc(100% - calc(16 / var(--vw-min) * 100vw));
        border-radius: calc(26 / var(--vw-min) * 100vw);
    }
}
.specialLists__ttl {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    display: block;
    margin-top: 1em;
}
@media screen and (max-width:768px){
    .specialLists__ttl {
        font-size: calc(26 / var(--vw-min) * 100vw);
    }
}
.specialLists__link.is-blank .specialLists__ttl:after {
    content: "";
    width: min(calc(16 / var(--vw-min) * 100vw), 16px);
    height: min(calc(16 / var(--vw-min) * 100vw), 16px);
    display: inline-block;
    margin-left: min(calc(8 / var(--vw-min) * 100vw), 8px);
    background-color: var(--color-yellow);
    -webkit-mask: url(../img/common/icon/icon_arrow.png) no-repeat center / contain;
    mask: url(../img/common/icon/icon_arrow.png) no-repeat center / contain;
}
@media screen and (max-width:768px){
    .specialLists__link.is-blank .specialLists__ttl:after {
        width: calc(26 / var(--vw-min) * 100vw);
        height: calc(26 / var(--vw-min) * 100vw);
        margin-left: calc(12 / var(--vw-min) * 100vw);
    }
}
@media screen and (hover: hover) and (pointer: fine) {
    .specialLists__link {
        transition: color .3s ease;
    }
    .specialLists__link:hover {
        color: var(--color-yellow);
    }
    .specialLists__img img {
        transition: transform .3s var(--easing-outquart);
    }
    .specialLists__link:hover .specialLists__img img {
        transform: scale(1.05);
    }
}

/*-----------------------------------------------
 * Contents - Detail
-------------------------------------------------*/
.specialDetail {
    width: min(calc(1000 / var(--vw-min) * 100vw), 1000px);
    margin: min(calc(66 / var(--vw-min) * 100vw), 66px) auto 0;
}
@media screen and (max-width:768px){
    .specialDetail {
        width: 100%;
        padding: 0 calc(48 / var(--vw-min) * 100vw);
    }
}

/* head */
.specialDetail__head {
    width: 100%;
    position: relative;
    padding: min(calc(24 / var(--vw-min) * 100vw), 24px) min(calc(64 / var(--vw-min) * 100vw), 64px);
    background-color: var(--color-yellow);
    border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
@media screen and (max-width:768px){
    .specialDetail__head {
        padding: calc(30 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
        border-radius: calc(28 / var(--vw-min) * 100vw);
    }
}
.specialDetail__title {
    font-size: min(calc(32 / var(--vw-min) * 100vw), 32px);
    color: var(--color-blue);
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.02em;
}
@media screen and (max-width:768px){
    .specialDetail__title {
        font-size: calc(36 / var(--vw-min) * 100vw);
    }
}

/* textWrap */
.specialDetail__textWrap {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    color: var(--color-blue);
    letter-spacing: 0.02em;
    width: 100%;
    position: relative;
    margin-top: min(calc(10 / var(--vw-min) * 100vw), 10px);
    padding: min(calc(64 / var(--vw-min) * 100vw), 64px);
    background-color: var(--color-cream);
    border-radius: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap {
        font-size: calc(24 / var(--vw-min) * 100vw);
        margin-top: calc(16 / var(--vw-min) * 100vw);
        padding: calc(60 / var(--vw-min) * 100vw) calc(40 / var(--vw-min) * 100vw);
        border-radius: calc(28 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap > p:not(:first-child) {
    margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap > p:not(:first-child) {
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap h3 {
    font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
    color: #fff;
    font-weight: 800;
    width: fit-content;
    padding: 0.3em 0.8em;
    background-color: var(--color-blue);
    border-radius: min(calc(4 / var(--vw-min) * 100vw), 4px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap h3 {
        font-size: calc(28 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap h4 {
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    color: #fff;
    font-weight: 800;
    width: fit-content;
    padding: 0.3em 0.8em;
    background-color: var(--color-blue);
    border-radius: min(calc(4 / var(--vw-min) * 100vw), 4px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap h4 {
        font-size: calc(22 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap > h3:not(:first-child),
.specialDetail__textWrap > h4:not(:first-child) {
    margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap > h3:not(:first-child),
    .specialDetail__textWrap > h4:not(:first-child) {
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap > h3 + p,
.specialDetail__textWrap > h4 + p {
    margin-top: min(calc(16 / var(--vw-min) * 100vw), 16px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap > h3 + p,
    .specialDetail__textWrap > h4 + p {
        margin-top: calc(16 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap a {
    color: var(--color-pink);
}
.specialDetail__textWrap img {
    max-width: 100%;
    height: auto !important;
}
.specialDetail__textWrap .img_center {
    display: flex;
    justify-content: center;
    margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
    .specialDetail__textWrap .img_center {
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
}
.specialDetail__textWrap .text_center {
    text-align: center;
}
.specialDetail__textWrap .font-large {
    font-size: 120%;
}
.specialDetail__textWrap .font-bold {
    font-weight: bold;
}
.specialDetail__textWrap .ytifWrap {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    margin: 0 auto;
    padding-top: 56.25%;
}
.specialDetail__textWrap iframe[src*="youtube"] {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    border: none;
}

/* media */
.specialDetail__media {
    display: flex;
    margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
    .specialDetail__media {
        display: block;
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
}
.specialDetail__mediaImg {
    width: min(calc(300 / var(--vw-min) * 100vw), 300px);
    flex-shrink: 0;
}
@media screen and (max-width:768px){
    .specialDetail__mediaImg {
        width: 100%;
    }
}
.specialDetail__mediaImg img {
    width: 100%;
    border-radius: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
@media screen and (max-width:768px){
    .specialDetail__mediaImg img {
        border-radius: calc(16 / var(--vw-min) * 100vw);
    }
}
.specialDetail__mediaBody {
    padding-left: min(calc(30 / var(--vw-min) * 100vw), 30px);
}
@media screen and (max-width:768px){
    .specialDetail__mediaBody {
        margin-top: calc(24 / var(--vw-min) * 100vw);
        padding-left: 0;
    }
}

/* imgLists */
.specialDetail__imgLists {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(calc(24 / var(--vw-min) * 100vw), 24px);
    margin-top: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
@media screen and (max-width:768px){
    .specialDetail__imgLists {
        grid-template-columns: repeat(2, 1fr);
        gap: calc(24 / var(--vw-min) * 100vw);
        margin-top: calc(40 / var(--vw-min) * 100vw);
    }
}
.specialDetail__imgLists.is-col2 {
    grid-template-columns: repeat(2, 1fr);
}
.specialDetail__imgItem a {
    display: block;
    border-radius: min(calc(8 / var(--vw-min) * 100vw), 8px);
    overflow: hidden;
}
@media screen and (max-width:768px){
    .specialDetail__imgItem a {
        border-radius: calc(16 / var(--vw-min) * 100vw);
    }
}
.specialDetail__imgItem img {
    display: block;
    width: 100%;
    border-radius: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
@media screen and (max-width:768px){
    .specialDetail__imgItem img {
        border-radius: calc(16 / var(--vw-min) * 100vw);
    }
}
@media screen and (hover: hover) and (pointer: fine) {
    .specialDetail__imgItem a img {
        transition: transform .4s var(--easing-outquart);
    }
    .specialDetail__imgItem a:hover img {
        transform: scale(1.15);
    }
    .specialDetail__imgItem a.specialDetail__movie:hover img {
        transform: none;
    }
}
.specialDetail__imgItem a.specialDetail__movie {
    background-color: var(--color-yellow);
    border-radius: min(calc(28 / var(--vw-min) * 100vw), 28px);
    position: relative;
    padding-top: 100%;
    text-decoration: none;
}
.specialDetail__imgItem.is-yellow a.specialDetail__movie { background-color: var(--color-yellow); }
.specialDetail__imgItem.is-purple a.specialDetail__movie { background-color: var(--color-purple); }
.specialDetail__imgItem.is-green a.specialDetail__movie { background-color: var(--color-green); }
.specialDetail__imgItem.is-orange a.specialDetail__movie { background-color: var(--color-orange); }
.specialDetail__imgItem.is-pink a.specialDetail__movie { background-color: var(--color-pink); }
.specialDetail__textWrap .specialDetail__movie img {
    border-radius: min(calc(26 / var(--vw-min) * 100vw), 26px);
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: calc(100% - min(calc(8 / var(--vw-min) * 100vw), 8px));
    height: calc(100% - min(calc(8 / var(--vw-min) * 100vw), 8px)) !important;
    max-width: none;
    object-fit: cover;
    opacity: .8;
}
.specialDetail__playIcon {
    display: block;
    background: url(../img/common/deco/deco_icon_paint1.png) no-repeat center / contain;
    width: min(calc(90 / var(--vw-min) * 100vw), 90px);
    height: min(calc(120 / var(--vw-min) * 100vw), 120px);
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.specialDetail__playIcon:before {
    content: "";
    background-color: #fff;
    -webkit-mask: url(../img/common/deco/deco_text_voice.svg) no-repeat center / contain;
    mask: url(../img/common/deco/deco_text_voice.svg) no-repeat center / contain;
    width: min(calc(84 / var(--vw-min) * 100vw), 84px);
    height: min(calc(84 / var(--vw-min) * 100vw), 84px);
    margin: auto;
    position: absolute;
    top: min(calc(4 / var(--vw-min) * 100vw), 4px);
    right: 0;
    left: 0;
    animation: rotate 20s linear infinite;
}
.specialDetail__playIcon:after {
    content: "";
    background-color: var(--color-pink);
    -webkit-mask: url(../img/common/icon/icon_play.svg) no-repeat center / contain;
    mask: url(../img/common/icon/icon_play.svg) no-repeat center / contain;
    width: min(calc(22 / var(--vw-min) * 100vw), 22px);
    height: min(calc(20 / var(--vw-min) * 100vw), 20px);
    position: absolute;
    top: min(calc(36 / var(--vw-min) * 100vw), 36px);
    left: min(calc(36 / var(--vw-min) * 100vw), 36px);
}
@media screen and (hover: hover) and (pointer: fine) {
    .specialDetail__playIcon {
        transition: transform .3s var(--easing-outquart);
    }
    .specialDetail__movie:hover .specialDetail__playIcon {
        transform: scale(1.15);
    }
}
@media screen and (max-width:768px){
    .specialDetail__textWrap .specialDetail__movie img {
        width: calc(100% - calc(16 / var(--vw-min) * 100vw));
        height: calc(100% - calc(16 / var(--vw-min) * 100vw)) !important;
    }
}
.specialDetail__imgItem-ttl {
    font-size: min(calc(14 / var(--vw-min) * 100vw), 14px);
    line-height: 1.5;
    text-align: center;
    margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
@media screen and (max-width:768px){
    .specialDetail__imgItem-ttl {
        font-size: calc(22 / var(--vw-min) * 100vw);
        margin-top: calc(16 / var(--vw-min) * 100vw);
    }
}

/* back */
.special__back {
    display: flex;
    justify-content: center;
    margin-top: min(calc(50 / var(--vw-min) * 100vw), 50px);
}
.special__back > a {
    font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
    color: var(--color-green);
    line-height: 1;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    text-decoration: none;
}
@media screen and (max-width:768px){
    .special__back > a {
        font-size: calc(26 / var(--vw-min) * 100vw);
    }
}
.special__back > a:before {
    content: "";
    width: min(calc(20 / var(--vw-min) * 100vw), 20px);
    height: min(calc(19 / var(--vw-min) * 100vw), 19px);
    display: block;
    margin-right: min(calc(30 / var(--vw-min) * 100vw), 30px);
    background-color: var(--color-green);
    -webkit-mask: url(../img/common/icon/icon_prev_arrow.png) no-repeat center / contain;
    mask: url(../img/common/icon/icon_prev_arrow.png) no-repeat center / contain;
}
@media screen and (max-width:768px){
    .special__back > a:before {
        width: calc(28 / var(--vw-min) * 100vw);
        height: calc(28 / var(--vw-min) * 100vw);
    }
}
@media screen and (hover: hover) and (pointer: fine) {
    .special__back > a {
        transition: color .3s ease;
    }
    .special__back > a:hover {
        color: var(--color-yellow);
    }
    .special__back > a:before {
        transition: background-color .3s ease,
                    transform .3s ease;
    }
    .special__back > a:hover:before {
        background-color: var(--color-yellow);
        transform: translateX(-20%);
    }
}
