.center{
    background: #fff;
}
.p-product .inner{
    padding: 0 25px;
    position: relative;
    z-index: 1;
}
@media screen and (max-width:1024px){
    .p-product .inner{
        padding: 0 5vw;
    }
}

.sec01,
.sec02,
.sec03,
.bg,
.sec05,
.other-product{
    margin-bottom: min(10.6vw,53px);
}

.sec01 h2,
.sec02 h2,
.sec03 h2,
.sec04 h2,
.sec05 h2{
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
}


.mv{
    margin-bottom: min(16vw,80px);
    position: relative;
    z-index: 4;
}
.kv{
    margin-bottom: min(7vw,35px);
}
.kv .inner{
    text-align: center;
}
.kv img{
    width: 100%;
}

/* buy */
.buy .inner{
    padding: 0 40px;
}
.buy .buy-box{
    display: flex;
    align-items: end;
    gap: min(4%,20px);
    margin-bottom: min(8vw,40px);
}
@media screen and (max-width:1024px){
    .buy .buy-box .buy-box-img img{
        width: 29.4vw;
    }
}

.buy .buy-box .buy-box-text-box{
    flex: 1;
    padding: 10px 0;
}
.buy .buy-box .buy-box-text{
    line-height: 1.8;
}
.buy .buy-box #seibun{
    border: 1px solid;
    border-radius: 50px;
    padding: 5px;
    width: 100%;
    margin-top: 20px;
    line-height: 1.6;
}

.buy .buy-link-area h2{
    display: flex;
    justify-content: center;
}
.buy .buy-link-list{
    margin-top: 15px;
    position: relative;
    z-index: 2;
}
.buy .buy-link-list li {
    margin-bottom: 15px;
}
.buy .buy-link-list a{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: #76CEF3;
    border-radius: 100px;
    font-size: min(4.8vw,24px);
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
    color: #fff;
    padding: 23px;
    letter-spacing: 0;
    max-width: 420px;
    margin-inline: auto;
    position: relative;
}
.buy .buy-link-area.c-area a{
    background: #CCA1DF;
}
.buy .buy-link-area.u-area a{
    background: #FFD041;
}
.buy .buy-link-list a.comingsoon{
    opacity: .28;
    pointer-events: none;
    display: flex;
    gap: min(7.14%,30px);
}
.buy .buy-link-list a::after{
    position: absolute;
    right: min(7.14%,30px);
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: inline-block;
    background: url('/assets/img/common/icon-arrow.svg') no-repeat center;
    width: 17px;
    height: 20px;
    background-size: cover;
}

@media screen and (max-width:1024px){
    .buy .buy-link-list a{
        max-width: 84vw;
    }
}

/* modal */

#orverlay{
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease;
    width: 100%;
    height: 100%;
    background: #00000099;
    z-index: 998;
    pointer-events: none;
}
#modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease;
    z-index: 999;
}
.active #orverlay{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
#modal.active {
    opacity: 1;
    visibility: visible;
}

#modal .modal-inner{
    background: #fff;
    border-radius: 15px;
    padding: min(7vw,35px);
    width: 84vw;
    max-width: 420px;
    margin: 0 auto;
    position: relative;
    line-height: 1.6;
}
#modal .modal-inner .modal-content{
    overflow: auto;
    max-height: 68vh;
}
#modal .modal-inner .modal-title{
    font-size: 22px;
    letter-spacing: 30%;
    text-align: center;
    margin-bottom: min(6vw,30px);
}
#modal #modal-close{
    position: absolute;
    top: min(5vw,25px);
    right: min(5vw,25px);
    display: inline-block;
    background: url('/assets/img/common/icon-close.svg') no-repeat center;
    background-size: cover;
    width: 6.8vw;
    max-width: 34px;
    aspect-ratio: 1;
}

.bg-wrap{
    position: relative;
}
.bg-fixed{
    clip-path: inset(0);
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.bg-fixed::before{
    position: fixed;
    inset: 0;
    content: "";
    background: url('/assets/img/product/T/bg.svg') no-repeat top center;
    background-size: auto;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.bg-fixed.c-area::before{
    background: url('/assets/img/product/C/bg.svg') no-repeat top center;
    background-size: auto;
}
.bg-fixed.u-area::before{
    background: url('/assets/img/product/U/bg.svg') no-repeat top center;
    background-size: auto;
}
.bg{
    position: relative;
    z-index: 4;
    padding-top: min(5vw,25px);
    padding-bottom: min(5vw,25px);
}


@media screen and (max-width:1024px){
    .bg-fixed::before,
    .bg-fixed.c-area::before,
    .bg-fixed.u-area::before{
        background-size: cover;
    }
    .bg::before{
        width: 52vw;
        height: 52vw;
    }
    .bg::after{
        width: 60.2vw;
        height: 60.2vw;
    }
}

/* sec01 */

.p-product .sec01 .inner{
    padding-top: min(9.4vw, 47px);
}

@media screen and (max-width:1024px){
    .p-product .sec01 .inner{
        padding-top: 9.4vw;
    }
}

.sec01::before{
    display: inline-block;
    content: "";
    width: min(52vw,260px);
    height: min(52vw,260px);
    background: #DEF2FC;
    transform: rotate(19.97deg);
    position: absolute;
    top: min(7.4vw,37px);
    left: min(11vw,55px);
    z-index: 0;
}

.sec01.c-area::before{
    background: #F1E5F6;
}
.sec01.u-area::before{
    background: #FFF7BF;
}
.sec01 h2::after{
    display: inline-block;
    content: "";
    width: min(60.2vw,301px);
    height: min(60.2vw,301px);
    background: url('/assets/img/product/T/bg-after.svg') no-repeat top center;
    background-size: cover;
    position: absolute;
    top: max(-22.8vw,-114px);
    right: max(-14.6vw,-73px);
    z-index: -1;
}


@media screen and (max-width:1024px){
    .sec01 h2 img{
        width: 60.6vw;
    }
    .sec01 h2.c-area img{
        width: 85vw;
    }
    .sec01 h2.c-area img{
        width: 64.4vw;
    }
}

.sec01-content{
    background: #fff;
    padding: 8px;
    margin-bottom: 20px;
    margin-inline: auto;
}
.sec01-content h3{
    background: rgba(235, 167, 238, 36%);
    padding: 15px;
    text-align: center;
    font-size: 22px;
    font-size: clamp(18px,4.4vw,22px);
    font-weight: 500;
}
.sec01-content.c-area h3{
    background: #D9F8E3;
}
.sec01-content.u-area h3{
    background: rgba(178, 169, 255, 36%)
}
.sec01-content img{
    margin-inline: auto;
    padding: 0 18px;
    margin-bottom: 10px;
}
.sec01-content.c-area img{
    padding: 0;
}
.sec01-content.u-area img{
    padding: 0;
}

.sec01-content .sec01-content-p{
    max-width: 75%;
    margin-inline: auto;
    letter-spacing: 1%;
    line-height: 1.6;
    margin-bottom: 40px;
}
.sec01-content:nth-child(3) .sec01-content-p{
    letter-spacing: 10%;
}
.sec01-content .sec01-content-p.c-area{
    max-width: 75%; 
    letter-spacing: 4%;
}
.sec01-content:nth-child(3) .sec01-content-p.c-area{
    letter-spacing: 8%;
}

.sec01-content .sec01-content-p.u-area{
    max-width: 75%; 
    letter-spacing: 7%;
    text-align: justify;
}
@media screen and (max-width:1024px){
    .sec01-content .sec01-content-p{
        font-size: 3.2vw;
    }
}
.sec01-content .attention{
    padding: 17px;
    letter-spacing: .98px;
    font-size: 14px;
    line-height: 1.6;
}
.sec01-content .attention.c-area{
    letter-spacing: 6%;
}
@media screen and (max-width:1024px){
    .sec01-content .attention{
        font-size: 2.8vw;
    }
}

/* sec02 */
@media screen and (max-width:1024px){
    .sec02 h2 img{
        width: 63.8vw;
    }
    .sec02 h2.c-area img{
        width: 86.2vw;
    }
    .sec02 h2.u-area img{
        width: 76vw;
    }
}

.sec02-content{
    background: #fff;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: min(2vw,10px);
}

.sec02-content img{
    width: auto;
}

.sec02-content .attention{
    font-size: 14px;
    margin-bottom: min(2vw,10px);
}
@media screen and (max-width:1024px){
    .sec02-content{
        gap: 2vw;
    }
    .sec02-content img{
        width: 100%;
    }
    .sec02-content .attention{
        font-size: 2.8vw;
        margin-bottom: 2.8vw;
    }
}

/* sec03 */
@media screen and (max-width:1024px){
    .sec03 h2 img{
        width: 90vw;
    }
}

.sec03-content{
    background: #fff;
    padding: 25px 5px;
}
.sec03-content h3{
    text-align: center;
    font-weight: 500;
}
.sec03-content .sec03-list{
    display: grid;
    grid-template-columns: repeat(6,1fr);
    justify-content: center;
    align-items: center;
    gap: min(3.6vw,18px);
    margin: 30px auto;
}
.sec03-content .sec03-list li{
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 14px;
    letter-spacing: 0;
    text-align: center;
}
@media screen and (max-width:1024px){
    .sec03-content .sec03-list li{
        font-size: 2.8vw;
    }
    .sec03-content .sec03-list img{
        width: 25vw;
    }
}

.sec03-content .sec03-list li:nth-child(1),
.sec03-content .sec03-list li:nth-child(2){
    grid-column: span 3;
}
.sec03-content .sec03-list li:nth-child(1){
    width: fit-content;
    margin: 0 0 0 auto;
}
.sec03-content .sec03-list li:nth-child(2){
    width: fit-content;
    margin: 0 auto 0 0;
}

.sec03-content .sec03-list li:nth-child(3),
.sec03-content .sec03-list li:nth-child(4),
.sec03-content .sec03-list li:nth-child(5){
    grid-column: span 2;
}

.sec03-content .attention{
    font-size: 14px;
    margin: 0 10px;
}
@media screen and (max-width:1024px){
    .sec03-content .attention{
        font-size: 2.8vw;
    }
}

/* sec04 */
@media screen and (max-width:1024px){
    .sec04 h2 img{
        width: 23.8vw;
    }
}

.sec04-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    min-height: min(60vw,300px);
    margin-top: 30px;
}
.sec04-list li{
    position: absolute;
}
/* t-area */
.sec04-list.t-area li:nth-child(1){
    position: absolute;
    left: min(8vw,40px);
    top: 0;
}
.sec04-list.t-area li:nth-child(2){
    top: min(2.8vw,14px);
    right: min(12vw,60px);
}
.sec04-list.t-area li:nth-child(3){
    top: min(16vw,80px);
    right: min(6.4vw,32px);
    letter-spacing: 0;
}
.sec04-list.t-area li:nth-child(4){
    top: min(29.4vw,147px);
    left: min(5vw,25px);
}
.sec04-list.t-area li:nth-child(5){
    top: min(35.4vw, 177px);
    right: min(0.4vw,2px);
}
.sec04-list.t-area li:nth-child(6){
    top: min(44vw,220px);
    left: 0;
}
@media screen and (max-width:1024px){
    .sec04-list{
        min-height: 60vw;
    }
    .sec04-list.t-area li:nth-child(1){
        left: 8vw;
    }
    .sec04-list.t-area li:nth-child(2){
        top: 2.8vw;
        right: 12vw;
    }
    .sec04-list.t-area li:nth-child(3){
        top: 16vw;
        right: 6.4vw;
    }
    .sec04-list.t-area li:nth-child(4){
        top: 29.4vw;
        left: 5vw;
    }
    .sec04-list.t-area li:nth-child(5){
        top: 35.4vw;
        right: 0.4vw;
    }
    .sec04-list.t-area li:nth-child(6){
        top: 44vw;
        left: 0;
    }
}

/* c-area */
.sec04-list.c-area{
    min-height:min(46.6vw,233px);
}
.sec04-list.c-area li:nth-child(1){
    left: min(6vw,30px);
    top: 0;
}
.sec04-list.c-area li:nth-child(2){
    top: min(2.8vw,14px);
    right: min(13vw,65px);
}
.sec04-list.c-area li:nth-child(3){
    top: min(18.6vw,93px);
    left: min(3vw,15px);
}
.sec04-list.c-area li:nth-child(4){
    top: min(23.2vw,116px);
    right: min(3vw,15px);
}
.sec04-list.c-area li:nth-child(5){
    top: min(36.8vw,184px);
    left: min(6vw,30px);
}
@media screen and (max-width:1024px){
    .sec04-list.c-area li:nth-child(1){
        left: 6vw;
    }
    .sec04-list.c-area li:nth-child(2){
        top: 2.8vw;
        right: 13vw;
    }
    .sec04-list.c-area li:nth-child(3){
        top: 18.6vw;
        left: 3vw;
    }
    .sec04-list.c-area li:nth-child(4){
        top: 23.2vw;
        right: 3vw;
    }
    .sec04-list.c-area li:nth-child(5){
        top: 36.8vw;
        left: 6vw;
    }
}

/* u-area */
.sec04-list.u-area{
    min-height: min(76vw, 380px);
}
.sec04-list.u-area li:nth-child(1){
    left: min(6vw,30px);
    top: 0;
}
.sec04-list.u-area li:nth-child(2){
    top: min(2.8vw,14px);
    right: min(12vw,60px);
}
.sec04-list.u-area li:nth-child(3){
    top: min(15.6vw,78px);
    left: min(9vw,45px);
}
.sec04-list.u-area li:nth-child(4){
    top: min(28.4vw,142px);
    left: min(14vw,70px);
    letter-spacing: -3%;
}
.sec04-list.u-area li:nth-child(5){
    top: min(41.6vw,208px);
    left: min(3vw,15px);
}
.sec04-list.u-area li:nth-child(6){
    top: min(47.6vw,238px);
    right: min(2.6vw,13px);
}
.sec04-list.u-area li:nth-child(7){
    top: min(61.2vw,306px);
    left: min(10vw,50px);
}
@media screen and (max-width:1024px){
    .sec04-list.u-area{
        min-height: 76vw;
    }
    .sec04-list.u-area li:nth-child(1){
        left: 6vw;
        top: 0;
    }
    .sec04-list.u-area li:nth-child(2){
        top: 2.8vw;
        right: 12vw;
    }
    .sec04-list.u-area li:nth-child(3){
        top: 15.36vw;
        left: 9vw;
    }
    .sec04-list.u-area li:nth-child(4){
        top: 28.4vw;
        left: 14vw;
        letter-spacing: -3%;
    }
    .sec04-list.u-area li:nth-child(5){
        top: 41.6vw;
        left: 3vw;
    }
    .sec04-list.u-area li:nth-child(6){
        top: 47.6vw;
        right: 2.6vw;
    }
    .sec04-list.u-area li:nth-child(7){
        top: 61.2vw;
        left: 10vw;
    }
}

.sec04-list li{
    display: inline-block;
    font-size: min(3.6vw,18px);
    font-family: "Zen Maru Gothic", sans-serif;
    padding: min(2.4vw,12px);
    background-color: #fff;
    border: #6DBEE9 1px solid;
    filter: drop-shadow(2px 2px 0 #6DBEE9C4);
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    letter-spacing: 10%;
    max-height: 49px;
}
.sec04-list.c-area li{
    border-color: #D29FE8;
    filter: drop-shadow(2px 2px 0 #D29FE8C4);
}
.sec04-list.u-area li{
    border-color: #FFC823;
    filter: drop-shadow(2px 2px 0 #FFC823C4);
}
@media screen and (max-width:1024px){
    .sec04-list li{
        font-size: 3.6vw;
        padding: 2.4vw;
    }
}
.sec04-list .sec04-list-yellow{
    background: #FFFEF0;
}
.sec04-list li .hash{
    display: inline-block;
    background: url('/assets/img/product/T/sec04-hash.svg') no-repeat center;
    width: 20px;
    height: 30px;
}
.sec04-list.c-area li .hash{
    background: url('/assets/img/product/C/sec04-hash.svg') no-repeat center;
}
.sec04-list.u-area li .hash{
    background: url('/assets/img/product/U/sec04-hash.svg') no-repeat center;
}
@media screen and (max-width:1024px){
    .sec04-list li .hash{
        width: 4vw;
        height: 6vw;
    }
}
.sec04 .attention{
    padding: 0 20px;
    font-size: 14px;
}
@media screen and (max-width:1024px){
    .sec04 .attention{
        padding: 4vw;
        font-size: 2.8vw;
    }
}

/* sec05 */
@media screen and (max-width:1024px){
    .sec05 h2 img{
        width: 62.8vw;
    }
}


.sec05 .sec05-img{
    margin: 30px calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
    display: flex;
    justify-content: end;
    position: relative;
    z-index: 1;
}
.sec05 .sec05-img::before{
    display: block;
    content: "";
    background: url('/assets/img/product/T/sec05-bg.svg') no-repeat;
    width: 100%;
    max-width: 500px;
    height: 509px;
    max-height: 509px;
    aspect-ratio: 500/509;
    background-size: cover;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.sec05 .sec05-img.c-area::before{
    background: url('/assets/img/product/C/sec05-bg.svg') no-repeat;
}
.sec05 .sec05-img.u-area::before{
    background: url('/assets/img/product/U/sec05-bg.svg') no-repeat;
}

@media screen and (max-width:1024px){
    .sec05 .sec05-img img{
        width: 61vw;
    }
    .sec05 .sec05-img::before{
        max-width: none;
        max-height: none;
    }
}
.sec05 p{
    width: min(61.6vw, 308px);
    margin: 0 auto 0 min(10vw,50px);
    position: relative;
    z-index: 1;
    letter-spacing: 10%;
}
@media screen and (max-width:1024px){
    .sec05 p{
        font-size: 3.2vw;
        width: 61.6vw;
    }
}

/* other-product */

.other-product h2{
    font-weight: 700;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 24px;
    color: #6c6c6c;
    text-align: center;
    margin: 40px auto;
}

@media screen and (max-width:1024px){
    .other-product h2{
        font-size: 4.8vw;
    }
}

.other-product-list{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(5.4vw,27px);
    padding: 0 min(8.6vw,43px);
}