@charset "utf-8";

@import url('reset.css');

/* ========================================
    ■ 必須設定
======================================== */

/* 共通設定
----------------------------- */

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-appearance: none;
            appearance: none;
}

body {
    font-family: Meiryo, sans-serif;
    font-size: 19px;
    color: #393939;
    line-height: 1.9;
    background: #fff;
}

a {
    color: #333;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

img,
video,
object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
}

/* ========================================
    ■ ページトップボタン
======================================== */

#page-top {
    position: fixed;
    right: 20px;
}

#page-top a {
    display: block;
    width: 44px;
    height: 44px;
    color: #fff;
    text-align: center;
    line-height: 44px;
    background: rgba(0,0,0,.25);
        border-radius: 50%;
}

#page-top a:hover {
    background: rgba(0,0,0,.5);
}

/* ========================================
    ■ Wrap
======================================== */

.wrap {
    width: 1000px;
    margin: 0 auto;
    position: relative;
    zoom: 1;
	z-index: 100;
}

.wrap:after {
    content: "";
    display: block;
    clear: both;
}

/* ========================================
    ■ General
======================================== */
.fl-left { float: left; }
.fl-right { float: right; }
.clearfix { 
    overflow: hidden;
    zoom: 1;
}
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.hover:hover { opacity: 0.9; }

/* ========================================
    ■ Key_v
======================================== */

#key_v {
	background: #eefffc; /* Old browsers */
	background: -moz-linear-gradient(-45deg,  #eefffc 0%, #f0fffb 50%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg,  #eefffc 0%,#f0fffb 50%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg,  #eefffc 0%,#f0fffb 50%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eefffc', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	position: relative;
	overflow: hidden;
}

#key_v:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	top: 0;
	background: url(../images/key_v_bg.png);
	position: absolute;
}

#key_v .wrap img.pic {
	position: absolute;
	display: block;
	z-index: 100;
	top: 4px;
	right: -40px;
}

#header {
	padding: 20px 20px 0;
}

#key_v h1 {
	padding: 30px 0px 90px 20px;
	position: relative;
	z-index: 150;
}

#key_v .cta {
	box-shadow: inset 0 -2px 5px rgba(58,58,58,0.30);
}

/* ========================================
    ■ cta
======================================== */

.cta {
	background: url(../images/key_v_cta_bg.png);
	height: 150px;
	padding: 30px 0 0;
	box-sizing: border-box;
}

.cta a {
	display: block;
	width: 720px;
	background: #f06c0a; /* Old browsers */
	background: -moz-linear-gradient(top,  #f06c0a 0%, #e84503 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #f06c0a 0%,#e84503 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #f06c0a 0%,#e84503 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f06c0a', endColorstr='#e84503',GradientType=0 ); /* IE6-9 */
	padding: 25px 0;
	text-align: center;
	border-radius: 3px;
	box-shadow: 0 3px #862f0f;
	margin: 0 auto;
}

/* ========================================
    ■ section01
======================================== */

#section01 {
	background: url(../images/section01_pattern_bg.png),
		url(../images/section01_bg.png) no-repeat top left;
	text-align: center;
	padding: 0 0 30px;
}

#section01 h2 {
	padding: 60px 0 0;
}

#section01 h2 + div,
#section01 h3 {
	margin: 40px 0 0;
}

#section01 ul {
	margin: 30px 0 0 50px;
	text-align: left;
}

#section01 ul li {
	padding: 0 0 30px;
	margin: 0 0 30px;
	border-bottom: 1px dashed #cac6b1;
}

#section01 ul li:last-child {
	border-bottom: none;
	margin: 0;
}

#section01 ul li p {
	margin: 20px 0 0 85px;
}

#section01 ul li p span {
	color: #d6603d;
}

/* ========================================
    ■ section02
======================================== */

#section02 {
	background: #177d60; /* Old browsers */
	background: -moz-linear-gradient(45deg,  #177d60 1%, #53bb5f 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  #177d60 1%,#53bb5f 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  #177d60 1%,#53bb5f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#177d60', endColorstr='#53bb5f',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	position: relative;
	padding: 0 0 40px;
}

#section02:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	margin: auto;
	top: 0;
	background: url(../images/section02_bg.png);
	position: absolute;
}

#section02 h2 {
	text-align: center;
	padding: 45px 0 0;
}

#section02 ul {
	margin: 45px 0 0;
}

#section02 ul li {
	width: 925px;
	margin: 0 auto 25px;
	background: #fff;
	box-shadow: 2px 2px 5px rgba(58,58,58,0.30);
	text-align: center;
	padding: 0 0 40px
}

#section02 ul li h3 {
	padding: 40px 0 0;
}

#section02 ul li p {
	margin: 30px 0 0;
}

#section02 ul li p span {
	color: #d6603d;
}

/* ========================================
    ■ section03
======================================== */

#section03 {
	background: url(../images/section03_bg.png),
		url(../images/section03_bg_pic.png) no-repeat top center;
	background-color: #252019;
	text-align: center;
}

#section03 h2 {
	padding: 75px 0 0;
}

#section03 h3 {
	padding: 35px 0 0;
}

/* ========================================
    ■ section04
======================================== */

#section04 {
	background: url(../images/section04_bg.png);
	padding: 0 0 60px;
}

#section04 h2 {
	text-align: center;
	padding: 75px 0 0;
}

#section04 ul {
	margin: 55px 0 0;
}

#section04 ul li {
	background: url(../images/section04_voice_bg.png) no-repeat top;
    background-color: #fff;
    width: 960px;
    margin: 0 auto 60px;
    padding-bottom: 30px;
    position: relative;
	box-shadow: 0px 2px 2px rgba(58,58,58,0.10);
}

#section04 ul li:last-child {
	margin: 0 auto;
}

#section04 ul li h3 img {
	margin: -15px 0 -10px 30px;
}

#section04 dl {
    width: 883px;
    margin: 0 auto 30px;
    padding: 0 15px 15px;
    border: dotted 5px #e8e4e1;
    overflow: visible;
}
#section04 dl dt {
    margin-left: -40px;
    padding-right: 10px;
}
#section04 dl dd {
    margin-top: 10px;
    line-height: 1.6;
	font-size: 15px;
}
#section04 dl dd i {
    font-size: 150%;
    color: #054662;
    padding-right: 10px;
}

#section04 ul li div {
	margin: 25px 0 0 35px;
}

/* ========================================
    ■ section05
======================================== */
#section05 {
    padding-bottom: 50px;
}
#section05 h2 {
    text-align: center;
    margin: 40px 0 35px;
}
#section05 dl {
    line-height: 1.6;
}
#section05 dl:nth-of-type(odd) {
    background: url("../images/section05_bg01.png") repeat;
}
#section05 dl dt {
    width: 960px;
    min-height: 105px;
    margin: 0 auto;
    background: url("../images/section05_ico_open.png") no-repeat right 50px, url("../images/section05_ico01.png") no-repeat left 30px;
    padding: 45px 0 20px 65px;
    cursor: pointer;
}
#section05 dl dt.open {
    background: url("../images/section05_ico_close.png") no-repeat right 50px, url("../images/section05_ico01.png") no-repeat left 30px;
}
#section05 dl dd {
    width: 960px;
    min-height: 105px;
    margin: 0 auto;
    background: url("../images/section05_ico02.png") no-repeat left 30px;
    padding: 30px 0 35px 65px;
    border-top: solid 1px #ddd;
    display: none;
}

/* ========================================
    ■ form
======================================== */
#form {
    background: url("../images/key_v_cta_bg.png") repeat;
    box-shadow: 0 -1px 5px rgba(58,58,58,0.50);
    padding: 60px 0 75px;
}
#form h2 {
    text-align: center;
    margin-bottom: 50px;
}
#form table {
    width: 820px;
    margin: 0 auto 30px;
}
#form table th {
    width: 235px;
    height: 75px;
    padding-bottom: 15px;
    overflow: hidden;
    zoom: 1;
}
#form table th:after {
    content: "";
    display: block;
    clear: both;
}
#form table th span {
    width: 235px;
    background: #16624c;
    color: #fff;
    text-align: left;
    display: inline-block;
    padding: 20px 15px;
}
#form table th .must {
    background: #d6603d;
    color: #fff;
    padding: 2px 10px;
    border-radius: 2px;
    float: right;
    border: none;
    text-shadow: none;
    margin: 0;
    font-size: 13px;
    box-shadow: none;
}
#form table th .ninni {
    background: #1498b4;
    color: #fff;
    padding: 2px 10px;
    border-radius: 2px;
    font-size: 13px;
    float: right;
}
#form table td {
    padding: 0 0 0 15px;
}
#form table td input[type='text'],
#form table td input[type='email'],
#form table td input[type='tel'],
#form table td textarea {
    width: 100% !important;
    height: 63px;
    font-size: 100%;
    padding: 20px 15px;
    border: solid 1px #fff;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
}
#form table td textarea {
    padding-top: 15px;
    min-height: 63px;
}

#form table td select {
    width: 50%;
    height: 63px;
    font-size: 100%;
    padding: 20px 15px;
    border: solid 1px #fff;
    line-height: 1em;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    background: #fff;
}
#form .note {
    text-align: center;
    color: #fff;
    margin-bottom: 30px;
}
#form .note a {
    color: #fff;
}
#form button {
    display: block;
	width: 425px;
	background: #f06c0a; /* Old browsers */
	background: -moz-linear-gradient(top,  #f06c0a 0%, #e84503 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #f06c0a 0%,#e84503 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #f06c0a 0%,#e84503 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f06c0a', endColorstr='#e84503',GradientType=0 ); /* IE6-9 */
	padding: 25px 0 25px 50px;
	text-align: center;
	border-radius: 3px;
	box-shadow: 0 3px #862f0f;
	margin: 0 auto;
	border: none;
	cursor: pointer;
}
#form div.mfp_err {
    display: none !important;
}
#form div.mfp_ok {
    display: none !important;
}

/* ========================================
    ■ thanks
======================================== */

#thanks {
    padding: 20px 0 80px;
    text-align: center;
}

#thanks h1 {
    margin: 30px auto 20px;
}

#thanks a {
    display: block;
    width: 450px;
    margin: 20px auto 0;
    padding: 20px;
    color: #fff;
    text-decoration: none;
    background: #29b28f;
    border-radius: 5px;
}

/* ========================================
    ■ footer
======================================== */

#footer {
    background: #1a1711;
    text-align: center;
}
#footer nav {
    padding: 40px 0;
}
#footer nav ul li {
    display: inline;
    padding: 0 28px;
    font-size: 87%;
}
#footer nav ul li a {
    color: #fff;
}
#copyright {
    color: #fff;
    font-size: 75%;
    background: #29b28f;
    padding: 6px 0;
}
p.error {
    padding: 5px 0px;
    color: #fff661;
	font-size: 15px;
}
.error_bg {
    background: #F8D6D9 !important;
}
section {
    min-width: 1200px;
}

.inset-shadow {
  box-shadow: inset 0 -2px 5px rgba(58,58,58,0.30);
}