@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: #5a779a;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:#f2eddd;
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(255,255,153,0) 50%,rgba(197,197,178,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:#d92b26; 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{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 #5a779a;
border-bottom:4px solid #5a779a;
margin:20px auto;}
#main h2 > span{
display:block;
background-color:#fff;
padding:10px 10px 15px;
border-top:4px solid #d92b26;
border-bottom:4px solid #d92b26;}
#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:#d92b26;
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:#5a779a;}
@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:#5a779a;
font-size:16px;
border-radius:40px;
border:1px solid #000;
padding:5px;
margin:20px auto;
transition:background .2s ease;}
.small-btn:hover{background-color:#d92b26;}
@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:#d92b26;
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 #d92b26; padding:0 10px; margin:40px auto;padding-bottom: 20px;}

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

ul.date li{position:relative; z-index:3;}
ul.date li:first-child{color:#fff; background-color:#d92b26; font-weight:700; border-radius:5px; padding:5px 10px;}
ul.date li:not(:first-child){color:#5a779a; 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 #d92b26;}

@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); text-align:center;}}
@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% - 110px);}}


@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:#5a779a; 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;
}

.step > .inner p.text#id1::before{content:"①";}
.step > .inner p.text#id2::before{content:"②";}
.step > .inner p.text#id3::before{content:"③";}
.step > .inner p.text#id4::before{content:"④";}
.step > .inner p.text#id5::before{content:"⑤";}

@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:#d92b26; font-size:22px; font-weight:900; border-bottom:2px solid #d92b26; 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:#d92b26; text-align:center; border-radius:5px; padding:5px;}

 


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

p.epass_all{width:90%; max-width:800px; 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:#5a779a; 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,#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:#5a779a; border-radius:3px; padding:0 10px; margin-left:10px;}

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

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

/*
================================================================================================================
チェックボックス
================================================================================================================
*/
#notice{
border:1px solid #d92b26;
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:#d92b26;}

@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%;
}

