
body {
	margin: 0;
	padding: 0;
	text-align: center;
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	_font-family:"ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	color: black;
	overflow-x: hidden;
}

.inner {
	width: 100%;
	max-width: 800px;
	min-width: 320px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;}

p#copy {
	font-size: 12px;
	font-weight: 100;
	color: #FFF;
	margin: 0px;
	padding: 0px 0px 40px;
}

#footer {
	background-color: #349cc3;
	margin-top: -16px;
	padding: 10px 0 0;
}

#header h1 img,
#footSummary>img
{
	width: 100%;
}

h2 {
	font-size: 15pt;
	border-bottom: solid 3px #2CA6E0;
	padding: 10px 0 15px 0;
}
h3 {
	font-size: 12pt;
	text-align: left;
	border-left: solid 4px #2CA6E0;
	padding-left: 10px;
	margin-top: 30px;
}
p.caution {
	text-align: left;
	font-size: 10.5pt;
}
p.caution strong {
	color: red;
	font-weight: normal;
}
p.box {
	border: solid 1px #aaa;
	text-align: left;
	padding: 10px;
	font-size: 13px;
}
div.contact {
	margin-top: 20px;
	margin-bottom: 50px;
	text-align: left;
	font-size: 13px;
}
div.contact h4 {
	margin: 0;
	font-size: 18px;
}
.title {
	color: #007FFF;
}
dl dt {
	font-size: 11pt;
	font-weight: bold;
}
dl dd {
	margin: 0 0 20px 0;
}
dl dd>input {
	width: 100%;
	padding: 5px;
	font-size: 15pt;
	box-sizing: border-box;
}
dl.seminar ul {
	list-style: none;
	padding: 0;
}
dl.seminar ul li {
	text-align: left;
	margin-bottom: 20px;
	border-bottom: solid 1px #aaa;
	padding-bottom: 20px;
}
dl.seminar ul li input {
	width: 20px;
	height: 20px;
	vertical-align: bottom
}
dl.seminar ul li input.number {
	width: 50px;
	padding: 0 3px;
}

.buttons {
	margin: 40px 0 40px 0;
}
.buttons input {
	margin: 10px 20px;
	padding: 10px;
	font-size: 15pt;
}
.buttons input[type=button] {
	border: none;
	background: none;
	font-size: 16px;
	color: #888;
	text-decoration: underline;
	cursor: pointer;
	padding: 15px 20px;
}
.buttons input[type=button]:hover {
	background: #eee;
}
.csv-error {
	background-color: #FF7500;
	color: white;
	padding: 20px;
}
input.caution {
	border: solid 2px #FF7500;
	background-color: #FFF6EF;
}

/* --- check page ---*/
body.check table {
	width: 100%;
	border-collapse: collapse;
}
body.check table th ,
body.check table td {
	border-bottom: solid 1px #ddd;
	padding: 10px 0;
	font-size: 10.5pt;
}

body.check table th {
	width: 125px;
	text-align: left;
}
body.check table td {
	vertical-align: top;
	text-align: left;
	margin: 0;
}

/* --- finish page ---*/
body.finish p.done {
	text-align: left;
	font-size: 10.5pt;
	margin-bottom: 40px;
}

/* --- add 2018 --- */
.question {
	margin: 5px 0;
}
	.question textarea.add-text {
		width: 100%;
		height: 5rem;
		box-sizing: border-box;
	}
	.question .question-text {
		border-left: solid 1px #ccc;
		padding: 3px 10px;
		margin-left: 5px;
		line-height: 1.2;
		color: #555;
	}

.check .question {
	margin: 5px 20px 10px 20px;
}

.gray {
    color: #aaa;
}

span.req {
	background: red;
	color: #fff;
	font-size: 11px;
	letter-spacing: 5px;
	border-radius: 3px;
	padding: 1px 1px;
	text-indent: 5px;
	margin: 0 5px 0 0;
	display: inline-block;
	vertical-align: middle;
}
table.form-table {
	width: 100%;
	margin: 5px 0;
	border-collapse: collapse;
}
table.form-table caption {
	text-align: left;
	padding: 0 0 20px 0;
	font-size: 12px;
}
table.form-table tr th {
	text-align: left;
	vertical-align: top;
	width: 250px;
	border-right: solid 1px #888;
	padding: 10px 10px 10px 0px;
}
table.form-table tr th.req:after {
	content: '必須';
	float: right;
	background: red;
	color: #fff;
	font-size: 11px;
	letter-spacing: 5px;
	border-radius: 3px;
	padding: 1px 1px;
	text-indent: 5px;
	margin: 0 10px 0 0;
}
table.form-table tr td {
	text-align: left;
	padding: 10px 0px 20px 20px;
}
table.form-table tr td select {
	height: 25px;
}
table.form-table tr td input[type=text] ,
table.form-table tr td input[type=email] {
	height: 20px;
	width: 50%;
}
table.form-table tr td input[type=email] {
	width: 300px;
	max-width: 100%;
}
table.form-table tr td input.mini {
	width: 100px;
}
table.form-table tr td ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
table.form-table tr td ul li + li {
	margin-top: 5px;
}
table.form-table tr td input[name=zip1] {
	width: 50px !important;
}
table.form-table tr td input[name=zip2] {
	width: 70px !important;
}
table.form-table tr td input[name=address] {
	width: 300px;
}
table.form-table tr td textarea[name=etc] {
	width: 100%;
	height: 100px;
	line-height: 1.2;
}
img.banner {
	max-width: 100%;
}
.error {
	color: red;
	font-size: 14px;
	font-weight: bold;
}
table.form-table tr td .email2 {
	margin-top: 8px;
	font-size: 12px;
}

@media screen and (max-width:800px) {
	table.form-table tr th {
		display: block;
		width: 100%;
		border: none;
		border-bottom: solid 1px #555;
		padding-right: 0;
	}
	table.form-table tr th.req:after {
		margin: 0;
	}
	table.form-table tr td {
		display: block;
		width: 100%;
		padding-left: 0;
	}
	table.form-table tr td input[type=text] ,
	table.form-table tr td input[type=email] {
		width: calc(100% - 5px);
		margin-bottom: 5px;
	}
	table.form-table tr td select[name=purpose] {
		max-width: 100%;
		width: 100%;
	}
	table.form-table tr td textarea[name=etc] {
		max-width: calc(100% - 5px);
		width: 100%;
	}
}
