/******************************************************************
Theme Name: CREVIA
Theme URI: https://crevia-ts.com
Description: CREVIAウェブデザインテーマ
Author: CREVIA
Author URI: https://crevia-ts.com
Version: 1.01
Tags: fluid-layout, responsive-layout, accessibility-ready, translation-ready, microformats, rtl-language-support
*/
*, *::before, *::after {
	box-sizing: border-box;
}
* {
	margin: 0;
}
html, body {
	height: 100%;
}
body {
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
}
img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
}
input, button, textarea, select {
	font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}
#root, #__next {
	isolation: isolate;
}
ol, ul {
	list-style-type:none;
	margin:0;
}
legend, menu, ol, ul {
	padding:0
}
a {
	text-decoration:none;
}


body {
	font-family:"游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	/*font-family: "Noto Sans Japanese";*/
	color:#4C4C4C;
}
body img {
	max-width:100%;
	height:auto;
}
/* 
 Pagination（index.php/archive.php）
----------------------------------------------------------- */  
.pagination, .wp-prev-next {
	padding:3rem 0 5rem;
}
.pagination ul {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	align-items: center;
	text-align:center;
}
.pagination ul li {
	margin:3px;
	font-size:0.8em;
}
.pagination ul li a {
	padding:0.3rem;
	display: block;
	width:50px;
	background:#FFF;
	color:#000;
	border:1px solid #000;
	transition:all ease 0.5s;
	-webkit-transition:all ease 0.5s;
	-moz-transition:all ease 0.5s;
}
.pagination ul li a:hover {
	background:#2DC139;
	color:#FFF;
	border:1px solid #2DC139;
}
.pagination ul li span {
	padding:0.3rem;
	display: block;
	width:50px;
	background:#2DC139;
	color:#FFF;
	border:1px solid #2DC139;
}
.pagination ul li span.current {
	font-weight:bold;
}
.wp-prev-next .prev-link {
	float:left;
}
.wp-prev-next .next-link {
	float:right;
}
#allowed_tags {
	margin: 1.5em 10px 0.7335em 0;
}
.nocomments {
	margin: 0 20px 1.1em;
}
/* 
 Pagination（single.php）
----------------------------------------------------------- */  
.nav-below {
	width:100%;
	padding:3rem 0 5rem;
	display:flex;
    justify-content:space-between;
	flex-wrap:wrap;
}
.nav-below a {
	background:#FFF;
	border:1px solid #000;
	color:#000;
	padding:0.2rem;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	font-size:0.8em;
}
.nav-below img {
	width:50px;
	height:50px;
}
#prev, #next {
	width:49%;
	overflow:hidden;
}
#next {
	text-align:right;
}
#prev img {
	float:left;
	margin-right:0.4rem;
}
#next img {
	float:right;
	margin-left:0.4rem;
}
.nav-below p{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;	
}
.nav-below a:hover {
	background:#2DC139;
	border:1px solid #2DC139;
	color:#FFF;
}
#prevAndNextLeft {
	width:50%;
	float:left;
	text-align:left;
}
#prevAndNextRight {
	width:50%;
	float:left;
	text-align:right;
}

/* 
 animation
----------------------------------------------------------- */  
.fadein {
	opacity:0;
	transition:all ease 1s;
	-webkit-transition:all ease 1s;
	-moz-transition:all ease 1s;
}
.on .fadein {
	opacity:1;
}
/* 
 Head
----------------------------------------------------------- */  
.header {
	width:100%;
}
#blogo{
	position: fixed;
	top:1rem;
	left:1rem;
	z-index: 98;
	opacity: 0;
	transition: opacity 0.8s ease;
	pointer-events: none;
	width:180px;
}

#blogo.visible {
	opacity: 1;
	pointer-events: auto;
}
/* 
 gNavi
----------------------------------------------------------- */ 
.navwrap {
	display: inline-block;
	position:fixed;
	top:1rem;
	right:2rem;
	z-index:99;
	mix-blend-mode: difference; /* ←ここが肝！ */
	pointer-events: none; /* 背景とのブレンドを壊さないため */
	transition:all ease 0.4s;
	-webkit-transition:all ease 0.4s;
	-moz-transition:all ease 0.4s;
}
.navwrap.visible{
	opacity: 0;
	right:-200px;
	z-index: -1;
}
.navwrap ul li a {
	color: #fff; /* 白を基準にdifference演算させる */
	font-family: "Lato", sans-serif;
	display: inline-block;
	margin-bottom: 0.5rem;
	pointer-events: auto; /* クリックだけ戻す */
	transition: opacity 0.3s;
	letter-spacing: 0.1rem;
	font-weight: bold;
}
.navwrap ul li a:hover {
  opacity: 0.5;
}
/* 
 共通
----------------------------------------------------------- */ 
#content {
	width:100%;
}
.pc {
	display:block;
}
.sp {
	display:none;
}
.mid{
	font-size: 52px;
	line-height:52px;
	margin-bottom:3rem;
	font-family: "Lato", sans-serif;
	font-weight: normal;
	color:#4C4C4C;
}
.mid span{
	display:block;
	color:#2DC139;
	margin-bottom:0.3rem;
	font-size:16px;
}
.mid2{
	margin-bottom:3rem;
	font-size:16px;
	color:#4C4C4C;
	font-weight: normal;
}
.mid2 span{
	display:block;
	font-size: 42px;
	line-height:42px;
	font-family: "Lato", sans-serif;
	margin-bottom:0.3rem;
}
.mid2 span::first-letter {
	font-size: 52px;
	line-height:52px;
	color:#2DC139;
}
.linkbox{
	width:100%;
	margin-top:3rem;
	overflow: hidden;
}
.linkbox a{
	display:inline-block;
	float: right;
	position: relative;
	padding: 0 5rem 0.2rem 0;
	color:#3E3A39;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
.linkbox a:hover{
	color:#2DC139;
}
.linkbox a::before{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:1px;
	background:#3E3A39;
}
.linkbox a::after{
	content:"";
	position: absolute;
	bottom:0;
	right:-8px;
	width:17px;
	height:1px;
	background:#3E3A39;
	transform: rotate(30deg);
}
.progress-wrap {
  z-index: 997!important;
}
/* 
 TOP
----------------------------------------------------------- */ 
#top_fv {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh!important;
  z-index: -1;
  display:block;
}
#top_fvsp{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh!important;
  z-index: -1; /* 背景に配置 */
  display:none;
}
#top_fi{
	width:100%;
	height: 100vh;
	position: relative;
}
#top_fi dl{
	display:inline-block;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	text-align: center;
	opacity: 0;
	animation: fadeInLogo 2.5s ease 0.8s forwards;
}

@keyframes fadeInLogo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#top_fi dt img{
	margin:0 auto;
}
#top_fi dd{
	color:#FFF;
	margin-top:2rem;
	font-size: 20px;
	font-family: "Lato", sans-serif;
}
#top_acd{
	width:100%;
	padding:7rem 145px 8rem 260px;
	background: rgba(255,255,255,0.7);
	-webkit-backface-visibility: hidden;
	-webkit-backdrop-filter: saturate(140%) blur(20px);
	backdrop-filter: saturate(140%) blur(20px);
	backface-visibility: hidden;
	will-change: backdrop-filter;
	position: relative;
	z-index: 1;
}
#top_acd .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#top_acd p{
	margin-bottom:3rem;
}
#top_acd ul{
	display: grid;
	gap:2rem 4rem;
	grid-template-columns: repeat(2, 1fr);
}
#top_acd li{
	position: relative;
	border-bottom:1px solid #4C4C4C;
	padding-bottom: 1rem;
}
#top_acd li a{
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
#top_acd li a::before{
	content:"";
	position: absolute;
	top:50%;
	right:0;
	background-image:url('./library/images/arrow.png');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	padding:3px 27.25px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_acd li a:hover::before{
	right:1rem;
}
#top_acd li dt{
	font-size: 24px;
	font-family: "Lato", sans-serif;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_acd li dd{
	font-size: 14px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_acd li:hover dt{
	color:#2DC139;
}

#top_works{
	width:100%;
	padding:8rem 145px 8rem 260px;
	background:#FFF;
	position: relative;
	z-index: 1;
}
#top_works .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#top_works .box{
	width:100%;
	display: flex;
	justify-content: center;
	align-items:flex-start;
}
#top_works .l{
	width:30%;
	margin-right: 5%;
	height: 100vh;
}
#top_works .fade-slider.auto-height {
	  position: relative;
	  width: 100%;
		height: 100%;
}

#top_works .fade-slider.auto-height .slide {
	  position: absolute;
	  inset: 0;
	  opacity: 0;
	  animation: fade 12s infinite;
}

#top_works .fade-slider.auto-height img {
	  width: 100%;
	  height: auto;
	  display: block;
}

/* 最初の画像を基準として高さが自動で決まる */
#top_works .fade-slider.auto-height {
	  overflow: hidden;
}

/* 画像の開始タイミング */
#top_works .fade-slider.auto-height .slide:nth-child(1) {
	  animation-delay: 0s;
}
#top_works .fade-slider.auto-height .slide:nth-child(2) {
	  animation-delay: 4s;
}
#top_works .fade-slider.auto-height .slide:nth-child(3) {
	  animation-delay: 8s;
}

/* フェード */
@keyframes fade {
  0%   { opacity: 0; }
  10%  { opacity: 1; }
  30%  { opacity: 1; }
  40%  { opacity: 0; }
  100% { opacity: 0; }
}
#top_works .r{
	width:65%;
}
#top_works li{
	border-top:1px solid #CCC;
	padding:2rem 0;
	position: relative;
}
#top_works li:last-of-type{
	border-bottom:1px solid #CCC;
}
#top_works li a{
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
#top_works dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
}
#top_works dt{
	width:calc(100% - 66px);
}
#top_works dt h3{
	font-weight: normal;
	font-size: 20px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_works dt p{
	font-size: 14px;
}
#top_works dd{
	width:46px;
	margin-left:20px;
}
#top_works dd img{
	position: relative;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	left: 0;
}
#top_works li:hover img{
	left:-1rem;
}
#top_works li:hover h3{
	color:#2DC139;
}

#top_ir{
	width:100%;
	padding:8rem 145px 8rem 260px;
	background:#F7F7F5;
	position: relative;
	z-index: 1;
}
#top_ir ul{
	width:min(100%,1200px);
	margin:0 auto;
	display: grid;
	gap:1rem;
	grid-template-columns: repeat(2, 1fr);
}
#top_ir li{
	position: relative;
	width:100%;
	padding:60% 0;
	background-image:url('./library/images/top_ir01.jpg');
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
}
#top_ir li:nth-of-type(2){
	background-image:url('./library/images/top_ir02.jpg');
}
#top_ir li::before{
	content:"";
	position: absolute;
	z-index: 1;
	top:0;
	right:0;
	left:0;
	bottom:0;
	background:rgba(0,0,0,0.7);
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_ir li:hover::before{
	background:rgba(0,0,0,0.3);
}
#top_ir li a{
	position: absolute;
	z-index: 3;
	top:0;
	right:0;
	left:0;
	bottom:0;
}
#top_ir li dl{
	position: absolute;
	z-index: 2;
	bottom:2rem;
	left:2rem;
	right:150px;
	color:#FFF;
}
#top_ir li .mid2{
	margin: 0 auto 1rem;
	color: #FFF;
}
#top_ir li .ar{
	position: absolute;
	z-index: 2;
	bottom:2rem;
	right:2rem;
	width:104px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_ir li:hover .ar{
	right:1rem;
}

#top_sp{
	width:100%;
	padding:12rem 5%;
}

#top_news {
	padding:8rem 145px 8rem 260px;
	background: #fff;
	position: relative;
	z-index: 1;
}
#top_news .inner{
	width:min(100%,1200px);
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items:flex-start;
}
#top_news .l{
	width:250px;
	margin-right: 5%;
}
#top_news .r{
	width:calc(100% - 250px - 5%);
}
#top_news li{
	border-top:1px solid #CCC;
	padding:2rem 0;
	position: relative;
}
#top_news li:last-of-type{
	border-bottom:1px solid #CCC;
}
#top_news li a{
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
#top_news dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
}
#top_news dt{
	width:calc(100% - 66px);
}
#top_news dt h3{
	font-weight: normal;
	font-size: 20px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#top_news dt p{
	font-size: 14px;
}
#top_news dd{
	width:46px;
	margin-left:20px;
}
#top_news dd img{
	position: relative;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	left: 0;
}
#top_news li:hover img{
	left:-1rem;
}
#top_news li:hover h3{
	color:#2DC139;
}
#top_news .linkbox a{
	float: none;
}

#top_co{
	width:100%;
	padding:8rem 145px 8rem 260px;
	position: relative;
	z-index: 1;
	background:rgba(0,0,0,0.4);
}
#top_co ul{
	width:min(100%,1200px);
	margin:0 auto;
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
}
#top_co li:nth-of-type(1){
	width:calc(100% - 110px - 2rem);
}
#top_co li:nth-of-type(2){
	width:110px;
	display: flex;
	justify-content:space-between;
	align-items: center;
	margin-left:2rem;
}
#top_co li .mid2,#top_co li p{
	color:#FFF;
}
#top_co li .mid2{
	margin-bottom: 2rem;
}
#top_co li .mid2 span::first-letter {
	color: #FFF;
}


/* 
 sub共通
----------------------------------------------------------- */ 
.subbg{
	background:#FFF;
}
.subbg #main{
	background-image:url('./library/images/subbg.jpg');
	background-size:100%;
	background-position:top center;
	background-repeat:no-repeat;
}
#subfv{
	width:100%;
	padding:9rem 145px 10rem 260px;
}
#subfv h1{
	font-weight: normal;
}
#subfv h1 dl{
	display: flex;
	justify-content: space-between;
	align-items:flex-end;
}
#subfv h1 dt{
	font-size: 70px;
	font-family: "Lato", sans-serif;
	line-height: 70px;
}
#subfv h1 dt::first-letter{
	font-size: 80px;
	color:#2DC139;
}
#subfv h1 dd{
	display:inline-block;
	position: relative;
	font-size: 16px;
}
#subfv h1 dd::before{
	content:"";
	position: absolute;
	top:50%;
	left:-25px;
	transform: translateY(-50%);
	width:15px;
	height:2px;
	background:#2DC139;
}
.subh2{
	font-size: 36px;
	line-height: 36px;
	margin-bottom:3rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #A5A5A5;
	font-weight: normal;
	position: relative;
}
.subh2::before{
	content:"";
	position: absolute;
	bottom:-1px;
	left:0;
	width:80px;
	height:1px;
	background:#2DC139;
}
.subh2 span{
	font-size: 16px;
	font-family: "Lato", sans-serif;
	display: block;
	color: #2DC139;
}

/* 
 about
----------------------------------------------------------- */ 
#about_fi {
	padding:8rem 145px 8rem 260px;
}
#about_fi .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#about_fi ul{
	display: flex;
	justify-content:space-between;
	align-items:flex-start;
}
#about_fi li:nth-of-type(1){
	width:27%;
	margin-right:3%;
}
#about_fi li:nth-of-type(2){
	width:70%;

}
#about_fi dl{
	margin-top:2rem;
	text-align: right;
}
#about_fi dd{
	font-size: 26px;
}
#about_fi dd span{
	font-size: 16px;
	margin-right:1rem;
}

#about_se {
	padding:0 145px 8rem 260px;
}
#about_se .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#about_se ul{
	display: flex;
	justify-content:space-between;
	align-items:flex-start;
}
#about_se li:nth-of-type(1){
	width:34%;
	margin-right:3%;
}
#about_se li:nth-of-type(2){
	width:63%;

}
#about_se dt{
	font-size:24px;
	margin-bottom:1.5rem;
}

#about_th {
	padding:0 145px 8rem 260px;
}
#about_th .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#about_th ul{
	display: flex;
	justify-content:space-between;
	align-items:flex-start;
}
#about_th li:nth-of-type(1){
	width:65%;
	margin-right:3%;
}
#about_th li:nth-of-type(2){
	width:32%;

}
#about_th h3{
	background:#2DC139;
	padding:0.3rem 0.5rem;
	color:#FFF;
	width:268px;
	font-size: 20px;
	margin:2rem 0 1rem;
}
#about_th h3:nth-of-type(1){
	margin:0 0 1rem;
}
#about_th dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
	border-bottom:1px solid #CCCCCC;
	padding:0.8rem 0;
}
#about_th dl:nth-of-type(1){
	padding:0 0 0.8rem;
}
#about_th dt{
	width:150px;
	border-right:1px solid #CCCCCC;
	padding:0 1rem;
}
#about_th dd{
	width:calc(100% - 150px);
	padding:0 1rem;
}

/* 
 事業概要
----------------------------------------------------------- */ 
#ser_fi,#ser_se,#ser_th{
	width:100%;
	padding:15rem 145px 15rem 260px;
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	background-attachment: fixed;
	position: relative;
	z-index:0;
}
#ser_fi{
	background-image:url('./library/images/ser_fi.jpg');
}
#ser_se{
	background-image:url('./library/images/ser_se.jpg');
}
#ser_th{
	background-image:url('./library/images/ser_th.jpg');
}
#ser_fi::before,
#ser_se::before,
#ser_th::before{
	content:"";
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(0,0,0,1);
	z-index:1;
	transition:all ease 1s;
	-webkit-transition:all ease 1s;
	-moz-transition:all ease 1s;
}
.on#ser_fi::before,
.on#ser_se::before,
.on#ser_th::before{
	background:rgba(0,0,0,0.7);
}
#ser_fi .inner,
#ser_se .inner,
#ser_th .inner{
	width:min(100%,1200px);
	margin:0 auto;
	position: relative;
	z-index: 2;
	color:#FFF;
}
#ser_fi .subh2,
#ser_se .subh2,
#ser_th .subh2{
  margin-bottom: 1.5rem;
}
#ser_fo{
	width:100%;
	padding:8rem 145px 8rem 260px;
}
#splide01{
	width:min(100%,1200px);
	margin:0 auto;
}
.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
.splide__pagination {
  bottom: 55px;
  padding: 0;
}
.splide__pagination__page.is-active {
  background: #2DC139;
}
#splide01 .linkbox {
  margin-top: 5rem;
}
.splide__arrow--prev {
  left: 0.5rem;
}
.splide__arrow--next {
  right: 0.5rem;
}
.splide__arrow {
  top: 28%;
}
#splide01 h3{
	font-size:20px;
	font-weight: normal;
}
#splide01 h3 a{
	color:#181B39;
}

/* 
 innolift
----------------------------------------------------------- */ 
#ino_fi {
	padding:8rem 145px 0 260px;
}
#ino_fi .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ino_fi ul{
	display: grid;
	gap:2rem;
	grid-template-columns: repeat(2, 1fr);
}
#ino_se {
	padding:8rem 145px 0 260px;
}
#ino_se .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ino_se h3{
	display: inline-block;
	background:#2DC139;
	padding:0.3rem 0.5rem;
	color:#FFF;
	font-size: 20px;
	margin:0 0 0.5rem;
}
#ino_se dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;
	border-bottom:1px solid #CCC;
	padding:0.5rem 0;
}
#ino_se dt{
	width:80px;
	color:#2DC139;
	font-size: 24px;
	font-weight: bold;
	position: relative;
	padding-left: 1rem;
}
#ino_se dt::before{
	content:"-";
	position: absolute;
	top:45%;
	left: 0;
	transform: translateY(-50%);
	color:#4C4C4C;
	font-weight:normal;
}
#ino_se dd{
	width:calc(100% - 80px);
	font-weight: bold;
}
#ino_th {
	padding:8rem 145px 0 260px;
}
#ino_th .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ino_th ul{
	display: grid;
	gap:2rem;
	grid-template-columns: repeat(2, 1fr);
	background:#F7F7F5;
	padding:2rem;
}
#ino_th p{
	margin-bottom:0.5rem;
	font-weight: bold;
}
#ino_th p::before{
	content:"●";
	margin-right:0.5rem;
	color:#2DC139;
}

#ino_fo {
	padding:8rem 145px 0 260px;
}
#ino_fo .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ino_fo ul{
	display: grid;
	gap:2rem;
	grid-template-columns: repeat(3, 1fr);
}
#ino_fo dt{
	font-weight: bold;
}
#ino_fo dt span{
	font-size: 24px;
	margin-right: 1rem;
	color:#2DC139;
}

#ino_fiv {
	padding:8rem 145px 0 260px;
}
#ino_fiv .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ino_fiv ul{
	display: grid;
	gap:2rem;
	grid-template-columns: repeat(2, 1fr);
}
#ino_fiv h3{
	font-size:16px;
	margin-bottom:1rem;
}
#ino_fiv h3 span{
	font-size: 24px;
	color: #2DC139;
	margin-right: 1rem;
}
#ino_fiv .box{
	margin-top:1rem;
	padding:2rem;
	background:#F7F7F5;
}
#ino_fiv dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
	padding:0.5rem 1rem;
	border-bottom:1px solid #4C4C4C;
}
#ino_fiv dt{
	width:100px;
}
#ino_fiv dd{
	width:calc(100% - 100px);
}

#ino_six {
	padding:8rem 145px 8rem 260px;
}
#ino_six .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#ino_six ul{
	display: grid;
	gap:1rem;
	grid-template-columns: repeat(4, 1fr);
}
#ino_six a{
	display: block;
	padding:1rem 2rem 1rem 1rem;
	color:#FFF;
	background: #F7AE0B;
	font-weight: bold;
	position: relative;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#ino_six a:hover{
	background:#FA9411; 
}
#ino_six a i{
	position: absolute;
	top:50%;
	right: 1rem;
	transform: translateY(-50%);
}

/* 
 採用情報
----------------------------------------------------------- */ 
#rec_fi {
	padding:8rem 145px 8rem 260px;
}
#rec_fi .inner{
	width:min(100%,1200px);
	margin:0 auto;
}
#rec_fi h2{
	font-weight: normal;
	margin-bottom: 3rem;
	font-size: 42px;
	text-align: center;
	font-family: "Lato", sans-serif;
}
#rec_fi h2::first-letter{
	color:#2DC139;
}
#rec_fi h2 span{
	font-size: 16px;
	display:block;
	font-family: "Noto Sans Japanese";
}
#rec_fi p{
	margin-bottom: 3rem;
}
#rec_fi dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items:flex-start;
	position: relative;
	border-bottom:1px solid #CCC;
}
#rec_fi dl::before{
	content:"";
	position: absolute;
	bottom:0;
	left: 0;
	width:200px;
	height:0.5px;
	background:#2DC139;
}
#rec_fi dt{
	width:200px;
	padding:1rem;
	font-weight: bold;
}
#rec_fi dd{
	width:calc(100% - 200px);
	padding:1rem 2rem;
}
#rec_fi .rec_btn{
	width:100%;
	margin-top:3rem;
}
#rec_fi .rec_btn a{
	width:min(100%,300px);
	color:#FFF;
	display: block;
	position: relative;
	font-family: "Lato", sans-serif;
	background: #F7AE0B;
	margin:0 auto;
	padding:1rem 2rem;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	font-weight: bold;
}
#rec_fi .rec_btn a:hover{
	background: #F7900B;
}
#rec_fi .rec_btn a::after{
	content:"";
	position: absolute;
	right:2rem;
	top:50%;
	transform: translateY(-50%);
	background-image:url('./library/images/arrow.svg');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	padding:1.5px 13px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#rec_fi .rec_btn a:hover::after{
	right:1rem;
}

/* 
 施工事例
----------------------------------------------------------- */ 
#works_cat{
	padding:8rem 145px 3rem 260px;
}
#works_cat .inner{
	width:min(100%,1200px);
	margin:0 auto;
	display: flex;
	justify-content: center;/*左右*/
	align-items:baseline;
	border-bottom:1px solid #CCC;
}
#works_cat .l{
	width:120px;
}
#works_cat .l h3{
	font-size: 20px;
	font-family: "Lato", sans-serif;
	display:inline;
	color:#2DC139;
}
#works_cat .r{
	width:calc(100% - 120px);
}
#works_cat ul{
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	align-items:baseline;
}
#works_cat li{
	margin-right:1rem;
}
#works_cat li a{
	color:#000;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	font-size: 14px;
}
#works_cat li a:hover{
	color:#2DC139;
}
#works_area{
	padding:0 145px 5rem 260px;
}
#works_area ul{
	width:min(100%,1200px);
	margin:0 auto;
	display: grid;
	gap:2rem;
	grid-template-columns: repeat(3, 1fr);
}
#works_area li{
	position: relative;
}
#works_area dt{
	margin-bottom:1rem;
}
#works_area dd h3{
	font-size: 20px;
	font-weight: normal;
}
#works_area dd a{
	color:#A5A5A5;
	font-size: 14px;
}
.articlelink{
	position: absolute;
	top:0;
	left:0;
	bottom:0;
	right: 0;
}

#works_single{
	padding:0 145px 0 260px;
}
#works_single h1{
	text-align: center;
	font-size:42px;
	line-height: 42px;
	font-weight: normal;
}
#works_single h1 a{
	font-size:16px;
	color:#4C4C4C;
	line-height: 16px;
}
.works_img{
	margin-top:3rem;
}
.works_img .img{
	margin-bottom:1rem;
}
.works_img .img:last-of-type{
	margin-bottom:0;
}

.works_txt{
	margin-top:2rem;
	padding:5%;
	background:#F7F7F5;
}
.works_txt h2{
	border-left:5px solid #2DC139;
	padding-left:0.5rem;
	margin-bottom:1rem;
	font-size:20px;
}
.works_txt ul{
	display: grid;
	gap:1.5rem;
	grid-template-columns: repeat(2, 1fr);
}
.works_txt li{
	border-bottom:1px solid #4C4C4C;
}
.works_txt li dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items:flex-start;
	padding:1rem 0;
	line-height: 25px;
}
.works_txt li dt{
	width:120px;
	padding:0 0 0 1rem;
	font-weight: bold;
}
.works_txt li dd{
	width:calc(100% - 120px);
	padding:0 0 0 2rem;
}

/* 
 contact
----------------------------------------------------------- */ 
#cont_fi {
	padding:8rem 145px 8rem 260px;
}
#cont_fi .inner{
	width:min(100%,800px);
	margin:0 auto;
}
#cont_fi h2{
	margin-bottom: 3rem;
	text-align: center;
}
.wpcf7{
	width:100%;
}
.wpcf7 dl{
	width:100%;
	margin-bottom:1.5rem;
}
.wpcf7 dt{
	width:100%;
	font-weight:bold;
}
.wpcf7 dt span{
	color:#d60101;
	font-size:0.7em;
	padding-left:1%;
}
.wpcf7 dd{
	width:100%;
}
.wpcf7 dd p{
	font-size:0.8rem;
	margin-top:0.5rem;
}
.wpcf7 .subbtn{
	width:100%;
	margin-top:3rem;
}
.wpcf7-submit{
	width:min(100%,300px);
	color:#FFF;
	display: block;
	position: relative;
	font-family: "Lato", sans-serif;
	background: #F7AE0B;
	margin:0 auto;
	padding:1rem 2rem;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	font-weight: bold;
	border:0;
}
.wpcf7-submit:hover{
	background: #F7900B;
}
.wpcf7-submit::after{
	content:"";
	position: absolute;
	right:2rem;
	top:50%;
	transform: translateY(-50%);
	background-image:url('./library/images/arrow.svg');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	padding:1.5px 13px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
.wpcf7-submit:hover::after{
	right:1rem;
}
.wpcf7-text{
	width: 100%;
	background-color: #FFF;
	max-width: 100%;
	border: 1px solid #D9E2E9;
	padding:0.3rem;
	font-size:0.9rem;
}
.wpcf7-text:focus{
	background-color:#fafeff;
}
.wpcf7-textarea, .mw_area {
	width: 100%;
	background-color: #FFF;
	max-width: 100%;
	border: 1px solid #D9E2E9;
	padding:0.3rem;
	font-size:0.9rem;
}
.priva {
	margin-top:2em;
}
.priva p {
	text-align:left;
}
.priva h3 {
	font-size: 100%;
}
.priva h3 span {
	font-size:0.8em;
	margin-left:1rem;
	display:inline-block;
}
.priva ul {
	width:100%;
	overflow-y:scroll;
	height:250px;
	border: 1px solid #D9E2E9;
	background:#FFF;
}
.priva li {
	padding:0 1rem 1rem 1rem;
	font-size:0.9rem;
}
.priva li h4 {
	margin:1.5em auto 0.5em;
	border-bottom:1px solid #000;
	font-size:1em;
}
.privabtn {
	text-align:center;
	margin-top:2em;
	font-weight:bold;
}
.cont_kanryo {
	width:100%;
	text-align:center;
	min-height:420px;
}
.shonin{
	margin-top:1rem;
	text-align: center;
}
/* 
 subpage共通
----------------------------------------------------------- */ 
#sub_mid {
	width:100%;
	padding:7rem 5% 4rem;
	text-align:center;
	background:#f8f8f8;
}
#sub_mid h1 {
	font-size:4rem;
}
/* 
 news index-archives page（サイドバー無し）
----------------------------------------------------------- */
#news_area{
	width:100%;
	padding:8rem 145px 8rem 260px;
}
.archivetitle {
	font-size: 30px;
	font-weight: bold;
	margin:0 auto 1rem;
}
.archivetitle span {
	font-size: 20px;
	padding-right: 15px;
}
.archivetitle a,
.bcontwrap a{
	color: #000;
}
#g_list {
	width:min(100%,1200px);
	margin:0 auto 3rem;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding:0.5rem 1rem 0.5rem 112px;
	background: #fff8f0;
	box-shadow: 0 3px 10px rgba(0,0,0,0.05);
	position:relative;
}
#g_list p{
	padding:0.5rem 0;
	position:absolute;
	top:0.5rem;
	left:1rem;
	font-weight:bold;
}
#g_list .box{
	padding:0.4rem 0.3rem;	
}
#g_list .box a{
	color:#000;
	background: #FFF;
	padding: 0.2rem 0.5rem;
	font-size:0.9rem;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#g_list .box a:hover{
	background: #4358A5;
	color:#FFF;	
}
.bcontwrap ul {
	display: -webkit-flex;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap
}
.bcontwrap ul li{
	width: 30%;
	margin-bottom: 50px;
	padding-bottom: 60px;
	position: relative;
	margin-right: 5%;
}
.bcontwrap ul li:nth-child(3n){
	margin-right:0;
}
.bcontwrap ul li:before {
	content:"";
	width:100%;
	height:1px;
	background-color:#000;
	position:absolute;
	bottom:0;
	left:50%;
	transform: translateX(-50%);
 }
.bcontwrap li dd:nth-child(1) {
	margin-bottom:10px;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.bcontwrap li dd:nth-child(1) a {
	color: #FFF;
	background: #4358A5;
	padding: 0 10px;
	margin:0 0 5px 5px;
	font-size: 14px;
}
.bcontwrap li dt:nth-child(2) {
	margin-bottom: 15px;
}
.bcontwrap li div {
	position: absolute;
	bottom: 30px;
	right: 0;
}
.bcontwrap h2 {
	font-size:20px;
	font-weight: bold;
	text-align: justify;
	margin-bottom: 10px;
}
.bcontwrap p{
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	margin-bottom: 1.25rem;
}
.bcontwrap .more_btn{
	position: relative;
    display: inline-block;
	padding: 0 50px 0 20px;
    text-decoration: none;
    outline: none;
	font-size: 14px;
	font-weight: bold;
}
.bcontwrap .more_btn::before{
    content: '';
	position: absolute;
    top:50%;
    right:10px; 
    width:30px;
    height: 2px;
	background:#111;
	transition:all ease 0.5s;
	-webkit-transition:all ease 0.5s;
	-moz-transition:all ease 0.5s;
}
.bcontwrap .more_btn::after{
    content: '';
	position: absolute;
    top:41%;
    right:10px;   
    width: 10px;
    height:1.5px;
	background:#111;
    transform: rotate(35deg);
	transition:all ease 0.5s;
	-webkit-transition:all ease 0.5s;
	-moz-transition:all ease 0.5s;
}
.bcontwrap .more_btn:hover::before{
    right:0;
}
.bcontwrap .more_btn:hover::after{
    right:0;
}
/* 
 news index-archives page（サイドバー有り）
----------------------------------------------------------- */
.ttl_maru{
	font-size:26px;
	margin-bottom:1rem;
	padding:0 0 0 0.5rem;
	color:#1C1C1C;
	position:relative;
	border-left:5px solid #2DC139;
	line-height:30px;
}
#wrap{
	width:min(100%,1200px);
	margin:0 auto;
	display:flex;
    justify-content:flex-start;
	flex-wrap:wrap;
}
#l_cotent{
	width:70%;
	margin-right:5%;
}
#l_cotent > .nlist > li{
	padding: 1.25rem 0;
	border-bottom: 1px solid #CCCCCC;
	position: relative;
}
#l_cotent .nlist li > a{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#l_cotent .nlist li dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items:flex-start;
}
#l_cotent .nlist li dt{
	width:30%;
}
#l_cotent .nlist li dd .info span{
	font-size:12px;
	margin-right:0.5rem;
}
#l_cotent .nlist li dd .info span a{
	color:#FFF;
	padding:0 0.5rem;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#l_cotent .nlist li dd .info span a:hover{
	color:#FFF;
	background:#4358A5;
}
#l_cotent .nlist li dd .info span:nth-of-type(1){
	margin-right:1rem;
}
#l_cotent .nlist li dd{
	width:65%;
	margin-left:5%;
}
#l_cotent .nlist li dd .info{
	font-size: 15px;
	margin:0.5rem auto 1rem;
}
#l_cotent .nlist li dd .info span:first-of-type{
	margin-right: 10px;
}
#l_cotent .nlist li dd span a{
	background:#2DC139;
	color:#FFF;
	padding:0.1rem 0.3rem;
	font-size:12px;
	white-space: nowrap;
	margin-right: 5px;
}
#l_cotent .nlist li dd h2{
	font-size:1rem;
	font-weight:normal;
}


#sidebar1 {
	width: 25%;
}
.widgettitle {
	font-size:1rem;
	padding-bottom:0.3rem;
	margin-bottom: 0.7rem;
	border-bottom: 1px solid #CCCCCC;
	font-weight: 500;
	color:#1C1C1C;
	position: relative;
}
.widgettitle::before{
	content:"";
	position: absolute;
	bottom:-0.5px;
	left: 0;
	width:100px;
	height:1.5px;
	background:#2DC139;
}
.widget ul {
  margin-bottom: 2rem;
}
.widget ul li a {
	width: 100%;
	font-size: 0.9rem;
	display: block;
	padding:0.3rem 2rem 0.3rem 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	position:relative;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	color:#000;
}
.widget ul li a:hover{
	color: #4358A5;
}
.widget ul li a::before{
	content:"";
	width:24px;
	height:5px;
	background:#DEDEDE;
	position:absolute;
	top:50%;
	right:0;
	transform:translateY(-50%);
	border-radius:10px;
	z-index:0;
}
.widget ul li a::after{
	content:"";
	width:5px;
	height:5px;
	background:#2DC139;
	position:absolute;
	top:50%;
	right:19px;
	transform:translateY(-50%);
	border-radius:10px;
	z-index:1;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
.widget ul li a:hover::after{
	right:0;
}
#archives-dropdown-2 {
	width: 100%;
	font-size: 0.9rem;
	padding: 0.7rem 1rem;
	border: 0px;
	background-color: #F0F0F0;
}
.archivetitle{
	width:100%;
	margin-bottom:2rem;
	font-weight:500;
}
/* news single page
----------------------------------------------------------- */
.tca {
	display: flex;
	align-items: center;
	margin-bottom: 2.5rem;
	flex-wrap: wrap;
}
.tca a {
	color: #FFF;
	padding: 0.1rem 0.3rem;
	font-size: 12px;
	white-space: nowrap;
	margin-right: 5px;
	background:#2DC139;
}
.tca a:after {
	content: " , ";
}
.tca a:last-of-type:after {
	content: "";
}
.stitle {
	font-size:26px;
	color: #1C1C1C;
	margin-bottom: 1rem;
	border-bottom: 1px solid #CCC;
	position: relative;
}
.stitle::before{
	content: "";
	background: #2DC139;
	position:absolute;
	bottom:-0.5px;
	left:0;
	width:100px;
	height:1.5px;
}
.singlecont {
	overflow:auto;
}
.singlecont h1 {
	font-size:20px;
	line-height: 1.5em;
	color: #1C1C1C;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
	position: relative;
}
.singlecont h1::before{
	content: "";
	height: 1px;
	width: 50px;
	background-color: #2DC139;
	position: absolute;
	bottom: -0.5px;
	left: 0;
}
.singlecont h2 {
	font-size:18px;
	padding-bottom: 10px;
	margin-bottom: 15px;
	position: relative;
	color: #1C1C1C;
	text-align: justify;
}
.singlecont h3 {
	border-left: 3px solid #2DC139;
	padding: 0 10px;
	margin-bottom:16px;
	color: #1C1C1C;
	background: none;
}
.singlecont h4 {
	background: #2DC139;
	color: #FFF;
	padding: 1px 10px 0;
	margin-bottom:16px;
}
.singlecont h5 {
	border-bottom: 1px dashed #2DC139;
	margin-bottom:16px;
	font-size: 16px;
	color: #1C1C1C;
}
.singlecont h6 {
	margin-bottom:16px;
	font-size: 16px;
	color: #1C1C1C;
}
.singlecont p{
	text-align: justify;
	font-size: 16px;
}
.singlecont img{
	margin-bottom:16px;
	height: auto;
	max-width: 100%;
}
.singlecont a{
	text-decoration: underline;
}
.singlecont ul {
	list-style: disc;
	list-style-position: inside;
}
.singlecont ol {
	list-style: decimal;
	list-style-position: inside;
}
.singlecont .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.singlecont .alignleft {
	float: left;
	margin: 0.5em 1em 0.5em 0;
}
.singlecont .alignright {
	float: right;
	margin: 0.5em 0 0.5em 1em;
}
/* 
 foot
----------------------------------------------------------- */
#footer {
	width:100%;
	background:#222222;
	padding:5rem 145px 5rem 260px;
	position: relative;
	color:#FFF;
}
#footer .inner {
	width:min(100%,1200px);
	margin:0 auto;
	display: flex;
	justify-content:space-between;
	align-items:flex-end;
}
#footer .l{
	width:300px;
}
#footer .l li{
	margin-bottom:1rem;
	width:min(100%,224px);
}
#footer .l li:last-of-type{
	margin-bottom:0;
}
#footer .l li a{
	color:#FFF;
	display: block;
	position: relative;
	font-family: "Lato", sans-serif;
}
#footer .l li a::after{
	content:"";
	position: absolute;
	right:0;
	top:50%;
	transform: translateY(-50%);
	background-image:url('./library/images/arrow.svg');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	padding:1.5px 13px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#footer .l li a:hover::after{
	right:-0.5rem;
}
#footer .r{
	position: absolute;
	bottom:0;
	right:0;
}
#footer .r dl{
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
}
#footer .r dt{
	width:310px;
	margin-right:2rem;
}
#footer .r dt h2{
	font-size:18px;
}
#footer .r dt p{
	font-size:14px;
}
#footer .r dd{
	width:calc(100% - 310px - 2rem);
}
.cop {
	text-align:center;
	writing-mode: vertical-rl;
	position: absolute;
	top:0;
	bottom:0;
	left:0;
	padding:1rem;
	font-size: 10px;
	border-right: 1px solid #FFF;
}
/* 
 smartphone menu btn
----------------------------------------------------------- */
#spnavbtn {
	position:fixed;
	top:1rem;
	right:-50px;
	z-index:-1;
	text-align:center;
	cursor:pointer;
	opacity: 0;
	transition:all ease 0.8s;
	-webkit-transition:all ease 0.8s;
	-moz-transition:all ease 0.8s;
	mix-blend-mode: difference; /* ←ここが肝！ */
}
#spnavbtn.visible{
	opacity: 1;
	z-index:999;
	right:2rem;
}
#spnavbtn p::before{
	content:"MENU";
	font-size: 12px;
	color: #FFF;
}
.nav-trigger, .nav-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.nav-trigger {
	position: relative;
	width: 36px;
	height: 18px;
}
.nav-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height:1.5px;
	background-color: #FFF;
	border-radius: 20px;
}
.nav-trigger span:nth-of-type(2){
	width: 50%;
}
.nav-trigger span:nth-of-type(1) {
	top: 0;
}
.nav-trigger span:nth-of-type(2) {
	top: 8px;
}
.nav-trigger span:nth-of-type(3) {
	bottom: 0;
}
/* 
 smartphone menu btn click
----------------------------------------------------------- */

#spnavbtn .activete::before {
	content:"CLOSE";
}
.nav-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.nav-trigger.active span:nth-of-type(2) {
	-webkit-transform: translateY(0px) rotate(45deg);
	transform: translateY(0px) rotate(45deg);
	width: 100%;
}
/* 
 smartphone menu btn click area
----------------------------------------------------------- */
#spnav {
	position:relative;
	z-index:998;
}
#spnav .trigger {
	width:100%;
	height:100vh;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
	position:fixed;
	top:0;
	left:-100%;
	opacity: 0;
	display: flex;
	justify-content: center;/*左右*/
	align-items: center;/*上下*/
}
#spnav .open {
	width:100%;
	height:100vh;
	position:fixed;
	top:0;
	left:0;
	z-index:99;
	opacity: 1;
	background: #222222;
}
#spnav h1 {
	display: inline-block;
	position: absolute;
	bottom:0;
	right:0;
}
#spnav h1 img {
	width:180px;
}
#spnav .l{
	width:35%;
	background-image:url('./library/images/nav_bg.jpg');
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	height: 100%;
}
#spnav .r{
	width:65%;
	padding:0 5% 0 10%;
}
#spnav ul{
	width:min(100%,400px);
}
#spnav li{
	margin:0.5rem 0;
}
#spnav li a{
	color:#FFF;
	display: block;
	position: relative;
	font-family: "Lato", sans-serif;
	font-size: 24px;
}
#spnav li a::after{
	content:"";
	position: absolute;
	right:0;
	top:50%;
	transform: translateY(-50%);
	background-image:url('./library/images/arrow.svg');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	padding:1.5px 13px;
	transition:all ease 0.3s;
	-webkit-transition:all ease 0.3s;
	-moz-transition:all ease 0.3s;
}
#spnav li a:hover::after{
	right:-0.5rem;
}
@media screen and (max-width: 1600px) {
}
@media screen and (max-width: 1400px) {
}
@media screen and (max-width: 1300px) {
/* 
 about
----------------------------------------------------------- */
#ino_six ul {
  grid-template-columns: repeat(2, 1fr);
}
}
@media screen and (max-width: 1200px) {
/* 
 contact
----------------------------------------------------------- */ 
.cont_area02_box {
	padding: 3.5rem 4rem 4rem;
	position: relative;
	top: -5rem;
	left: 5%;
	right:5%;
	margin-left: 0;
}
#cont_area02 {
	padding: 0 5%;
}
#cont_area03 {
	padding: 5rem 5%;
}

#footer {
  padding: 5rem 15%;
}
#footer .r dl {
  width: 500px;
}
}
@media screen and (max-width: 1100px) {
.pc {
	display:block;
}
.sp {
	display:none;
}
#cont_list {
	margin-top:0rem;
}
.navwrap li {
	display: none;
}
#spnavbtn {
	position:fixed;
	right:1rem;
	z-index:999;
	opacity: 1;
}

/* 
 TOP
----------------------------------------------------------- */ 
#top_fi dt img {
  width: 200px;
}
#blogo {
  width: 120px;
}
#top_acd,
#top_works,
#top_ir,
#top_news,
#top_co{
  padding: 5rem 5% 5rem 155px;
}
#top_sp {
  padding: 10rem 5%;
}
#spnavbtn.visible {
  right: 1rem;
}
	
/* 
 sub共通
----------------------------------------------------------- */
#subfv {
  width: 100%;
  padding: 9rem 5% 5rem 155px;
}

/* 
 about
----------------------------------------------------------- */
#about_fi,
#about_se{
  padding: 5rem 5% 0 155px;
}
#about_th{
  padding: 5rem 5% 5rem 155px;
}

/* 
 service
----------------------------------------------------------- */
#ser_fi, #ser_se, #ser_th {
  padding: 15rem 5% 15rem 155px;
  background-attachment: inherit;
}
#ser_fo{
	width:100%;
	padding:5rem 5% 5rem 155px;
}

/* 
 innolift
----------------------------------------------------------- */
#ino_fi,
#ino_se,
#ino_th,
#ino_fo,
#ino_fiv{
  padding: 5rem 5% 0 155px;
}
#ino_six{
  padding: 5rem 5% 5rem 155px;
}
#ino_fo ul {
  grid-template-columns: repeat(2, 1fr);
}
	
/* 
 採用情報
----------------------------------------------------------- */ 
#rec_fi{
  padding: 5rem 5% 5rem 155px;
}
/* 
 施工事例
----------------------------------------------------------- */ 
#works_cat {
  padding: 5rem 5% 3rem 155px;
}
#works_area {
  padding: 0 5% 0 155px;
}
#works_single {
  padding: 0 5% 0 155px;
}

/* 
 contact
----------------------------------------------------------- */ 
#cont_fi {
	padding: 5rem 5% 5rem 155px;
}
	
/* 
 news
----------------------------------------------------------- */ 
#news_area{
	padding: 5rem 5% 5rem 155px;
}
	
/* 
 smartphone menu btn
----------------------------------------------------------- */
#spnavbtn {
	top:0;
	right:1rem;
	display:block;
}
.nav-trigger {
	width: 30px;
}
#footer .r dl {
  width: 410px;
}
#footer .r dt {
  width: 290px;
  margin-right: 1rem;
}
#footer .r dt h2 {
  font-size: 16px;
}
#footer .r dd {
  width: calc(100% - 290px - 1rem);
}
}
@media screen and (max-width:950px) {

#blogo {
  width: 80px;
  top: 0.5rem;
  left: 0.5rem;
}
#top_acd, #top_works, #top_ir, #top_news, #top_co {
    padding: 3rem 5%;
}
#top_ir li .ar {
  bottom: 1rem;
  right: 1rem;
  width: 70px;
}
#top_ir li dl {
  bottom: 1rem;
  left: 1rem;
  right: 80px;
}
.mid {
  font-size: 42px;
  line-height: 42px;
  margin-bottom: 2rem;
}
.mid2 span::first-letter {
  font-size: 42px;
  line-height: 42px;
}
#top_sp {
  padding: 7rem 5%;
}
.mid2 {
  margin-bottom: 2rem;
}
#top_co li:nth-of-type(2) {
  width: 230px;
}
#top_co li:nth-of-type(1) {
  width: calc(100% - 230px - 2rem);
}

#footer {
	padding: 3rem 5% 3rem 80px;
}
#footer .inner {
  display: block;
}
#footer .r {
  position: relative;
  margin-top: 4rem;
}

/* 
 sub共通
----------------------------------------------------------- */
#subfv {
  padding: 7rem 5% 3rem 125px;
}
#subfv h1 dt::first-letter {
  font-size: 50px;
}
#subfv h1 dt{
  font-size: 40px;
}
.subh2 {
  font-size: 25px;
  line-height: 28px;
  margin-bottom: 2rem;
}

/* 
 about
----------------------------------------------------------- */
#about_fi, #about_se {
  padding: 5rem 5% 0 125px;
}
#about_th {
  padding: 5rem 5% 5rem 125px;
}
#about_se dt {
  font-size: 18px;
  margin-bottom: 1rem;
}
#about_th ul {
  display: block;
}
#about_th li:nth-of-type(1) {
  width: 100%;
  margin-right: 0;
}
#about_th li:nth-of-type(2) {
  display: none;
}

/* 
 service
----------------------------------------------------------- */
#ser_fi, #ser_se, #ser_th {
  padding: 10rem 5% 10rem 125px;
}
#ser_fo{
	width:100%;
	padding:5rem 5% 5rem 125px;
}
	
/* 
 innolift
----------------------------------------------------------- */
#ino_fi,
#ino_se,
#ino_th,
#ino_fo,
#ino_fiv{
  padding: 5rem 5% 0 125px;
}
#ino_six{
  padding: 5rem 5% 5rem 125px;
}
#ino_th ul {
  gap: 2rem;
  grid-template-columns: repeat(1, 1fr);
}
#ino_fiv .box {
  padding: 1rem;
}
#ino_fiv h3 span {
  font-size: 16px;
}
#ino_fiv h3 {
  font-size: 14px;
}
#ino_fiv dl {
  padding: 0.5rem 0rem;
}
#ino_fi ul {
  grid-template-columns: repeat(1, 1fr);
}

/* 
 採用情報
----------------------------------------------------------- */ 
#rec_fi{
  padding: 5rem 5% 5rem 125px;
}

/* 
 施工事例
----------------------------------------------------------- */ 
#works_cat {
  padding: 5rem 5% 3rem 125px;
}
#works_area {
  padding: 0 5% 0 125px;
}
#works_area dd h3 {
  font-size: 16px;
}
#works_single {
  padding: 0 5% 0 125px;
}
#works_single h1 {
  font-size: 25px;
  line-height: 35px;
}
.works_txt ul {
  gap: 0rem;
  grid-template-columns: repeat(1, 1fr);
}

/* 
 contact
----------------------------------------------------------- */ 
#cont_fi {
	padding: 5rem 5% 5rem 125px;
}
	
/* 
 news
----------------------------------------------------------- */ 
#news_area{
	padding: 5rem 5% 5rem 125px;
}
#mainsub {
	width:100%;
	float:none;
	margin:0 auto;
}
.sidebar {
	width:100%;
	float:none;
}
.stitle {
  font-size: 20px;
}
#spnav ul {
  width: 250px;
}
#spnav h1 img {
  width: 120px;
}
#spnav li a {
  font-size: 20px;
}
}
@media screen and (max-width:820px) {
.pc {
	display:none;
}
.sp {
	display:block;
}
.flex-prev {
	display:none!important;
}
.flex-next {
	display:none!important;
}

#spnav .l {
  width: 10%;
}
#spnav .r {
  width: 90%;
  padding: 0 5%;
}
#spnav li {
  margin: 0;
}
#top_fv {
  display:none;
}
#top_fvsp{
  display:block;
}

/* 
 共通部分
----------------------------------------------------------- */
#content {
	font-size:0.9em;
}
.subbg #main {
  background-size: 150%;
}

/* 
 contact
----------------------------------------------------------- */
.wpcf7 dl, .mw_wrap dl {
	width:100%;
	display:block;
	border-top:0px dashed #CCC;
	margin-bottom:1em;
}
.wpcf7 dt span, .mw_wrap dt span {
	color:#d60101;
	font-size:0.7em;
	padding-left:1%;
}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {
	display: inline-block;
	width: 26%;
}
.priva ul {
	font-size:0.9em;
}
/* 
news index-archives page（サイドバー無し）
----------------------------------------------------------- */
.archivetitle {
	font-size: 1.5rem;
	margin: 0 auto 1rem;
}
.archivetitle span {
	font-size: 1rem;
	padding-right: 5px;
}
.cate_list {
	background-color: #291F12;
	padding: 0.3rem 0.5rem 0.6rem;
	font-size: 1rem;
	line-height: 1.7rem;
	margin-bottom: 2rem;
}
.cate_list a {
	margin-right:5px;
	padding: 0 5px 2px;
	font-size: 0.8rem;
}
.bcontwrap ul li {
	width: 100%;
	margin-bottom: 2rem;
	padding-bottom: 4.5rem;
	margin-right: 0;
}
.bcontwrap li dd:nth-child(1) {
	font-size: 1rem;
}
.bcontwrap li dd:nth-child(1) a {
	padding: 1px 10px;
	margin: 0 0 0 5px;
	font-size: 12px;
}
.bcontwrap li dd:nth-child(1) {
	margin-bottom: 1rem;
}
/* news single page（サイドバー無し）
----------------------------------------------------------- */
#sidebar {
	width: 100%;
	margin-top: 40px;
}
#wrap {
	  display: block;
}
#sidebar1{
	width: 100%;
	margin-top:5rem;
}
#l_cotent {
	width: 100%;
	margin: 0;
}
/* 
 foot
----------------------------------------------------------- */
#prev, #next {
	width:100%;
	margin:0 0 0.4rem;
}
#next {
	float:right;
}
}
@media screen and (max-width:660px) {
#spnavbtn.visible {
  right: 1rem;
  top: 0;
}
#top_fi dt img {
    width: 130px;
}
#top_fi dd {
  margin-top: 1rem;
  font-size: 11px;
}
.mid {
    font-size: 25px;
    line-height: 25px;
}
#top_acd ul {
  gap: 2rem;
  grid-template-columns: repeat(1, 1fr);
}
.mid2 span::first-letter {
    font-size: 30px;
    line-height: 30px;
}
.mid2 span {
  font-size: 25px;
  line-height: 25px;
}
#top_works .box {
  width: 100%;
  display: block;
}
#top_works .l {
  display: none;
}
#top_works .r {
  width: 100%;
}
.linkbox {
  width: 100%;
  margin-top: 2rem;
}
#top_ir ul {
  gap: 1rem;
  grid-template-columns: repeat(1, 1fr);
}
#top_ir li {
  padding: 50% 0;
}
#top_acd {
  background:#F3F3F3;
}
#top_acd li dt {
  font-size: 20px;
}
#top_works li {
  padding: 1rem 0;
}
#top_works dt h3 {
  font-size: 16px;
}
#top_works dt p {
  font-size: 12px;
}
#top_works dt {
  width: calc(100% - 45px);
}
#top_works dd {
  width: 25px;
  margin-left: 20px;
}
#top_news .inner {
  display: block;
}
#top_news .l {
  width: 100%;
  margin: 0 auto 2rem;
}
#top_news .linkbox a {
  float: right;
}
#top_news .r {
  width: 100%;
}
#top_news li {
  padding: 1rem 0;
}
#top_news dt h3 {
  font-size: 16px;
}
#top_news dt p {
  font-size: 12px;
}
#top_news dt {
  width: calc(100% - 45px);
}
#top_news dd {
  width: 25px;
  margin-left: 20px;
}
#top_co ul {
  display: block;
}
#top_co li:nth-of-type(1) {
  width: 100%;
  margin-bottom: 2rem;
}
#top_co li:nth-of-type(2) {
    width: 100px;
    margin: 0 auto;
}
#footer .l {
  width: 100%;
}
.progress-wrap.btn-right-side {
  right: 10px!important;
}
.progress-wrap {
  bottom: 10px!important;
}

/* 
 sub共通
----------------------------------------------------------- */
.subbg #main {
  background-size: 156%;
  background-position: top left;
}
#subfv {
  padding: 6rem 5% 3rem;
}
#subfv h1 dt::first-letter {
  font-size: 35px;
}
#subfv h1 dt{
  font-size: 30px;
  line-height: 40px;
}
.subh2 {
  font-size: 25px;
  line-height: 28px;
  margin-bottom: 2rem;
}
.subh2 {
    font-size: 20px;
    line-height: 23px;
}
.subh2 span {
  font-size: 14px;
}

/* 
 about
----------------------------------------------------------- */
#about_fi, #about_se {
    padding:3rem 5% 0;
}
#about_fi ul,#about_se ul{
  display: block;
}
#about_fi li:nth-of-type(1) {
  width: 250px;
  margin: 0 auto 1rem;
}
#about_fi li:nth-of-type(2) {
  width: 100%;
}
#about_se li:nth-of-type(1) {
  width: 100%;
  margin: 0 auto 1rem;
}
#about_se li:nth-of-type(2) {
  width: 100%;
}
#about_se dt {
    font-size: 16px;
}
#about_th {
    padding: 3rem 5%;
}
#about_th h3 {
  width: 100%;
  font-size: 16px;
  margin: 2rem 0 1rem;
}
#about_th dt {
  width: 110px;
  padding: 0 1rem;
}
#about_th dd {
  width: calc(100% - 110px);
  padding: 0 1rem;
}

/* 
 service
----------------------------------------------------------- */
#ser_fi, #ser_se, #ser_th {
  padding: 5rem 5%;
}
#ser_fo{
	width:100%;
	padding:3rem 5%;
}

/* 
 innolift
----------------------------------------------------------- */
#ino_fi,
#ino_se,
#ino_th,
#ino_fo,
#ino_fiv{
  padding: 3rem 5% 0;
}
#ino_six{
  padding: 3rem 5%;
}
#ino_se h3 {
  font-size: 16px;
}
#ino_se dt {
  width: 60px;
}
#ino_se dd {
  width: calc(100% - 60px);
}
#ino_th ul {
  padding: 1rem;
}
#ino_fo ul {
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
#ino_fiv ul {
  grid-template-columns: repeat(1, 1fr);
}
#ino_six ul {
  grid-template-columns: repeat(1, 1fr);
  gap: 0.5rem;
}

/* 
 採用情報
----------------------------------------------------------- */ 
#rec_fi{
  padding:3rem 5%;
}
#rec_fi p {
  margin-bottom: 2rem;
}
#rec_fi h2 {
  margin-bottom: 2rem;
  font-size: 20px;
}
#rec_fi dl {
  display: block;
}
#rec_fi dt {
  width: 100%;
  padding: 1rem 0.5rem 0.5rem;
  font-weight: bold;
}
#rec_fi dd {
  width: 100%;
  padding: 0 0.5rem 1rem;
}
#rec_fi .rec_btn {
  margin-top: 2rem;
}
#rec_fi dl::before {
  display: none;
}

/* 
 施工事例
----------------------------------------------------------- */ 
#works_cat {
  padding: 2rem 5%;
}
#works_area {
  padding: 0 5% 3rem;
}
#works_area ul {
  grid-template-columns: repeat(1, 1fr);
}
#works_cat li {
  margin-right: 0.5rem;
}
#works_single {
  padding: 0 5%;
}
#works_single h1 {
  font-size: 20px;
  line-height: 30px;
}
.works_img {
  margin-top: 1rem;
}
.works_txt h2 {
  font-size: 18px;
}
.works_txt li dt {
  width: 90px;
  padding: 0;
}
.works_txt li dd {
  width: calc(100% - 90px);
  padding: 0 0 0 1.5rem;
}
.works_txt li dl {
  line-height: 21px;
}
#works_cat .l {
  width: 105px;
}
#works_cat .r {
  width: calc(100% - 105px);
}
.pagination, .wp-prev-next {
  padding: 3rem 0;
}

/* 
 contact
----------------------------------------------------------- */ 
#cont_fi {
	padding:3rem 5%;
}
#cont_fi h2 {
  margin-bottom: 2rem;
}
	
/* 
 news
----------------------------------------------------------- */
#news_area{
	padding:3rem 5%;
}
#l_cotent > ul {
	margin-bottom: 0;
}
#l_cotent .nlist li dd .info {
  font-size: 14px;
  margin: 0.5rem auto;
}
#l_cotent .nlist li dd p{
	font-size: 14px;
	display:none;
}
#sidebar1{
	width: 100%;
	margin-top:4rem;
}

.cop {
  padding: 1rem 0.5rem;
}
#footer {
  padding: 3rem 5% 3rem 24%;
}
#footer .r {
  display: none;
}
}
