@charset "utf-8";

body {
  width: 100%;
  margin: 0;
  /*font-family:  serif,'Noto Serif JP','ＭＳ Ｐ明朝','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',Lato,'Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN',sans-serif;*/
  font-family:  'メイリオ', 'Meiryo', sans-serif;
}

*, ::after, ::before {
  box-sizing: border-box;
}

#site-header {
  background-color: #ffffff;
  display: flex;
  position: fixed;
  justify-content: space-between;
  width: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  z-index: 40;
  padding-left: 20px;
}

/*工事名の箇所*/
#site-header-container {
  display: flex;
  flex-direction: row;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto;
}

#site-header-logo {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-right: 1em;
  width: 100%;
  text-align: left;
  font-size: 2.2rem;
  padding-bottom: 8px;
}

#site-header-logo a {
  color: #000000;
}

#site-header-logo a {
  text-decoration: none;
}

/*トップタイトルの箇所*/
.site-title {
  color: #ffffff;
  font-size: 2.4rem;
  text-shadow:1px 1px 3px #000;
}

.site-title #site-title-en {
 font-size: 1.8rem;
}

/*トップ画の箇所*/

.site-branding {
 width: 100%;
 padding-top: 0;
}

.site-branding-text {
 position: relative;

}

/* トップページキャッチコピー */
.home .site-branding-text .site-title {
	color: #393737;
	font-size: 2.8rem;
	width: 80%;
	margin-left: auto;
    margin-right: auto;
	line-height: 2.5rem;
	text-align: center;
	text-shadow: 5px 2px #fff, 5px 2px #fff, 5px 2px #fff, 5px 2px #fff;
}

#logo {
	position: relative;
	z-index: 1;
	top: 75px;
	padding-left: 20px;
}

#logo img {
 max-width: 300px;
 text-align: left;
}

#topimg {
 float: right;
 width: 100%;
}

.inner-wrap {
 float: left;
 width: 20%
}


.site-branding-sub {
 width: 100%;
 padding-top: 0;
}

.site-branding-sub .site-title {
 text-align: center;
 padding-top: 1px;
 font-weight: bold;
 font-size: 80px;
 color: #fff;
 text-shadow: 1px 1px 0px #15a15c, -1px -1px 0px #15a15c,
          -1px 1px 0px #15a15c,  1px -1px 0px #15a15c,
           1px 0px 0px #15a15c, -1px  0px 0px #15a15c,
           0px 1px 0px #15a15c,  0px -1px 0px #15a15c;

}

.site-branding-sub #site-title-en {
	
	/*border-radius: 10px; *//* この行で角を丸くする */
	padding: 1em;
	background-color: rgba(56,146,128,0.65);
	text-shadow: 0 0 #fff;
	padding-bottom: 20px;
	
}

.box{
	
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background-color: rgba(56,146,128,0.65);
}

.box span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-weight: bold;
  font-size: 100px;
}

#topimg-sub {
	float: right;
  width: 100%;
}

#topimg-sub img {
 width: 100%;
}

/* 基本的な画像のレスポンシブ設定 */
img {
  max-width: 100%;
}


#topimg2 img {
	overflow: hidden;
	position: absolute;
	width: 100%;
	object-fit: cover; 
}

.site-branding-sub .inner-wrap {
 float: left;
 width: 100%;
 position: relative;
}

.site-branding-sub #titlemargin {
 max-height: 200px;
}

.site-branding-sub  .site-branding-text {
   width: 100%;
   margin-top: -24vw;
}

/*トップページの中身*/
#topcontents {
width: 100%;
background-color: #ffffff;
margin-top: 7vw;
}

#topcontents-sub {
  width: 100%;
  background-color: #ffffff;
  position: relative;
  padding-top: 100px;
}

h2 {
 font-size: 2.5rem;
 text-align: center;
 padding-top: 20px;
}

#topcontents-sub h2 {
margin-top: 0px;
padding-top: 30px;
font-size: 2.3rem;
}

p {
  margin: 0;
  padding: 0;
}

p#kjinfo {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
	font-size: 20px;
	text-align: left;
}

#kjinfoimg {
 position: relative;
 background-image: url("img/contents.jpg");
 background-position-x: right;
 background-position-y: bottom;
 background-repeat: no-repeat;
 background-size: 50%;
 margin-top: 12vw;
 object-fit: contain;
 padding-bottom: 9%;
}

#topback01 {
 background-image: url("constraction_back.png");
 background-position: top left;
 background-repeat: no-repeat;
 background-size: 20% 20%;
 margin-top: 80px;
}

#backblue2 {
	background-color: #ffffff;
	 background-position: center top;
	 background-size: 100%;

}

#shin_lb {
	 background-image: url("shinl_bot.png");
	 background-position: left bottom;
	 background-repeat: no-repeat;
	 background-size: 25%;
}

#shin_lt {
	 background-image: url("shinl_top.png");
	 background-position: left top;
	 background-repeat: no-repeat;
	 background-size: 25%;
}


#shin_rb {
	 background-image: url("shinr_bot.png");
	 background-position: right bottom;
	 background-repeat: no-repeat;
	 background-size: 25%;
}

#shin_rt {
	 background-image: url("shinr_top.png");
	 background-position: right top;
	 background-repeat: no-repeat;
	 background-size: 25%;
}


#topback02 {
 background-color: rgba(0,0,0,0.1);
 background-position: center top;
 background-repeat: repeat;
 background-size: 100%;
 padding-top: 5%;
}

#newstitle {
 width: 100%;
 margin-bottom: 0px;
 padding-top: 0px;
 padding-bottom: 0px;
 text-align: center;
}

.news {
 padding: 30px 30px;
 margin-top: -1vw;
}

#newstitle img{
 width: 70%;
 margin-left: auto;
 margin-right: auto;
 text-align: center;
 max-width: 500px;
}

.news h2 {
 margin: 0px 0px;
 padding: 0px 0px;
}

#w80 {
 width: 95%;
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
}

#w95m {
 width: 95%;
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
	padding-top: 3vw;
}

#w70 {
 width: 98%;
 max-width: 900px;
 margin-right: auto;
}

#w20 {
	width: 90%;
	margin-left: 70vw;
	max-width: 150px;
}

#banner30 {
 float: left;
 width: 30%;
 margin-left: 1.5%;
 margin-right: 1.5%;
}

#topback02 dl {
 width: 98%;
 margin-left: auto;
 margin-right: auto;
}

#topback02 dl dt {
 font-weight: bold;
 padding-left: 10px;
 padding-right: 20px;
 font-size: 20px;
 line-height: 35px;
}

#topback02 dl dd {
 width: 98%;
 font-weight: normal;
 border-bottom: 1px solid #000000;
 padding-left: 10px;
 padding-right: 20px;
 font-size: 18px;
 line-height: 30px !important;
 margin-bottom: 30px;
}

.newsleft {
	display: block;
}

#topback03 {
 background-color: #585858;
 background-position: left top;
 background-repeat: no-repeat;
}

#pickup {
 width: 95%;
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
	padding-top: 1vw;
 
}

#pickup h3 {
 font-size: 1.7rem;
 margin-top: -4vw;
 padding-top: 0px;
 text-align: left;
}

#w50 {
 width: 46.8%;
 float: left;
 margin-left: 1.2%;
 margin-right: 1.2%;
}

body a:hover {
 text-decoration: none;
 color: #00844C;
}


#maptitle {
	 background-image: url("maptitle.png");
	 background-position: center top;
	 background-repeat: no-repeat;
	 background-size: 500px;
}

#mapback {
	background-color: #717171;
	 background-position: center top;
	 background-size: 100%;
}

#mapback_l {
	 background-image: url("map_lt.png");
	 background-position: left top;
	 background-repeat: no-repeat;
	 background-size: 30%;
}

#mapback_r {
	 background-image: url("map_rb.png");
	 background-position: right bottom;
	 background-repeat: no-repeat;
	 background-size: 30%;
}

#zumenback1 {
	background-position: center top;
    background-repeat: no-repeat;
    position: relative;
    background-color: rgba(0, 0, 0, 0.05);
	width: 100%;
	padding-bottom: 10vw;
	
}

#zumenback {
	 background-image: url("drow_back.png");
	 background-position: left top;
	 background-repeat: no-repeat;
	 background-size: 100%;
	 position: relative;
	 z-index: 4;
	
}

#oshiback {
	 background-image: url("drow_back.png");
	 background-position: left top;
	 background-repeat: no-repeat;
	 background-size: 100%;
	 position: relative;
	 z-index: 4;
	 padding-top: 2vw;	
}

#mailback {
	 background-image: url("mail_back.png");
	 background-position: left top;
	 background-repeat: no-repeat;
	  background-size: 100%;
	 position: relative;
	 z-index: 5;
}

td {
 width: 70%;
 padding-left: 2%;
 border-bottom: 1px solid #8f8f8f;
 font-size: 18px;
 margin: 0;
}

table.table01 {
	width: 99%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
	border-collapse: separate;
	border-spacing: 10px 10px; /*th tdの間隔あける*/
	font-size: 20px;
}

table.table01 th,
table.table01 td {
	padding: 10px;
}

table.table01 th {
	background: #15a15c;
	vertical-align: middle;
	text-align: left;
	width: 100px;
	overflow: visible;
	position: relative;
	color: #fff;
	font-weight: normal;

}

table.table01 th:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #15a15c;
	border-width: 5px;
	margin-top: -5px;
	
}

table.table01 td {
	width: 360px;
	padding-left: 20px;
	border-bottom: 2px solid #cccccc;
}

#map {
	text-align: left;
	padding-bottom:10vw;
	position: relative;
 	background-color: rgba(0,0,0,0.5);
	padding-top: 50px;
}

#photo30 {
 width: 32%;
 margin-left: 0.5%;
 margin-right: 0.5%;
 float: left;
}


#ft {
	background-color: #15a15c;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
}

#ft h3{
	text-align: center;
	color: #fff;
}

#ft p {
    text-align: center;
	color: #fff;
	padding-top: 20px;
	padding-bottom: 20px;
}

#fttext {
  text-align: center;
  font-size: 12px;
  margin: 0;
  background-color: #DCDCDC;
}

#ftleft {
	background-image: url("ft_dsign_l.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
}



.sa {
  opacity: 0;
  transition: all .5s ease;
}
 
.sa.show {
  opacity: 1;
  transform: none;
}
 
.sa--lr {
  transform: translate(-100px, 0);
}
 
.sa--rl {
  transform: translate(100px, 0);
}
 
.sa--up {
  transform: translate(0, 100px);
}
 
.sa--down {
  transform: translate(0, -100px);
}
 
.sa--scaleUp {
  transform: scale(.5);
}
 
.sa--scaleDown {
  transform: scale(1.5);
}
 
.sa--rotateL {
  transform: rotate(180deg);
}
 
.sa--rotateR {
  transform: rotate(-180deg);
}

.btn,
a.btn,
button.btn {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 6rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  margin-top: 30px;
}

a.btn-radius-solid {
  border: 1px solid #ccc;
  background: #f1e767;
  background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
  background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
  background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
}

a.btn-radius-solid:hover {
  background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
  background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
  background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

#page-top{
    position: fixed;
    bottom: 0.5%;
    right: 1%;
    width: 3%;
    z-index: 1000;
}
#page-top a{
    color: #fff;
    text-decoration: none;
}

/* ここから追加箇所 */
.topcontentsback_con {
	 position: relative;
	 background-image: url("constraction_back.png");
	 background-repeat: no-repeat;
	 background-position: top left;
	 background-size: 150px;
	 margin-left: -10%;
	 padding-top: 2vw;
	 padding-bottom: 4vw;
	
}

#subcon {
 
 background-image: url("contents_back.png");
 background-position: center top;
 background-repeat: no-repeat;
 background-size: 100%;

}

.heading06 {
	position: relative;
	font-size: 30px;
	text-align: left;
	margin-top: -2vw;
}

.heading06::before {
	content: attr(data-en);
	display: block;
	color: #15a15c;
	font-size: 25px;
}

.heading06_n {
	position: relative;
	font-size: 30px;
	text-align: center;
}

.heading06_n::before {
	content: attr(data-en);
	display: block;
	color: #15a15c;
	margin-bottom: 40px;
	font-size: 45px;
}

/*　工事概要見出し　*/
.heading06_mi {
	position: relative;
	font-size: 19px;
	text-align: left;
	color: #969696;
}

.heading06_mi::after {
	content: attr(data-en);
	display: block;
	color: #15a15c;
	margin-bottom: 40px;
	font-size: 35px;
}

/*　計画工程表見出し　*/
.heading06_misc {
	position: relative;
	color: #969696;
	margin-left: auto;
	margin-right: auto;
	background-image: url("hmidashi.png");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 10%;
	background-position-x: 4%;
	z-index: 8;
}

.heading06_misc span {
	position: relative;
	font-size: 1.8rem;
}


.heading06_misc::after{
	content: attr(data-en);
	display: block;
	color: #15a15c;
	margin-bottom: 5%;
	font-size: 35px;
}

/*　フロー図見出し　*/
.heading06_miri {
	position: relative;
	color: #15a15c;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	background-image: url("hmidashi.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10%;
	z-index: 8;
}

.heading06_miri span {
	position: relative;
	font-size: 3.0rem;
}


.heading06_miri::after{
	content: attr(data-en);
	display: block;
	color: #969696;
	margin-bottom: 5%;
	font-size: 25px;
}


.heading06_acc {
	position: relative;
	font-size: 19px;
	text-align: right;
	color: #67D7B9;
}

.heading06_acc::after {
	content: attr(data-en);
	display: block;
	color: #ffffff;
	margin-bottom: 40px;
	font-size: 40px;
	
}

.heading06_d {
	position: relative;
	font-size: 45px;
	color: #15a15c;
	text-align: center;
}

.heading06_d::before {
	content: attr(data-en);
	display: block;
	color: #fff;
	margin-top: 20px;
	font-size: 30px;
	
}

/*　工事進捗状況見出し　*/
.heading06_mipro {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	background-image: url("hmidashi.png");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 10%;
	background-position-x: 4%;
	z-index: 9;
}

.heading06_mipro span {
	position: relative;
	font-size: 1.8rem;
	color: #969696;
	
}

/*お知らせ見出し1*/
.heading06_oshi1 {
	position: relative;
	color: #000;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	background-image: url("hmidashi.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 7%;
	z-index: 11;
}

.heading06_oshi1::before {
	content: attr(data-en);
	display: block;
	color: #15a15c;
	margin-top: 20px;
	font-size: 30px;
}

.heading06_oshi2 {
	position: relative;
	color: #000;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	background-image: url("hmidashi.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 7%;
	z-index: 12;
}

.heading06_oshi2::before {
	content: attr(data-en);
	display: block;
	color: #15a15c;
	margin-top: 20px;
	font-size: 30px;
	
}

/* お問い合わせ見出し */
.heading06_mail {
	position: relative;
	color: #000;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	background-image: url("hmidashi.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 7%;
	z-index: 13;
}

.heading06_mail::before {
	content: attr(data-en);
	display: block;
	color: #15a15c;
	margin-top: 20px;
	font-size: 30px;
}


/* index内　NEWS */
.heading06_pick {
	position: relative;
	padding-top: 5%;
	padding-bottom: 1%;
	font-size: 50px;
	color: #ffffff;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	background-image: url("constraction_back.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 10%;
	z-index: 3;
}

.heading06_pick span {
	position: relative;
}

.heading06_pick::after{
	content: attr(data-en);
	display: block;
	color: #ffffff;
	margin-bottom: 40px;
	font-size: 20px;
	padding-top: 10px;
}

#pickupback {
 background-position: center top;
 /*background-repeat: no-repeat;*/
/* position: relative;*/
 background: linear-gradient(180deg, #999999 0%, #999999 40%, #999999 40%, #ffffff 100%);
 /*max-height: 500px;*/
}

/* 新着情報枠内見出し */
.topcontentsback {
	position: absolute;
 	background-image: url("constraction_back_w.png");
	background-repeat: no-repeat;
 	background-position: left top;
 	background-size: contain;
}

/* どんな工事　文字並び表示 */
.field {
	display: flex;
	justify-content: space-evenly;
	height: 165px;
	
}

.field2 {
	display: table;
	/*justify-content: flex-start;*/
	height: 1vw;
	margin: auto;
}

.coad_1 {
	font-family:  'メイリオ', 'Meiryo', sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	margin-left: -20%;
	padding-top: 2vw;
}

.coad_3 {
	font-family:  'メイリオ', 'Meiryo', sans-serif;
	font-size: 2.4rem;
	font-weight: bold;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	/*padding-top: -6vw;*/
}

.coad_2 {
	font-size: 3.0rem;
	font-weight: bold;
	font-family:  'メイリオ', 'Meiryo', sans-serif;
	margin-left: -20%;
	color: #15a15c;
	
}

/* どんな工事スマホ　下線 */
.under {
	 font-weight: bold;
	 border-bottom: 2px solid #13924b;
	border-bottom-width: medium;
	 /*width: 150%;*/
}

/* どんな工事PC 下線 */
.under2 {
	border-bottom: 2px solid #13924b;
	margin-left: auto;
	margin-right: auto;
	border-bottom-width: medium;
	
}

.heading06_conte {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	background-image: url("constraction_back.png");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 23%;
	background-position-x: 4%;
	background-position-y: 10%;
	padding-bottom: 2vw;
	padding-top: 2vw;
	z-index: 8;
}

.heading06_conte span {
	position: relative;
	font-size: 1.8rem;
	color: #15a15c;
}
/* どんな工事 ここまで */


.button14 a {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  /*margin: 0 auto;*/
  padding: 1em 2.7em;
  width: 300px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  background-color: #13924b;
  border-radius: 50vh;
  transition: 0.3s;
  margin-left: 20%;
}

.button14 a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}

.button14 a:hover {
  text-decoration: none;
  background-image: linear-gradient(-170deg, #5fd493, #b4ffe2);
  color: #ffffff;
}

.button14 a:hover:after {
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}

/* スライドショー組み込み ここから */
.img-frame {
   position: relative;
   width: 100%;
   overflow: hidden;
   padding: 28vw;
}

.img-01, .img-02, .img-03{
   position: absolute;
   top:0;
   left:0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-repeat: no-repeat;
}

/* トップ画像を表示スライドショーない場合 */
.img-imgnomi {
	 position: absolute;
   top:0;
   left:0;
   width: 100%;
   height: 100%;
}


.img-01{
   background-image: url('top.jpg');
   animation: slide-animation-01 24s infinite;
}
.img-02{
   background-image: url('top3.jpg');
   animation: slide-animation-02 24s infinite;
}
.img-03{
   background-image: url('top3.jpg');
   animation: slide-animation-03 24s infinite;
}


.img-frame::after {
	content: '';
	position: absolute;
   top: 0;
   left: 0;
   width: 100%;
}

@keyframes slide-animation-01 {
	   0% {opacity: 1; transform: scale(1.0);}
	60% {opacity:1;}
	  40% {opacity: 1; transform: scale(1.1);}
	  90% {opacity: 0}
	100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
		0% {opacity: 0;}
	  30% {opacity: 0; transform: scale(1.1);}
	  40% {opacity: 1;}
	  60% {opacity: 1;}
	  70% {opacity: 0; transform: scale(1.0);}
	100% {opacity: 0;}
}
@keyframes slide-animation-03 {
	 0% {opacity: 0;}
	  60% {opacity: 0;  transform: scale(1.0);}
	  70% {opacity: 1;}
	  90% {opacity: 1;}
	100% {opacity: 0; transform: scale(1.1);}
}
/* スライドショー組み込み ここまで */


/*カラー選択用　本番では消す Start*/
#tempcolor {
 /*widows: 90%;*/
 width: 100%;
 text-align: center;
 max-width: 350px;
 margin-left: auto;
 margin-right: auto;
}

#colorlist {
 float: left;
 margin-left: 1%;
 margin-right: 1%;
 width: 14%;
}

/*カラー選択用　本番では消す End*/