/* CSS Document */
@media (min-width: 768px){ 
h1, .h1 {
    letter-spacing: 0.1em;
    border-bottom: 7px double #fff;
    padding: 0 20px 8px;
}
}

@media (max-width: 767px) {
h1, .h1 {
    letter-spacing: 0.1em;
    border-bottom: 4px double #fff;
    padding: 0 10px 4px;
}
}

@media (max-width: 767px) {
.container p {text-align:left;}

}

section#key-section {background: #999; text-align:center;}
.key div {text-align:left; color:#fff;}
@media (min-width: 768px){ 
.key_order {
    background: url(../img/order/key.jpg) no-repeat center;
}
.key_form {
    background: url(../img/form/key.jpg) no-repeat center;
}

.key {
    background-size: cover;
    padding-bottom: 35%;
	margin:0 auto;
	position:relative;
}

.key div {
    position: absolute;
    font-size: 2.5vw;
	letter-spacing:0.15em;
    line-height: 1.4;
    top: 36%;
    left: 0%;
}

}

@media (min-width: 1140px){ 
.key_order {
    background: url(../img/order/key.jpg) no-repeat center;
}
.key_form {
    background: url(../img/form/key.jpg) no-repeat center;
}

.key {
    background-size: cover;
	height:350px;
	width:1140px;
	margin:0 auto;
	position:relative;
	padding-bottom:0;
}

.key div {
    position: absolute;
    font-size: 55px;
    top: 36%;
    left: 0%;
}

}

@media (max-width: 767px) {
.key_order {
    background: url(../img/order/key_sp.jpg) no-repeat center;
}
.key_form {
    background: url(../img/form/key_sp.jpg) no-repeat center;
}

.key {
    background-size: cover;
    padding-bottom: 46%;
	width:100%;
	position:relative;
}

.key div {
    position: absolute;
    font-size: 14px;
    line-height: 1.5;
    top: 30%;
    left: 15px;
}
}

/* form */
#form p {margin-bottom:20px;}
#mailfield ol {
    margin: 0;
    padding: 10px 0 0 !important;
    list-style: none;
}
#mailfield ol li+li {
    margin-top: 10px !important;
}


form#mailformpro input, form#mailformpro textarea, form#mailformpro select {
    padding: 7px;
    font-size: 16px;
    vertical-align: middle;
	box-sizing:border-box;
}
#form button {border:1px solid; border-color: rgb(169, 169, 169); padding:10px; background:#fff; font-size:20px;}

.req:after {content:"必須"; color:#FF0000; padding:0 3px; border:1px solid #FF0000; font-size:85%; margin-left:1em; }
span.red{color:#FF0000;}

.w90 {width:95% !important;}
.w45 {width:45% !important;}
.w45+.w45 {margin-left:5%;}
.w5 {width:5em;}

.thanksbtn {text-align:center; margin:0 0 60px;}
.thanksbtn a {width:150px; background:#D1656D; padding:10px 20px; margin:0 auto; border:#D1656D 1px solid; border-radius:20px; color:#FFF}

.thanksbtn a:hover {background:#FFF; color:#D1656D; text-decoration:none;}
p.thanks {margin-bottom:60px !important;}
.center {text-align:center;}
.h2_mt {margin-top:50px;}
.mb0 {margin-bottom:0 !important;}

textarea.w90 {
    width: 90% !important;
    height: 8em !important;
}
@media only screen and (min-width: 768px){
form#mailformpro dl dt {
	float: left;
	width: 150px;
	clear: both;
	font-size: 12px;
	padding: 10px 0px;
	text-align: right;
	border-top: solid 1px #CCC;
	margin: 0px;
}
form#mailformpro dl dd {
	border-top: solid 1px #CCC;
	margin: 0px;
	padding: 10px 5px 10px 200px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}
}
@media only screen and (max-width: 767px){
.h2_mt {margin-top:40px;}

form#mailformpro dl dt {
	clear: both;
	font-size: 12px;
	padding: 10px;
	border-top: solid 1px #CCC;
	margin: 0px;
	text-align:left;
}
form#mailformpro dl dd {
	border-top: solid 1px #CCC;
	margin: 0px;
	padding: 10px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}
#form button {font-size:16px;}
.wrap+h2 {margin-top:50px;}

}