@charset "utf-8";
.dmm_header_sp { display: block; }
.dmm_header_pc { display: none; }

h1 {
text-align: center;
max-width: 1920px;
margin: 0 auto;
}

.game_start {
width: 90%;
margin: 0 auto;
text-align: center;
}

.start_btn {
width: 300px;
height: 68px;
background: url("../images/btn_start.png") no-repeat center top / contain;
display: block;
margin: 10px auto;
transition: .25s all;
}

.notice {
width: 300px;
margin: 0 auto;
font-size: 1.3rem;
text-align: center;
}


input[type="checkbox"] {
position: relative;
width: 16px;
height: 16px;
border: 1px solid #0f070b;
vertical-align: -3px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
margin-right: 5px;
}

input[type="checkbox"]:checked:before {
position: absolute;
top: 1px;
left: 4px;
transform: rotate(50deg);
width: 4px;
height: 8px;
border-right: 2px solid #0f070b;
border-bottom: 2px solid #0f070b;
content: '';
}

.mv_outer {
width: 90%;
max-width: 960px;
margin: 50px auto;
}

.mv_wrap {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}

.mv_wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.pre_reward {
width: 100%;
max-width: 960px;
margin: 0 auto;
}

.astr_info {
width:100%;
max-width:481px;
height: 62.36979166vw;
max-height: 300px;
margin: 25px auto;
font-size: 1.2rem;
font-weight: 400;
background: url("../images/sp/info_bg.png") no-repeat center top / contain;
padding: 25px 10px 50px 30px;
}

.app_icon {
width: 15.10416666vw;
max-width: 80px;
height: 15.10416666vw;
max-height: 80px;
margin-right: 10px;
float: left;
}

.basic {
max-height: 80px;
padding: 5px 0 0 0;
display: flex;
flex-direction: column;
justify-content: space-between;
gap:5px;
}

.title::before {
content: "タイトル";
margin-right: 1em;
}

.genre::before {
content: "ジャンル";
margin-right: 1em;
}

.price::before {
content: "価格";
margin-right: 3em;
}

.title::before,
.genre::before,
.price::before {
color:#85899a;
display: inline-block;
}

.system_req.sp_non {
display: none;
}

.system_req.pc_non {
display: block;
text-align: center;
line-height: 1.8;
margin-top: 12px;
}

.req_title {
color:#85899a;
}

.price span {
margin-left: 5em;
line-height: 1.4;
}

@media screen and (min-width: 480px) {
.astr_info {
font-size: 1.3rem;
padding: 30px 15px 50px 50px;
}

.system_req.pc_non {
margin-top: 30px;
}

.basic {
gap:8px;
}

}

@media screen and (min-width: 600px) {
.astr_info {
font-size: 1.4rem;
padding: 40px 15px 50px 50px;
}
}

@media screen and (min-width: 768px) {
.dmm_header_sp { display: none; }
.dmm_header_pc { display: block; }

.mv_wrap {
margin: 50px auto 100px;
}

.astr_info {
margin: 100px auto 25px;
}
}

@media screen and (min-width: 1200px) {
.pre_wrap {
margin-bottom: 10px;
}

.pre_btn {
width: 548px;
height: 125px;
}

.pre_btn:hover {
opacity: .7;
}

.notice {
font-size: 1.5rem;
}

.astr_info {
width: 1199px;
max-width: 1199px;
height: 167px;
max-height: 167px;
background: url("../images/pc/info_bg.png") no-repeat center top /contain;
display: flex;
padding:45px 130px;
}

.app_icon {
clear: both;
margin-right: 20px;
}

.basic {
margin-right: 60px;
height: 80px;
padding: 8px 0;
}

.system_req.sp_non {
height: 80px;
padding: 8px 0;
display: flex;
flex-direction: column;
justify-content: space-between;
}



.system_req.pc_non {
display: none;
}
}

/*-----------------------------------------------
pagetop
------------------------------------------------*/
.pagetop {
margin: 50px auto;
text-align: center;
font-size: 1.4rem;
display: flex;
align-items: center;
justify-content: center;
}

.pagetop::before {
content: "";
border-right: 10px solid transparent;
border-bottom:10px solid #5566b4;
border-left: 10px solid transparent; 
margin-right: 5px;
}

.pagetop a {
transition: .3s all;
font-size: 1.5rem;
line-height: 2;
}

.pagetop a:hover {
color: #00bfd9;
}

/*-----------------------------------------------
sitetop
------------------------------------------------*/
.sitetop {
margin: 0 auto 50px;
text-align: center;
font-size: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
}

.sitetop::before {
content: "";
border-top: 10px solid transparent;
border-right:10px solid #5566b4;
border-bottom:10px solid transparent;
margin-right: 10px;
}

.sitetop a {
transition: .3s all;
font-size: 1.5rem;
line-height: 2;
}

.sitetop a:hover {
color: #00bfd9;
}
/*-----------------------------------------------
footer
------------------------------------------------*/
footer {
width: 100%;
padding: 20px;
text-align: center;
font-size: 1.3rem;
}

footer ul {
list-style: none;
margin-bottom: 40px;
display: flex;
flex-wrap: wrap;
gap:20px 35px;
justify-content: center;
align-items: center;
}


footer ul li a {
color: #5566b4;
font-weight: 700;
text-decoration: none;
transition: .25s all;
}

footer ul li a:hover {
color:#00bfd9
}

footer ul li:last-child {
width: 56vw;
max-width: 300px;
}

footer ul li:last-child a {
display: block;
}

@media screen and (min-width: 600px) {
footer {
font-size: 1.4rem;
}

footer ul li a:hover {
color:#00bfd9
}

footer ul li:last-child {
width: 253px;
max-width: 253px;
}
}

/*-----------------------------------------------
finish
------------------------------------------------*/
h1.reg_finish {
max-width: 1290px;
}

.info_txt {
color: #152572;
font-size: 2rem;
text-align: center;
width:100%;
max-width:481px;
height: 62.36979166vw;
max-height: 300px;
margin: 25px auto;
font-weight: 700;
background: url("../images/sp/info_bg.png") no-repeat center top / contain;
display: flex;
justify-content: center;
align-items: center;
}

@media screen and (min-width: 1200px) {
.info_txt {
width: 1199px;
max-width: 1199px;
height: 167px;
max-height: 167px;
background: url("../images/pc/info_bg.png") no-repeat center top /contain;
margin: 70px auto 110px;
}
}


/*-----------------------------------------------
fund
------------------------------------------------*/
.sec_wrap {
width: 100%;
max-width: 960px;
margin: 0 auto;
padding: 20px 10px;
}

.sec_wrap h2 {
text-align: center;
margin-bottom: 50px;
font-size: 1.8rem;
font-weight: 700;
}

.sec_wrap h3 {
font-size: 1.5rem;
font-weight: 700;
margin:30px auto 10px;
line-height: 1.5;
text-indent: -1em;
padding-left: 1em;
}

.sec_wrap h4 {
font-size: 1.5rem;
font-weight: 400;
margin-bottom: 5px;
line-height: 1.5;
}

.sec_wrap p {
font-size: 1.4rem;
margin-bottom: 15px;

}

