@charset "utf-8";

body {
font-family: 'Noto Sans JP', sans-serif;
color:#031430;
margin:0;
font-size:16px;

display: grid;
grid-template-rows: auto 1fr auto;
grid-template-columns: 100%;
min-height: 100svh;
}
h1,h2,h3,h4{
margin:0;
line-height:140%;
}
p{
margin:0 0 1em;
}
article > div{
box-sizing:border-box;
}
a{
text-decoration:none;
}
ul{
margin:0;
padding:0;
list-style:none;
}
dd{
margin-left:0;
}
select{
color:#000;
}
input[type="text"]{
box-sizing:border-box;
border:1px solid #000;
border-radius:0;
padding:5px;
}
label{
margin-left:10px;
}

/* INDEX */
#info {
text-align:center;
}
#info h2 {
line-height:190%;
letter-spacing:-0.05em;
text-align:center;
font-weight:600;
color:#031430;
}
#info h2 span{
display:block;
color:#d85d0e;
}
#info p{
line-height:200%;
text-align:left;
}
#games{
background:#f7f7f7;
}
#games #table{
}
#table > div{
display:flex;
flex-wrap: wrap;
gap:1%;
border-bottom:1px solid #031430;
}
#table > div:first-child{
border-bottom:none;
}
#table > div > div{
text-align:center;
padding:20px 0;
}
#table > div > div:nth-child(odd){
width:17.5%;
}
#table > div > div:nth-child(even){
width:31%;
}
#table > div > div.head{
background:#031430;
color:#fff;
padding:5px 0;
}
#games h2,
#form h2{
text-align:center;
}
#form h2+p{
text-align:center;
}
#form form > div:first-child{
margin-bottom:70px;
padding:50px;
border:2px solid #031430;
}
#form form > div > p{
text-align:center;
}
#form dl{
display:flex;
flex-wrap: wrap;
}
#form dl dt,
#form dl dd{
box-sizing:border-box;
border-top:1px solid #031430;
line-height:130%;
}
#form dl dt:nth-child(1),
#form dl dd:nth-child(2){
border-top:none;
}
#form dl dd > div{
border:1px solid #000;
padding:10px;
line-height:150%;
font-weight:300;
}
#form dl dd > p{
text-indent: -1em;
padding-left: 1em;
}
#form dl dd > aside{
line-height:180%;
}
#form dl dd > span{
display:block;
color:#d85d0e;
}
#submitarea{
text-align:center;
}
#submitarea button{
border:none;
border-radius:10px;
cursor:pointer;
color:#fff;
}
#submitarea button.next{
background:#d85d0e;
}
#submitarea button.back{
background:#999;
}
#error_flash{
background:#d85d0e;
color:#fff;
text-align:center;
}
footer{
padding:20px 0;
text-align:center;
background:#031430;
}
footer img{
margin-bottom:20px;
}
footer small{
display:block;
color:#fff;
}
div.close span{
display:block;
text-decoration-line:line-through;
text-decoration-color:#d85d0e;
text-decoration-thickness:3px;
color:#000;
margin-bottom:5px;
}
div.close{
color:#d85d0e;
}
b.new{
display:inline-block;
margin-right:8px;
padding:5px;
background:#ff0000;
color:#fff;
font-weight:normal;
font-size:16px;
}



/* PC */
@media screen and (min-width:600px) {
.pc {
display: block;
}
.sp {
display: none;
}
article > div{
width:1000px;
margin:0 auto;
padding:100px 0;
}
div#mv{
height:800px;
background: #031430 url( "../img/mv.jpg" ) top center / 1920px 800px no-repeat;
}

#info h1{
margin-bottom:50px;
}
#info h1 img{
width:1000px;
}
#info h2 {
font-size:31px;
margin-bottom:90px;
}
#info h2 span{
margin-top:20px;
font-size:58px;
}
#info p{
font-size:28px;
}
#games h2,
#form h2{
font-size:38px;
margin-bottom:40px;
}
#table > div > div{
font-size:22px;
}
#form h2+p{
font-size:22px;
}
#form form > div > p{
font-size:18px;
}
#form dl dt,
#form dl dd{
padding:30px 0;
font-size:22px;
}
#form dl dt{
width:25%;
}
#form dl dd{
width:75%;
}
#form dl dd > div{
height:200px;
overflow:scroll;
font-size:18px;
margin-bottom:20px;
}
#form dl dd > p{
font-size:20px;
}

#form dl dd > span{
margin-top:10px;
font-size:18px;
}
input.mid{
width:40%;
}
input.long{
width:100%;
}
#submitarea button{
width:400px;
margin:0 10px;
padding:20px 0;
font-size:26px;
}
#error_flash{
padding:20px 0;
font-size:20px;
margin-bottom:30px;
}
footer img{
width:429px;
}
footer small{
font-size:12px;
}
div.close span{
font-size:22px;
}
div.close{
font-size:16px !important;
}



} /* end:PC */


@media screen and (orientation: landscape) and (max-width: 960px) {
.pc {
display: none;
}
.sp {
display: block;
}

article > div{
width:100%;
margin:0 auto;
padding:100px 0;
}
div#mv{
height:auto;
background:none;
}
#mv img{
width:100%;
}
#info h1 img{
width:80%;
}


}


/* SP */
@media screen and (max-width:599px) {
.pc {
display: none;
}
.sp {
display: block;
}
article > div{
padding:40px 0;
}
#mv img{
width:100%;
}
#info h1{
margin-bottom:20px;
}
#info h1 img{
width:75%;
}
#info h2 {
font-size:16px;
margin-bottom:40px;
}
#info h2 span{
margin-top:10px;
font-size:20px;
}
#info p{
padding:0 20px;
font-size:15px;
line-height:160%;
}
#games h2,
#form h2{
font-size:22px;
margin-bottom:20px;
}
#table{
padding:0 10px;
}
#table > div > div{
display:flex;
justify-content:center;
align-items:center;
font-size:13px;
line-height:130%;
}

#form h2+p{
font-size:15px;
line-height:150%;
}
#form form > div:first-child{
margin:0 20px 30px;
padding:20px 20px 0;
}
#form form > div > p{
font-size:15px;
}
#form dl dt,
#form dl dd{
width:100%;
font-size:15px;
}
#form dl dt{
padding:20px 0 5px;
}
#form dl dt:nth-child(1){
padding-top:0;
}
#form dl dd{
padding:5px 0 20px;
}
#form dl dd{
border-top:none;
}
#form dl dd label{
line-height:150%;
}
#form dl dd > div{
height:100px;
overflow:scroll;
font-size:13px;
margin-bottom:10px;
}
#form dl dd > p{
font-size:14px;
}
#form dl dd > span{
margin-top:6px;
font-size:14px;
}
select{
width:100%;
}
select.small{
width:5em;
}
input[type="text"]{
font-size:16px;
}
input.mid{
width:100%;
margin-bottom:6px;
}
input.long{
width:100%;
}
#submitarea button{
width:90%;
margin-bottom:20px;
padding:15px 0;
font-size:18px;
}
#error_flash{
padding:20px 0;
font-size:15px;
margin-bottom:30px;
line-height:150%;
}
main#step{
padding:0 20px;
}
footer img{
width:250px;
margin-bottom:10px;
}
footer small{
font-size:12px;
}
div.close{
display:block !important;
}
div.close span{
text-decoration-thickness:3px;
font-size:13px;
}
div.close{
font-size:12px !important;
}
b.new{
display:block;
margin:0 0 3px;
padding:3px;
font-size:13px;
}



} /* end:SP */
