@charset "UTF-8";

html,body {
}
#wrapper {
	margin: 0 auto;
	padding: 0;
	color: #000;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
	font-size: 4vw;
	line-height: 1.7;
}
#wrapper .backCont {
    display: none;
}
#wrapper .mainCont {
	background: #defdff;
	background-image: linear-gradient(90deg, #c9e6ff, #defdff);
	position: relative;
    overflow: hidden;
}

/*----------------------
 #rules
----------------------*/
#rules {
	margin: 0 auto;
    padding: 12% 5%;
	position: relative;
}
#rules h1 {
	margin: 0 auto 10%;
    padding: 0 0 8%;
	color: #002d80;
	font-size: 7vw;
    font-weight: bold;
    text-align: center;
    background: url("../img/rules_border.png") no-repeat bottom center;
    -webkit-background-size: 100%;
    background-size: 100%;
}
#rules .catch {
    margin: 0 auto 1em;
	font-size: 4.4vw;
}
#rules .hd {
    margin: 1.5em auto 0;
    font-size: 4.6vw;
    font-weight: bold;
}
#rules .txt {
    margin: 0 auto 1em;
	font-size: 3.8vw;
}
#rules .fwb {
    font-weight: bold;
}
#rules .numList {
    margin-top: -0.5em;
	font-size: 3.8vw;
}
#rules .numList>li {
    padding-left: 2.5em;
    text-indent: -2.5em;
}
#rules .attentionList {
	font-size: 3.8vw;
}
#rules .attentionList>li {
    padding-left: 1em;
    text-indent: -1em;
}
#rules a {
    color: #000;
    text-decoration: underline;
}
#rules .btn {
	margin: 10% auto 0;
	width: 90%;
}

/*----------------------
 footer
----------------------*/
footer {
	padding: 12% 0;
	background-image: linear-gradient(0, #f7d931, #f8e580);
	position: relative;
}
.pagetop {
	width: 16%;
	position: fixed;
	bottom: 3vw;
	right: 3vw;
}
footer .copyright {
	margin: 0 auto 3%;
	font-size: 2.8vw;
	text-align: center;
}
footer .linkList {
	margin: 0 auto;
	width: 70%;
	text-align: center;
	display: flex;
	flex-wrap: wrap;
}
footer .linkList>li {
	margin: 1.5% auto;
}
footer .linkList>li a {
	color: #000;
	text-decoration: underline;
}


@media only screen and (width >= 800px){
    #wrapper {
        font-size: 17px;
    }
    #wrapper .backCont {
        width: 100%;
        height: 100%;
        background: url("../img/bg_img.png") no-repeat center center;
        -webkit-background-size: cover;
        background-size: cover;
        border: 20px solid;
        border-image: linear-gradient(to bottom, #85baff, #85e0ff) 1;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    #wrapper .backCont .leftBlock {
        margin: 0;
        width: calc( 100% - 26% + 10px - 430px );
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        display: none;
    }
    #wrapper .backCont .leftBlock .logo {
        width: 160px;
        position: absolute;
        top: 20px;
        left: 20px;
    }
    #wrapper .backCont .leftBlock .hashtag {
        margin: 0 auto;
        width: 446px;
        max-width: 95%;
    }
    #wrapper .backCont .rightBlock {
        margin: 0;
        width: calc( 26% - 10px );
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        display: none;
    }
    #wrapper .backCont .rightBlock .navList {
        margin: 0 auto;
        width: 85%;
        max-width: 240px;
    }
    #wrapper .backCont .rightBlock .navList>li {
        margin: 0 auto 8%;
    }
    #wrapper .mainCont {
        width: 430px;
        box-shadow: 0 0 40px rgba(0, 55, 131, 0.5);
        position: absolute;
        top: 0;
        right: 26%;
        z-index: 10;
    }
    
    /*----------------------
     #rules
    ----------------------*/
    #rules {
    }
    #rules h1 {
        font-size: 34px;
    }
    #rules .catch {
        font-size: 20px;
    }
    #rules .hd {
        font-size: 22px;
    }
    #rules .txt {
        font-size: 16px;
    }
    #rules .numList {
        font-size: 16px;
    }
    #rules .attentionList {
        font-size: 16px;
    }
    
    /*----------------------
     footer
    ----------------------*/
    footer {
        padding: 12% 0;
        background-image: linear-gradient(0, #f7d931, #f8e580);
        position: relative;
    }
    .pagetop {
        width: 60px;
        position: fixed;
        bottom: 30px;
        right: calc( 26% + 20px );
    }
    footer .copyright {
        font-size: 11px;
    }
}
@media only screen and (width >= 990px){
    #wrapper .backCont .leftBlock {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #wrapper .backCont .rightBlock {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}