/* Campaign styles are scoped for later Mercart embedding. */
#kansosan-campaign{--cp-ink:#303438;--cp-yellow:#fff56b;--cp-cream:#fffbdb;--cp-pink:#e7589e;color:var(--cp-ink);                   
        font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
        font-size:1.1rem;
        font-weight:600;line-height:1.9;overflow:hidden
}
#kansosan-campaign *,#kansosan-campaign *:before,#kansosan-campaign *:after{box-sizing:border-box}
#kansosan-campaign img{display:block;max-width:100%;height:auto}
#kansosan-campaign h1,#kansosan-campaign h2,#kansosan-campaign h3,#kansosan-campaign p{margin:0}
#kansosan-campaign .cp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#kansosan-campaign .cp-inner{width:min(1080px,calc(100% - 64px));margin-inline:auto}
/* Hero layers: background follows viewport; artwork follows the centered stage. */
#kansosan-campaign .cp-hero{position:relative;isolation:isolate}
#kansosan-campaign .cp-hero-background{position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;max-width:none;z-index:-1;pointer-events:none}
#kansosan-campaign .cp-copyright{position:absolute;top:12px;right:18px;width:120px;z-index:2}
#kansosan-campaign .cp-hero-inner{--kv-width:72%;--star-width:19%;--star-top:22%;position:relative;max-width:1280px;margin:auto;padding-top:45px}
#kansosan-campaign .cp-kv{position:relative;width:var(--kv-width);margin-inline:auto;z-index:1}
#kansosan-campaign .cp-star{position:absolute;top:var(--star-top);width:var(--star-width);pointer-events:none}
#kansosan-campaign .cp-star-left{left:-9%;width:25%;top:32%}
#kansosan-campaign .cp-star-right{right:-9%;width:25%;top:32%}
#kansosan-campaign .cp-intro{padding-top:85px;padding-bottom:85px}
#kansosan-campaign .cp-intro-box{margin:auto 5rem;position:relative;border:2px solid #464646;border-radius:28px;text-align:center;padding:55px 85px 60px;background:white}
#kansosan-campaign .cp-intro-box h2{font-size:38px;line-height:1.7;margin-bottom:35px}
#kansosan-campaign .cp-intro-box h2 img{width:100%;max-width:650px;margin:auto}
#kansosan-campaign .cp-intro-small{display:block;font-size:26px}
#kansosan-campaign .cp-intro-box strong{color:var(--cp-pink);text-decoration:underline;text-decoration-color:var(--cp-yellow);text-decoration-thickness:9px;text-underline-offset:5px}
#kansosan-campaign .cp-intro-box p{font-size:20px;line-height:2.1}
#kansosan-campaign .cp-royal{position:absolute;width:125px;bottom:38px}
#kansosan-campaign .cp-left{left:-38px}#kansosan-campaign .cp-right{right:-38px}
#kansosan-campaign .cp-guide{position:relative;width:100vw;max-width:none;margin-inline:calc(50% - 50vw);background:url("../img/hiketsu_back_pc.svg") center top / 100% 100% no-repeat;padding:0 0 85px;margin-top:28px}
#kansosan-campaign .cp-guide-title{position:relative;z-index:1;transform:translateY(-48px);margin:auto;max-width:840px;background:white;border:2px solid var(--cp-ink);border-radius:100px;padding:24px 36px;font-size:30px;line-height:1.6;text-align:center}
#kansosan-campaign .cp-guide-title:has(img){border:0;background:transparent;padding:0}
#kansosan-campaign .cp-guide-title img{width:100%}
#kansosan-campaign .cp-pink{color:var(--cp-pink)}
#kansosan-campaign .cp-guide-steps,#kansosan-campaign .cp-receive-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:24px 24px 0}
#kansosan-campaign .cp-guide-steps li,#kansosan-campaign .cp-receive-steps li{position:relative;background:white;border:2px solid var(--cp-ink);border-radius:24px;padding:40px 22px 24px;display:flex;flex-direction:column;justify-content:center}
#kansosan-campaign .cp-step{position:absolute;width:66px;left:-14px;top:-20px}
#kansosan-campaign .cp-guide-steps p{font-size:17px;line-height:1.9}
#kansosan-campaign .cp-sections{padding-top:105px;padding-bottom:100px}
#kansosan-campaign .cp-lottery{padding:50px 35px 55px;border-radius:50px;background:repeating-linear-gradient(115deg,#fff 0 3px,#fff8bb 3px 5px,#fff 5px 8px)}
#kansosan-campaign .cp-section-heading{max-width:900px;margin:0 auto 65px;position:relative;text-align:center}
#kansosan-campaign .cp-section-heading img{width:100%}
#kansosan-campaign .cp-heading-fallback{padding:36px 40px 30px;border:2px solid var(--cp-ink);border-radius:90px;background:#fff9aa;font-size:30px;line-height:1.5;box-shadow:inset 15px 15px white}
#kansosan-campaign #campaign-1 .cp-heading-fallback{background:#fce1ed}
#kansosan-campaign .cp-number{position:absolute;left:0;top:-28px;background:#fff9aa;border:1.5px solid var(--cp-ink);border-radius:45px;padding:8px 28px;font-size:28px}
#kansosan-campaign #campaign-1 .cp-number{background:#fce1ed}
#kansosan-campaign .cp-center{text-align:center}
#kansosan-campaign .cp-lead{font-size:20px;line-height:1.9;margin-bottom:28px}
#kansosan-campaign .cp-condition{font-size:19px;color:#e65b6e;margin-bottom:38px}
#kansosan-campaign .cp-condition small{display:block;color:var(--cp-ink);font-size:15px}
#kansosan-campaign .cp-receive-title{font-size:26px;text-align:center;margin:0 auto 40px;max-width:750px}
#kansosan-campaign .cp-receive-title img{margin:auto;max-height:110px; padding: 1rem 0; }
#kansosan-campaign .cp-receive-steps{margin:0 0 45px}
#kansosan-campaign .cp-receive-steps li{text-align:center;padding:30px 15px 20px}
#kansosan-campaign .cp-receive-icon{height:90px;width:110px;object-fit:contain;margin:10px auto 20px}
#kansosan-campaign .cp-icon-fallback{font-size:40px;line-height:1.4;font-weight:800;display:block;min-height:100px;padding-top:10px}
#kansosan-campaign .cp-receive-steps p{font-size:17px;line-height:1.7}
#kansosan-campaign .cp-full{width:100%}
#kansosan-campaign .cp-prizes{max-width:960px;margin:auto}
#kansosan-campaign .cp-list-box{position:relative;max-width:820px;border:1.5px solid var(--cp-ink);border-radius:20px;background:#fffac7;padding:52px 40px 28px;margin:55px auto 40px}
#kansosan-campaign .cp-list-box h3{position:absolute;top:18px;left:-10px;background:var(--cp-pink);color:white;border:2px solid white;outline:1px solid var(--cp-ink);border-radius:0 24px 24px 0;padding:1px 28px;font-size:19px}
#kansosan-campaign .cp-list-box ul{
    list-style:none;margin:10px 0 0;padding:0;
        font-size: 1.25rem;
    line-height: 1.75;
    font-weight: 700;
}

#kansosan-campaign .cp-list-box li{padding-left:1.4em;position:relative}
#kansosan-campaign .cp-list-box li:before{content:"○";position:absolute;left:0}
#kansosan-campaign .cp-list-box small{font-size:.85em}
#kansosan-campaign .cp-button{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 auto;width:min(640px,100%);min-height:66px;border:1.5px solid var(--cp-ink);border-radius:50px;background:#fff6a9;color:var(--cp-ink);font:inherit;font-size:20px;text-decoration:none;text-align:center;padding:12px 24px;transition:background .2s}
#kansosan-campaign a.cp-button:hover{background:#fff15c}
#kansosan-campaign .cp-button > .cp-button-arrow{display:block;width:auto;height:1.25rem;flex-shrink:0;margin:0;align-self:center}
#kansosan-campaign .cp-button:disabled{cursor:default}
#kansosan-campaign .cp-link-pending{text-align:center;font-size:12px;color:#777;margin-top:6px}
#kansosan-campaign .cp-feature{margin-top:100px}
#kansosan-campaign .cp-feature .cp-section-heading{margin-bottom:55px}
#kansosan-campaign .cp-promo-art{max-width:990px;margin:auto}
#kansosan-campaign .cp-notes{max-width:990px;margin:100px auto 0}
#kansosan-campaign .cp-notes summary{cursor:pointer;list-style:none;padding:14px 22px;background:var(--cp-pink);color:white;position:relative;font-size:17px}
#kansosan-campaign .cp-notes summary::-webkit-details-marker{display:none}
#kansosan-campaign .cp-notes summary:after{content:"＋";position:absolute;right:18px}
#kansosan-campaign .cp-notes[open] summary:after{content:"ー"}
#kansosan-campaign .cp-notes>div{padding:25px 22px}
#kansosan-campaign .cp-notes p{
        font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 8px;
}
#kansosan-campaign a:focus-visible,#kansosan-campaign summary:focus-visible{outline:3px solid #b83278;outline-offset:4px}


@media(max-width:768px){
#kansosan-campaign  #campaign-1.cp-lottery{ background: repeating-linear-gradient(115deg,#fff 0 3px,#fff8bb 3px 5px,#fff 5px 2px); }
#kansosan-campaign .cp-copyright{top:6px;right:8px;width:76px}
#kansosan-campaign .cp-hero-inner{--kv-width:82%;--star-width:21%;--star-top:20%;padding-top:22px}
#kansosan-campaign .cp-inner{width:calc(100% - 36px)}
#kansosan-campaign .cp-intro{padding-top:40px;padding-bottom:60px}
#kansosan-campaign .cp-intro-box h2{font-size:23px;margin-bottom:22px}
#kansosan-campaign .cp-intro-small{font-size:17px}
#kansosan-campaign .cp-intro-box strong{text-decoration-thickness:5px}
#kansosan-campaign .cp-intro-box p{         font-size: 1rem;        line-height: 1.75; }
#kansosan-campaign .cp-royal{width:44px;bottom:24px}
#kansosan-campaign .cp-left{left: -22px;}#kansosan-campaign .cp-right{right: -22px;}
#kansosan-campaign .cp-guide{background-image:url("../img/hiketsu_back_sp.svg");padding-bottom:35px;margin-top:15px}
#kansosan-campaign .cp-guide-title{font-size:17px;padding:16px 14px;transform:translateY(-35px);border-width:1.5px}
#kansosan-campaign .cp-guide-steps{grid-template-columns:1fr;gap:18px;margin:0 0 0}
#kansosan-campaign .cp-guide-steps li{padding:20px 18px 20px 66px;min-height:90px;border-radius:14px;border-width:1px}
#kansosan-campaign .cp-guide-steps p{ font-size: 0.9rem;
        line-height: 1.5; }
#kansosan-campaign .cp-step{        
        width: 58px;
        left: -6px;
        top: -11px;
}
#kansosan-campaign .cp-sections{padding-top:65px;padding-bottom:35px}
#kansosan-campaign .cp-lottery{padding:35px 14px 28px;border-radius:24px}
#kansosan-campaign .cp-heading-fallback{font-size:17px;padding:26px 15px 18px;border-width:1px;box-shadow:inset 8px 8px white}
#kansosan-campaign .cp-number{font-size:18px;padding:4px 15px;top:-20px}
#kansosan-campaign .cp-section-heading{margin-bottom:28px}
#kansosan-campaign .cp-lead{font-size:0.9rem;margin-bottom:20px; line-height: 1.5; }
#kansosan-campaign .cp-condition{
    font-size: 0.9rem;
        margin-bottom: 4rem;
        font-weight: 600;
        line-height: 1.5;
}
#kansosan-campaign .cp-condition small{font-size:10px}
#kansosan-campaign .cp-receive-title{font-size:17px;margin-bottom:18px}
#kansosan-campaign .cp-receive-steps{grid-template-columns:1fr;gap:12px;margin-bottom:24px}
#kansosan-campaign .cp-receive-steps li{display:grid;grid-template-columns:54px 1fr;gap:8px;align-items:center;padding:12px 10px 12px 50px;border-radius:14px;border-width:1px}
#kansosan-campaign .cp-receive-steps .cp-step{width:32px;left:8px;top:10px}
#kansosan-campaign .cp-receive-steps p{font-size:11px}
#kansosan-campaign .cp-icon-fallback{font-size:23px;min-height:0;padding:0}
#kansosan-campaign .cp-receive-icon{width:48px;height:48px;margin:0}
#kansosan-campaign .cp-list-box{padding:44px 16px 18px;margin:28px auto 22px;border-radius:14px}
#kansosan-campaign .cp-list-box h3{font-size:13px;padding:1px 16px;top:12px;left:-6px}
#kansosan-campaign .cp-list-box ul{font-size:0.9rem;line-height:1.9}
#kansosan-campaign .cp-button{font-size:13px;min-height:44px;padding:9px 14px;gap:15px}
#kansosan-campaign .cp-feature{margin-top:60px}
#kansosan-campaign .cp-feature .cp-section-heading{margin-bottom:30px}
#kansosan-campaign .cp-notes{margin-top:45px}
#kansosan-campaign .cp-notes summary{font-size:0.9rem;padding:10px 12px}
#kansosan-campaign .cp-notes>div{padding:18px 6px}
#kansosan-campaign .cp-notes p{font-size:11px}
#kansosan-campaign .cp-pc{display:none}
#kansosan-campaign .cp-intro-box {
    margin: auto 1rem;
    padding:28px 22px 34px;
    border-width:2px;
    border-radius:16px
}
#kansosan-campaign #campaign-1 .cp-kantan-char {
        position: absolute;
        right: -2rem;
        bottom: 2.5rem;
        width: 36%;
}
    #kansosan-campaign #campaign-1 .cp-receive-heading { max-width: 70vw; margin: auto; padding: 0; } 
/*#kansosan-campaign .cp-receive-heading{padding-right:68px}*/
  #kansosan-campaign  .cp-full:nth-child(1) {
            border-radius: 11px;
        }
    #kansosan-campaign .cp-list-box li {
        font-size: 0.8rem;
    }
}
@media(prefers-reduced-motion:reduce){#kansosan-campaign *{transition:none!important}}

/* Separately exported characters around the guide headings. */
#kansosan-campaign .cp-guide-heading{position:relative;max-width:960px;margin:auto;padding-left:100px}
#kansosan-campaign .cp-hiketsu-char{position:absolute;left:0;bottom:18px;width:120px;z-index:2}
#kansosan-campaign .cp-receive-heading{
    position:relative;max-width:850px;
    margin: 4rem auto auto;
    }
   #kansosan-campaign #cpKikanAttn{ 
        text-align: center;
background: white;
    border: 2px solid #333;
    border-radius: 3rem;
    line-height: 3;
    width: fit-content;
    margin: auto;
    padding: 0 2rem;
     }
#kansosan-campaign .cp-kantan-char{
    position:absolute;
    right: -5rem;
    bottom: -4rem;
    width: 238px;
    z-index: 11;
}
@media(max-width:768px){
#kansosan-campaign .cp-guide-heading{padding-left:42px}
#kansosan-campaign .cp-hiketsu-char{width:55px;bottom:23px}
#kansosan-campaign .cp-kantan-char{
/*right: -5rem;
    bottom: -4rem;
    width: 238px;
    z-index: 11;*/
}
}

.cp-full:nth-child(1){
    border-radius: 2.15rem;
}
/* Exported combined guide and list labels. */
#kansosan-campaign .cp-guide-heading.cp-guide-combined{padding-left:0}
#kansosan-campaign .cp-list-box h3:has(img){width:240px;padding:0;border:0;outline:0;border-radius:0;background:transparent}
#kansosan-campaign .cp-list-box h3 img{width:100%}
#kansosan-campaign .cp-list-box:has(h3 img){padding-top:85px}
@media(max-width:768px){
#kansosan-campaign .cp-list-box h3:has(img){width:135px}
#kansosan-campaign .cp-list-box:has(h3 img){padding-top:52px}
}

.ribbonLeftFix{ margin-left: -2px; }

/* 追加 */
@media(max-width:768px){
#kansosan-campaign #cpKikanAttn{font-size: 0.8em; line-height: 22px; padding: 0.5rem 2rem;}
}