@charset "utf-8";
/* CSS Document */
html { scroll-behavior: smooth;}
ul.flex.m0{
margin-bottom: 0;
}
/* =======================================
  ここから各サイトごと
======================================= */
.sp_con{
	display: none;
}
.ps_con{
display: inline-block;
}
.site-content-contain {
	padding-top: 0;
}
.site-content-contain.second_page {
	padding-bottom: 50px;
}
#masthead{
	background: #fff;
}
#masthead .wrap_head {
	position: relative;
	max-width: 100%; 
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
	margin-top: 0;
	padding: 30px 0;
}

.site-branding-text {
	max-width:480px;
	margin-left: 100px;
	padding-right: 5px;
	
}
.site-branding-text h1 img{
vertical-align: middle;
margin-right: 25px;
}

header .site-title{
font-size:14px;
margin-top: 0;
color: #000;
font-weight: normal;
text-align: right;
margin-bottom: 25px;
}
.site-branding-text h1 {
	margin: 0;
	line-height: 1;
	font-weight: 600;
	font-size: 26px;
}
.top_nav {
	width: calc(100% - 500px - 100px - 200px);
}

.top_nav02{
width:120px;
margin-right: 80px;
}
.top_nav ul{
	margin-left: 0;
	margin-bottom: 0;
	display: flex;
	justify-content: flex-end;
}
.top_nav ul li ul{
	margin-left: 0;
	margin-bottom: 0;
	display: block;
}

.top_nav ul li{
	margin-left: 20px;
}
.top_nav li.phone{
	line-height: 1.2;
}
.top_nav02{
display: flex;
justify-content: flex-end;
align-items: center;
}
.top_nav02 > div{
margin-left: 20px;
}
.top_nav02 a.btn_contact {
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 80px;
	line-height: 80px;
	background: #E21E09;
	overflow: hidden;
	cursor: pointer;
	color: #fff !important;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
}
.top_nav02 a.btn_phone:hover, .top_nav02 a.btn_contact:hover{
text-decoration: none;
background: #bc1907;
}
.wrap_topmain{
margin-left: auto;
margin-right: auto;
text-align: center;
display: block;
width: 100%;
position: relative;
}
.wrap_topimage{
display: flex;
justify-content: space-between;
padding-left: 80px;
padding-right: 80px;
}
.topimage_left{
width: 57.27%;
}
.topimage_right{
width:47.72%;
}
.bg_topimage{
background: url("images/top_txt.png") no-repeat;
width: 100%;
background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio:1.5){
/*2倍の画像を指定*/
.bg_topimage{
background: url("images/top_txt@2x.png") no-repeat;
width: 100%;
background-size: contain;
}
}
.bg_topimage .inner{
padding: 250px 120px 50px 120px;
}
.bg_topimage h1{
font-size:64px;
font-weight: 600;
line-height: 1.3;
margin-bottom: 120px;
text-align: left;
}
.bg_topimage p{
font-size:22px;
letter-spacing: 1.65px;
font-weight: 600;
text-align: left;
}
#contents_wrap{
padding: 40px 0 0 0;
}
.wrap_white{
padding: 100px 0;
}
.wrap_white02{
padding: 0 0 100px 0;
}


#sitemap li{
margin-bottom: 10px;
}
#sitemap li a{
padding: 10px;
border:1px solid #ededed;
background: #F6F6F6;
display: block;

}
#sitemap li ul.children{
padding-left: 15px;

}
#sitemap li ul.children li a{
border:none;
background: none;

}
#sitemap li ul.children li a::before{
content:"●";
color: #ee5082;
margin-right: 10px;
}
/*news*/
.wrap_news{
padding: 100px 0;
background: #fff;
}
.news_box{
display: flex;
justify-content: space-between;
}
.news_left{
width:25%;
}
.news_waku{
width: 70%;
}
.news_waku li{
border-bottom: 1px solid #E6E6E6;
padding: 20px 0;
}
.news_waku .time{
margin-right: 25px;
}
.bn_news, .bn_recruit{
border: 1px solid #00AA86;
font-size: 14px;
padding: 1px 10px;
text-align: center;
width: 120px;
color: #00AA86;
margin-right: 25px;
display: inline-block;
border-radius: 100px;
}


.bn_product, .bn_3m-product{
border: 1px solid #FF3300;
border-radius: 100px;
font-size: 14px;
padding: 1px 10px;
text-align: center;
width: 120px;
color: #FF3300;
margin-right: 25px;
display: inline-block;

}
h2.title{
font-size:32px;
color: #00AA86;
font-weight: 600;
text-align: center;
margin-bottom: 50px;
position: relative;
letter-spacing: 2.4px;
}



/*-----------foot-----------*/
footer{

}
footer h2.line::before{
	background-color: #fff;
}
footer h2.line{
color: #fff;
}
#foot_upper{
display: flex;
justify-content: center;
}

#foot_upper h3{
font-size:22px;
font-weight: 700;
margin-bottom: 50px;
color: #fff;
display: block;
}
#foot_upper_left, #foot_upper_right{
width:50%;

}
#foot_upper_left img{
vertical-align: bottom;
}
.foot_up_bg{
background: url("images/footer.jpg")no-repeat;
width: 100%;
background-size: cover;
}

#foot_upper_right{
background: #00AA86;
color: #fff;
}
#foot_upper_right .inner{
padding: 115px 80px 50px 80px;
max-width: 380px;
text-align: center;
}
#foot_upper .tel a{
color: #fff !important;
font-size:36px;
font-weight: 600;
}
#foot_upper .tel a:hover{
text-decoration: none;
}
footer #footer-widget-area {
	display: flex;
	justify-content: space-between;
}
#footer-widget-area .widget-area {
	float: none;
	margin-right: 0;
	width: auto;
	margin-left: 0;
	font-size:14px;
}

#footer {
text-align: left;
padding-top: 75px;
margin: 0;
background: #F6F6F6;
}
#foot_company{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
padding-bottom: 30px;
}

 #foot_company a:hover{
color: #1e2d6a !important;
}
#add{
padding-left: 25px;
}
.foot_logo{
width: 40%;

}
.foot_name{
font-size:28px;
font-weight: 600;
margin-bottom: 50px;
text-align: center;
}
.foot_name img{
vertical-align: middle;
margin-right: 15px;
}
.foot_nav{
display: flex;
justify-content: space-between;
width:55%;
}
.foot_nav ul.foot01{
width: 32%;
}
.foot_nav ul.foot01 ul li{
display: flex;
align-items: center;
}

.foot_nav ul.foot01 ul li::before {
content: "";
height:1px;
width: 10px;
background-color:#0f1111;
margin-right: 10px;
}

.copyright{
padding: 30px 0;
background: #fff;
}

p.name {
	text-align: right;
	font-weight: bold;
	line-height: 1.4;
}
p.name span {
	font-size: 22px;
}
img.round{
border-radius: 10px;
object-fit: cover;
}
h2.entry-title, h1.entry-title{
  position: relative;
  padding: 1rem 2rem 1rem 0;
  border-bottom: 2px solid #00AA86;
  font-size:18px;
  font-weight: 600;
}
h3.center{
font-size:28px;
text-align: center;
font-weight: 700;
margin-bottom: 40px;
}
h3.title{
font-size: 18px;
font-weight: bold;
}
h4.title{
  position: relative;
  padding: 1rem 0;
  border-bottom: 2px solid #E6E6E6;
  font-size:22px;
  font-weight: 700;
  margin-bottom: 40px;
}

h4.title:before{
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 20%;
  height: 2px;
  content: '';
  background: #E21E09;
}
h3.widget-title{
background: #00AA86;
border: none;
border-radius: 10px;
color: #FFF !important;
font-size:18px;
font-weight: 600;
padding: 15px 25px;

}
.widget-container ul li a{
border-bottom: 1px solid #E0DCD6;
padding: 10px 0;
display: block;
}
/*.widget-container ul li::before{
content:"\f054";
font-family: "fontawesome";
margin-right: 10px;
color: #B4B4B4;
font-size:14px;

}*/
.widget-container ul li.sub_cate a{
padding-left: 15px;
}
/*topics*/
.topics_wrap {
	overflow: hidden;
	background: linear-gradient(0deg, #00AA86 0%, #00AA86 50%, #fff 50%, #fff 100% );
	padding: 35px 0;
}

#topics_waku {
	border-radius: 20px;
	border: 4px solid #00AA86;

	background: #fff;
}
#topics_waku .inner{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center;
	padding: 35px 50px;
}
.topics_left{
color: #00AA86;
font-weight: 600;
font-size: 32px;
padding-right: 25px;
border-right: 1px solid #00AA86;
line-height: 1;
}
.topics_right {
	width: 80%;
	text-align: left;
	padding-left: 25px;
}

ul.topics {
margin-bottom: 0;
padding: 0;
}
ul.topics li{
list-style: none;
}

h2.lead{
line-height: 2;
margin-bottom: 40px;
font-size:38px;
font-weight: 600;
letter-spacing: 2.7px;
}

.reb{
position: relative;
}

p.text{
line-height: 3.625;
}

figure{
position: relative;
margin-bottom: 0;
}
/*top_con01*/
.wrap_green{
background: #00AA86;
padding: 90px 0;
color: #fff;
}
.wrap_green h2.lead{
text-align: left;
color: #fff;
font-size:48px;
font-weight: 600;
margin-bottom: 60px;
line-height: 1.4;
}
.wrap_green p{
text-align: left;
font-size:18px;
letter-spacing: 1.35px;
margin-bottom: 60px;
font-weight: 600;
}
.wrap_dot{
background: url("images/bg.jpg") top center no-repeat;
margin-top: 100px;
padding-bottom: 120px;
background-size: contain;
}
@media only screen and (-webkit-min-device-pixel-ratio:1.5){
/*2倍の画像を指定*/
.wrap_dot{
background: url("images/bg@2x.jpg") top center no-repeat;
margin-top: 100px;
padding-bottom: 120px;
background-size: cover;
}
}
.green_tit{
color: #00AA86;
font-weight: 600;
font-size: 18px;
margin-bottom: 20px;
}
.green_tit::before{
content:"●";
margin-right: 10px;
color: #00AA86;
}
.wrap_dot h2.lead{
font-size:38px;
font-weight: 600;
margin-bottom: 100px;
line-height: 1.5;
}
.wrap_dot h2.lead span{
color: #FF3300;
}
.top_flex_con{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-bottom: 60px;
}
.top_flex_con .img_con{
width:55.5%;
text-align: center;
}
.top_flex_con .text_con{
width:37%;
}
.top_flex_con .img_con img{
border-radius: 50%;
object-fit: cover;
outline: 10px solid #00AA86;
outline-offset: -9px;
}

.top_flex_con .text_con h3{
color: #00AA86;
font-weight: 600;
font-size:28px;
margin-bottom: 25px;
}
.top_flex_con .text_con p{
margin-bottom: 38px;
}
/*円*/
.number, .number02{
display: flex;
align-items: center;
margin-bottom: 35px;
}
.circle{
  display: inline-block;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #00AA86;
  text-align:center;
  line-height: 120px;
  color: #fff;
  font-size:58px;
  font-weight: 600;
  font-family: "Arial", Gadget, "sans-serif";
}
/*左に線*/
.number:before {
	content: "";
	flex-grow: 1;
	height: 2px;
	display: block;
}
.number:before {
	background: #00AA86;
}

/*右に線*/
.number02:after {
	content: "";
	flex-grow: 1;
	height: 2px;
	display: block;

}
.number02:after {
	background: #00AA86;
}

.top_3m{
margin-top: 120px;
}
.wrap_green02{
background:#ECF7F1;
padding: 100px 0;
}
h2.lead02{
font-size:28px;
font-weight: 600;
margin-bottom: 50px;
}
.flex_cate {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_cate li{
margin-bottom: 35px;
width:48%;

}
.flex_cate li a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 30px;
	background: #00AA86;
	color: #fff !important;
	border-radius: 10px;
}
.flex_cate li a:hover{
background: #DB5F45;
text-decoration: none;
}
.flex_cate li a span {
	margin-left: 30px;
	font-weight: 600;
	font-size: 22px;
}
.flex_cate li img{
border-radius: 50%;
object-fit: cover;
}
.flex_item{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
figure.trans img{
border-radius: 10px;
vertical-align: bottom;
object-fit: cover;
margin-bottom: 20px;
}
/*subimage*/
#subimage .inbox{
	padding-left: 80px;
	padding-right: 80px;
	display: flex;
	justify-content: space-between;
}
#subimage .inbox .left{
width:50%;
display: table;

}

#subimage .inbox .right{
width:48%;
}
#subimage .inbox .right img{
border-radius: 10px;
object-fit: cover;
}
#subimage .inbox .left h1{
font-size: 48px;
text-align: left;
padding-left: 80px;
font-weight: 600;
}
#subimage .inbox .left h1{
display: table-cell;
vertical-align: middle;
}
#subimage .inbox .left.txt_company {
	background: url("images/company_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_business {
	background: url("images/business_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_facility {
	background: url("images/facility_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_news {
	background: url("images/news_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_recruit {
	background: url("images/recruit_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_product, #subimage .inbox .left.txt_3m-product {
	background: url("images/product_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_privacy {
	background: url("images/privacy_txt.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_inquiry {
	background: url("images/inquiry_txt.png") no-repeat;
	background-size: contain;
}

@media only screen and (-webkit-min-device-pixel-ratio:1.5){
/*2倍の画像を指定*/
#subimage .inbox .left.txt_company {
	background: url("images/company_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_business {
	background: url("images/business_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_facility {
	background: url("images/facility_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_news {
	background: url("images/news_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_recruit {
	background: url("images/recruit_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_product, #subimage .inbox .left.txt_3m-product {
	background: url("images/product_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_privacy {
	background: url("images/privacy_txt@2x.png") no-repeat;
	background-size: contain;
}
#subimage .inbox .left.txt_inquiry {
	background: url("images/inquiry_txt@2x.png") no-repeat;
	background-size: contain;
}
}


.wrap_company{
background: url("images/company_bg.png") #00AA86 right no-repeat;
padding: 90px 0;
color: #fff;
}
.wrap_company .green_tit{
color: #fff;
margin-bottom: 58px;
}
.wrap_company .green_tit::before{
color: #fff;

}
h2.title02:before, h4.title02:before, .green_line:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 20%;
  height: 2px;
  content: '';
  background: #00AA86;
}
h2.title02, h4.title02 {
  position: relative;
  padding: 1rem 2rem 1rem 0;
  border-bottom: 2px solid #DBDCDC;
  font-size:22px;
  font-weight: 600;
  margin-bottom: 30px;
}
.green_line{
position: relative;
  padding: 1rem 2rem 1rem 0;
  border-bottom: 2px solid #DBDCDC;
  font-weight: 600;
  margin-bottom: 30px;
  color: #00AA86;
font-size: 18px;

}

/*business*/
.wrap_business{
background: #E1FCEE;
padding: 90px 0 0 0;
width: 100%;
overflow: hidden;
}
.bg_round {
	background: #fff;
	border-top-left-radius: 50% 100%;
	border-top-right-radius: 50% 100%;
	margin-left: -100px;
	margin-right: -100px;
	padding-left: 100px;
	padding-right: 100px;
	height: 50px;
	padding-top: 150px;
	position: relative;
	margin-top: 300px;
}
.ab_img01 {
	position: absolute;
	top: -20%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
h2.busi{
font-size:38px;
font-weight: 600;
margin-bottom: 45px;
}
h2.center{
font-size:38px;
font-weight: 600;
text-align: center;
margin-bottom: 50px;
}
h2.center span{
color: #FF3300;

}
.busi_left, .busi_right{
margin-bottom: 25px;
}
.box_shadow{
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
background: #fff;
border-radius: 10px;
margin-bottom: 80px;
}
.box_shadow h3{
background: rgba(0, 170, 134, 1);
padding: 40px 60px;
border-radius: 10px 10px 0 0;
margin: 0;
font-size:28px;
font-weight: 600;
color: #fff;
}
.box_shadow .inner{
padding: 60px;
}
.green_ex{
background: #E1FCEE;
padding: 25px 30px;
font-weight: 600;
margin-bottom: 50px;
}
figure.img_round img{
border-radius: 10px;
object-fit: cover;
}
/*facility*/
.kakou ul.flex{
margin-bottom: 90px;
}
figure.trans img{
border: 1px solid #B4B4B4;
}
#content .item_tit{
line-height: 1.75 !important;
}