@charset "utf-8";
/* ======================================================

	structure CSS

========================================================= */


/* ======================================================

	body

========================================================= */
html, body{
	position: relative;
	height: 100%!important;
}
body {
	color:#000;
	font-size:20px;
	font-size:2.0rem;
	font-weight: 500;
	line-height:1.5em;
	min-width:1200px;
}
@media screen and (max-width: 1199px) {
	body{
		min-width:100%;}
	
}

@media screen and (max-width: 768px) {
	body{
		min-width:100%;
		word-wrap:break-word;
		font-size:16px;
		font-size: 1.6rem;}
}
@media screen and (max-width: 599px) {

}

/* ======================================================

	header

========================================================= */
.header{}

.header > .inner{
	position: relative;
	margin:0 auto;
	width:1300px;
	text-align: center;}

.h_logo{
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;}

.h_logo a:hover{
	opacity:0.7;}


@media screen and (max-width: 1199px) {
	.header > .inner{
		padding: 10px;
		width:100%;}
	
	.h_logo img{
	}
	
}

@media screen and (max-width:768px){
	.header{
		position: static;
		min-width: 100%;
		height: 50px;
	}
	.header > .inner{
		display: block;
		padding:0 10px;
		width:100%;
		height: 50px;}
	
	.h_logo{}
	
	.h_logo img{
		width: 200px;
		height: auto;
	}

}

@media screen and (max-width: 599px) {
}


/* ======================================================

	gnav

========================================================= */
@media screen and (max-width:768px){
	/*ドロワーメニュー*/
	.drawer {
		position: relative;
	}
	.drawer_checkbox {
		display: none;
	}
	.drawer_icon {
		cursor: pointer;
		display: block;
		width: 50px;
		height: 50px;
		position: fixed;
		right: 5px;
		top: 5px;
		background-color: #FF5E10;
	}
	.drawer_icon-parts, .drawer_icon-parts:before, .drawer_icon-parts:after {
		position: absolute;
		display: block;
		content: '';
		width: 26px;
		height: 3px;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		background-color: #fff;
	}
	.drawer_icon-parts:before, .drawer_icon-parts:after {
		content: " ";
	}
	.drawer_icon-parts:before {
		top:-16px;
	}
	.drawer_icon-parts:after {
		bottom: -16px;
	}
	.drawer_overlay {
		opacity: 0;
		pointer-events: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		right: 0;
		background: #000;
	}
	.drawer_menu {
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		top: 0;
		right: -80%;
		color: #000;
		max-width: 100%;
		width: 80%;
		height: 100vh;
		background: #ffffff;
		padding-top: 60px;
		padding: 60px 20px 20px;
	}

	.drawer_menu .sp_nav{
		margin-bottom: 30px;
		padding: 10px 0;
		border-top: 1px solid #eee;
		border-bottom: 1px solid #eee;
	}

	.drawer_menu .sp_nav li{
		list-style-type: none;
	}
	.drawer_menu .sp_nav li a {
		position: relative;
		display:block;
		padding:15px 0;
		font-size: 18px;
		font-weight: 700;
		color: #222;
		text-decoration:none;}
	
	.drawer_menu .sp_nav li a:hover {color: #FF5E10;}
	.drawer_icon {
		z-index: 1000;
	}
	.drawer_menu {
		z-index: 999;
	}
	.drawer_overlay {
		z-index: 998;
	}
	.drawer_checkbox:checked ~ .drawer_icon .drawer_icon-parts {
		background: transparent;
	}
	.drawer_checkbox:checked ~ .drawer_icon .drawer_icon-parts:before {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		top: 0;
	}
	.drawer_checkbox:checked ~ .drawer_icon .drawer_icon-parts:after {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		bottom: 0;
	}
	.drawer_checkbox:checked ~ .drawer_overlay {
		opacity: 0.3;
		pointer-events: auto;
	}
	.drawer_checkbox:checked ~ .drawer_menu {
		right: 0;
	}
	.drawer_icon-parts, .drawer_icon-parts:after, .drawer_icon-parts:before, .drawer_overlay, .drawer_menu {
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
	}
	
	.sp_bnr{text-align: center;}
	.sp_bnr a:hover{opacity: 0.7;}
	.sp_bnr img{max-width: 100%;height: auto;}

}

/* ======================================================

	mv

========================================================= */
.makingArea{
	padding-top: 100px;}

.mvArea{
	padding-bottom: 100px;
	width: 100%;
	background: url("images/bg_mv.jpg") 0 bottom no-repeat;
	background-position: left bottom;
	background-size: contain;}

.mvArea .inner{
	margin: 0 auto;
	padding-top:100px;
	width: 1300px;
	text-align: right;}

.mv_txt{margin-bottom: 20px;}
.mv_txt img{max-width: 100%;height: auto;}

.mv_movie{
	display: flex;
	margin: 0 0 20px auto;
	width: 650px;
	padding: 10px;
	background-color: #fff;
	border:1px solid #85BEE9;
	text-align: left;}

.mv_movie .movie{
	margin-right: 20px;
	width: 300px;
	background-color: #E5E5E5;
}

.mv_movie .title{
	margin-bottom: 10px;
	color: #0D7DD4;
	font-size: 120%;
	font-weight: 700;
}


@media screen and (max-width: 1399px) {
	.mvArea{
		padding-top: 100px;
		width: 100%;}
	
	.mvArea .inner{
		padding: 0 20px;
		width: 100%;}
}


@media screen and (max-width:768px){
	.makingArea{
		padding-top: 20px;}
	
	.mvArea{
		min-height: auto;
		padding-top: 20px;
		background: none;}
	
	.mvArea .inner{
		padding: 0 20px;
		text-align: center;}
	
	.mv_movie{
		margin: 0 0 20px auto;
		width: 100%;}

}


/* ======================================================

	contents

========================================================= */
.contents{
	margin:0 auto 30px;
	width:100%;}

.contents_inner{
	margin:0 auto;
	width:1300px;}

.contents_inner p{
	line-height: 1.8;
	margin-bottom: 1.5em;}


/*common*/
.ttl_main{
	position: relative;
	line-height: 1.2;
	margin-bottom: 50px;
	padding: 40px 0;
	background-color:#0C7DD4;
	border-bottom: 15px solid #E2E3E6;
	letter-spacing: 2px;
	text-align: center;
	font-size: 42px;
	font-weight: 700;
	color: #fff;}

.ttl_main span{
	position: relative;}

.ttl_main small{
	font-size: 80%;}

.ttl_main.task{border-bottom:none;}
.ttl_main.task span::before{
	content: "";
	position: absolute;
	top: -100px;
	left: -200px;
	background: url(images/task_ttl.png) 0 0 no-repeat;
	width:284px;
	height: 136px;
}
.ttl_main.task::after{
	content: "";
	position: absolute;
	bottom: -60px;
	left:50%;
	transform: translateX(-50%);
	background: url(images/task_arrow.png) 0 0 no-repeat;
	width:410px;
	height: 60px;
}

.ttl_main.consultation span::after{
	content: "";
	position: absolute;
	top:-20px;
	right: -400px;
	background: url(images/consultation_arrow.png) 0 0 no-repeat;
	width:333px;
	height: 231px;
}

.ttl_main.case{border-bottom: 15px solid #E2BE3E;}
.ttl_main.faq{border-bottom: 15px solid #D8CAB8;}


/*お問い合わせボタン*/
.link_list{
	display: flex;
}

.link_list li{
	text-align: center;
}

.link_list li:first-child{
	margin-right: 40px;
}

.link_list li img{
	max-width: 100%;
	height: auto;}

.link_list li div{
	padding-top: 15px;
	font-size: 140%;}

.link_list li div.white{
	color: #fff;
	text-shadow: 0 0 10px #232A3C;}


@media screen and (max-width:1299px){
	.contents{
		width:100%;}

	.contents_inner{
		padding:0 20px;
		width:100%;}
	
	.link_list li:first-child{
		margin-right: 20px;
	}
	
	.link_list li div{
		padding-top: 10px;
		font-size: 120%;}
	
	.ttl_main.consultation span::before{
		left: -170px;
		width:150px;
		background-size: contain;
	}
	.ttl_main.consultation span::after{
		right: -220px;
		width:200px;
		background-size: contain;
}

}

@media screen and (max-width:768px){
	.ttl_main{
		font-size: 30px;}
	
	.ttl_main.consultation span::before,
	.ttl_main.consultation span::after{display: none;}
	.link_list li div.white{color: #000;text-shadow: none;}
	
	.ttl_main.task span::before{
		top: -80px;
		left: -80px;
		width:150px;
		background-size: contain;
	}
	

}

@media screen and (max-width:599px){
	.ttl_main{
		letter-spacing: 0;
		margin-bottom: 30px;
		padding: 20px 10px;
		font-size: 22px;}
	
	.link_list{
		display: block;
	}
	.link_list li:first-child{margin-right: 0; margin-bottom: 20px;}
	.link_list li div{
		font-size: 110%;}
	
	.ttl_main.task::after{
		width:200px;
		background-size: contain;
	}
	
	.ttl_main.task span::before{
		top: -80px;
		left: 0;
		width:150px;
		background-size: contain;
	}


}

/* 課題
========================================== */
.taskArea{
	background:url("images/bg_line.jpg") 0 0 repeat;
}

.task_bg{
	background:url("images/task_img.png") right bottom no-repeat;
	background-size: 280px;
}

.task_list{
	padding: 100px 0;
	padding-bottom: 50px;
}

.task_list li{
	letter-spacing: 2px;
	min-height: 38px;
	margin-bottom: 20px;
	padding-left: 50px;
	background: url("images/task_icon_check.png") 0 0 no-repeat;
	font-size: 24px;
	font-weight: 500;
	text-shadow: 1px 1px 1px #fff;
}

.task_list li span{
	color: #ff5e10;
}

@media screen and (max-width:1299px){
}

@media screen and (max-width:768px){
	.task_list{
		padding: 50px 0 100px;
	}
	
	.task_list li{
		min-height: 20px;
		padding-left: 30px;
		background: url("images/task_icon_check.png") 0 5px no-repeat;
		background-size: 20px 20px;
		font-size: 20px;
	}
	
	.task_bg{
		min-height: auto;
		background-size: 200px;
	}
	
}

@media screen and (max-width:599px){
	.task_list{
		padding: 30px 0;
	}

	.task_bg{
		background: none;
	}
}


/* 相談
========================================== */
.consultationArea{
	
}

.consultationArea .catch img{
	max-width: 100%;
	height: auto;
}

.consultation_list{
	position: relative;
	width: 100%;
	padding: 80px 0 50px 50px;
	border-left: 10px solid #FFD545;
	box-sizing: border-box;
}

.consultation_list .image{
	position: absolute;
	right: 0;
	top: -284px;
}

.consultation_list dl{
	display: flex;
	margin-bottom: 80px;
}
.consultation_list dl:last-child{
	margin-bottom: 0;
}


.consultation_list dl:nth-of-type(even) dt{
	order: 2;
}
.consultation_list dl:nth-of-type(even) dd{
	order: 1;
}
.consultation_list dt{
	position: relative;
	overflow: hidden;
	width: calc(100% - 650px);
	border: 2px solid #0CB3AD;
}

.consultation_list dt:before{
	content: "";
	display: block;
	padding-top: 40%;
}
.consultation_list dt img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}


.consultation_list dd{
	width: 650px;
	border: 8px solid #0CB3AD;
	box-sizing: border-box;
}

.consultation_list h2{
	position: relative;
	padding:20px 20px 25px 100px;
	background-color: #0CB3AD;
	color: #fff;
}

.consultation_list dd div{
	padding: 20px;}

.consultation_list dl:nth-of-type(1) h2::before{
	content: "";
	position: absolute;
	top: -43px;
	left:20px;
	background: url("images/consultation_no1.png") 0 0 no-repeat;
	width:39px;
	height:102px;
}
.consultation_list dl:nth-of-type(2) h2::before{
	content: "";
	position: absolute;
	top: -44px;
	left:10px;
	background: url("images/consultation_no2.png") 0 0 no-repeat;
	width:70px;
	height:103px;
}
.consultation_list dl:nth-of-type(3) h2::before{
	content: "";
	position: absolute;
	top: -45px;
	left:10px;
	background: url("images/consultation_no3.png") 0 0 no-repeat;
	width:70px;
	height:105px;
}
.consultation_list dl:nth-of-type(4) h2::before{
	content: "";
	position: absolute;
	top: -44px;
	left:10px;
	background: url("images/consultation_no4.png") 0 0 no-repeat;
	width:72px;
	height:103px;
}

.notice_plan{
	font-size: 70%;
	
}
@media screen and (max-width:1299px){
	.consultationArea .catch{
		width: 70%;
	}

}

@media screen and (max-width:1024px){
	.consultation_list dl{
		display: block;
		margin-bottom: 50px;}
	
	.consultation_list dt{display: none;}
	.consultation_list dd{width: 100%;}
	
	.consultation_list .image{
		position: absolute;
		right: 0;
		top: -155px;
		width: 250px;
	}
	
	.consultation_list .image img{
		width: 100%;
		height: auto;
	}
}

@media screen and (max-width:768px){
	.consultation_list{
		position: relative;
		width: 100%;
		padding: 50px 0 50px 20px;
	}

	.consultationArea .catch{
		width: 70%;
	}

	.consultation_list .image{
		position: absolute;
		right: -250;
		top: -188px;
		width: 250px;
	}
	
}

@media screen and (max-width:599px){
	.consultationArea .catch{
		width: 100%;
	}
	.consultation_list .image{
		display: none;
	}
	
.consultation_list h2{
		padding:15px 15px 15px 60px;
	}

	.consultation_list dl:nth-of-type(1) h2::before{
		top: -26px;
		left:20px;
		width:20px;
		background-size: contain;
	}
	.consultation_list dl:nth-of-type(2) h2::before{
		top: -28px;
		left:10px;
		width:40px;
		background-size: contain;
	}
	.consultation_list dl:nth-of-type(3) h2::before{
		top: -29px;
		left:10px;
		width:40px;
		background-size: contain;
	}
	.consultation_list dl:nth-of-type(4) h2::before{
		top: -29px;
		left:10px;
		width:42px;
		background-size: contain;
	}

	
}

/* 動画
========================================== */
.movieArea{padding: 0 0 80px;}

.movie_txt{
	font-size: 110%;
	text-align: center;}

.movie_txt span{
	font-size: 120%;
	font-weight: 700;
	color: #FF5E10;}

.movie_container{
	margin: 0 auto;
	width:800px;
}
.movie_container .movie {
	position: relative;
	width:100%;
	padding-top: 56.25%;
}
.movie_container .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width:1199px){
	.movie_container{
		width:100%;
	}
}

@media screen and (max-width:768px){
	.movieArea{padding: 0 0 60px;}
	
}


/* サービス
========================================== */
.serviceArea{padding: 0 0 80px;}

.service_pic01{
}

.service_pic01 img,
.service_txt img{
	max-width: 100%;
	height: auto;
}

.service_detail{
	margin: 0 0 50px auto;
	width: 840px;
	padding: 30px;
	box-sizing: border-box;
	border-right:4px solid #FF5E10;
	border-bottom:4px solid #FF5E10;
	border-left:4px solid #FF5E10;
}

.service_about{
	margin-top: 20px;
	width: 100%;
	box-sizing: border-box;
}

.service_about dt,
.service_about dd{}

.service_about dt{
	line-height: 1.2;
	margin-bottom: 10px;
	padding:5px 10px 5px 20px;
	background-color: #FF5E10;
	border-radius: 20px;
	color: #fff;
	font-weight: 700;
}
.service_about dd{
}

.service_greeting{
	padding:60px 30px;
	box-shadow: 0 0 10px #D0D0D0;
	background-color: #fff;
	text-align: center;}

.service_greeting dt{
	margin-bottom: 30px;
	color: #0C7DD4;
	font-weight: 700;
	font-size: 120%;}


@media screen and (max-width:1299px){
	.service_detail{
		margin: 0 0 50px auto;
		width: 64.65%;
		padding: 30px;
		border-right:3px solid #FF5E10;
		border-bottom:3px solid #FF5E10;
		border-left:3px solid #FF5E10;
	}
	
	
}

@media screen and (max-width:768px){
	.service_detail{
		margin: 0 0 30px;
		width: 100%;
		padding: 20px;
		border:2px solid #FF5E10;
	}
	
	.service_pic01{
		margin-bottom: 20px;
	}
	.service_pic01 img{
		width: 100%;
		height: auto;
	}
	
	.service_greeting{
		padding:30px 30px;}
	
	.service_greeting dd{
		text-align: left;}
}


/* 日々紹介フロー
========================================== */
.flowArea{padding: 0 0 80px;}

.flow_pic{
	margin-bottom: 50px;}

.flow_pic img{
	width: 100%;
	height: auto;}

@media screen and (max-width:768px){
	.flow_pic{
		margin-bottom: 20px;}
}

@media screen and (max-width:599px){
	.flowArea{padding: 0 0 60px;}
	
	.scroll{
		overflow: auto;
		white-space: nowrap;
		margin-bottom: 30px;
	}
	.scroll::-webkit-scrollbar{
		height: 15px;
	}
	.scroll::-webkit-scrollbar-track{
		background: #F1F1F1;
	}
	.scroll::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
}


/* 事例
========================================== */
.caseArea{
	padding: 60px 0 80px;
	background-color: #FFD545;
}

.case_list{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-bottom: 30px;}

.case_list dl{
	margin-right: 2%;
	margin-bottom: 30px;
	width:23%;
	background-color: #fff;}

.case_list dl:nth-child(4n){margin-right: 0;}

.case_list dt{}

.case_list dt img{
	width: 100%;
	height: auto;}

.case_list dd{
	padding: 20px;}

.case_list dd h2{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	font-size: 22px;
	color: #0D7DD4;}

.case_list dd h2 span{padding-left: 10px;}

.case_list dd p{
	margin-bottom: 0;
	line-height: 1.8;}

.case_list dd ol {
	padding: 0 0 40px;
}
.case_list dd ol li{
	display: inline-block;
	margin: 0 0 10px;
	padding: 5px 25px;
	background: #4c8bd5;
	border-radius: 30px;
	color: #fff;
}
.case_list dd ol:after {
	content: "...etc.";
	margin: 13px 0 0;
	font-weight: bold;
	float:right;
}

.case_box{
	padding: 30px 30px;
	background-color: #fff;
	border: 1px solid #000;
	text-align: center;
	font-size: 120%;
	font-weight: 700;
}

@media screen and (max-width:1299px){
	.case_list dd h2{font-size: 24px;}
	.case_list dl{
		margin-right: 4%;
		width:48%;}
	.case_list dl:nth-child(even){margin-right: 0;}
}

@media screen and (max-width:768px){
	.caseArea{padding: 40px 0 60px;}

	.case_list dd h2{font-size: 22px;}
	
	.case_list dd{
		padding: 15px;}

}

@media screen and (max-width:599px){
	.case_list dl{
		margin-right: 0;
		width:100%;}

	.case_list dl:nth-child(3n){margin-right: 0;}
	.case_list dl:nth-child(even){margin-right: 0;}
	
	.case_list dt img{width: 100%;height: auto;}
	
	.case_list dd h2{font-size: 20px;}

}


/* お問い合わせ
========================================== */
.contactArea{
	padding: 100px 0;
	background: url(images/bg_contact.jpg) center bottom no-repeat;
	background-size: cover;
}

.contact_list{
	display: flex;
	justify-content: space-between;
	margin-bottom: 60px;
}

.contact_list li{
	position: relative;
	width: 600px;
	padding: 50px 50px 80px;
	background-color: #0C7DD4;
	border-radius: 10px;
	text-align: center;
	color: #fff;
}

.contact_list li p{
	font-size: 80%;
}

.contact_list li .icon{
	margin-bottom: 20px;
}

.contact_list li .title{
	line-height: 1.2;
	padding-top: 20px;
	border-top: 1px solid #60AAE3;
	font-size: 30px;
	font-weight: 700;
}

.contact_list li .btn{
	position: absolute;
	bottom: -80px;
	left: 50%;
	transform: translateX(-50%);
}


@media screen and (max-width:1299px){
	
	.contact_list li{
		width:48%;
		padding: 40px 30px 60px;}
		
	.contact_list li .title{
		font-size: 26px;
	}

	.contact_list li .btn{
		width: 80%;
		bottom: -50px;
	}
	.contact_list li .btn img{
		width:100%;
		height: auto;
	}
	
}

@media screen and (max-width:768px){
	.contact_list li{
		padding: 40px 20px 40px;}
	
	.contact_list li .title{
		font-size: 24px;
	}
	
	.contact_list li .btn{
		width: 90%;
		bottom: -40px;
	}
	
}


@media screen and (max-width:599px){
	.contactArea{
		padding: 50px 0;
	}
	
	.contact_list{
		display: block;
		margin-bottom: 0;}
	
	.contact_list li{
		margin-right: 0;
		margin-bottom: 20px;
		width: 100%;
		padding: 30px 20px 30px;}
	
	.contact_list li .btn{
		position: static;
		margin: 20px auto 0;
		width: 100%;
		transform: translateX(0);
	}
	.contact_list li .title{
		font-size: 22px;
	}
	
}


/* 会社概要
========================================== */
.companyArea{
	padding: 0 0 50px;
}

@media screen and (max-width:768px) {
	.companyArea{
		padding: 0 0 30px;
	}

}

/* ======================================================

	footer

========================================================= */
#footer{}


/* ==============================================

	copyright

================================================= */
.copyright{
	clear:both;
	padding:10px 10px;
	background-color:#0C7DD4;
	color: #fff;
	font-size:14px;
	text-align:center;}

#pageTop{
	position:fixed;
	line-height: 1;
	right:20px;
	bottom:20px;
	z-index: 100;}

#pageTop a{
	display: block;
	position:relative;
	padding:30px;
	background-color:#FF5E10;
	color:#fff;
	font-size: 1.2rem;
	text-decoration: none;
}

#pageTop a::before{
	position:absolute;
	content: "";
	top:25px;
	left:50%;
	margin-left: -5px;
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transition: all .3s;
	}

#pageTop:hover a{background-color:#FFD545;}

#pageTop:hover a::before{
	top:15px;
	}

@media screen and (max-width: 768px) {
	#pageTop{
		right:0;
		bottom:20px;}

}
@media screen and (max-width: 599px) {
	#pageTop a{
		padding:25px;
	}
	#pageTop a::before{
		top:20px;
		}
	#pageTop:hover a::before{
		top:15px;
		}

}

/* =======================================

	topicPath

========================================== */
#topicPath{
	padding: 10px;
}

#topicPath li{
	display: inline;
	list-style-type: none;
	font-size: 14px;}

#topicPath li:before {
	content: " > ";}

#topicPath li:first-child:before {
	content: none;}


@media screen and (max-width: 768px) {
	#topicPath{
		padding:13px 0 0 10px;
		min-height:20px;}
}


/* =======================================

	add content

========================================== */

/*日々紹介*/

.about_sv{
	padding: 20px;
	position: relative;
        text-align:left;
	width: 70%;
	float: right;
}
.about_sv::after {
    content: " ";
    display: block;
    clear: both;
    font-size: 0;
}

.about_sv::before, .about_sv::after {
	content: '';
	width: 20px;
	height: 100%;
	position: absolute;
}
.about_sv::before {
	border-left: solid 2px #888;
	border-top: solid 2px #888;
	border-bottom: solid 2px #888;
	top: 0;
	left: 0;
}
.about_sv::after {
	border-right: solid 2px #888;
	border-top: solid 2px #888;
	border-bottom: solid 2px #888;
	top: 0;
	right: 0;
}