@charset "UTF-8";

/* =============================================================================

	RESET

	html5doctor.com Reset Stylesheet v1.6.1
	Richard Clark - http://richclarkdesign.com

============================================================================= */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body {line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
nav ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
a { margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
del {text-decoration: line-through;}
abbr[title],dfn[title] {border-bottom:1px dotted;cursor:help;}
table {border-collapse:collapse; border-spacing:0;}
input, select {vertical-align:middle;}

div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li,form,input,textarea,button,table,tr,th,td,article,aside,footer,header,hgroup,nav,section {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-o-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box;}
body {-webkit-text-size-adjust:100%;}
header ul,footer ul {list-style:none;}


/* =============================================================================

	BASE

============================================================================= */

body {
	color: #333;
	font-family: Verdana, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 16px;
	line-height: 1;
}

button, input, select, textarea {
	color: #333;
	font-family : inherit;
	font-size: 100%;
}

input, select {
	vertical-align: middle;
}

select {
	max-width: 100%;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

img {
	max-width: 100%;
	border: 0;
	vertical-align: bottom;
}

a img {
	overflow: hidden;
}

a:link,
a:visited {
	color: #03c;
	text-decoration: underline;
	outline: none;
}

a:hover,
a:focus,
a:active {
	-moz-opacity: 0.6;
	opacity: 0.6;
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
}

p,li,dt,dl {
	line-height:1.6;
}


/* =============================================================================

	PARTS

============================================================================= */

.clear {
	clear: both;
	height: 1px;
	overflow: hidden;
}

/* clearfix */
.clfx {
	zoom:1;
	min-height: 1px;
}

.clfx:after {
	content: ".";
	display: block;
	clear: both;
	height: 1px;
	line-height: 1px;
	margin-top: -1px;
	visibility: hidden;
}

.nowrap {
	white-space: nowrap;
}

.inblock {
	display: inline-block;
}

.indent_01 {
	display: block !important;
	margin-top: 2px;
	padding-left: 1em;
	text-indent: -1em;
}

.kakko {
	display: inline-block;
	text-indent: -0.5em;
}

.sp_show {
	display: none !important;
}

@media screen and (max-width: 767px) {

	.sp_hide {
		display: none !important;
	}

	.sp_show {
		display: block !important;
	}

	.sp_show.inline {
		display: inline !important;
	}

}


/* =============================================================================

	COMMON

============================================================================= */

/* header
----------------------------------------------------------*/

#header {
	padding: 0 10px;
	border-bottom: 2px solid #29538d;
	background: #f4f5f6;
}

#header_inner {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	padding: 25px 0;
	text-align: center;
}

#header h1 {
	color: #29538d;
}

#header h1 .title_01 {
	display: block;
	font-size: 46px;
	line-height: 1.2;
}

#header h1 .title_02 {
	display: block;
	margin-top: 10px;
	font-size: 40px;
}

@media screen and (max-width: 767px) {

	#header_inner {
		padding: 15px 0;
	}

	#header h1 .title_01 {
		font-size: 25px;
	}

	#header h1 .title_02 {
		font-size: 20px;
	}

}


/* contents
----------------------------------------------------------*/
#contents {
	min-height: 300px;
	padding: 20px 10px;
	background: #fff;
}

#contents_inner {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 10px;
	padding: 15px;
	background: #fff;
}

#contents p {
	margin-bottom: 1.5em;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {

	#contents {
		min-height: 200px;
	}

	#contents_inner {
		padding: 0;
	}

}

/* footer
----------------------------------------------------------*/
#footer {
	padding: 0 10px;
	background: #f4f5f6;
	color: #666;
	font-size: 18px;
}

#footer_inner {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
}

.pagetop {
	display: none;
	position: fixed;
	right: 15px;
	bottom: 15px;
	z-index: 9999;
}

.pagetop a {
	position: absolute;
	top: -63px;
	right: 0;
	z-index: 5;
	color: #29538d;
	font-size: 50px;
	line-height: 1;
}

#copyright {
	font-size: 14px;
	line-height: 1.6;
}

#copyright dt {
	margin-bottom: 8px;
}

#copyright .bold {
	font-size: 18px;
	font-weight: bold;
}

#copyright .small {
	font-size: 11px;
}

@media screen and (max-width: 767px) {

	.pagetop a {
		top: -57px;
		font-size: 40px;
	}

	#copyright {
		line-height: 1.4;
	}

	#copyright .bold {
		display: inline-block;
		margin-bottom: 10px;
		font-size: 16px;
	}

	#copyright .small {
		display: inline-block;
		margin: 0 0 5px 1.5em;
	}

}


/* =============================================================================

	PAGE

============================================================================= */

#contents .required {
	color: #f00;
}

#contents .small {
	font-size: 14px;
}

#contents .supplement {
	display: inline-block;
	padding-left: 0.5em;
	font-size: 14px;
}

#contents .supplement.indent_01 {
	padding-left: 1.5em;
}

#contents .bold {
	font-weight: bold;
}

#contents .attention {
	padding-left: 1em;
	text-indent: -1em;
}

#contents .step {
	position: relative;
	list-style: none;
	margin: 0 0 1em;
	padding: 0;
	text-align: center;
	width: 100%;
	overflow: hidden;
	*zoom: 1;
}

#contents .step li {
	position: relative;
	float: left;
	width: 33.3%;
	line-height: 40px;
	padding: 0 40px 0 20px;
	background: #eee;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#contents .step li:before,
#contents .step li:after {
	position: absolute;
	left: -15px;
	display: block;
	content: '';
	background: #eee;
	border-left: 4px solid #FFF;
	width: 20px;
	height: 22px;
}

#contents .step li:after {
	top: -1px;
	-moz-transform: skew(30deg);
	-ms-transform: skew(30deg);
	-webkit-transform: skew(30deg);
	transform: skew(30deg);
}

#contents .step li:before {
	bottom: -1px;
	-moz-transform: skew(-30deg);
	-ms-transform: skew(-30deg);
	-webkit-transform: skew(-30deg);
	transform: skew(-30deg);
}

#contents .step li:first-child {
	-moz-border-radius-topleft: 4px;
	-webkit-border-top-left-radius: 4px;
	border-top-left-radius: 4px;
	-moz-border-radius-bottomleft: 4px;
	-webkit-border-bottom-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

#contents .step li:first-child:before,
#contents .step li:first-child:after {
	content: none;
}

#contents .step li:last-child {
	-moz-border-radius-topright: 4px;
	-webkit-border-top-right-radius: 4px;
	border-top-right-radius: 4px;
	-moz-border-radius-bottomright: 4px;
	-webkit-border-bottom-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

#contents .step li.current {
	color: #fff;
	font-weight: bold;
	background: #29538d;
}

#contents .step li.current:before,
#contents .step li.current:after {
	background: #29538d;
}

#contents .title_01 {
	margin: 2em 0 1em;
	padding: 10px;
	border-radius: 3px;
	background: #29538d;
	color: #fff;
}

#contents .form_table {
	width: 100%;
	margin: 0 0 20px;
}

#contents .form_table th {
	width: 34%;
	padding: 15px 10px;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	background: #eee;
	vertical-align: top;
	font-size: 16px;
	line-height: 1.4;
	font-weight: bold;
	text-align: left;
}

#contents .form_table.col2 th {
	width: 17%;
}

#contents .form_table th.bg {
	background: #f3f3f3;
}

#contents .form_table th.bg2 {
	background: #f7f7f7;
	font-weight: normal;
}

#contents .form_table th .small {
	font-size: 14px;
	font-weight: normal;
}

#contents .form_table td {
	padding: 15px 10px 10px;
	border-bottom: solid 2px #fff;
	background: #f7f7f7;
	vertical-align: middle;
	line-height: 1.4;
}

#contents .form_table .error {
	margin-bottom: 5px;
	color: #f00;
}

#contents .form_table .error .fas {
	color: #f4ba0b;
}

#contents .form_table td label,
#contents .form_table td .fwrap {
	display: inline-block;
	margin: 0 15px 5px 0;
}

#contents .form_table td .fwrap label {
	margin-right:0;
}

#contents .form_table td .fwrap.inline {
	display: inline;
}

#contents .form_table td input,
#contents .form_table td select,
#contents .form_table td textarea {
	margin-bottom: 5px;
	border: 1px solid #999;
	border-radius: 3px;
}

#contents .form_table td input[type="text"],
#contents .form_table td textarea {
	padding: 3px 3px 2px;
}

#contents .form_table td .wrap_name {
	display: inline;
	margin: 0 2em 5px 0;
	white-space: nowrap;
}

#contents .form_table td .wrap_name .wid {
	display: inline-block;
	width: 2.5em;
}

#contents .form_table td label.radio,
#contents .form_table td label.checkbox {
	cursor: pointer;
}

#contents .form_table .size_xs { width: 10%; }
#contents .form_table .size_s  { width: 30%; }
#contents .form_table .size_m  { width: 50%; }
#contents .form_table .size_l  { width: 70%; }
#contents .form_table .size_xl { width: 100%; }
#contents .form_table .size_4em { width: 4em; }
#contents .form_table .size_2em { width: 2.5em; }

#contents .box {
	font-size: 14px;
}

#contents.complete .box {
	margin-top: 50px;
	padding: 15px 15px 1px;
	background: #f7f7f7;
}

#contents .box h2 {
	margin-bottom: 10px;
}

#contents .box ul {
	margin-left: 25px;
	margin-bottom: 14px;
}

#contents .submit_box {
	margin: 3em 0 2em;
	text-align: center;
}

#contents .submit_box form {
	display: inline;
}

#contents .submit_box .submit_btn {
	padding: 15px 30px 13px;
	border: none;
	border-radius: 5px;
	background: #29538d;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	box-shadow: 2px 2px 4px #666;
	-webkit-appearance: none;
}

#contents .submit_box .submit_btn:active {
	position: relative;
	top: 2px;
	box-shadow: none;
}

#contents .submit_box .return_btn {
	margin-right: 50px;
	padding: 15px 40px 13px;
	border: none;
	border-radius: 5px;
	background: #aaa;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	box-shadow: 2px 2px 4px #666;
	-webkit-appearance: none;
}

#contents .submit_box .return_btn:active {
	position: relative;
	top: 2px;
	box-shadow: none;
}

#contents .ul_01 {
	margin: 0 0 1.5em 20px;
}

#contents .table_01 {
	margin-bottom: 2.5em;
}

#contents .table_01 th {
	padding: 10px 10px 5px;
	border: 1px solid #666;
	background: #ea9237;
	color: #fff;
	vertical-align: middle;
	line-height: 1.4;
	font-weight: normal;
}

#contents .table_01 td {
	padding: 15px 10px 10px;
	border: 1px solid #666;
	background: #fff5e9;
	vertical-align: middle;
	line-height: 1.4;
}

#contents .table_01 .cell_01 {
	width: 60%;
}

#contents .table_01 .cell_02 {
	width: 40%;
}

#contents .text_01 {
	padding: 10px;
	border: 2px solid #f00;
}

@media screen and (max-width: 767px) {

	#contents .step li {
		padding: 0 20px 0 10px;
	}

	#contents .step li:before,
	#contents .step li:after {
		left: -5px;
		width: 10px;
	}

	#contents .form_table,
	#contents .form_table tbody,
	#contents .form_table tr,
	#contents .form_table th,
	#contents .form_table td {
		display: block;
		width: 100% !important;
	}

	#contents .form_table th {
		border-right: none;
	}

	#contents .form_table td .wrap_name {
		display: block;
		margin-right: 0;
	}

	#contents .form_table td .wrap_name input {
		width: 80%;
	}

	#contents .form_table .size_l {
		width: 100%;
	}

	#contents .supplement {
		display: block;
	}

	#contents .submit_box .submit_btn {
		padding: 15px 20px 13px;
	}

	#contents .submit_box .return_btn {
		margin-right: 20px;
		padding: 15px 20px 13px;
	}

}

@media screen and (max-width: 321px) {

	#contents .submit_box .submit_btn {
		padding: 15px 15px 13px;
	}

	#contents .submit_box .return_btn {
		margin-right: 15px;
		padding: 15px 15px 13px;
	}

}

#contents.complete h2 {
	margin-bottom: 0.5em;
	line-height: 1.6;
}
