@charset "UTF-8";
/* CSS Document */
body{
	box-sizing: border-box;
	color: #333333;
	font-family: "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "メイリオ", Meiryo, sans-serif;
	/*font-family:  "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "メイリオ", Meiryo,"Yu Gothic", YuGothic, sans-serif;*/
	font-size: 15px;
	line-height: 1.8em;
	margin: 0 auto;
	overflow-wrap : break-word;
	text-align: center;
	word-wrap : break-word;
	word-break : break-all;
	min-width: 1200px;
	/* max-width: 2000px; */
}
*{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
a{
	color: #333333;
	list-style: none;
	text-decoration: none;
	display: block;
}
/* 太字 */
.bold{
	font-weight: bold;
}
/* テキスト左寄せ */
.text-left{
	text-align: left;
}
/* テキスト右寄せ */
.text-center{
	text-align: center;
}
/* テキスト中央 */
.text-right{
	text-align: right;
}

/* マウスオーバー時の透過 */
.mouseover:hover {
	filter:alpha(opacity=50); /* IE 6,7*/
	-ms-filter: "alpha(opacity=50)" !important; /* IE 8,9 */
	-moz-opacity:0.5 !important; /* FF , Netscape */
	-khtml-opacity: 0.5 !important; /* Safari 1.x */
	opacity:0.5 !important;
	transition: 0.7s !important;
}

.clearboth {
	clear: both;
}
/*
 * ヘッダ
*/
.header {
	width: 100%;
	min-width: 1200px;
	background-color: #FFF;
	position: relative;
	z-index: 1000;
}
.header > h1{
	color: #333333;
	font-size: 12px;
	float: left;
	padding: 10px 0 10px 40px;
}
.header > .header_contact{
	float: right;
}
.header > .header_contact > .tel{
	width: 213px;
	height: 49px;
	float: left;
}
.header > .header_contact > .tel img{
	margin: 12px 0;
}
.header > .header_contact > .contact{
	width: 213px;
	height: 49px;
	background-color: #47BF22;
	float: left;
}
.header > .header_contact > .contact img{
	margin: 12px 0;
}
.header > .logo {
	display: none;
}
/* PC 固定ヘッダ */
.header_fixed {
	width: 100%;
	min-width: 1200px;
	height: 64px;
	top: 0;
	position: fixed;
	z-index: 999;
	background: #FFF;
}
.header_fixed > .logo{
	float: left;
}
.header_fixed > .logo img{
	margin: 10px 0 0 40px;
}
.header_fixed > .navigator{
	float: right;
}
.header_fixed > .navigator ul {
	margin: 20px 0 0 0;
}
.header_fixed > .navigator ul li {
	margin: 0 48px 0 0;
	float: left;
}
.header_fixed > .navigator ul li a{
	display: block;
	font-size: 18px;
	font-weight: bold;
}
.header_navarea_sp {
	display: none;
}

/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	body {
		min-width: 0;
	}
	.header {
	    width: 100%;
		min-width: 0;
		position: fixed;
		z-index: 9999;
	}
	.header > h1{
		display: none;
	}
	.header > .header_contact{
		display: none;
	}
	.header > .logo {
		display: block;
		text-align: left;
		margin: 0 10px;
		padding-bottom: 4px;
	}
	.header > .logo img{
		margin: 5px 0 0 0;
	}
	/* ハンバーガーメニュー */
	.header > .btn{
		width: 45px;
		height: 30px;
		position: absolute;
		right: 8px;
		top: 8px;
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.header > .btn:before,
	.header > .btn:after,
	.header > .btn span{
		display: inline-block;
		width: 80%;
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	.header > .btn span{
		height: 3px;
		transition: all .4s;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		width: 70%;
		height: 3px;
		background-color: #000;
		border-radius: 4px;
		display: inline-block;
	}
	.header > .btn:before{
		content: "";
	}
	.header > .btn:after{
		content: "";
		position: absolute;
		left: 0;
		bottom: -16px;
		content: 'MENU';
		display: block;
		width: 80%;
		color: #000;
		font-size: 10px;
		text-decoration: none;
		text-align: center;
		white-space: nowrap;
		transition: all .4s;
	}
	.header > .btn.on span{

	}
	.header > .btn.on:before{

	}
	.header > .btn.on:after{
		content: 'CLOSE';
		bottom: -16px;
	}
	.header > .btn span:nth-of-type(1) {
		top: 0;
	}
	.header > .btn span:nth-of-type(2) {
		top: 9.5px;
	}
	.header > .btn span:nth-of-type(3) {
		bottom: 8px;
	}
	.header > .btn.on span:nth-of-type(1) {
		-webkit-transform: translateY(10px) rotate(-45deg);
		transform: translateY(10px) rotate(-45deg);
	}
	.header > .btn.on span:nth-of-type(2) {
		opacity: 0;
	}
	.header > .btn.on span:nth-of-type(3) {
		-webkit-transform: translateY(-12px) rotate(45deg);
		transform: translateY(-12px) rotate(45deg);
		bottom: 5px;
	}

	/* sp用メニュー */
	.header_navarea_sp {
		width: 100%;
		display: none;
		padding: 51px 0 0px 0;
		background-color: #FFF;
		position: fixed;
		z-index: 9998;
	}
	.header_navarea_sp ul {
		width: 100%;
		letter-spacing: -.4em;
		margin: 0 auto;
		font-size: 0;
		padding: 10px 20px 0;
		text-align: left;
	}
	.header_navarea_sp ul li {
		width: 100%;
		margin: 0 0;
		list-style-type: none;
		list-style-position: outside;
		display: inline-block;
		letter-spacing: normal;
		font-size: 15px;
		border-bottom: 1px solid #c6c6c6;
		background: url(../image/common/sp/menu_right_arrow.png) no-repeat top 28px right 7%;
		background-size: 6px 9px;
	}

	.header_navarea_sp ul li:first-child {
		border-top: 1px solid #c6c6c6;
	}
	.header_navarea_sp ul li a {
		padding: 20px 0 20px 10px;
		color: #333333;
		display: block;
		text-align: left;
	}
	.header_navarea_sp ul li span {
		width: 200px;
		display: inline-block;
	}
	.header_navarea_sp ul li span.en {
		width: 100px;
		font-weight: bold;
	}

	.header_navarea_sp .menu_contact{
		height: 359px;
		background: url(../image/footer/sp/footer_tel_bg.jpg) no-repeat center bottom / cover;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner {
		width: 236px;
		margin: 0 auto;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .text{
		text-align: left;
		position: static;
		padding: 46px 0 0 0;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .text > p{
		color: #FFF;
		font-size: 14px;
		line-height: 1.5em;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .text > .big{
		font-size: 28px;
		font-weight: bold;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .contact_button_box{
		text-align: left;
		position: static;
		padding: 20px 0 0 0;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .contact_button_box > .tel,
	.header_navarea_sp .menu_contact .menu_contact_inner .contact_button_box > .contact{
		width: 233px;
		height: 70px;
		background: #FFF;
		margin-right: 0;
		margin-bottom: 20px;
		text-align: center;
		float: none;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .contact_button_box > .contact{
		margin-right: 0;
	}
	.header_navarea_sp .menu_contact .menu_contact_inner .contact_button_box > .tel a,
	.header_navarea_sp .menu_contact .menu_contact_inner .contact_button_box > .contact a{
		display: block;
		padding: 20px 0;
	}
	/* PC 固定ヘッダ */
	.header_fixed {
		display: none;
	}
}

/*
 * フッタ
*/
.footer {
	width: 100%;
	min-width: 1200px;
	background-color: #FFF;
	position: relative;
}
.footer > .footer_contact{
	height: 254px;
	background: url(../image/footer/footer_tel_bg.jpg) no-repeat center bottom / cover;
}
.footer > .footer_contact > .footer_contact_inner {
	width: 1200px;
	margin: 0 auto;
	position: relative;
}
.footer > .footer_contact > .footer_contact_inner > .text{
	text-align: left;
	position: absolute;
	top: 82px;
	left: 0;
}
.footer > .footer_contact > .footer_contact_inner > .text > p{
	color: #FFF;
	font-size: 14px;
	line-height: 1.9em;
}
.footer > .footer_contact > .footer_contact_inner > .text > .big{
	font-size: 28px;
	font-weight: bold;
}
.footer > .footer_contact > .footer_contact_inner > .contact_button_box{
	text-align: left;
	position: absolute;
	top: 90px;
	right: 0;
}
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel,
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact{
	width: 233px;
	height: 70px;
	background: #FFF;
	margin-right: 20px;
	text-align: center;
	float: left;
	transition: filter .5s;
}
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel:hover{
	filter: invert(100%);
}
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact:hover{
	filter: invert(100%);
}
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact{
	margin-right: 0;
}
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel a,
.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact a{
	display: block;
	padding: 20px 0;
}
.footer > .footer_navigation {
	width: 1200px;
	margin: 40px auto 40px auto;
	background: #FFF;
	position: relative;
}
.footer > .footer_navigation .infomation{
	float: left;
	margin: 0;
}
.footer > .footer_navigation .infomation .logo {
	float: left;
}
.footer > .footer_navigation .infomation .logo img{
}
.footer > .footer_navigation .infomation .text {
	margin: 5px 0 0 10px;
	float: left;
}
.footer > .footer_navigation .infomation .text p {
	font-size: 15px;
	text-align: left;
}
.footer > .footer_navigation .navagation{
	float: right;
	margin: 0 0 0 0;
	text-align: left;
}
.footer > .footer_navigation .navagation ul{
}
.footer > .footer_navigation .navagation ul li{
	display: inline-table;
	margin-right: 65px;
	float: left;
	font-size: 18px;
	font-weight: bold;
}
.footer > .footer_navigation .navagation ul li:last-child{
	margin-right: 0;
}
.footer > .footer_navigation .navagation ul li .sub{
	font-size: 16px;
	margin: 20px 0 0 0;
}
.footer > .footer_navigation .navagation ul li .sub p{
	border-left: 1px solid #A2A2A2;
	padding: 5px 0 5px 10px;
}
.footer > .footer_navigation .navagation ul li .sub p:first-child{
	padding: 0 0 5px 10px;
}
.footer > .footer_navigation .navagation ul li .sub p:last-child{
	padding: 5px 0 0 10px;
}
.footer .other_navigation {
	margin: 20px auto 0;
	text-align: left;
	position: absolute;
	bottom: 0;
	left: 0;
}
.footer .other_navigation ul{
	margin: 0;
}
.footer .other_navigation ul li{
	float: left;
	font-size: 16px;
	margin: 0 0 0 20px;
}
.footer .other_navigation ul li p{
	border-right: 1px solid #333;
	padding: 1px 20px 0 0;
	font-weight: bold;
}
.copyright {
	padding: 6px 0;
	background-color: #333333;
	color: #FFF;
	font-size: 12px;
}
/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.footer {
		width: 100%;
		min-width: 0;
	}
	.footer > .footer_contact{
		height: 277px;
		background: url(../image/footer/tablet/footer_tel_bg.jpg) no-repeat center bottom / cover;
	}
	.footer > .footer_contact > .footer_contact_inner{
		width: 490px;
		margin: 0 auto;
		position: static;
	}
	.footer > .footer_contact > .footer_contact_inner > .text{
		text-align: left;
		position: static;
		padding: 46px 0 0 0;
	}
	.footer > .footer_contact > .footer_contact_inner > .text > p{
		color: #FFF;
		font-size: 14px;
		line-height: 1.5em;
	}
	.footer > .footer_contact > .footer_contact_inner > .text > .big{
		font-size: 28px;
		font-weight: bold;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box{
		text-align: left;
		position: static;
		padding: 20px 0 0 0;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel,
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact{
		width: 233px;
		height: 70px;
		background: #FFF;
		margin-right: 20px;
		text-align: center;
		float: left;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact{
		margin-right: 0;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel a,
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact a{
		display: block;
		padding: 20px 0;
	}
	.footer > .footer_navigation {
		width: 100%;
		margin: 30px auto 30px auto;
		background: #FFF;

	}
	.footer > .footer_navigation .infomation{
		float: left;
		margin: 80px;
	}
	.footer > .footer_navigation .infomation .logo {
		width: 55px;
		float: left;
	}
	.footer > .footer_navigation .infomation .logo img{
		width: 100%;
	}
	.footer > .footer_navigation .infomation .text {
		margin: 0 0 0 10px;
		float: left;
	}
	.footer > .footer_navigation .infomation .text p {
		font-size: 14px;
		text-align: left;
	}
	.footer > .footer_navigation .infomation .text p.name {
		font-weight: bold;
	}
	.footer > .footer_navigation .navagation{
		display: none;
	}
	.footer .other_navigation {
		display: none;
	}
}
/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.footer > .footer_contact{
		height: 359px;
		background: url(../image/footer/sp/footer_tel_bg.jpg) no-repeat center bottom / cover;
	}
	.footer > .footer_contact > .footer_contact_inner {
		width: 238px;
		margin: 0 auto;
		position: static;
	}
	.footer > .footer_contact > .footer_contact_inner > .text{
		text-align: left;
		position: static;
		padding: 46px 0 0 0;
	}
	.footer > .footer_contact > .footer_contact_inner > .text > p{
		color: #FFF;
		font-size: 14px;
		line-height: 1.5em;
	}
	.footer > .footer_contact > .footer_contact_inner > .text > .big{
		font-size: 28px;
		font-weight: bold;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box{
		text-align: left;
		position: static;
		padding: 20px 0 0 0;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel,
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact{
		width: 233px;
		height: 70px;
		background: #FFF;
		margin-right: 0;
		margin-bottom: 20px;
		text-align: center;
		float: none;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact{
		margin-right: 0;
	}
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .tel a,
	.footer > .footer_contact > .footer_contact_inner > .contact_button_box > .contact a{
		display: block;
		padding: 20px 0;
	}
	.footer > .footer_navigation {
		width: 100%;
		margin: 30px auto 30px auto;
		background: #FFF;
	}
	.footer > .footer_navigation .infomation{
		float: left;
		margin: 0 0 0 10px;
	}
	.footer > .footer_navigation .infomation .logo {
		width: 44px;
		float: left;
	}
	.footer > .footer_navigation .infomation .logo img{
		width: 100%;
	}
	.footer > .footer_navigation .infomation .text {
		margin: 0 0 0 10px;
		float: left;
	}
	.footer > .footer_navigation .infomation .text p {
		font-size: 12px;
		text-align: left;
	}
}
/* オンライン見積もり 追従バナー */
.fix_bn {
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 9999;
}
.fix_bn div{
	border-radius: 60px;
	background-color: #47BF22;
	width: 120px;
	height: 120px;
	position: relative;
}
.fix_bn div img{
	position: absolute;
	top: 15px;
	right: 15px;
	width: 90px;
	opacity: 0.4;
}
.fix_bn div p{
	font-weight: bold;
	color: #fff;
	line-height: 1.5;
	padding-top: 40px;
}
/* ===== 1215px以下 ===== */
@media(max-width: 1215px) {
	.fix_bn div{
		opacity: 0.7;
	}
}
/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.fix_bn{
		bottom: 20px;
		right: 20px;
	}
}
/* ===== 500px以下 ===== */
@media(max-width: 500px) {
	.fix_bn{
		bottom: 10px;
		right: 10px;
	}
	.fix_bn div{
		width: 90px;
		height: 90px;
	}
	.fix_bn div img{
		top: 12px;
		right: 15px;
		width: 60px;
	}
	.fix_bn div p{
		padding-top: 24px;
		font-size: 15px;
	}
}
/* パンくず */
.breadcrumbs_outer {
	width: 980px;
	margin: 0 auto;
	padding-top: 74px;
}
.breadcrumbs {
	background-color: #FFF;
	color: #333333;
	overflow-x: hidden;
	overflow-y: hidden;
}
.breadcrumbs > ul {
	overflow-x: hidden;
/*	display: table;
	table-layout: fixed; */
	padding: 8px 0;
}

.breadcrumbs > ul > li:first-child {
	padding-left: 10px;
}
.breadcrumbs > ul > li{
	display: table-cell;
	white-space: nowrap;
	padding-right: 4px;
	padding-left: 20px;
	font-size: 12px;
	position: relative;
}
.breadcrumbs > ul > li:after {
	content: " ";
	display: block;
	width: 9px;
	height: 8px;
	background: url(../image/common/arrow_breadcrumbs.png);
	background-size: 9px 8px;
	position: absolute;
	top: 50%;
	margin-top: -4px;
	right: -12px;
}

.breadcrumbs > ul > li:last-child:after {
    background: none;
}

.breadcrumbs > ul > li span {
	color: #333333;
}
/* ===== 767px以下 ===== */
@media(max-width: 767px) {
	.breadcrumbs_outer {
		width: 100%;
	}
}
/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	/* パンくず */
	.breadcrumbs_outer {
		padding-top: 52px;
	}
	.breadcrumbs {
		background-color: #FFF;
		color: #333333;
		overflow-x: hidden;
		overflow-y: hidden;
	}
	.breadcrumbs > ul {
		overflow-x: scroll;
	/*	display: table;
		table-layout: fixed; */
		padding: 8px 0;
	}
	.breadcrumbs > ul > li:first-child {
		padding-left: 10px;
	}
	.breadcrumbs > ul > li{
		display: table-cell;
		white-space: nowrap;
		padding-right: 4px;
		padding-left: 20px;
		font-size: 11px;
		position: relative;
	}
	.breadcrumbs > ul > li:after {
		content: " ";
		display: block;
		width: 9px;
		height: 8px;
		background: url(../image/common/arrow_breadcrumbs.png);
		background-size: 9px 8px;
		position: absolute;
		top: 50%;
		margin-top: -4px;
		right: -12px;
	}

	.breadcrumbs > ul > li:last-child:after {
		background: none;
	}

	.breadcrumbs > ul > li span {
		color: #333333;
	}
}
.main {
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	padding: 0 0 0 0;
}
.main .main_contents {
	width: 100%;
}
.main .main_contents.bg_gray {
	background-color: #F8F8F8;
}
.main .main_contents .contents_inner{
	width: 980px;
	margin: 0 auto;
}
.main .page_header{
	margin: 30px 0 0 0;
}
/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main {
		width: 100%;
		min-width: 0;
		padding: 48px 0 0 0;
	}
	.main .main_contents {
		width: 100%;
	}
	.main .main_contents .contents_inner{
		width: 100%;
		padding: 0 10px;
	}
	.main .page_header{
		margin: 0 0 0 0;
	}
}
/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.main {
		padding: 33px 0 0 0;
	}
}
/*
 * メインコンテンツ
*/
.contents_title {
	font-size: 32px;
	position: relative;
	display: inline-block;
	margin-bottom: 0.6em;
	font-weight: bold;
	padding-bottom: 20px;
}
.contents_title:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -5px;/*線の上下位置*/
	display: inline-block;
	width: 33px;/*線の長さ*/
	height: 2px;/*線の太さ*/
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);/*位置調整*/
	background-color: black;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}
.contents_title h2{
}
/* トップページ */
.main > .top_image_banner {
	height: 100vh;
	position: relative;
	z-index: 1000;
    background: url(../image/top/main.jpg) no-repeat center bottom / cover;
}
.main > .top_image_banner > .top_image_banner_text {
	text-align: left;
	position: relative;
	height: 100vh;
}
.main > .top_image_banner > .top_image_banner_text img{
	position: absolute;
	left: 100px;
	top: 18%;
	max-width: 800px;
	width: 60%;

}
/* PC 固定ヘッダ */
.main > .top_navigator {
	width: 100%;
	min-width: 1200px;
	height: 117px;
	background: #FFF;
}
.main > .top_navigator > .logo{
	float: left;
}
.main > .top_navigator > .logo img{
	margin: 20px 0 0 40px;
}
.main > .top_navigator > .navigator{
	float: right;
}
.main > .top_navigator > .navigator ul {
	margin: 40px 0 0 0;
}
.main > .top_navigator > .navigator ul li {
	margin: 0 30px 0 0;
	float: left;
}
.main > .top_navigator > .navigator ul li a{
	display: block;
	font-size: 18px;
	font-weight: bold;
}
.main .main_contents .contents_inner .top_service{
	padding: 100px 0;
	text-align: left;
}
.main .main_contents .contents_inner .top_service .text{
	width: 464px;
	float: left;
}
.main .main_contents .contents_inner .top_service .text h2{
	font-size: 24px;
	font-weight: bold;
}
.main .main_contents .contents_inner .top_service .text h2 .br{
	display: block;
	font-weight: bold;
}
.main .main_contents .contents_inner .top_service_example{
	background-color: #F8F8F8;
	padding:25px 17px;
	margin-top: 50px;
	width:315px;
}
.main .main_contents .contents_inner .top_service .text > p{
	padding: 30px 0 0 0;
	text-align: justify;
	line-height: 2em;
}
.main .main_contents .contents_inner .top_service_example .service_example_ttl{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
}
.main .main_contents .contents_inner .top_service .image{
	width: 464px;
	float: right;
}
.main .main_contents .contents_inner .top_service .image img{
	width: 100%;
}
.main .main_contents .contents_inner .top_service_link{
	width: 464px;
	text-align: right;
	margin: 20px 0 0 0;
}
.main .main_contents .contents_inner .top_service_link a{
	display: inline;
}

.main .main_contents .top_works {
	padding: 60px 0 0 0;
}

.main .main_contents .top_works_slide {
}

.main .main_contents .top_works_slide .slideshow {
	margin: 30px 0 0 0;
}
.main .main_contents .top_works_slide .slideshow .item {
	width: 316px;
	margin-right: 20px;
	text-align: left;
}
.main .main_contents .top_works_slide .slideshow .item .image{
	width: 316px;
	height: 232px;
	background-color: #F8F8F8;
	text-align: center;
	margin: 0 auto 10px auto;
	overflow: hidden;
	position: relative;
}
.main .main_contents .top_works_slide .slideshow .item .image img{
    position: absolute;
    left: 50%;
    top: 50%;
    width: auto;
    height: auto;
    max-width: 316px;
    max-height: 232px;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate(-50%, -50%);
    transform: translate3d(-50%, -50%, 0);
}
.main .main_contents .top_works_slide .top_works_link{
	width: 100%;
	margin: 60px auto;
}
.main .main_contents .top_works_slide .top_works_link a{
	display: inline;
}
.main .main_contents .contents_inner .top_information{
	padding: 100px 0;
	text-align: center;
}
.main .main_contents .contents_inner .top_information .top_information_list {
	width:  656px;
	margin: 0 auto 0 auto;
}
.main .main_contents .contents_inner .top_information .top_information_list .information_box{
	text-align: left;
	margin: 40px 0 0 0;
}
.main .main_contents .contents_inner .top_information .top_information_list .information_box .date{
	width: 100px;
	font-size: 14px;
	font-weight: bold;
	float: left;
	margin: 20px 0;
}
.main .main_contents .contents_inner .top_information .top_information_list .information_box .title{
	width: 532px;
	margin: 20px 0 20px 24px;
	font-size: 14px;
	float: left;
}
.information_box{
	text-align: left;
	display: inline-block;
	margin: 20px 0 80px;
}
.information_box .date{
	width: 100px;
	font-size: 14px;
	font-weight: bold;
	float: left;
	margin: 20px 0;
}
.information_box .title{
	width: 532px;
	margin: 20px 0 20px 24px;
	font-size: 14px;
	float: left;
}
.main .main_contents .contents_inner .top_information .top_information_list .information_box .title p{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.main .main_contents .contents_inner .top_information .top_more_link{
	width: 100%;
	margin: 60px auto 0 auto;
}
.main .main_contents .contents_inner .top_information .top_more_link a img{
	display: inline;
	margin: 0 auto 0 auto;
}
/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main > .top_image_banner {
		height: 100vh;
		position: relative;
	    background: url(../image/top/tablet/main.jpg) no-repeat center bottom / cover;
	}
	.main > .top_image_banner > .top_image_banner_text {
	}
	.main > .top_image_banner > .top_image_banner_text img{
		left: 20px;
		width: 80%;
	}
	/* PC 固定ヘッダ */
	.main > .top_navigator {
		display: none;
	}
	.main .main_contents .contents_inner .top_service{
		padding: 30px 0;
		text-align: left;
	}
	.main .main_contents .contents_inner .top_service .text{
		width: 48%;
		float: left;

	}
	.main .main_contents .contents_inner .top_service .text h2{
		font-size: 18px;
		font-weight: bold;
	}
	.main .main_contents .contents_inner .top_service .text p{
		padding: 20px 0 0 0;
		text-align: justify;
	}
	.main .main_contents .contents_inner .top_service .image{
		width: 48%;
		float: right;
	}
	.main .main_contents .contents_inner .top_service_link{
		width: 48%;
		text-align: right;
	}

	.main .main_contents .contents_inner .top_information .top_information_list {
		width:  100%;
	}
	.main .main_contents .contents_inner .top_information .top_information_list .information_box{
		text-align: left;
		margin: 40px 0 0 0;
	}
	.main .main_contents .contents_inner .top_information .top_information_list .information_box .date{
		width: 100%;
		font-size: 14px;
		font-weight: bold;
		float: none;
	}
	.main .main_contents .contents_inner .top_information .top_information_list .information_box .title{
		width: 100%;
		font-size: 14px;
		float: none;
		display: block;
		overflow: hidden;
	}
	.main .main_contents .contents_inner .top_information .top_information_list .information_box .title p{
		overflow: hidden;
		text-overflow: unset;
		white-space: normal;
		max-height: 42px;
	}
	/* fallback for IE */
	@supports (-webkit-line-clamp: 2) {
		.main .main_contents .contents_inner .top_information .top_information_list .information_box .title p{
			display: -webkit-box;
			overflow: hidden;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
		}
	}

}
/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.contents_title {
		font-size: 26px;
	}

	.main > .top_image_banner {
		position: relative;
	    background: url(../image/top/sp/main.jpg) no-repeat center bottom / cover;
	}
	.main > .top_image_banner > .top_image_banner_text {
	}
	.main > .top_image_banner > .top_image_banner_text img{
	}
	/* PC 固定ヘッダ */
	.main > .top_navigator {
		display: none;
	}
	.main .main_contents .contents_inner .top_service{
		padding: 20px 0;
		text-align: left;
	}
	.main .main_contents .contents_inner .top_service .text{
		width: 100%;
		max-width: 500px;
		float: none;
		margin: 0 auto;
	}
	.main .main_contents .contents_inner .top_service .text p{
		padding: 10px 0 0 0;
		text-align: justify;
	}
	.main .main_contents .contents_inner .top_service .image{
		width: 100%;
		max-width: 500px;
		float: none;
		margin: 50px auto 0 auto;
	}
	.main .main_contents .contents_inner .top_service_link{
		width: 100%;
		text-align: center;
	}
	.main .main_contents .top_works {
		padding: 30px 0 0 0;
	}

	.main .main_contents .top_works_slide {
	}

	.main .main_contents .top_works_slide .slideshow {
		margin: 30px 0 0 0;
	}
	.main .main_contents .top_works_slide .slideshow .item {
		width: 100%;
		margin-right: 0;
		padding: 0 10px;
		text-align: left;
	}
	.main .main_contents .top_works_slide .slideshow .item .image{
		width: 100%;
		height: 70vw;
		object-fit: cover;
		background-color: #F8F8F8;
		text-align: center;
		margin: 0 auto 10px auto;
		overflow: hidden;
		position: relative;
	}
	.main .main_contents .top_works_slide .slideshow .item .image img{
		max-width: 100%;
		max-height: 70vw;
	}
	.main .main_contents .top_works_slide .top_works_link{
		margin: 30px auto;
	}
	.main .main_contents .contents_inner .top_information{
		padding: 30px 0;
		text-align: center;
	}
	.main .main_contents .contents_inner .top_information .top_more_link{
		margin: 30px auto 0 auto;
	}
	.main .main_contents .contents_inner .top_information > .top_product_list > .top_more_link > a img{
		width: 80%;
	}

}

/* 事業内容 */
.service_main_wrap section:last-child{
	margin-bottom: 90px;
}

.main .service_contents{
	width: 980px;
	margin: 0 auto;
	padding: 50px 30px 50px 30px;
	background-color: #F8F8F8;
	margin-bottom: 68px;
}

.main .service_contents .service_main {
	text-align: left;
	display: flex;
}

.main .service_contents .service_main .category_sp {
	display: none;
}

.main .service_contents .service_main .image{
	width: 414px;
	float: left;
	margin-bottom: 50px;
}
.main .service_contents .service_main .image img{
	width: 100%;
}
.main .service_contents .service_main .text{
	width: 468px;
	margin-left: 40px;
	float: right;
	position: relative;
	margin-bottom: 50px;
}
.main .service_contents .service_main .text h2{
	font-size: 24px;
	font-weight: bold;
}
.main .service_contents .service_main .text > p{
	padding: 30px 0 0 0;
	text-align: justify;
}
.main .service_contents .service_main .text p{
	padding: 30px 0 0 0;
	text-align: justify;
	line-height: 2em;
}
.main .service_contents .service_main .text .service_link {
	position: absolute;
	bottom: 0px;
	right: 0;
}
.main .service_contents .service_works {
	text-align: left;
}

.main .service_contents .service_works > p {
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 15px;
}

.main .service_contents .service_works .top_works_slide {
	display: flex;
	justify-content: space-between;
}

.main .service_contents .service_works .top_works_slide section {
	width: 268px;
	margin-right: 15px;
}

.main .service_contents .service_works .top_works_slide section:last-child {
	margin-right: 0;
}

.main .service_contents .service_works .top_works_slide section .image {
	width: 100%;
	height: 210px;
	overflow: hidden;
	background-color: #F1F1F1;
	position: relative;
}

.main .service_contents .service_works .top_works_slide section .image img {
	width: auto;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 212px;
	max-height: 151px;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate(-50%, -50%);
    transform: translate3d(-50%, -50%, 0);
}

.main .service_contents .service_works .top_works_slide section .item h3 {
	font-size: 16px;
	margin-top: 10px;
	margin-bottom: 5px;
}

.main .service_contents .service_works .top_works_slide section .item p {
	font-size: 14px;
}

.main .service_contents .service_works .service_works_link {
	text-align: center;
	margin-top: 82px;
}

.main .service_contents .service_works .service_works_link > a {
	display: inline-block;
}

/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main .service_contents{
		width: 97%;
		padding: 50px 30px;
		margin: 0 auto 68px;
	}
	.main .service_contents .service_main{
	}
	.main .service_contents .service_main .image{
		width: 46%;
		float: left;
	}
	.main .service_contents .service_main .text{
		width: 50%;
		float: right;

	}
	.main .service_contents .service_main .text h2{
		font-size: 18px;
		font-weight: bold;
	}
	.main .service_contents .service_main .text p{
		padding: 20px 0 0 0;
		text-align: justify;
	}

	.main .service_contents .service_main .text .service_link {
		bottom: -20%;
	}
}
/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.service_main_wrap section:last-child{
		margin-bottom: 0;
	}

	.main .service_contents {
		width: 95%;
		max-width: 500px;
		padding: 26px 15px 30px;
		margin-bottom: 33px;
	}

	.main .service_contents .service_main {
		display: block;
	}

	.main .service_contents .service_main .category_sp {
		display: block;
		font-size: 20px;
		font-weight: bold;
		width: 95%;
		margin: auto;
		padding-bottom: 17px;
	}

	.main .service_contents .service_main .image {
		float: none;
		width: 95%;
		margin: auto;
	}

	.main .service_contents .service_main .text{
		width: 95%;
		margin: 30px auto 108px;
		float: none;
		position: relative;
	}

	.main .service_contents .service_main .text .category {
		display: none;
	}

	.main .service_contents .service_main .text p {
		padding-top: 0;
	}

	.main .service_contents .service_main .text .service_link {
		position: absolute;
		bottom: -50px;
		right: 0;
	}

	.main .service_contents .service_works > p {
		font-size: 15px;
		padding-bottom: 6px;
	}

	.main .service_contents .service_works .top_works_slide .slick-prev {
		left: -5%;
	}

	.main .service_contents .service_works .top_works_slide .slick-next {
		right: -5%;
	}

	.main .service_contents .service_works .top_works_slide section {
		margin: auto;
	}

	.main .service_contents .service_works .top_works_slide section .image {
		height: 226px;
		overflow: hidden;
		background-color: #F1F1F1;
		position: relative;
	}

	.main .service_contents .service_works .top_works_slide section .image img {
		max-width: 100%;
		max-height: 90%;
	}

	.main .service_contents .service_works .service_works_link {
		margin-top: 46px;
	}
}

/* 事業内容 カテゴリーページ*/
.main .main_contents .text .top_service_list {
	background-color: #F8F8F8;
	margin-top: 51px;
	width: 100%;
	max-width: 316px;
	padding-left: 18px;
	padding-bottom: 26px;
}

.main .main_contents .contents_inner .top_service .text .top_service_list .top_service_list_title {
	padding-top: 25px;
	padding-bottom: 16px;
	font-size: 20px;
	font-weight: bold;
}

.main .main_contents .contents_inner .top_service .text .top_service_list ul li {
	font-size: 16px;
	padding-left: 1.3em;
	position: relative;
}

.main .main_contents .contents_inner .top_service .text .top_service_list ul li:after {
	position: absolute;
	content: "";
	top: 43%;
	left: 0;
	transform: translateY(-50%);
	background: no-repeat url('./images/b_cir@2x.png') center center / contain;
	width: 16px;
	height: 16px;
}

.main section .create_flow {
	max-width: 980px;
	margin: 30px auto 90px;
	background-color: #F8F8F8;
}

.main section .create_flow .create_flow_inner {
	max-width: 815px;
	margin: auto;
	padding-top: 39px;
	padding-bottom: 54px;
}

.main section .create_flow .create_flow_inner > h3 {
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 55px;
}

.main section .create_flow .create_flow_inner .create_flow_item {
	border-bottom: 1px solid #707070;
	padding-bottom: 37px;
}

.main section .create_flow .create_flow_inner .create_flow_item:nth-of-type(n + 2) {
	padding-top: 37px;
}

.main section .create_flow .create_flow_inner .create_flow_item:last-of-type {
	border-bottom: none;
	padding-bottom: 0px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 {
	max-width: 484px;
	float: left;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_title {
	font-size: 20px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_title span {
	display: inline-block;
	background-color: #333333;
	color: #fff;
	width: 32px;
	height: 32px;
	text-align: center;
	margin-right: 16px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_text {
	padding: 23px 0 18px 48px;
	line-height: 2em;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn {
	padding-left: 48px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a {
	width: 208px;
	height: 62px;
	line-height: 62px;
	background-color: #47BF22;
	color: #fff;
	font-size: 17px;
	text-align: center;
	position: relative;
	padding-left: 25px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a:first-child {
	float: left;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a:first-child:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	background: no-repeat url('./images/icon_tel_white@2x.png') center center / contain;
	width: 25px;
	height: 25px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a:last-child {
	float: right;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a:last-child:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
	background: no-repeat url('./images/icon_mail_white@2x.png') center center / contain;
	width: 25px;
	height: 25px;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_2 {
	float: right;
}

.main section .create_flow .create_flow_inner .create_flow_item .item_2 img {
	max-width: 275px;
	height: auto;
	width: 100%;
}

/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main section .create_flow {
		margin: 30px 10px 20px 10px;
	}

	.main section .create_flow .create_flow_inner {
		max-width: 90%;
		margin: auto;
		padding-top: 27px;
		padding-bottom: 38px;
	}

	.main section .create_flow .create_flow_inner > h3 {
		font-size: 20px;
		padding-bottom: 31px;
	}

	.main section .create_flow .create_flow_inner .create_flow_item {
		padding-bottom: 29px;
	}

	.main section .create_flow .create_flow_inner .create_flow_item:nth-of-type(n + 2) {
		padding-top: 26px;
	}

	.main section .create_flow .create_flow_inner .create_flow_item .item_1 {
		max-width: 100%;
		float: none;
	}

	.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_title {
		font-size: 18px;
		text-indent: -2em;
		padding-left: 2em;
	}

	.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_title span {
		width: 29px;
		height: 27px;
		margin-right: 8px;
		text-indent: 0em;
	}

	.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_text {
		padding: 25px 0 15px 37px;
	}

	.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn {
		padding-left: 38px;
		max-width: 500px;
	}

	.main section .create_flow .create_flow_inner .create_flow_item .item_2 {
		float: none;
		margin-top: 22px;
		text-align: center;
	}
}
/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.main .main_contents .text .top_service_list {
		margin-top: 30px;
		max-width: 100%;
		padding-bottom: 20px;
	}
	.main .main_contents .contents_inner .top_service .text .top_service_list .top_service_list_title {
		font-size: 18px;
	}
	.main .main_contents .contents_inner .top_service .text .top_service_list ul li {
		font-size: 15px;
	}
}
/* ===== 550px以下 ===== */
@media(max-width: 550px) {
	.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a:first-child {
		float: none;
	}
	.main section .create_flow .create_flow_inner .create_flow_item .item_1 .item_1_btn a:last-child {
		float: none;
		margin-top: 10px;
	}
	.main section .create_flow .create_flow_inner .create_flow_item .item_2 {
		text-align: right;
	}
	.main section .create_flow .create_flow_inner .create_flow_item .item_2 img{
		max-width: 263px;
	}
}

/* 制作実績 */
.main .main_contents .category_navigator{
	margin: 50px 0 0 0;
	padding: 50px 0;
	background-color: #F8F8F8;
}
.main .main_contents .category_navigator ul{
	width: 840px;
	margin: 0 auto;
}
.main .main_contents .category_navigator ul li{
	float: left;
	text-align: center;
	padding: 0 34px;
}
.main .main_contents .category_navigator ul li a{
}
.main .main_contents .category_navigator ul li a span{
	padding: 0 0 2px 0;
}
.main .main_contents .category_navigator ul li a span.active{
	border-bottom: 2px solid #333333;
}
.main .main_contents .works_list_contents {
	width: 980px;
	margin: 30px auto 0 auto;
}
.main .main_contents .works_list_contents ul {
	margin: 0 0 0 -10px;
}
.main .main_contents .works_list_contents ul li {
	float: left;
	margin: 60px 0 0 10px;
	text-align: left;
}
.main .main_contents .works_list_contents ul li .image{
	width: 316px;
	height: 232px;
	background-color: #F8F8F8;
	text-align: center;
	margin: 0 auto 10px auto;
	overflow: hidden;
	position: relative;
}
.main .main_contents .works_list_contents ul li .image img{
    position: absolute;
    left: 50%;
    top: 50%;
    width: auto;
    height: auto;
    max-width: 316px;
    max-height: 232px;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate(-50%, -50%);
    transform: translate3d(-50%, -50%, 0);
}

/* 制作実績 詳細 */

.main .main_contents .text h2 {
	font-size: 24px;
	font-weight: bold;
	margin: 57px auto 47px auto;
}

.main .main_contents img {
	max-width: 980px;
	margin-bottom: 40px;
}

.main .main_contents .text p {
	max-width: 980px;
	text-align: left;
	margin: 8px auto 30px;
}

.main .main_contents .text .br1 {
	border-bottom: 1px solid #999999;
	padding-bottom: 30px;
}


/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main .main_contents .category_navigator{
		margin: 30px 0 0 0;
		padding: 0 0;
		background-color: #F8F8F8;
	}
	.main .main_contents .category_navigator ul{
		width: 100%;
		margin: 0 auto;
		padding: 0 10px;
	}
	.main .main_contents .category_navigator ul li{
		width:50%;
		float: left;
		text-align: left;
		padding: 30px 0;
	}
	.main .main_contents .category_navigator ul li a{
		padding: 0 0 2px 0;
	}
	.main .main_contents .works_list_contents {
		width: 100%;
		margin: 20px auto 0 auto;
		padding: 0 10px;
	}
	.main .main_contents .works_list_contents ul {
		margin: 0 0 0 -1%;
	}
	.main .main_contents .works_list_contents ul li {
		width: 49%;
		margin-right: 0;
		padding: 0px 0%;
		text-align: left;
		margin: 30px 0 0 1%;
	}
	.main .main_contents .works_list_contents ul li .image{
		width: 100%;
		height: 40vw;
		object-fit: cover;
		background-color: #F8F8F8;
		text-align: center;
		margin: 0 auto 10px auto;
		overflow: hidden;
		position: relative;
	}
	.main .main_contents .works_list_contents ul li .image img{
		max-width: 100%;
		max-height: 40vw;
	}
	.main .main_contents .contents_inner .top_service .text .top_service_list ul li:after {
		top: 50%;
		height: 15px;
		width: 15px;
	}
}

/* ページネーション */
.pagination {
	margin: 40px 0 60px 0;
}
.pagination ul{
	text-align: center;
	width: 980px;
	margin: 0 auto;
	padding: 20px 0;
}

.pagination ul li{
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	border: 1px solid #333333;
	width: 50px;
	height: 50px;
	text-align: center;
	position: relative;
	float: none;
}

.pagination ul li a{
	padding: 10px 0;
	text-align: center;
	color: #333333;
	background: #FFF;
	font-size: 18px;
}

.pagination ul li a {
	vertical-align:middle;
	letter-spacing: normal;
}

.pagination ul li a:hover,
.pagination ul li a.active{
	color: #FFF;
	background: #333333;
}
.works_flow{
	background-color: #F8F8F8;
	padding: 40px 80px;
	max-width: 980px;
	margin: 140px auto 120px;
	text-align:left;
}
.works_flow h3{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}
.works_flow > ul > li{
	display: flex;
	border-bottom: 1px solid #707070;
	margin-top: 35px;
	padding-bottom: 35px;
}
.works_flow > ul > li:nth-child(6){
	border-bottom:none;
}
.works_flow ul li .works_flow_no{
	margin: 0 15px 0 0;
}
.works_flow ul li .works_flow_no p{
	color: #fff;
	background-color: #333;
	padding: 5px 13px;
	font-size: 19px;
	font-weight: bold;
}
.works_flow ul li .works_flow_text .works_flow_ttl{
	font-size: 20px;
	line-height: 38px;
	margin-bottom: 25px;
}
.works_flow_contact ul {
	display: flex;
	margin-top: 20px;
}
.works_flow_contact ul li .works_flow_contact_flex{
	display: flex;
	background-color: #47BF22;
	padding: 15px 32px;
	height: 62px;
	margin-right: 15px;
}
.works_flow_contact ul li .works_flow_contact_flex img{
	margin-top: 3px;
}
.works_flow_contact ul li .works_flow_contact_flex p{
	color: #fff;
	font-weight: bold;
	font-size: 17px;
	margin-left: 3px;
	line-height: 32px;
}
.works_flow ul li .works_flow_image{
	margin: 0 0 0 40px;
	display: block;
}

/* ===== 769px以上 ===== */
@media(min-width: 769px) {
	.works_flow ul li .works_flow_image_sp{
		display: none;
	}
}
/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.pagination ul{
		text-align: center;
		width: 100%;
		margin: 0 auto;
		padding: 10px 0;
	}

	.pagination ul li{
		width: 35px;
		height: 35px;
	}

	.pagination ul li a{
		padding: 6px 0;
		text-align: center;
		color: #333333;
		background: #FFF;
		font-size: 14px;
	}

	.pagination ul li a {
		vertical-align:middle;
		letter-spacing: normal;
	}

	.pagination ul li a:hover,
	.pagination ul li a.active{
		color: #FFF;
		background: #333333;
	}
	.works_flow {
    		padding: 40px 10px;
    		margin: 80px auto 60px;
	}
	.works_flow_contact ul{
    		display: block;
	}
	.works_flow_contact ul li .works_flow_contact_flex {
    		padding: 15px 32px;
    		width: 210px;
    		margin: 10px 0 0 0;
	}
	.works_flow ul li .works_flow_image{
		display: none;
	}
	.works_flow ul li .works_flow_image_sp{
		margin-top: 35px;
		width: 100%;
		display: block;
	}
	.works_flow ul li .works_flow_image_sp image{
		width: 100%;
	}
}
.main .main_contents .works_detail_contents {
	width: 980px;
	margin: 30px auto 0 auto;
}
.main .main_contents .works_detail_contents .title{
	font-size: 24px;
	font-weight: bold;
}
.main .main_contents .works_detail_contents .image{
	width: 980px;
	height: 720px;
	background-color: #F8F8F8;
	text-align: center;
	margin: 40px auto 10px auto;
	overflow: hidden;
	position: relative;
}
.main .main_contents .works_detail_contents .image img{
	position: absolute;
	left: 50%;
	top: 50%;
	width: auto;
	height: auto;
	max-width: 980px;
	max-height: 720px;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-moz-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate(-50%, -50%);
	transform: translate3d(-50%, -50%, 0);
}
.main .main_contents .works_detail_contents .text{
	margin: 40px 0 0 0;
}
.main .main_contents .works_detail_contents .text p{
	text-align: left;
}
.main .main_contents .works_detail_contents .pageing_box{
	margin: 60px 0 0 0;
}
.main .main_contents .works_detail_contents .pageing_box .back{
	float: left;
}
.main .main_contents .works_detail_contents .pageing_box .next{
	float: right;
}
.main .main_contents .works_detail_contents .pageing_box .back img,
.main .main_contents .works_detail_contents .pageing_box .next img{
	width: 100%;
}
.main .main_contents .works_detail_contents a.return_list{
	text-decoration: underline;
	margin: 60px 0;
}
/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main .main_contents .works_detail_contents {
		width: 100%;
		margin: 30px auto 0 auto;
		padding: 0 10px;
	}
	.main .main_contents .works_detail_contents .title{
		font-size: 28px;
		font-weight: bold;
	}
	.main .main_contents .works_detail_contents .image{
		width: 100%;
		height: 70vw;
		object-fit: cover;
		background-color: #F8F8F8;
		text-align: center;
		margin: 30px auto 10px auto;
		overflow: hidden;
		position: relative;
	}
	.main .main_contents .works_detail_contents .image img{
		max-width: 100%;
		max-height: 70vw;
	}
	.main .main_contents .works_detail_contents .text{
		margin: 30px 0 0 0;
	}

	.main .main_contents .works_detail_contents .pageing_box .back,
	.main .main_contents .works_detail_contents .pageing_box .next{
		width: 45%;
		max-width: 150px;
	}
	.main .main_contents .works_detail_contents a.return_list{
		text-decoration: underline;
		margin: 30px 0;
	}
}


/* お問い合わせ */
.main .main_contents .contact_title {
	font-size: 24px;
	font-weight: bold;
	text-align: left;
}

.main .main_contents .contact_top {
	max-width: 658px;
	margin: auto;
	padding-top: 80px;
}

.main .main_contents .contact_top > p {
	font-size: 16px;
	letter-spacing: -.01em;
}

.main .main_contents .contact_tel {
	padding-top: 77px;
	max-width: 648px;
	margin: auto;
	padding-top: 80px;
}

.main .main_contents .contact_tel .contact_tel_main {
	margin-top: 23px;
	border: 1px solid #707070;
	padding: 47px 21.5px 39px 22.5px;
}

.main .main_contents .contact_tel .contact_tel_main .contact_tel_main1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	border-bottom: 1px solid #A2A2A2;
}

.contact_tel_main1_num {
	font-size: 46px;
	font-weight: bold;
	font-family: Helvetica;
	padding-left: 50px;
	position: relative;
}

.contact_tel_main1_num:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	background: no-repeat url(../image/common/icon_tel_black@2x.png) center center / contain;
	width: 45px;
	height: 45px;
}

.contact_tel_main1_text {
	font-size: 15px;
}

.contact_tel_main2 {
	padding-top: 33.5px;
}

.contact_tel_main2 > p {
	font-size: 13px;
}

.main .main_contents .contact_form {
	max-width: 648px;
	margin: 90px auto 0;
	padding-bottom: 162px;
	width: 100%;
}

.contact_form .contact_form_top {
	padding-top: 30px;
	text-align: left;
}

.contact_form .contact_form_top p {
	font-size: 12px;
}

.contact_form .contact_form_top p a {
	display: inline-block;
	color: #47BF22;
	text-decoration: underline;
}

.main .main_contents .contact_form form {
	padding-top: 30px;
	text-align: left;
}

.contact_form_input_item {
	margin-bottom: 20px;
}

.contact_form_input_item .input_conf_text {
	padding-top: 15px;
	padding-bottom: 14px;
	display: none;
}

.contact_form_input_item:last-child {
	margin-bottom: 25px;
}

.contact_form_input_item label {
	display: block;
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 9px;
}

.contact_form_input_item label .mandatory  {
	color: #D90000;
}

.contact_form_input_item input,
.contact_form_input_item textarea {
	display: block;
	width: 100%;
	font-size: 15px;
	padding-left: 11px;
	background-color: #F8F8F8;
	border: none;
	padding-top: 13px;
	padding-bottom: 13.5px;
}

.contact_form_input_item input::placeholder{
	color: #A2A2A2;
}
.contact_form_input_item textarea::placeholder{
	color: #A2A2A2;
	font-weight: normal;
}

.contact_form_input_item_err,
.personal_information_checkbox_err {
	background-color: #FFF4F4 !important;
}

.personal_information .personal_information_wrap {
	border: 1px solid #A2A2A2;
	width: 100%;
	height: 236px;
	overflow-y: scroll;
	padding: 17px 20px 20px;
}

.personal_information_item {
	margin-bottom: 40px;
}

.personal_information_item:last-child {
	margin-bottom: 0px;
}

.personal_information_item .personal_information_title {
	font-size: 16px;
	margin-bottom: 17px;
	font-weight: bold;
}

.personal_information_item .personal_information_text {
	line-height: 2em;
}

.personal_information_checkbox {
	margin-top: 25px;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
}

.personal_information_checkbox input {
	width: 25px;
	height: 25px;
	display: none;
}

.personal_information_checkbox label {
	position: relative;
}

.personal_information_checkbox label::before {
	position: absolute;
	content: "";
	background-color: #fff;
	border: 1px solid #707070;
	width: 22px;
	height: 22px;
	top: 52%;
	left: -12%;
	transform: translateY(-50%);
}

.personal_information_checkbox .checked::after {
	position: absolute;
	content: "";
	background: #fff;
	top: 50%;
	left: -9.5%;
	width: 6px;
	height: 15px;
	border-bottom: 3px solid #707070;
	border-right: 3px solid #707070;
	transform: translateY(-50%) rotate(45deg);
}

.err-text {
	font-size: 13px;
	color: #D90000;
	text-align: center;
	padding-top: 10px;
	display: none;
}

.form_button_wrap {
	margin-top: 40px;
	text-align: center;
}

.form_button_wrap a,
.form_button_wrap input {
	background-color: #333;
	color: #fff;
	font-size: 20px;
	display: block;
	width: 233px;
	height: 48px;
	line-height: 48px;
	border: none;
	margin: auto;
}

#submit-button {
	display: none;
}

#return-button {
	background-color: #A2A2A2;
	margin-top: 20px;
	display: none;
}

.main .main_contents .contact_detail_top {
	padding-top: 80px;
	width: 100%;
	max-width: 664px;
	margin: auto;
	text-align: left;
}

.main .main_contents .contact_detail_top p {
	font-size: 24px;
	font-weight: bold;
}

.main .main_contents .contact_detail_text {
	padding-top: 20px;
	padding-bottom: 170px;
	width: 100%;
	max-width: 664px;
	margin: auto;
	text-align: left;
}

.main .main_contents .contact_detail_text {
	font-size: 15px;
}

.main .main_contents .contact_detail_totop {
	text-align: center;
}

.main .main_contents .contact_detail_totop a {
	display: inline-block;
	width: auto;
	max-width: 148px;
	margin-bottom: 175px;
}

/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main .main_contents .contact_title {
		font-size: 18px;
	}

	.main .main_contents .contact_top {
		max-width: 400px;
		width: 80%;
		margin: auto;
		padding-top: 46px;
	}

	.main .main_contents .contact_tel {
		padding-top: 35px;
		width: 90%;
		max-width: 450px;
		margin: auto;
	}

	.main .main_contents .contact_tel .contact_tel_main {
		padding: 40px 21.5px 27px 22.5px;
	}

	.main .main_contents .contact_tel .contact_tel_main .contact_tel_main1 {
		display: block;
	}

	.contact_tel_main1_num:before {
		left: 10%;
	}

	.contact_tel_main2  {
		text-align: left;
	}

	.main .main_contents .contact_form {
		margin-top: 60px;
		width: 90%;
		max-width: 450px;
		padding-bottom: 90px;
	}

	.personal_information_item .personal_information_text {
		font-size: 14px;
	}

	.personal_information_checkbox + .err-text {
		text-align: center;
	}

	.err-text {
		width: 100%;
		text-align: left;
	}

	.main .main_contents .contact_detail_top {
		padding-top: 33px;
		width: 90%;
		margin: auto;
	}

	.main .main_contents .contact_detail_text {
		padding-top: 33px;
		padding-bottom: 100px;
		width: 90%;
		max-width: 664px;
	}
}

/* ===== 550px以下 ===== */
@media(max-width: 550px) {
	.main .main_contents .contact_top {
		max-width: 268px;
	}

	.main .main_contents .contact_tel {
		max-width: 334px;
	}

	.contact_tel_main1_num {
		font-size: 35px;
		padding-left: 30px;
	}

	.contact_tel_main1_num:before {
		left: 0%;
		width: 38px;
		height: 38px;
	}

	.contact_tel_main2 {
		padding-top: 19.5px;
	}

	.personal_information_checkbox {
		text-align: left;
	}

	.personal_information_checkbox label {

		width: 90%;
		max-width: 334px;
		padding-left: 10%;
		display: block;
		margin: auto;
	}

	.personal_information_checkbox label::before {
		left: 0%;
	}

	.personal_information_checkbox .checked::after {
		left: 2.5%;
	}

	.personal_information_checkbox_err {
		padding-bottom: 10px;
	}

	.main .main_contents .contact_detail_top p {
		font-size: 18px;
	}
}

/* ===== 330px以下 ===== */
@media(max-width: 330px) {
	.contact_tel_main1_num {
		padding-left: 25px;
	}

	.contact_tel_main1_num:before {
		left: -2%;
		width: 35px;
		height: 35px;
	}

	.contact_tel_main1_text {
		font-size: 14px;
	}
}

/* 会社概要  */
.main section .main_contents .company_table_inner {
	width: 700px;
	margin: 78px auto 142px;
}

.company_table {
	border-collapse: separate;
    border-spacing: 16px 0px;
}

.company_table tr th,
.company_table tr td {
	padding-top: 34px;
	padding-bottom: 34px;
	border-top: 1px solid #A2A2A2;
	text-align: left;
}

.company_table tr:first-child th,
.company_table tr:first-child td {
	vertical-align: baseline;
}

.company_table tr:last-child th,
.company_table tr:last-child td {
	border-bottom: 1px solid #A2A2A2;
}

.company_table tr th {
	width: 150px;
}

.company_table tr td {
	width: 482px;
}

.company_table tr th p,
.company_table tr td p {
	font-size: 15px;
}

.company_table tr td p:nth-child(2n){
	color: #A2A2A2;
}


.company_table tr th p {
	font-weight: bold;
}

/* ===== 768px以下 ===== */
@media(max-width: 768px) {
	.main section .main_contents .company_table_inner {
		width: 100%;
	}
}

/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.main section .main_contents .company_table_inner {
		margin-top: 55px;
		margin-bottom: 54px;
	}

	.company_table {
		border-spacing: 8px 0px;
	}
}

/* アクセス  */
.main section .main_contents .contents_inner .iframe_wrap {
	margin-top: 83px;
	position: relative;
	width: 100%;
	padding-top: 57.8%; /* = height ÷ width × 100 */
}

.main section .main_contents .contents_inner .iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.main section .main_contents .contents_inner .top_googlemap {
	margin-top: 10px;
	margin-bottom: 158px;
	font-size: 12px;
	text-align: left;
	text-decoration: underline;
}

/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.main section .main_contents .contents_inner .iframe_wrap {
		margin-top: 36px;
	}

	.main section .main_contents .contents_inner a {
		margin-bottom: 75px;
	}
}

/* 採用情報 */
.recruit_top_text {
	margin-top: 80px;
}

.recruit_table {
	width: 685px;
	margin: auto;
	border-collapse: separate;
    border-spacing: 16px 0px;
}

.recruit_table tr th,
.recruit_table tr td {
	padding-top: 34px;
	padding-bottom: 34px;
	border-bottom: 1px solid #A2A2A2;
	text-align: left;
	vertical-align: baseline;
}

.recruit_table tr:first-child th,
.recruit_table tr:first-child td {
	border-top: 1px solid #A2A2A2;
}

.recruit_kind .table_title,
.recruit_treatment .table_title {
	font-size: 24px;
	text-align: left;
	font-weight: bold;
	width: 648px;
	margin: auto;
}

.recruit_table tr th p {
	font-weight: bold;
}

.recruit_kind:first-of-type {
	margin-top: 80px;
	margin-bottom: 69px;
}

.recruit_kind:nth-of-type(n + 2) {
	margin-bottom: 80px;
}

.recruit_kind .table_title {
	padding-bottom: 42px;
}

.recruit_treatment {
	background-color: #F8F8F8;
	padding-top: 62px;
	padding-bottom: 75px;
	margin-top: 66px;
}

.recruit_treatment:last-of-type {
	padding-bottom: 66px;
	margin-bottom: 90px;
}

.recruit_treatment .recruit_table tr th,
.recruit_treatment .recruit_table tr td {
	border-top: none;
	padding-top: 49px;
	padding-bottom: 49px;
}

/* ===== 767px以下 ===== */
@media(max-width: 767px) {
	.recruit_inner {
		padding: 0 !important;
	}

	.recruit_table {
		width: 100%;
	}

	.recruit_kind .table_title,
	.recruit_treatment .table_title {
		width: 100%;
		padding-left: 16px;
	}
}

/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.recruit_top_text {
		margin: 46px auto 0;
		width: 80%;
	}

	.recruit_kind .table_title,
	.recruit_treatment .table_title {
		padding-left: 8px;
		font-size: 18px;
		padding-bottom: 27px;
	}

	.recruit_table {
		border-spacing: 8px 0px;
	}

	.recruit_table tr th {
		min-width: 70px;
	}

	.recruit_kind:first-of-type {
		margin-top: 41px;
		margin-bottom: 89px;
	}

	.recruit_treatment {
		padding-top: 39px;
		padding-bottom: 42px;
		margin-top: 39px;
	}

	.recruit_treatment:last-of-type {
		margin-top: 30px;
		margin-bottom: 50px;
	}

	.recruit_treatment .recruit_table tr th,
	.recruit_treatment .recruit_table tr td {
		padding-top: 30px;
		padding-bottom: 35px;
	}

	.recruit_treatment .recruit_table tr:first-child th,
	.recruit_treatment .recruit_table tr:first-child td {
		border-top: 1px solid #A2A2A2;
	}
}

/* お知らせ */
.information_main {
	margin-bottom: 102px;
}
.information_main .main_contents .contents_inner .information_list  {
	width:  656px;
	margin: 0 auto 0 auto;
}
.information_main .main_contents .contents_inner .information_list .information_box{
	text-align: left;
	margin: 47px 0 0 0;
}
.information_main .main_contents .contents_inner .information_list .information_box:first-child {
	margin: 60px 0 0 0;
}
.information_main .main_contents .contents_inner .information_list .information_box:last-child {
	margin-bottom: 72px;
}
.information_main .main_contents .contents_inner .information_list .information_box .date{
	width: 100px;
	font-size: 14px;
	font-weight: bold;
	float: left;
}
.information_main .main_contents .contents_inner .information_list .information_box .title{
	width: 546px;
	font-size: 14px;
	float: left;
}
.information_main .main_contents .contents_inner .information_list .information_box .title p{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ===== 767px以下 ===== */
@media(max-width: 767px) {
	.information_main .main_contents .contents_inner .information_list {
		width:  100%;
	}
	.information_main .main_contents .contents_inner .information_list .information_box{
		text-align: left;
		margin: 22px 0 0 0;
	}
	.information_main .main_contents .contents_inner .information_list .information_box:first-child {
		margin: 42px 0 0 0;
	}
	.information_main .main_contents .contents_inner .information_list .information_box:last-child {
		margin-bottom: 56px;
	}
	.information_main .main_contents .contents_inner .information_list .information_box .date{
		width: 100%;
		font-size: 14px;
		font-weight: bold;
		float: none;
	}
	.information_main .main_contents .contents_inner .information_list .information_box .title{
		width: 100%;
		font-size: 14px;
		float: none;
		display: block;
		overflow: hidden;
	}
	.information_main .main_contents .contents_inner .information_list .information_box .title p{
		overflow: hidden;
		text-overflow: unset;
		white-space: normal;
		max-height: 42px;
	}
	/* fallback for IE */
	@supports (-webkit-line-clamp: 2) {
		.information_main .main_contents .contents_inner .information_list .information_box .title p{
			display: -webkit-box;
			overflow: hidden;
			-webkit-line-clamp: 2;
			-webkit-box-orient: vertical;
		}
	}
}

/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.information_main {
		margin-bottom: 60px;
	}

	.information_main .main_contents .contents_inner .information_list{
		text-align: center;
	}
}

/* お知らせ 詳細 */
.main .main_contents .contents_inner .information_detail {
	margin-top: 66px;
	text-align: left;
}
.main .main_contents .contents_inner .information_detail .date {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 19px;
}
.main .main_contents .contents_inner .information_detail .title {
	font-size: 18px;
	line-height: 1.8em;
	padding-bottom: 15px;
	border-bottom: 1px solid #707070;
}
.main .main_contents .contents_inner .information_detail .main_text {
	padding-top: 38px;
}
.main .main_contents .contents_inner .information_detail .main_text p {
	margin-bottom: 32px;
	line-height: 2em;
}
.main .main_contents .contents_inner .information_detail .main_text p:last-child {
	margin-bottom: 0;
}
.main .main_contents .contents_inner .information_detail .information_btn {
	margin-top: 66px;
	margin-bottom: 159px;
	text-align: center;
}

/* ===== 650px以下 ===== */
@media(max-width: 650px) {
	.main .main_contents .contents_inner .information_detail {
		margin-top: 42px;
	}
	.main .main_contents .contents_inner .information_detail .information_btn {
		margin-top: 42px;
		margin-bottom: 108px;
	}
}
