/* CSS Document */
@charset "UTF-8";

img.fit{object-fit: cover;}


header {padding:50px 50px 0 50px;height:210px;box-sizing:border-box;position:relative;overflow:hidden;}
header::before{content:"";position:absolute;bottom:0;left:0;z-index:-1;border-color:#74A255 transparent transparent #74A255;border-style:solid;border-width:100px 0 140px 100vw;}
header .logo{width:302px;}
header .title{font-size:20px;letter-spacing:0.1em;line-height:50px;}
header .title span{font-size:42px;}

main{min-height:calc(100vh - 440px);}

footer {padding:0px 50px 50px 50px;height:230px;box-sizing:border-box;position:relative;overflow:hidden;}
footer::before{content:"";position:absolute;top:0;left:0;z-index:-1;border-color:transparent #74A255  #74A255 transparent;border-style:solid;border-width:140px 100vw 100px 0;}

input:invalid {
  border: solid 1px red;
}
input:valid {
  border: solid 1px #74A255;
}
.input01 .text{font-size:28px;color:#74A255;}
.input01 input{font-size:28px;line-height:46px;width:100%; box-sizing:border-box; border:1px solid #74A255;padding: 5px 5px;-webkit-appearance: none;appearance: none;}

.submit01{display:block;font-size:38px;line-height:100%;font-weight:bold;text-align:center;letter-spacing:0.6em;min-width:250px;color:#FFF;background:#000;padding:20px 0px 20px 30px;box-sizing:border-box;margin: 0 auto;-webkit-appearance: none;appearance: none;}
.submit01:hover{
  background: #555; /* 少し濃い緑色 */
}
.select01{position:relative;}
.select01 .text{font-size:28px;color:#74A255;}
.select01 select{font-size:24px;line-height:35px;width:100%;height:41px; box-sizing:border-box; border:1px solid #74A255;padding: 2px 30px 2px 10px;border-radius:18px;-webkit-appearance: none;appearance: none;}
.select01::before{content:"";position:absolute;bottom:0px;right:0px;width:40px;height:40px;border-radius:20px;background-color:#74A255;pointer-events:none;}
.select01::after{content:"▼";position:absolute;bottom:3px;right:20px;color:#FFF;line-height:35px;transform:translateX(50%);pointer-events:none;}



.top main{position:relative;height:250px;}
.top form{position:absolute;top:50%;left:50%;transform:translate(-50% ,-50%);}
.top .wrap{width:400px;max-width:90vw;margin: 0 auto;}
.top .submitwrap{padding-top:120px;}


.main main{width:560px;max-width:90vw;margin: 0 auto;}
.main .welcome{font-size:38px;color:#74A255;margin-bottom:10px;}
.main .wish{font-size:30px;color:#74A255;margin-bottom:30px;}
.main .items{width:100%;margin: 0 auto 50px; display:flex;flex-wrap:wrap;justify-content:space-between;}
.main .item{width:250px;margin-bottom:25px;}
.main .items:nth-of-type(2){flex-direction:column; height:360px;justify-content: flex-start;align-content:space-between;}
.main .submitwrap .submit01{margin: 0 0 0 auto;}

.error_text{
  text-align: center;
  color: red;
  font-weight: bold;
  font-size: 32px;
}
.fin_text{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: bold;
  font-size: 32px;
}
.fin_text a{
  margin-top: 40px;
}
.tag_check_text{
  text-align: center;
  font-size: 35px;
  font-weight: bold;
  margin-top: 50px;
}