@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{
appearance: none;
border: 1px solid #000;
border-radius: 0px;
padding:5px;
background:#fff;
color:#000;
margin-right:1em;
margin-bottom:10px;
}
input[type="text"]{
box-sizing:border-box;
border:1px solid #000;
border-radius:0;
padding:5px;
margin-right:1em
}
input.right::placeholder{
text-align:right;
}
textarea{
box-sizing:border-box;
width:100%;
height:4em;
}
label{
margin-left:10px;
}
footer{
padding:20px 0;
text-align:center;
background:#031430;
}
footer img{
margin-bottom:20px;
}
footer small{
display:block;
color:#fff;
}
#error_flash{
background:#d85d0e;
color:#fff;
text-align:center;
}

/** INDEX **/
#info {
text-align:center;
}
#info.inner > div{
padding-bottom:0;
}

#info p{
line-height:200%;
text-align:left;
}
#detail,
#selection
{
background:#f7f7f7;
}
#detail h2,
#detail h3{
text-align:center;
}
#detail h3{
border-top:2px solid #031430;
border-bottom:2px solid #031430;
}
#detail section p{
line-height:200%;
}
#detail section aside{
line-height:200%;
}
#detail p#ninzu{
font-weight:bold;
text-align:center;
}
#detail div > div{
text-align:center;
}
#detail div > div h4{
}
#detail div > div h4 span{
border-bottom:3px solid #031430;
}
#detail div > div h5{
color:#d85d0e;
}
#detail div > div h5 span{
display:block;
}

#detail div > div p{
text-align:left;
line-height:200%;
}

a.button{
display:block;
margin:0 auto 50px;
text-align:center;
border-radius:10px;
font-weight:600;
letter-spacing:0.1em;
}
a.entry{
color:#fff;
background:#d85d0e;
}
a.contact{
color:#031430;
border:2px solid #031430;
}

#selection h3{
position: relative;
text-align:center;
font-weight:600;
letter-spacing:0.05em;
background:#e1e1e1;
}
#selection h3:hover{
cursor:pointer;
}

#selection h3::after{
content: "";
position: absolute;
background: #000;
top: 50%;
right: 24px;
width: 2px;
height: 18px;
transform: translate(-50%, -50%) rotateZ(-90deg);
border: none;
}
#selection h3::before{
content: "";
position: absolute;
background: #000;
top: 50%;
right: 24px;
width: 2px;
height: 18px;
transform: translate(-50%, -50%) rotateZ(0deg);
border: none;
}

#selection h3.open::after{
content: "";
position: absolute;
background: #000;
top: 50%;
right: 24px;
width: 2px;
height: 18px;
transform: translate(-50%, -50%) rotateZ(-90deg);
border: none;
}
#selection h3.open::before{
display:none;
}

#selection dl{
display:flex;
flex-wrap: wrap;
border:1px solid #031430;
border-bottom:none;
}
#selection dt,
#selection dd{
padding:10px 20px;
line-height:200%;
box-sizing:border-box;
}
#selection dt{
}
#selection dd{
}
#selection dd ol{
margin:0;
padding:0 0 0 20px;
}
/** ENTRY **/
#form form > div{
border:2px solid #031430;
}
#form > div > p,
#form form > div > p{
text-align:center;
line-height:200%;
}
#form h3{
text-align:center;
}
#form h3 span{
border-bottom:3px solid #031430;
}
#form dl{
display:flex;
flex-wrap: wrap;
}
#form dt,
#form dd{
padding:15px 0px;
line-height:200%;
box-sizing:border-box;
}
#form dd > div{
border: 1px solid #000;
padding: 10px;
line-height: 150%;
font-weight: 300;
}
#form dd > span {
display: block;
color: #d85d0e;
}

#submitarea{
border:none !important;
text-align:center;
}
#submitarea button{
border:none;
border-radius:10px;
cursor:pointer;
color:#fff;
}
#submitarea button.next{
background:#d85d0e;
}
#submitarea button.back{
background:#999;
}








/* PC */
@media screen and (min-width:600px) {
.pc {
display: block;
}
.sp {
display: none;
}
article > div{
width:1000px;
margin:0 auto;
padding:50px 0;
}
footer img{
width:429px;
}
footer small{
font-size:12px;
}

div#mv{
height:630px;
background: #ebf1f1 url( "../img/mv.jpg" ) top center / 1920px 630px no-repeat;
}
#info > div{
padding:100px;
}
#info h1{
margin-bottom:90px;
}
#info h1 img{
width:100%;
}
#info h2{
font-size:40px;
}
#info p{
font-size:26px;
margin-bottom:50px;
}
#detail h2{
font-size:40px;
margin-bottom:100px;
}
#detail h3{
font-size:30px;
margin-bottom:38px;
}
#detail section{
margin-bottom:100px;
}
#detail section p{
font-size:24px;
}
#detail section aside{
font-size:20px;
}

#detail img{
width:100%;
}
#detail p#ninzu{
font-size:40px;
}
#detail div > div{
width:800px;
margin:0 auto;
}
#detail div > div h4{
font-size:36px;
}
#detail div > div h4 span{
}
#detail div > div h5{
font-size:32px;
margin:30px 0;
}
#detail div > div h5 span{
font-size:25px;
margin:10px 0;
}
#detail div > div p{
font-size:22px;
margin-bottom:40px;
}
a.button{
width:400px;
font-size:40px;
padding:10px 0;
}
a.contact{
font-size:26px;
padding:15px 0;
}
#selection h3{
font-size:36px;
margin-bottom:30px;
}
#selection dl{
margin-bottom:120px;
}
#selection dt,
#selection dd{
font-size:18px;
border-bottom:1px solid #031430;
}
#selection dt{
display:flex;
align-items:center;
text-align:center;
width:20%;
border-right:1px dashed #031430;
}
#selection dt span{
display:block;
width:100%;
}
#selection dd{
width:80%;
}

#info.inner > div{
padding-bottom:0;
}
#form form > div{
padding:40px;
margin-bottom:50px;
}
#form form > div > p{
font-size:18px;
}
#form h3{
font-size:30px;
margin:50px 0;
}
#form dt,
#form dd{
font-size:22px;
border-bottom:1px solid #031430;
}
#form dt{
width:28%;
}
#form dd{
width:72%;
}

#form dd > div{
height:200px;
overflow:scroll;
font-size:18px;
margin-bottom:20px;
}
#form dd > p{
font-size:14px;
line-height:160%;
}

#form dd > span{
margin-top:0px;
font-size:18px;
}
input.short{
width:20%;
}
select{
min-width:25%;
}
input.mid{
width:40%;
}
input.lmid{
width:60%;
}
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;
}




} /* 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;
}
#detail div > div{
width:100%;
}
#mv img{
width:100%;
}

#info h1 img{
width:80%;
}

} /* end:landscape */


/* SP */
@media screen and (max-width:599px) {
.pc {
display: none;
}
.sp {
display: block;
}
article > div{
padding:40px 0;
}
footer img{
width:250px;
margin-bottom:10px;
}
footer small{
font-size:12px;
}
#mv img{
width:100%;
}
#info h1{
margin-bottom:20px;
}
#info h1 img{
width:75%;
}
#info h2{
font-size:20px;
}
#info p{
padding:0 20px;
font-size:15px;
line-height:160%;
}

#detail > div,
#selection > div
{
padding:40px 20px;
}

#detail h2{
font-size:18px;
margin-bottom:30px;
}
#detail h3{
margin-bottom:10px;
}
#detail section{
margin-bottom:30px;
}
#detail section p{
font-size:15px;
}
#detail section aside{
font-size:14px;
}
#detail img{
width:100%;
}
#detail p#ninzu{
font-size:20px;
}
#detail div > div{
margin:0 auto;
}
#detail div > div h4{
font-size:20px;
}
#detail div > div h4 span{
}
#detail div > div h5{
font-size:20px;
margin:30px 0;
}
#detail div > div p{
font-size:15px;
margin-bottom:40px;
}
a.button{
width:80%;
font-size:20px;
padding:10px 0;
}
a.contact{
font-size:16px;
padding:15px 0;
}
#selection h3{
font-size:18px;
margin-bottom:30px;
}
#selection dl{
margin-bottom:120px;
flex-wrap:wrap
}
#selection dt,
#selection dd{
width:100%;
font-size:15px;
}
#selection dt{
display:flex;
align-items:center;
text-align:center;
border-bottom:1px dashed #031430;
}
#selection dt span{
display:block;
width:100%;
}
#selection dd{
border-bottom:1px solid #031430;
}
#form form > div{
padding:20px;
margin-bottom:30px;
}
#form form > div > p{
font-size:15px;
}
#form h3{
font-size:20px;
margin:20px 0;
}

#form dt,
#form dd{
width:100%;
font-size:15px;
}
#form dt{
padding:20px 0 5px;
}
#form dt:nth-child(1){
padding-top:0;
}
#form dd{
padding:5px 0 20px;
border-bottom:1px solid #031430;
}
#form dd{
border-top:none;
}
#form dd label{
line-height:150%;
}
#form dd > div{
height:100px;
overflow:scroll;
font-size:13px;
margin-bottom:10px;
}
#form dd > p{
font-size:13px;
line-height:180%;
}
#form dd > span{
margin-top:6px;
font-size:14px;
}
select{
width:100%;
}
select.small{
width:5em;
}
input[type="text"],
textarea
{
font-size:16px;
}
input.short{
width:100%;
margin-bottom:6px;
}
input.mid{
width:100%;
margin-bottom:6px;
}
input.lmid{
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;
}








} /* end:SP */
