/* ---------------------------
FV部分をスクロール固定っぽく見せるために白塗り
--------------------------- */
.ProductDetailFvArea,
.ProductDetail__about,
.ProductDetail__function,
.ProductDetail__spec,
.ProductDetail__StyleImage,
.ProductDetail__recommend,
.ProductDetail__about,
.ProductDetail__footer,
.ProductDetail__noAction,
.ProductDetail__info {
    background: #fff;
}
.ProductDetailFvArea {
    padding-bottom: calc(100 / 390 * 100vw);
    margin-bottom: 0;
}
@media (min-width: 768px) {
    .ProductDetailFvArea {
        padding-bottom: 17rem;
    }
}

/* ---------------------------
上記で覆いきれない分の白塗り追加
--------------------------- */
.ProductDetailFvArea,
.ProductDetail__about,
.ProductDetail__noAction,
.ProductDetail__footer.productFooterArea {
    position: relative;
}

.ProductDetailFvArea:before {
    content: "";
    display: block;
    width: 100%;
    height: 100vw;
    position: absolute;
    top: -100vw;
    background: #fff;
    z-index: -1;
}
.ProductDetail__about:after {
    content: "";
    display: block;
    width: 100%;
    height: 20vw;
    position: absolute;
    bottom: -20vw;
    background: #fff;
    z-index: -1;
}
.ProductDetail__footer.productFooterArea:before {
    content: "";
    display: block;
    width: 100%;
    height: 10vw;
    position: absolute;
    top: -10vw;
    background: #fff;
    z-index: -1;
}
.ProductDetail__footer.productFooterArea:after {
    content: "";
    display: block;
    width: 100%;
    height: 20vw;
    position: absolute;
    bottom: -20vw;
    background: #fff;
    z-index: -1;
}
.footer:before {
    content: "";
    display: block;
    width: 100%;
    height: 29.3333333333vw;
    position: absolute;
    top: -29.3333333333vw;
    background: #fff;
    z-index: -1;
}
.ProductDetail__noAction:before {
    content: "";
    display: block;
    width: 100%;
    height: 110px;
    position: absolute;
    bottom: -110px;
    background: #fff;
    z-index: -1;
}
@media (min-width: 768px) {
    .ProductDetail__noAction:before {
        height: 140px;
        bottom: -140px;
    }
}

/* ---------------------------
FV
--------------------------- */
.ProductDetail__special__fv {
    height: calc(794 / 390 * 100vw);
    overflow: hidden;
    position: relative;
}
@media (min-width: 768px) {
    .ProductDetail__special__fv {
        height: calc(666 / 1366 * 100vw);
        overflow: hidden;
    }
}
.ProductDetail__special__fv__fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -10;
    background: url(../img/product/limitedContent/special2026ss_fv_bg-sp.png) no-repeat;
    background-size: cover;
    background-position: center;
    height: 100vh;
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__fixed {
        /* background: url(../img/product/limitedContent/special2026ss_fv_bg.png) no-repeat;
        background-size: cover;
        background-position: center;
        height: 100vh; */
        background-color: #BBD1C8;
        background-image: url(../img/product/limitedContent/special2026ss_fv_bg.png);
        background-repeat: no-repeat;
        background-size: 100vw auto;
        background-position: right bottom;
        height: 100vh;
    }
}

.ProductDetail__special__fv__inner {
    position: relative;
    height: 100%;
    margin-top: calc(100 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__inner {
        margin-top: calc(70 / 1366 * 100vw);
    }
}

.ProductDetail__special__fv__txt {
    width: calc(216 / 390 * 100vw);
    position: absolute;
    left: calc(89 / 390 * 100vw);
    top: calc(15 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__txt {
        width: calc(208 / 1366 * 100vw);
        position: absolute;
        left: calc(273 / 1366 * 100vw);
        top: calc(106 / 1366 * 100vw);
    }
}
.ProductDetail__special__fv__productImg img {
    width: 100%;
}
.ProductDetail__special__fv__productImg01 {
    width: calc(170 / 390 * 100vw);
    position: absolute;
    right: calc(44 / 390 * 100vw);
    bottom: calc(125 / 390 * 100vw);
    animation: float 7s infinite ease-in-out forwards;
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__productImg01 {
        width: calc(267 / 1366 * 100vw);
        right: calc(247 / 1366 * 100vw);
        bottom: calc(189 / 1366 * 100vw);
    }
}
.ProductDetail__special__fv__productImg02 {
    width: calc(177 / 390 * 100vw);
    position: absolute;
    right: calc(40 / 390 * 100vw);
    bottom: calc(-75 / 390 * 100vw);
    animation: float 10s infinite ease-in-out forwards;
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__productImg02 {
        width: calc(235 / 1366 * 100vw);
        position: absolute;
        right: calc(268 / 1366 * 100vw);
        bottom: calc(-84 / 1366 * 100vw);
        animation-delay: .2s;
    }
}
.ProductDetail__special__fv__productImg03 {
    width: calc(143 / 390 * 100vw);
    position: absolute;
    left: calc(37 / 390 * 100vw);
    bottom: calc(-50 / 390 * 100vw);
    animation: float 8s infinite ease-in-out forwards;
    animation-delay: .4s;
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__productImg03 {
        width: calc(215 / 1366 * 100vw);
        position: absolute;
        left: inherit;
        right: calc(509 / 1366 * 100vw);
        bottom: calc(-78 / 1366 * 100vw);
    }
}
.ProductDetail__special__fv__mark {
    position: absolute;
    width: calc(99 / 390 * 100vw);
    height: calc(99 / 390 * 100vw);
    right: calc(30 / 390 * 100vw);
    bottom: calc(330 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__mark {
        width: calc(116 / 1366 * 100vw);
        height: calc(116 / 1366 * 100vw);
        right: calc(173 / 1366 * 100vw);
        bottom: calc(375 / 1366 * 100vw);
    }
}

.ProductDetail__special__fv__attention {
    position: absolute;
    font-size: calc(10 / 390 * 100vw);
    right: calc(20 / 390 * 100vw);
    bottom: calc(20 / 390 * 100vw);
    color: #fff;
}
@media (min-width: 768px) {
    .ProductDetail__special__fv__attention {
        display: none;
        /* position: absolute;
        font-size: calc(10 / 1366 * 100vw);
        right: calc(233 / 1366 * 100vw);
        bottom: calc(20 / 1366 * 100vw); */
    }
}

/* ---------------------------
CONCEPT
--------------------------- */
.ProductDetail__special__concept {
    background: #FAFAFA;
    padding: calc(60 / 390 * 100vw) 0 calc(85 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__concept {
        position: relative;
        height: calc(845 / 1366 * 100vw);
    }
}
.ProductDetail__special__concept img {
    width: 100%;
}
.ProductDetail__special__conceptImg01 {
    width: calc(357 / 390 * 100vw);
    margin-bottom: calc(50 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptImg01 {
        position: absolute;
        left: 0;
        top: calc(95 / 1366 * 100vw);
        width: calc(680 / 1366 * 100vw);
        margin-bottom: 0;
    }
}
.ProductDetail__special__conceptLead {
    padding-left: calc(40 / 390 * 100vw);
    margin-bottom: calc(60 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptLead {
        padding-left: 0;
        margin-bottom: 0;
        position: absolute;
        left: calc(233 / 1366 * 100vw);
        bottom: calc(155 / 1366 * 100vw);
    }
}
.ProductDetail__special__conceptLead__ttl {
    font-family: "Renner*", a-otf-gothic-bbb-pr6n, sans-serif;
    font-size: calc(14 / 390 * 100vw);
    margin-bottom: calc(15 / 390 * 100vw);
    font-weight: 400;
    letter-spacing: calc(3 / 390* 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptLead__ttl {
        font-size: 1.8rem;
        margin-bottom: 1rem;
        letter-spacing: 3px;
    }
}
.ProductDetail__special__conceptLead__ttl span {
    font-size: calc(18 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptLead__ttl span {
        font-size: 2.5rem;
    }
}
.ProductDetail__special__conceptLead__txt {
    font-size: calc(12 / 390 * 100vw);
    line-height: 2;
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptLead__txt {
        font-size: 1.4rem;
    }
}
.ProductDetail__special__conceptImgs {
    padding-left: calc(40 / 390* 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptImgs {
        padding-left: 0;
        position: absolute;
        right: calc(65 / 1366 * 100vw);
        bottom: calc(128 / 1366 * 100vw);
    }
}
.ProductDetail__special__conceptImgs__inner {
    position: relative;
    width: calc(350 / 390 * 100vw);
    height: calc(295 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptImgs__inner {
        width: calc(548 / 1366 * 100vw);
        height: calc(462 / 1366 * 100vw);
    }
}
.ProductDetail__special__conceptImg02 {
    width: calc(268 / 390 * 100vw);
    position: absolute;
    top: 0;
    right: 0;
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptImg02 {
        width: calc(420 / 1366 * 100vw);
        top: 0;
        right: 0;
    }
}
.ProductDetail__special__conceptImg03 {
    width: calc(134 / 390 * 100vw);
    position: absolute;
    bottom: 0;
    left: 0;
}
@media (min-width: 768px) {
    .ProductDetail__special__conceptImg03 {
        width: calc(210 / 1366 * 100vw);
        bottom: 0;
        left: 0;
    }
}

/* ---------------------------
LINE UP
--------------------------- */
.ProductDetail__special__lineup {
    position: relative;
    background: #FAFAFA;
    padding-bottom: calc(60 / 390 * 100vw);
    margin-bottom: calc(75 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup {
        padding-bottom: calc(130 / 1366 * 100vw);
        margin-bottom: calc(180 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup:after {
    content: "";
    display: block;
    width: 100%;
    height: calc(75 / 390 * 100vw);
    position: absolute;
    bottom: calc(-75 / 390 * 100vw);
    background: #fff;
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup:after {
        height: calc(180 / 1366 * 100vw);
        bottom: calc(-180 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup img {
    width: 100%;
}
.ProductDetail__special__lineup__inner {
    padding: 0 calc(20 / 390 * 100vw);
    margin: 0 auto;
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__inner {
        width: 100%;
        max-width: calc(900 / 1366* 100vw);
        padding: 0;
    }
}
@media (min-width: 1400px) {
    .ProductDetail__special__lineup__inner {
        width: 100%;
        max-width: 900px;
    }
}
.ProductDetail__special__lineup__ttl {
    font-family: "Renner*", a-otf-gothic-bbb-pr6n, sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: calc(30 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__ttl {
        margin-bottom: calc(50 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup__ttl span {
    font-weight: 400;
    font-size: 3.5rem;
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__ttl span {
        font-size: 3rem;
    }
}
.ProductDetail__special__lineup__image {
    margin: 0 calc(-20 / 390 * 100vw) calc(10 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__image {
        margin: 0 0 calc(15 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(-5 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__list {
        margin: 0 calc(-10 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup__list__content {
    flex-basis: 50%;
    max-width: 50%;
    padding: calc(10 / 390 * 100vw) calc(5 / 390 * 100vw) 0;
}
@media (min-width: 768px)  {
    .ProductDetail__special__lineup__list__content {
        flex-basis: 33.333333%;
        max-width: 33.333333%;
        padding: calc(15 / 1366 * 100vw) calc(10 / 1366 * 100vw) 0;
    }
}
.ProductDetail__special__lineup__list__content__inner {
    background: #fff;
    padding: calc(10 / 390 * 100vw) calc(15 / 390 * 100vw) calc(20 / 390 * 100vw);
    height: 100%;
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__list__content__inner {
        padding: calc(20 / 1366 * 100vw) calc(40 / 1366 * 100vw) calc(20 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup__list__content__img {
    margin-bottom: calc(15 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__list__content__img {
        margin-bottom: calc(20 / 1366 * 100vw);
    }
}
.ProductDetail__special__lineup__list__content__ttl {
    font-size: calc(12 / 390 * 100vw);
}
@media (min-width: 768px) {
    .ProductDetail__special__lineup__list__content__ttl {
        font-size: calc(14 / 1366 * 100vw);
    }
}
@keyframes float {
    0% {
        translate: 0 10px;
    }
    50% {
        translate: 0 0;
    }
    100% {
        translate: 0 10px;
    }
}

.Special2025aw_bnr{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 99;
}
.Special2025aw_bnr img{
    width: 100%;
}

@media (min-width: 768px) {
    .Special2025aw_bnr{
        bottom: 30px;
        left: 30px;
        width: 430px;
    }
}

.Special2025aw_CloseButton {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
    transition: opacity 0.3s ease;
    z-index: 10;
    /* スマホ: バナー画像の右上内側10px */
    top: 10px;
    right: 10px;
}

/* PC: 右上外側10px */
@media (min-width: 768px) {
    .Special2025aw_CloseButton {
        top: -10px;
        right: -10px;
    }
}

.Special2025aw_CloseButton:hover {
    opacity: 0.8;
}

.Special2025aw_CloseButton::before,
.Special2025aw_CloseButton::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    background-color: #fff;
    transform: translate(-50%, -50%) rotate(45deg);
}

.Special2025aw_CloseButton::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* ---------------------------
js-openModal
--------------------------- */
.js-openModal{
    background: #000;
    color: #fff;
    text-align: center;
    border-radius: 100px;
    position: relative;
    padding: 15px 0;
    cursor: pointer;
    transition: 0.3s;
}
@media screen and (min-width: 768px) {
    .js-openModal:hover{
        opacity: 0.8;
    }
}
.js-openModal .ProductDetailFv__purchaseBtn--txt{
    font-size: 17px;
}
@media screen and (min-width: 768px) {
    .js-openModal .ProductDetailFv__purchaseBtn--txt{
        font-size: 15px;
    }
}

/* ------------------------------------------------- */
.purchaseModal2 {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99999;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    transition: 0.6s;
}
.purchaseModal2:before {
    content: "";
    display: inline-block;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.25);
    -ms-filter: blur(6px);
    filter: blur(6px);
}
.purchaseModal2.modalOn {
    opacity: 1;
    pointer-events: auto;
    z-index: 9999;
}
.purchaseModal2.modalOn .purchaseModal__content {
    bottom: 0;
}
@media screen and (min-width: 768px) {
    .purchaseModal2.modalOn .purchaseModal__content {
        bottom: inherit;
    }
}
