* {
	margin:  0;
	padding: 0;
	line-height: 1;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}

body {
	margin:  0;
	padding: 2em 0 3em;
	font-family: 'Helvetica Neue', 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	color: #333;
	font-size: 14px;
	background-color: #fff;
	-webkit-text-size-adjust: 100%; /* for iPhone */
	-webkit-font-smoothing: antialiased;
}

ul, ol { list-style: none; }
fieldset, img { border: none; }
table { border-collapse: collapse; }
a, a:focus, *:focus { outline: none; }

a:link {
	color: #09f;
	text-decoration: none;
}
a:visited {
	color: #09f;
	text-decoration: none;
}
a:hover, 
a:active {
	text-decoration: underline;
}

.container {
	margin-right: auto;
	margin-left:  auto;
	padding-right: 15px;
	padding-left:  15px;
}

@media (min-width: 768px) {
	.container {
		width: 750px;
	}
}
@media (min-width: 992px) {
	.container {
		width: 970px;
	}
}
@media (min-width: 1200px) {
	.container {
		width: 1170px;
	}
}

.clearfix:before,
.clearfix:after,
.container:before,
.container:after {
	display: table;
	content: " ";
}
.clearfix:after,
.container:after {
	clear: both;
}

/****************************
  ele
*****************************/

h1.h1_contact {
	clear: both;
	margin:  0;
	padding: 0 0 1.5em;
	color: #555;
	font-weight: bold;
	font-size: 1em;
}
h1.h1_contact i.fa {
	padding-right: .2em;
}

p.p_notice {
	margin:  0;
	padding: 0 0 1.5em;
	font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: .9em;
	line-height: 1.4;
}

.necess {
	font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	color: #f00;
}

.warning_s {
	display: inline-block;
	margin:  .1em 0 .8em;
	padding: .5em;
	font-weight: bold;
	font-size: .9em;
	line-height: 1;
	color: #fff;
	background-color: #c00;
}

/****************************
  form
*****************************/

dl.dl_contact {
	clear: both;
	display: table;
	width: 100%;
	margin:  0 0 1em;
	padding: 1em 0 0;
	border-top: 1px solid #ddd;
}
dl.dl_contact > dt, 
dl.dl_contact > dd {
	margin: 0;
	display: table-cell;
}
dl.dl_contact > dt {
	width: 15%;
	width: 10em;
	padding: 0 1.5em 0 0;
	vertical-align: middle;
	text-align: right;
	color: #333;
	font-weight: normal;
}

dl.dl_contact > dd {
	padding: 0;
	vertical-align: middle;
}

dl.dl_contact > dd span.alert {
	padding: 0 0 0 .5em;
	font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-size: .9em;
}

dl.dl_contact > dd > input, 
dl.dl_contact > dd > textarea {
	width: 85%;
}
dl.dl_contact.name > dd > input {
	width: 12em;
	margin-right: .5em;
}

dl.dl_contact.zip > dd > input, 
dl.dl_contact.tel > dd > input {
	width: 6em;
}

dl.dl_contact > dt.with_alert {
	padding-top: .5em;
	vertical-align: top;
}

dl.dl_contact > dt.msg, 
dl.dl_contact > dd.msg {
	vertical-align: top;
}

@media (max-width: 768px) {
	dl.dl_contact > dt, 
	dl.dl_contact > dd {
		display: block;
		vertical-align: top;
	}
	dl.dl_contact > dt {
		width: auto;
		padding: 0;
		text-align: left;
	}
	dl.dl_contact > dt.with_alert {
		padding-top: 0;
	}
	dl.dl_contact > dd {
		padding: .5em 0 0;
	}
	dl.dl_contact > dd > input, 
	dl.dl_contact > dd > textarea {
		width: 100%;
	}
	dl.dl_contact.name > dd > input {
		width: 9em;
	}
	dl.dl_contact > dd span.alert {
		display: none;
	}
}

p.p_helpblock {
	margin:  0;
	padding: .5em 0 0 1.2em;
	text-indent: -0.6em;
	color: #444;
	font-family: 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	line-height: 1.3;
	font-size: .9em;
}
p.p_helpblock .fa {
	padding-right: .2em;
	color: #ffba00;
}

textarea,
input[type="text"],
input[type="email"],
input[type="tel"] {
	padding: .2em .3em;
	border: 1px solid #bbb;
	background-color: #fff;
	font-size: 1em;
	line-height: 1.5;
}

textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
	border-color: #999;
	background-color: #f6f6f6;
}

select {
	height: 2em;
	padding: 0;
	border: 1px solid #ccc;
	vertical-align: middle;
	font-size: inherit;
	line-height: 1;
}

input[type="button"] {
	height: 2.5em;
	margin:  0;
	padding: 0 .5em;
	font-size: .9em;
	line-height: 1;
	cursor: pointer;
}

/****************************
  thanks
*****************************/

h2.h2_thanks {
	clear: both;
	margin:  0;
	padding: 1.5em 0;
	font-weight: bold;
	font-size: 1.1em;
	line-height: 1.7;
	color: #333;
}

h3.h3_thanks {
	margin:  0;
	padding: 0;
	font-weight: normal;
	font-size: 1em;
	line-height: 1.7;
	color: #666;
}

/****************************
  button
*****************************/

.order_navi, 
.order_prev, 
.order_next, 
.wait {
	margin:  0;
	padding: 0;
	font-size: 1em;
	line-height: 1;
}

.order_navi {
	clear: both;
	display: table;
	width: 100%;
	margin:  2em 0 0;
	padding: 1em 0 0;
	border-top: 1px solid #ddd;
	text-align: center;
}

.order_prev, 
.order_next {
	display: table-cell;
	padding: 0 1em;
	vertical-align: top;
}
.order_prev {
	text-align: right;
}
.order_next {
	text-align: left;
}

.wait {
	display: none;
	background: url(../images/waiting.gif) no-repeat 45% 50%;
}

/****************************
  font
*****************************/

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fa-play:before {
  content: "\f04b";
}
.fa-exclamation-triangle:before {
  content: "\f071";
}
