@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@400;700;800;900&family=Montserrat:wght@900&display=swap');
:root {
    --p-sta-color-K: 0 0 0;
    --p-sta-color-W: 255 255 255;
    --p-sta-color-R: 230 0 0;
    --p-sta-color-Y: 255 224 79;
    
    --p-sta-color-R2: 228 0 108;
    --p-sta-color-EG: 0 177 195;
    --p-sta-color-DB: 27 29 128;
    --p-sta-color-LY: 255 247 154;

    --p-sta-color-GY-ee: 238 238 238;
    --p-sta-color-GY-dd: 221 221 221;
    --p-sta-color-GY-cc: 204 204 204;
    --p-sta-color-GY-99: 153 153 153;
    --p-sta-color-GY-66: 102 102 102;
    --p-sta-color-GY-33: 51 51 51;
    
    --p-sta-font-strong: 'M PLUS 1', var(--global-font-family);
    --p-sta-font-en: 'Montserrat', var(--global-font-family);
}


#lNav {
    display: none !important;
}




@media (min-width: 801px) {
    br.sp { display: none; }
}
@media (max-width: 800px) {
    br.pc { display: none; }
}



.anchorLink {
    margin: 0;
    padding: 0;
    position: relative;
}
.anchorLink span[id] {
    position: absolute;
    top: -120px;
    width: 100%;
}

@media (max-width: 800px) {
    .anchorLink span[id] {
        top: calc(56px - 19vw);
    }
}



main.cssTypeA.wide {
    color: rgb(var(--p-sta-color-K));
    position: relative;
    --bg-y: 0px;
}
main.cssTypeA.wide::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(/common/others/idolmaster/producers_station/assets/img/bg_main.svg) repeat center var(--bg-y) / 100% auto;
    opacity: .05;
    position: absolute;
    z-index: -1;
    transition: 1s ease;
}
main.cssTypeA.wide article {
    font-family: var(--p-sta-font-strong);
}

@media (max-width: 480px) {
    main.cssTypeA.wide {
        padding-left: 0;
        padding-right: 0;
    }
}




[id^="contents-"] {
    margin: 0;
    padding: 220px 0 20px;
    overflow: hidden;
}
[id^="contents-"] section {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}
[id^="contents-"] .title_header {
    margin: 0;
    padding: 0;
    position: relative;
    --ttl-fontsize: 2.5;
}
[id^="contents-"] .title_header .psta_title {
    font-size: calc(min(1.85vw,1em) * var(--ttl-fontsize));
    font-weight: 800;
    line-height: 1.4;
}
[id^="contents-"] .title_header .psta_title::before {
    content: attr(data-en_title);
    display: block;
    color: rgb(var(--p-sta-color-W));
    font-family: var(--p-sta-font-en);
    font-size: 400%;
    font-weight: 900;
    line-height: 1;
    position: absolute;
    left: 0;
    bottom: .05em;
    text-indent: -.5em;
    text-shadow: 0 0 .5px rgb(var(--p-sta-color-GY-cc));
    filter: drop-shadow(0 0 .5px rgb(var(--p-sta-color-GY-cc))) drop-shadow(0 0 .5px rgb(var(--p-sta-color-GY-cc))) drop-shadow(0 0 .3px rgb(var(--p-sta-color-GY-cc)));
    z-index: -1;
}

@media (max-width: 800px) {
    [id^="contents-"] {
        padding: 26vw min(4vw,20px) 2.5vw;
    }
    [id^="contents-"] .title_header .psta_title::before {
        font-size: 12.5vw;
        bottom: 3vw;
        text-indent: -.3em;
        white-space: nowrap;
    }
}



.psta_linkBtn {
    text-align: center;
}
.psta_linkBtn a {
    display: inline-block;
    margin: 0 auto;
    padding: .5em 2.5em;
    background: rgb(var(--p-sta-color-K));
    color: rgb(var(--p-sta-color-W));
    position: relative;
    text-decoration: none;
}
.psta_linkBtn a::before {
    content: "";
    display: block;
    width: 5px;
    height: calc(100% - 2px);
    background:
        linear-gradient(to bottom,
            rgb(var(--p-sta-color-R2)) 25%,
            rgb(var(--p-sta-color-EG)) 25%, rgb(var(--p-sta-color-EG)) 50%,
            rgb(var(--p-sta-color-DB)) 50%, rgb(var(--p-sta-color-DB)) 75%,
            rgb(var(--p-sta-color-LY)) 75%
        );
    position: absolute;
    top: 1px;
    left: 1px;
}
.psta_linkBtn a::after {
    content: "\00a0";
    display: inline-block;
    width: 1.6em;
    background: url(/common/tmpl/images/icon-set/ico_arrow_w.svg) no-repeat right center / 80% auto;
}
.psta_linkBtn a:hover {
    opacity: .7;
}



.fixedBG_line {
    height: 100%;
    height: 6px;
    margin: 0;
    background: transparent;
    clip-path: inset(0);
    position: relative;
}
.fixedBG_line::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(/common/others/idolmaster/producers_station/assets/img/bg_color.svg) center center / cover, rgb(var(--p-sta-color-K));
    position: fixed;
    top: 0;
    left: 0;
}
.fixedBG_line.title {
    --text-width: 0;
    width: 100vw;
    height: 4px;
    margin-top: .4em;
    left: calc(50% - 50vw);
    mask: linear-gradient(135deg,
        rgb(var(--p-sta-color-K)) calc(50% - (min(1.85vw,1em) * var(--ttl-fontsize) * var(--text-width))),
        transparent             calc(50% - (min(1.85vw,1em) * var(--ttl-fontsize) * var(--text-width))),
        transparent             calc(70% - (min(1.85vw,1em) * var(--ttl-fontsize) * var(--text-width))),
        rgb(var(--p-sta-color-K)) calc(70% - (min(1.85vw,1em) * var(--ttl-fontsize) * var(--text-width)))
    );
}


#contents-about .fixedBG_line.title {
    --text-width: -1;
}
#contents-stampcard .fixedBG_line.title {
    --text-width: 3.7;
}
#contents-locations .fixedBG_line.title {
    --text-width: 8.6;
}
#contents-event .fixedBG_line.title {
    --text-width: 5.7;
}

@media (max-width: 800px) {
    #contents-about .fixedBG_line.title {
        --text-width: -2.5;
    }
    #contents-stampcard .fixedBG_line.title {
        --text-width: 2.3;
    }
    #contents-locations .fixedBG_line.title {
        --text-width: 3.5;
    }
    #contents-event .fixedBG_line.title {
        --text-width: .5;
    }
}



/* ========================
contents header
========================= */
#contents-header {
    margin: 0;
    padding: 0;
}
#contents-header section {
    max-width: 100%;
    background: rgb(var(--p-sta-color-W));
}
.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.psta_logo {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 15px 0;
}
.psta_logo img {
    display: block;
    width: auto;
    height: 90px;
    margin: 0 10px;
}

@media (max-width: 800px) {
    .psta_logo {
        padding: 2vw 5vw 2vw 0;
    }
    .psta_logo img {
        height: 10vw;
        margin: 0 1.2vw;
    }
}



/* ========================
contents KV
========================= */
#contents-kv {
    margin: 0;
    padding: 0;
    overflow: visible;
    position: relative;
    z-index: 1;
}
#contents-kv::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(/common/others/idolmaster/producers_station/assets/img/bg_header.jpg) no-repeat center center / max(1920px, 100vw);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
#contents-kv::after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(/common/others/idolmaster/producers_station/assets/img/bg_header-pattern.webp) center center / 300px auto;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-mix-blend-mode: overlay;
    mix-blend-mode: overlay;
    opacity: .4;
    z-index: -1;
}
.kv_inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 1;
}
.kv_inner::before {
    content: "";
    width: 457px;
    height: 642px;
    background: url(/common/others/idolmaster/producers_station/assets/img/img_chara-riku01.png) no-repeat center bottom / contain;
    position: absolute;
    right: 25px;
    bottom: 0;
    z-index: -1;
}
.psta_siteTitle {
    width: 837px;
}
.psta_siteTitle img {
    display: block;
}

@media (max-width: 800px) {
    #contents-kv::before {
        background-size: cover;
    }
    #contents-kv::after {
        background-size: 30vw auto;
    }
    .kv_inner::before {
        width: 40vw;
        height: 55vw;
        right: 1vw;
    }
    .psta_siteTitle {
        width: 70%;
        padding-bottom: 3%
    }
}



/* ========================
contents navigation
========================= */
#contents-navigation {
    margin: -116px 0 30px;
    padding: 0;
    overflow: visible;
    position: sticky;
    top: 10px;
    z-index: 10;
}
.psta_menu {
    margin: 0;
    padding: 0;
}
.navigation_inner {
    display: table;
    margin: 0 auto;
    padding: 10px 60px;
    background: rgb(var(--p-sta-color-W) / .95);
    border-radius: 100px;
    --shadow-width: 10px;
    box-shadow: 0 0 var(--shadow-width) 0 rgb(var(--p-sta-color-K) / .2);
}
.navigation_inner li {
    display: table-cell;
    height: 60px;
    margin: 0;
    padding: 0 1em;
    vertical-align: middle;
    overflow: hidden;
}
.navigation_inner li a {
    display: block;
    margin: -5em 0;
    padding: 5em 0 5em 3em;
    color: rgb(var(--p-sta-color-K));
    font-weight: 700;
    line-height: 1.4;
    position: relative;
    text-decoration: none;
}
.navigation_inner li a::before {
    content: "";
    display: block;
    width: 3em;
    height: 3em;
    background: url(/common/others/idolmaster/producers_station/assets/img/icon_menu01.png) no-repeat center bottom / contain;
    position: absolute;
    left: -.3em;
    top: calc(50% - 1.5em);
    transition: .3s;
}
.navigation_inner li a[href*="#about"]::before {
    background-image: url(/common/others/idolmaster/producers_station/assets/img/icon_menu01.png);
}
.navigation_inner li a[href*="#stampcard"]::before {
    background-image: url(/common/others/idolmaster/producers_station/assets/img/icon_menu02.png);
}
.navigation_inner li a[href*="#location"]::before {
    background-image: url(/common/others/idolmaster/producers_station/assets/img/icon_menu03.png);
}
.navigation_inner li a[href*="#event"]::before {
    background-image: url(/common/others/idolmaster/producers_station/assets/img/icon_menu04.png);
}
.navigation_inner li a:hover {
    color: rgb(var(--p-sta-color-R));
}
.navigation_inner li a:hover::before {
    scale: 1.5;
}

@media (max-width: 800px) {
    #contents-navigation {
        margin: -7.75em 0 2.25em;
        top: .7em;
        font-size: min(1.85vw);
    }
    .navigation_inner {
        padding: .7em 2em;
        border-radius: 4em;
        --shadow-width: 1.25vw;
    }
    .navigation_inner li {
        height: 4.2em;
    }
}



/* ========================
contents about P-STA.
========================= */
.psta_about_inner {
    margin-top: 40px;
}
.psta_about_inner_text {
    width: 60%;
    margin: 0;
    padding: 0 2em 0 0;
    font-size: clamp(100%,3vw,150%);
}
.psta_about_inner_image {
    width: 40%;
    margin: 0;
    padding: 0 20px 60px 0;
    position: relative;
}
.psta_about_inner_image::before {
    content: "";
    display: block;
    width: 440px;
    height: 230px;
    background: url(/common/others/idolmaster/producers_station/assets/img/img_chara-riku02.png) no-repeat right bottom / contain;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.psta_about_slider p {
    margin: 0;
    padding: 0;
}

@media (max-width: 800px) {
    .psta_about_inner {
        margin-top: 6vw;
        flex-flow: row wrap;
    }
    .psta_about_inner_text {
        width: 100%;
        padding: 0;
    }
    .psta_about_inner_image {
        width: 100%;
        margin: 3em 0 0;
        padding: 0 4vw 10vw;
        position: relative;
    }
    .psta_about_inner_image::before {
        width: min(73.33vw,440px);
        height: min(38.33vw,230px);
    }
}



/* ========================
contents StampCard
========================= */
/* stampcard present */
.psta_stampcard_inner {
    margin-top: 40px;
    text-align: center;
}
.psta_stampcard_inner .present_title {
    font-size: min(5vw,228.5%);
    font-weight: 900;
    line-height: 1.5;
}
.psta_stampcard_inner .present_title span,
.psta_stampcard_inner .present_title em {
    font-size: 131.25%;
    font-weight: 900;
}
.psta_stampcard_inner .present_title em {
    margin-right: .1em;
    padding: 0 .2em;
    box-shadow: 0 -.5em 0 0 rgb(var(--p-sta-color-LY)) inset;
    color: rgb(var(--p-sta-color-R2));
    text-shadow: 1px 1px 0 rgb(var(--p-sta-color-W)), -1px 1px 0 rgb(var(--p-sta-color-W)), 1px -1px 0 rgb(var(--p-sta-color-W)), -1px -1px 0 rgb(var(--p-sta-color-W)), 1px 0 0 rgb(var(--p-sta-color-W)), -1px 0 0 rgb(var(--p-sta-color-W)), 0 1px 0 rgb(var(--p-sta-color-W)), 0 -1px 0 rgb(var(--p-sta-color-W));
}
.psta_stampcard_inner .present_period {
    display: inline-block;
    padding: .2em 2em .3em;
    font-size: 114.2%;
    font-weight: 700;
    letter-spacing: .1em;
    background: rgb(var(--p-sta-color-K));
    border: 2px solid rgb(var(--p-sta-color-R2));
    border-radius: 2em;
    color: rgb(var(--p-sta-color-W));
}
.psta_stampcard_inner .present_period em {
    font-size: 150%;
    font-weight: 700;
}
.psta_stampcard_inner .present_period > em:first-child::after {
    content: " :";
}
.psta_stampcard_inner .present_inner {
    margin-top: 70px;
    justify-content: center;
}
.psta_stampcard_inner .present_title em {
    margin-right: .1em;
    padding: 0 .2em;
    box-shadow: 0 -.5em 0 0 rgb(var(--p-sta-color-LY)) inset;
    color: rgb(var(--p-sta-color-R2));
    text-shadow: 1px 1px 0 rgb(var(--p-sta-color-W)), -1px 1px 0 rgb(var(--p-sta-color-W)), 1px -1px 0 rgb(var(--p-sta-color-W)), -1px -1px 0 rgb(var(--p-sta-color-W)), 1px 0 0 rgb(var(--p-sta-color-W)), -1px 0 0 rgb(var(--p-sta-color-W)), 0 1px 0 rgb(var(--p-sta-color-W)), 0 -1px 0 rgb(var(--p-sta-color-W));
}
.psta_stampcard_inner .present_inner_image {
    width: 530px;
    padding: 0 50px;
    position: relative;
}
.psta_stampcard_inner .present_inner_image::before {
    content: "";
    width: 100px;
    height: 84px;
    background: url(/common/others/idolmaster/producers_station/assets/img/icon_stampcard_deco1.svg) no-repeat left top / contain;
    position: absolute;
    top: -43px;
    left: -6px;
}
.psta_stampcard_inner .present_inner_image::after {
    content: "";
    width: 72px;
    height: 55px;
    background: url(/common/others/idolmaster/producers_station/assets/img/icon_stampcard_deco2.svg) no-repeat right bottom / contain;
    position: absolute;
    right: -0;
    bottom: -35px;
}
.psta_stampcard_inner .present_inner_image img {
    rotate: -6deg;
    box-shadow: .5em .5em .5em 0 rgb(var(--p-sta-color-K) / .2);
}
.psta_stampcard_inner .present_inner_text {
    width: 490px;
    padding: 0;
    font-size: clamp(100%,3vw,150%);
    line-height: 1.8;
    text-align: left;
}
.psta_stampcard_inner .present_inner_text .annotation {
    margin-top: .3em;
    padding: 0;
    font-size: 66%;
}

@media (max-width: 800px) {
    .psta_stampcard_inner {
        margin-top: 6vw;
    }
    .psta_stampcard_inner .present_title {
        line-height: 1.4;
    }
    .psta_stampcard_inner .present_period {
        display: block;
        padding: .5em .5em .8em;
        font-size: min(3vw,100%);
        line-height: 1.3;
        letter-spacing: 0;
        border-radius: 3em;
    }
    .psta_stampcard_inner .present_period > em:first-child {
        display: block;
    }
    .psta_stampcard_inner .present_period > em:first-child::after {
        display: none;
    }
    .psta_stampcard_inner .present_inner {
        margin-top: 10vw;
        justify-content: center;
    }
    .psta_stampcard_inner .present_inner_image {
        width: 80%;
        max-width: 480px;
        margin: 0 auto;
        padding: 0;
    }
    .psta_stampcard_inner .present_inner_image::before {
        width: 15vw;
        height: 12.6vw;
        top: -5.5vw;
        left: -9vw;
    }
    .psta_stampcard_inner .present_inner_image::after {
        width: 10.8vw;
        height: 8.25vw;
        right: -9vw;
        bottom: -5vw;
    }
    .psta_stampcard_inner .present_inner_text {
        width: 100%;
        margin-top: 8vw;
    }
    .psta_stampcard_inner .present_inner_text .annotation {
        font-size: 75%;
    }
}

/* more special stampcard */
.psta_stampcard_inner .present_more_inner {
    display: inline-block;
    margin: 80px 40px 0 0;
    padding: 0 260px 0 0;
    background: rgb(var(--p-sta-color-W));
    border: 2px solid rgb(var(--p-sta-color-EG) / .3);
    border-radius: 1em;
    position: relative;
}
.psta_stampcard_inner .present_more_inner p {
    display: inline-block;
    padding: .8em 1em;
    font-size: 171.4%;
    font-weight: 800;
    line-height: 1.5;
    position: relative;
}
.psta_stampcard_inner .present_more_inner p strong {
    padding: .1em 1em;
    background: rgb(var(--p-sta-color-R2));
    border-radius: 2em;
    color: rgb(var(--p-sta-color-W));
    font-weight: 800;
    line-height: 1.6;
    position: absolute;
    left: -1em;
    top: -1em;
}
.psta_stampcard_inner .present_more_inner p strong::after {
    content: "";
    border: 6px solid transparent;
    border-color: rgb(var(--p-sta-color-R2)) rgb(var(--p-sta-color-R2)) transparent transparent;
    position: absolute;
    left: 2em;
    top: calc(1.8em - 1px);
}
.psta_stampcard_inner .present_more_inner p em {
    padding: 0;
    box-shadow: 0 -.5em 0 0 rgb(var(--p-sta-color-LY)) inset;
    color: rgb(var(--p-sta-color-EG));
    font-size: 130%;
    font-weight: 800;
    text-shadow: 1px 1px 0 rgb(var(--p-sta-color-W)), -1px 1px 0 rgb(var(--p-sta-color-W)), 1px -1px 0 rgb(var(--p-sta-color-W)), -1px -1px 0 rgb(var(--p-sta-color-W)), 1px 0 0 rgb(var(--p-sta-color-W)), -1px 0 0 rgb(var(--p-sta-color-W)), 0 1px 0 rgb(var(--p-sta-color-W)), 0 -1px 0 rgb(var(--p-sta-color-W));
}
.psta_stampcard_inner .present_more_inner .present_more_inner_image {
    margin: 0;
    padding: 0;
    position: absolute;
    width: 300px;
    top: calc(50% + .75em);
    right: -40px;
    translate: 0 -50%;
    rotate: 6deg;
}
.psta_stampcard_inner .present_more_inner .present_more_inner_image img {
    box-shadow: .5em .5em .5em 0 rgb(var(--p-sta-color-K) / .2);
}
.psta_stampcard_inner .present_more_inner .present_more_inner_image figcaption {
    margin-top: .5em;
    font-size: 78.5%;
    text-align: right;
}

@media (max-width: 800px) {
    .psta_stampcard_inner .present_more_inner {
        margin: 12vw 0 0;
        padding: 0;
    }
    .psta_stampcard_inner .present_more_inner p {
        display: block;
        padding: 1em .5em;
        font-size: clamp(100%,4.2vw,171.4%);
    }
    .psta_stampcard_inner .present_more_inner p strong {
        padding: .1em 1em;
        left: 1em;
        top: -1.4em;
    }
    .psta_stampcard_inner .present_more_inner p strong::after {
        border-width: .3em;
    }
    .psta_stampcard_inner .present_more_inner p em {
        font-size: 114%;
    }
    .psta_stampcard_inner .present_more_inner .present_more_inner_image {
        margin: 0 auto;
        padding: 0 0 6%;
        position: static;
        width: 86%;
        top: auto;
        right: auto;
        translate: none;
        rotate: 4deg;
    }
    .psta_stampcard_inner .present_more_inner .present_more_inner_image figcaption {
        font-size: min(2.4vw,78.5%);
    }
}

/* change stampcard design */
.psta_stampcard_inner .after_more_inner {
    margin-top: 80px;
}
.psta_stampcard_inner .after_more_inner p {
    display: inline-block;
    font-size: clamp(100%,3vw,150%);
    font-weight: 400;
    position: relative;
}
.psta_stampcard_inner .after_more_inner p::before,
.psta_stampcard_inner .after_more_inner p::after {
    content: "";
    display: block;
    width: 3px;
    height: 105%;
    background: rgb(var(--p-sta-color-R2));
    position: absolute;
    bottom: 0;
    transform-origin: center bottom;
}
.psta_stampcard_inner .after_more_inner p::before {
    background: rgb(var(--p-sta-color-DB));
    box-shadow: -.6em -.3em 0 0 rgb(var(--p-sta-color-R2));
    left: -.5em;
    rotate: -30deg;
}
.psta_stampcard_inner .after_more_inner p::after {
    background: rgb(var(--p-sta-color-Y));
    box-shadow: .6em -.3em 0 0 rgb(var(--p-sta-color-EG));
    right: -.5em;
    rotate: 30deg;
}
.psta_stampcard_inner .after_more_inner p em {
    padding: 0;
    box-shadow: 0 -.5em 0 0 rgb(var(--p-sta-color-LY)) inset;
    color: rgb(var(--p-sta-color-R2));
    font-weight: 400;
}

@media (max-width: 800px) {
    .psta_stampcard_inner .after_more_inner {
        margin-top: 10vw;
    }
    .psta_stampcard_inner .after_more_inner p {
        line-height: 1.6;
    }
    .psta_stampcard_inner .after_more_inner p::before {
        rotate: -25deg;
    }
    .psta_stampcard_inner .after_more_inner p::after {
        rotate: 25deg;
    }
}

/* how to receive coupon */
.psta_stampcard_inner .coupon_inner {
    margin-top: 60px;
    text-align: left;
}
.psta_stampcard_inner .coupon_title {
    display: inline-block;
    margin: 0;
    padding: .2em .5em .2em 1em;
    background: rgb(var(--p-sta-color-R2));
    color: rgb(var(--p-sta-color-W));
    font-size: clamp(110%,3vw,150%);
    font-weight: 900;
    position: relative;
}
.psta_stampcard_inner .coupon_title::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(var(--p-sta-color-R2));
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 0 0;
    transform: skewX(45deg);
    z-index: -1;
}
.psta_stampcard_inner .coupon_container {
    margin: -1px 0 0;
    padding: 30px 15px;
    background: rgb(var(--p-sta-color-W));
    border: 2px solid rgb(var(--p-sta-color-R2));
    font-family: var(--global-font-family);
    text-align: center;
}
.psta_stampcard_inner .coupon_slider {
    margin: 0;
    padding: 0;
}
.psta_stampcard_inner .slider_inner {
    display: flex;
    flex-flow: row nowrap;
    margin: 0;
    padding: 0;
}
.psta_stampcard_inner .slider_inner [class^="howto"] {
    width: calc(100% / 6);
    margin: 0 7px;
    padding: 1.5em .5em 1em;
    background: rgb(var(--p-sta-color-W));
    border: 2px solid rgb(var(--p-sta-color-GY-dd));
    border-radius: 1em;
    position: relative;
}
.psta_stampcard_inner .slider_inner [class^="howto"]::before {
    content: attr(data-num);
    display: block;
    width: 2em;
    padding: 0;
    background: rgb(var(--p-sta-color-R2));
    border-radius: 2em;
    color: rgb(var(--p-sta-color-W));
    font-weight: 900;
    line-height: 2;
    position: absolute;
    top: -1em;
    left: calc(50% - 1em);
}
.psta_stampcard_inner .slider_inner [class^="howto"] figure {
    margin: 0;
    padding: 0 .5em;
    position: absolute;
    bottom: 1em
}
.psta_stampcard_inner .slider_inner [class^="howto"] figure:has(img[src*="00-namcoapp"]) {
    width: 70%;
    margin: 1em auto 0;
    position: static;
    filter: drop-shadow(0 0 .5px rgb(var(--p-sta-color-GY-cc))) drop-shadow(0 0 .5px rgb(var(--p-sta-color-GY-cc))) drop-shadow(0 0 .5px rgb(var(--p-sta-color-GY-cc)));
}
.psta_stampcard_inner .slider_inner [class^="howto"] p {
    font-size: 92.8%;
    font-weight: 700;
    line-height: 1.6;
}
.psta_stampcard_inner .slider_inner [class^="howto"] p small {
    display: block;
    margin-top: .3em;
    font-size: 75.8%;
    font-weight: 400;
}
.psta_stampcard_inner .slider_inner [class^="howto"] p {
    font-size: 92.8%;
    font-weight: 700;
}
.psta_stampcard_inner .slider_inner [class^="howto"] .appstore_link {
    margin: 1em 0 0;
    padding: 0 .5em;
}
.psta_stampcard_inner .slider_inner [class^="howto"] .appstore_link li {
    margin: .5em 0 0;
    padding: .1em 0;
}
.psta_stampcard_inner .slider_inner [class^="howto"] .appstore_link li a {
    display: block;
}
.psta_stampcard_inner .slider_inner [class^="howto"] .appstore_link li a img {
    display: block;
}
.psta_stampcard_inner .slider_inner [class^="howto"] .appstore_link li a:hover {
    opacity: .7;
}

@media (max-width: 800px) {
    .psta_stampcard_inner .coupon_inner {
        margin-top: 8vw;
    }
    .psta_stampcard_inner .coupon_title {
        padding: .4em .3em .4em 1em;
        line-height: 1.4
    }
    .psta_stampcard_inner .coupon_container {
        padding: 0;
        position: relative;
    }
    .psta_stampcard_inner .coupon_container::before,
    .psta_stampcard_inner .coupon_container::after {
        content: "";
        width: 5vw;
        height: 100%;
        position: absolute;
        top: 0;
        z-index: 2;
    }
    .psta_stampcard_inner .coupon_container::before {
        background: linear-gradient(to right, rgb(var(--p-sta-color-W)) 5%, rgb(var(--p-sta-color-W) / 0) 100%);
        left: 0;
    }
    .psta_stampcard_inner .coupon_container::after {
        background: linear-gradient(to left, rgb(var(--p-sta-color-W)) 5%, rgb(var(--p-sta-color-W) / 0) 100%);
        right: 0;
    }
    .psta_stampcard_inner .coupon_slider {
        margin: 0;
        padding: 30px 0;
        overflow-x: scroll;
        cursor: grab;
        user-select: none;
    }
    .psta_stampcard_inner .slider_inner {
        display: inline-flex;
        flex-flow: row nowrap;
        margin: 0;
        padding: 0 calc(5vw - 1.5em);
    }
    .psta_stampcard_inner .coupon_slider [class^="howto"] {
        width: 50vw;
        min-width: 200px;
        max-width: 320px;
        margin: 0 1.5em;
        font-size: clamp(100%,3vw,130%);
    }
    .psta_stampcard_inner .coupon_slider [class^="howto"] + [class^="howto"]::after {
        content: "";
        display: block;
        border: 1em solid transparent;
        border-left-color: rgb(var(--p-sta-color-R2));
        position: absolute;
        top: calc(50% - 1em);
        right: 100%;
    }
}

/* stampcard design list */
.psta_stampcard_inner .carddesign_inner {
    margin-top: 40px;
    text-align: left;
}
.psta_stampcard_inner .carddesign_title {
    display: inline-block;
    margin: 0;
    padding: .2em .5em .2em 1em;
    background: rgb(var(--p-sta-color-EG));
    color: rgb(var(--p-sta-color-W));
    font-size: clamp(110%,3vw,150%);
    font-weight: 900;
    position: relative;
}
.psta_stampcard_inner .carddesign_title::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(var(--p-sta-color-EG));
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 0 0;
    transform: skewX(45deg);
    z-index: -1;
}
.psta_stampcard_inner .carddesign_container {
    margin: 0;
    padding: 15px 10px;
    background: rgb(var(--p-sta-color-W));
    border: 2px solid rgb(var(--p-sta-color-EG));
    font-family: var(--global-font-family);
    text-align: center;
}
.psta_stampcard_inner .carddesign_container .itemlist {
    margin: 0;
    padding: 0;
}
.psta_stampcard_inner .carddesign_container .itemlist figure {
    margin: 0;
    padding: 15px 12px;
}
.psta_stampcard_inner .carddesign_container .itemlist figure img {
    box-shadow: .5em .5em .5em 0 rgb(var(--p-sta-color-K) / .2);
}
.psta_stampcard_inner .carddesign_container .itemlist figure figcaption {
    display: block;
    width: 10.5em;
    margin: .75em auto 0;
    padding: .3em .5em .4em;
    background: rgb(var(--p-sta-color-K));
    border: 1px solid rgb(var(--p-sta-color-R2));
    border-radius: 2em;
    color: rgb(var(--p-sta-color-W));
    font-size: 92.8%;
}

@media (max-width: 800px) {
    .psta_stampcard_inner .carddesign_inner {
        margin-top: 6vw;
    }
    .psta_stampcard_inner .carddesign_title {
        padding: .4em .5em .4em 1em;
        line-height: 1.4
    }
    .psta_stampcard_inner .carddesign_container {
        margin: 0;
        padding: 1em;
        font-size: min(2.8vw,100%)
    }
    .psta_stampcard_inner .carddesign_container .itemlist figure {
        padding: .75em .5em;
    }
}

/* campaign details */
.psta_stampcard_inner .details_inner {
    width: 100%;
    max-width: 900px;
    margin: 60px auto 0;
    padding: 0;
    background: rgb(var(--p-sta-color-W));
    border: 1px solid rgb(var(--p-sta-color-K));
    border-width: 1px 0;
    position: relative;
}
.psta_stampcard_inner .details_title {
    display: block;
    margin: 0;
    padding: .2em 1.5em;
    background: rgb(var(--p-sta-color-K));
    border: 2px solid rgb(var(--p-sta-color-R2));
    border-radius: 2em;
    color: rgb(var(--p-sta-color-W));
    font-size: clamp(110%,3vw,150%);
    font-weight: 900;
    position: absolute;
    top: calc(-1.1em - 2px);
    left: 50%;
    transform: translate(-50%, 0);
}
.psta_stampcard_inner .details_container {
    margin: 0;
    padding: 20px;
    font-family: var(--global-font-family);
    text-align: left;
}
.psta_stampcard_inner .details_container dt {
    display: inline-block;
    margin: 0;
    padding: .2em 1em;
    background: rgb(var(--p-sta-color-DB));
    border-radius: .4em;
    color: rgb(var(--p-sta-color-W));
    font-weight: 700;
}
.psta_stampcard_inner .details_container dd + dt {
    margin-top: 1.2em;
}
.psta_stampcard_inner .details_container dd {
    margin-top: .2em;
    padding: 0 0 1em;
    border-bottom: 1px dashed rgb(var(--p-sta-color-GY-cc));
}
.psta_stampcard_inner .details_container dd:last-of-type {
    border-bottom: none;
}
.psta_stampcard_inner .details_container dd .annotation {
    margin-top: .1em;
    font-size: 83%;
}
.psta_stampcard_inner .details_container dd .annotation li {
    margin-top: 0;
}
.psta_stampcard_inner .details_container dd table {
    width: auto;
    margin-top: 0;
    border: none;
}
.psta_stampcard_inner .details_container dd table td {
    padding: 0;
    border: none;
}
.psta_stampcard_inner .details_container dd table .chara_name::before {
    content: "　…　";
}
.psta_stampcard_inner .details_container .chara_riku {
    position: relative;
    z-index: 1;
}
.psta_stampcard_inner .details_container .chara_riku::after {
    content: "";
    width: 440px;
    height: 230px;
    background: url(/common/others/idolmaster/producers_station/assets/img/img_chara-riku03.png) no-repeat right bottom / contain;
    position: absolute;
    right: 0;
    bottom: -20px;
    z-index: 1;
}

.psta_stampcard_inner .annotation_inner {
    width: 100%;
    max-width: 900px;
    margin: 30px auto 0;
    padding: 20px;
    background: rgb(var(--p-sta-color-GY-99) / .15);
    text-align: left;
}

@media (max-width: 800px) {
    .psta_stampcard_inner .details_inner {
        margin-top: 10vw;
    }
    .psta_stampcard_inner .details_title {
        padding: .2em 1.5em .3em;
        top: calc(-1.2em - 2px);
        white-space: nowrap;
    }
    .psta_stampcard_inner .details_container {
        padding: 2em 1em;
    }
    .psta_stampcard_inner .details_container dd table {
        white-space: nowrap;
    }
    .psta_stampcard_inner .details_container dd table td {
        font-size: clamp(85.7%,3.6vw,100%);
    }
    .psta_stampcard_inner .details_container .chara_riku {
        padding-bottom: calc(40vw - 2em);
        z-index: 1;
    }
    .psta_stampcard_inner .details_container .chara_riku::after {
        width: min(73.33vw,440px);
        height: min(38.33vw,230px);
        bottom: -2em;
    }
    .psta_stampcard_inner .annotation_inner {
        margin-top: 5vw;
        padding: 1em;
    }
}

@media (min-width: 521px) and (max-width: 800px) {
    .psta_stampcard_inner .details_container .chara_riku {
        padding-bottom: 15vw
    }
    .psta_stampcard_inner .details_container .chara_riku::after {
        z-index: -1
    }
}



/* ========================
contents locations
========================= */
.psta_locations_inner {
    margin-top: 40px;
}
.psta_locations_inner .area_name {
    display: inline-block;
    margin: 0;
    padding: .2em .5em .2em 1em;
    background: rgb(var(--p-sta-color-K));
    color: rgb(var(--p-sta-color-W));
    font-size: clamp(110%,3vw,150%);
    font-weight: 900;
    position: relative;
}
.psta_locations_inner .area_name::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(var(--p-sta-color-K));
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 0 0;
    transform: skewX(45deg);
    z-index: -1;
}
.psta_locations_inner .store_list {
    justify-content: space-between;
    font-family: var(--global-font-family);
}
.psta_locations_inner .store_list .store {
    width: calc(50% - 30px);
    margin: 10px 10px 30px;
    padding: 1em;
    background: rgb(var(--p-sta-color-W));
    outline: 10px solid rgb(var(--p-sta-color-K) / .1);
}
.psta_locations_inner .store_list .store figure {
    width: 35%;
}
.psta_locations_inner .store_list .store figure img {
    width: auto;
    height: 55px;
    margin: 0;
}
.psta_locations_inner .store_list .store .store_info {
    width: 65%;
}
.psta_locations_inner .store_list .store .store_info .store_name {
    font-size: 114.2%;
    font-weight: 700;
}
.psta_locations_inner .store_list .store .store_info .store_info_inner {
    margin: 0;
    padding: 0 0 0 1em;
    border-left: 2px solid rgb(var(--p-sta-color-GY-cc));
}
.psta_locations_inner .store_list .store .store_info .store_info_inner > * {
    margin: 0;
}
.psta_locations_inner .store_list .store .store_info .store_links {
    margin: .5em 0 0;
}
.psta_locations_inner .store_list .store .store_info .store_links li {
    display: inline-block;
    margin: 0;
    padding: 0;
}
.psta_locations_inner .store_list .store .store_info .store_links li + li {
    margin-left: .3em;
}
.psta_locations_inner .store_list .store .store_info .store_links li a {
    display: block;
    width: 36px;
    height: 36px;
    background: url(/common/tmpl/images/icon-set/ico_arrow_w.svg) no-repeat center center / 66%, rgb(var(--p-sta-color-K));
    border-radius: .5em;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}
.psta_locations_inner .store_list .store .store_info .store_links .hp a {
    background-image: url(/common/tmpl/images/icon-set/ico_home_w.svg);
}
.psta_locations_inner .store_list .store .store_info .store_links .tw a {
    background: url(/common/tmpl/images/icon-set/ico_sns-set.png) no-repeat left bottom / auto 400%, rgb(var(--p-sta-color-K));
}
.psta_locations_inner .store_list .store .store_info .store_links li a:hover {
    opacity: .7;
}

@media (max-width: 800px) {
    .psta_locations_inner {
        margin-top: 6vw;
    }
    .psta_locations_inner .store_list {
        justify-content: space-between;
        font-family: var(--global-font-family);
    }
    .psta_locations_inner .store_list .store {
        width: calc(100% - 20px);
        margin: 0px 10px 35px;
        padding: 1em;
    }
    .psta_locations_inner .store_list .store figure {
        width: 35%;
    }
    .psta_locations_inner .store_list .store figure img {
        height: 7.8vw;
    }
    .psta_locations_inner .store_list .store .store_info {
        width: 65%;
        font-size: min(3.2vw,100%)
    }
    .psta_locations_inner .store_list .store .store_info .store_info_inner {
        margin: 0;
    }
}

@media (max-width: 480px) {
    .psta_locations_inner .store_list .store figure {
        max-width: 200px;
    }
    .psta_locations_inner .store_list .store figure img {
        height: 7vw;
    }
    .psta_locations_inner .store_list .store .store_info .store_name {
        height: calc(7vw + .5em);
        line-height: 7vw;
    }
    .psta_locations_inner .store_list .store .store_info .store_info_inner {
        margin: 0 0 0 -53%;
    }
}



/* ========================
contents event info
========================= */
.psta_event_inner {
    width: 100%;
    max-width: 1020px;
    margin: 40px auto 0;
}
.psta_event_inner .infoList {
    font-family: var(--global-font-family);
    font-size: clamp(100%,3vw,128%);
}
.psta_event_inner .infoList dt {
    width: 8em;
    margin: 0;
    color: rgb(var(--p-sta-color-R2));
}
.psta_event_inner .infoList dd {
    width: 100%;
    margin: 0 0 .7em;
    padding: 0 0 .5em 8em;
    border-bottom: 1px dashed rgb(var(--p-sta-color-GY-33));
}
.psta_event_inner .infoList dd p {
    clear: none;
}
.psta_event_inner .infoList dd a {
    display: block;
}
.psta_event_inner .infoList dd a[target="_blank"]::after {
    content: "\00a0";
    display: inline-block;
    width: 1.2em;
    background: url(/common/tmpl/images/icon-set/ico_target-blank_r.svg) no-repeat center center;
    background-image: url(/common/tmpl/images/icon-set/ico_target-blank.svg);
}
.psta_event_inner .infoList dd a[target="_blank"]:hover::after {
    background-image: url(/common/tmpl/images/icon-set/ico_target-blank_r.svg);
}

@media (max-width: 800px) {
    .psta_event_inner {
        margin-top: 6vw;
    }
}

@media (max-width: 480px) {
    .psta_event_inner .infoList dt {
        width: 100%;
        float: none;
    }
    .psta_event_inner .infoList dd {
        width: 100%;
        padding: 0 0 .5em;
    }
}






/* ========================
contents footer
========================= */
#contents-event + .fixedBG_line {
    margin-top: 150px;
}
#contents-footer {
    margin: 0;
    padding: 30px 0 0;
    background: rgb(var(--p-sta-color-W));
    outline: 1px solid rgb(var(--p-sta-color-W));
    text-align: center;
}
.official_site {
    width: 50%;
    max-width: 240px;
    margin: 0 auto;
    padding: 0;
}
.official_site a {
    display: block;
    transition: .3s;
}
.official_site a:hover {
    transform: scale(1.05)
}
.official_site a img {
    display: block;
}
.official_copy {
    margin: 1em auto 0;
    padding: 0;
}
.official_copy small {
    display: block;
    font-family: var(--global-font-family);
}

@media (max-width: 800px) {
    #contents-event + .fixedBG_line {
        margin-top: 20vw;
    }
    #contents-footer {
        font-size: min(2.8vw,100%);
    }
}





































