@charset "utf-8";
/*
Theme Name: 株式会社植村組
*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
  line-height:1.5;
  font-family: 
      'Noto Sans JP',
      "Helvetica Neue",
      Arial,
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      Meiryo,
      sans-serif;
  color:#333;
  -webkit-text-size-adjust: none;
  background:url(images/bg-hdrgreen-left.svg) no-repeat left top / 33%,
  url(images/bg-hdr-l-gear.svg) no-repeat left 570px / 30%,
  url(images/bg-hdr-r-gear.svg) no-repeat right top / 30%;
}

img{max-width:100%;height:auto;}

.pc{display:block;}
.sp{display:none;}

@media only screen and (max-width:1024px){
body {font-size: 90%;}
.pc{display:none;}
.sp{display:block;}
}

@media only screen and (max-width:600px){
  body{
    background: url(images/bg-hdrgreen-left.svg) no-repeat left top / 33%, 
    url(images/bg-hdr-l-gear.svg) no-repeat left 280px / 60%, 
    url(images/bg-hdr-r-gear.svg) no-repeat right top / 40%;
  }
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}


.mr10{margin-right:10px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px!important;}

.mb0,.subpage .mb0{margin-bottom:0;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px!important;}

.pr60,.subpage .pr60{padding-right:60px;}


/* リンク設定
------------------------------------------------------------*/
a{
  margin:0;
  padding:0;
  text-decoration:underline;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  font-size:100%;
  color:#000;
  transition: 0.5s;
}

a:hover, a:active{opacity:0.6;color:#2C742B;text-decoration:none;}


/**** Clearfix ****/
.nav .panel:before,nav .panel:after, nav#mainNav:before,nav#mainNav:after, .newsTitle:before,.newsTitle:after{content: ""; display: table;}
nav .panel:after,nav#mainNav:after,.newsTitle:after{clear: both;}
nav .panel,nav#mainNav,.newsTitle{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea,select,input[type="email"]{
  vertical-align:middle;
  max-width:90%;
  line-height:30px;
  height:30px;
  padding:1px 5px;
  border:1px solid #d4d4d7;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  font-size:100%;
  color:#555;
  background:#fcfcfc;
}

textarea{
  height:auto;
  line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
  padding:3px 10px;
  background: #000;
  border:1px solid #000;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  line-height:1.5;
  font-size:100%;
  color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
  background: #fff;
  border:1px solid #000;
  color:#000;
  transition:0.5s;
}

*:first-child+html input[type="submit"]{padding:3px;}




/* レイアウト
------------------------------------------------------------*/
#wrapper{padding-top: 60px;}

.inner,.subpage .inner{
  margin:0 auto;
  width:1100px;
}

.inner:after{content: "";clear: both;display: block;}

#header{overflow:hidden;}

#top-content {
  background: url(images/bg-r-beige.svg) no-repeat right top / 40% ,
  url(images/bg-l-beige.svg) no-repeat 4% 40% / 50%;

}

/*#content-onecolumn{
  background: url(images/bg-r-beige.svg) no-repeat right top / 40% , 
  url(images/bg-l-beige.svg) no-repeat 4% 1200px / 50%;
}*/

/*#content-onecolumn.sub-service,
#content-onecolumn.sub-recruit
{background:none;}*/

#content-sub{
  float:right;
  width:800px;
  padding:30px 0;
}

#sidebar{
  float:left;
  width:265px;
  padding:30px 0;
}

#footer {
  clear: both;
  padding-top: 30px;
  background: #64727A url(images/bg-f-gear.svg) no-repeat left bottom / 150px;
  font-size: 90%;
}

.page-single{
  width:1000px;
  margin:0 auto;
  margin: 30px auto 0;
}

.page-single .inner{
  width:auto;
}

@media only screen and (max-width:1024px){
  .inner,.subpage .inner{
    width:auto!important;
    padding:0 20px;
  }
  .page-single{
    width:auto;
  }
  #content-sub {
    width: 68%;
  }
  #sidebar{
    width:28%;
  }
}

@media only screen and (max-width:813px){
  #content-sub, #sidebar {
    float: none;
    width: auto;
    padding: 0 20px 30px;
  }
}

@media only screen and (max-width:600px){
	#top-content {
    background:url(images/bg-r-beige.svg) no-repeat right 8% / 60% , 
    url(images/bg-l-beige.svg) no-repeat 4% 40% / 50%;
  }
}

@media only screen and (max-width:350px){
  .inner,.subpage .inner{
    padding:0 10px;
  }
}

/* ヘッダー
*****************************************************/

/* ロゴ (サイトタイトル)
----------------------------------*/
#header h1{
  padding:10px 0 0 3px;
  color: #781f12;
  font-size:90%;
  font-weight:normal;
}


/* コンタクトインフォメーション
----------------------------------*/



/* トップページ　メイン画像
----------------------------------*/
#mainImg{
  line-height:0;
  text-align:center;
  z-index:0;
}

#mainImg .slick-dots{
	bottom:10px;
}
#mainImg .slick-dotted.slick-slider{
	margin-bottom:0;
}
.single-item .slick-dots li button:before{
	font-size:16px;
	color:#C7BB95;
	opacity:1;
}
.single-item .slick-dots li.slick-active button:before{
	color:#AD9356;
}

#mainImg .card{text-align:center;}
#mainImg .card img{margin:0 auto;}

/*スライド部分*/
.carousel-wrapper {
  position: relative;
}
.carousel {
  height: 660px;
  margin-bottom: 3em;
}
.item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 660px;
  text-align: center;
  color: #fff;
  font-size: 32px;
  font-weight: bold;
}

#mainImg .swiper-3d .swiper-slide-shadow-left,
#mainImg .swiper-3d .swiper-slide-shadow-right{
  background-image:none;
}

#mainImg .swiper-button-next, 
#mainImg .swiper-button-prev{
	color:#fff;
}

@media only screen and (max-width:1024px){
	#mainImg{padding:0;}
}

@media only screen and (max-width:896px){
	.carousel {
	  height: 560px;
	  margin-bottom: 3em;
	}
	#mainImg .swiper-horizontal>.swiper-pagination-bullets, 
	#mainImg .swiper-pagination-bullets.swiper-pagination-horizontal, 
	#mainImg .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 100px;
	}
	#mainImg {
    margin-top: -100px;
	}
}

@media only screen and (max-width:600px){
	#mainImg {
    margin-top: -200px;
	}
	.carousel {
	  height: 450px;
	}
	#mainImg .swiper-horizontal>.swiper-pagination-bullets, 
	#mainImg .swiper-pagination-bullets.swiper-pagination-horizontal, 
	#mainImg .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 200px;
	}
}

/*スライド施工事例版*/
#slide-results .item{
  font-size:inherit;
  padding:50px 0;
  height:600px;
  padding:40px 20px;
}
#slide-results .item a{
  height:100%;
  width:100%;
  overflow:hidden;
  border-top-right-radius:100px;
  position:relative;
  font-size:inherit;
  color:#fff;
}
#slide-results .slide-results-img{
  width:100%;
  height:100%;
}
#slide-results .slide-results-img img{
  height:100%;
  width:auto;
  max-width:inherit;
}
#slide-results .slide-results-title{
  position:absolute;
  bottom:0;
  font-size:150%;
  width:95%;
  padding:200px 0 50px 5%;
  background:linear-gradient(rgba(255,255,255,0),rgba(73, 216, 137, 0.9));
  text-align:left;
}
@media only screen and (max-width:880px){
  #slide-results .item{height:450px;}
  #slide-results .item a{border-radius:0;}
  #slide-results .slide-results-title{line-height:1.3;padding:50px 0 30px 5%;}
}
#slide-results-mobile li a{
  position:relative;
  color:#fff;
  display:block;
}
#slide-results-mobile .slide-results-title{
  position:absolute;
  bottom:20px;
  right:10px;
  font-size:150%;
  padding:20px;
  background:#15a85e;
  text-align:left;
}


/* 250909追記分-スライドをウィジェットに変更- */
#mainImg.widget_slide {
  margin-bottom: 100px;
}

#slide-results .slide-results-img figure{
  position: relative;
}

#slide-results .slide-results-img figure figcaption {
  position:absolute;
  bottom:0;
  font-size:300%;
  letter-spacing: 10px;
  width:95%;
  padding:200px 0 50px 5%;
  text-align:left;
  line-height: 1em;
}

#slide-results .slide-results-img figure figcaption em {
  font-size: 40%;
  letter-spacing: 5px;
  display: block;
}

#slide-results .slide-results-img figure.green figcaption{
  background:linear-gradient(rgba(255,255,255,0),rgba(118, 179, 90, 0.9));
}

#slide-results .slide-results-img figure.yellow figcaption{
  background:linear-gradient(rgba(255,255,255,0),rgba(222, 186, 63, 0.9));
}

#slide-results .slide-results-img figure.blue figcaption{
  background:linear-gradient(rgba(255,255,255,0),rgba(26, 129, 166, 0.9));
}

#slide-results .slide-results-img figure.red figcaption{
  background:linear-gradient(rgba(255,255,255,0),rgba(198, 79, 78, 0.9));
}

#slide-results .slide-results-img figure img {
  /* height: 600px; */
  aspect-ratio: 5 / 5;
  width: 100%;
  max-width: inherit;
  object-fit: cover;
  border-top-right-radius: 20%;
}

#slide-results .item .slide-results-img figure a{
  display:block;
}

#slide-results .item .slide-results-img figure.wp-block-image figcaption{
  margin-bottom:0;
}

@media screen and (max-width: 1000px){
  #mainImg.widget_slide {
    margin-bottom: 50px;
  }
}

@media only screen and (max-width: 896px) {
  #mainImg.widget_slide  {
    margin-top: 0;
    padding:0 20px;
    height: auto;
    aspect-ratio: 500 / 300;
  }
  #mainImg.widget_slide .carousel{
    /* height:600px; */
  }
  #mainImg.widget_slide .swiper-horizontal>.swiper-pagination-bullets, 
	#mainImg.widget_slide .swiper-pagination-bullets.swiper-pagination-horizontal, 
	#mainImg.widget_slide .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 30px;
	}
}

@media screen and (max-width: 700px){
  #mainImg.widget_slide{margin-bottom: -100px;}
  #mainImg.widget_slide .swiper-horizontal>.swiper-pagination-bullets, 
	#mainImg.widget_slide .swiper-pagination-bullets.swiper-pagination-horizontal, 
	#mainImg.widget_slide .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 100px;
	}
}

@media screen and (max-width: 600px){
  #mainImg.widget_slide .carousel{height:450px;}
  #mainImg.widget_slide #slide-results .item{padding:0;}
  #slide-results .slide-results-img figure figcaption {
    font-size:100%;
  }
  #mainImg.widget_slide .swiper-horizontal>.swiper-pagination-bullets, 
	#mainImg.widget_slide .swiper-pagination-bullets.swiper-pagination-horizontal, 
	#mainImg.widget_slide .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 180px;
	}
  #mainImg .swiper-button-next, #mainImg .swiper-button-prev {
    top: 35%;
  }
}



/* タイポグラフィ
*****************************************************/


img.aligncenter {
  display: block;
  margin:5px auto;
}

img.alignright, img.alignleft{
  padding:4px;
  margin:0 0 2px 7px;
  display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}
.center{text-align:center;}

.txt-left{text-align:left;}
.txt-right{text-align:right;}


/* サイドバー　ウィジェット
*****************************************************/

#searchform input[type="text"]{
  line-height:1.7;
  height:24px;
  width:130px;
  vertical-align:bottom;
}

#sidebar .newsTitle h3 {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 1px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  margin-top: 7px;
}

.side_news_box {
  border-bottom: 1px dashed #000;
  padding: 10px 0;
}

#sidebar time {
  display: block;
}

#sidebar .btn-black {
  text-align: center;
  margin: 30px 0;
}





/* フッター
*****************************************************/
.footer-banner {
  background: #FAFAFA;
  padding: 70px 0;
  margin-top: 100px;
}

.footer-banner ul {
  text-align: center;
}

.footer-banner ul li {
  width: 45%;
  display: inline-block;
  margin: 0 20px;
}

.footer_container {
  display: flex;
  color: #fff;
  letter-spacing: 1px;
  padding: 20px 0 20px;
}

.f-info {
  width: 50%;
}

.f-menu {
  width: 50%;
  display: flex;
}

.f-menu ul {
  width: 50%;
}

.f-menu ul li {
  padding: 4px 0;
}

.f-menu ul li a {
  color: #fff;
  text-decoration: none;
}


#copyright{
  clear:both;
  padding:5px;
  color:#fff;
  text-align:center;
  font-style:normal;
  font-size:85%;
  zoom:1;
}

@media only screen and (max-width:768px){
  .footer-banner ul li {
    width: 40%;
  }
}

@media only screen and (max-width:600px){
	.footer_container {
    display: block;
	}
	.f-info {
    margin-bottom: 30px;
	}
	.f-info, .f-menu {
    width: 92%;
    padding: 0 4%;
    text-align: center;
	}
  .footer-banner ul li {
    width: 90%;
    margin-bottom: 20px;
  }
}


/*上に戻る*/
.page_top {
	position:fixed;
	bottom:10px;
	right:10px;
	padding:10px 20px;
	color:#fff;
	font-size:20px;
	text-decoration:none;

}
.page_top:hover {

	opacity:0.5;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
  clear:both;
  width: 100%;
  height: 30px;
  margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
  clear:both;
  color:#5a0000;
  text-align:center;
}


/* トップページ
------------------------------------------------------------*/
#top_news {
  margin-bottom: 30px;
}

.news_container {
  display: flex;
}

.news_box{
  width:50%;
}

.news_box:first-child{
  margin-right:40px;
  /*position: relative;*/
}

.news_box iframe {
  /*position: absolute;
  bottom: 0;*/
  width: 100%;
  margin-top: 80px;
}

.news_container .news_box h2 {
  text-align: center;
  font-weight: bold;
  letter-spacing: 3px;
  font-size: 170%;
  margin-bottom: 20px;
}

.news_container .news_box h2 .s-txt{
  display:block;
  font-size:50%;
  color: #2c5f29;
}

.news_container .news_box ul {
  border-top: 1px dashed #006934;
}

.news_container .news_box ul li.news_list_box {
  border-bottom: 1px dashed #006934;
  padding: 15px 20px;
}

.news_list_box .post-cat a {
  color: #fff;
  padding: 2px 10px 3px;
  font-size: 90%;
  border-radius: 3px;
  margin-right: 5px;
  display: inline-block;
  min-width: 80px;
  text-align: center;
  text-decoration:none;
}

.news_list_box .icon-news a {background: #5DBFB8;}
.news_list_box .icon-blog a {background: #2D9EE5;}
.news_list_box .icon-media a {background: #EB7F7F;}
.news_list_box .icon-voice a {background: #9d80ba;}
.news_list_box .icon-prize a {background: #E89E61;}

.news_list_box .post-title a {
  text-shadow: 2px 2px 2px #fff;
}

.news_list_box .post-title a:hover{opacity: 1;}

.btn-gray {
  text-align: center;
  margin: 30px 0;
}

.btn-gray a {
  background: #5C5C5C;
  color: #fff;
  padding: 7px 30px;
  border-radius:5px;
  text-decoration: none;
}


.btn-black {
  text-align: center;
  margin: 30px 0;
}

.btn-black a {
  background: #000;
  color: #fff;
  padding: 10px 30px;
  border-radius:5px;
  text-decoration: none;
}

@media only screen and (max-width:600px){
	.news_container {
    display: block;
	}
	.news_box {
    width: 100%;
	}
  .news_box iframe{
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .news_container .news_box ul li.news_list_box {
    padding: 15px 0;
  }
}


/*事業案内*/
#top_service {
  margin-bottom: 150px;
}

.service_container {
  position: relative;
}

.service_txt {
  background: #2C742B;
  padding: 8% 4% 4%;
  color: #fff;
  width: 60%;
  border-radius: 0 100px 0 0;
}

.service_txt p {
  width: 66%;
  margin-bottom: 20px;
}

.service_bnr {
  width: 33%;
  position: absolute;
  right: 30px;
  bottom: -20%;
}

.service_illust{position:relative;}

.service_illust {
  display: block;
  margin-bottom: -50px;
  text-align: right;
}

.service_illust #arm{
  animation-name: juki;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

@media only screen and (max-width:896px){
	.service_bnr{width: 45%;}
}

@media only screen and (max-width:600px){
	.service_txt {width: 70%;}
	.service_bnr {
		width: 65%;
		right: 10px;
    bottom: -60%;
	}

	#top_service {
    margin-bottom: 250px;
	}
  .service_txt p {
    width: 90%;
  }
}

/*中央バナーエリア*/
.top_bnr_area2 {
  padding: 30px 0 70px;
}

.top_bnr_area2 ul{text-align:center;}

.top_bnr_area2 li {
  width: 23%;
  display: inline-block;
  margin-bottom: 40px;
  margin-right: 2%;
}

.top_bnr_area2 li:last-child {
  margin-right: 0;
}

@media only screen and (max-width:600px){
  .top_bnr_area2 li {
    width: 45%;
    margin-right: 4%;
    margin-bottom: 20px;
  }
  .top_bnr_area2 li:nth-child(even) {
    margin-right: 0;
  }
}


/*下部バナーエリア*/
.top_bnr_area {
  padding: 30px 0 70px;
}

.top_bnr_area li {
  width: 48%;
  display: inline-block;
  margin-bottom: 40px;
}

.top_bnr_area li:nth-child(odd) {
  margin-right: 40px;
}

@media only screen and (max-width:1024px){
	.top_bnr_area li:nth-child(odd) {
    margin-right: 20px;
	}
}
@media only screen and (max-width:600px){
	.top_bnr_area li {
    width: 100%;
	}
}


/*施工事例*/
#top_works {
  background: url(images/bg-pier.svg) no-repeat 16px 53px / 1330px, url(images/bg-road.svg) repeat-x 50px 55px / 650px;
  background-color: #66CBE2;
  padding: 30px 0 70px;
  position: relative;
  width: 100%;
  overflow: hidden;
}

.works_container {
  text-align: center;
  margin-top: 300px;
}

@keyframes moveToDump {
0%{
  /*ここに開始のCSSを記述*/
  left: 100%;
  margin-right: -350px;
  margin-left: 0;
  }
49%{
  transform: rotateY(0deg);  
}  
50%{
  left: 0%;
  margin-right: 0;
  margin-left: -350px;
  transform: rotateY(180deg);
}
99%{
  transform: rotateY(180deg);  
}
100%{
  /*ここに終了のCSSを記述*/
  left: 100%;
  margin-right: -350px;
  margin-left: 0;
  transform: rotateY(0deg);
  }
}

.icon_dump {
  animation-name: moveToDump;
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.works_box {
  width: 230px;
  display: inline-block;
  margin-right: 40px;
  margin-bottom: 20px;
  background: rgba(255,255,255,0.7);
  padding: 20px;
  text-align:left;
  vertical-align: top;
  box-shadow:0 2px 3px rgba(0,0,0,0.3);
  min-height: 360px;
}

.works_box:last-child {
  margin-right: 0;
}

.works_box-img img {
  width: 230px;
  height: 230px;
  object-fit: cover;
}

.works_box-cat a {
  background: #000;
  color: #fff;
  padding: 2px 10px;
  font-size: 85%;
  letter-spacing: 2px;
  display: inline-block;
  margin: 5px 0;
}

.works_box-title a {
  font-size: 110%;
  letter-spacing: 2px;
  font-weight: bold;
  text-decoration: underline;
}

.works_box-title a:hover{
  opacity:1;
  text-decoration: none;
}

.works_illust {
  position: absolute;
}

.icon_fish {
	bottom: 140px;
	left: 100px;
}

@keyframes moveToShip {
0%{
  /*ここに開始のCSSを記述*/
  right: 100%;
  margin-left: -400px;
  margin-right: 0;
  }
49%{
  transform: rotateY(0deg);  
}  
50%{
  right: 0%;
  margin-left: 0;
  margin-right: -400px;
  transform: rotateY(180deg);
}
99%{
  transform: rotateY(180deg);  
}
100%{
  /*ここに終了のCSSを記述*/
  right: 100%;
  margin-left: -400px;
  margin-right: 0;
  transform: rotateY(0deg);
  }
}

.icon_ship {
  bottom: 20px;
  right: 250px;
  animation-name: moveToShip;
  animation-duration: 60s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}


@media only screen and (max-width:1300px){
  .works_container {padding: 0 20px;}
  .works_box{width:18%;}
}

@media only screen and (max-width:1024px){
	#top_works {
    background: url(images/bg-pier.svg) no-repeat -164px 53px / 1330px, 
    url(images/bg-road.svg) repeat-x -130px 55px / 650px;
    background-color: #66CBE2;
  }
  .works_box {width: 16%;}
  .works_box-img img {
    width: 160px;
    height: 160px;
	}
}

@media only screen and (max-width:896px){
	#top_works {
    background: url(images/bg-pier.svg) no-repeat -294px 53px / 1330px, url(images/bg-road.svg) repeat-x -260px 55px / 650px;
    background-color: #66CBE2;
	}

  .icon_dump {
    animation-duration: 15s;
  }
	.works_box {
    margin-right: 20px;
	}
	.works_box-img img {
    width: 110px;
    height: 110px;
	}
	.icon_fish {
    bottom: 200px;
    left: 10px;
    height: 100px;
    overflow: hidden;
	}
	.icon_fish img {
    width: 250px;
	}
}

@media only screen and (max-width:830px){
  #top_works .btn-black {
    margin-bottom: 80px;
  }
  .icon_fish{bottom: 250px;}
}

@media only screen and (max-width:678px){
  .works_box{margin-right:10px;}
}

@media only screen and (max-width:600px){
	#top_works {
    background: url(images/bg-pier.svg) no-repeat -694px 53px / 1330px, 
    url(images/bg-road.svg) repeat-x -260px 55px / 650px;
    background-color: #66CBE2;
	}
	.works_box {
    width: 33%;
	}
	.works_box:nth-child(even) {
    margin-right: 0;
	}
	.works_box-img img {
    width: 120px;
    height: 120px;
	}
	.txt-right {
    margin-top: 130px;
	}
}

@media only screen and (max-width:500px){
  .icon_fish{bottom: 220px;}
}

@media only screen and (max-width:350px){
  .works_box {
    width: 80%;
    margin-right: 0;
    min-height: 250px;
  }
  .works_box-img img {
    width: 100%;
  }
  #top_works .txt-right.mr40 {
    margin-right: 0;
  }
}


/*下部バナーエリア*/
.top_bnr_area.fbn {
  background: url(images/bg-bnr-watch.svg) no-repeat 40px 40px / 35%, 
  url(images/bg-bnr-gear.svg) no-repeat right 90% / 30%;
  background-color: #FAFAFA;
  padding-top: 100px;
}

.top_bnr_area.fbn ul li a img {
  box-shadow: 0 3px 6px rgb(0 0 0 / 20%);
}

.top_bnr_area li a {
  text-decoration: none;
}

.top_bnr_area li p {
  font-size: 150%;
  font-weight: bold;
  letter-spacing: 5px;
  position: relative;
}

.top_bnr_area li p span {
  font-size: 60%;
  letter-spacing: 1px;
  color: #2b742c;
  position: absolute;
  right: 0;
  top: 10px;
}

@media only screen and (max-width:813px){
  .top_bnr_area li p {
    font-size: 110%;
  }
}


/* メインメニュー
------------------------------------------------------------*/
.header-inner{padding:0 30px;}

#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  padding: 5px 0;
  line-height: 1;
  z-index: 999;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}
#top-head a,
#top-head {
  color: #000;
  text-decoration: none;
}
#top-head .inner {
  position: relative;
}
#top-head .logo {
  float: left;
  font-size: 36px;
  margin: 0.67em 0 0.67em 10px;
}
#global-nav ul {
  list-style: none;
  position: absolute;
  right: 10px;
  top: 40px;
  font-size: 16px;
  margin:0;
}
#global-nav ul li {
  float: left;
}
#global-nav ul li a {
  padding: 0 15px;
  margin: 0 3px;
  transition: none;
}

#global-nav ul li a:hover {
  border-bottom: 2px solid #2c5f29;
}

/* Fixed */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  background:rgba(255,255,255,0.7);
}
#top-head.fixed .logo {
  font-size: 24px;
  color: #333;
}
#top-head.fixed #global-nav ul{
  top:30px;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #000;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 11px;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media screen and (max-width: 1024px) {
.header-inner{padding:0;}

#top-head {
  top: 0;
  position: fixed;
  margin-top: 0;
}
/* Fixed reset */
#top-head.fixed {
  padding-top: 0;
  /*background: transparent;*/
}
#mobile-head {
  width: 100%;
  height: 56px;
  z-index: 999;
  position: relative;
}
#top-head.fixed .logo,
#top-head .logo {
  position: absolute;
  left: 13px;
  top: 0;
  color: #333;
  font-size: 26px;
  width:230px;
  margin-top: 5px;
}

#top-head h1{margin-top:8px;}
#global-nav {
  position: absolute;
  /* 開いてないときは画面外に配置 */
  top: -500px;
  background: #fff;
  width: 100%;
  text-align: center;
  padding: 10px 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
#global-nav ul {
  list-style: none;
  position: static;
  right: 0;
  bottom: 0;
}
#global-nav ul li {
  float: none;
  position: static;
}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
  width: 100%;
  display: block;
  color: #000;
  padding: 18px 0;
}
#nav-toggle {
  display: block;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
/* #global-nav スライドアニメーション */
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(556px);
  -webkit-transform: translateY(556px);
  transform: translateY(556px);
}
}
/*メニューここまで*/
@media screen and (min-width: 901px) {
.sp-none{display:none;}
}



/* サブページ
------------------------------------------------------------*/
/*共通部分*/
.subpage .btn-green a {
  background: #fff;
  color: #000;
  font-size: 100%;
  border: 1px solid #2c5f29;
  position: relative;
  padding: 10px 50px 10px 20px;
  border-radius: 50px;
  text-decoration: none;
}

.subpage .btn-green a:hover{color:#000;opacity:1;}

.subpage .btn-green a::after {
  content: "";
  display: inline-block;
  background: url(images/btn-arrow_grn.svg);
  width: 22px;
  height: 22px;
  position: absolute;
  right: 15px;
  top: 12px;
}

.subpage .btn-green a:hover::after{
  background: url(images/btn-arrow_hover_grn.svg);
  transition: 1s;
}

.subpage .column_space .wp-block-column {
  padding: 20px;
}

.subpage p {
  margin-bottom: 10px;
}

.subpage a{text-decoration: underline;}
.subpage a:hover{text-decoration:none;}

.dateLabel {
  text-align: right;
}

.shadow img{box-shadow: 0px 3px 6px rgb(0 0 0 / 30%);}

.subpage .wp-container-3, .subpage .wp-container-6,.subpage .wp-block-columns {
  gap: 0em;
}

.subpage .wp-block-column {
  margin-right: 40px;
}

.subpage .wp-block-column:last-child {
  margin-right: 0;
}

.subpage .wp-block-embed iframe {
  max-width: 100%;
  width: 100%;
}

@media only screen and (max-width:1024px){
  .page-single table td span {
    display: inline-block;
    word-wrap: break-word;
    word-break: break-all;
  }
}

@media only screen and (max-width:768px){
  .subpage .wp-block-column {
    margin-right: 0;
  }
  .page-single table td span {
    font-size: 100%!important;
  }
}

@media only screen and (max-width:500px){
  .subpage .wp-block-column {
    margin-right: 0;
    margin-bottom: 20px;
  }
}


/*パンくず*/
.crumbs{
  padding-top:5px;
  padding-bottom:10px;
}

.sub-site .crumbs,
.sub-privacy .crumbs{
  padding-top: 5px;
  padding-bottom: 5px;
  background: #eee;
  border-radius: 5px;
  padding-left: 20px;
  margin-bottom: 20px;
}

/*見出し*/

h2.sub-top {
  text-align: center;
  font-size: 190%;
  font-weight: bold;
  letter-spacing: 5px;
  margin: 50px 0;
}

.page-single h2.title.first {
  font-size: 170%;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 10px;
  border-bottom: 2px solid #000;
}

.subpage h3 {
  padding: 10px 20px;
  margin-bottom: 10px;
  font-size: 150%;
  font-weight: bold;
  color: #fff;
  background: #2d5e28;
  border-radius: 5px;
}

.subpage h3.style_none {
  color: #000;
  background: none;
  padding-left: 0;
  padding-right: 0;
  letter-spacing: 2px;
  font-size: 170%;
}

.subpage h4 {
  font-size: 130%;
  font-weight: bold;
  border: 2px solid #2d5e28;
  color: #2d5e28;
  padding: 3px 15px;
  border-radius: 5px;
  margin-bottom: 20px;
}

.subpage h4.style_none {
  color: #000;
  letter-spacing: 3px;
  padding-left: 0;
  border: none;
  margin-bottom: 10px;
  font-size: 140%;
}

.subpage h5 {
  position: relative;
  padding: 0px 10px;
  margin-left: 25px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.subpage h5:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left:-1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #2d5e28;
  border-radius: 150%;
}

.subpage h5.style_none {
  padding: 0;
  margin-bottom: 10px;
  font-weight: bold;
  margin-left: 0;
  font-size: 120%;
}

.subpage h5.style_none::after{
  content:none;
}

@media only screen and (max-width:400px){
  .subpage h3.style_none{font-size:150%;}
  .subpage h3 {
    font-size: 120%;
  }
  .subpage h4{font-size:110%;}
}

/*リスト*/
.subpage ul li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
}
.subpage ul li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #000;
  border-radius: 150%;
}

.subpage ul li ul{
  border:none;
  padding:0;
}

.subpage ul li ul li{
  margin-top:5px;
  padding-bottom:0px;
}

.subpage ul, .subpage ol{
  margin-bottom:10px;
  margin-left:0px;
  padding:0;
  border-radius:10px;
  padding:10px 10px;
}

.subpage ol li{
  list-style-type:decimal;
  margin-left:20px;
  margin-bottom:5px;
}

/*テーブル*/

.subpage table{
  margin-bottom:15px;
  border-collapse:collapse;
}
.subpage table th{
  background:#eee;
  color:#000;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}
.subpage table td{
  padding:10px;
  vertical-align:top;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}

.subpage .first-td table td:first-child{
  background:#eee;
  color:#000;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}


.subpage .info_table{
  line-height:1.5;
  margin-bottom:15px;
  border:none;
  border-collapse:separate;
  border-spacing:3px;
}
.subpage .info_table thead th{
  background:#2c5f29;
  border-radius:5px;
  color:#fff;
  border-collapse:separate;
  border-spacing:3px;
  border:none;
}
.subpage .info_table th{
  color:#2c5f29;
  background:none;
  font-size:110%;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border-bottom:1px dotted #cccccc;
  border-left:none;
  border-right:none;
  border-top:none;
}
.subpage .info_table td{
  padding:10px;
  color:#323232;
  vertical-align:top;
  border-bottom:1px dotted #cccccc;
  border-left:none;
  border-right:none;
  border-top:none;
}

.subpage .info_table.first-td td:first-child{
  color:#2c5f29;
  background:none;
  font-size:110%;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border-bottom:1px dotted #cccccc;
  border-left:none;
  border-right:none;
  border-top:none;
}

.subpage .nonetable,.subpage .nonetable th,.subpage .nonetable td{border:none;background:none;}

.subpage strong{
  background: linear-gradient(transparent 50%, #ffff66 50%);
  font-weight:bold;
}

/*アーカイブ**************************************/
.subpage .archive-link{
background: #d8d8d8;
padding-left:20px;
padding-top:7px;
font-size:130%;
padding-bottom:5px;
margin-bottom:10px;
}

.archive-excerpt p.btn-green {
  margin-top: 30px;
}

.archive-box{
  border:1px solid #ccc;
  background:#fff;
  padding:15px;
  margin-bottom:10px;
  border-radius:10px;
}
.archive-box:after {content: "";clear: both;display: block;}
.archive-img{
  width:30%;
  float:right;
}
.archive-excerpt{
  width:65%;
  float:left;
}

.archive-excerpt .btn-more{margin-top:20px;}

#content-sub h3.archive-link {
  background: #e5e5e5;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 5px 10px;
  font-size: 138.5%;
  border: none;
  border-radius: 5px;
}

#content-sub h3.archive-link a{
  text-decoration:underline;
}

#content-sub h3.archive-link a:hover{
  text-decoration:none;
}

@media only screen and (max-width:600px){
  .archive-img,.archive-excerpt{float:none;width:auto;}
}

/*施工事例アーカイブ**************************************/
.archive-results-container {
  text-align: center;
  max-width: 1080px;
  margin-top: 50px;
}

.archive-results-box {
  width: 30%;
  display: inline-block;
  margin: 0 10px;
  text-align: left;
  vertical-align: top;
  vertical-align: top;
  margin-bottom: 20px;
}

.archive-results-img {
  margin-bottom: 10px;
  overflow: hidden;
  text-align: center;
}

.archive-results-img img {
  width: 320px;
  height: 220px;
  object-fit: cover;
  object-position: center center;
}

@media only screen and (max-width:1024px){
  .archive-results-img img{
    width: 270px;
    height: 180px;
  }
}

@media only screen and (max-width:600px){
  .subpage .archive-results-container .archive-box {
    margin-bottom: 30px;
  }
  .archive-results-box {
    width: 42%;
  }
  .archive-results-img img {
    height: 130px;
  }
}

/*ページ送り**************************************/

.tablenav {
  color: #424242;
  margin: 1em auto;
  line-height:2em;
  text-align:center;
}

a.page-numbers, .tablenav .current {
  color: #424242;
  padding: 2px 7px;
  border:solid 1px #ccc;
  text-decoration:none;
  font-size:110%;
  background:#fff;
}

a.page-numbers:hover {
  color:white;
  background: #2c5f29;
}

.tablenav .current {
  color: white;
  background: #2c5f29;
  border-color: #2c5f29;
  font-weight:bold:
}

.tablenav .next, .tablenav .prev {
  border:0 none;
  background:transparent;
  text-decoration:underline;
  font-size:90%;
  font-weight:bold;
}

/*サイトマップ**************************************/
.sitemap-list li{
  margin-top:10px;
  background:url(images/sitemap-list-arrow.png) no-repeat 0 8px;
  padding-left:20px;
  font-size:120%;
  border-bottom:1px dotted #ccc;
  padding-bottom:10px;
}
.sitemap-list li ul li{
  margin-top:5px;
  padding-bottom:5px;
  padding-left:15px;
  background:url(images/sitemap-list-child-arrow.png) no-repeat 0 8px;
  font-size:90%;
  border-bottom:none;
}
.sitemap-list li ul li ul li{
  border-bottom:none;
  background:url(images/sitemap-list-grandchild-arrow.png) no-repeat 0 8px;
}


/*404ページ**************************************/
.not_found {
  text-align: center;
  font-size: 600%;
  line-height: 0.8em;
  color: #2c5f29;
  font-weight: bold;
}
.not_found span {
  font-size: 50%;
  display: block;
  letter-spacing: 0.1em;
  color: #000;
  font-weight: normal;
}

/*inviewエフェクト*/
/*エフェクト inview*/
.fadeIn_left {
 opacity: 0;
 transform: translate(-50%, 0);
 transition: 1s;
}
.fadeIn_left.is-show {
 transform: translate(0, 0);
 opacity: 1;
}

.fadeIn_right {
 opacity: 0;
 transform: translate(50%, 0);
 transition: 1s;
}
.fadeIn_right.is-show {
 transform: translate(0, 0);
 opacity: 1;
}

.fadeIn_up {
 opacity: 0;
 transform: translate(0, 20%);
 transition: 1s;
}
.fadeIn_up.is-show {
 transform: translate(0, 0);
 opacity: 1;
}

@media only screen and (max-width:500px){
  .fadeIn_left,.fadeIn_right{
    opacity: 1;
    transform: translate(0,0);
    transition: 0;
  }
}

/*会社案内ページ**************************************/
.kaisyaannnai-center {
  margin: 0 auto;
}
.column-center {
  justify-content: center;
}

.company_list img {
  box-shadow: 0px 3px 6px rgb(0 0 0 / 30%);
}

/*企業情報ページ**************************************/
.enkaku-moji-green {
  width: 120px;
  color: #2C742B;
  font-weight: bold;
}
.enkaku-column p {
  padding-bottom: 11.5px;
  background-image: linear-gradient(to right, #2C742B, #2C742B 5px, transparent 5px, transparent 5px);
  background-size: 10px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  display: flex;
}
.enkaku-moji-2 {
  width: 70%;
}

.btn-kigyojoho {

}
.btn-kigyojoho a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #ffffff;
  font-size: 26px;
  border-radius: 52px;
  width: 350px;
  height: 100px;
  font-weight: bold;
  background-image: linear-gradient(91deg, rgba(0, 158, 92, 1), rgba(51, 97, 171, 1));
  letter-spacing: 5.2px;
  transition: 1s;
}
.btn-kigyojoho a:hover {
  background-image: linear-gradient(91deg, rgba(51, 97, 171, 1), rgba(0, 158, 92, 1));
  opacity: 1;
}
.btn-kigyojoho a::after {
  content: "";
  display: inline-block;
  background: url(images/sub/yajirushi-shiro.svg);
  width: 30px;
  height: 30px;
  position: absolute;
  right: 38px;
  top: 35px;
  background-size: 30px;
}
.btn-kigyojoho2 a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #ffffff;
  font-size: 24px;
  border-radius: 52px;
  width: 350px;
  height: 100px;
  font-weight: bold;
  background-image: linear-gradient(91deg, rgba(0, 158, 92, 1), rgba(51, 97, 171, 1));
  letter-spacing: 2.4px;
  padding: 30px 38px 35px 0;
  transition: 1s;
}
.btn-kigyojoho2 a:hover {
  background-image: linear-gradient(91deg, rgba(51, 97, 171, 1), rgba(0, 158, 92, 1));
  opacity: 1;
}
.btn-kigyojoho2 a::after {
  content: "";
  display: inline-block;
  background: url(images/sub/yajirushi-shiro.svg);
  width: 30px;
  height: 30px;
  position: absolute;
  right: 20px;
  top: 35px;
  bottom: 35px;
  background-size: 30px;
}

.subpage .first-td td:first-child {
  width: 26%;
}

@media only screen and (max-width:1024px){
  .subpage .button3 .wp-block-column {
    margin-right: 0;
    margin-bottom: 20px;
  }
  .button3 .wp-block-buttons>.wp-block-button {
    width: 100%;
  }
  .btn-kigyojoho2 a {
    width: 100%;
  }
}

@media only screen and (max-width:781px){
  .enkaku-moji-2 {
    width: 81%;
  }
  .btn-kigyojoho a{
    width:100%;
  }
  .sub-gaiyou .wp-block-buttons>.wp-block-button{
    width: 100%;
    margin-bottom: 20px;
  }
  .sub-gaiyou .wp-block-column{
    margin-right:0;
    margin-bottom:0;
  }
  .sub-gaiyou .wp-block-columns.btn-gaiyou {
    margin-bottom: 0;
  }
  .subpage .button3 .wp-block-column{
    margin-bottom:0;
  }
}

@media only screen and (max-width:500px){
  .btn-kigyojoho a, .btn-kigyojoho2 a {
    font-size: 130%;
    height: 70px;
  }
  .btn-kigyojoho a::after, .btn-kigyojoho2 a::after {
    top: 20px;
    right: 20px;
  }
  .subpage .first-td td:first-child {
    width: 33%;
  }
  .sub-gaiyou .subpage .info_table th, 
  .sub-gaiyou .subpage .info_table td, 
  .sub-gaiyou .subpage .info_table td:first-child {
    padding: 5px 0;
    font-size: 90%;
  }
}


/*会社方針**************************************/
.txt-houshin {
  font-size: 140%;
  line-height: 1.7em;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin: 30px 0;
}

/*採用情報**************************************/
#wrapper.recruit_container {
  padding-top: 0;
  margin-top: -10px;
}

.bg-message {
  background: url(images/sub/bg-sky.jpg) no-repeat center center / cover;
  padding:50px 0;
}

.sub-recruit .wp-container-3.wp-block-columns {
  gap: 0;
}

.btn-recruit_menu {
  padding: 70px 0 30px;
  /*background:url(images/sub/recruit_menu_illust-l.png) no-repeat left bottom / 250px, url(images/sub/recruit_menu_illust-r.png) no-repeat right bottom / 270px;*/
}

.sub-recruit .subpage .bg-message .wp-block-column {
  margin-right: 0;
}

.btn-mynavi{
  padding: 70px 0 170px;
  margin:0 auto;
  background:url(images/sub/recruit_menu_illust-l.png) no-repeat left bottom / 250px, url(images/sub/recruit_menu_illust-r.png) no-repeat right bottom / 270px;
}

.bg-staff-interview{
  padding: 70px 0 170px;
}

.subpage h3.big-ttl {
  background: none;
  color: #000;
  letter-spacing: 10px;
  font-size: 300%;
  position:relative;
}

.subpage h3.big-ttl em {
  display: block;
  font-size: 30%;
  letter-spacing: 3px;
  color: #2c5f29;
}

.subpage h3.icon-woman.big-ttl::after {
  content: "";
  background: url(images/sub/icon-woman.svg) no-repeat right center / 38px;
  display: inline-block;
  position: absolute;
  width: 38px;
  height: 79px;
  top: 0;
  right: 53%;
}

.subpage h3.icon-man.big-ttl::after {
  content: "";
  background: url(images/sub/icon-man.svg) no-repeat right center / 38px;
  display: inline-block;
  position: absolute;
  width: 38px;
  height: 79px;
  top: 0;
  right: 53%;
}

.subpage .recruit-dialogue {
  background: #2C742B;
  padding: 50px 0 70px;
  color: #fff;
  margin-right: 50px;
  border-radius: 0 50px 50px 0;
}

.subpage .recruit-dialogue h3,
.subpage .recruit-dialogue h3 em,
.subpage .recruit-dialogue h4{
  color: #fff;
  padding-left: 0;
}

.subpage .recruit-dialogue h4 {
  letter-spacing: 3px;
  font-size: 170%;
  border:none;
}
.subpage .recruit-video iframe{
  height: 620px;
  margin-bottom: 30px;
}
@media only screen and (max-width:1400px){
  .bg-staff-interview {
    padding: 70px 0 120px;
  }
  .btn-mynavi{
    padding: 70px 0 120px;
    background:url(images/sub/recruit_menu_illust-l.png) no-repeat left bottom / 250px, url(images/sub/recruit_menu_illust-r.png) no-repeat right bottom / 270px;
  }
}

@media only screen and (max-width:1300px){
  .btn-mynavi{
    background:url(images/sub/recruit_menu_illust-l.png) no-repeat left bottom / 250px, url(images/sub/recruit_menu_illust-r.png) no-repeat right bottom / 270px;
  }
}

@media only screen and (max-width:1100px){
  .btn-mynavi {
    background: url(images/sub/recruit_menu_illust-l.png) no-repeat left bottom / 150px, url(images/sub/recruit_menu_illust-r.png) no-repeat right bottom / 150px;
    padding: 0 0 200px;
  }
  .subpage .recruit-video iframe{
    height: 520px;
}
}

@media only screen and (max-width:768px){
  .subpage h3.big-ttl {
    font-size: 220%;
    padding: 10px 0;
  }
  .sub-recruit .bg-message .wp-block-spacer {
    height: 20px!important;
  }
  .subpage .recruit-video iframe{
    height: 425px;
    margin-bottom: 20px;
}
}

@media only screen and (max-width:600px){
  .subpage h3.icon-woman.big-ttl::after {
    right: 5%;
  }
  .subpage .recruit-dialogue {
    margin-right: 20px;
  }
  .subpage h3.icon-man.big-ttl::after{
    right: 5%;
  }
  .subpage .recruit-dialogue h4 {
    font-size: 150%;
  }
  .subpage .recruit-video iframe{
    height: 300px;
}
}


/*上司部下対談**************************************/
.taidan_profile {
  background: #d9f7d8;
  border-radius: 20px;
  padding: 30px;
}

/*事業案内**************************************/
.btn-service{text-align:center;}

.btn-service.wp-block-buttons>.wp-block-button {
  display: block;
  width: 100%;
}

.subpage .btn-service a{text-decoration: none;}

.btn-service a.wp-block-button__link {
  width: 100%;
  display: block;
  color: #000;
  font-size: 170%;
  letter-spacing: 5px;
  font-weight: bold;
  border-radius: 0;
  padding: 40px 0;
  position:relative;
}

.btn-service a.wp-block-button__link::after{
  content:"";
  background:url(images/btn-arrow-black.svg) no-repeat right center;
  display:inline-block;
  width:46px;
  height:46px;
  position:absolute;
  right:10%;
  top: 32%;
}

.btn-service a.wp-block-button__link em {
  display: block;
  font-size: 50%;
  letter-spacing: 2px;
}

.btn-civil a {background: #B7DC3D;}
.btn-architect a {background: #74D4FF;}

.subpage .civil_container h3.icon-man.big-ttl::after {
  right: 5%;
}

.bg-service-civil {
  background: #B7DC3D;
  padding: 50px 300px 70px 100px;
  margin-right: 400px;
  border-radius: 0 100px 0 0;
  min-height: 480px;
}

.civil_container {
  position: relative;
  z-index: -1;
}

.civil_img {
  position: absolute;
  top: 130px;
  right: 50px;
}

.civil_container p{
  line-height:1.8rem;
}

.service_reslults {
  display: flex;
}

.service_results_box {
  border: 2px solid;
  padding: 20px 20px 0;
  background:#fff;
  width: 48%;
  margin-right: 40px;
  display: flex;
}

.service_results_box:last-child{
  margin-right:0;
}

.service_results_img {
  width: 35%;
  margin-right: 20px;
  margin-bottom: 20px;
}

.service_results_txt {
  width: 65%;
}

.service_results_img img {
  width: 170px;
  height: 120px;
  object-fit: cover;
}

.service_results_ttl a {
  /*text-decoration: none;*/
  font-weight: bold;
  font-size: 120%;
  letter-spacing: 1px;
}

.civil .service_results_box {
  border-color: #B7DC3D;
}

.bg-service-arch {
  background: #74D4FF;
  padding: 50px 100px 70px 300px;
  border-radius: 100px 0 0 0;
  margin-left: 400px;
  min-height: 480px;
  box-shadow:0 3px 6px rgba(0,0,0,0.3);
}

.arch_container {
  position: relative;
  z-index: -1;
}

.subpage .arch_container h3.icon-man.big-ttl::after {
  right: 35%;
}

.arch_img {
  position: absolute;
  top: 130px;
  left: 50px;
}

.arch_container p{
  line-height:1.8rem;
}

.service_results_box {
  border: 2px solid;
  padding: 20px 20px 0;
  background:#fff;
}

.arch .service_results_box {
  border-color: #74D4FF;
}

@media only screen and (max-width:1024px){
  .bg-service-civil {
    padding: 50px 100px 70px 50px;
  }
  .bg-service-arch {
    padding: 50px 50px 70px 100px;
  }
  .civil_img img,
  .arch_img img {
    width: 440px;
  }
  .subpage .arch_container h3.icon-man.big-ttl::after {
    right: 50px;
  }

}

@media only screen and (max-width:768px){
  .civil_img img, .arch_img img {
    width: 340px;
  }
  .bg-service-civil {
    margin-right: 200px;
    min-height: 380px;
    padding: 50px 220px 70px 50px;
  }
  .subpage .civil_container h3.icon-man.big-ttl::after {
    right: -40px;
  }
  .bg-service-arch {
    margin-left: 200px;
    min-height: 380px;
    padding: 50px 50px 70px 210px;
  }
}

@media only screen and (max-width:600px){
  .sub-service .subpage h3.big-ttl {
    letter-spacing: 5px;
    text-align: center;
    font-size: 190%;
  }
  .btn-service a.wp-block-button__link::after {
    right: 5%;
  }
  .civil_img img, .arch_img img {
    width: 250px;
  }
  .civil_img {
    bottom: -130px;
    right: 0;
    top: auto;
  }
  .bg-service-civil {
    margin-right: 40px;
    padding: 50px;
    border-radius: 0 50px 0 0;
  }
  .civil_container {
    margin-bottom: 60px;
  }
  .service_reslults {
    display: block;
  }
  .service_results_box {
    width: auto;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .subpage .bg-service-civil h3.big-ttl {
    font-size: 190%;
    padding: 10px 0;
  }
  .subpage .arch_container h3.icon-man.big-ttl::after {
    right: 0;
  }
  .arch_img {
    left: 0;
    bottom: -170px;
    top: auto;
  }
  .bg-service-arch {
    margin-left: 40px;
    padding: 50px;
    border-radius: 50px 0 0 0;
  }
  .arch_container {
    margin-bottom: 100px;
  }
}

@media only screen and (max-width:350px){
  .btn-service a.wp-block-button__link {
    font-size: 100%;
    padding: 20px 0;
  }
  .btn-service a.wp-block-button__link::after {
    background-size: 40%;
    top: 20%;
  }
  .sub-service .wp-block-spacer{
    height: 30px!important;
  }
  .bg-service-civil {
    margin-right: 20px;
    padding: 20px;
  }
  .bg-service-arch {
    margin-left: 20px;
    padding: 20px;
  }
  .subpage .bg-service-civil h3.big-ttl,
  .subpage .bg-service-arch h3.big-ttl {
    font-size: 140%;
    text-align: left;
  }
  .civil_container p,.arch_container p {
    line-height: 1.5rem;
  }
  .civil_img,.arch_img {
    bottom: -100px;
  }
  .subpage .civil_container h3.icon-man.big-ttl::after,
  .subpage .arch_container h3.icon-man.big-ttl::after {
    right: 0px;
    top: -30px;
  }
  .sub-service .subpage h4.style_none {
    font-size: 110%;
    text-align: center;
    padding: 10px 0 0;
  }
  .civil .service_results_box,
  .arch .service_results_box {
    display: block;
  }
  .service_results_img,.service_results_txt {
    width: 100%;
  }
  .service_results_img img {
    width: 100%;
  }
}



/*SDGsに向けた取り組み**************************************/
.sdgs-sengen,.sdgs-houshin {
  font-size: 140%;
  line-height: 1.7em;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.torikumi_container {
  margin: 0 50px;
  background: #EAFCEA;
  padding: 50px 0;
  border-radius: 20px;
  box-shadow: 0 3px 6px rgb(0 0 0 / 30%);
}

.subpage .wp-block-buttons>.wp-block-button.btn-blgr-gradation {
  display: block;
  margin: 0;
  width: 100%;
}

.subpage .btn-blgr-gradation a {
  background: linear-gradient(91deg, rgba(0, 158, 92, 1), rgba(51, 97, 171, 1));
  color: #fff;
  font-size: 110%;
  position: relative;
  padding: 20px 40px 20px 20px;
  border-radius: 50px;
  display: block;
  width: 100%;
  text-decoration: none;
  transition: 0.5s;
}

.subpage .btn-blgr-gradation a::after{
  content: "";
  display: inline-block;
  background: url(images/btn-arrow-white.svg) no-repeat right center / 100%;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 15px;
  top: 21px;
}

.subpage .btn-blgr-gradation a:hover{
  background: linear-gradient(91deg, rgba(51, 97, 171, 1), rgba(0, 158, 92, 1));
  opacity: 1;
}

.torikumi_container .wp-container-3,
.torikumi_container .wp-container-6 {
  gap: 0;
}

.subpage .torikumi_box {
  background: #fff;
  padding: 20px;
  margin-bottom: 30px;
  border-radius: 10px;
}

.torikumi_box:first-child{
  margin-right:40px;
}

.sub-csrinfo .subpage .info_table th {
    width: 20%;
}

.sub-csrinfo .subpage .info_table td:first-child {
  color: #2c5f29;
  background: none;
  font-size: 110%;
  font-weight: bold;
  padding: 10px;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px dotted #cccccc;
  border-left: none;
  border-right: none;
  border-top: none;
}

@media only screen and (max-width:1024px){
  .sub-csrinfo .subpage .info_table td:first-child,
  .sub-csrinfo .subpage .info_table th{
    width:33%;
  }
  .sub-csrinfo .subpage .info_table th, 
  .sub-csrinfo .subpage .info_table td, 
  .sub-csrinfo .subpage .info_table td:first-child {
    padding: 5px 0;
    font-size: 90%;
  }
}

@media only screen and (max-width:350px){
  .subpage .torikumi_box {
    padding: 20px 10px;
  }
}

.subpage .simple-theme.wp-posts-carousel {
  margin-top: 20px;
}

.subpage .simple-theme.wp-posts-carousel h3.wp-posts-carousel-title{
  background: none;
}

.subpage .simple-theme.wp-posts-carousel .wp-posts-carousel-image img {
  width: 240px;
  height: 180px;
  object-fit: cover;
}

.subpage .owl-stage-outer.owl-height {
  height: 360px!important;
}

.subpage .simple-theme.wp-posts-carousel p.wp-posts-carousel-buttons a {
  background: #fff;
  color: #000;
  font-size: 100%;
  border: 1px solid #2c5f29;
  position: relative;
  padding: 10px 50px 10px 20px;
  border-radius: 50px;
}

.subpage .simple-theme.wp-posts-carousel p.wp-posts-carousel-buttons a::after{
  content: "";
  display: inline-block;
  background: url(images/btn-arrow_grn.svg);
  width: 22px;
  height: 22px;
  position: absolute;
  right: 15px;
  top: 12px;
}

.subpage .simple-theme.wp-posts-carousel p.wp-posts-carousel-buttons a:hover::after{
  background: url(images/btn-arrow_hover_grn.svg);
  transition: 1s;
}

.subpage .simple-theme.wp-posts-carousel .wp-posts-carousel-categories {
  background: none;
  margin-left: 4px;
}

.subpage .simple-theme.wp-posts-carousel .wp-posts-carousel-categories a {
  color: #fff;
  background: #2c5f29;
  margin: 0 2px;
  padding: 5px;
}

.sdgs-last-ttl {
  font-size: 250%;
  margin: 30px 0;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #2c5f29;
}


@media only screen and (max-width:1024px){
  .torikumi_container {
    margin: 0 20px;
  }
}

@media only screen and (max-width:768px){
  .torikumi_box:first-child {
    margin-right: 0;
  }
}

@media only screen and (max-width:500px){
  .sdgs-sengen, .sdgs-houshin {
    font-size: 100%;
    padding: 0 2%;
  }
  .sdgs-last-ttl {
    font-size: 210%;
  }
}

@media only screen and (max-width:350px){
  .sdgs-last-ttl {
    font-size: 160%;
  }
  .sdgs-sengen, .sdgs-houshin {
    padding:0;
  }
}


/*募集要項**************************************/
.subpage .btn-green2.wp-block-buttons>.wp-block-button {
  display: block;
  margin: 0;
  width: 100%;
}

.subpage .btn-green2 a {
  background: #2c5f29;
  border: 2px solid #2c5f29;
  color: #fff;
  font-size: 140%;
  position: relative;
  padding: 20px 20px;
  border-radius: 50px;
  display: block;
  width: 100%;
  text-decoration: none;
}

.subpage .btn-green2 a:hover {
  background: #fff;
  border: 2px solid #2c5f29;
  color: #2c5f29;
  opacity: 1;
  transition: 0.5s;
}

.sub-wanted .subpage table td:first-child{
  background:#eee;
  width:20%;
  color:#000;
  font-weight:bold;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}

/*各種ダウンロード**************************************/
/*PDFアイコン等*/
.subpage a[href$=".pdf"]:after {
  content: '';
  display: inline-block;
  background-image: url(images/sub/icon-pdf.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 1.5em;
  height: 1.5em;
  vertical-align: text-bottom;
  margin-left: 5px;
}
.subpage a[href$=".xls"]:after,.subpage a[href$=".xlsx"]:after {
  content: '';
  display: inline-block;
  background-image: url(images/sub/icon-excel.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 1.5em;
  height: 1.5em;
  vertical-align: text-bottom;
  margin-left: 5px;
}
.subpage a[href$=".doc"]:after,.subpage a[href$=".docx"]:after {
  content: '';
  display: inline-block;
  background-image: url(images/sub/icon-word.jpeg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 1.3em;
  height: 1.3em;
  vertical-align: text-bottom;
  margin-left: 5px;
}

.subpage figure.no_icon a[href$=".pdf"]:after{
  content:none;
  background:none;
}
.subpage div.no_icon a[href$=".pdf"]:after{
  content:none;
  background:none;
}
.subpage .download_table a[href$=".pdf"],
.subpage .download_table a[href$=".xls"],
.subpage .download_table a[href$=".xlsx"],
.subpage .download_table a[href$=".doc"],
.subpage .download_table a[href$=".docx"]{
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

/*スタッフインタビュー**************************************/
span.interviewer {
  background: #ffc700;
  color: #000;
  padding: 3px 10px;
  margin-right: 15px;
  border-radius: 5px;
}

span.staffcomment {
  background: #2c5f29;
  color: #fff;
  padding: 3px 10px;
  margin-right: 15px;
  border-radius: 5px;
}

.staffinterview br{display:none;}

.staffinterview .subimg {
  display: inline-block;
  float: right;
  padding-left: 15px;
}

.staffinterview .profile{
  background:#f2f2f2;
  padding:30px;
  border:1px solid #0e7600;
  clear:both;
  margin-bottom:15px;
}

.staffinterview .profile img{
  float:right;
  margin-left:10px;
}

.staffinterview .profile .img2{
  float:left;
  margin-right:10px;
  margin-left:0px;
}

.staffinterview .proftitle{color:#0e7600;font-weight:bold;font-size:120%;}

.subpage .staffinterview strong {
  background: none;
}

.subpage .staffinterview .sitsumon {
  clear: both;
}
.subpage .staffinterview h3~p {
  line-height: 2.0;
}
.subpage .staffinterview h3~p:nth-of-type(even),
.subpage .staffinterview .wp-block-columns p:nth-of-type(odd) {
  padding: 10px 20px 10px 10px;
  background-color: #ffc81533;
  border-radius: 6px;
  width: fit-content;
  line-height: 2.0;
}
.subpage .staffinterview h3~p:nth-of-type(odd),
.subpage .staffinterview .wp-block-columns p:nth-of-type(even) {
  padding: 10px 20px 10px 10px;
  background-color: #6aed621f;
  border-radius: 6px;
  width: fit-content;
  line-height: 2.0;
}
.subpage .staffinterview .wp-block-columns {
  margin-bottom: 0px;
}
.subpage .staffinterview .profile p {
  background: none!important;
  line-height: 1.5!important;
}


/*お問い合わせフォーム**************************************/
/*メールフォーム*/
.contact_container {
  border: 1px solid #ccc;
  border-radius: 20px;
  padding: 30px;
  width: 900px;
  margin: 0 auto;
}

.mw_wp_form em {
  display: inline-block;
  background: #cd4d4d;
  border-radius: 5px;
  padding: 0 10px;
  margin-left: 10px;
  color: #fff;
  font-weight: normal;
  font-size: 90%;
}

.tel_num {
  font-size: 200%;
  font-weight: bold;
}

/*施工事例詳細（投稿）**************************************/
.sub-results h2.title.first {
  text-align: center;
  font-size: 180%;
  font-weight: bold;
  letter-spacing: 3px;
  margin-top: 30px;
  margin-bottom: 10px;
}

.subpage .results_txt_container {
  display: flex;
  margin-bottom: 50px;
}

.subpage .results_txt_box {
  width: 48%;
  margin-right: 40px;
}

.subpage .results_txt_box:last-child{
  margin-right:0;
}

.another_results{
  padding: 70px 0;
  text-align:center;
}

.another_results.civil {
  background: #B7DC3D;
}

.another_results.kojin {
  background: #74D4FF;
}

.subpage .another_results h3 {
  background: none;
  color: #000;
  text-align: center;
  font-size: 200%;
  letter-spacing: 5px;
  padding-top: 0;
}

.another_results_box {
  display: inline-block;
  vertical-align: top;
  margin: 20px;
  width: 29%;
}

.another_results_box .another_results_ttl{
  text-align:left;
  font-weight:bold;
}

.another_results_box .img img {
  width: 320px;
  height: 230px;
  object-fit: cover;
}

.sub-results .footer-banner {
  margin-top: 0;
}

@media only screen and (max-width:600px){
  .subpage .results_txt_container {
    display: block;
  }
  .subpage .results_txt_box {
    width: 100%;
  }
  .another_results {
    padding: 40px 0;
  }
  .another_results_box {
    width: 43%;
    margin: 0 10px 10px;
  }
  .another_results_box .img img {
    height: 120px;
  }
  .subpage .another_results h3 {
    font-size: 170%;
  }
}


/*アコーディオン*/
dl.accordion { background:#eee; width:auto; margin:0 auto 30px; padding:10px; font-size:16px;}
dl.accordion dt {
  background:url(images/sub/open.png) no-repeat 0 10px;
  padding-left:30px;
  padding-top:10px;
  padding-bottom:10px;
  border-bottom:1px dotted #ccc;
  color:#333;
  font-weight:bold; cursor:pointer;}
dl.accordion dt.open {
  background:url(images/sub/close.png) no-repeat 0 10px;
}
dl.accordion dd { background:#FFF; padding:10px; line-height:1.5; display:none;}

.question_container {
  width: 1000px;
  margin: 30px auto 0;
}

.question_container dt::before {
  content: "Q.";
  margin-right: 5px;
  color: #2c5f29;
}

@media only screen and (max-width:1024px){
  .question_container{
    width:auto;
    padding: 0 20px;
  }
}

@media only screen and (max-width:600px){
  dl.accordion dt {
    padding-left: 10px;
  }
}

