@charset "Shift-JIS";

/*e-amusementサイトテンプレート*/
header,footer,header#id_nav_menu_1{position:relative !important;}
header#id_nav_menu_1{background-color:#fff;}
#wrapper{position:relative !important; }
header#id_nav_menu_1{z-index:10 !important;}
footer{z-index:2 !important;}

/*
================================================================================================================
COMMON
================================================================================================================
*/
*{padding:0; margin:0; border:0;}
*, *:before, *:after{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-o-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;}

html{width:100%; height:100%; overflow-wrap:break-word}
body{
min-width:320px !important;
margin:0 auto;
font-family:"メイリオ", "Meiryo", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
overflow-x:hidden;}

a{outline:none;}
a:link,a:visited,a:hover,a:active{text-decoration:none;}
a.t_link{color: #15478c;text-decoration: underline;}

a img{transition:opacity .3s ease;}
img{padding:0; margin:0; border:0; vertical-align:bottom;}
ul{margin:0; padding:0; border:0;}
li{list-style:none;}
strong,em,b{font-weight:700; font-style:normal;}
table{width:100%; color:#000; border-collapse:collapse; border-spacing:0; margin:0 auto;}

a img{transition:opacity .3s ease;}

input{outline:0; border:none;}
input[type="submit"]{cursor:pointer;}

/*
================================================================================================================
MAIN
================================================================================================================
*/
#main{
position:relative;
color:#000;
background-color:#eee;
background-image:url(../img/bg.png);
line-height:180%;
font-size:14px;
z-index:2;}
#main::before,
#main::after{
display:block;
content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background: linear-gradient(to bottom, rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 60%);
z-index:1;}
#main::before{background:linear-gradient(to bottom, rgba(188, 192, 193, 0) 50%,rgba(188, 192, 193, 0.5) 100%);}
#main::after{background:linear-gradient(to bottom, rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 60%);}
@media screen and (max-width:640px){#main{font-size:13px;}}
@media screen and (max-width:480px){#main{font-size:12px;}}

#main-inner{
position:relative;
width:100%;
max-width:980px;
padding:40px 20px;
margin:0 auto;
z-index:2;}

@media screen and (min-width:981px){#main-inner{min-height:calc(100vh - 177px);}}
@media screen and (max-width:980px){#main-inner{min-height:calc(100vh - 225px);}}

@media screen and (max-width:640px){#main-inner{padding:20px;}}
@media screen and (max-width:480px){#main-inner{padding:20px 10px;}}

/*権利表記*/
#main > #copy{
position:relative;
font-size:13px;
text-align:center;
background-color:rgba(255,255,255,.8);
padding:5px;}
#main > #copy p{position:relative; display:inline-block; padding-left:15px;}
#main > #copy p > span{
display:block;
position:absolute;
left:0;
font-size:16px;
font-family:Arial, Helvetica, serif;}
@media screen and (max-width:370px){
#main > #copy{font-size:11px;}
#main > #copy p > span{font-size:14px;}}

/*
========================
リストスタイル
========================
*/
.small{font-size:12px;}
@media screen and (max-width:400px){.small{font-size:11px;}}

ul.dot li,ul.ast li,span.dot,span.ast,ul.num li{display:block; position:relative; padding-left:18px;}
ul.dot li::before,ul.ast li::before,span.dot::before,span.ast::before,ul.num li::before{display:block; position:absolute; top:0; left:0;}
ul.dot > li::before,span.dot::before{content:"・";}
ul.ast > li::before,span.ast::before{content:"※";}
ul.num li:first-child::before{content:"①";}
ul.num li:nth-child(2)::before{content:"②";}
ul.num li:nth-child(3)::before{content:"③";}
ul.num li:nth-child(4)::before{content:"④";}
ul.num li:nth-child(5)::before{content:"⑤";}

.red{color:#d7006b; font-weight:bold;}

/*
========================
見出し
========================
*/
#main h1,#main h2,#main h3,.link-btn,.small-btn,#end{color:#fff; text-align:center;}
#main h1,#main h2,.link-btn,#end{
font-weight:bold;
letter-spacing:2px;
text-shadow:2px 2px 0 #000 , -2px -2px 0 #000 , 2px -2px 0 #000 , -2px 2px 0 #000 ,
            1px 1px 0 #000 , -1px -1px 0 #000 , -1px 1px 0 #000 , 1px -1px 0 #000 ,
            0 2px 0 #000 , 2px 0 0 #000 , 0 -2px 0 #000 , -2px 0 0 #000 ,
            0 3px 1px #000 , 0 4px 1px #000 , 0 5px 1px #000 ,
            -1px 3px 1px #000 , -1px 4px 1px #000 , -1px 5px 1px #000 ,
            1px 3px 1px #000 , 1px 4px 1px #000 , 1px 5px 1px #000;}
#main h3,#date,.step > .inner p.text,.small-btn,#mf li:last-child,#kmf li:last-child{font-family:'Noto Sans JP', sans-serif; letter-spacing:1px;}

#main h1{font-size:28px; line-height:200%;}
#main h2{
display:block;
font-size:24px;
border-top:4px solid #15478c;
border-bottom:4px solid #15478c;
margin:20px auto;}
#main h2 > span{
display:block;
background-color:#fff;
padding:10px 10px 15px;
border-top:4px solid #d7006b;
border-bottom:4px solid #d7006b;}
#main h3{background-color:#000; font-size:16px; line-height:150%; padding:10px; border-radius:30px;}

@media screen and (max-width:670px){
#main h1,#top h3{text-align:left;}
#main h1 br,#top h3 br{display:none;}
#main h2{font-size:20px;}
#main h3{padding:10px 20px;}}
@media screen and (max-width:480px){
#main h1{font-size:16px; line-height:160%;}
#main h2{font-size:18px;}
#main h3{font-size:13px;}}

/*
========================
リンクボタン
========================
*/
.link-btn + h2,
.step + .link-btn{margin:40px auto 20px !important;}

.link-btn{
display:block;
width:100%;
max-width:320px;
font-size:18px;
border-radius:40px;
border:1px solid #000;
box-shadow:0 5px 2px rgba(0,0,0,.3);
margin:20px auto;}

.link-btn > span{
display:block;
background-color:#d7006b;
border-radius:40px;
border:2px solid #fff3a2;
box-shadow:inset 0 0 5px rgba(0,0,0,.3);
padding:15px 0 20px;
transition:background .2s ease;}
.link-btn:hover > span{background-color:#15478c;}
@media screen and (max-width:420px){.link-btn > span{padding:10px 0 15px;}}
@media screen and (max-width:370px){.link-btn{font-size:16px;}}

.step .link-btn > span{background:#ff7800; cursor:pointer;}
.step .link-btn:hover > span{background:#ffba00;}

.link-btn.none{filter:grayscale(100%); pointer-events:none; opacity:.5;}

.small-btn{
display:block;
width:100%;
max-width:320px;
background-color:#15478c;
font-size:16px;
border-radius:40px;
border:1px solid #000;
padding:5px;
margin:20px auto;
transition:background .2s ease;}
.small-btn:hover{background-color:#d7006b;}
@media screen and (max-width:370px){.small-btn{font-size:14px;}}

/*
================================================================================================================
概要
================================================================================================================
*/
#top{text-align:center;}
#top > p:first-of-type{margin:20px auto;}
#top > p:first-of-type img{width:100%; max-width:725px;}
@media screen and (max-width:540px){#top > p:first-of-type{margin:10px auto;}}

/*終了*/
#end{
display:block;
width:100%;
font-size:18px;
border:1px solid #000;
box-shadow:0 5px 2px rgba(0,0,0,.3);
margin:20px auto 40px;}
#end > span{
display:block;
background-color:#d7006b;
border:2px solid #fff3a2;
box-shadow:inset 0 0 5px rgba(0,0,0,.3);
padding:15px 0 20px;}
@media screen and (max-width:480px){#end{margin:20px auto;}}
@media screen and (max-width:370px){#end{font-size:16px;}}

/*
================================================================================================================
日付
================================================================================================================
*/
#date{background-color:#fff; border-radius:20px; border:1px solid #d7006b; padding:0 10px; margin:40px auto;padding-bottom: 20px;text-align: center;}

ul.date{display:flex; position:relative; align-items:center; justify-content:center; padding:20px 0;}
ul.date + ul.date{border-top:1px solid #d7006b;}

ul.date li{position:relative; z-index:3;}
ul.date li:first-child{color:#fff; background-color:#d7006b; font-weight:700; border-radius:5px; padding:5px 10px;}
ul.date li:not(:first-child){color:#15478c; font-size:30px; font-weight:900;}
ul.date li:not(:first-child) span{font-size:20px; font-weight:700;}
ul.date li:nth-child(2){margin:0 40px 0 10px;}
ul.date li:nth-child(3)::before{
display:block;
content:"";
position:absolute;
left:-25px;
top:5px;
width:0;
height:0;
border-style:solid;
border-width:10px 0 10px 15px;
border-color:transparent transparent transparent #d7006b;}

@media screen and (max-width:800px){
ul.date{padding:60px 0 20px;}
ul.date li:first-child{position:absolute; width:150px; top:10px; left:calc(50% - 75px);}}
@media screen and (max-width:650px){
ul.date li:not(:first-child){font-size:22px;}
ul.date li:not(:first-child) span{font-size:15px;}
ul.date li:nth-child(2){margin:0 20px 0 0;}
ul.date li:nth-child(3)::before{top:7px; left:-15px; border-width:5px 0 5px 10px;}}
@media screen and (max-width:540px){
#date{margin:20px auto;padding-bottom: 10px;}
ul.date{flex-wrap:wrap;}
ul.date li:not(:first-child){width:100%; text-align:center;}
ul.date li:nth-child(2){margin:0;}
ul.date li#okada:nth-child(3)::before{left:calc(50% - 115px);}
ul.date li:nth-child(3)::before{left:calc(50% - 100px);}}


@media screen and (max-width:370px){
ul.date{width:100%; padding:50px 0 10px;}
ul.date::before,ul.date::after{transform:skew(0deg);}
ul.date::after{left:0;}}

/*
================================================================================================================
応募方法
================================================================================================================
*/
.step{border:1px solid #000; background-color:rgba(255,255,255,.9); /*background-image:url(../img/bg02.png);*/ margin:20px auto 0;}
.step > .inner{border:2px solid #fff3a2; padding:15px; box-shadow:inset 0 0 5px rgba(0,0,0,.3);}

.step > .inner p.text{position:relative; color:#15478c; font-size:18px; font-weight:bold; padding-left:30px; margin:0 auto 10px;}
.step > .inner p.text::before{display:block;  position:absolute; top:0; left:0; font-size:24px; font-weight:900;}
.step:nth-of-type(3) > .inner p.text::before{content:"①";}
.step:nth-of-type(4) > .inner p.text::before{content:"②";}
.step:nth-of-type(5) > .inner p.text::before{content:"③";}

.step > .inner p.text2{position: relative; padding-left: 15px; font-weight:bold; color:blue;}
.step > .inner p.text2::before {
    content: "■";
    position: absolute;
    display: block;
    font-size: 13px;
    top: 0;
    left: 0;
}

@media screen and (max-width:640px){.step > .inner p.text{font-size:16px;}}
@media screen and (max-width:480px){.step > .inner p.text{font-size:14px;}}



.step > .inner p > em{display:inline-block; color:#d7006b; font-size:22px; font-weight:900; border-bottom:2px solid #d7006b; padding:0 0 4px 0; margin:0 3px;}
.step > .inner p > em > span{font-size:32px;}
@media screen and (max-width:640px){.step > .inner p > em{font-size:18px;}.step > .inner p > em > span{font-size:28px;}}
@media screen and (max-width:480px){.step > .inner p > em > span{font-size:24px;}}

.step > .inner > b{display:block; color:#fff; background-color:#d7006b; text-align:center; border-radius:5px; padding:5px;}

p.epass{width:90%; max-width:max-content; text-align:center; font-weight:bold; margin:20px auto;}
p.epass img{width:100%;}

p.epass_all{width:90%; max-width:700px; text-align:center; font-weight:bold; margin:20px auto;}
p.epass_all img{width:100%;}

p.none{text-align:center;}
p.none::before{display:none !important;}

/*抽せん個数選択*/
.step select{display:block; min-width:120px; font-size:15px; font-weight:bold; border:1px solid #000; padding:5px; margin:10px auto 20px;}
.step select.none{display:none;}


/*エラー用*/
#error > a{color:#15478c; text-decoration:underline;}
#error > a:hover{text-decoration:none;}
.err_msg {color:red; text-align:center; display:none;}
.err_msg.arrival_zero {display:block;}


/*
================================================================================================================
応募ページ/固定表示
================================================================================================================
*/
#epass,#mf,#kmf,#log{
width:100%;
max-width:980px;
background-color:#fff;
text-align:center;
border:1px solid #ccc;
border-radius:5px;
padding:5px;}

#epass{font-size:13px; margin:20px auto 0;}
#epass > span{display:inline-block; color:#fff; background-color:#15478c; border-radius:3px; padding:0 10px; margin-left:10px;}

#mf,#kmf{display:flex; justify-content:center; align-items:center; margin:10px auto 10px;}
#mf li:last-child{font-size:26px; font-weight:900; padding-left:10px;}
#mf li:last-child::after{content:"MF"; font-size:14px; font-weight:700;}
#kmf li:last-child{font-size:26px; font-weight:900; padding-left:10px;}
#kmf li:last-child::after{content:"KMF"; font-size:14px; font-weight:700;}

#log{align-items:center; margin:10px auto 0;}

/*
================================================================================================================
チェックボックス
================================================================================================================
*/
#notice{
border:1px solid #d7006b;
border-radius:5px;
padding:10px;}

input[type="checkbox"]{display:none !important; border:0 !important; margin:0 !important;}

.input-checkbox{
position:relative;
width:260px;
color:#000;
font-size:16px;
font-weight:700;
font-family:'Noto Sans JP', sans-serif;
line-height:30px;
letter-spacing:2px;
padding:0 0 0 40px;
margin:20px auto 0;
z-index:5;}

.input-checkbox label{display:inline-block; cursor:pointer;}

.input-checkbox label:before,
.input-checkbox label:after{content:""; position:absolute; display:inline-block; transition:transform .2s ease;}

.input-checkbox label:before{
top:0;
left:0;
width:30px;
height:30px;
background-color:#fff;
border:2px solid #444;
border-radius:5px;
opacity:.5;}

.input-checkbox label:after{
top:-4px;
left:10px;
width:10px;
height:30px;
border-right:4px solid transparent;
border-bottom:4px solid transparent;
transform:rotate(45deg);
transition:border-bottom-color,border-right-color .2s ease;}

.input-checkbox input[type="checkbox"]:checked + label:before{opacity:1;}
.input-checkbox input[type="checkbox"]:checked + label:after{border-color:#d7006b;}

@media screen and (max-width:480px){
.input-checkbox{width:230px; font-size:14px; line-height:24px; padding:0 0 0 30px;}
.input-checkbox label:before{width:24px; height:24px;}
.input-checkbox label:after{top:-8px;}}


/*
================================================================================================================
おまけ
================================================================================================================
*/
a#ac-link {
    display: block;
    width: 100%;
    max-width: 480px;
    background: #fff;
    margin: 10px auto;
}
a#ac-link img {
    width: 100%;
}


.item-list{
  display:flex;  
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.item-list .hf_inner{
  width:49%;
  font-weight: bold;
  text-align: center;
  margin: auto;
  border: 2px solid #fff3a2;
  padding: 15px;
  box-shadow: inset 0 0 5px rgba(0,0,0,.3);
}

.item-list .bnf_inner{
  width:99%;
  font-weight: bold;
  text-align: center;
  margin: auto;
  border: 2px solid #fff3a2;
  padding: 15px;
  box-shadow: inset 0 0 5px rgba(0,0,0,.3);
}


.item-list .item{
  margin-bottom: 10px;
  display: block;
  font-weight: bold;
  padding: 10px 0px;
}

.item-list .item img{
  width:100%;
  max-width: min-content;
}

@media screen and (max-width:640px){

.item-list .hf_inner,.item-list .bnf_inner{
  width:100%;  
}

}

/*TOP用*/
#goods .item-list .hf_inner .item{pointer-events: none;}



/*ステータス別*/
.item-list .hf_inner div.item,
.item-list .hf_inner .item.none,
.item-list .hf_inner .item.done,
.item-list .hf_inner .item.outofterm,
.item-list .hf_inner .item.end{pointer-events:none;}
.item-list .hf_inner .item:hover{background:#d6f3f9;}
.item-list .hf_inner .item:hover img{transform:scale(1.03);}

/*景品一覧 ボタン 応募用*/
.item-list .hf_inner:nth-child(3) .item p.btn::before{content:"応募する";}

/*景品一覧 ボタン*/
.item-list .hf_inner .item p.btn,.item-list .hf_inner .item p.end,
.item-list .bnf_inner .item p.btn,.item-list .bnf_inner .item p.end{display: block;background-color: #d7006b;border-radius: 40px;border: 2px solid #fff3a2;padding: 15px 0 20px; transition:all .2s ease;}

.item-list .hf_inner .item:hover p.btn{background-color:#ff7800;}
.item-list .hf_inner .item p.end{color:red;};
.item-list .hf_inner .item:hover p.btn{color:#ff7800;}
.item-list .hf_inner .item p.btn::before{content:"交換する";}

.item-list .hf_inner .item.none p.btn{color:#ccc; background:#555; opacity:.7;}
.item-list .hf_inner#mf_area .item.none p.btn::before{content:"MFが不足しています";}
.item-list .hf_inner#kmf_area .item.none p.btn::before{content:"KMFが不足しています";}

.item-list .hf_inner .item.done p.btn{color:#fff; background:#fb56a8; }
.item-list .hf_inner .item.done p.btn::before{content:"交換済";}

.item-list .hf_inner .item.end p.btn{color:#fff; background:#555; }
.item-list .hf_inner .item.end p.btn::before{content:"応募数が上限に達しました";}

.item-list .hf_inner .item#entry p.btn::before{content:"エントリーする";}
.item-list .hf_inner .item#entry.none p.btn{color:#555; background:#ccc; opacity:.7;}
.item-list .hf_inner .item#entry.none p.btn::before{content:"エントリー不可";}
.item-list .hf_inner .item#entry.done p.btn{color:#fff; background:#fb56a8; border-color:#fb56a8;}
.item-list .hf_inner .item#entry.done p.btn::before{content:"エントリー済";}


.item-list .hf_inner .item.outofterm p.btn,
.item-list .bnf_inner .item.outofterm p.btn{display:none;}


/*応募済ステータス*/
.item-list .hf_inner .item p.log{color:#fb56a8; font-size:18px;}
.item-list .hf_inner .item p.log::after{content:"個 交換済"; font-size:13px;}
.item-list .hf_inner:nth-child(3) .item p.log::after{content:"口 応募済";}

.item-list .bnf_inner .item p.log{color:#fb56a8; font-size:18px;}
.item-list .bnf_inner .item p.log::after{content:"個 交換済"; font-size:13px;}
.item-list .bnf_inner:nth-child(3) .item p.log::after{content:"口 応募済";}



