@charset "utf-8";

* { box-sizing: border-box;}

body {
	font-size: 16px;
	font-family: verdana, sans-serif;
	line-height: 1.8;
	color: #333;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: top;
}

.right { float: right;}
.left { float: left;}

.text-center { text-align: center;}
.text-right { text-align: right;}


p { margin-bottom: 1.8em;}
.small { font-size: 12px;}

.section {
	margin-bottom: 60px;
}

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

	.section {
		margin-bottom: 40px;
	}
	
}

a { color: #053598; transition: all  0.3s ease;}
a:hover { color: #e95809;}

a img { transition: all  0.3s ease;}
a:hover img { opacity: .7;}

.sp { display: none;}
.sp-inblock { display: none;}

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

	.pc { display: none;}
	.sp { display: block;}
	.sp-inblock { display: inline-block;}
	
}
 

/* ----------------------------------------

 	head

---------------------------------------- */

.heading-primary {
	margin: 36px 0 24px;
	padding: 10px 10px 0;
	border-top: 3px solid #ff6000;
    font-size: 20px;
}

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

	.heading-primary {
		margin: 20px 0  16px;
	}
	
}

.h4-style {
	margin: 0 0 12px;
	padding: 6px;
	background-color: #fce6ba;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: #333;
}


/* ----------------------------------------

 	list

---------------------------------------- */

ul {
	margin-left: 1.6em;
	margin-bottom: 1.8em;
}

/* ----------------------------------------

 	table

---------------------------------------- */

table {
	width: 100%;
	margin-bottom: 1.8em;
}

th,
td {
	box-sizing: border-box;
}

td > :last-child {
	margin-bottom: 0;
}


/* ----------------------------------------

	nav

---------------------------------------- */

.outline-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0;
}

.outline-nav li {
	display: inline-block;
	margin: 0 20px 0 0;
	font-size: 14px;
}

.outline-nav li:last-child {
	margin-right: 0;
}

.outline-nav a {
	position: relative;
	padding-left: 18px;
	text-decoration: none;
	color: #333;
}

.outline-nav a:hover {
	color: #e95809;
}

.outline-nav a:before {
	position: absolute;
	left: 0;
	top: 6px;
	content: '';
	display: block;
	width: 12px;
	height: 6px;
	background: url("../images/common/arrow-down--primary.png") no-repeat center center;
}

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

	.outline-nav ul {
		overflow: hidden;
		margin-top: -8px;
	}
	
	.outline-nav li {
		display: block;
		float: left;
		width: 50%;
		margin: 0;
	}

	.outline-nav li:nth-child(odd) {
		clear: both;
	}

	.outline-nav a {
		display: block;
		padding: 8px 0 8px 18px;
	}
	
	.outline-nav a:before {
		top: 50%;
		width: 8px;
		height: 4px;
		margin: -2px 0 0;
		background-size: contain;
	}
	
}


/* ----------------------------------------

 	drawer nav

---------------------------------------- */

.drawer-overlay {
	z-index: 1000;
	background-color: rgba(0,0,0,.8);
}

.drawer-hamburger,
.drawer-hamburger:hover {
	box-sizing: border-box;
	z-index: 1002;
	width: 48px;
	height: 48px;
	padding: 12px;
	background-color: #fff;
	border-radius: 24px;
}

.drawer-hamburger-icon {
	margin-top: 2px;
}

.drawer-hamburger {
	display: none;
}

@media only screen and (max-width: 767px)  {
	
	.drawer-hamburger {
		display: block;
	}
	
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
	background-color: #273c90;
}

.drawer--right .drawer-hamburger {
	right: 14px;
	top: 14px;
}

.drawer--right.drawer-open .drawer-hamburger {
	right: 17.25rem;
}

.drawer-nav {
	z-index: 1001;
}

.drawer-menu a {
	display: block;
	padding: 12px;
	background-color: #e95809;
	border-bottom: 1px solid #fff;
	color: #fff;
	text-decoration: none;
}

.drawer-contact {
	padding: 16px 8px;
	text-align: center;
}

.drawer-contact__head {
	line-height: 1.4;
}

.drawer-contact__tel {
	position: relative;
	margin-top: 12px;
	margin-bottom: 20px;
	line-height: 1.2;
	font-weight: bold;
	color: #e70404;
	text-align: center;
	font-size: 20px;
}

.drawer-contact__tel:before {
    position: relative;
	top: 4px;
	content: '';
	display: inline-block;
	width: 39px;
	height: 24px;
	margin: 0 10px 0 0;
	background: url(../images/common/icon-tel.png) no-repeat center center;
	background-size: contain;
}

.drawer-contact__tel a {
	text-decoration: none;
	color: #e70404;
}

.drawer-contact__btn a {
	display: block;
	padding: 8px;
	background-color: #288d33;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	border-radius: 4px;
}


/* ----------------------------------------

	width

---------------------------------------- */

input[type="text"].w-30 { width: 30%;}


/* ----------------------------------------

	box

---------------------------------------- */

.inner {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
}

.inner--small {
	padding-left: 50px;
	padding-right: 50px;
}

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

	.inner--small {
		padding-left: 20px;
		padding-right: 20px;
	}
	
}


/* ----------------------------------------

	breadcrumb

---------------------------------------- */

.breadcrumb {
	margin: 0 0 40px;
	padding: 12px 0;
	border-bottom: 1px solid #eee;
}

.breadcrumb ul {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0;
}

.breadcrumb li {
	display: inline-block;
	font-size: 13px;
}

.breadcrumb li + li:before {
	content: '>';
	padding: 0 8px;
}


/* ----------------------------------------

	header

---------------------------------------- */

.header-card {
	padding: 5px 0;
	background-color: #273c90;
	color: #fff;
	font-weight: bold;
}

.header-card dl {
	text-align: right;
	font-size: 0;
}

.header-card dt,
.header-card dd {
	display: inline-block;
	padding: 0 0 0 4px;
	line-height: 20px;
	font-size: 12px;
}

.header-card dt {
	padding-right: 4px;
}

@media only screen and (max-width: 767px)  {
	
	.header-card .inner {
		padding-left: 10px;
		padding-right: 60px;
	}
	
	.header-card dl {
		text-align: left;
	}

	.header-card dt {
		display: block;
		padding: 0;
	}
	
	.header-card dd {
		display: none;
	}
	
}

.header {
	padding: 16px 0;
}

.header .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-logo {
	display: flex;
	align-items: center;
	width: calc( 100% - 250px );
}

.site-logo {
	margin: 0;
}

.site-desc {
	margin: 0;
	padding-left: 16px;
	vertical-align: middle;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5;
}

.site-name {
	margin: 0;
}

.header-tel {
	overflow: hidden;
	width: 250px;
}

.header-tel__contact {
	margin: 0;
}

.header-tel__contact a {
	display: block;
	margin-top: 8px;
	padding: 4px;
	background-color: #288d33;
	border: 2px solid #288d33;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	border-radius: 4px;
	cursor: pointer;
}

.header-tel__contact a:hover {
	background-color: #fff;
	color: #288d33;
}

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

	.header {
		padding: 16px 0;
	}

	.header-logo {
		float: none;
		display: block;
		width: 100%;
	}

	.site-logo {
		display: block;
		margin: 0 0 10px;
		text-align: center;
	}
	
	.site-logo img {
		width: 200px;
	}

	.site-desc {
		position: static;
		display: block;
		margin: 0;
		padding: 0;
		text-align: center;
	}

	.header-tel {
		display: none;
	}
	
	.header-tel img {
		width: 200px;
	}
	
}


/* ----------------------------------------

	header-nav

---------------------------------------- */

.header-nav {
	background-color: #e95809;
}

.header-nav .inner {
	position: relative;
}

.header-nav ul {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

.header-nav li {
	flex-grow: 1;
	padding: 0;
	line-height: 1.2;
}

.header-nav li a {
	display: block;
	width: 100%;
	height: 50px;
	padding: 0 4px;
	background-color: #e95809;
	border-left: 1px solid #fff;
	color: #fff;
	text-align: center;
	line-height: 50px;
	text-decoration: none;
}

.header-nav li a:hover {
	background-color: #053598;
}

.header-nav li:last-child a {
	border-right: 1px solid #fff;
}

.header-contact {
	position: absolute;
	top: -16px;
	right: 20px;
	display: table;
	margin: 0;
}

.header-contact a {
	position: relative;
	display: table-cell;
	height: 66px;
	width: 160px;
	background-color: #053598;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	cursor: pointer;
}

@media only screen and (max-width: 1280px) {
	
	.header-nav .inner {
		padding-left: 0;
		padding-right: 0;
	}
	
	.header-contact {
		display: none;
	}
	
}

@media only screen and (max-width: 767px)  {
	
	.header-nav {
		display: none;
	}
	
}

.header-contact a:before {
	position: absolute;
	top: 0;
	right: -16px;
	content: '';
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #03256b;
	border-left: 8px solid #03256b;
	transition: all  0.3s ease;
}

.header-contact a:hover { background-color: #1fb110; }

.header-contact a:hover:before {
	border-bottom-color: #1fb110;
	border-left-color: #1fb110;
}


/* ----------------------------------------

	footer

---------------------------------------- */

.footer-contact {
	border-top: 1px solid #ccc;
}

.footer-contact .inner {
	padding: 48px 0 48px;
	background: url("../images/common/footer-contact.png") no-repeat left bottom;
}

.footer-contact h2 {
	margin: 0 0 24px;
	font-weight: bold;
	font-style: italic;
	text-align: center;
	line-height: 1.2;
}

.footer-contact h3 {
	margin: 0 0 16px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
}

.footer-contact__body {
	position: relative;
	margin-bottom: 20px;
}

.footer-contact__tel {
	margin: 0 0 10px;
	font-size: 52px;
	line-height: 1.2;
	font-weight: bold;
	color: #e70404;
	text-align: center;
}

.footer-contact__tel a {
	color: #e70404;
	text-decoration: none;
}

.footer-contact__tel:before {
	position: relative;
	top: 4px;
	content: '';
	display: inline-block;
	width: 60px;
	height: 48px;
	margin: 0 10px 0 0;
	background: url("../images/common/icon-tel.png") no-repeat center center;
	background-size: contain;
}

.footer-contact__btn {
	position: relative;
	max-width: 540px;
	margin: 0 auto;
}

.footer-contact__btn a {
	display: block;
	max-width: 540px;
	margin: 0 auto;
	line-height: 70px;
	text-align: center;
	color: #fff;
}

.footer-contact__point {
	position: absolute;
	right: -200px;
	bottom: 0;
	width: 180px;
}

.footer-contact__point ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-contact__point li {
	margin: 0 0 10px;
	line-height: 1.4;
}

.footer-contact__point li > span {
	display: block;
	padding: 8px;
	text-align: center;
	background-color: #fff45c;
	font-size: 14px;
	border-radius: 6px;
}

.footer-contact__credit {
	display: table;
	max-width: 782px;
	margin: 36px auto 0;
	text-align: center;
}

.footer-contact__credit dt {
	display: table-cell;
	padding: 24px 12px;
	background-color: #053598;
	vertical-align: middle;
	text-align: center;
	color: #fff;
	font-weight: bold;
	line-height: 1.6;
}

.footer-contact__credit dd {
	display: table-cell;
	vertical-align: middle;
}

@media only screen and (max-width: 1024px) {
	
	.footer-contact h2 {
		padding: 0 20px;
	}
	
	.footer-contact__point {
		position: static;
		width: 100%;
		margin-top: 20px;
	}

	.footer-contact__point ul {
		overflow: hidden;
		margin: 0 -4px;
	}

	.footer-contact__point li {
		float: left;
		width: 33.3333333333%;
		padding: 0 4px;
	}
	
}

@media only screen and (max-width: 767px)  {
	
	.footer-contact__tel {
		margin: 20px 0;
	}
	
	.footer-contact .inner {
		padding: 20px;
		background-image: none;
	}

	.footer-contact__body {
		margin-bottom: 0;
	}
	
	.footer-contact h3 {
		font-size: 20px;
	}

	.footer-contact__tel {
		font-size: 24px;
	}

	.footer-contact__tel:before {
		width: 39px;
		height: 24px;
	}
	
	.footer-contact__point {
		margin-top: 0;
	}

	.footer-contact__credit {
		display: block;
		margin: 20px 0;
	}

	.footer-contact__credit dt {
		display: block;
		margin-bottom: 8px;
		padding: 12px 2px;
	}

	.footer-contact__credit dd {
		display: block;
	}
	
}


.footer {
	padding: 40px 0;
	background-color: #053598;
	color: #fff;
	font-size: 14px;
}

.footer-nav {
	float: right;
	width: 50%;
}

.footer-nav ul {
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-nav li {
	float: left;
	width: 50%;
	padding: 0;
}

.footer-nav li:nth-child(odd) {
	clear: both;
}

.footer-nav a {
	color: #fff;
	text-decoration: none;
}

.footer-nav a:hover {
	color: #b6bfc3;
}

.footer-company {
	float: left;
	width: 50%;
}

.footer-company dl {
	margin: 0 0 1.8em;
}

.footer-company dt {
	font-weight: bold;
}

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

	.footer-nav {
		float: none;
		width: 100%;
		margin-bottom: 40px;
	}
	
	.footer-nav li {
		margin-bottom: 16px;
	}

	.footer-company {
		float: none;
		width: 100%;
	}
	
}

.footer-contact-fix {
	position: fixed;
	bottom: 0px;
	left: 0px;
	z-index: 999;
	width: 100%;
	background-color: #e95809;
	text-align: center;
}

.footer-contact-fix a {
	display: block;
	padding: 16px 0;
}

.footer-contact-fix img {
	max-width: 320px;
}


/* ----------------------------------------

	key

---------------------------------------- */

.key {
	padding: 40px 0;
	background: url(../images/top/key-bg.jpg) no-repeat center top;
    background-size: cover;
	color: #e95809;
}

.key h1 {
	font-size: 40px;
	text-shadow: 2px 2px 3px #fff;
}

@media only screen and (max-width: 767px)  {
	
	.key {
		padding: 60px 0;
	}

	.key h1 {
		text-align: center;
		font-size: 28px;
		line-height: 1.4;
	}
	
}


/* ----------------------------------------

	サービス案内・料金

---------------------------------------- */

.service-box__photo {
	float: left;
	width: 23.684211%;
}

.service-box__text {
	float: right;
	width: 76.315789%;
	padding-left: 20px;
}

.service-box h2 {
	margin-top: 0;
}

.service-box__check {
	float: left;
	width : -webkit-calc(100% - 280px); 
	width : calc(100% - 280px);
}

.service-box__check ul {
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.service-box__check li {
	padding: 4px 0 6px 40px;
	background: url("../images/common/icon-check.png") no-repeat 10px 6px;
	line-height: 1.4;
}

.service-box__sup dl {
	display: flex;
	font-size: 12px;
}

.service-box__price {
	float: right;
	width: 260px;
}

@media only screen and (max-width: 767px) {
	
	.trouble-box__price .md {
		text-align: right;
	}

	.service-box__check {
		float: none;
		width: 100%;
	}
	
	.service-box__price {
		float: none;
		margin: 0 auto;
	}
	
}

@media only screen and (max-width: 767px)  {
	
	.service-box__photo {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}
	
	.service-box__photo img {
		display: block;
		width: 100%;
		max-width: none;
	}

	.service-box__text {
		float: none;
		width: 100%;
		margin-bottom: 20px;
		padding-left: 0;
	}
	
	.service-box .trouble-box__price {
		display: block;
	}
	
	.service-box .trouble-box__price dt,
	.service-box .trouble-box__price dd {
		display: inline-block;
	}
	
	.service-box .trouble-box__price .num {
		display: inline-block;
	}
	
}


/* ----------------------------------------

	よくある質問

---------------------------------------- */

.faq-list dt {
	padding: 4px 0 20px 40px;
	background: url("../images/common/faq-q.png") no-repeat 0 3px;
}

.faq-list dd {
	margin-bottom: 36px;
	padding: 4px 0 36px 40px;
	background: url("../images/common/faq-a.png") no-repeat 0 3px;
	border-bottom: 1px solid #ccc;
}

.faq-list dd > :last-child {
	margin-bottom: 0;
}


/* ----------------------------------------

	サービス対応エリア

---------------------------------------- */

.area-box__photo {
	float: left;
	width: 680px;
}

.area-box__photo img {
	display: block;
	max-width: none;
	width: 100%;
}

.area-box__text {
	float: left;
	width : -webkit-calc(100%); 
	width : calc(100%);
	padding-left: 32px;
}

.area-box__list {
	margin: 12px 0 40px;
	padding: 0;
	list-style: none;
	font-size: 0;
}

.area-box__list li {
	display: inline-block;
	margin: 0 6px 6px 0;
	font-size: 16px;
}

.area-box__list li > span {
	display: inline-block;
	padding: 6px;
	background-color: #fce6ba;
	border-radius: 4px;
	text-align: center;
	color: #333;
}

@media only screen and (max-width: 1024px) {
	
	.area-box__photo {
		float: none;
		width: 100%;
		margin-bottom: 20px;
	}

	.area-box__text {
		float: none;
		width: 100%;
		padding: 0;
	}
	
}


/* ----------------------------------------

	会社概要

---------------------------------------- */

.overview-table table {
	width: 100%;
	border-top: 1px solid #d1d1d1;
	border-left: 1px solid #d1d1d1;
}

.overview-table th,
.overview-table td {
	padding: 20px;
	border-right: 1px solid #d1d1d1;
	border-bottom: 1px solid #d1d1d1;
	vertical-align: middle;
	text-align: left;
}

.overview-table th {
	width: 24%;
	padding-right: 60px;
	background-color: #f5f5f5;
	font-weight: normal;
}

.overview-table td {
	width: 76%;
}

@media only screen and (max-width: 767px)  {
	
	.overview-table th,
	.overview-table td {
		display: block;
		width: 100%;
		padding: 12px;
	}
	
}

.greeting__name {
	max-width: 52em;
	margin: 0;
	text-align: right;
}

@media only screen and (max-width: 767px)  {
	
	.greeting__name img {
		width: 200px;
	}
	
}


.staff-list ul {
	overflow: hidden;
	margin: 0 -20px;
	padding: 0;
	list-style: none;
}

.staff-list li {
	float: left;
	width: 25%;
	margin: 0 0 40px;
	padding: 0 20px;
}

.staff-list li:nth-child(4n+1) {
	clear: both;
}

.staff-list__photo img {
	display: block;
	max-width: none;
	width: 100%;
}

.staff-list__name {
	margin: 8px 0 4px;
	font-weight: bold;
}

.staff-list__text > :last-child {
	margin-bottom: 0;
}

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

	.staff-list li {
		width: 33.33333333%;
	}

	.staff-list li:nth-child(4n+1) {
		clear: none;
	}
	
	.staff-list li:nth-child(3n+1) {
		clear: both;
	}
	
}

@media only screen and (max-width: 767px)  {
	
	.staff-list ul {
		margin: 0 -10px;
	}

	.staff-list li {
		width: 50%;
		margin: 0 0 20px;
		padding: 0 10px;
	}

	.staff-list li:nth-child(3n+1) {
		clear: none;
	}
	
	.staff-list li:nth-child(odd) {
		clear: both;
	}
	
}


/* ----------------------------------------

	相談から作業完了までの流れ

---------------------------------------- */

.flow-nav {
	margin: 0 0 36px;
	padding: 30px 30px 10px;
	background: #eee;
}

.flow-nav ol {
	margin: 0 -20px;
	padding: 0;
	list-style: none;
}

.flow-nav li {
	position: relative;
	float: left;
	width: 20%;
	padding: 0 20px;
}

.flow-nav li:before {
	position: absolute;
	top: 50%;
	left: -5px;
	content: '';
	display: block;
	width: 10px;
	height: 18px;
	margin: -9px 0 0;
	background: url("../images/common/arrow-right--primary.png") no-repeat center center;
	background-size: contain;
}

.flow-nav li:first-child:before {
	display: none;
}

.flow-nav__box {
	padding: 24px 4px 16px;
	background-color: #fff;
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.2);
	text-align: center;
}

.flow-nav__box dt {
	margin: 0 0 8px;
    color: #e95809;
    font-size: 12px;
	line-height: 1.2;
}

.flow-nav__box dd {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
}

.flow-nav__box dd:after {
	content: '';
	display: block;
	width: 14px;
	height: 8px;
	margin: 12px auto 0;
	background: url("../images/common/arrow-down--secondary.png") no-repeat center center;
	background-size: contain;
}

.icon-step {
	position: relative;
	top: -4px;
	display: inline-block;
	margin: 0 12px 0 0;
	padding: 8px;
	background-color: #e95809;
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

.flow-box {
	display: flex;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.flow-box__text {
	width: calc(100% - 340px);
	padding-right: 36px;
}

.flow-box__photo {
	width: 340px;
}

.flow-box__tel {
    font-size: 32px;
    line-height: 1.2;
    font-weight: bold;
    color: #e70404;
}

.flow-box__tel:before {
    position: relative;
    top: 4px;
    content: '';
    display: inline-block;
    width: 40px;
    height: 32px;
    margin: 0 10px 0 0;
    background: url(../images/common/icon-tel.png) no-repeat center center;
    background-size: contain;
}

.flow-box__tel a {
    color: #e70404;
	text-decoration: none;
}

@media only screen and (max-width: 1024px) {
	
	.flow-box__text {
		width: calc(100% - 200px);
	}

	.flow-box__photo {
		width: 200px;
	}
	
}


@media only screen and (max-width: 767px)  {
	
	.flow-box {
		display: block;
	}
	
	.flow-box__photo {
		float: right;
		width: 30%;
		margin: 0 0 8px 16px
	}

	.flow-box__text {
		width: 100%;
		padding-right: 0;
	}
	
	.flow-box__tel {
		text-align: center;
	}
	
	.flow-box__tel img {
		width: 240px;
	}
	
}

.flow-payment {
	display: flex;
}

.flow-payment__cash {
	width: calc(100% - 446px);
	padding-right: 36px;
}

.flow-payment__credit {
	width: 446px;
}

@media only screen and (max-width: 1024px) {
	
	.flow-payment {
		display: block;
	}

	.flow-payment__cash {
		width: 100%;
		padding: 0 0 10px;
	}

	.flow-payment__credit {
		width: 100%;
	}
	
}


/* ----------------------------------------

	ホーム24の特徴

---------------------------------------- */

.reason-list {
	margin-bottom: 80px;
}

.reason-list ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.reason-list li {
	margin: 0 0 20px;
	padding: 0;
}

.reason-list .reason-box__thumbnail {
    width: 180px;
    padding: 0 20px;
    text-align: center;
}

.reason-list .reason-box__body {
	width: calc(100% - 180px);
}

.reason-list .reason-box h3 + p {
	font-size: 16px;
}

@media only screen and (max-width: 1024px) {
	
	.reason-list {
		margin-bottom: 40px;
	}
	
	.reason-list .reason-box__head {
		display: block;
	}
	
	.reason-list .reason-box__thumbnail {
    	float: left;
		width: 24%;
		padding: 0;
		text-align: center;
	}
	
	.reason-list .reason-box__body {
		float: right;
		width: 76%;
		padding: 0 0 0 20px;
	}
	
}


/* ----------------------------------------

	採用情報

---------------------------------------- */

.recruit-head {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background-color: #fcfde8;
	font-size: 20px;
	border-radius: 4px;
}

.recruit-head__photo {
	width: 420px;
}

.recruit-head__text {
	width: calc( 100% - 420px );
}

.recruit-head__text > :last-child {
	margin-bottom: 0;
}

.recruit-head__badge {
	margin: 0 0 16px;
}

.badge {
	display: inline-block;
	padding: 8px;
	background-color: #e70404;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	border-radius: 4px;
}

.recruit-head__text h2 {
	margin: 0 0 16px;
	font-size: 36px;
	color: #ff7800;
	line-height: 1.2;
}

@media only screen and (max-width: 767px) {
	
	.recruit-head__photo {
		width: 100%;
	}

	.recruit-head__text {
		width: 100%;
		padding: 20px;
	}

	.recruit-head__text h2 {
		font-size: 20px;
	}
	
	.recruit-head__text p {
		line-height: 1.2;
	}
	
}


.recruit-job {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px;
}

.recruit-job__text {
	width: 64%;
	padding: 0 20px;
}

.recruit-job__text > :last-child {
	margin-bottom: 0;
}

.recruit-job__area {
	width: 36%;
	padding: 0 20px;
}

.job-area {
	padding: 40px;
	background-color: #fcfde8;
	border-radius: 4px;
}

.job-area__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid #ff7800;
}

.job-area__head p {
	margin: 0;
	font-size: 12px;
}

.job-area ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -8px 20px;
	padding: 0;
	list-style: none;
}

.job-area li {
	padding: 8px;
}

.job-area > :last-child {
	margin-bottom: 0;
}

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

	.recruit-job__text {
		width: 100%;
		margin-bottom: 20px;
	}

	.recruit-job__area {
		width: 100%;
	}
	
}


.recruit-rew {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	margin: 0 -20px;
}

.recruit-rew__text {
	width: 64%;
	padding: 0 20px;
}

.recruit-rew__photo {
	width: 36%;
	padding: 0 20px;
}

@media only screen and (max-width: 767px) {
	
	.recruit-rew__text {
		width: 100%;
	}

	.recruit-rew__photo {
		width: 100%;
		margin-bottom: 20px;
	}
	
}


/* ----------------------------------------

	top

---------------------------------------- */

.top-key {
	margin-top: 2px;
	background: url("../images/top/key-bg.jpg") no-repeat center center;
	background-size: cover;
}

.top-key .inner {
	position: relative;
	height: 500px;
}

.top-key .inner span {
	position: absolute;
}

.top-key-text { top: 56px; left: 20px; z-index: 100;}
.top-key-sup { top: 220px; left: 20px; z-index: 99;}
.top-key-img01 { top: 194px; left: 556px; z-index: 98;}
.top-key-img02 { top: 90px; left: 710px; z-index: 97;}
.top-key-staff { bottom: 104px; right: 0; z-index: 96;}

@media only screen and (max-width: 1024px) {
	
	.top-key .inner .top-key-text {
		width: 100%;
		max-width: 540px;
	}
	
	.top-key-staff { right: 0;}
	
}

@media only screen and (max-width: 767px) {
	
	.top-key {
		margin-top: 2px;
		text-align: center;
	}

	.top-key .inner {
		position: relative;
		height: 480px;
	}

	.top-key .inner .top-key-text {
		position: static;
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 40px 0 20px;
	}
	
	.top-key .inner .top-key-sup {
		position: static;
		width: 100%;
		max-width: 100%;
	}
	
	.top-key-staff {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 240px;
		margin: 0 0 0 -120px;
	}
	
}

.key-foot {
	position: relative;
	z-index: 101;
	margin: -110px 0 24px;
}

.key-foot__inner {
	position: relative;
	padding: 20px;
	border-radius: 10px;
	background-color: #fff;
}

.key-foot__tel {
	width: 35.344828%;
	padding: 10px 30px 0 10px;
}

.key-foot__tel-num {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
    font-weight: bold;
    color: #e70404;
    text-align: center;
}

.key-foot__tel-num:before {
	position: relative;
	top: 4px;
	content: '';
	display: inline-block;
	width: 40px;
	height: 32px;
	margin: 0 10px 0 0;
	background: url(../images/common/icon-tel.png) no-repeat center center;
	background-size: contain;
}

.key-foot__tel-num a {
	text-decoration: none;
    color: #e70404;
}

.key-foot__tel p {
	margin: 0;
}

.key-foot__tel p + p {
	margin: 16px 0;
	font-size: 13px;
	line-height: 1.4;
}

.key-foot__label {
	overflow: hidden;
	margin: 0 -5px;
}

.key-foot__label__col {
	float: left;
	width: 50%;
	padding: 0 5px;
}

.key-foot__label__col > span {
	display: block;
	padding: 6px;
	background-color: #fff45c;
	border-radius: 6px;
	text-align: center;
	font-size: 14px;
}

.key-foot__point {
	position: absolute;
	top: -56px;
	right: 10px;
	width: 62.655172%;
}

.key-foot__point ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.key-foot__point li {
	float: left;
	width: 33.33333333%;
	padding: 0;
	text-align: center;
}

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

	.key-foot .inner {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	.key-foot__inner {
		padding: 10px;
	}

	.key-foot__tel {
		width: 100%;
		padding: 10px;
	}
	
	.key-foot__tel-num {
		font-size: 28px;
	}
	
	.key-foot__tel-num:before {
    	width: 30px;
	    height: 28px;
	}

	.key-foot__point {
		position: static;
		width: 100%;
	}
	
}

.top-trouble {
	margin: 0 -16px;
	background: url("../images/top/trouble-bg.png") no-repeat top right;
}

.top-trouble__head {
	padding: 36px 360px 0 16px;
	font-size: 18px;
}

.top-trouble__head h2 {
	margin: 0 0 16px;
	max-width: 24em;
	font-size: 48px;
	color: #ff7800;
	line-height: 1.2;
}

.top-trouble__body {
	padding: 0 16px;
}

.top-trouble__body ul {
	overflow: hidden;
	margin: 0 -10px;
	padding: 0;
	list-style: none;
}

.top-trouble__body li {
	float: left;
	width: 25%;
	margin: 0 0 20px;
	padding: 0 10px;
}

.top-trouble__body li:nth-child(4n+1) {
	clear: both;
}

.trouble-box {
	overflow: hidden;
	background-color: #fff;
	box-shadow: 0px 0px 6px 3px rgba(0,0,0,0.11);
	border-radius: 6px;
}

.trouble-box a {
	display: block;
	text-decoration: none;
}

.trouble-box__head {
	margin: 0;
	padding: 14px 2px;
	border-radius: 6px 6px 0 0;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}

.trouble-box--light .trouble-box__head { background-color: #3cae48;}
.trouble-box--switch .trouble-box__head { background-color: #3c5cae;}
.trouble-box--concent .trouble-box__head { background-color: #c47928;}
.trouble-box--breaker .trouble-box__head { background-color: #7150ad;}
.trouble-box--lighting .trouble-box__head { background-color: #ffb00d;}
.trouble-box--lightsup .trouble-box__head { background-color: #ae3c82;}
.trouble-box--interphone .trouble-box__head { background-color: #3c97ae;}
.trouble-box--fan .trouble-box__head { background-color: #3cae8f;}

.trouble-box__thumbnail img {
	display: block;
	max-width: none;
	width: 100%;
}

.trouble-box__body {
	padding: 12px;
	border-radius: 0 0 6px 6px;
}

.trouble-box__price {
	display: table;
	width: 100%;
	margin-bottom: 16px;
}

.trouble-box__price dt {
	display: table-cell;
	vertical-align: middle;
}

.trouble-box__price dt > span {
	display: table;
	width: 50px;
	margin: 0 0 0 auto;
}

.trouble-box__price dt > span > span {
	display: table-cell;
	height: 50px;
	border-radius: 50%;
	background-color: #1253bb;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	font-weight: bold;
}

.trouble-box__price dd {
	display: table-cell;
	padding-left: 8px;
	vertical-align: middle;
	font-weight: bold;
	font-size: 14px;
}

.trouble-box__price .num {
	color: #e70404;
	font-size: 32px;
	letter-spacing: -2px;
}

.trouble-box__sepa {
	margin: 0;
	font-size: 13px;
	font-weight: bold;
}

@media only screen and (max-width: 1200px) {
	
	.top-trouble__head h2 br {
		display: none;
	}
	
}

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

	.trouble-box__price .num {
		display: block;
		line-height: 1.4;
	}
	
}

@media only screen and (max-width: 1024px) {
	
	.top-trouble__head {
		padding: 40px 20px 20px;
	}
	
	.top-trouble__body li {
		width: 33.33333333%;
	}

	.top-trouble__body li:nth-child(4n+1) {
		clear: none;
	}

	.top-trouble__body li:nth-child(3n+1) {
		clear: both;
	}
	
}

@media only screen and (max-width: 767px) {
	
	.top-trouble {
		margin: 20px -20px 0;
		background-image: none;
	}

	.top-trouble__head {
		background: url("../images/top/trouble-bg-sp.png") no-repeat center center;
		background-size: cover;
	}
	
	.top-trouble__head > :last-child {
		margin-bottom: 0;
	}

	.top-trouble__head h2 {
		max-width: none;
		font-size: 24px;
	}

	.top-trouble__body {
		padding: 0 20px 20px;
	}

	.top-trouble__body ul {
		margin: 0 -10px;
	}

	.top-trouble__body li {
		width: 50%;
		margin: 0 0 8px;
		padding: 0 4px;
	}

	.top-trouble__body li:nth-child(3n+1) {
		clear: none;
	}
	
	.top-trouble__body li:nth-child(odd) {
		clear: both;
	}

	.trouble-box__head {
		font-size: 16px;
	}
}

.top-reason {
	padding: 32px 0 48px;
	background-color: #ffebdc;
}

.top-reason h2 {
	margin: 0 0 28px;
	text-align: center;
}

.top-reason_body ol {
	overflow: hidden;
	margin: 0 -10px;
	padding: 0;
	list-style: none;
}

.top-reason_body li {
	float: left;
	width: 50%;
	margin: 0 0 20px;
	padding: 0 10px;
}

/*.top-reason_body li:nth-child(3) {
	clear: both;
}

.top-reason_body li:nth-child(n+3) {
	width: 33.33333333%;
	margin-bottom: 0;
}*/

.reason-box {
	padding: 20px 0;
	background-color: #fff;
	border: 1px solid #ff6000;
	font-size: 14px;
}

.reason-box__head {
	display: flex;
	align-items: center;
}

.reason-box__thumbnail {
	width: 26.164875%;
	padding: 0 20px;
	text-align: center;
}

.reason-box__body {
	width: 73.835125%;
	padding-right: 20px;
}

.reason-box__foot {
	padding: 16px 20px 0;
}

.reason-box h3 {
	font-size: 22px;
	color: #ff6000;
	line-height: 1.3;
}

.reason-box h3 + p {
	margin-top: 12px;
}

.reason-box p:last-child {
	margin-bottom: 0;
}

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

	.top-reason {
		padding: 20px 0;
	}

	.top-reason_body ol {
		margin: 0;
	}

	.top-reason_body li:nth-child(n) {
		overflow: hidden;
		float: none;
		width: 100%;
		margin: 0 0 20px;
		padding: 0;
	}
	
	.top-reason_body li:last-child {
		margin-bottom: 0;
	}
	
	.reason-box {
		overflow: hidden;
		padding: 20px;
	}
	
	.reason-box__head {
		display: block;
	}

	.reason-box__thumbnail {
		float: left;
		width: 24%;
		padding: 0;
		text-align: center;
	}
	
	.reason-box__thumbnail img {
		width: 64px;
	}

	.reason-box__body {
		float: right;
		width: 76%;
		padding: 0 0 0 20px;
	}

	.reason-box__foot {
		float: right;
		width: 76%;
		padding: 0 0 0 20px;
	}

}

.top-voice {
	padding: 16px 0 40px;
}

.top-voice_head {
	position: relative;
	margin: 0 0 20px;
	text-align: center;
}

.top-voice_head img {
	position: relative;
	z-index: 1;
}

.top-voice_head:after {
	content: '';
	position: absolute;
	left: 0;
	top: 40px;
	display: block;
	width: 100%;
	height: 60px;
	background-color: #ffb00d;
	border-radius: 6px;
}

.top-voice_body ul {
	overflow: hidden;
	margin: 0 -10px;
	padding: 0;
	list-style: none;
}

.top-voice_body li {
	float: left;
	width: 50%;
	margin: 0 0 20px;
	padding: 0 10px;
}

.voice-box {
	padding: 40px 16px 20px 24px;
	background-color: #fbf7ef;
	border: 1px solid #fc5a25;
	font-size: 14px;
}

.voice-box--couple {
	background: #fbf7ef url("../images/top/voice1.png") no-repeat top right;
}

.voice-box--salesman {
	background: #fbf7ef url("../images/top/voice2.png") no-repeat top right;
}

.voice-box--family {
	background: #fbf7ef url("../images/top/voice3.png") no-repeat top right;
}

.voice-box--woman {
	background: #fbf7ef url("../images/top/voice4.png") no-repeat top right;
}

.voice-box > :last-child {
	margin-bottom: 0;
}

.voice-box h3 {
	margin: 0 0 22px;
	padding: 0 136px 0 0;
	font-size: 22px;
	line-height: 1.4;
}

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

	.top-voice {
		padding: 16px 0 20px;
	}
	
	.top-voice_head:after {
		top: 50%;
		margin-top: -30px;
	}

	.top-voice_body ul {
		margin: 0;
	}

	.top-voice_body li {
		float: none;
		width: 100%;
		padding: 0;
	}
	
	.top-voice_body li:last-child {
		margin-bottom: 0;
	}

	.voice-box {
		padding: 20px;
	}
	
}

.top-payment {
	padding: 52px 0 40px;
	background-color: #ffebdc;
}

.payment-box {
	position: relative;
	padding: 64px 64px 40px 30px;
	background-color: #fff;
	border: 1px solid #ff7800;
}

.top-payment h2 {
	position: absolute;
	top: -18px;
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
	text-align: center;
}

.payment-box__body {
	display: table;
	width: 100%;
}

.payment-box__text {
	display: table-cell;
	width: 57.279693%;
	padding-right: 32px;
	vertical-align: middle;
}

.payment-box__text h3 {
	margin: 0 0 16px;
	font-size: 22px;
	color: #ff6000;
}

.payment-box__text > :last-child {
	margin-bottom: 0;
}

.payment-box__thumbnail {
	display: table-cell;
	width: 42.720307%;
	vertical-align: middle;
}

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

	.top-payment {
		padding: 40px 0 20px;
	}

	.payment-box {
		position: relative;
		padding: 20px;
	}

	.top-payment h2 {
		width: 240px;
	}

	.payment-box__body {
		display: block;
	}

	.payment-box__text {
		display: block;
		width: 100%;
		margin-bottom: 20px;
		padding-right: 0;
	}

	.payment-box__thumbnail {
		display: block;
		width: 100%;
	}

}


/* ----------------------------------------

 	form

---------------------------------------- */

input[type="text"],
textarea,
select {
	width: 100%;
	padding: 8px 6px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	font-size: 16px;
	outline: none;
	line-height: 1.4;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

textarea {
	height: 10em;
}

input[type="text"].input-add {
	width: 8em;
}

input[type="submit"],
input[type="button"] {
	display: inline-block;
	width: 100%;
	max-width: 320px;
	padding: 16px 6px;
	background-color: #273c90;
	border: none;
	border-radius: 0;
	font-size: 16px;
	color: #fff;
	outline: none;
	line-height: 1.4;
	cursor: pointer;
	transition: all  0.3s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="button"] {
	background-color: #666;
}

input[type="submit"]:hover { background-color: #e95809;}
input[type="button"]:hover { background-color: #333;}

.form-btn {
	text-align: center;
}

.form-btn input[type="button"] + input {
	margin-left: 32px;
}

@media only screen and (max-width: 767px)  {
	
	input[type="submit"],
	input[type="button"] {
		display: block;
		width: 100%;
		max-width: none;
	}
	
	.form-btn input[type="button"] + input {
		margin-top: 20px;
		margin-left: 0;
	}
	
}


.form-table th {
	position: relative;
}

.form-table ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.form-table li {
	margin-top: 16px;
}

.form-table li:first-child {
	margin-top: 0;
}

.err-text {
	margin: 32px 0;
	color: #f00;
}

.err-text p {
	margin: 0;
}

.form-example {
	padding-left: 20px;
	font-size: 13px;
	color: #666;
}

.is-required {
	display: block;
	position: absolute;
	top: 28px;
	right: 12px;
	height: 24px;
	padding: 0 4px;
	background-color: #e95809;
	color: #fff;
	font-size: 12px;
	line-height: 24px;
}

@media only screen and (max-width: 767px)  {
	
	.is-required {
		top: 50%;
		margin-top: -12px;
	}
	
}


/* ----------------------------------------

	clearfix

---------------------------------------- */

.clearfix:after {
	content: '';
	display: block;
	clear: both;
}
