@charset "UTF-8";

#page .sec01 {
	padding: 80px 0 100px;
	position: relative;
	background: #FFFFFF;
}
#page .sec02 {
	margin: 0 0 100px;
	position: relative;
}
@media screen and (max-width: 898px)  {
#page .sec01 {
	padding: 50px 0;
}
#page .sec02 {
	margin: 0 0 50px;
}
}
@media screen and (max-width: 480px)  {
#page .sec01 {
	padding: 30px 0 50px;
}
#page .sec02 {
	margin: 0 0 50px;
}
}


/* -------------------------------------------------

Technical Data

------------------------------------------------- */
.technical_inner	{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.technical_inner > section	{
	width: calc(33.333333% - 20px);
 margin:0 30px 30px 0;
	position:relative;
}
.technical_inner > section:nth-child(3n) {
 margin-right: 0;
}
.technical_inner > section h4	{
	color: #fff;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:26px;
	padding:10px 0px;
	position: absolute;
	z-index: 1;
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
	text-align: center;
	margin:0;
}
.tec_img {
	margin-bottom: 10px;
	position: relative;
}
.tec_img::after {
	width: 100%;
	height: 100%;
 background: rgba(0,0,0,0.3);
	position: absolute;  /* relativeの要素を基準にする */
 left: 0;             /* 基準からみて左寄せ */
 bottom: 0;           /* 基準からみて下寄せ */	
	content: '';
}
.technical_inner > section ul {
	margin: 0;
	padding: 0;
}
.technical_inner > section ul li a {
	display: block;
	padding: 15px 0;
	border-bottom: 1px solid #228CAB;
	font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:16px;
	color:#228CAB;
	position: relative;
	text-decoration:none; 
}
.technical_inner > section ul li a:hover {
	border-bottom: 1px solid #2baacf;
	color:#2baacf;
	text-decoration:none; 
}
.technical_inner > section ul li a.arrow2{
	display:block;
	padding-right:35px;
	position:relative;
}
.technical_inner > section ul li a.arrow2:before, .technical_inner > section ul li a.arrow2:after{
	content:"";
	display:block;
	-webkit-transform:skewX(45deg);
	transform:skewX(45deg);
	position:absolute;
	right:5px;
	bottom:18px;
}
.technical_inner > section ul li a.arrow2:before{
	width:20px;
	height:2px;
	background:#228CAB;
}
.technical_inner > section ul li a.arrow2:after{
	width:3px;
	height:6px;
	background:#228CAB;
}
.technical_inner > section ul li a:hover.arrow2:before, .technical_inner > section ul li a:hover.arrow2:after{
	background:#2baacf;
}
@media screen and (max-width: 898px)  {
.technical_inner > section h4	{
	font-size:24px;
}	
}
@media screen and (max-width: 768px)  {
.technical_inner > section	{
	width: calc(50% - 15px);
}
.technical_inner > section:nth-child(3n) {
 margin-right: 30px;
}
.technical_inner > section:nth-child(2n) {
 margin-right: 0;
}
.technical_inner > section h4	{
	font-size:20px;
}
.technical_inner > section ul li a {
	font-size:14px;
}
.technical_inner > section ul li a.arrow2:before, .technical_inner > section ul li a.arrow2:after{
	right:5px;
	bottom:22px;
}
.technical_inner > section ul li a.arrow2:before{
	width:16px;
	height:1px;
}
.technical_inner > section ul li a.arrow2:after{
	width:2px;
	height:5px;
}
}
@media screen and (max-width: 480px)  {
.technical_inner	{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.technical_inner > section	{
	width: 100%;
 margin:0 0 20px 0;
}
.technical_inner > section:nth-child(3n) {
 margin-right: 0px;
}
}

/* -------------------------------------------------

Construction Progress

------------------------------------------------- */
.progress_inner	{
	width:980px;
	margin:0 auto 50px;
}
@media screen and (min-width: 899px) and (max-width: 1140px) {
.progress_inner	{
	width:100%;
}
}
@media screen and (max-width: 898px)  {
.progress_inner	{
	width:100%;
	margin:0 auto 50px;
}
}
@media screen and (max-width: 640px)  {
.progress_inner	{
	margin:0 auto 20px;
}
}
@media screen and (max-width: 480px)  {
.progress_inner > img	{
	margin-bottom:10px;
}
}
.progress_inner	{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
 box-sizing: border-box;
}
.progress_inner h5	{
	width:100%;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:20px;
	color:	#333;
	margin:0 0 15px;
}
.pro_photobox	{
	width:55%;
 box-sizing: border-box;
}
.pro_textbox	{
	width:45%;
 box-sizing: border-box;
}
.pro_textbox h6	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:18px;
	color:#228CAB;
	line-height:1.5;
	margin:0 0 10px;
	padding:0;
}
.pro_textbox p	{
	line-height:1.8;
	padding:0;
	text-align:left;
}
.pro_left	{
	padding-left: 50px;
}
.pro_right	{
	padding-right: 50px;
}
@media screen and (max-width: 898px)  {
.pro_left	{
	padding-left: 30px;
}
.pro_right	{
	padding-right: 30px;
}
}
@media screen and (max-width: 768px)  {
.progress_inner h5	{
	font-size:18px;
}
.pro_textbox h6	{
	font-weight: 500;
	font-size:16px;
}
.pro_textbox p	{
	font-size:14px;
	line-height:1.5;
}
}
@media screen and (max-width: 640px)  {
.progress_inner h5	{
	font-size:16px;
	margin:0 0 10px;
}
.pro_photobox	{
	width:100%;
	margin:0 0 15px;
	order:1;
}
.pro_textbox	{
	width:100%;
	order:2;
}
.pro_textbox h6	{
	padding: 0;
}
.pro_textbox p	{
	padding: 0;
}
.pro_left	{
	padding-left: 0;
}
.pro_right	{
	padding-right: 0;
}
}
@media screen and (max-width: 480px)  {
.progress_inner h5	{
	line-height:1.3;
}
}
.movie_wrp {
 position: relative;
 padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
 height: 0;
 overflow: hidden;
}
.movie_wrp iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}


/* -------------------------------------------------

Construction Results

------------------------------------------------- */
.jig_photo_inner	{
	/*width:100%;*/
	width:1040px;
	margin: 0 auto 50px;
}
.jig_photo_inner > section	{
	position:relative;
}
.jig_photo_inner > section h4	{
	color: #333;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:23px;
	line-height:1.5;
	margin:0 0 15px;
	padding:15px 0;
}
.jig_photo_inner > section h4::after	{
 content: "";
 display: block;
	border-bottom: 5px solid #1B4E95;
	padding-bottom: 20px;
}
.jig_tit	{
	width:80%;
	display: block;
}
.JIC_photo	{
	width:980px;
	margin:0 auto;
}
.JIC_photo > img	{
	width:100%;
	display:block;
	margin-bottom:10px;
}
.JIC_p_thumbnail	{
 width: 100%;
	margin:15px 0 0 5px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.JIC_p_thumbnail::after {
 content: "";
 display: block;
 clear: both;
}
.JIC_p_thumbnail > div		{
	width: calc(8.333333% - 10px);
	height:50px;
 margin:0 10px 10px 0;
	position:relative;
	overflow: hidden;
	border:1px solid #E4E4E4
}

.JIC_p_thumbnail > div img	{				/*   トリミングせずにリサイズする   */
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 transform: translate(-50%, -50%);
 max-width: 100%;
 max-height: 100%;
 width: auto;
 height: auto;
}

@media screen and (min-width: 899px) and (max-width: 1140px) {
.jig_photo_inner	{
	width:100%;
	margin: 0 auto 50px;
}
.JIC_photo	{
	width:100%;
	margin:0 auto;
}
}
@media screen and (max-width: 898px)  {
.jig_photo_inner	{
	width:100%;
	margin: 0 auto 50px;
}
.jig_tit	{
	width:75%;
	display: block;
}
.JIC_photo	{
	width:100%;
	margin:0 auto;
}
.JIC_p_thumbnail > div		{
	width: calc(10% - 10px);
}
}
@media screen and (max-width: 768px)  {
.jig_photo_inner	{
	width:100%;
	margin: 0 auto 30px;
}
.jig_photo_inner > section h4	{
	font-size:18px;
	line-height:1.3;
	margin:0px;
}
.jig_photo_inner > section h4::after	{
	border-bottom: 3px solid #1B4E95;
	padding-bottom: 10px;
}
.jig_tit	{
	width:100%;
}
.JIC_p_thumbnail > div		{
	width: calc(12.5% - 10px);
}
}
@media screen and (max-width: 640px)  {
.JIC_p_thumbnail > div		{
	width: calc(16.666666% - 10px);
}
}
@media screen and (max-width: 480px)  {
.jig_photo_inner > section h4	{
	font-size:16px;
	line-height:1.3;
}
.JIC_photo > img	{
	margin-bottom:15px;
}
}
@media screen and (max-width: 414px)  {
.JIC_p_thumbnail > div		{
	width: calc(25% - 10px);
	height:40px;
}
}

/* コメント
================================================== */
.jig_comment_inner	{
	padding:30px 80px;
	box-shadow:4px 4px 6px 0px #ccc;
}
.jig_comment_inner > section	{
	padding:0;
	margin:0;
	position:relative;
}
.jig_comment_inner > section h4	{
	color: #333;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:23px;
	line-height:1.5;
 position: relative;
}
.jig_comment_inner > section h4 span	{
	padding:0.25em 1em;
 position: relative;
}
.jig_comment_inner > section h4 span:before,
.jig_comment_inner > section h4 span:after{ 
 content:'';
 width: 20px;
 height: 30px;
 position: absolute;
 display: inline-block;
}
.jig_comment_inner > section h4 span:before{
 border-left: solid 1px #333;
 border-top: solid 1px #333;
 top:0;
 left: 0;
}
.jig_comment_inner > section h4 span:after{
 border-right: solid 1px #333;
 border-bottom: solid 1px #333;
 bottom:0;
 right: 0;
}
.jig_comment_inner > section p	{
	line-height:1.8;
}
.comment	{
	background:	#daeaf2;
}
.comment2	{
	background:	#f2f3dd;
}
@media screen and (max-width: 768px)  {
.jig_comment_inner	{
	padding:30px 50px;
	margin:0 auto;
}
.jig_comment_inner > section h4	{
	font-size:18px;
	line-height:1.3;
}
.jig_comment_inner > section p	{
	font-size:14px;
	line-height:1.8;
}
}
@media screen and (max-width: 480px)  {
.jig_comment_inner	{
	padding:20px 30px;
}
.jig_comment_inner > section h4	{
	font-size:16px;
	line-height:1.3;
}
.jig_comment_inner > section p	{
	font-size:14px;
	line-height:1.8;
}
}

/* 施工データ
================================================== */
.jig_cons_inner	{
}
.jig_cons_inner > section h4	{
	color: #333;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:23px;
	line-height:1.5;
	margin:0 0 15px;
	/*padding:0 0 15px;
	border-bottom:3px solid #DDD;*/
}
.jig_cons_inner > section > table	{
 width: 100%;
 border-spacing: 0;
}
.jig_cons_inner > section > table th	{
 border-bottom: solid 2px	#1871a4;
 padding: 20px 10px;
	vertical-align:text-top;
	color:	#1871a4;
	width:20%;
}
.jig_cons_inner > section > table th:nth-child(1n)	{
 border-top: solid 2px	#1871a4;
}
.jig_cons_inner > section > table td	{
 border-bottom: solid 2px #ccc;
 padding: 20px 20px 20px 30px;
	vertical-align:text-top;
}
.jig_cons_inner > section > table td:nth-child(1n)	{
 border-top: solid 2px #ccc;
}
.jig_cons_inner > section > table td ol	{
	padding:0px 10px 0px 25px;
}
.jig_cons_inner > section > table td	li {
	list-style:decimal;
	padding:0 5px;
}
.jig_cons_inner > section > table td p {
	font-weight:normal;
	display:block;
	line-height:1.5;
	padding:10px 0;
}
.jig_cons_inner > section > table td	li::after	{
 content: "";
 display: block;
 clear: both;
}
.jig_cons_inner > section > table td > table	{
	border:	none;
	width:100%;
}
.jig_cons_inner > section > table td > table th	{
	font-weight:normal;
 border-bottom:none;
 padding: 5px 0;
	color:#333;
	width:25%;
	vertical-align:text-top;
}
.jig_cons_inner > section > table td > table td	{
 border-bottom:none;
 padding: 5px 0;
	vertical-align:text-top;
}
.jig_cons_inner > section > table td > table td	 > table	{
	border:	none;
	width:100%;
}
.jig_cons_inner > section > table td > table th > table th	{
 border-bottom:none;
 padding: 2px 0;
	color:#333;
	width:20%;
}
.jig_cons_inner > section > table td > table td > table td	{
 border-bottom:none;
 padding: 2px 0;
}
@media screen and (min-width: 899px) and (max-width: 1140px) {
}
@media screen and (max-width: 898px)  {
}
@media screen and (max-width: 768px)  {
.jig_cons_inner > section h4	{
	font-size:20px;
	line-height:1.3;
}
.jig_cons_inner > section > table	{
 border-top: solid 1px	#1871a4;
}
.jig_cons_inner > section > table th	{
	width:100%;
	display:block;
 border-bottom: solid 1px #ccc !important;
}
.jig_cons_inner > section > table th:nth-child(1n)	{
 border-top:	none;
}
.jig_cons_inner > section > table td	{
	width:100%;
	display:block;
 border-bottom: solid 1px	#1871a4 !important;
 padding: 20px 10px;
}
.jig_cons_inner > section > table td:nth-child(1n)	{
 border-top:	none;
}
.jig_cons_inner > section > table td > table	{
	width:100%;
}
.jig_cons_inner > section > table td > table th	{
	width:100%;
	display:block;
	font-weight:	bold;
}
.jig_cons_inner > section > table td > table td	{
	width:100%;
	display:block;
}
.jig_cons_inner > section > table td > table th > table th	{
	display:inline-block !important;
	width:50%;
}
.jig_cons_inner > section > table td > table td > table td	{
	display:inline-block	!important;
}
}
@media screen and (max-width: 480px)  {
.jig_cons_inner	{
	margin-bottom:0px;
}
.jig_cons_inner > section > table th	{
	font-size:14px;
 padding: 10px;
}
.jig_cons_inner > section > table td	{
 padding: 10px;
	font-size:14px;
}
}

/* -------------------------------------------------

Construction Work

------------------------------------------------- */
.jigyo_wrp	{
 width: 1250px;
 margin: 0px auto;
	padding:0;
	position:relative;
}
.jigyo_wrp::after {
 content: "";
 display: block;
 clear: both;
}
.jigyo_wrp .title	{
	margin: 0px auto 50px;
}

.jigyo_wrp .title h2	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight:400;
	font-size:30px;
	position:relative;
	margin: 0;
}
.jigyo_wrp .stit	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style:italic;
	font-weight: 400;
	font-size:12px;
 position: relative;
	padding-left: 30px;
	margin-bottom: 15px;
}
.jigyo_wrp .stit:before {
 position: absolute;
 top: 50%;
 width: 20px;
 height: 2px;
 content: '';
	background: #1b4e95;
}
.jigyo_wrp .stit:before {
 left: 0;
}
.jigyo_wrp p.tec_txt {
	padding: 30px 0 0;
	line-height: 1.8;
}
.jigyo_wrp .content	{
	width: 100%;
	/*margin:0 0 50px;*/
}
.jigyo_wrp .content:last-child	{
	margin:0;
}
.jigyo_wrp h3	{
	width:100%;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:26px;
	margin:0 0 20px;
}
.JI_box	{
	position: relative;
	margin-bottom: 30px;
}
.JI_box:last-child	{
	margin: 0;
}
.jigyo_inner	{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	/*margin-bottom: 30px;*/
}
.jigyo_inner > section	{
	width: calc(33.333333% - 20px);
 margin:0 30px 30px 0;
	/*background:#fff;
	border: 1px solid #ccc;*/
	position:relative;
}
.jigyo_inner > section:nth-child(3n) {
 margin-right: 0;
}
.jigyo_inner > section a	{
	text-decoration:none;
	display:block;
	padding:0px;
	-webkit-transition: all .3s;
 							 transition: all .3s;
}
.jigyo_inner > section a:hover	{
 filter:alpha(opacity=70);/* IE 6,7*/
 -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
 -moz-opacity:0.7;/* FF , Netscape */
 -khtml-opacity: 0.7;/* Safari 1.x */
 opacity:0.7;
 zoom:1;/*IE*/
}
.jigyo_inner > section h4	{
	color: #333;
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size:16px;
	line-height:1.5;
	margin:0 0 5px;
	padding:0px;
}
@media screen and (min-width: 1025px) and (max-width: 1300px) {
.jigyo_wrp	{
 width: 92%;
 margin: 0px auto;
}
}
@media screen and (min-width: 899px) and (max-width: 1024px) {
.jigyo_wrp	{
 width: 92%;
 margin: 0px auto;
}
}
@media screen and (max-width: 898px)  {
.jigyo_wrp	{
 width: 90%;
	margin:0 auto;
}
.jigyo_wrp .title	{
	margin: 0px auto 30px;
}
.jigyo_wrp .stit	{
	margin-bottom: 10px;
}
}
@media screen and (max-width: 768px)  {
.jigyo_wrp h3	{
	font-size:22px;
	margin:0 0 15px;
}
.jigyo_wrp p.tec_txt {
	padding: 20px 0 0;
	line-height: 1.5;
	font-size: 14px;
}
.jigyo_wrp .content	{
	width: 100%;
	margin:0 0 30px;
}
.jigyo_inner > section	{
	width: calc(50% - 15px);
}
.jigyo_inner > section:nth-child(3n) {
 margin-right: 30px;
}
.jigyo_inner > section:nth-child(2n) {
 margin-right: 0;
}
.jigyo_inner > section h4	{
	font-size:14px;
}
}
@media screen and (max-width: 640px)  {
.jigyo_wrp .content {
	width: 100%;
	margin:0 0 30px;
}
.jigyo_wrp .title	{
	margin: 0px auto 30px;
}
.jigyo_wrp .title h2	{
	font-size:24px;
}
.jigyo_wrp .stit	{
	font-size:10px;
	padding-left: 25px;
}
.jigyo_wrp .stit:before {
 position: absolute;
 width: 15px;
 height: 2px;
}
.jigyo_wrp h3	{
	font-size:20px;
	margin:0 0 15px;
}
}
@media screen and (max-width: 480px)  {
.jigyo_wrp .title	{
	margin: 0px auto 30px;
}
.jigyo_wrp .title h2	{
	font-size:20px;
}
.jigyo_wrp .stit	{
	font-size:9px;
	padding-left: 18px;
	margin-bottom: 10px;
}
.jigyo_wrp .stit:before {
 position: absolute;
 width: 12px;
 height: 2px;
}
.jigyo_inner	{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.jigyo_inner > section	{
	width: 100%;
 margin:0 0 20px 0;
}
.jigyo_inner > section:nth-child(3n) {
 margin-right: 0px;
}
}

/* -------------------------------------------------

日付

------------------------------------------------- */
.JI_date	{
	margin:0 0 10px;
	font-size: 14px;
}
@media screen and (max-width: 768px)  {
.JI_date	{
	font-size: 12px;
}
}

/* -------------------------------------------------

カテゴリ

------------------------------------------------- */
.JI_category	{
	/*position:absolute;
	bottom:10px;
	left:0px;*/
}
.JI_category span	{
	display:	inline-block;
	text-align:center;
	background:#2E77DC;
	color:#fff;
	width:100px;
	padding:5px 0px;
	font-size:12px;
	margin-right:0px;
}
@media screen and (max-width: 480px)  {
.JI_category span	{
	width:90px;
	padding:5px 0px;
	font-size:11px;
}
}

.JIC_category	{
	position:absolute;
	top:20px;
	right:10px;
}
.JIC_category span	{
	display:inline-block;
	text-align:center;
	background:#2E77DC;
	color:#fff;
	width:130px;
	padding:5px 0px;
	font-size:14px;
}
@media screen and (max-width: 768px)  {
.JIC_category	{
	position:absolute;
	top:-15px;
	right:0px;
	left:0;
}
.JIC_category span	{
	width:100px;
	padding:3px 0px;
	font-size:12px;
}
}
@media screen and (max-width: 480px)  {
.JIC_category span	{
	width:100px;
	padding:3px 0px;
	font-size:10px;
}
}
/* -------------------------------------------------

一覧の写真(ofi.min.js)

------------------------------------------------- */
.JI_img	{
	width:100%;
	/*border-radius:3px 3px 0px 0px;*/
	margin-bottom:10px;
}
.JI_img img	{				/*   中央に合わせてトリミング   */
	width:100%;
	height:240px;
 object-fit: cover;
 font-family: 'object-fit: cover;';
}

@media screen and (min-width: 899px) and (max-width: 1299px) {
.JI_img img	{
	width:100%;
	height:224px;
}
}
@media screen and (max-width: 898px)  {
.JI_img img	{
	width:100%;
	height:172px;
}
}
@media screen and (max-width: 768px)  {
.JI_img img	{
	width:100%;
	height:228px;
}
}
@media screen and (max-width: 667px)  {
.JI_img img	{
	height:200px;
}
}
@media screen and (max-width: 640px)  {
.JI_img img	{
	height:193px;
}
}
@media screen and (max-width: 568px)  {
.JI_img img	{
	height:170px;
}
}
@media screen and (max-width: 480px)  {
.JI_img img	{
	height:288px;
}
}
@media screen and (max-width: 414px)  {
.JI_img img	{
	height:248px;
}
}
@media screen and (max-width: 375px)  {
.JI_img img	{
	height:225px;
}
}
@media screen and (max-width: 360px)  {
.JI_img img	{
	height:215px;
}
}
@media screen and (max-width: 320px)  {
.JI_img img	{
	height:192px;
}
}


/* -------------------------------------------------

button

------------------------------------------------- */
#page .button01,
#page .button02 {
 position: relative;
 display: block;
 color: #ffffff;
	border-radius: 25px;
 text-align: center;
 text-decoration: none;
 transition: .3s;
	z-index: 0;
	margin: 30px auto 0;
	width: 250px;
}
#page .button01.pd,
#page .button02.pd {
	padding: .6em 2.5em .6em;
}
#page .button01.d01,
#page .button02.d01 {
 border: 1px solid #1b4e95;
	background: #1b4e95;
}
#page .button01.d02,
#page .button02.d02 {
 border: 1px solid #1582bb;
	background: #1582bb;
}
#page .button01 a,
#page .button02 a {
 display: block;
 color: #ffffff;
	padding: .6em 2.5em .6em;
}
#page .button01:hover,
#page .button01 a:hover,
#page .button02:hover,
#page .button02 a:hover {
 color: #333333;
	text-decoration: none;
}
#page .button01,
#page .button02 {
 overflow: hidden;
}
#page .button01::before,
#page .button02::before {
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
 content: '';
 width: 120%;
 height: 100%;
 background: #ffffff;
 transform-origin: right top;
 transform: skewX(-30deg) scale(0, 1);
 transition: transform .3s;
}
#page .button01:hover::before,
#page .button02:hover::before {
 transform-origin: left top;
 transform: skewX(-30deg) scale(1, 1);
}
@media screen and (min-width: 899px) and (max-width: 1299px) {	
#page .button02 {
	margin: 30px auto 0;
	width: 100%;
}
}
@media screen and (max-width: 640px)  {
	#page .button02 {
 display: block;
	margin: 20px auto 0;
	width: 96%;
	font-size: 14px;
}
}
@media screen and (max-width: 480px)  {
	#page .button01,
	#page .button02 {
 display: block;
	margin: 20px auto 0;
	width: 98%;
}
}

/*  一覧ボタン
================================================== */
.Btn_info {
	position: absolute;
	top: 10px;
	right:0;
	text-align:right;
}
.Btn_info a {
	display:	inline-block;
	position: relative;
	text-decoration: none;
}
.Btn_info a::before {
	display: block;
	content: "";
	position: absolute;
	left:-33px;
	width: 23px;
 height: 23px;
 -webkit-border-radius: 50%;
 border-radius: 50%;
}
.Btn_info a::after {
	display: block;
	content: "";
	position: absolute;
	top: 54%;
	left: -25px;
	width: 6px;
	height: 6px;
	margin: -5px 0 0 0;
}
.Btn_info a {
	color:#333;
	text-align:right;
	-webkit-transition: all .3s;
 							 transition: all .3s;
}
.Btn_info a::before {
 background: #fff;
	border:1px solid #333;
}
.Btn_info a::after {
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
.Btn_info a:hover {
	color:#333;
	text-decoration:	underline;
}
.Btn_info a:hover::before {
 background: #333;
	border:1px solid #333;
}
.Btn_info a:hover::after {
	border-top: solid 2px #ccc;
	border-right: solid 2px #ccc;
	-webkit-transform: rotate(45deg);
									transform: rotate(45deg);
}
@media screen and (min-width: 1025px) and (max-width: 1300px) {
.Btn_info	{
	width: 100%;
}

}
@media screen and (min-width: 899px) and (max-width: 1024px) {
.Btn_info	{
 width: 100%;
}
}
@media screen and (max-width: 898px)  {
.Btn_info	{
 width: 100%;
}
}

@media screen and (max-width: 768px)  {
.Btn_info {top: 2px;}
.Btn_info a {
	font-size:14px;
}
.Btn_info a::before {
	left:-30px;
	width: 20px;
 height: 20px;
}
.Btn_info a::after {
	display: block;
	content: "";
	position: absolute;
	top: 54%;
	left: -24px;
	width: 6px;
	height: 6px;
	margin: -4px 0 0 0;
}
}

/* -------------------------------------------------

pagetitle width

------------------------------------------------- */
/*  新着情報  */
.w01	{
 width: 270px;
}
/*  工事進捗  */
.w02	{
 width: 160px;
}
/*  施工実績  */
.w03	{
 width: 155px;
}
/*  技術・経歴データ  */
.w04	{
 width: 100%;
	text-align:center;
}

@media screen and (max-width: 640px)  {
.w01	{
 width: 216px;
}
.w02	{
 width: 135px;
}
.w03	{
 width: 128px;
}
}

@media screen and (max-width: 480px)  {
.w01	{
 width: 180px;
}
.w02	{
 width: 128px;
}
.w03	{
 width: 120px;
}
}

/* -------------------------------------------------

Business_top

------------------------------------------------- */
.business_top_wrp	{
 width: 1300px;
 margin: 0 auto 100px;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
	/*align-items:center;*/
}
.business_top_wrp::after {
 content: "";
 display: block;
 clear: both;
}
.cp	{
 font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight:400;
	font-size:30px;
	position:relative;
	text-align: center;
	margin: 0 0 50px;
}

.business_top_wrp > section	{
	width: calc(33.3333333% - 90px);
 margin:0 90px 0 0;
	box-sizing: border-box;
}
.business_top_wrp > section:nth-child(3n) {
 margin:0;
}
.menubox {
 width:100%;
	padding:0px;
}
.menubox > a {
}
.menubox > a:hover {
	text-decoration: none;
	/*color:#1C4E95;*/
}
.menubox .c_link {
 cursor:pointer;
}
.menubox .c_link p.image {
 margin:-10px -7px 0 -10px;
}
.menubox .c_link p.image {
	overflow:hidden;
	padding: 0 !important;
} 
.menubox .c_link p.image img {
 vertical-align:top;
	transition:transform 0.3s;
}
.menubox .c_link:hover p.image img {
 transform:scale(1.2);
}
.menubox .c_link h3 {
 margin:10px -10px 0;
	font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
 line-height:	normal;
 font-size: 26px;
	text-align: center;
	padding: 10px 0 20px;
	border-bottom: 1px solid #999999;
}
.menubox .c_link p.text {
 margin:10px -10px 0;
	font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
 line-height:	normal;
	line-height: 1.5;
	padding: 10px 0 0;
}
@media screen and (min-width: 1141px) and (max-width: 1299px) {	
.business_top_wrp{
 width: 95%;
}
}
@media screen and (min-width: 899px) and (max-width: 1140px) {	
.business_top_wrp{
 width: 95%;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
}
.business_top_wrp > section	{
	width: calc(33.3333333% - 50px);
 margin:0 50px 0 0;
	box-sizing: border-box;
}
}
@media screen and (max-width: 898px)  {
.business_top_wrp{
 width: 90%;
	margin: 0 auto 50px;
}
.business_top_wrp > section	{
	width: calc(50% - 50px);
 margin:0 50px 50px 0;
	box-sizing: border-box;
}
.business_top_wrp > section:nth-child(2n) {
 margin:0;
}
.menubox .c_link h3 {
 font-size: 20px;
	padding: 10px 0 20px;
}
.menubox .c_link p.text {
 font-size: 14px;
}
.cp	{
	font-size:24px;
	position:relative;
	margin: 0 0 30px;
}

}
@media screen and (max-width: 736px)  {
	/*.company_topmenu_wrp > section {
	width: calc(100% / 2);
	padding: 0 10px 10px;
}*/
}
@media screen and (max-width: 640px)  {
.cp	{
	font-size:20px;
	margin: 0 0 30px;
}
}
@media screen and (max-width: 480px)  {
.business_top_wrp{
 width: 80%;
 margin: 0 auto 50px;
	display: flex;
	flex-flow: column wrap;
}
.business_top_wrp > section	{
	width: 100%;
 margin:0 0 30px;
	box-sizing: border-box;
}
.business_top_wrp > section:nth-child(3n) {
  margin:0;
}
.business_top_wrp > section:nth-child(2n) {
 margin:0 0 30px;
}
.menubox .c_link h3 {
 font-size: 18px;
	padding: 5px 0 15px;
}
.cp	{
	font-size:16px;
	margin: 0 0 20px;
}
}


.tec_wrp{
 width: 1230px;
 margin: 0 auto;
	position: relative;
}
.tec_wrp::after {
 content: "";
 display: block;
 clear: both;
}
.tec_wrp .tec_inner {
 position: absolute;
	top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
     -ms-transform: translate(-50%, -50%);
}
.tec_wrp .tec_inner h3 {
	font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight:400;
	font-size:30px;
	position:relative;
	text-align: center;
	margin: 0 0 30px;
	color: #ffffff;
}
.tec_wrp .tec_inner p {
	width: 305px;
	/*font-family: "Noto Sans Japanese", sans-serif;*/
	font-style: normal;
	font-weight:400;
	font-size:16px;
	position:relative;
	/*text-align: center;*/
	margin: 0 0 30px;
	text-align: left;
}
@media screen and (min-width: 899px) and (max-width: 1299px) {	
	.tec_wrp{
 width: 93%;
 margin: 0 auto;
	position: relative;
}
}
@media screen and (max-width: 898px)  {
.tec_wrp{
 width: 93%;
 margin: 0 auto;
	position: relative;
}
}
@media screen and (max-width: 768px)  {
.tec_wrp{
 width: 93%;
 margin: 0 auto;
	position: relative;
}
.tec_wrp .tec_inner h3 {
	font-size:20px;
	margin: 0 0 10px;
}
.tec_wrp .tec_inner p {
	width: 280px;
	font-size:14px;
	margin: 0	auto 20px;
}
}
@media screen and (max-width: 480px)  {
.tec_wrp .tec_inner h3 {
	font-size:16px;
	margin: 0 0 10px;
}
.tec_wrp .tec_inner p {
	width: 220px;
	margin: 0	auto;
}
}

/* -------------------------------------------------

カテゴリー・年プルダウンメニュー

------------------------------------------------- */
.com_select {
	width:100%;
	margin:-60px auto 0;
	position: relative;
}
.info_select {
	width:100%;
	margin:-20px auto 0;
	position: relative;
}
.com_select::after,.info_select::after {
 content: "";
 display: block;
 clear: both;
}
.cp_ipselect {
 overflow: hidden;
	width:300px;
 margin: 0 0 1.1em;
	float:right;
 text-align: right;
}
.cp_ipselect select {
 width: 100%;
 padding-right: 1em;
 cursor: pointer;
 text-indent: 0.01px;
 text-overflow: ellipsis;
 border: none;
 outline: none;
 background: transparent;
 background-image: none;
 box-shadow: none;
 -webkit-appearance: none;
 appearance: none;
}
.cp_ipselect select::-ms-expand {
 display: none;
}
.cp_ipselect.cp_sl01 {
 position: relative;
 border: 1px solid #ddd;
 background: #fff;
 border-radius: 4px;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 1.2em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
 padding: 8px 38px 8px 8px;
 color: #666666;
}
.cp_ipselect.cp_sl01 select option {
 font-weight: normal;
 display: block;
 white-space: pre;
 min-height: 1.5em;
 padding: 0px 2px 1px;
}
@media screen and (max-width: 898px)  {
.cp_ipselect {
	width:250px;
}
}

@media screen and (max-width: 768px)  {
.com_select,.info_select {
	font-size:14px;
	margin:0 auto 30px;
}
.cp_ipselect {
	width:100%;
 margin: 0;
}
}
@media screen and (max-width: 480px)  {
}

/* -------------------------------------------------

動画

------------------------------------------------- */
.video_wrp	{
 width: 1230px;
 margin: 0 auto;
}
@media screen and (min-width: 1141px) and (max-width: 1299px) {	
.video_wrp{
 width: 93%;
}
}
@media screen and (min-width: 899px) and (max-width: 1140px) {	
	.video_wrp{
 width: 93%;
}
}
@media screen and (max-width: 898px)  {
.video_wrp{
 width: 93%;
}
}
@media screen and (max-width: 480px)  {
.video_wrp{
 margin: 0 auto;
}
}
.video-container {
  width: 100%;		/*  適宜指定 */
  height: 0;
  position: relative;
  padding-bottom: 56.25%; 	/* アスペクト比16:9 = 9/16 * 100% */
}
.video-container video {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}


/* -------------------------------------------------

jigyo_TopMenu（土木工事トップ）

------------------------------------------------- */
.jigyo_TopMenu {
 width: 100%;
 margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
	justify-content:center;
}
.jigyo_TopMenu > section	{
	width: calc(50% - 90px);
 margin:0 90px 0 0;
	box-sizing: border-box;
}
.jigyo_TopMenu > section:nth-child(2n) {
 margin:0;
}
.jigyo_TopMenu > section .menubox {
 width:100%;
	padding:0px;
}
.jigyo_TopMenu > section .menubox > a {
}
.jigyo_TopMenu > section .menubox > a:hover {
	text-decoration: none;
}
.jigyo_TopMenu > section .menubox .c_link {
 cursor:pointer;
	position: relative;
}
.jigyo_TopMenu > section .menubox .c_link .image {
 margin:-10px -7px 0 -10px;
}
.jigyo_TopMenu > section .menubox .c_link .image {
	overflow:hidden;
	padding: 0 !important;
	position: relative;
}
.jigyo_TopMenu > section .menubox .c_link .image::after {
 content: '';
 background-color: rgba(0, 0, 0, 0.3);
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
}
.jigyo_TopMenu > section .menubox .c_link .image img {
 vertical-align:top;
	transition:transform 0.3s;
	position: relative;
}
.jigyo_TopMenu > section .menubox .c_link:hover .image img {
 transform:scale(1.2);
}
.jigyo_TopMenu > section .menubox .c_link h3 {
	font-family: "Noto Sans Japanese", sans-serif;
	font-style: normal;
	font-weight: 400;
 line-height:	normal;
 font-size: 36px;
	color: #ffffff;
	position: absolute;
	top:50%;
 left:50%;
 transform:translate(-50%,-50%);
	z-index: 2;
	border: none;
	margin:0 !important;
}
@media screen and (min-width: 1141px) and (max-width: 1299px) {	
.jigyo_TopMenu{
 width: 95%;
}
}
@media screen and (min-width: 899px) and (max-width: 1140px) {	
.jigyo_TopMenu{
 width: 95%;
}
.jigyo_TopMenu > section	{
	width: calc(50% - 50px);
 margin:0 50px 0 0;
}
}
@media screen and (max-width: 898px)  {
.jigyo_TopMenu{
 width: 90%;
	margin: 50px auto;
}
.jigyo_TopMenu > section	{
	width: calc(50% - 50px);
 margin:0 50px 0 0;
}
.jigyo_TopMenu > section .menubox .c_link h3 {
 font-size: 30px;
}
}
@media screen and (max-width: 640px)  {
.jigyo_TopMenu{
 width: 100%;
}
.jigyo_TopMenu > section .menubox .c_link h3 {
 font-size: 20px;
}
}
@media screen and (max-width: 480px)  {
.jigyo_TopMenu{
 width: 80%;
	margin: 30px auto;
	flex-flow: column wrap;
}
.jigyo_TopMenu > section	{
	width: 100%;
 margin:0 0 30px;
}
.jigyo_TopMenu > section:nth-child(2n) {
 margin:0px;
}
.jigyo_TopMenu > section .menubox .c_link h3 {
 /*font-size: 18px;*/
}
}

