@charset "utf-8";
/* CSS Document */
#masthead.site-header.fixed {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	background: rgba(255, 255, 255, 1);
	z-index: 999;
	border-bottom: 1px solid #ededed;
}


@media screen and (max-width : 1600px) {
.site-branding-text h1 {
	font-size: 1.2vw;
}
.site-branding-text h1.site-title span {
	margin-left:5px;
}	
.site-branding-text {
	margin-left: 20px;
	width: 25%;
}
.site-branding-text h1 img {
	vertical-align: middle;
	margin-right: 15px;
	width: 100px;
}
.top_nav {
	width: calc(100% - 25% - 40px - 100px);
}
.top_nav02 {
	width: 100px;
	margin-right: 20px;
}
#navi ul.menu li a {
	padding: 10px 18px;
}
/*1400*/
}
@media screen and (min-width : 1248px){

#masthead #navi ul.menu li a {
  position: relative;
}
/**/
}



/*1080*/

@media screen and (max-width : 1079px) {
#masthead .wrap_head {
	padding-left: 0;
	padding-right: 0;
}

.one-column #content {
	margin: 0 auto;
	max-width: 1080px;
	padding-left: 15px;
	padding-right: 15px;
}
#navi ul.menu li a {
	padding: 10px;
}
/*1079*/
}
@media screen and (min-width : 768px){
 #s_header{
	display: none;
}


#masthead {
	padding-bottom: 0;
}


.flex_item li{
width:30%;
margin-right: 5%;
margin-bottom: 30px;
}
.flex_item li:nth-of-type(3n){
margin-right: 0;
}
#foot_box .flex_center{
	display: flex;
	justify-content: center;
}
#foot_box .flex_center li{
	margin-left: 10px;
	margin-right: 10px;
}
#maincolumn{
display: flex;
}
#maincolumn.one_col{
display: block;
}
#maincolumn #content.two_col{
width: calc(100% - 270px);
margin: 0 50px 0 0;
}
#primary, #secondary {
	float: none;
	overflow: hidden;
	width: 220px;
}

figure img.zoom{
transition:1s all;
}
figure img.zoom:hover{
transform:scale(1.2,1.2);
transition:1s all;
}

.ceo_left{
width: 220px;
}
.ceo_right{
width:calc(100% - 280px);
line-height: 2.375;
}
#navi ul.menu li.sp a {
	display: none;
}
.ceo_left{
width:56%;
}
.ceo_right{
width:39%;
}
.busi_left{
width: 70%;
}
.busi_right{
width: 26%;
text-align: center;
}
.foot_up_bg{
min-height: 500px;
}
/*768*/	
}
	

@media screen and (max-width : 767px) {/*スマホ　以下をモバイルと認定*/
.ps{
	display: none;
}
.sp{
	display: inline-block;
}

/*.top_nav02 {
	display: none;
}
*/
.ps_slide{
display: none;
}
.sp_slide{
display: block;
}
/*スマホメニューここから*/
#s_header {
	width: 100%;
}
#menu-btn-check {
	display: none;
}
.menu-btn {
	position: fixed;
	top: 10px;
	right: 0;
	display: flex;
	height: 60px;
	width: 60px;
	justify-content: center;
	align-items: center;
	z-index: 99999;

}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	    content: '';
	    display: block;
	    height: 3px;
	    width: 25px;
	    border-radius: 3px;
	    background-color: #000;
	    position: absolute;
	}
.menu-btn span:before {
	    bottom: 8px;
	}
.menu-btn span:after {
	    top: 8px;
	}
		
#menu-btn-check:checked ~ .menu-btn span {
	    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
#menu-btn-check:checked ~ .menu-btn span::before {
	    bottom: 0;
	    transform: rotate(45deg);
	}
#menu-btn-check:checked ~ .menu-btn span::after {
	    top: 0;
	    transform: rotate(-45deg);
	}
#menu-btn-check {
	    display: none;
	}
.menu-content {
	    width: 100%;
	    height: 100%;
	    position: fixed;
	    top: 0;
	    left: 0;
	    z-index: 80;
	    background-color: #fff;
	}
.menu-content ul {
	    padding: 70px 10px 0;
	}
.menu-content ul li {
	    border-bottom: solid 1px #000;
	    list-style: none;
	}
.menu-content ul li a {
	    display: block;
	    width: 100%;
	    font-size: 15px;
	    box-sizing: border-box;
	    color:#000;
	    text-decoration: none;
	    padding: 9px 15px 10px 0;
	    position: relative;
	}
.menu-content ul li a::after {
	    content: "";
	    width: 7px;
	    height: 7px;
	    border-top: solid 2px #000;
	    border-right: solid 2px #000;
	    transform: rotate(45deg);
	    position: absolute;
	    right: 11px;
	    top: 16px;
	}
	
.menu-content {
	    width: 100%;
	    height: 100%;
	    position: fixed;
	    top: 0;
	    left: 100%;/*leftの値を変更してメニューを画面外へ*/
	    z-index: 80;
	    background-color: #fff;
	    transition: all 0.5s;/*アニメーション設定*/
	}
	
#menu-btn-check:checked ~ .menu-content {
	    left: 0;/*メニューを画面内へ*/
	}
	
/*スマホメニューここまで*/

.site-branding-text h1 {
	text-align: center;
}

#subimage .inner{

	padding:20px;
}
#content {
	margin: 0 auto;
	widows: 100%;
}
#primary, #secondary {
	float: none;
	overflow: hidden;
	width: 100%;
}
#maincolumn #content.two_col{
width: 100%;
}
#primary, #secondary {
	width: 100%;
}


.top_nav {
	width: 100%;
	display: block;
}
.site-branding-text .site-title {
	padding-left: 0;
}


.bn_send{
		padding: 1em 2em;
	}
.formInner input[type="file"], .formInner input[type="text"], select, .formInner input[type="email"], textarea {
	width: 96%;
	cursor: pointer;
}

table.table-b th, table.table-b td, table.table-price th, table.table-price td, table.table-price tbody th, table.table-h th,  table.table-h td{
	display: block;
	}
  table.table-h th,  table.table-h td{
  width:auto;
  }
table.none td.name01, table.none td.name02, table.none td.name03, table.none td.name04{
		width:94%;
		display: block;
	}

#header_upper{
		display: block;
		margin-bottom: 20px;
	}
section#foot_info .left, section#foot_info .right {
	text-align: center;
	width: 50%;
}
section#foot_info .right .inner {
	padding: 65px 10%;
	font-weight: bold;
}
#foot_company {
	display: block;
}

.top_nav {
display: none;
}
.top_nav li.phone {
	display: block;
	text-align: center;

}

footer #footer-widget-area {
	display: block;
}
ul.align_item li{
width:48%;
}
header .site-title {
text-align: center;
width: 70%;
margin: 10px auto;}
#first_lead .flex li.first, #first_lead .flex li.second {
	width: 100%;
}

.site-branding-text{
display: flex;
justify-content: space-around;
}
.site-branding-text a.sp_btn{
display: inline-block;
}
.top_nav h1.site-title{
display: block;
text-align: center;
border-bottom: 1px solid #DBD5CC;
border-top:1px solid #DBD5CC;
padding: 10px 0;
width: 100%;
margin: 0;
}
.site-branding-text {
padding-left: 0;
}
#foot_upper {
	display:block;
}
#foot_upper_left, #foot_upper_right {
	width: 100%;
}
#foot_company .foot_nav {
	width: 90%;
}
.foot_nav ul{
padding-left: 0;
}
#subimage .inner h2, #subimage .inner h1 {
	font-size: 22px;
}

ul.news_waku{
padding-left: 0;
}


#masthead .wrap_head {
	margin-top: 0;
}

#topics_waku .inner {
	padding: 20px;
}
.flex.mt100{
margin-top: 0;
}
h2.title {
	font-size: 28px;
	font-weight: 700;
	line-height: 2;
}

p.text {
	font-size:14px;
	line-height: 2;
}
h2.lead{
font-size:22px;
	line-height: 2;
	margin-bottom: 35px;
}
ul.topics li {
	text-align: left;
}
ul.topics a{
display: inline-block;
text-align: left;
}
.news_box {
	display: block;
}
.news_left {
	width: 100%;
}
.news_waku {
	width: 100%;
}
.newsguide {
	margin: 10px 0;
	float: right;
	display: flex;
	flex-wrap: wrap;
}
#foot_upper h3 {
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}
.solid_tel{
margin-bottom: 20px;
}

#add {
	padding-left: 0;
}

p.text02 {
font-size:14px;
	line-height: 2.285;
}
.wrap_topmain.sp{
display: block;
}
.wrap_topmain.ps{
display: none;
}

#foot_upper h3 {
	margin-bottom: 0;
	padding: 20px 15px;
}
.flex_item li{
width:46%;
margin-right: 8%;
margin-bottom: 25px;
}
.flex_item li:nth-of-type(2n){
margin-right: 0;
}
.ceo_left{
width:100%;
margin-bottom: 40px;
}
.ceo_right{
text-align: center;
}
#foot_upper_right .inner {
	padding: 50px 30px;
	max-width: 100%;
}
#subimage .inbox .left h1 {
	font-size: 32px;
	padding-left: 15px;
}
#subimage .inbox {
	padding-left: 10px;
	padding-right: 10px;
}

.site-branding-text {
	padding-left: 0;
	margin: 0;
	margin: 0 auto;
	width: 100%;
	text-align: left;
	display: block;
}
.top_nav02 {
	width: 150px;
	margin-right: 20px;
}
.top_nav02 > div {
	margin-left: 10px;
}

.site-branding-text h1 img {
	vertical-align: middle;
	margin-right: 15px;
	width: 100px;
}
.site-branding-text h1 {
	font-size: 20px;
}
.wrap_topimage {
	display: block;
	padding-left: 30px;
	padding-right: 30px;
}
.topimage_left, .topimage_right {
	width: 100%;
}
.bg_topimage .inner {
	padding: 150px 20% 50px 60px;
}
.bg_topimage h1 {
	font-size: 36px;
	margin-bottom: 60px;
	text-align: left;
}
#topics_waku .inner{
display: block;
}
#topics_waku {
	width: 80%;
}
.time {
	margin-right: 10px;
	margin-top: 10px;
	display: inherit;
}
.topics_left {
	font-size: 32px;
	width: auto;
	display: block;
	border: none;
	text-align: center;
	margin: 0 auto 10px auto;
}
.wrap_green h2.lead {
	font-size: 24px;
	margin-bottom: 40px;
}
.topics_right {
	width: auto;
	padding: 0;
	margin-top: 15px;
}
.topics_right .bn_news, .topics_right .bn_recruit, .topics_right .bn_product, .topics_right .bn_3m-product{
margin-top: 15px;

}
.items .bn_news, .items .bn_recruit, .items .bn_product, .items .bn_3m-product{
margin-right: 0;
min-width: 90px;
font-size: 12px;
padding: 1px 5px;
}

.wrap_green {
	padding: 30px 0;
}
.wrap_green p.center {
	text-align: left;
	font-size: 16px;
	margin-bottom: 30px;
}
.wrap_dot h2.lead {
	font-size: 28px;
	margin-bottom: 50px;
}
.top_flex_con {
	display: block;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.top_flex_con .img_con, .top_flex_con .text_con {
	width: 100%;
	margin-bottom: 25px;
}
.top_flex_con .text_con h3 {
	font-size: 24px;
}
.wrap_dot h2.lead {
	font-size: 28px;
	margin-bottom: 30px;
}
.wrap_dot {
	margin-top: 40px;
	padding-bottom: 30px;
}
.flex_cate {
	display: block;
}
.flex_cate li {
	margin-bottom: 20px;
	width: 100%;
}
.flex_cate li img {
	width: 78px;
}
.flex_cate li a span {
	margin-left: 16px;
	font-size: 18px;
}
.flex_cate li a {
	padding: 20px;
}
.foot_name img {
	vertical-align: middle;
	margin-right: 10px;
	width: 50px;
}
.foot_up_bg {
	width: 100%;
	height: 0;
	padding-top: 52%;
	background-size: contain;
}
/*スマホ767*/
}

	
 

@media screen and (max-width : 480px) {/*スマホ微調整*/
.ps_con{
display: none;
}
.sp_con{
		display: block;
	}
body{
font-size:14px;
line-height: 1.8;
}
.site-branding-text h1.site-title a {
	display: block;
}


.sp_center{
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
}	
.ps_slide{
display: none;
}
.sp_slide{
display: block;
}

#subimage {
	position: relative;
	width: 100%;
}	
	
#subimage .inner p {
	font-size: 20px;
	text-align: center;
}
.page_menu{
		padding-left: 20px;
	}
.page_menu ul li a{
	border: none;
	}
.page_menu ul li{
	text-align: left;
	display: block;
	width:100%;
	}
.page_menu ul li::before{
	content: "\f105"; 
	font-family: 'FontAwesome'; 
	margin-right: 15px;
	}

table.table-b, table.table-c {
	width:96%;
	margin-left: auto;
	margin-right: auto;
	}
table.table-b th, table.table-b td, table.table-c th, table.table-c td{
	width: 96%;
	display: block;
	padding: 1em 2%;
	
	}


#footer-widget-area .widget-area {
	float: none;
	margin:0 auto;
	width: 96%;
}
ul.table_box {
	margin-bottom: 40px;
}
ul.table_box h2{
	font-size:16px;
}

.wrap_white {
	padding: 40px 0;
}

.wrap_foot_info .wrap .ab_img01 {
	display: none;
}
.wrap_foot_info .inner {
	width: 90%;
	padding: 40px 0;
	margin: 0 auto;
}

.top_logo{
width: 50%;
}

ul#menu-foot_nav{
		display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	}
ul#menu-foot_nav li {
	text-align: center;
	border:1px solid #fff;
	border-radius: 10px;
	padding:10px;
	margin-bottom: 10px;
	width:40%;
}

/*hero*/
.hero__title {
	min-width: 250px;
}
.hero {
min-height: 600px;
	max-height: 800px;
	overflow: hidden;
	position: relative;
}

.hero-slide__img {
	min-height: 600px;
	object-fit: cover;
	opacity: 0;
	width: 100%;
}

.site-branding-text {
	margin: 0 0 0 10px;
}

.news_left h2.tate p {
text-align: left;
	writing-mode: horizontal-tb;
	font-size: 22px;
}
h2.tate p {
font-size:22px;
}

#navi {
	display: none;
}

.ceo_left {
text-align: left;
margin-left: auto;
margin-right: auto;
display: block;
}
h3.title p {
	font-size: 55px;

}
#foot_company .foot_nav {
	display: none;
}
.foot_name {
	font-size: 22px;
}

#subimage h1 {
	font-size: 28px;
}
#subimage {
	min-height: 150px;
}
h3.center {
	font-size: 18px;
}
#foot_upper .tel a {
	font-size: 22px;

}
#subimage .inbox {
	display: block;
}
#subimage .inbox .left {
	width: 100%;
	display: table;
	background-size: cover;
	height: 135px;
}
#subimage .inbox .right {
	width: 100%;
}
#subimage .inbox .left h1 {
	font-size: 22px;
	text-align: left;
	padding-left: 20px;
}
.site-branding-text h1 img{
width: 58px;
}
.site-branding-text h1 {
	font-size: 14px;
}
.top_nav02 {
	width: 100px;
	margin-right: 50px;
}
.bg_topimage{
display: none;
}

.flex_cate li img {
	width: 78px;
}
.flex_cate li a span {
	margin-left: 16px;
	font-size: 18px;
}

.foot_logo {
	width: 100%;
}
h2.busi {
	font-size: 28px;
	margin-bottom: 30px;
}

.bg_round {
	padding-top: 50px;
	margin-top: 150px;
}
h2.center {
	font-size: 28px;
}
.box_shadow h3 {
	padding: 20px 30px;
	font-size: 22px;
}
.box_shadow .inner {
	padding: 20px;
}
/*スマホ微調整*/
}