@charset "utf-8";

@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:700);



/* ===================================================
	difference_common
=================================================== */
li{
	list-style: none;
}
section > h3{
	text-align: center;
	font-size: 1.4rem;
	border-bottom: 1px solid #E9E9E9;
	padding-bottom: 15px; 
}
section{
	margin-bottom: 12%;
}
	@media screen and (min-width: 640px) {
		section > h3{
			font-size: 1.8rem;
		}
	}


/* ===================================================
	promise-introduction
=================================================== */
h1 img:nth-of-type(1){
	display: none;
}
h1 img:nth-of-type(2){
	display: block;
}
.text-main{
	font-size: 1.2rem;
	text-align: left;
}
.category-promise{
	display: none;
}
.box-promise h2{
	text-align: center;
}
.box-promise h2 > span:nth-of-type(1){
	display: block;
	color: #fff;
	position: relative;
	border-radius: 50%;
	width: 3.5em;
	height: 3.5em;
	line-height: 1.0;
	padding: 0.9em 0 0 0;
	margin: 0 auto 10px auto;
	font-weight: normal;
}
.box-promise h2 > span:nth-of-type(1):after{
	content: "";
	position: absolute;
	bottom: -8px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 0 10px;
}
.box-promise h2 span:nth-of-type(2){
	display: block;
	font-size: 1.6rem;
	font-weight: normal;
}
.box-promise h2 span:nth-of-type(3){
	position:relative;
	margin:10px;
	display:inline-block;
	padding:8px 25px 8px 25px;
	border:1px solid black;
	background:none;
	text-transform:uppercase;
	letter-spacing:1px;
	font-size: 2rem;
	color: #fff;
}
.box-promise h2 span:nth-of-type(3):after {
	position: absolute;
	top:2px;
	left:-4px;
	content:"";
	height:100%;
	width:100%;
	z-index:-999;
	transform: rotate(-2deg);
	-ms-transform: rotate(-2deg);
	-moz-transform: rotate(-2deg);
	-webkit-transform: rotate(-2deg);
	-o-transform: rotate(-2deg);
}
.box-promise .ttl-promise-1:after {
	background:#E7636F;
}
.box-promise .ttl-promise-2:after {
	background:#FFB955;
}
.box-promise .ttl-promise-3:after {
	background:#4893c1;
}
.ttl-promise-1 > span{
	display: block;
	font-size: 1.2rem;
}		
.box-promise-r{
	background-color: #E34856;
}
.box-promise-r:after{
	border-color: #E34856 transparent transparent transparent;
}
.box-promise-y{
	background-color: #FFA72B;
}
.box-promise-y:after{
	border-color: #FFA72B transparent transparent transparent;
}
.box-promise-b{
	background-color: #38759A;
}
.box-promise-b:after{
	border-color: #38759A transparent transparent transparent;
}
.text-about{
	background-color: #FAFAFA;
	border: 1px solid #e2e2e2;
	padding: 10px 10px 5px 10px;
}
.text-about i{
	margin: 0 0.3em 0 0;
	color: #259BA0;
}
.text-about dt{
	font-size: 1.2rem;
	font-weight: 700;
	color: #259BA0;
	padding-left: 0.7em;
	text-indent: -0.7em;
	margin-left: 0.7em;
	line-height: 1.2;
}
.text-about dd:nth-of-type(1){
	margin-bottom: 10px;
}
.text-about dd dl dt{
	margin-top: 10px;
}
.btn-detail li{
	text-align: center;
}
.btn-detail li a {
	position: relative;
	background-color: #259BA0;
	border-radius: 4px;
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 4px 0 #176265;
	padding: 10px 30px;
}
.btn-detail li a:hover {
	top: 4px;
	box-shadow: none;
	text-decoration: none;
}
.btn-detail li a:active {
	top: 3px;
	box-shadow: none;
}
.btn-detail li a:before {
	position: absolute;
	content: 'ï';
	font-family: FontAwesome;
	top: 50%;
	right: 5px;
	width: 1em;
	height: 1em;
	font-size: 1em;
	margin-top: -.5em;
	line-height: 1em;
}




.pointList{
	margin-left: 20px;
}
.pointList li{
	margin-bottom: 10px;
	padding-left: 0.3em;
 	text-indent: -0.3em;
}
.list-cover li{
	position: relative;
	padding-left: 0.6em;
 	text-indent: -0.6em;
 	margin-left: 0.5em;
}
.text-notice h4{
	font-weight:normal;
	padding:2% 0 2% 2%;
	position:relative;
}
.text-notice h4:after{
	content: "";
	position: absolute;
	top: 40%;
	left: 95%;
	box-sizing: border-box;
	width: 7px;
	height: 7px;
	border: 7px solid transparent;
	border-left: 7px solid #259BA0;
	-moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.text-notice h4.active{
	border-bottom:none;
}
.text-notice h4.active:after {
	content: "";
	position: absolute;
	top: 30%;
	left: 95%;
	box-sizing: border-box;
	width: 7px;
	height: 7px;
	border: 7px solid transparent;
	border-left: 7px solid #259BA0;
	-moz-transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    -o-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
}
.text-notice h4 {
	font-weight: 700;	
	border-bottom:1px solid #cccccc;
	cursor:pointer;
	padding-bottom:2% 0 2% 0;
}
.text-notice h4:first-child {	
	border-top:1px solid #cccccc;
}
.notes{
	font-size: 0.8rem;
}
.box-attention{
	padding: 20px;
	border: 8px solid #e9e9e9; 
}
.box-attention h3{
	border-left: 5px solid #259BA0;
	padding-left: 10px;
	font-size: 1.4rem;
}
.list-attention li{
	position: relative;
	padding-left: 1em;
}
.list-attention li:before{
	position: absolute;
	top: 0px;
	left: 0.4em;
	content: '\f12a';
	font-family: FontAwesome;
	color: #999999;
}
.read-open a,.read-close a{
	display: block;
	margin: 0 auto;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	background-color: #259BA0;
	text-align: center;
	color: #fff;
	padding: 7px 5px 5px 5px;
}
.read-open br,.read-close br{
	display: inline;
}
	@media screen and (min-width: 640px) {
		h1 img:nth-of-type(1){
			display: block;
		}
		h1 img:nth-of-type(2){
			display: none;
		}
		.text-main{
			font-size: 1.6rem;
			text-align: center;
		}
		.category-box{
			position: relative;
		}
		.category-box dl dt{
			position: absolute;
			width: 4em;
			height: 4em;
			border-radius: 50%;
			-webkit-border-radius: 50%;
			-moz-border-radius: 50%;
			top: -2em;
			left: 38%;
			color: #fff;
			line-height: 1.0;
			font-size: 1.4rem;
			padding: 25px 0 0 0;
			font-weight: normal;
			border: 2px solid #fff; 
			z-index: 999;
		}
		.category-box dl dd{
			padding: 50px 0px 50px 0;
			position: relative;
		}
		.category-box dl dd:after{
			content: "";
			position: absolute;
			bottom: 20px; left: 50%;
			margin-left: -10px;
			display: block;
			width: 0px;
			height: 0px;
			border-style: solid;
			border-width: 12px 12px 0 12px;
			border-color: #fff transparent transparent transparent;
		}
		.category-box dl dd a{
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			height:100%;
			width: 100%;
			overflow: hidden;
		}
		.category-box dl dd > span{
			font-size: 1.2rem;
			border-bottom: 1px solid #000;
		}
		/*.category-box dl dd p{
			color: #fff;
		}*/
		.category-box dl dd p span{
			font-size: 3.0rem;
			color: #fff;
			background: linear-gradient(transparent 90%, #fff 90%);
		}
		.category-box:hover:after{
			opacity: 0.7;
			filter: alpha(opacity=70);
			-ms-filter: "alpha(opacity=70)";
		}
		.category-box-r dl dt{
			background-color: #E34856;
		}
		.category-box-r:after{
			position: absolute;
			top:2px;
			left:13px;
			content:"";
			height:92%;
			width:92%;
			z-index:-999;
			transform: rotate(1deg);
			-ms-transform: rotate(1deg);
			-moz-transform: rotate(1deg);
			-webkit-transform: rotate(1deg);
			-o-transform: rotate(1deg);
			background-color: #E7636F;
		}
		.category-box-y dl dt{
			background-color: #FFA72B;
		}
		.category-box-y:after{
			position: absolute;
			top:4px;
			left:18px;
			content:"";
			height:92%;
			width:92%;
			z-index:-999;
			transform: rotate(1deg);
			-ms-transform: rotate(1deg);
			-moz-transform: rotate(1deg);
			-webkit-transform: rotate(1deg);
			-o-transform: rotate(1deg);
			background-color: #FFB955;
		}
		.category-box-b dl dt{
			background-color: #38759A;
		}
		.category-box-b:after{
			position: absolute;
			top:2px;
			left:10px;
			content:"";
			height:92%;
			width:92%;
			z-index:-999;
			transform: rotate(-1deg);
			-ms-transform: rotate(-1deg);
			-moz-transform: rotate(-1deg);
			-webkit-transform: rotate(-1deg);
			-o-transform: rotate(-1deg);
			background-color: #4893c1;
		}
		.category-promise{
			display: table;
			table-layout: fixed;
			width: 100%;
			margin: 80px 0 0 0;
		}
		.category-box{
			padding: 0 10px 0 10px;
			display: table-cell;
			text-align: center;
		}
		.category-box dl dt{
			
		}
		.category-box dl dd{
			border:1px solid #000; 
		}
		.category-box dl dd p{
			font-size: 1.6rem;
			font-weight: 700;
			line-height: 1.5;
			margin: 10px 0 0 0;
		}
		.text-about{
			padding: 30px 40px 25px 30px;
		}
		.text-about h4{
			font-weight: 700;
			font-size: 1.2rem;
		}
		.text-about dd:nth-of-type(1){
			margin-bottom: 20px;
		}
		.ttl-promise-2 br{
			display: none;
		}
		.box-promise h2 span:nth-of-type(3){
			font-size: 3rem;
		}
		.read-open br,.read-close br{
			display: none;
		}
	}


/* ===================================================
	lead-promise
=================================================== */
.lead-promise-l{
	margin: 0 0 5% 0;
}
.lead-promise-l .lead-promise-ttl{
	font-size: 1.3rem;
	font-weight: normal;
	text-align: center;
	margin:0 0 10px 0;
}
.lead-promise-l .lead-promise-text{
	width: 100%;
}
.lead-promise-l .lead-promise-ttl span{
	background: linear-gradient(transparent 70%, #55DBDC 70%);
	font-weight: 700;
}
.lead-promise-l figure img{
	width: 30%;
	margin: 0 auto 1% auto;
}
.lead-promise-r{
	margin: 0 0 5% 0;
}
.lead-promise-r .lead-promise-ttl{
	font-size: 1.4rem;
	font-weight: normal;
	text-align: center;
	margin:0 0 10px 0;
}
.lead-promise-r .lead-promise-text{
	width: 100%;
}
.lead-promise-r .lead-promise-ttl span{
	background: linear-gradient(transparent 70%, #55DBDC 70%);
	font-weight: 700;
}
.lead-promise-r figure img{
	width: 30%;
	margin: 0 auto 1% auto;
}

	@media screen and (min-width: 640px) {
		.lead-promise-l .lead-promise-ttl{
			font-size: 1.8rem;
			text-align: left;
			width: 70%;
			float: right;
		}
		.lead-promise-l figure img{
			width: 25%;
			float: left;
		}
		.lead-promise-l .lead-promise-text{
			width: 70%;
			float: right;
		}

		.lead-promise-r .lead-promise-ttl{
			font-size: 1.8rem;
			text-align: left;
			width: 70%;
			float: left;
		}
		.lead-promise-r figure img{
			width: 25%;
			float: right;
		}
		.lead-promise-r .lead-promise-text{
			width: 74%;
			float: left;
			padding: 0 2% 0 0;
		}
		.lead-promise-r .lead-promise-ttl br:nth-of-type(1){
			display: none;
		}
	}



/* ===================================================
	difference_faq
=================================================== */

.flow-box{

}
.flow-step{
	display: block;
	position: relative;
	width:4em;
	height:4em;
	border:1px solid #000;
	color: #fff;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	text-align: center;
	line-height: 4em;
	margin: 20px 0px -20px 0px;
}
.flow-step:after{
	position: absolute;
	top:2px;
	left:4px;
	content:"";
	height:100%;
	width:100%;
	z-index:-999;
	border-radius: 50%;
	background-color: #259BA0;
}
.flow-text{
	position: relative;
	display: block;
	border: 2px solid #259BA0;
	padding: 20px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	color: #666;
	font-weight: 700;
}
.flow-box > li{
	margin-bottom: 30px;
}
.btn-flow{
	width: 100%;
	z-index: 100;
}
.btn-flow-telsp{
	display: block;
	margin-bottom: 10px;
}
.btn-flow-telpc{
	display: none;
}
.btn-flow-mail a{
	position: relative;
	font-size: 1.2rem;
	padding-left: 40px;
}
.btn-flow-mail span{
	position: relative;
}
.btn-flow-mail a span:before{
	position: absolute;
	content: '\f0e0';
	font-family: FontAwesome;
	color: #fff;
	left: -1.2em;
}
	@media screen and (min-width: 640px) {
		.flow-box{
			width: 70%;
			margin: 0 auto;
		}
		.btn-flow-telsp{
			display: none;
		}
		.btn-flow-telpc{
			display: table-cell;
			width: 50%;
			padding: 10px 10px 10px 0px;
		}
		.btn-flow-telpc img{
			width: 100%;
			height: auto;
		}
		.btn-flow-mail{
			display: table-cell;
			padding-left: 10px;
		}
		.btn-flow-mail a{
			border-radius: 4px;
			color: #fff;
			line-height: 52px;
			-webkit-transition: none;
			transition: none;
			box-shadow: 0 4px 0 #7C1622;
			font-size: 1.4rem;
			padding-left: 50px;
		}
		.btn-flow-mail a span:before{
			top:-12px;
			left: -1em;
		}
		.btn-flow-mail a:hover {
			top: 2px;
			box-shadow: none;
		}
		.btn-flow-mail a:active {
			top: -4px;
			box-shadow: none;
		}
	}





/* ===================================================
	difference_faq
=================================================== */

.list-faq{
	margin-bottom: 15px;
	display:table;
	border-top:1px solid #ccc;
	border-right: none;
	border-bottom: none;
	border-left: none;
	width: 100%;
}
.list-faq > dt{
	position: relative;
	width: 100%;
	min-height:2em;
	padding: 12px 25px 5px 15px;
	border-top: 1px solid #fff;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	line-height: 1.5;
	cursor: pointer;
	display:table;
	height: 3em;
}
.list-faq dt span{
	display:table-cell;
	vertical-align:middle;
}
.list-faq > dt:after{
	position: absolute;
	top: 50%;
	right: 8px;
	margin-top: -0.5em;
	content: '\f067';
	font-family: FontAwesome;
	color: #999999;
}
.list-faq > dt p{
	position: relative;
	padding-left: 2em;
}
.list-faq > dt p:after{
	content: "Q.";
	display: block;
	line-height: 30px;
	position: absolute;
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
	left: 0;
	top: -0.2em;
	color: #259BA0;
}
.list-faq > dd p{
	position: relative;
	padding-left: 2em;

}
.list-faq > dd p:nth-of-type(1):after{
	content: "A.";
	display: block;
	line-height: 30px;
	position: absolute;
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
	left: 0.2em;
	top: -0.2em;
	color: #F78102;
}
.list-faq dt.active {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.list-faq dt.active:after {
	content: '\f068';
}
.list-faq > dd{
	padding: 12px;
	background-color: #fff;
	border-top: 1px solid #fff;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
	@media screen and (min-width: 640px) {
		.list-faq > dt:after{
			position: absolute;
			top: 47%;
			right: 20px;
			content: '\f067';
			font-family: FontAwesome;
			color: #999999;
		}
	}


