html,body{
	margin:0;
	padding:0;
}
br.pc{
	display:block;
}
br.sp{
	display:none;
}
body{
	position:relative;
	font-size:18px;
	letter-spacing: .2em;
	color:#333;
	font-family: yu-gothic-pr6n,sans-serif;
	font-weight: 400;
	font-style: normal;
	height:100vh;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

h1 {
  border-bottom: solid 3px #f5efef;
  position: relative;
	font-size:2em;
}

	h1:after {
	  position: absolute;
	  content: " ";
	  display: block;
	  border-bottom: solid 3px #feada6;
	  bottom: -3px;
	  width: 20%;
	}
section{
	max-width:1000px;
	width:100%;
	margin:auto;
	padding:40px 0;
}

section.table{
	border-radius:10px;
	background:#eee;
	padding:40px 0;
}
	section.table dl{
		display:flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom:40px;
	}
	section.table dl dd{
		margin:0;
		padding:0;
	}
	section.table dl dd p.error_message{
		color:#FF0000;
		font-size:.8em;
		margin:0;
	}
	section.table dl dd input[type=text]{
		border-radius:5px;
		border:1px #aaa solid;
		font-size:1.2em;
		width:20em;
		padding:5px 10px;
	}
	section.table input[type=submit]{
		display:block;
		border:none;
		border-radius:5px;
		background:#feada6;
		font-size:1.4em;
		color:#333;
		margin:auto;
		padding:10px 10%;
	}
	section.table input[type=reset] {
		display: block;
		border: none;
		border-radius: 5px;
		background: #ffffff;
		font-size: 1.4em;
		color: #333;
		margin: auto;
		padding: 10px 10%;
	}

	section.table.result dl{
		display:flex;
		flex-direction:row;
		justify-content: center;
		align-items: center;
		border-bottom:1px #888 dashed;
		max-width:75%;
		margin:0 auto 20px auto;
		padding-bottom:10px;
	}
	section.table.result dl dt{
		width:30%;
		margin:0;
		padding:0;
	}
	section.table.result dl dd{
		width:70%;
		margin:0;
		padding:0;
		text-align:center;
	}
	section.table.result dl dd .positive{
		color:#FF0000;
	}
	section.table .logout_area{
		text-align:center;
		margin-top:80px;
	}
	section.table a.logout{
		display:inline-block;
		border-radius:5px;
		background:#ccc;
		font-size:1em;
		text-decoration: none;
		color:#333;
		margin:auto;
		padding:5px 5%;
	}

	section.table .submit_area{
		margin-top:80px;
	}

section .upload_form{
	text-align:center;
}
section .input_file img{
	width:60px;
}
section .browse_button {
    padding: 1% 4%;
    width: clamp(50px, 50%, 250px);
    border: solid 0.05vw #4A5050;
    border-radius: clamp(1px, 1.75vw, 8px);
    cursor: pointer;
}
section #upload_file {
    display: none;
    margin: 0;
}
section .button_wrapper{
	display:flex;
	justify-content: center;
	margin-top:40px;
}
.line{
	text-align:center;
}

footer{
	/*position:absolute;
	bottom:0;*/
	background:#feada6;
	font-size:14px;
	text-align:center;
	width:100%;
	margin-top:40px;
	padding:10px 0;
}

@media screen and (max-width:767px) {
	body{
		font-size:14px;
	}
	br.pc{
		display:none;
	}
	br.sp{
		display:block;
	}
	h1 {
	  max-width:90%;
		margin:auto;
	}
	section{
		padding:20px 0;
	}
	section.table{
		max-width:90%;
		margin-bottom:20px;
		padding:20px 0;
	}
	section.table.result{
		padding:20px 0;
	}
	section.table dl dd input[type=text]{
		width:90%;
	}
	section.table.result dl dt{
		width:50%;
	}
	section.table.result dl dd{
		width:50%;
	}
	section.table .logout_area{
		margin-top:40px;
	}
}