/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
font-size:3.5vw;
line-height:6vw;
color:#333;
font-weight:500;
letter-spacing:.025em;
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
PAGE
------------------------------------------------------------*/
.kv{
  position: relative;
  width: 100%;
  min-height: 70svh;
  overflow: clip; /* hiddenでもOK */
  z-index: 0;
}

.kv__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  width:60vw;
  height: 51vw;
  transform: translate(-50%, -75%);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.kv__bg{
  position: absolute;
  inset: -15% 0 -15% 0;
  background: url(img/kv-sp2025.jpg) center/cover no-repeat;
  z-index: -1;
  will-change: transform;
  transform: translate3d(0,0,0);
}

@media (prefers-reduced-motion: reduce){
  .kv__bg{ transform: none !important; }
}

.ly-prise{
font-size:3.5vw;
line-height:2;
color:#fff;
position:absolute;
bottom:16vw;
right:3vw;
font-weight:bold;
}


#index0{
width:100%;
height:40vw;
background:url(img/cont-bg01sp.png) no-repeat center top;
background-size:100%;
margin:-12vw 0 0;
z-index:100;
position:relative;
padding:16vw 0 0 0;
}
.ev-date-bnr{
width:80vw;
height:16vw;
margin:0 auto;
}



#index1{
padding:8vw 0 16vw;
width:100vw;
margin:0 auto;
}

.i1-cc{
width:90vw;
margin:0 auto 7vw;
}

.i1desc{
font-size:4vw;
line-height:6vw;
width:90vw;
margin:0 auto;
}

.i-feed{
width:90vw;
margin:0 auto;
padding:8vw 0;
}



.prizeBox{
position:relative;
width:94.138vw;
margin:0 auto;
padding:2.586vw 0;
background:url(img/pr-bg-sprite.jpg) repeat;
background-size:20vw;
border-radius:2vw;
}
.prizeBox::before{
content:'';
width:94.138vw;
height:2.586vw;
position:absolute;
top:0;
left:0;
background:url(img/flame-top.png) no-repeat center top;
background-size:94.138vw;
z-index:10;
}
.prizeBox::after{
content:'';
width:94.138vw;
height:2.586vw;
position:absolute;
bottom:0;
left:0;
background:url(img/flame-bottom.png) no-repeat center top;
background-size:94.138vw;
z-index:10;
}
.prize-flame{
padding:1.724vw 4vw;
position:relative;
background:url(img/flame-v.png) repeat-y center center;
background-size:94.138vw;
z-index:11;
}

.i1md{
width:83.621vw;
height:10.345vw;
background:url(img/pr-mdbg.png) no-repeat center top;
background-size:83.621vw;
margin:0 auto 4vw;
color:#fff;
text-align:center;
font-size:4.5vw;
font-weight:bold;
line-height:7.5vw;
}



.award{
padding-left:12vw;
position:relative;
font-size:7vw;
line-height:12vw;
color:#ea617c;
font-weight:bold;
}
.award span{
font-size:4vw;
color:#ea617c;
font-weight:bold;
}

.award-sub{
font-size:4vw;
line-height:6vw;
color:#ea617c;
font-weight:bold;
padding-left:12vw;
margin-bottom:4vw;
}

.award::before{
content:'';
width:9vw;
height:9vw;
background:url(img/icon-crown.svg) no-repeat;
background-size:9vw;
position:absolute;
top:0vw;
left:0vw;
}
.prize{
padding-left:12vw;
font-size:4.5vw;
line-height:6vw;
font-weight:bold;
margin-bottom:4vw;
}
.prize span{
font-size:3.6vw;
line-height:5.5vw;
}


.pp-col3{
display:flex;
justify-content:space-between;
margin:0 0 10vw;
}
.pp-col3 li{
width:33%;
}



.pp-list{
margin:0 3vw 10vw 12vw;
}
.pp-list li{
font-size:4.5vw;
line-height:6vw;
font-weight:bold;
padding:3vw 0 3vw 1em;
position:relative;
border-bottom:1px dotted #999;
}
.pp-list li::before{
content:'';
width:1vw;
height:1vw;
background:#333;
position:absolute;
top:5.5vw;
border-radius:50%;
left:.5vw;
margin-top:-.5vw;
}

.pp-list li span{
display:block;
font-size:3.8vw;
line-height:1.5em;
}

.pp-list li:last-child{
border:0;
}



.pp-list-inline{
margin-left:12vw;
}
.pp-list-inline{
display:flex;
justify-content:left;
flex-wrap:wrap;
margin-bottom:10vw;
}
.pp-list-inline li{
padding-left:1em;
position:relative;
font-size:4.5vw;
line-height:6vw;
font-weight:bold;
margin-right:1em;
}
.pp-list-inline li::before{
content:'';
width:1vw;
height:1vw;
background:#333;
position:absolute;
top:2.5vw;
border-radius:50%;
left:.5vw;
margin-top:-.5vw;
}

.pp-cap{
text-align:center;
font-size:3.5vw;
}



#index2{
width:100vw;
margin:0 auto;
background:url(img/tile-i2.jpg) repeat;
background-size:10vw;
}

.i2Inner{
padding:10vw 0;
}


.i2md{
width:83.621vw;
height:10.345vw;
background:url(img/pr-mdbg.png) no-repeat center top;
background-size:83.621vw;
margin:0 auto 4vw;
color:#fff;
text-align:center;
font-size:4.5vw;
font-weight:bold;
line-height:7.5vw;
}
.appStep{
width:92vw;
display:flex;
justify-content:space-between;
margin:0 auto 5vw;
flex-wrap:wrap;
}
.appStep li{
width:100%;
background:#fff;
padding:4vw;
margin-bottom:4vw;
}

.stepTtlArea{
border-bottom:1px solid #ee869a;
margin-bottom:4vw;
}
.stepNum{
font-size:4vw;
line-height:6vw;
font-style:italic;
font-weight:bold;
color:#ee869a;
}
.stepNum span{
font-size:1.4em;
margin-left:.2em;
}
.stepTtl{
font-size:4vw;
line-height:6vw;
font-style:italic;
font-weight:bold;
}

.stepText{
font-siz:3.5vw;
line-height:6vw;
font-weight:bold;
margin-bottom:4vw;
}
.stepmd{
background:#ee869a;
color:#fff;
text-align:center;
padding:0 4vw;
font-size:3.5vw;
line-height:8vw;
height:8vw;
border-radius:4vw;
margin-bottom:2vw;
font-weight:bold;
}

.stepImg{
text-align:center;
display:block;
margin:4vw auto 2vw;
}

.stepCap{
padding-left:1.2em;
position:relative;
font-size:3vw;
line-height:4.5vw;
font-weight:bold;
}
.stepCap::before{
content:'※';
position:absolute;
top:0;
left:0;
}

.i2Cap{
width:90vw;
margin:0 auto;
font-size:3.5vw;
font-weight:500;
line-height:6vw;
color:#fff;
}
.i2Cap li{
margin-bottom:1em;
padding-left:1.2em;
position:relative;
}
.i2Cap li:last-child{
margin:0;
}
.i2Cap li::before{
content:'※';
position:absolute;
top:0;
left:0;
}




#index3{
padding:12vw 0;
}
.i3md{
width:83.621vw;
height:10.345vw;
background:url(img/pr-mdbg.png) no-repeat center top;
background-size:83.621vw;
margin:0 auto 4vw;
color:#fff;
text-align:center;
font-size:4.5vw;
font-weight:bold;
line-height:7.5vw;
}
.i3cc{
text-align:center;
font-size:6vw;
line-height:12vw;
position:relative;
font-weight:bold;
margin-bottom:8vw;
}

.uline{
padding:0 4vw 2vw;
border-bottom:1vw solid #ea6182;
}

.pinkT{
font-size:8vw;
color:#ea6182;
position:relative;
top:0vw;
margin:0 .1em;
}

.i3desc{
width:92vw;
margin:0 auto 6vw;
font-size:4.5vw;
line-height:6.75vw;
}


.clickMap {
width:100vw;
margin:0 auto 7vw;
    position: relative;
}

.overlay-link {
    position: absolute;
    width: 10.067vw;  /* リンク領域の幅 */
    height: 12.081vw; /* リンク領域の高さ */
    cursor: pointer;
}

/* 各リンク領域の位置を調整 */
.clink01 { top: 6.264vw; left: 76.622vw; }
.clink02 { top: 31.208vw; left: 71.029vw; }
.clink03 { top: 37.919vw; left: 44.183vw; }
.clink04 { top: 8.725vw; left: 40.157vw; }
.clink05 { top: 41.723vw; left: 17.45vw; }
.clink06 { top: 52.237vw; left: 79.195vw; }
.clink07 { top: 0px; left: 53.468vw; }



.spotList {
    display: none;
    background:#fffcdb;
    padding: 10vw 0;
    margin-top: 10vw;
}

.anchor {
padding-top:4vw;
    margin-top: -4vw;
	margin-bottom:8vw;
}

.spotList.active {
    display: block;
}

.spotListInner{
width:92vw;
margin:0 auto;
}


.mapCap{
width:90vw;
margin:0 auto 12vw;
font-size:3.5vw;
line-height:6vw;
}
.mapCap li{
padding-left:1em;
position:relative;
}
.mapCap li::before{
content:'※';
position:absolute;
top:0;
left:0;
}

button.menu-toggle{
background:url(img/btn01bg.svg) no-repeat;
background-size:78.261vw;
width:78.261vw;
height:16.425vw;
border:none;
color:#fff;
text-align:center;
margin:0 auto;
font-size:5.072vw;
line-height:16.425vw;
font-weight:bold;
cursor:pointer;
}



.areaTitle{
text-align:center;
background:url(img/pr-mdbg02.svg) no-repeat center center;
background-size:cover;
font-size:5vw;
font-weight:bold;
line-height:12vw;
margin-bottom:4vw;
color:#fff;
}

.spotName{
margin-left:6vw;
}
.spotName li{
font-size:4.5vw;
line-height:6.75vw;
}



#index4{
background:url(img/tile-i3.jpg) repeat;
background-size:20vw;
}
.i4Inner{
width:100vw;
margin:0 auto;
padding:20vw 0 0;
}

.i4ttl{
font-size:9vw;
line-height:10vw;
margin-bottom:15vw;
text-align:center;
color:#ea617c;
font-weight:bold;
}


.i4md{
width:83.621vw;
height:10.345vw;
background:url(img/pr-mdbg.png) no-repeat center top;
background-size:83.621vw;
margin:0 auto 4vw;
color:#fff;
text-align:center;
font-size:4.5vw;
font-weight:bold;
line-height:7.5vw;
}

.topPrize{
text-align:center;
font-size:8vw;
line-height:12vw;
font-weight:bold;
color:#ea617c;
padding-top:12vw;
position:relative;
}
.topPrize:before{
content:'';
width:9vw;
height:9vw;
background:url(img/icon-crown.svg) no-repeat center top;
background-size:9vw;
position:absolute;
top:0;
left:50%;
margin-left:-4.5vw;
}
.winner{
text-align:center;
font-size:4vw;
line-height:6vw;
margin-bottom:6vw;
}
.photo-vt{
width:80vw;
margin:0 auto 10vw;
}

.top-comment{
width:92vw;
margin:0 auto 20vw;
background:#fff4cd;
padding:2vw;
position:relative;
text-align:center;
}
.top-comment-inner{
border:1px solid #8e5d3d;
padding:3vw 6vw 4vw;
color:#8e5d3d;
font-size:3.5vw;
line-height:6vw;
}
.top-com-md{
font-size:4.5vw;
line-height:7vw;
margin-bottom:.5em;
}




.pr-frame{
width:90vw;
margin:0 auto;
text-align:center;
font-size:4vw;
line-height:6vw;
font-weight:bold;
color:#40220f;
padding:4vw 0;
background:url(img/pr-frame.jpg) no-repeat;
background-size:90vw;
}



.cmd{
text-align:center;
color:#8e5d3d;
font-size:4.5vw;
line-height:7vw;
font-weight:bold;
margin-bottom:1vw;
}

button.ph-toggle{
background:url(img/btn01bg.svg) no-repeat;
background-size:78.261vw;
width:78.261vw;
height:16.425vw;
border:none;
color:#fff;
text-align:center;
margin:0 auto;
font-size:5.072vw;
line-height:16.425vw;
font-weight:bold;
cursor:pointer;
}

.pb100{
padding-bottom:20vw;
}



.photoList{
background:#fff;
padding:16vw 0;
margin:20vw auto 0;
}
.photoList section{
margin-bottom:16vw;
}

.photo{
margin-bottom:12vw;
}


.pmd{
text-align:center;
color:#ea617c;
font-size:6vw;
line-height:9vw;
font-weight:bold;
margin-bottom:2vw;
}
.pmd span{
display:inline-block;
padding:0 12vw;
position:relative;
}
.pmd span::before{
content:'';
width:9vw;
height:9vw;
background:url(img/icon-crown.svg) no-repeat left top;
background-size:9vw;
position:absolute;
top:-2vw;
left:0;
}

.pmd2{
text-align:center;
font-weight:bold;
font-size:4.5vw;
line-height:6.75vw;
}

.photo-s{
width:80vw;
margin:0 auto;
}

.photo-b{
width:92vw;
margin:0 auto;
}
.photo-v{
width:70vw;
margin:0 auto;
}



#index5{
width:100vw;
background:#fadce9;
margin:0 auto;
padding:12vw 0;
}
.i5md{
width:83.621vw;
height:10.345vw;
background:url(img/pr-mdbg.png) no-repeat center top;
background-size:83.621vw;
margin:0 auto 4vw;
color:#fff;
text-align:center;
font-size:4.5vw;
font-weight:bold;
line-height:7.5vw;
}


.rules{
width:92vw;
background:#fff;
border-radius:4vw;
padding:6vw 6vw 10vw;
margin:0 auto;
}
.i5Title{
text-align:center;
font-size:5vw;
font-weight:bold;
line-height:9vw;
margin-bottom:4vw;
color:#ea617c;
}

.ruleT{
width:100%;
border:1px solid #ccc;
font-size:3.5vw;
line-height:6vw;
margin-bottom:10vw;
}
.ruleT th{
padding:3vw 2vw;
border:1px solid #ccc;
vertical-align:top;
text-align:left;
white-space:nowrap;
background:#f8f8f8;
}
.ruleT td{
padding:3vw 2vw;
border:1px solid #ccc;
}

.decimal{
margin-left:1.5em;
}
.decimal li{
list-style-type:decimal;
font-size:3.5vw;
line-height:6vw;
}



button.term-toggle{
background:url(img/btn02bg.svg) no-repeat;
background-size:78.261vw;
width:78.261vw;
height:16.425vw;
border:none;
color:#fff;
text-align:center;
margin:0 auto;
font-size:5.072vw;
line-height:16.425vw;
font-weight:bold;
cursor:pointer;
}



.terms{
padding:12vw 0 0;
font-size:4vw;
line-height:6vw;
}
.term-desc{
margin-bottom:8vw;
}


.term{
margin-bottom:8vw;
font-size:3.5vw;
line-height:5vw;
}
.term-ttl{
font-size:5vw;
line-height:7.5vw;
border-bottom:1px solid #ccc;
padding-bottom:1vw;
margin-bottom:3vw;
}

.termList{
}
.termList li{
font-size:3.2vw;
line-height:4.9vw;
padding-left:1em;
position:relative;
}
.termList li::before{
content:'';
width:1vw;
height:1vw;
background:#333;
border-radius:50%;
position:absolute;
top:1.7vw;
left:.5vw;
}

.termCap{
margin-top:1em;
}
.termCap li{
padding-left:1.2em;
position:relative;
font-size:3vw;
line-height:4.5vw;
}
.termCap li::before{
content:'※';
position:absolute;
top:0;
left:0;
}



/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/

footer{
background:#ea6176;
width:100vw;
margin:0 auto;
padding:10vw 0 4vw;
color:#fff;
}
.fTitle{
text-align:center;
font-size:5.5vw;
line-height:7.5vw;
margin-bottom:2vw;
font-weight:bold;
}
.forg{
width:92vw;
margin:0 auto 6vw;
display:flex;
flex-wrap:wrap;
justify-content:center;
text-align:center;
}
.forg li{
width:100%;
}

.copy{
text-align:center;
font-size:3vw;
line-height:4.5vw;
}

