@charset "utf-8";

body{
	margin: 0;
	font-size: 80%;
	line-height: 1.6;
	background: #f8f8f8;
	font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	-webkit-text-size-adjust: 100%;
}
div,p,ul,li,dl,dt,dd,form{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{margin:0;padding:0;font-size:1rem;font-weight:normal;}
li{
	list-style: none;
}
table {
	border-collapse: collapse;
}
th {
	font-weight: normal;
	text-align: left;
}

/* layout */
body, html {
	height: calc(100% - 20px);
}
#header {
	padding: 7% 0 5% 0;
	position: relative;
}
#header #logo {
	text-align: center;
}
#hnav {
	position: absolute;
	right: 5%;
	top: 5%;
}
#hnav ul {
	display: table;
	width: 100%;
}
#hnav li {
	display: table-cell;
	padding-left: 5px;
	font-size: .7rem;
}
#hnav li a {
	display: block;
	padding: 5px 8px;
	line-height: 1;
	border-radius: 3px;
	border: 1px solid #ccc;
	text-decoration: none;
	color: #000;
}
#hnav li a:hover {
	background-color: #5d12aa;
	color: #fff;
	transition: all 0.3s;
}
#container {
	background: #fff;
	min-height: 100%;	
}
#content {
	padding: 5%;
}
#content > h1 {
	text-align: center;
	margin-bottom: 5%;
	font-size: 1.3rem;
	line-height: 1.5;
}
#footer {
	background: #5d12aa;
	color: #fff;
	font-size: 12px;
	padding: 5px;
	text-align: center;	
}
@media(min-width:768px) {
	#container {
		margin: auto;
		width: 700px;
	}
}
@media(max-width:480px) {
	#header #logo {
		margin-top: 5%;
	}
}
/* gnav */
#gnav {
	padding: 0 5%;	
	margin-bottom: 25px;
}
#gnav ul {
	display: flex;
	flex-wrap: wrap;
}
#gnav li {
	flex-basis: 25%;
	margin-bottom: .5em;
	flex-grow: 1;
}
#gnav li a {
	color: #000;
	display: block;
	margin-right: 5px;
	border: 1px solid #ccc;
	border-radius: 3px;
	text-decoration: none;
	text-align: center;
}
#gnav li a:hover {
	background-color: #5d12aa;
	color: #fff;
	transition: all 0.3s;
}

@media(min-width: 481px) {
	#gnav li a {
		padding: 10px 0;
	}
}
@media(max-width:480px) {
	#gnav li span {
		display: none;
	}
	#gnav li a {
		padding: 5px 0;
	}
}

.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.fRight {
	float: right;
}
.red {
	color: #d00;
}
.form dd .w70pc {
	width: 70%;	
}
.form dd .w100pc {
	width: 99%;	
}
.center {
	text-align: center;
}
@media(min-width:767px){
	br.sp {
		display: none;
	}
}

/* form */

.form dt {
	font-size: .8rem;
	font-weight: bold;
}
.form dd {
	min-height: 1.5em;
}
.form dl dd:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
.form .g dl {
	margin-bottom: 0;
}
.form dd input:disabled {
	background: #ddd;
	cursor: not-allowed;
}
@media(min-width:768px) {
	.form dt {
		clear: both;
		float: left;	
		padding: 1.5em 0;
		width: 14em;
	}
	.form dd {	
		padding: 1.5em 0 1.5em 15em;
		border-bottom: 1px solid #eee;
	}
	.form dd .w6em {
		width: 6em;	
		display: inline-block;
	}
}
@media(max-width:767px) {
	.form dt {
		margin-bottom: 5px;
	}
	.form dd {
		margin-bottom:15px;
	}
	.form dd span {	
		white-space: nowrap;
	}
	.form dd .w6em {
		display: block;
	}
}

.form section {
	margin-bottom: 40px;	
}
h2 {
	background: #5d12aa;
	border-radius: 3px;
	padding: 5px 10px;
	color: #fff;
	margin-bottom: 10px;
}
.form section h3 {
	border-bottom: 2px solid #5d12aa;
	font-weight: bold;
	padding-bottom: 3px;
	margin-bottom: 15px;
}

.form dl {
	margin-bottom: 20px;
}
.form dt.need::after {
	background: #d00;
	border-radius: 3px;
	color: #fff;
	content: "必須";
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 3px 6px;
	margin-left: 5px;
	white-space: nowrap;
}
.form .singly::after {
	background: #666;
	border-radius: 3px;
	color: #fff;
	content: "個別";
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 3px 6px;
	margin-left: 5px;
	white-space: nowrap;
}
.form dt.public::after,
.form dt.secret::after {
	border-radius: 3px;
	color: #fff;
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 3px 6px;
	margin-left: 5px;
	white-space: nowrap;
}
.form dd .notice {
	font-size: .75rem;
	color: #555;
}
.form .err {
	font-size: .75rem;
	color: #c00;
}
.form input.col2 {
	width: 49%;	
}
.form input[type="text"],
.form input[type="password"],
.form textarea {
	background-color:#fff;
	border-radius:3px;
	border: 1px solid #999;
	font-size: .9rem;
	padding: 8px 3%;
	line-height: 1;
	-webkit-appearance: none;
	position: relative;
	box-sizing: border-box;
	margin-bottom: 5px;
}
.form select {
	background-color:#fff;
	border-radius:3px;
	font-size: .9rem;
	padding: 8px 3%;
	-webkit-appearance: none;
}
.form .g {
	border-radius:3px;
	padding: 5%;
	border: 1px solid #ccc;
	margin-bottom: 30px;
}
.form .btn {
	text-align: center;	
	margin-bottom: 40px;
}

.form .btn input[type="submit"] {
	background: linear-gradient(#f00, #d00);
	color: #fff;
	border-radius: 8px;
	border: none;
	font-size: 1rem;
	-webkit-appearance: none;
	padding: 10px;
	cursor: pointer;
}

.form .btn.back input[type="submit"] {
	background: linear-gradient(#999, #666);
}
.form .btn-list {
	display: table;
	margin: auto;
}
.form .btn-list > div {
	display: table-cell;
	padding: 0 15px;
}
.form .status::after {
	background: #666;
	border-radius: 3px;
	color: #fff;
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 3px 6px;
	margin-left: 5px;
	white-space: nowrap;
}
