@charset "UTF-8";

header#main_header {
	width: 100%;
	max-width: 2000px;
	position: relative;
	text-align: center;
	padding: 25px 3%;
	margin: auto;
	z-index: 9999;
}
header#main_header:after {
	display: block;
	content: "";
	clear: both;
}
header#main_header .logo {
	float: left;
	width: 13%;
}
header#main_header .logo img {
	width: 100%;
	height: auto;
	vertical-align: text-top;
}
header#main_header .logo a img {
	opacity: 1;
}
header#main_header nav {
	position: absolute;
	width: 80%;
	left: 0;
	right: 0;
	bottom: 25px;
	margin: auto;
	font-size: 0.5rem;
}
header#main_header nav ul {
	width: 100%;
}
header#main_header nav ul li {
	display: inline-block;
	margin: 0 2.4%;
	font-size: calc(4px + 0.9vw);
}
header#main_header nav ul li a {
	color: #555;
	text-decoration: none;
	padding: 5px 2px;
}
header#main_header nav ul li a:hover {
	color: #EC3469;
}
header#main_header .contact {
	position: absolute;
	width: 17%;
	right: 3%;
	bottom: 25px;
}
header#main_header .contact ul {
	float: right;
	margin: 0 0 8px 0;
	width: 100%;
}
header#main_header .contact ul li {
	float: right;
	margin-left: 5%;
	width: 11%;
}
header#main_header .contact ul li img {
	width: 100%;
}
header#main_header .contact .tel, header#main_header .contact .mail {
	width: 100%;
	float: right;
	text-align: right;
	font-style: normal;
}
header#main_header .contact .tel a, header#main_header .contact .mail a {
	text-decoration: none;
	color: #555;
}
header#main_header .contact .tel {
	font-size: calc(7px + 0.75vw);
	margin: 0 0 3px 0;
}
header#main_header .contact .mail {
	font-size: calc(4px + 0.75vw);
}


/* ページヘッダー */
main {
	width: 100%;
	max-width: 2000px;
	text-align: center;
	padding: 0;
	margin: auto;
	background-color: #EEE;
	display: block;
}
main:after {
	content: "";
	display: block;
	clear: both;
}
main h1 {
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
	background-repeat: no-repeat;
	text-align: center;
	width: 100%;
	padding: 80px calc(10% - 1.5rem) 80px 10%;
	font-size: 3rem;
	color: #333;
	text-shadow:0px 0px 3px #ffffff,0px 0px 3px #ffffff,0px 0px 3px #ffffff,0px 0px 5px #ffffff,0px 0px 8px #ffffff;
	letter-spacing: 1.5rem;
}
main nav {
	width: 100%;
	background-color: #666;
	color: #FFF;
	text-align: center;
	padding: 5px;
	font-size: 1.8rem;
}
main nav ul li {
	display: inline-block;
	padding: 0 20px;
}
main nav ul li a {
	display: block;
	color: #BBB;
	text-decoration: none;
	position: relative;
	padding: 10px 10px 10px 20px;
	vertical-align: middle;
}
main nav ul li a.active {
	color: #FFF;
}
main nav ul li a::before,
main nav ul li a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
main nav ul li a::before{
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	border: 1px solid #CCC;
	-webkit-border-radius: 25%;
	border-radius: 25%;
}
main nav ul li a::after{
	left: 5px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #CCC;
}
h1.information_title {
	background-image: url(../../information/images/main_information.jpg);
}
h1.company_title {
	background-image: url(../../company/images/main_company.jpg);
}
h1.services_title {
	background-image: url(../../services/images/main_services.jpg);
}
h1.products_title {
	background-image: url(../../products/images/main_products.jpg);
}
h1.recruit_title {
	background-image: url(../../recruit/images/main_recruit.jpg);
}
h1.access_title {
	background-image: url(../../access/images/main_access.jpg);
}
h1.privacypolicy_title {
	background-image: url(../../privacypolicy/images/main_privacypolicy.jpg);
}
/* ページヘッダー END */

/* MAIN */
main h2 {
	text-align: center;
	margin: 80px auto;
	padding: 5px;
	font-size: 2.8rem;
	border-bottom: 1px solid #666;
	display: inline-block;
	letter-spacing: 0.5rem;
}
main article {
	margin-bottom: 80px;
	line-height: 2;
	font-size: 1.8rem;
}
main h3 {
	text-align: center;
	margin: 40px auto 40px auto;
	font-size: 2.6rem;
	display: inline-block;
}
/* MAIN END */

/* フッター */
footer {
	position: relative;
	text-align: center;
	width: 100%;
	max-width: 2000px;
	background-color: #DDD;
	margin: auto;
}
footer nav {
	float: left;
	width: 35%;
	text-align: left;
	margin: 80px 0 60px 5%;
}
footer nav li {
	display: inline-block;
	white-space: nowrap;
	margin: 5px 40px 5px 0;
}
footer nav li a {
	color: #999;
	text-decoration: none;
	font-size: 1.5rem;
}
footer img {
	float: left;
	width: 10%;
	margin: 60px 5% 60px 5%;
}
footer .footer_address {
	float: right;
	width: 35%;
	text-align: right;
	margin: 80px 5% 60px 0;
}
footer address {
	text-align: left;
	float: right;
	font-style: normal;
	font-size: 1.5rem;
	line-height: 1.7;
	color: #999;
}
footer p.copyrights {
	clear: both;
	width: 100%;
	text-align: center;
	font-size: 1.2rem;
	background-color: #666;
	color: #CCC;
	padding: 20px;
}
/* フッター END */

/* 共通 */
/* 共通 END */


/* SMP setting */
@media screen and (max-width: 980px) {
	.smp {
		display: block!important;
	}
	header#main_header .logo.smp {
		width: 70%;
	}
	header#main_header {
		padding: 25px 0% 25px 5%;
	}
	main nav ul li {
		padding: 0;
	}
	main nav ul li a {
		font-size: 1.7rem;
	}
	main h3 {
		width: auto;
		margin: 30px 10%;
		display: block;
	}
	footer img {
		width: 50%;
		float: none;
		margin: 30px 10%;
	}
	footer nav {
		display: none;
	}
	footer .footer_address {
		float: none;
		text-align: center;
		width: 80%;
		margin: 0 10% 30px 10%;
	}
	footer address {
		float: none;
		text-align: center;
	}
	footer p.copyrights span {
		display: block;
	}
	header#main_header .contact {
		position: static!important;
		width: 100%!important;
		margin: 0 0 30px 0;
	}
	header#main_header .contact ul {
		float: none!important;
	}
	header#main_header .contact ul li {
		float: none!important;
		display: inline-block;
		margin: 0!important;
		width: 20%!important;
	}
	header#main_header .contact .tel, header#main_header .contact .mail {
		float: none!important;
		display: block;
		text-align: center!important;
	}
	header#main_header .contact .tel {
		font-size: 2rem!important;
	}
	header#main_header .contact .mail {
		font-size: 1.5rem!important;
	}
}
/* SMP setting END */

/* Information */
#box_info {
	margin: 0;
	padding: 0 5% 50px 5%;
}
#box_info:after {
	display: block;
	content: "";
	clear: both;
}
#information {
	margin: 0;
	padding: 0;
	float: left;
	width: 75%;
}
#information article {
	margin: 0 0 30px 0;
	padding: 40px 5% 30px 5%;
	background-color: #FFF;
}
#information h2 {
	margin: 0 0 10px 0;
	padding: 0;
	line-height: 1.5em;
	text-align: left;
	width: 100%;
}
#information .entry-meta {
	margin: 0 0 30px 0;
	padding: 0;
	font-size: 1.3rem;
	text-align: right;
	width: 100%;
}
#information h3 small {
	margin: 10px 0 0 0;
	padding: 0;
	display: block;
}
#information p {
	margin: 0 0 30px 0;
	padding: 0;
	text-align: left;
}
#information p img {
	margin: auto;
}
#information .entry-content ul {
	text-align: left;
	list-style: circle;
	margin: 0 0 2em 2em;
}
#secondary {
	float: right;
	width: 23%;
	padding: 3em 3% 0 3%;
	background-color: #FAFAFA;
}
#secondary h2 {
	font-size: 1.8rem;
	text-align: left;
	width: 100%;
	letter-spacing: 0;
	margin: 0 0 15px 0;
	padding: 0 0 5px 0;
}
#secondary ul {
	margin: 0 0 3em 1.5em;
	padding: 0;
	text-align: left;
	list-style: circle;
	font-size: 1.4rem;
}
#secondary li {
	margin: 0 0 .5em 0;
	padding: 0;
}
#secondary .widget_search {
	margin: 0 0 3em 0;
}
#secondary .widget_search:after {
	display: block;
	content: "";
	clear: both;
}
#secondary .widget_search input[type=search] {
	width: 70%;
	float: left;
	font-size: 1.4rem;
	height: 3rem;
}
#secondary .widget_search input[type=submit] {
	width: 28%;
	float: right;
	font-size: 1.3rem;
	height: 3rem;
}
@media screen and (max-width: 980px) {
	#information {
		margin: 0;
		padding: 0;
		float: none;
		width: 100%;
	}
	#secondary {
		float: none;
		width: 100%;
		padding: 3em 5% .5em 5%;
	}
}
/* Information END */

/* company */
/* policy */
.box_policy {
	background-color: #DDD;
	padding: 40px 3%;
}
.box_policy:after {
	display: block;
	content: "";
	clear: both;
}
.box_policy div.text {
	float: right;
	width: 48%;
}
.box_policy div.image {
	float: left;
	width: 48%;
	max-height: 20em;
	overflow: hidden;
}
.box_policy h3 {
	text-align: left;
	width: 100%;
}
.box_policy p {
	text-align: left;
}
.about_logo {
	margin: 0 5% 60px 5%;
	padding: 30px 5% 80px 5%;
	background-color: #fff;
	width: 90%;
	float: left;
}
.about_logo img {
	max-width: 200px;
	display: block;
	margin: 0px auto 40px auto;
}
@media screen and (max-width: 980px) {
	.box_policy {
		padding: 0;
	}
	.box_policy h3 {
		width: auto;
		text-align: center;
		padding: 30px 10% 0 10%;
	}
	.box_policy div.text {
		float: none;
		width: 100%;
		padding: 0 10% 30px 10%;
	}
	.box_policy div.image {
		float: none;
		width: 100%;
	}
	.about_logo {
		padding: 30px 10% 80px 10%;
	}
}
/* policy END */


/* greeting */
.greeting {
	margin: 0;
}
.greeting {
	content: "";
	display: block;
	clear: both;
}
.greeting h3 {
	width: 100%;
	text-align: center;
	background-color: #DDD;
	padding: 40px 3%;
	margin: 0 auto 60px auto;
}
.greeting section {
	padding: 80px 5% 60px 5%;
	text-align: center;
	margin: 0 5% 70px 5%;
	background-color: #FFF;
	float: left;
}
.greeting p {
	margin: 0 auto 30px auto;
	text-align: left;
	line-height: 2.5rem;
}
.greeting div {
	margin: 0 auto 30px auto;
	text-align: left;
	background-image: url(../../company/images/ceo01.jpg);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
}
.greeting div p {
	padding: 0 35% 0 0;
	text-shadow: 0 0 2px #FFF;
}
@media screen and (max-width: 980px) {
	.greeting section {
		padding: 60px 10% 40px 10%;
	}
	.greeting h3 {
		font-size: 3.3vw;
		font-weight: bold;
	}
	.greeting div {
		background-position: center bottom;
		background-size: 300px;
		padding-bottom: 250px;
	}
	.greeting div p {
		padding: 0;
	}
}
/* greeting END */

/* company info */
.company_info_box {
	background-color: #FFF;
	padding: 50px 5% 0px 5%;
	margin: 0;
}
.company_info_box:after {
	content: "";
	display: block;
	clear: both;
}
.company_info_box h3 {
	padding-top: 0;
	margin-top: 0;
	text-align: left;
	width: 100%;
}
.company_info_box img {
	float: left;
	box-shadow: 3px 3px 10px #999;
	width: 33%;
}
.company_info {
	float: right;
	width: 60%;
}
.company_info dt {
	width: 15%;
	float: left;
	text-align: left;
}
.company_info dd {
	width: 85%;
	float: left;
	text-align: left;
}
.company_info dt.lh { 
	padding-top: 0.5em;
	line-height: 1.2;
}
.company_info dd.lh {
	padding-top: 0.7em;
}
.gmap {
	margin: 70px 5% 0 5%;
	border: 1px solid #CCC;
}
.gmap iframe {
	width: 100%;
	height: 350px;
	-webkit-filter: saturate(40%);
	filter: saturate(40%);
}
.gmap iframe:hover {
	transition: filter 0.8s ease;
	-webkit-filter: saturate(100%);
	filter: saturate(100%);
}
.lr_content {
	margin: 70px 5% 0px 5%;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.lr_content:after {
	content: "";
	display: block;
	clear: both;
}
.lr_content h3 {
	width: 100%;
	border-bottom: dotted 1px #CCC;
	padding-bottom: 20px;
}
.lr_content dt {
	clear: left;
	float: left;
	width: 30%;
	text-align: left;
}
.lr_content dd {
	float: left;
	width: 70%;
	text-align: left;
}
.company_history {
	width: 49%;
	background-color: #F6F6F6;
	padding: 0 5% 50px 5%;
	margin-right: 2%;
	margin-bottom: 30px;
}
.company_history dt,
.company_history dd {
	line-height: 1.5;
	margin-bottom: 1.5em;
}
.company_slogan {
	width: 49%;
	background-color: #F6F6F6;
	padding: 0 5% 50px 5%;
	margin-bottom: 30px;
}
.company_slogan dt {
	width: 40%;
	line-height: 1.5;
	margin-bottom: 3px;
}
.company_slogan dt strong {
	display: inline-block;
	font-size: 1em;
}
.company_slogan dd {
	width: 60%;
	font-size: 1.6rem;
	line-height: 1.5;
	margin-bottom: 20px;
}

.lr_documents {
	margin: 0px 5% 0 5%;
	padding: 0 0 50px 0;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.lr_documents h3 {
	font-size: 2.2rem;
	margin: 0 0 20px 0;
	padding: 0 0 10px 0;
	width: 100%;
	border-bottom: dotted 1px #CCC;
}
.lr_documents span {
	text-align: center;
}
.lr_documents img {
	width: 100%;
	max-width: 200px;
	margin: auto;
	padding: 10px 0;
}
.lr_documents li {
	list-style: circle;
	line-height: 1.5em;
	margin-bottom: 1.0em;
	font-size: 1.4rem;
	list-style: none;
	text-align: center;
}
.lr_documents dt {
	clear: left;
	float: left;
	width: 30%;
	font-size: 1.4rem;
}
.lr_documents dd {
	float: left;
	width: 70%;
	font-size: 1.4rem;
}
.company_license,
.company_secondhand,
.company_efforts,
.company_thanks {
	font-size: 1.7rem;
	width: 23.5%;
	margin: 0 2% 30px 0;
	background-color: #F6F6F6;
	padding: 2%;
	text-align: left;
}
.company_license {
	width: 49.0%;
	margin: 0 2% 30px 0;
}
.company_efforts {
	width: 100.0%;
	margin: 0 0 80px 0;
}
.company_license ul,
.company_efforts ul {
	display: flex;
}
.company_license ul li {
	width: 50%;
}
.company_efforts ul li {
	width: 33.33%;
}
.company_efforts ul li span {
	display: block;
	width: 100%;
}
.company_efforts ul li a span img {
	opacity: 1;
}
.company_efforts ul li.company_efforts_sdgs span img {
	margin: 2.2em 0;
}
/*
.company_efforts ul li.company_efforts_sdgs span img:first-child {
	max-width: 60%;
	margin: 1em;
}
.company_efforts ul li.company_efforts_sdgs span img:last-child {
	max-width: 40%;
}
*/
.company_thanks {
	margin-right: 0;
}
@media screen and (max-width: 1400px) {
	.company_license,
	.company_secondhand,
	.company_efforts,
	.company_thanks {
		font-size: 1.5rem;
		width: 49%;
		margin-right: 2%;
		margin-bottom: 20px;
	}
	.company_secondhand,
	.company_efforts {
		margin-right: 0;
	}
	.company_efforts ul {
		flex-wrap: wrap;
	}
	.company_license ul li {
		width: 48%;
		margin-left: 1%;
		margin-right: 1%;
	}
	.company_efforts ul li {
		width: 48%;
		margin-left: 1%;
		margin-right: 1%;
	}
}
@media screen and (max-width: 980px) {
	.company_info_box {
		padding: 50px 10%;
	}
	.company_info_box h3 {
		width: 100%;
		text-align: center;
		margin: 0;
	}
	.company_info_box img {
		float: none;
		width: 70%;
	}
	.company_info {
		float: none;
		width: 100%;
		margin-bottom: 40px;
	}
	.company_info:after {
		content: "";
		display: block;
		clear: both;
	}
	.company_info dt {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 1.3rem;
		font-weight: bold;
		margin-top: 10px;
		color: #999;
	}
	.company_info dd {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.lr_content h3 {
		margin: 30px 0;
		font-size: 2.2rem;
	}
	.lr_content section {
		font-size: 1.5rem;
	}
	.lr_content dt {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 1.3rem;
		font-weight: bold;
		margin-top: 10px;
		color: #999;
	}
	.lr_content dd {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.lr_documents {
		margin: 0px 5% 0px 5%;
	}
	
	.company_history {
		width: 100%;
		margin-right: 0%;
		margin-bottom: 20px;
		padding: 0 10% 50px 10%;
	}
	.company_slogan {
		width: 100%;
		margin-right: 0%;
		margin-bottom: 20px;
		padding: 0 10% 50px 10%;
	}
	
	.company_license,
	.company_secondhand,
	.company_efforts,
	.company_thanks {
		font-size: 1.5rem;
		width: 100%;
		margin-right: 0%;
		margin-bottom: 20px;
		padding: 0 10% 30px 10%;
	}
	.company_license h3,
	.company_secondhand h3,
	.company_efforts h3,
	.company_thanks h3 {
		margin: 30px 0;
		font-size: 2.2rem;
	}
	.company_license dt,
	.company_secondhand dt,
	.company_efforts dt,
	.company_thanks dt {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 1.3rem;
		font-weight: bold;
		margin-top: 10px;
		color: #999;
	}
	.company_license dd,
	.company_secondhand dd,
	.company_efforts dd,
	.company_thanks dd {
		width: 100%;
		float: none;
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.5rem;
	}
	.company_license ul,
	.company_efforts ul {
		display: block;
	}
	.company_license ul li,
	.company_efforts ul li {
		width: 100%;
	}
}
/* company info END */
/* company END */


/* SDGs */
.sdgs_box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	background-color: #FFF;
	padding: 100px 5% 50px 5%;
	margin: 0;
}
.sdgs_box h3 {
	padding-top: 0;
	margin-top: 0;
	text-align: left;
	width: 100%;
	font-size: 1.6em;
}
.sdgs_box_img {
	padding: 3rem 1rem;
	box-shadow: 3px 3px 10px #999;
	width: 35%;
}
.sdgs_in {
	text-align: left;
	width: 60%;
}
.sdgs_in > p {
	margin-bottom: 2em;
	font-size: 1.1em;
}
.sdgs_in > article {
	margin: 0 auto 1em auto;
	padding: 2em;
	border: 1px solid #DDD;
	background-color: #fafafa;
}
.sdgs_in > article > h4 {
	margin-bottom: 0.5em;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
}
.sdgs_in > article > p {
	margin-bottom: 1.0em;
	font-size: 1.05em;
}
.sdgs_in > article > section {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.0em;
	margin-bottom: 0;
	padding-bottom: 0;
}
.sdgs_in > article > section div {
	width: 15%;
}
.sdgs_in > article > section div img {
	width: 100%;
	box-shadow: none;
}
.sdgs_in > article > section ul {
	width: 80%;
	line-height: 1.5;
}
.sdgs_in > article > section ul li {
	margin: 0.3em 0 0.3em 1em;
	list-style: circle;
}
@media screen and (max-width: 1400px) {
	.sdgs_box {
		padding: 80px 5% 50px 5%;
	}
	.sdgs_box h3 {
		margin-bottom: 0.5em;
		font-size: 1.4em;
	}
	.sdgs_in > p {
		margin-bottom: 1.5em;
		font-size: 1.0em;
		line-height: 1.5;
	}
	.sdgs_in > article {
		line-height: 1.5;
		padding: 1.5em;
	}
	.sdgs_in > article > h4 {
		font-size: 1.0em;
		letter-spacing: 0.1em;
	}
	.sdgs_in > article > p {
		font-size: 0.9em;
	}
	.sdgs_in > article > section {
		font-size: 0.9em;
	}
	.sdgs_in > article > section div {
		width: 18%;
	}
	.sdgs_in > article > section ul {
		width: 77%;
	}
	.sdgs_in > article > section ul li {
		font-size: 0.9em;
	}
}
@media screen and (max-width: 980px) {
	.sdgs_box {
		display: block;
		padding: 50px 5% 0px 5%;
	}
	.sdgs_box h3 {
		text-align: center;
		width: auto;
		font-size: 1.6em;
	}
	.sdgs_in > p {
		margin-bottom: 2.5em;
		text-align: left;
	}
	.sdgs_box_img {
		width: 100%;
		margin-bottom: 2.5em;
		padding: 3rem 2%;
	}
	.sdgs_in {
		width: 100%;
		text-align: center;
	}
	.sdgs_in > article > p {
		text-align: left;
		font-size: 0.9em;
	}
	.sdgs_in > article > section ul li {
		text-align: left;
		font-size: 0.9em;
	}
}
@media screen and (max-width: 680px) {
	.sdgs_box_img {
		padding: 1.5rem 2%;
	}
	.sdgs_box h3 {
		font-size: 1.3em;
	}
	.sdgs_in > p {
		margin-bottom: 2em;
		font-size: 0.9em;
	}
	.sdgs_in > article > h4 {
		font-size: 0.9em;
		letter-spacing: 0em;
	}
	.sdgs_in > article > p {
		margin-bottom: 1.0em;
		font-size: 0.85em;
	}
	.sdgs_in > article > section {
		font-size: 0.85em;
	}
	.sdgs_in > article > section div {
		width: 20%;
	}
	.sdgs_in > article > section ul {
		width: 75%;
	}
	.sdgs_in > article > section ul li {
		margin: 0.5em 0 0.5em 1em;
		line-height: 1.4;
	}
}
/* SDGs END */


/* Services */
.services_copy {
	font-size: 2rem;
	padding: 0 5% 80px 5%;
}
.services_list {
	width: 100%;
	padding: 0px 5% 50px 5%;
	margin-bottom: 0;
}
.services_list ul {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.services_list li {
	width: 49%;
	margin: 0 0 40px 0;
	background-color: #666666;
	color: #FFF;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.services_list li:nth-child(2n) {
	margin-left: 2%;
}
.services_list li div {
	display: table;
	width: 100%;
}
.services_list li span {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
}
.services_list li img {
	width: 100%;
}
.services_list li h4 {
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.5;
	margin-bottom: 20px;
}
.services_list li p {
	font-size: 1.5rem;
}
@media screen and (max-width: 1200px) {
	.services_copy {
		padding: 0 10% 80px 10%;
	}
	.services_list {
		padding: 0px 10% 20px 10%;
	}
	.services_list li {
		width: 100%;
		margin: 0 0 20px 0;
	}
	.services_list li:nth-child(2n) {
		margin-left: 0;
	}
}
@media screen and (max-width: 980px) {
	.services_list li div {
		display: block;
	}
	.services_list li span {
		display: block;
		width: 100%;
	}
	.services_list li h4 {
		font-weight: bold;
		font-size: 1.6rem;
		margin: 10px 0 10px 0;
	}
	.services_list li p {
		font-size: 1rem;
		line-height: 1.2;
		margin: 0 0 15px 0;
	}
}
/* Services END */


/* Products */
.products_copy {
	font-size: 2rem;
	padding: 0 5% 80px 5%;
}
.products_tamotsu {
	background-color: #FFF;
	background-image: url(../../products/images/tamotsu_bg.png);
	background-size: cover;
	display: table;
	width: 100%;
	padding: 50px 0;
}
.products_tamotsu div {
	display: table-cell;
	vertical-align: middle;
	width: 50%;
	padding: 50px 5%;
}
.products_tamotsu div img {
	margin: auto;
}
.products_tamotsu .text {
	text-align: left;
	font-size: 2rem;
	line-height: 1.5;
}
.products_tamotsu .text h3 {
	font-size: 1.1em;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-weight: bold;
}
.products_tamotsu .text h4 {
	font-size: 3.5em;
	line-height: 1;
	margin: 0;
	padding: 10px 0 30px 0;
}
.products_tamotsu .text p {
	font-size: 1.2em;
	line-height: 1.5;
	margin: 0;
	padding: 0 0 20px 0;
}
.products_tamotsu .text ul li {
	list-style: circle;
	margin: 0 0 0 1.5em;
	font-size: 1em;
}
.products_tamotsu .button {
	display: inline-block;
	background-color: #CF6187;
	color: #FFF;
	border-radius: 5px;
	text-decoration: none;
	font-size: 1.8rem;
	padding: 7px 50px;
	margin: 0 0 5px 0;
}
.products_tamotsu .button:hover {
	background-color: #B03E66;
}
.products_column {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	padding: 0px 5% 50px 5%;
}
.products_column article {
	background-color: #FFF;
	width: 32.333%;
	margin: 0 0 0 1.5%;
	padding: 0 0 30px 0;
}
.products_column article:first-child {
	margin: 0;
}
.products_column article img {
	width: 100%;
}
.products_column article h3 {
	font-size: 2rem;
	line-height: 1;
	margin: 0;
	padding: 50px 10% 15px 10%;
}
.products_column article h4 {
	font-size: 3rem;
	line-height: 1;
	margin: 0;
	padding: 0 10% 35px 10%;
}
.products_column article p {
	font-size: 1.7rem;
	line-height: 1.5;
	margin: 0;
	padding: 0 10% 20px 10%;
}
.products_column article .button {
	display: inline-block;
	background-color: #CF6187;
	color: #FFF;
	border-radius: 5px;
	text-decoration: none;
	font-size: 1.8rem;
	padding: 7px 50px;
	margin: 0 0 5px 0;
}
.products_column article .button:hover {
	background-color: #B03E66;
}
@media screen and (max-width: 980px) {
	main {
		padding: 0;
	}
	.products_copy {
		padding: 0 10% 80px 10%;
	}
	.products_tamotsu {
		display: block;
		width: 100%;
		padding: 50px 0;
		margin: 0;
	}
	.products_tamotsu div {
		display: block;
		width: 100%;
		padding: 50px 10%;
	}
	.products_tamotsu .text {
		text-align: center;
		font-size: 1.5rem;
	}
	.products_tamotsu .text h3 {
		font-size: 1.3em;
	}
	.products_tamotsu .text h4 {
		font-size: 3.5em;
		padding: 10px 0 20px 0;
	}
	.products_tamotsu .text p {
		font-size: 1.1em;
		padding: 0 0 20px 0;
	}
	.products_tamotsu .text ul  {
		margin: auto;
		display: inline-block;
	}
	.products_tamotsu .text ul li {
		text-align: left;
		margin: 0;
	}
	.products_column {
		padding: 0;
	}
	.products_column article {
		width: 100%;
		margin: 0;
		padding: 0 0 30px 0;
	}
}
/* Products END */

/* Recruit */
.recruit_copy {
	font-size: 2rem;
	padding: 0 5% 80px 5%;
}

.staffs {
	max-width: 1500px;
	margin: 0px auto 100px auto;
	padding: 0 5%;
}
.staffs:after {
	content: "";
	display: block;
	clear: both;
}
.staffs article {
	width: 48%;
	/*float: left;
	margin: 0 1%;*/
	margin: auto;
	background-color: #FFF;
	text-align: left;
}
.staffs article:after {
	content: "";
	display: block;
	clear: both;
}
.staffs article a {
	display: block;
	float: left;
	width: 100%;
}
.staffs article a img {
	float: left;
	width: 40%;
	opacity: 1;
}
.staffs article a h3 {
	font-size: 2rem;
	text-align: left;
	float: right;
	width: 55%;
	margin: 10px 0 5px 0;
	padding: 0 0 0 25px;
	color: #666;
	position: relative;
}
.staffs article a h3::before,
.staffs article a h3::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.staffs article a h3::before{
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	border: 1px solid #999;
	-webkit-border-radius: 25%;
	border-radius: 25%;
}
.staffs article a h3::after{
	left: 5px;
	box-sizing: border-box;
	width: 5px;
	height: 5px;
	border: 5px solid transparent;
	border-left: 5px solid #999;
}
.staffs article a p {
	float: right;
	width: 55%;
	font-size: 1.8rem;
	line-height: 1.3;
	margin: 0;
	padding: 0 0 0 25px;
	color: #666;
}
.staffs article p span {
	display: block;
	font-size: 2.5rem;
	margin: 0;
	padding: 0;
}


.recruit_welfare {
	background-color: #FAFAFA;
	padding: 0 5% 0 35%;
	margin: 0;
	background-image: url(../../recruit/images/event.jpg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 30% auto;
	text-align: left;
	line-height: 1.5;
	font-size: 1.5rem;
}
.recruit_welfare:after {
	content: "";
	display: block;
	clear: both;
}
.recruit_welfare dl {
	padding: 0 0 40px 0;
}
.recruit_welfare dl:after {
	content: "";
	display: block;
	clear: both;
}
.recruit_welfare dt {
	clear: left;
	float: left;
	width: 15%;
	text-align: left;
	margin-bottom: 20px;
}
.recruit_welfare dd {
	float: left;
	width: 85%;
	text-align: left;
	margin-bottom: 20px;
}
.recruit_contact {
	background-color: #EEE;
	margin: 0;
	padding: 0 0 30px 0;
}
.recruit_contact p {
	margin: 0 10% 30px 10%;
}
.recruit_contact img {
	max-width: 400px;
}


main article.recruit_profile {
	margin: 0;
}
.recruit_profile section {
	margin: 0 5% 0px 5%;
	background-color: #800047;
	position: relative;
}
.recruit_profile section:after {
	content: "";
	display: block;
	clear: both;
}
.recruit_profile div.photo {
	width: 50%;
	float: right;
}
.recruit_profile div.photo img {
	width: 100%;
}
.recruit_profile div.profiles {
	width: 50%;
	color: #FFF;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	padding: 50px;
}
.recruit_profile p.profile_name {
	font-size: 2.5rem;
	line-height: 1.5;
	margin-bottom: 30px;
}
.recruit_profile p.profile_name strong {
	font-size: 3.5rem;
	line-height: 1.5;
}
.recruit_profile p.profile_name small {
	font-size: 1.7rem;
	line-height: 1.5;
}
.recruit_profile div h4 {
	font-size: 1.8rem;
	margin-bottom: 10px;
}
.recruit_profile p.profile_small {
	font-size: 1.4rem;
	line-height: 1.5;
}

div.box_comments {
	background-color: #FFF;
	margin: 0px 5% 80px 5%;
	padding: 60px 5% 0px 5%;
	width: 90%;
	float: left;
}
div.box_comments:after {
	content: "";
	display: block;
	clear: both;
}

.recruit_staff_comment {
	position: relative;
	width: 100%;
	text-align: left;
	margin-bottom: 80px;
}
.recruit_staff_comment:after {
	content: "";
	display: block;
	clear: both;
}
.recruit_staff_comment h3 {
	margin: 0 0 30px 0;
	padding: 0;
}
.recruit_staff_comment div.photo_area {
	width: 48%;
	float: left;
}
.recruit_staff_comment div.photo_area.right {
	float: right;
}
.recruit_staff_comment div.photo_area img {
	width: 100%;
}
.recruit_staff_comment div.comment_area {
	width: 48%;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	left: 0;
}
.recruit_staff_comment div.comment_area.right {
	right: 0;
	left: auto;
}

@media screen and (max-width: 1280px) {
	.recruit_profile p.profile_name {
		font-size: 1.5rem;
		line-height: 1.3;
		margin-bottom: 10px;
	}
	.recruit_profile p.profile_name strong {
		font-size: 2.0rem;
		line-height: 1.3;
	}
	.recruit_profile p.profile_name small {
		font-size: 1.3rem;
		line-height: 1.3;
	}
	.recruit_profile div h4 {
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
	.recruit_profile p.profile_small {
		font-size: 1.1rem;
		line-height: 1.3;
	}
	
	.recruit_staff_comment h3 {
		font-size: 2.0rem;
		margin: 0 0 10px 0;
	}
	.recruit_staff_comment {
		font-size: 1.5rem;
		line-height: 1.5;
	}
}
@media screen and (max-width: 980px) {
	.recruit_copy {
		padding: 0 10% 80px 10%;
	}
	.staffs {
		padding: 0 10%;
	}
	.staffs article {
		float: none;
		width: 100%;
		margin: 0 0 20px 0;
	}
	.staffs article:after {
		content: "";
		display: block;
		clear: both;
	}
	.recruit_welfare {
		background-image: url(../../recruit/images/event_smp.jpg);
		padding: 30px 10% 60% 10%;
		margin: 0;
		background-position: center bottom;
		background-size: 100% auto;
	}
	.recruit_welfare dt {
		float: none;
		width: 100%;
		margin-bottom: 7px;
		font-size: 1.1em;
		font-weight: bold;
	}
	.recruit_welfare dd {
		float: none;
		width: 100%;
		margin-bottom: 25px;
		font-size: 0.9em;
	}
	.recruit_contact {
		padding: 30px 0 50px 0;
	}
	
	
	div.box_comments {
		background-color: #FFF;
		margin: 0;
		padding: 60px 10% 0px 10%;
		width: 100%;
	}
	.recruit_profile section {
		margin: 0;
	}
	.recruit_profile div.photo {
		width: 100%;
		float: none;
	}
	.recruit_profile div.profiles {
		width: 100%;
		position: static;
		top: auto;
		left: auto;
		transform: none;
		padding: 50px 10%;
	}
	.recruit_profile p.profile_name {
		font-size: 2rem;
		line-height: 1.5;
		margin-bottom: 30px;
	}
	.recruit_profile p.profile_name strong {
		font-size: 2.5rem;
		line-height: 1.5;
	}
	.recruit_profile p.profile_name small {
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.recruit_profile div h4 {
		font-size: 1.5rem;
	}
	.recruit_profile p.profile_small {
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.recruit_staff_comment {
		margin-bottom: 80px;
	}
	.recruit_staff_comment h3 {
		margin: 0 0 30px 0;
	}
	.recruit_staff_comment div.photo_area {
		width: 100%;
		margin: 30px 0 0 0;
		float: none;
	}
	.recruit_staff_comment div.photo_area.right {
		float: none;
	}
	.recruit_staff_comment div.comment_area {
		width: 100%;
		position: static;
		top: auto;
		transform: none;
		left: auto;
	}
	.recruit_staff_comment div.comment_area.right {
		right: auto;
	}
}
@media screen and (max-width: 680px) {
	.staffs {
		padding: 0 0%;
		margin-bottom: 1px;
	}
	.staffs article {
		margin-bottom: 1px;
	}
	.staffs article a h3 {
		margin-bottom: 10px;
		line-height: 1;
		font-size: 1.7rem;
	}
	.staffs article a p {
		font-size: 1.3rem;
	}
	.staffs article a span {
		font-size: 1.6rem;
	}
}
/* Recruit END */

/* Access */
.agmap {
	border: 1px solid #CCC;
	margin: 0 5% 80px 5%;
}
.agmap iframe {
	width: 100%;
	height: 550px;
	-webkit-filter: saturate(40%);
	filter: saturate(40%);
}
.agmap iframe:hover {
	transition: filter 0.8s ease;
	-webkit-filter: saturate(100%);
	filter: saturate(100%);
}
.access_about {
	background-color: #FFF;
	padding: 0 5% 70px 5%;
	margin-bottom: 0;
}
.access_about p {
	font-size: 1.8rem;
	padding: 0 0 0px 0;
}
.access_lr {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	margin: 0 5%;
	padding: 0px 0 80px 0;
}
.access_door {
	width: 49%;
	margin: 0 2% 0 0;
	padding: 0 5% 50px 5%;
	background-color: #FAFAFA;
}
.access_door h3 {
	width: auto;
	display: block;
}
.access_door p {
}
.access_door img {
	width: 100%;
	margin-bottom: 40px;
}
.access_car {
	width: 49%;
	margin: 0;
	padding: 0 5% 50px 5%;
	background-color: #FAFAFA;
}
.access_car h3 {
	width: auto;
	display: block;
}
.access_car p {
}
.access_car img {
	width: 100%;
	margin-bottom: 40px;
}
@media screen and (max-width: 980px) {
	.agmap {
		margin: 0;
		border: none;
		width: 100%;
	}
	.agmap iframe {
		height: 400px;
		width: 100%;
	}
	.access_about {
		padding: 30px 10% 50px 10%;
		margin-bottom: 0;
		font-size: 1.5rem;
	}
	.access_about h3 {
		margin: 0;
	}
	.access_about p {
		font-size: 1.5rem;
	}
	.access_lr {
		margin: 0px 5% 0px 5%;
		padding: 20px 0;
	}
	.access_door, .access_car {
		width: 100%;
		margin: 0 0 20px 0;
		padding: 0 10% 50px 10%;
	}
	.access_door h3, .access_car h3 {
		font-size: 2rem;
	}
	.access_door p, .access_car p {
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.access_door img, .access_car img {
		margin-bottom: 20px;
	}
}
/* Access END */

/* PrivacyPolicy */
.privacypolicy_read {
	font-size: 2rem;
	margin: 0 5% 80px 5%
}
#privacypolicy {
	padding: 0 0 50px 0;
}
#privacypolicy article {
	margin: 0 5% 0 5%;
	padding: 40px 5% 60px 5%;
	background-color: #FFF;
	text-align: left;
	line-height: 1.5;
}
#privacypolicy article:after {
	content: "";
	display: block;
	clear: both;
}
#privacypolicy article h3 {
	margin: 30px 0 1rem 0;
	padding: 0;
	font-size: 2.3rem;
}
#privacypolicy article p {
	margin: 0 0 2rem 0;
}
#privacypolicy article ol {
	margin: 0 0 0 3rem;
}
#privacypolicy article ul {
	margin: 0 0 0 3rem;
	list-style: circle;
}
#privacypolicy article li {
	margin: 0 0 1rem 0;
}
#privacypolicy article div {
	float: right;
	text-align: right;
	color: #666;
}
#privacypolicy article dt {
	display: inline-block;
}
#privacypolicy article dd {
	display: inline-block;
}
#privacypolicy article dd:after {
	content: "";
	display: block;
	clear: both;
}
@media screen and (max-width: 980px) {
	.privacypolicy_read {
		font-size: 1.6rem;
		margin: 0 10% 80px 10%
	}
	#privacypolicy {
		padding: 0;
	}
	#privacypolicy article {
		margin: 0;
		padding: 40px 10% 60px 10%;
		font-size: 1.3rem;
	}
	#privacypolicy article div {
		float: none;
		text-align: center;
	}
}
/* PrivacyPolicy END */
