@charset "UTF-8";

/*******************************
 共通
********************************/
/* pc,sp切り替え */
.pc_only{
  display:none;
}
.tb-only{
  display:block;
}
.sp-only {
  display: block;
}
.pctb-only{
	display:none;
}
/* section */
.width-limit {
  padding:0 1.5rem;
}
.pc-br{
	display:none;
}
.sp-br{
	display:block;
}

/*******************************
 Clasic Editor スタイル
********************************/
.contents-editor p{
	line-height: 1.5;
	letter-spacing: 1.5px;
	font-size: 0.95rem;
}
.contents-editor ul{
	padding-left: 38px;
}
.contents-editor ul li{
	line-height: 1.5;
	letter-spacing: 1.5px;
	font-size: 1.5rem;
}
.contents-editor img{
	margin: 15px 0;
}
.contents-editor h1,
.contents-editor h2,
.contents-editor h3,
.contents-editor h4,
.contents-editor h5{
	font-size: 1.3rem;
}

/*******************************
 ヘッダー
********************************/
.header-wrapper .header-logo img{
	/*width: 57vw;*/
  /*width:55vw;*/
  width:40vw;
}
.header-wrapper .header-toggle{
	margin: 0 5px 0 auto;
	width: 31px;
	height: 28px;
}
.header-wrapper .header-menublock{
  /* height:calc(100vh - clamp(4.404rem, 1.688rem + 13.58vw, 6.772rem)); */
}
.header-wrapper .header-menuinner > a{
	padding: 15px 10px;
}
.header-wrapper .header-tbmenu p{
	/*font-size: 1.6rem;*/
  font-size:1rem;
}

/*******************************
 ヘッダー
********************************/
.footer-wrapper{
	width:100%;
	/* margin:3rem auto 3rem; */
	margin:6rem auto 3rem;
}
.footer-wrapper .footer-block{
  flex-direction: column;
  align-items:start;
}
.footer-wrapper .footer-detail-logo{
	text-align:center;
}
.footer-wrapper .footer-detail-logo-img{
	/*max-width:300px;*/
  /* max-width:220px; */
	max-width:120px;
}
.footer-wrapper .footer-detail-address{
	margin-bottom:1.5rem;
	letter-spacing: 1.5px;
}
.footer-wrapper .footer-detail-link{
	margin-bottom:2.5rem;
	max-width:250px;
	padding:0.8rem 0;
	font-size:1.2rem;
	letter-spacing: 2px;
	gap:30px;
}
.footer-wrapper .footer-menu-list-item{
  font-size:0.95rem;
}
.footer-wrapper .footer-copyright{
  margin-top:2rem;
  text-align:center;
}
.footer-wrapper .footer-copyright-p{
  font-size:0.8rem;
  line-height:1.4;
}
/*******************************
 サブページ共通
********************************/
.subpage-temp-container{
  position:relative;
}
.subpage-temp-image-img{
  height:50svh;
}
.subpage-temp-detail{
  height:3rem;
}
.subpage-temp-detail-title{
  font-size:1.3rem;
  letter-spacing: 5px;
}
.subpage-temp-detail-subtitle{
  font-size:3rem;
  letter-spacing: 8px;
}

/*******************************
 パンくずリスト
********************************/
.breadcrumbs-area {
  padding:1rem 0;
  width:100%;
}

.breadcrumbs {
  font-size: 1rem;
  /* font-weight:700; */
  letter-spacing: 2px;
  line-height: 1.8;
}

.breadcrumbs-arrow-img {
  margin: 0 0.5rem;
  /* height: 0.8rem; */
}

/*******************************
 TOP
********************************/
/* fv */
.front-fv .swiper-slide-img2 {
	object-position:23% 50%;
}
/*news*/
.front-news{
	/* margin:4rem auto; */
	margin:6rem auto;
}
.front-news .front-news-wrapper{
	width:100%;
	/* padding:5rem 0; */
}
.front-news .front-news-lead-title{
	/* font-size:1.5rem;
	padding-top:6px;
	padding-left:6px; */
	font-size:1.6rem;
	padding:6px;
}
.front-news .front-news-lead-title::before{
	height:24px;
	left:calc(50% - 2px);
}
.front-news .front-news-lead-link{/**/
	font-size:0.9rem;
	width:140px;
	padding:0.5rem 1rem;
}
.front-news .front-news-lead-link::after{
	content: '';
	position:absolute;
	right:1rem;
	width: 17px;
	height: 3px;
}
.front-news .front-news-block{
	/* width:calc(100% - 8px); */
	width:100%;
	position:relative;
	margin-top:2rem;
}
/* .front-news .front-news-block::before{
	content:"";
	position:absolute;
	bottom:-8px;
	right:-8px;
	width:calc(100% - 56px);
	height:calc(100% - 8px);
	z-index:-1;
	border:3px solid #f2f2f2;
} */
.front-news .front-news-list{
	margin-bottom:2rem;
}
.front-news .front-news-item-link{
	gap:0.6rem 0.5rem;
	flex-wrap:wrap;
	padding:0.8rem 1rem;
}
.front-news .front-news-item-time-img{
	/* width:30px; */
}
.front-news .front-news-item-time{
	/* width:50px;; */
	padding-left:0;
	font-size:0.85rem;
}
/* .front-news .front-news-item-year{
	padding-bottom:3px;
	margin-bottom:3px;
	font-size:0.7em;
} */
.front-news .front-news-item-category{
	padding:0.35rem 1rem;
	font-size:0.8rem;
}
.front-news .front-news-item-title{
	/* width:calc(100% - 50px); */
	width:100%;
	font-size:0.9rem;
	padding:0;
}
.front-news .front-news-box-link{
	max-width:250px;
	padding:1rem 0;
	font-size: 1.2rem;
	letter-spacing: 3px;
  gap: 30px;
}
.front-news .front-news-box-link:hover{
	top:6px;
	left:calc(50% + 6px);
	transition:all 0.5s;
}
.front-news .front-news-box-link:hover::before{
	top:0;
	left:0;
	transition:all 0.5s;
}

/*front-about*/
.front-about{
	/* margin-bottom:4rem; */
	margin-bottom:6rem;
	background-size:cover;
}
/* .front-about::before{
	font-size:clamp(6.5rem, 1.339rem + 25.81vw, 11rem);
} */

.front-about .front-about-wrapper{
	width:100%;
}
.front-about-block{
	/* width:95vw; */
	width:94vw;
	margin:1rem 0;
	margin-left:auto;
}
.front-about .front-about-box{
	width:100%;
	max-width:unset;
	padding:1rem 1.5rem;
}
/* .front-about .front-about-box:not(.front-work .front-about-box){
	padding-right:calc(1.5rem + 17px);
} */
.front-about .front-about-box-title{
	/* font-size:1.5rem; */
	font-size:1.6rem;
	padding-top:6px;
	padding-left:0;
	margin-bottom:1.8rem;
}
.front-about .front-about-box-title::before{
	height: 24px;
	top: 0;
	left: -10px;
}
.front-about .front-about-box-text{
	font-size:0.95rem;
	line-height:1.6;
	letter-spacing: 1px;
	margin-bottom:2rem;
}
.front-about .front-about-box-link{
	max-width:250px;
	padding:1rem 0;
	font-size: 1.2rem;
	letter-spacing: 3px;
  gap: 30px;
}

.front-about .front-about-box-link:hover{
	top:6px;
	left:6px;
	transition:all 0.5s;
}
.front-about .front-about-box-link:hover::before{
	top:0;
	left:0;
	transition:all 0.5s;
}
/*front-work*/
.front-work{
	/* margin-bottom:4rem; */
	margin-bottom:6rem;
}
.front-work .front-about-box{
	padding-left:1.5rem;
}

/*front-recruit*/
.front-recruit{

}
.front-recruit::after{

	font-size:6.5rem;
	
}

.front-recruit .front-recruit-wrapper{
	width:100%;
}
.front-recruit .front-recruit-link{
	/* padding:4rem 0 3.5rem; */
	padding:3rem 0 3.5rem;
}
.front-recruit .front-recruit-detail{
	gap:15px;
	/* width:calc(100% - calc(50px + 30px)); */
	width:calc(100% - calc(50px + 5px));
}
.front-recruit .front-recruit-detail-lead{
	font-size: 1.05rem;
	letter-spacing: 1px;
}
.front-recruit .front-recruit-detail-small{
	font-size:0.7rem;
}
.front-recruit .front-recruit-arrow{
	width: 50px;
	height: 50px;
	min-width: 50px;
	min-height: 50px;
	border-radius: 50%;
  border: 2px solid #534741;
}
.front-recruit .front-recruit-arrow::after{
	width: 25px;
	height: 5px;
	margin-right:2.5px;
  border-bottom: solid 2px #534741;
  border-right: solid 3px #534741;
}
@media (max-width:400px){
	.front-recruit .front-recruit-detail{
		width:calc(100% - calc(50px - 10px));
	}
}


/*******************************
 採用情報
********************************/
.recruit-block{
  width:100%;
}
.recruit-block .flex-wrapper {
  flex-direction: column;
}
.recruit-block .title h2 {
	font-size:1.3rem;
	letter-spacing: 1px;
}
.recruit-block .content-textbox{
	margin-top: 2.8em;
}
.recruit-block .flex-wrapper .flex-1 {
  width: 100%;
}
.recruit-block .flex-1 h2{
  text-align: center;
  font-size: 28px;
  line-height: 1.7;
	display:block;
}
.recruit-block .flex-1 .block.first {
  margin-left: 0;
}
.recruit-block .flex-1 .block.center {
  margin-left: 0;
}
.recruit-block .flex-1 .block.last {
  margin-left: 0;
}
.recruit-block .flex-1 p {
  margin-top: 30px;
  line-height: 1.6em;
}
.recruit-block .flex-wrapper .flex-2 {
  width: 100%;
  margin-top: 15px;
}
.recruit-block .flex-wrapper .flex-2 img {
  border-radius: 8px;
  height: 220px;
}
.recruit-block .flex-wrapper.wrap-2 {
  margin-top: 35px;
}
.recruit-block .flex-wrapper .flex-3 {
  width: 100%;
  margin-top: 15px;
  order: 2;
}
.recruit-block .flex-wrapper .flex-3 img {
  border-radius: 8px;
  height: 220px;
	object-position:center 20%;
}
.recruit-block .flex-wrapper .flex-4 {
  width: 100%;
  margin-top: 8px;
  order: 1;
}
.recruit-block .flex-4 h2 {
  text-align: center;
  font-size: 28px;
  line-height: 1.7;
	display:block;
}
.recruit-block .flex-4 .first {
  margin-left: 0;
  margin-right: 0;
}
.recruit-block .flex-4 .center {
  margin-left: 0;
  margin-right: 0;
}
.recruit-block .flex-4 .last {
  margin-left: 0;
  margin-right: 0;
}
.recruit-block .flex-4 p {
  margin-top: 20px;
  line-height: 1.6em;
}
.recruit-block .flex-5 {
  width: 100%;
}
.recruit-block .flex-5 img {
  width: 100%;
  border-radius: 8px;
  /*height: 100%;*/
	max-height:300px;
}
.recruit-block .flex-5 .detail {
  margin-top: 15px;
  font-size: 15px;
}
.recruit-block .flex-5 .content {
  margin-top: 20px;
}
.recruit-block .flex-5 .content h4 {
	font-size:1.1rem;
}
.recruit-block .flex-5 .content .thick {
  font-size: 1em;
  letter-spacing: 0.02em;
}
/*.recruit-block .flex-5 .content .first .thick {
  margin-right: 1em;
}
.recruit-block .flex-5 .content .second .thick {
  margin-right: 3em;
}
.recruit-block .flex-5 .content .third .thick {
  margin-right: 3em;
}*/
.recruit-block .flex-5 .content .thin {
  font-size: 0.9em;
  letter-spacing: 0.02em;
}
.recruit-block .flex-6 {
  width: 100%;
  margin-top: 35px;
}
.recruit-block .flex-6 img {
  width: 100%;
  border-radius: 8px;
  height: 100%;
}
.recruit-block .flex-6 .detail {
  margin-top: 15px;
  font-size: 15px;
}
.recruit-block .flex-6 .content .thick {
  font-size: 1em;
  letter-spacing: 0.02em;
}
.recruit-block .flex-6 .content .thin {
  font-size: 0.9em;
  letter-spacing: 0.02em;
}
.recruit-block .flex-6 .content .first .thick {
  margin-right: 1em;
}
.recruit-block .flex-6 .content .second .thick {
  margin-right: 3em;
}
.recruit-block .contact p {
  text-indent: -1.1em;
  font-size: 14px;
}
.recruit-block .contact p:nth-child(3),
.recruit-block .contact p:nth-child(4) {
  padding-left: 2.2em;
}
.recruit-block .contact .tel_mobile{
  padding-left:0.6em;
}

/*******************************
 お問い合わせ
********************************/
.contact-block{
	width: 100%;
}
.contact-gray{
	padding: 40px 0 40px 0;
}
.contact-inner{
	width: 88%;
}
.contact-item{
	margin-bottom: 2.5em;
}
.contact-flex{
	margin-bottom: 0.3em;
}
.contact-left{
	margin-right: 0.7em;
	padding: 6px 16px;
}
.contact-left p{
	/*font-size: 1.4rem;*/
  font-size:0.9rem;
}
.contact-right p{
	/*font-size: 1.6rem;*/
  font-size:1rem;
}
.contact-form input,
.contact-form textarea{
	padding: 10px 15px;
	/*font-size: 1.4rem;*/
  font-size:0.9rem;
}
.contact-form textarea{
	height: 180px;
}
.contact-submit{
	margin-top: 3em;
}
.contact-submit input{
	width: 50%;
	/*margin: 0 auto 0 4.8em;*/
  margin:0 auto;
	padding: 8px 0;
	border-radius: 3px;
	/*font-size: 1.4rem;*/
  font-size:0.9rem;
}


/*******************************
 新着情報(一覧)
********************************/
.arcnews-wrapper .arcnews-block{
	width: 100%;
}
.arcnews-wrapper .arcnews-contents{
  width:100%;
}
.arcnews-wrapper .arcnews-item{
	padding: 0.6rem 1rem;
	gap:0.6rem 0.5rem;
	flex-wrap:wrap;
	
}
.arcnews-wrapper .arcnews-date{
	font-size: 1rem;
}
.arcnews-wrapper .arcnews-date span{
	margin-left: 5px;
}
.arcnews-wrapper .arcnews-category{
	padding: 0.35rem 1rem;
  font-size: 0.8rem;
}
/* .arcnews-wrapper .arcnews-text .arcnews-text-title{ */
.arcnews-wrapper .arcnews-title{
	line-height: 1.7;
  font-size:0.95rem;
	width:100%;
}
.arcnews-wrapper .arcnews-pagenavi a{
	margin: 0 6px;
	font-size:0.9rem;
	min-width:35px;
	min-height:35px;
}
.arcnews-wrapper .arcnews-pagenavi a.previouspostslink,
.arcnews-wrapper .arcnews-pagenavi a.nextpostslink{
	font-size:0.9rem;
}
.arcnews-wrapper .arcnews-pagenavi span.current{
	margin: 0 6px;
	min-width:35px;
	min-height:35px;
}

/*******************************
 新着情報(詳細)
********************************/
.singnews-wrapper .singnews-block{
	width: 100%;
}
.singnews-wrapper .singnews-box{
	padding:40px 5%;
}
.singnews-wrapper .singnews-titlebox{
	margin-bottom:2rem;
}

.singnews-wrapper .singnews-title h2{
  font-size:1.3rem;
	padding-bottom:0.3rem;
}
.singnews-wrapper .singnews-date p{
  font-size:0.95rem;
}
.singnews-wrapper .singnews-contents{
	/* width: 92%; */
	/* margin: 0 auto 5em auto; */
}
.singnews-wrapper .singnews-contents p{
	line-height: 1.5;
	letter-spacing: 1.5px;
	/*font-size: 1.5rem;*/
  font-size:0.95rem;
}
.singnews-wrapper .singnews-contents img{
	margin: 15px 0;
}
.singnews-wrapper .singnews-contents h1,
.singnews-wrapper .singnews-contents h2,
.singnews-wrapper .singnews-contents h3,
.singnews-wrapper .singnews-contents h4{
  font-size:1.4rem;
}
.singnews-wrapper .btn{
	padding: 12px 35px;
}
.singnews-wrapper .btn p {
	font-size: 0.9rem;
}
.singnews-wrapper .outlink{
	font-size:1rem;
	line-height:1.4;
	text-align:left;
}
.singnews-wrapper .outlink-link{
	color:var(--text-color);
	text-decoration:none;
	display:inline-block;
	border-bottom:1px solid var(--text-color);
	transition:all 0.5s;
}
.singnews-wrapper .outlink-link:hover{
	color:var(--primary);
	border-color:transparent;
}
.singnews-wrapper .singnews-prevnext{
	/* margin: 5em auto 0 auto; */
}
.singnews-wrapper .singnews-prevnext-link{
	gap:0.5rem;
	padding:0.5rem 0.6rem;
}
.singnews-wrapper .singnews-prevarrow,
.singnews-wrapper .singnews-nextarrow{
	width: 15px;
	min-width:15px;
}
.singnews-wrapper .singnews-prevnext-title{
	font-size:0.85rem;
}

/****************************
 施行実績(一覧)
*****************************/
.per-wrapper .per-block{
	width:100%;
	gap:3rem;
}
.per-wrapper .per-item{
	width:100%;
}
.per-wrapper .per-item-image{
	width:100%;
	margin-bottom:0.7rem;
}
.per-wrapper .per-item-title{
	font-size:1rem;
	padding-bottom:8px;
	margin-bottom:8px;
}
.per-wrapper .per-item-lead{
	font-size:12px;
}
.per-wrapper .per-item-link{
	max-width:400px;
	padding:0.8rem 1.5rem;
	font-size:0.8rem;
	letter-spacing: 0.5px;
}
.per-wrapper .per-item-arrow{
	width:17px;
	height:4px;
}
/*ページネーション*/
.per-wrapper .per-pagenavi a{
	margin: 0 6px;
	font-size:0.9rem;
	min-width:35px;
	min-height:35px;
}
.per-wrapper .per-pagenavi a:hover{
	color:#fff;
	background:#000;
}
.per-wrapper .per-pagenavi a.previouspostslink,
.per-wrapper .per-pagenavi a.nextpostslink{
	font-size:0.9rem;
}
.per-wrapper .per-pagenavi span.current{
	margin: 0 6px;
	min-width:35px;
	min-height:35px;
}

/*******************************
 施行実績(詳細)
********************************/
.singper-wrapper .singper-block{
	width: 100%;
}
.singper-wrapper .singper-box{
	padding:40px 5%;
}
.singper-wrapper .singper-titlebox{
	margin-bottom:2rem;
}

.singper-wrapper .singper-title h2{
  font-size:1.3rem;
	padding-bottom:0.3rem;
}
.singper-wrapper .singper-date p{
  font-size:0.95rem;
}
.singper-wrapper .singper-contents{
	margin: 0 auto 5em auto;
}
.singper-wrapper .singper-contents p{
	line-height: 1.5;
	letter-spacing: 1.5px;
  font-size:0.95rem;
}
.singper-wrapper .singper-contents img{
	margin: 15px 0;
}
.singper-wrapper .singper-contents h1,
.singper-wrapper .singper-contents h2,
.singper-wrapper .singper-contents h3,
.singper-wrapper .singper-contents h4{
  font-size:1.4rem;
}
.singper-wrapper .btn{
	padding: 12px 35px;
}
.singper-wrapper .btn p {
	font-size: 0.9rem;
}
.singper-wrapper .outlink{
	font-size:1rem;
	line-height:1.4;
	text-align:left;
}
.singper-wrapper .outlink-link{
	color:var(--text-color);
	text-decoration:none;
	display:inline-block;
	border-bottom:1px solid var(--text-color);
	transition:all 0.5s;
}
.singper-wrapper .outlink-link:hover{
	color:var(--primary);
	border-color:transparent;
}
.singper-wrapper .singper-prevnext-link{
	gap:0.5rem;
	padding:0.5rem 0.6rem;
}
.singper-wrapper .singper-prevarrow,
.singper-wrapper .singper-nextarrow{
	width: 15px;
	min-width:15px;
}
.singper-wrapper .singper-prevnext-title{
	font-size:0.85rem;
}
.singper-wrapper .content .images {
	/* width: calc(100% / 2); */
	width:calc((100% - 0.5rem) / 2);
}
.singper-wrapper .more-read a{
	padding:0.6rem 1rem;
}
.singper-wrapper .more-read a span{
	font-size:0.95rem;
}