@charset "utf-8";
/************************************************************************************************************************************
	トップページ
************************************************************************************************************************************/
#index {
}

#index .inner_box {
	max-width: 900px;
	width: 100%;
	padding: 0;
	margin: 0 auto;
}
@media screen and (max-width: 1400px) {
	#index .inner_box {
		box-sizing: border-box;
		max-width: 920px;
		padding: 0 10px;
	}
}

@media screen and (max-width: 767px) {
	#index .inner_box {
		padding: 0 3.125%;	/* 20/640*100 */
	}
}


/** #top_page_title *****************************************************************/
#index #top_main_visual {
	position: relative;
	width: 100%;
}
#index #top_main_visual p {
}

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

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

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




/** #section_01 *****************************************************************/
#index #section_01 {
	padding: 32px 0 100px;
}

#index #section_01 .banner_area {
}
#index #section_01 .banner_area .type_01 {
	width: 48.333333333333333333333333333333%;	/* 435/900*100 */
	max-width: 435px;
}
#index #section_01 .banner_area .type_02 {
	width: 100%;	/* 900900*100 */
	max-width: 900px;
}
#index #section_01 .banner_area .type_03 {
	width: 31.111111111111111111111111111111%;	/* 280/900*100 */
	max-width: 280px;
}
#index #section_01 .banner_area .line_01, 
#index #section_01 .banner_area .line_02, 
#index #section_01 .banner_area .line_03 {
	margin-bottom: 30px;
}

#index #section_01 .banner_area li {
	position: relative;
	box-shadow: 0px 0px 8px 0px rgba(0,0,0, 0.4);
}
#index #section_01 .banner_area li::after {
	content: " ";
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	right: 0;
	width: 96.444444444444444444444444444444%;	/* 868/900*100 */
	padding-bottom: 5.6666666666666666666666666666667%;	/* 51/900*100 */
	margin: 0 auto -2.5555555555555555555555555555556%;	/* 23/900*100 */
	background-image: url('../img/shadow.png');
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.65;
}
#index #section_01 .banner_area li.line_04::after {
	margin: 0 auto -2.2222222222222222222222222222222%;	/* 20/900*100 */
	opacity: 0.4;
}
#index #section_01 .banner_area a {
	position: relative;
	z-index: 2;
	display: block;
}

#index #section_01 .banner_area a:hover::before {
	content: " ";
	position: absolute;
	z-index: 4;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255, 0.3);
}


@media screen and (max-width: 767px) {
	#index #section_01 .banner_area a:hover::before {
	content: " ";
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255, 0.3);
}
}

#index #section_01 .banner_area img {
	position: relative;
	z-index: 3;
}


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

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

@media screen and (max-width: 767px) {
	#index #section_01 .banner_area .type_01 {
		width: 100%;	/* 900900*100 */
		max-width: 435px;
	}
	#index #section_01 .banner_area .type_02 {
		width: 100%;	/* 900900*100 */
		max-width: 435px;
	}
	#index #section_01 .banner_area .type_03 {
		width: 100%;	/* 900900*100 */
		max-width: 435px;
	}
	#index #section_01 .banner_area .type_02 {
		width: 100%;
	}
}




/************************************************************************************************************************************
	お問い合わせ
************************************************************************************************************************************/
#contact {
}

/** .contact *****************************************************************/
#contact.contact {
}

#contact.contact .text {
	font-size: 87.5%;	/* 14/16*100 */
	margin: 0 auto 2.2222222222222222222222222222222%;	/* 20/900*100 */
}
#contact.contact .required {
	color: #FF0000;
}


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

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

@media screen and (max-width: 767px) {
	#contact.contact .text {
		font-size: 87.5%;	/* 14/16*100 */
		margin-bottom: 3.3333333333333333333333333333333%;	/* 20/600*100 */
	}
}




/************************************************************************************************************************************
	会社案内
************************************************************************************************************************************/
#company {
}

/** .company *****************************************************************/
#company.company {
}

#company.company #greeting .common_box {
	padding-bottom: 245px;
	background-image: url('../img/company/company_bg.jpg');
	background-size: 100% auto;
	background-position: center bottom;
	background-repeat: no-repeat;
}

#company.company .pc_flex {
	margin-top: 38px;
}

#company.company .flex_left {
	width: calc(100% - 555px);
}
#company.company .flex_left p {
	max-width: 258px;
	margin-bottom: 29px;
}
#company.company .flex_left p:first-child {
	margin-top: 40px;
}

#company.company .flex_right {
	width: 520px;
}

#company.company #president {
	width: 162px;
	margin-left: auto;
}

#company.company p.common {
	font-size: 100%;
	line-height: 1.87;
}


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

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

@media screen and (max-width: 767px) {
	#company.company #greeting .common_box {
		padding-bottom: 27.222222222222222222222222222222%;	/* 245/900*100 */
	}
	#company.company .pc_flex {
		display: block;
		margin-top: 25px;
	}

	#company.company .flex_left {
		width: 100%;
		margin-bottom: 5px;
	}
	#company.company .flex_left p {
		width: 48%;
		margin-bottom: 20px;
	}
	#company.company .flex_left p:first-child {
		margin-top: 0px;
	}

	#company.company .flex_right {
		width: 100%;
		font-size: 87.5%;	/* 14/16*100 */
	}
}




/** .overview *****************************************************************/
#company.overview {
}

#company.overview .main_client {
}
#company.overview .main_client th {
	padding-top: 37px;
}

#company.overview .main_client .list {
	letter-spacing: -0.4em;
}
#company.overview .main_client .list ul {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	width: 50%;
}

#company.overview .main_client .list ul:last-child li:last-child {
	margin-top: 2em;
	margin-bottom: 0.5em;
}


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

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

@media screen and (max-width: 767px) {
	#company.overview .main_client th {
		padding-top: 1em;
	}
	#company.overview .main_client .list ul {
		display: inline-block;
		letter-spacing: normal;
		vertical-align: top;
		width: 100%;
	}
}




/** .access *****************************************************************/
#company.access {
}


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

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

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




/************************************************************************************************************************************
	事業案内
************************************************************************************************************************************/
#business {
}

/** .business *****************************************************************/
#business.business {
}


#business.business #service {
}

#business.business #service p.common {
	padding-left: 2px;
	margin-bottom: 2.3255813953488372093023255813953%;	/* 20/860*100 */
}

#business.business #service .before_after {
	box-sizing: border-box;
	margin-bottom: 20px;
	background-color: #eeeeee;
	background-image: url('../img/common_bg_01.png');
	background-size: 4px 4px;
	background-position: center;
	background-repeat: repeat;
	border: solid 2px #cccccc;
}

#business.business #service .before_after.large {
	width: 100%;
	padding: 18px;
}
#business.business #service .before_after.small {
	width: 65.903614457831325301204819277108%;	/* 547/830*100 */
	padding: 8px;
}

#business.business #service .before_after.large .before {
	position: relative;
	max-width: 380px;
	width: 48.101265822784810126582278481013%;	/* 380/790*100 */
}
#business.business #service .before_after.large .after {
	position: relative;
	max-width: 380px;
	width: 48.101265822784810126582278481013%;	/* 380/790*100 */
}
#business.business #service .before_after.large .arrow {
	position: relative;
	max-width: 34px;
	width: 4.303797468354430379746835443038%;	/* 34/790*100 */
	margin-left: -1.7721518987341772151898734177215%;	/* 14/790*100 */
	margin-right: 1.2658227848101265822784810126582%;	/* 10/790*100 */
}
#business.business #service .before_after.large .text {
	position: absolute;
	bottom: -10px;
	right: 10px;
	display: block;
	color: #FFF;
	font-size: 125%;	/* 20/16*100 */
	font-weight: bold;
	text-align: center;
	line-height: 42px;
	letter-spacing: 2px;
	width: 110px;
	height: 42px;
	background: #70c9fe;
	background: -o-linear-gradient(-45deg, #70c9fe 0%, #4baffe 100%);
	background: -ms-linear-gradient(-45deg, #70c9fe 0%, #4baffe 100%);
	background: -moz-linear-gradient(-45deg, #70c9fe 0%, #4baffe 100%);
	background: -webkit-linear-gradient(-45deg, #70c9fe 0%,#4baffe 100%);
	background: linear-gradient(135deg, #70c9fe 0%,#4baffe 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#70c9fe', endColorstr='#4baffe',GradientType=1 );
}

#business.business #service .before_after.small .before {
	position: relative;
	max-width: 244px;
	width: 46.299810246679316888045540796964%;	/* 244/527*100 */
}
#business.business #service .before_after.small .after {
	position: relative;
	max-width: 244px;
	width: 46.299810246679316888045540796964%;	/* 244/527*100 */
}
#business.business #service .before_after.small .arrow {
	max-width: 25px;
	width: 4.7438330170777988614800759013283%;	/* 25/527*100 */
}
#business.business #service .before_after.small .text {
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	color: #FFF;
	font-size: 93.75%;	/* 15/16*100 */
	font-weight: bold;
	text-align: center;
	line-height: 32px;
	letter-spacing: 2px;
	width: 85px;
	height: 32px;
	background: #70c9fe;
	background: -o-linear-gradient(-45deg, #70c9fe 0%, #4baffe 100%);
	background: -ms-linear-gradient(-45deg, #70c9fe 0%, #4baffe 100%);
	background: -moz-linear-gradient(-45deg, #70c9fe 0%, #4baffe 100%);
	background: -webkit-linear-gradient(-45deg, #70c9fe 0%,#4baffe 100%);
	background: linear-gradient(135deg, #70c9fe 0%,#4baffe 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#70c9fe', endColorstr='#4baffe',GradientType=1 );
}

#business.business #service .image_list .item {
	margin-bottom: 20px;
}
#business.business #service .image_list.column_02 .item {
	max-width: 405px;
	width: 48.795180722891566265060240963855%;	/* 405/830*100 */
}
#business.business #service .image_list.column_03 .item {
	max-width: 264px;
	width: 31.807228915662650602409638554217%;	/* 264/830*100 */
}


#business.business #product {
}
#business.business #product .inner_table table {
	width: 100%;
}
#business.business #product .inner_table tr:not(:last-child) th, 
#business.business #product .inner_table tr:not(:last-child) td {
	padding-bottom: 11px;
}
#business.business #product .inner_table th {
	width: 72.610294117647058823529411764706%;	/* 395/544*100 */
}
#business.business #product .inner_table td {
}


@media screen and (min-width: 768px) {
	#business.business .inner_box {
		padding: 0 38px 0 30px;
	}
}

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

@media screen and (max-width: 767px) {
	#business.business #service p.common {
		margin-bottom: 3.3333333333333333333333333333333%;	/* 20/600*100 */
	}

	#business.business #service .before_after {
		display: block;
	}
	#business.business #service .before_after.small {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#business.business #service .before_after.large .before {
		max-width: 405px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#business.business #service .before_after.large .after {
		max-width: 405px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#business.business #service .before_after.large .arrow {
		width: 100%;
		margin: 10px auto;
		transform: rotate(90deg);
	}

	#business.business #service .before_after.small .before {
		max-width: 405px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#business.business #service .before_after.small .after {
		max-width: 405px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#business.business #service .before_after.small .arrow {
/*		max-width: 34px;*/
		width: 100%;
		margin: 5px auto;
		transform: rotate(90deg);
	}

	#business.business #service .image_list {
		display: block;
	}
	#business.business #service .image_list.column_02 .item {
		max-width: 405px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#business.business #service .image_list.column_03 .item {
		max-width: 405px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}


	#business.business #product .inner_table table ,
	#business.business #product .inner_table tbody ,
	#business.business #product .inner_table tr ,
	#business.business #product .inner_table th ,
	#business.business #product .inner_table td {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
	#business.business #product .inner_table tr:not(:last-child) th {
		font-weight: 600;
		font-size: 92.857142857142857142857142857143%;	/* 13/14*100 */
		padding-bottom: 7px;
	}
	#business.business #product .inner_table tr:last-child th {
		font-weight: 600;
	}
	#business.business #product .inner_table tr:not(:last-child) td {
		font-size: 92.857142857142857142857142857143%;	/* 13/14*100 */
		text-align: right;
		padding-bottom: 19px;
	}
}




/************************************************************************************************************************************
	採用情報
************************************************************************************************************************************/
#recruit {
}

/** .recruit *****************************************************************/
#recruit.recruit {
}

#recruit.recruit p.common {
	text-align: center;
	margin-bottom: 0;
}
#recruit.recruit .contact_btn {
	width: 228px;
	margin: 0 auto;
	box-shadow: 0px 0px 8px 1px rgba(0,0,0, 0.2);
}


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

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

@media screen and (max-width: 767px) {
	#recruit.recruit p.common {
		text-align: left;
	}
}




/************************************************************************************************************************************
	個人情報保護方針
************************************************************************************************************************************/
#privacy {
}

/** .privacy *****************************************************************/
#privacy.privacy {
}


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

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

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




/************************************************************************************************************************************
	サイトマップ
************************************************************************************************************************************/
#sitemap {
}

/** .sitemap *****************************************************************/
#sitemap.sitemap {
	margin-bottom: 100px;
}

#sitemap.sitemap .list {
	margin-top: -15px;
}

#sitemap.sitemap ul.parent {
	float: left;
	width: 48%;
}
#sitemap.sitemap ul.parent:last-child {
	float: right;
}

#sitemap.sitemap ul.parent>li {
	padding: 15px 0;
	border-bottom: solid 2px #CCC;
}
#sitemap.sitemap ul.parent>li.parent_item {
	border-bottom: solid 1px #CCC;
}
#sitemap.sitemap ul.parent>li>a {
	position: relative;
	font-weight: bold;
	padding: 0.25em 27px;
}
#sitemap.sitemap ul.parent>li>a::before {
	content: " ";
	position: absolute;
	top: 10px;
	left: 11px;
	box-sizing: border-box;
	display: block;
	width: 0;
	height: 0px;
	border-top: 4px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 6px solid #61c0fe;
}
#sitemap.sitemap ul.parent>li .child li {
	padding: 15px 0;
	padding-left: 30px;
	border-top: solid 1px #CCC;
}
#sitemap.sitemap ul.parent>li .child li:first-child {
	margin-top: 15px;
	border-top: solid 2px #CCC;
}
#sitemap.sitemap ul.parent>li .child li:last-child {
	padding-bottom: 0;
}
#sitemap.sitemap ul.parent>li .child li a {
	position: relative;
	font-weight: bold;
	padding: 0.25em 17px;
}
#sitemap.sitemap ul.parent>li .child li a::before {
	content: " ";
	position: absolute;
	top: 13px;
	left: 0;
	box-sizing: border-box;
	display: block;
	width: 10px;
	height: 2px;
	background-color: #61c0fe;
}


#sitemap.sitemap ul.parent li a:hover {
	color: inherit;
	opacity: 0.6;
}


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

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

@media screen and (max-width: 767px) {
	#sitemap.sitemap {
		margin-bottom: 6.25%;	/* 40/640*100 */
	}

	#sitemap.sitemap .list {
		margin-top: 0;
	}

	#sitemap.sitemap ul.parent, 
	#sitemap.sitemap ul.parent:last-child {
		float: none;
		width: 100%;
	}

}




