main{
  padding:20px 75px;
}

main h2{
  margin-top:50px;
  height:40px;
  line-height:40px;
  font-size:18px;
  text-align:center;
  font-weight:bold;
  background-color:#555;
  color:white;
}
main h3{
  font-size:18px;
  font-weight:bold;
}

main dl{
  width:100%;
  margin:20px 0;
}
main dt,
main dd{
  padding:5px;
  margin-bottom:3px;
  color:black;
  font-size:16px;
  height:30px;
  line-height:30px;
}
main dt{
  float:left;
  width:180px;
  font-weight:bold;
}
main dd{
  margin-left:195px;
  background-color:#EEE;
}
main .normal{
  background-color:#CCC;
}
main .required{
  background-color:hsl(0, 100%, 90%);
}
main dt.row2{
  height:60px;
  line-height:60px;
}
main dd.row2{
  height:60px;
  line-height:30px;
}

main label{
  display:block;
}

input:focus{
  outline:none;
}
input:focus::placeholder {
  color: transparent;
}
input[type="text"],
input[type="email"]{
  font-size:18px;
  height:20px;
  width:10em;
  padding:4px;
}
input.shortest{
  width:4em;
}
input.shorter{
  width:7em;
}
input.longer{
  width:20em;
}
input.longest{
  width:30em;
}

select{
  padding:3px;
  font-size:18px;
  height:30px;
}

textarea{
  width:100%;
  height: 15em;
  margin-top: 20px;
  outline:none;
  resize:vertical;
  box-sizing:border-box;
  padding:8px;
  font-size:18px;
}

#member_id{
  font-size:22px;
  font-weight:bold;
  color:hsl(223, 100%, 28%)
}

main dd.row2 .closed{
  height:60px;
  line-height:60px;
  color:red;
}
.closed_message{
  font-size:20px;
  margin:30px auto;
  text-align:center;
}

.back_invitation{
  display:block;
  margin:30px 0;
}

.login_description{
  margin:30px 0;
  text-align:center;
}
.description{
  margin:30px 0;
}
.description b{
  color: hsl(36, 98%, 75%);
  text-decoration: underline;
}
.notice{
  margin:20px 0;
  padding:10px;
}

#button1{
  display:block;
  width:300px;
  height:50px;
  line-height:50px;
  margin:20px auto;
  font-size:28px;
  text-align:center;
  border:1px solid hsl(223, 100%, 48%);
  border-radius:25px;
  background-color:hsl(223, 100%, 88%);
  cursor:pointer;
  transition:all .3s;
}
#button1:hover{
  background-color:hsl(223, 100%, 68%);
}

.download{
  margin:20px 0;
  text-align:center;
}
#download_btn{
  display:block;
  width:300px;
  height:50px;
  line-height:50px;
  margin:20px auto;
  font-size:28px;
  text-align:center;
  color:black;
  border:1px solid hsl(123, 100%, 48%);
  border-radius:10px;
  background-color:hsl(123, 100%, 88%);
  text-decoration:none;
  transition:all .3s;
}
#download_btn i{
  margin-left:10px;
}
#download_btn:hover{
  background-color:hsl(123, 100%, 68%);
}


.login_close_message{
	text-align:center;
	font-size:1.4em;
	margin:30px 0;
}


.closed{
  margin:20px 0;
  font-size:20px;
  text-align:center;
}

/* インライン（テキスト装飾） */

strong{
  font-size:2em;
  margin:0 .2em;
}
.notice{
  font-size:.8em;
  color:#DDD;
  margin-top:4px;
}
a{
  color:red;
}

.back_invitation{
  display:block;
  margin:30px 0 0 0;
}

#textform{
  width:374px;
  margin:20px auto;
  display:flex;
  border-radius:20px;
}
#textform p{
  padding:5px;
  text-align:center;
  border:1px solid white;
}
#textform p:first-child{
  line-height:44px;
  font-size:18px;
  border-radius:5px 0 0 5px;
  background-color:#888;
  color:white;
  width:100px;
}
#textform p:last-child{
  border-radius:0 5px 5px 0;
  width:250px;
}
#textform p:last-child input{
  font-size: 20px;
  width: 100%;
  height: 44px;
  padding: 5px;
  box-sizing: border-box;
}



#button{
  text-align:center;
}
button[type="submit"]{
  border:1px solid black;
  border-radius:10px;
  padding:5px 10px;
  background:linear-gradient(hsl(186, 83%, 40%),hsl(186, 83%, 30%));
  color:white;
  cursor:pointer;
  font-size:20px;
}

#auto_zip{
  background-color:hsl(215, 69%, 62%);
  border-radius:5px;
  color:white;
  outline:none;
  border:none;
  box-shadow:1px 1px 1px #999;
  cursor:pointer;
}


.consult_box{
  width:100%;
  background-color:#EEE;
  padding:8px;
  color:black;
  margin-bottom: 30px;
}
