@charset "UTF-8";
body {
	margin:0;
	padding:0;
	line-height:2;
	color:#000;
	min-width:100%;
	width:100%;
	background:#FFF;
	position:relative;
}
.btn-area{
	text-align:center;
	display:block;
}
a {
color:#000;
text-decoration:none;
-webkit-text-size-adjust: none;
-ms-text-size-adjust:none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
-webkit-touch-callout:none;
background-color:transparent;
border:none;
}
a.underline,
span.underline,
p.underline{
	text-decoration:underline;
}
a:hover { color:#000; }
a:active { color:#000; }
a:visited { color:#000;}
::-moz-selection { background: #000;color:#fff; }
::selection { background: #000;color:#fff; }
hr {
margin:2em 0;
border: 0;
height: 0;
border-top: 1px solid #E1EBF5;
}
hr.double {
border-top: 3px double #E1EBF5;
}
img {
border:none;
vertical-align:middle;
backface-visibility: hidden;
}
.italic{
	font-style:italic;
}
ul.circle,ul.circle li{
	list-style:none;
	box-sizing: border-box;
}
ul.circle li{
	box-sizing: border-box;
	padding-left:1em;
	display:inline-block;
}
ul.circle li:before{
	content:"・";
	width:1em;
	display:inline-block;
	margin-left:-1em;
}

ul.line li{
	box-sizing: border-box;
	padding-left:1em;
	display:inline-block;
}
ul.line li:before{
	content:"－";
	width:1em;
	display:inline-block;
	margin-left:-1em;
}

a:focus{
	outline:none;
}

#container input[type="submit"],#container input[type="button"],#container button,
#container a,#container a img{-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease;  transition: all  0.3s ease; }
@media print, screen and (min-width: 769px) {
	#container input[type="submit"]:hover,
	#container input[type="button"]:hover,
	#container button:hover,
	#container a:hover {
		opacity: .6;
	}
	#container input[type="submit"]:hover
}
.fade_in{
	transition:all 1s ease;
}

.ani-fadeup{
	opacity:0;
	transform:translate(0,50px);
}

/* @group ----- Utility ----- */

.clearfix:after {
content: " ";
display: block;
visibility: hidden;
clear: both;
height: 0.1px;
font-size: 0.1em;
line-height: 0;
}
* html .clearfix {
zoom:1;
}
*+html .clearfix {
zoom:1;
}

@media only screen and (min-width: 769px) {
	.only_sp {
		display: none;
	}
}

@media only screen and (max-width: 768px) {
	.only_pc {
		display: none;
	}
}


.font_m_reg{
	font-family: 'Montserrat', sans-serif;
	font-weight:400;
}
.font_m_light{
	font-family: 'Montserrat', sans-serif;
	font-weight:300;
}
/* @end Utility */

/* @group ----- header ----- */
#header{
	width:100%;
	padding:35px 0 25px 0;
}
#heaeder-logo{
	display:block;
	width:199px;
	margin:0 auto;
	padding:0;

}


	/* @end header */

/* @group ----- footer ----- */
footer {
	background-color: #FFF;
	text-align: center;
	padding:65px 0 0;
	font-size:14px;
}
footer .font_l {
	line-height:1.5;
}
footer .copyright{
	color:#FFF;
	background-color: #000;
	font-size:12px;
	line-height:1;
	padding:30px;
}
footer .footer_logo{
	margin-bottom:25px;
}
footer .info{
	padding:25px 0;
}
/* @end footer */


#gototop{
	position:absolute;
	left:50%;
	bottom:-28px;
}
#gototop a{
	margin-left:-50%;
}
/* @group ----- container ----- */
div#container{
	width:100%;
	position:relative;
}
div#container section{
	position:relative;
	padding-top:90px;
}
div#container section .section_inner{
	width:90%;
	max-width:1200px;
	margin:0 auto;
	position:relative;
}
div#container section .section_inner.full{
	width:100%;
	max-width:100%;
	position:relative;
}
/* @end container */

/* @group ----- top ----- */

div#container section#main{
	padding-top:0;
}
#main_img{
	width:100%;
}
section#main .img_wrap{
	position:absolute;
	left:50%;
	top:50%;
	z-index: 2;
}
section#main .img_wrap img{
	display:block;
	position:absolute;
	left:-366px;
	top:-78px;
}

/* @end top */

h3.section_title{
	font-size:64px;
	line-height:1;
	text-align: center;
}
p.section_title_sub{
	font-size:16px;
	line-height:1;
	text-align: center;
	padding:25px 0;
}

div.row{
	display: flex;
}
.cell-2{
	width: 50%;
}
.cell-4{
	width:25%;
}
.cell-4_3{
	width:75%;
}
/* @group -----  about ----- */
#about{
	padding-bottom:50px;
}
#about #about_info{
	padding-top:20px;
	padding-bottom:70px;
}
#about .cell-right{
	padding-top:70px;
}
#about .font_l{
	padding-top:25px;
}
#about .cell-left{
	padding-left:100px;
}

#about h4.sub_title{
	font-size: 24px;
	line-height: 60px;
	background-color: #f7eee3;
	text-align: center;
	margin-bottom:10px;
}
#policy01,#policy02{
	padding:80px 40px 70px;
	text-align:center;
}
#policy01{
	color:#FFF;
	background-color:#009b40;
}
#policy02{
	background-color:#fff125;
}
#policy01 .font_l,#policy02 .font_l{
	line-height: 1;
	padding:0 0 40px 0;
}
/* @end about */
div#container section#diy{
	padding-top:30px;
	overflow-x: hidden;
}
#diy .section_title_wrap{
	height:430px;
	background-image: url("../images/diy_back.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size:cover;
	color:#FFF;
	position:relative;
}
#diy .section_title_wrap .img_wrap{
	position:absolute;
	left:50%;
	top:-20px;
}
#diy .section_title_wrap .img_wrap img{
	display:block;
	width:1400px;
	position:absolute;
	left:-700px;
}
#diy .section_title{
	font-size:80px;
	padding-top:160px;
}
#diy #self{
	background-image: url("../images/diy_back2.png");
	background-position: left top;
	background-repeat: repeat;
	padding-top:100px;

}
#diy #self h4{
	font-size:46px;
	line-height:1;
	text-align:center;
}
#diy #self .self_txt{
	padding:20px 0 70px;
	text-align:center;
}
#self_step {
	text-align:center;
	padding-bottom:80px;
}
#self_step .row{

	text-align:center;
	display: inline-flex;
	margin:0 auto;
	padding-bottom:60px;
}
.self_step_cell{
	text-align:center;
	background-color: #FFF;
	width:320px;
	height:320px;
	border-radius: 50%;
	position:relative;
	margin-right:50px;
}
.self_step_cell h5{
	font-size:32px;
	position:absolute;
	line-height:1;
	top:70px;
	text-align: center;
	width:320px;
}
.self_step_cell .line{
	text-align: center;
	position:absolute;
	left:50%;
	top:110px;
}
.self_step_cell .line img{
	position:relative;
	left:-50%;
}
.self_step_cell .text{
	position:absolute;
	top:130px;
	width:320px;
	text-align: center;
}
#self_step02.self_step_cell .text{
	top:140px;

}
.self_step_cell .step_img{
	position:absolute;
	bottom:20px;
	left:50%;
}
.self_step_cell .step_img img{
	position:relative;
	left:-50%;
}
.self_step_cell:after{
	content: url("../images/step_arrow.png");
	display: block;
	position:absolute;
	width:35px;
	right:-35px;
	top:152px;
}
#self_step03.self_step_cell{
	margin-right: 0;
}
#self_step03.self_step_cell:after{
	content: none;
}

#case_study{
	background-image: url("../images/case_back.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding-bottom:100px;
}
#case_study .section_title_sub{
	padding-bottom:45px;
}
#case_study .case_block{
	margin-bottom:50px;
}
#case_study .row *{
	text-align:center;
}
.case_tit{
	display:flex;
	align-items: center;
	background-color:#000;
	color:#FFF;
}
.case_tit p{
	margin:0 auto;
	font-size:26px;
	font-weight:bold;
}
.case_img{
	padding: 10px;
	padding-right:0;
	background-color: #FFF;
}
.case_img.case_img_last{
	padding-right:10px;
}
.case_img .caption{
	font-size:16px;
}
.case_img .img_wrap{
	display: block;
	width:100%;
}
.case_img .img_wrap img{
	display:block;
	width:100%;
}
#access{
	padding-bottom:100px;
	background-color:#efeff1 ;
}
#access p{
	text-align:center;
	font-size:16px;
}
#access p.address{
	padding-top:40px;
}
#access a.google_map{
	display:inline-block;
	margin : 0 auto;
}
#access .image_wrap{
	margin-top:25px;
}
#access .image_wrap img {
	display: block;
	width: 100%;
}
