@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 : 1400px) and (min-width : 768px){
	.site-branding-text h1.site-title {
	padding-left: 0;
}
.site-branding-text h1.site-title span {
	margin-left:5px;
}	
.site-branding-text {
	width:20%;
}
.top_nav {
	width: calc(100% - 20% - 60px - 20%);
}
.top_nav02 {
	width: 20%;
}
.service_box {
	width: 94%;
}
.top_nav form {
	width: 150px;
	margin: 0;
}
.top_nav ul {
	margin-left: 0;
	margin-bottom: 0;
	display: flex;
	justify-content: flex-start;
}
.top_nav ul#mega_menu {
	margin-left: 0;
	margin-bottom: 0;
	display: flex;
	justify-content: flex-end;
}

.head_menu {
	display: flex;
	justify-content: center;
	align-items: center;
}
.top_nav ul li input[type="text"] {
	border-radius: 5px;
	width: 150px;
}
/*1400*/
}
@media screen and (min-width : 1248px){

#masthead #navi ul.menu li a {
  position: relative;
}
.topcon02-1 img{
object-fit: cover;
height: 740px;
}
.topcon02-2{
width:680px;
margin-left: 100px;
}
/**/
}
@media screen and (max-width : 1247px){
	/*naviまわり*/

#navi ul.menu {
	justify-content: flex-start;
}
.site-branding-text {
	margin-left: 30px;
	padding-right: 5px;
}

/**/
}
@media screen and (max-width : 1279px){
.wrap1280, #subimage .wrap{
padding-left: 15px;
padding-right: 15px;
}
}

@media screen and (min-width : 1081px) {
.head_ps{
display: inline-block;
}
.head_sp{
display: none;
}
}
@media screen and (max-width : 1080px) and (min-width : 768px){
.head_ps{
display: none;
}
.head_sp{
display: inline-block;
}
.menu-parent_a {
	display: block;
	padding: 20px 10px 10px 10px;
	text-align: center;
	transition: 0.5s;
	font-size: 18px;
	font-weight: 600;
}
/*1080*/
}
@media screen and (max-width : 1079px) {
#masthead .wrap_head {
	padding-left: 0;
	padding-right: 0;
}
.white_box {
	width: 65%;
}
.one-column #content {
	margin: 0 auto;
	max-width: 1080px;
	padding-left: 15px;
	padding-right: 15px;
}


/*1079*/
}
@media screen and (min-width : 768px){
 #s_header{
	display: none;
}


#masthead {
	padding-bottom: 0;
}

.flex_item{
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}
.flex_item li{
width:46.9%;
margin-right: 6%;
margin-bottom: 30px;
}
.flex_item li:nth-of-type(2n){
margin-right: 0;
}

.flex_product li{
width:30%;
margin-right: 5%;
margin-bottom: 30px;
}
.flex_product 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;
}


#navi ul.menu li.sp a {
	display: none;
}
	
	.top_nav_sp{
		display: none;
	}
/**/
.top_st_left{
width: 53.7%;
margin-bottom:80px;
}
.top_st_right{
width: 38.9%;
margin-bottom:80px;
}
.top_company_left{
width: 31.5%;
}
.top_company_right{
width: 53.7%;
}
#foot_upper a.btn01{
	min-width:340px;
}
#foot_upper a.btn_contact{
	min-width:340px;

}
.box_item30{
width: 31.5%;
}
.flex_st_banner li{
margin-right: 8%;
width: 46%;
}
/*768*/	
}
	

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

.top_nav02 {
	display: none;
}
.ps_slide{
display: none;
}
.sp_slide{
display: block;
}
	.top_nav_sp{
		display: flex;
	}
/*スマホメニューここから*/
#s_header {
	width: 100%;
}
#menu-btn-check {
	display: none;
}
.menu-btn {
	position: fixed;
	top: 0;
	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: 10px 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: left;
}

#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%;
}
.viewer img {
	width:100%;
	height: 500px;
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit: cover; object-position: bottom;';/*IE対策　JSもセット*/
}

.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;
max-width: 200px;
	margin-left: 10px;
}
#foot_upper .flex_center li.right {
	padding-left: 0;
	margin-top: 15px;
}
#foot_upper .flex_center li.left {
	border-right: none;
	padding-right: 0;
}
#foot_company .logo_img {
	width: 100%;
	text-align: center;
}
#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;
}

#foot_upper .flex_center {
	display: block;

}
#foot_upper .flex_center li.solid_tel{
padding: 15px 10px;
}
.foot_logo {
	display: block;
	width: 90%;
	border-right: none;
	padding-right: 0;
	text-align: left;
	margin-bottom: 30px;
}
#masthead .wrap_head {
	margin-top: 0;
}
#topics_waku {
	display: block;
	text-align: center;
}
#topics_waku .inner {
	padding: 20px;
}
.flex.mt100{
margin-top: 0;
}
h2.title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 30px;
}
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;
}
#foot_upper h3 {
	text-align: center;
	font-weight: bold;
	font-size: 16px;
}
.solid_tel{
margin-bottom: 20px;
}
#foot_upper .solid_tel a {
	font-size: 28px;
}
#foot_upper .solid_tel a span {
	font-size: 18px;
}
#foot_upper h3 {
	margin-bottom:0;
}

#foot_upper .flex_center li {
	margin-left: 0;
	margin-right: 0;
}
#foot_upper .solid_tel p {
	font-size: 14px;
}

#add {
	padding-left: 0;
}


p.text02 {
font-size:14px;
	line-height: 2.285;
}


#foot_upper a.solid_tel {
	width: 100%;
	font-size: 30px;
	padding: 20px 0;
	margin-bottom: 0;
}
#foot_upper a.contact {
	width: 100%;
	padding: 40px 0;
	font-size: 22px;
}
#foot_upper a.solid_tel span {
	font-size: 14px;

}
#foot_upper h3 {
	margin-bottom: 0;
	padding: 20px 15px;
}

.wrap_topcon01 {
	background:none;
	padding: 50px 0;
}
.top_con01 {
	width: 100%;
}

#navi ul.menu li.sp {
	display: block;
}
.menu-content ul li.sp {
	display: block;
}


#foot_link .box30{
width:100%;
margin-bottom: 30px;
}
#foot_link .box30 img{
display: block;
text-align: center;
margin: 10px auto;
}

.top_none{
display: none;
}
.wrap_topcon01 {
	background:none;
}

.topic_left {
	padding: 15px;
}
.top_inner {
	padding-left: 0;
}

.foot_box {
	display: block;
}
.foot_box .left, .foot_box .right {
	width: 100%;
	text-align: center;
}
.grid {
	display: block;
}
#wrap_top_company .bg_company {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0 5%, #fff 5% 100% );
}
#wrap_top_company .bg_company .inner {
	padding: 50px 0 50px 8%;
}
.wrap_top_blue .drop_box .inner {
	padding: 30px;
}
.flex_title {
	display: block;
	justify-content: space-between;
	align-items: center;
}
a.banner_list.last{
		margin-bottom:30px;
	}
#masthead .wrap_head {
	max-width: 80%;
	margin-right: 15%;
}
	.top_nav_sp a{
		margin-left: 10px;
	}
	.red_icon{
		color: #F56800 !important;
	}
	.blue_icon{
		color: #1DA8FF !important;
	}
	img.img_center{
		display: block;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
.wrap_about {
	padding:40px 0;
}
	.flex_title li .title_icon{
		float: right;
		margin-bottom: 30px;
	}
	h2.title.sp_mb10{
		margin-bottom: 10px;
	}
	.wrap_top_blue {
	padding-bottom: 0;
}
	.top_st_bg {
	padding: 0 0 50px 0;
}
	.top_st_bg .number {
	margin-bottom: 0;
	width: 60px;
}
	.top_st_bg h3 {
	font-size: 18px;
	margin-bottom: 15px;
}
	.btn01 {
	padding: 10px 20px;
	min-width: 180px;
	line-height: 1.8;
	font-size: 16px;
}
	#wrap_top_company {
	background: url("images/s_bg03.jpg") no-repeat;
	background-size: cover;
	padding-top:180px;
}
.bn_news, .bn_sekourei, .bn_product {
	width: 118px;
}
	.foot_box .left .inner {
	padding: 30px;
}
	.foot_box .left .inner p {
	margin-bottom: 25px;
}
	#foot_upper {
	padding: 60px 0 30px 0;
}
	#foot_under .logo_center {
	padding: 40px 0;
	text-align: center;
	width: 80%;
	margin: 0 auto;
}
	#foot_under .add .wrap {
	display: block;
}
	#foot_under .add .left {
	width: 100%;
	border-right: none;
		border-bottom: 1px solid #B7B7B7;
}
#foot_under .add .right {
	width: 100%;
	border-right: none;
}
#foot_under .add .left .inner {
	padding: 25px 0;
}
#foot_under .add .right .inner {
	padding: 25px 0;
}
/*archives*/
.big_img, .thumb_img{
width:100%;
margin-bottom: 25px;
}
.flex_product li{
width:46%;
margin-right: 8%;
margin-bottom: 30px;
}
.flex_product li:nth-of-type(2n){
margin-right: 0;
}
#content ul.flex.item_box_list {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.box_item30{
width: 46%;
}
a.banner_list {
	margin-top: 20px;
}
.flex_st_banner li {
	display: block;
	margin-right: 0;
	width: 100%;
}
.news_title{
display: block;
}
/*スマホ767*/
}

	
 @media screen and (min-width : 481px) {
 .sp_con{
 display: none;
 }
 }

@media screen and (max-width : 480px) {/*スマホ微調整*/

.sp_con{
		display: block;
	}
body{
font-size:14px;
line-height: 1.8;
}
.site-branding-text h1.site-title a {
	display: block;
}
.top_nav02 .phone {
	width:100%;
}
.top_nav02 .mail {
	display: none;
}

.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%;
	margin-bottom: 0;

}	
	
#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;
	}
.set_btn .box48 {
	margin-bottom:40px;
}
table.table-b {
	width:96%;
	margin-left: auto;
	margin-right: auto;
	}
table.table-b th, table.table-b td{
	width: 96%;
	display: block;
	padding: 0.5em 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%;
}



.site-branding-text {
	margin: 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;
}

h3.title p {
	font-size: 55px;

}

.foot_name {
	font-size: 22px;
}

#subimage h1 {
	font-size: 22px;
}
#subimage {
	min-height: 100px;
	padding-top: 20px;
}
h3.center {
	font-size: 18px;
}
h4.title {
	font-size: 16px;
}
#subimage h1 {
	font-size: 22px;
	margin: 0;
}
#subimage .inbox {
	padding: 30px 0 33px 0;
}
h2.title02 {
	font-size: 22px;
	margin-bottom: 30px;
}
#maincolumn.pad50 {
	padding-top: 20px;
}
p{
font-size:14px;
}
.flex_sp{
display: block;
}
.flex_sp .box{
width:100%;
margin-bottom: 30px;
}
.topcon02-1 img {
	object-fit: cover;
	height: 356px;
}
.wrap_blue {
	padding: 80px 0;
}

.foot_tel {
	font-size: 26px;
	font-weight: 700;
	color: #023F73 !important;
}
.foot_tel::before {
	content: "\f095";
	font-family: "fontawesome";
	margin-right: 15px;
	font-size: 18px;
}
.foot_box .bn_cv {
	padding: 15px 0;
	min-width: 200px;

}
	#foot_upper a.btn01 {
	padding: 15px 20px;
	line-height: 1.2;
	font-size: 16px;
	display: block;
}
	#foot_upper a.btn_contact {
	padding: 15px 20px;
	line-height: 1.2;
	font-size: 16px;
	/* display: block; */
}
#foot_upper a.btn_contact:hover{
padding: 15px 20px ;
	line-height: 1.2;
	font-size: 16px;
}
.foot_box .right .inner {
	padding: 35px 0;
}
.flex_care li{
width: 46%;
margin-bottom: 30px;
}


.flex_catalog li{
width: 46%;
margin-bottom: 30px;
margin-right:4%; 
}
.flex_catalog li::nth-of-type(2n){
margin-right: 0;
}
.newsguide{
display: block;
}
.newsguide a {
	margin-left: 15px;
	display: block;
}
#foot_upper .left h3, #foot_upper .right h3 {
	font-size: 20px;
	margin-bottom: 0px;
}

a.banner_list.ps{
display: none;
}
h2.entry-title, h1.entry-title, #content .entry-title {
	font-size: 18px;
}
#content .entry-content h3.item_tit, h3.item_tit, #content h3.item_tit {
	padding: 10px 20px;
	font-size: 18px;
	margin-bottom: 20px;
}
.bread {
	display: none;
}
h3.title, #content h3.title {
	padding: 1rem 2rem 0.5rem 0;
	font-size: 18px;
	margin-bottom: 20px;

}
/*スマホ微調整*/
}