.sub .key   {
    aspect-ratio: 96 / 30;
    overflow-y: visible;
}

.key:before   {
    background-image: url(../images/key_bg_pc.webp);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;
    top: 0;
    left: 0;
}

body.sub   {
    background-image: url(../images/body_bg_pc.webp);
}

.sub .key .key_balloon    {
    position: absolute;
    width: 25vw;
    height: auto;
    top: 29.84vw;
    left: 19.27vw;
    animation: sec3img1 2s ease-in-out infinite alternate;
}

.sub .key .key_robot    {
    position: absolute;
    width: 8.9vw;
    height: auto;
    top: 29.83vw;
    left: 59.86vw;
    transform: rotate(-25deg);
}

.sub .key .keytext  {
    position: absolute;
    top: 29vw;
    width: min(31vw,500px);
}

.sub main section ul{
  margin: 0;
  padding: 0;
  list-style: none;
  background: none;
  border: none;
  flex-direction:initial;
  justify-content:initial;
}
.sub main section ul.contactTable{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	width:100%;
	margin:0 auto 30px;
	padding: 0;
}
.sub main section ul.contactTable li{
	width:100%;
	margin:0 0 20px;
	padding:0 0 20px;
	box-sizing: border-box;
	border-bottom:1px dashed #bbb;
}
.sub main section ul.contactTable li:before{
	display:none;
}
.sub main section ul.contactTable li.half{
	position:relative;
	width:50%;
	padding:0 2% 20px 0;
	border-bottom:1px dashed #bbb;
	box-sizing: border-box;
	line-height:1;
}
.sub main section ul.contactTable li.half:nth-of-type(even){
	padding:0 0 20px 2%;
}
.sub main section ul.contactTable li:last-of-type{
	margin:0;
	padding:0;
	border-bottom:none;
}
.sub main section ul.contactTable li span{
	color:#ff0000;
}

input[type=text]{
	width:100%;
	margin:15px 0 0;
	padding:3px 12px;
	border:1px solid #bbb;
	font-size:18px;
	box-sizing: border-box;
}
input[type=text].short{
	width:50%;
}
textarea{
	width:100%;
	height:170px;
	margin: 15px 0 0;
	padding:12px;
	border:1px solid #bbb;
}
.sub main section ul.contactTable .redbg{
	background:#F7AFAF;
}

form a{
	color: #F00;
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 32px;
}
form label{
	margin:0 0 0 10px;
}
/*--------------*/
#presend{
	display: flex;
	width: 500px;
	height: 50px;
	flex-direction: column;
	justify-content: center;
	margin:30px auto 0;
	border:none;
	color: #FFF;
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	letter-spacing: -1px;
	border-radius: 25.313px;
	background: #FF0037;
	box-shadow: 3.375px 3.375px 0 0 rgba(0, 0, 0, 0.25);
}

#send{
	background:#E50012;
	width:160px;
	height:60px;
	border:none;
	font-size:14px;
	color:#fff;
}


/*確認画面------------------*/
#confirmArea{
	color:#FFFFFF;
	margin:30px auto;
	padding:30px 0 60px 0;
	z-index:10000;
	overflow-y:auto;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

#confirmation{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	width:90%;
	max-width:800px;
	padding:30px;
	background:#fff;
	color:#333;
	margin:10px auto 25px auto;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
#confirmation dt{
	width:35%;
	padding:15px 0;
	text-align:left;
	border-top:1px dashed #ddd;
}
#confirmation dd{
	width:65%;
	padding:15px 0;
	text-align:left;
	border-top:1px dashed #ddd;
}
#confirmation dt:first-child,#confirmation dd:nth-of-type(1){
	border-top:none;
}
#back{
	background:#eeeeee;
	width:160px;
	height:60px;
	border:1px solid #ccc;
	color:#333;
	font-size:14px;
}
#confirmAreaScreen{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-align:center;
	background-color: rgba(0,0,0, 0.86);
	z-index:801;
	overflow:auto;
}
.center{
	text-align:center;
	margin:20px auto 20px auto;
}



@media screen and (max-width: 834px)    {
    .sub .key   {
        aspect-ratio: 40 / 49;
        overflow-y: visible;
    }
    
    .key:before   {
        background-image: url(../images/key_bg_sp.webp);
    }
    
    .sub .key .key_balloon    {
        width: 40vw;
        left: 12.5vw;
        top: 70.89vw;
    }
    
    .sub .key .key_robot    {
        transform: rotate(0);
        width: 18.6vw;
        top: 36.5vw;
        left: 75vw;
    }
    
    .sub .key .keytext  {
        top: 77.61vw;
        left: 12.5vw;
        width: 75vw;
    }
	
	
	
	.contactTable dt{
		width:100%;
		padding:22px 0 17px;
		border:none;
	}
	.contactTable dd{
		width:100%;
		padding:0 0 20px;
	}
	.contactTable dt span{
		top:18px;
	}
	input[type=text].short{
		width:100%;
	}
	input[type=text]:not(.short){
		width:100%;
	}
	input[type=text].age{
		width:20%;
	}
	input[type=text].zip{
		width:40%;
	}
	#presend{
		width:100%;
		height:60px;
		line-height: 64px; /* 320% */
	}
	
	#confirmation{
		padding:10px 15px;
	}
	#confirmation dt{
		width:100%;
		padding:10px 0 5px;
		border:none;
	}
	#confirmation dd{
		width:100%;
		padding:0 0 10px;
		border-top:none;
		border-bottom:1px dashed #ddd;
	}
}