#content { overflow:hidden; }

/*---------------------------------------------------------------------------
  TITLE
---------------------------------------------------------------------------*/

#page_title {
	display: flex;
	height: 315px;
	margin-top: 70px;
	align-items: center;
	position: relative;
	background: #005787;
}
#page_title::after {
	content: "";
	position: absolute;
	top: -50px;
	right: 0;
	max-width: 55.2%;
	height: 415px;
	width: 100%;
	border-radius:100px 0 0 100px;
	background: url(../../image/sub/about_tit.jpg) no-repeat;
	background-position: 30% 75%;
	background-size: cover;
}
#page_title h2 {
	color: #FFF;
	width: 100%;
	margin: auto;
	font-size: 262.5%;
	line-height: 120%;
	max-width: 1200px;
	padding-left: 47px;
	position: relative;
}
#page_title h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	border: 11px solid #53A8DB;
	transform: translateY(-50%);
}
#page_title h2::after {
	content: "";
	position:absolute;
	bottom: -130px;
	left: 0;
}

/* ABOUT TITLE */
#page_title.about_tit h2::after {
	width: 509px;
	height: 57px;
	background: url(../../image/sub/about_sub_tit1.svg) no-repeat;
	background-size: contain;
}

/* CASE TITLE */
#page_title.case_tit::after {
	background: url(../../image/sub/case_tit.jpg) no-repeat;
	background-position: 30% 60%;
	background-size: cover;
}
#page_title.case_tit h2::after {
	width: 500px;
	height: 46px;
	background: url(../../image/sub/case_sub_tit1.svg) no-repeat;
	background-size: contain;	
}

/* NEWS TITLE */
#page_title.news_tit::after {
	background: url(../../image/sub/news_tit.jpg) no-repeat;
	background-position: 30% 85%;
	background-size: cover;
}
#page_title.news_tit h2::after {
	width: 237px;
	height: 50px;
	background: url(../../image/sub/news_sub_tit1.svg) no-repeat;
	background-size: contain;	
}

/* CONTACT TITLE */
#page_title.contact_tit h2::after {
	width: 471px;
	height: 56px;
	background: url(../../image/sub/contact_sub_tit1.svg) no-repeat;
	background-size: contain;	
}


/*---------------------------------------------------------------------------
  PAN
---------------------------------------------------------------------------*/

.pan {
	clear:both;
	margin:0;
	padding: 0.5%;
	font-size: 80%;
	color: #666;
	text-align:right;
}
.pan a {color: #666; text-decoration:none;}
.pan a:hover {color: #333333;}


/*====================================================================================================

  SUBPAGE

====================================================================================================*/
#subpage {}


/*====================================================================================================
  固定ページ common css
====================================================================================================*/
.page_cont {
	background: #FFF;
	border-radius: 55px;
	padding: 110px 130px;
	margin-block:150px 100px;
}


/*====================================================================================================
  ARTICLE CONTENT
====================================================================================================*/
.kiji_box {
	background: #FFF;
	border-radius: 55px;
	margin-bottom: 76px;
	padding: 110px 130px;
	font-family: zen-kaku-gothic-new, sans-serif;
}
.title_box { margin-bottom:60px; }
.title_box .title { font-size:300%; line-height:130%; }
.title_box .kiji_info { display:flex; align-items:center; margin-top:18px; font-family:"M Plus Rounded 1C", sans-serif; }
.title_box .kiji_info .cate { width:106px; }
.title_box .kiji_info .cate a {
	height: 36px;
	display: flex;
	color: #606B71;
	font-weight: 500;
	background: #FFF;
	border-radius: 18px;
	align-items: center;
	text-decoration: none;
	justify-content: center;
	border: 1px solid #CFD9DD;
}
.title_box .kiji_info .date { color:#909090; font-weight:500; margin-left:10px; }

.content_box {}
.content_box a { color: #005787; }
.content_box a:hover { color:#3689BB; }
.content_box a:active { color:#0099FF; }
.content_box a:visited { color:#005787; text-decoration:none; }
.content_box p { margin-block:30px; }
.content_box h3 { font-size:212.5%; }
.content_box h3 { font-size:212.5%; }
.content_box h4 { font-size:175%; }




/*====================================================================================================
  PAGINATION
====================================================================================================*/

.page_box {
	width:100%;
	margin: 0 auto;
	max-width:1200px;
	padding-block: 35px 85px;
	border-top: 4px solid #FFF;
	font-family: dnp-shuei-mgothic-std, sans-serif;
}
.page_box a { text-decoration:none; color: #187FC4; }
.page_box .list {
	width: 131px;
	height: 41px;
	margin: auto;
	display: flex;
	color: #187FC4;
	background: #FFF;
	font-size: 112.5%;
	font-weight: 700;
	border-radius: 21px;
	align-items: center;
	text-decoration: none;
	justify-content: center;
	border: 3px solid #CCE9F2;
}


/*====================================================================================================
  WP PAGE-NAVI
====================================================================================================*/
.wp-pagenavi {
	width: 100%;
	display: flex;
	margin:0 auto;
	position: relative;
	align-items: center;
	justify-content: center;
}
.wp-pagenavi .pages { display:none; }
.wp-pagenavi a, .wp-pagenavi span {
	width: 41px;
	height: 41px;
	display: flex;
	color: #005787;
	margin: 0 10px;
	font-size: 112.5%;
	font-weight: 700;
	line-height: 120%;
	background: #FFF;
	border-radius:50%;
	align-items: center;
	text-decoration: none;
	justify-content: center;
	border: 3px solid #CCE9F2;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current { border-color:#005787; background:#005787; color:#FFF; }
.nav-links .navi,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
/*	top: 50%;*/
	margin: 0;
	width: 60px;
	height: 60px;
	border: none;
	border-radius: 50%;
	position: absolute;
	text-indent: -9999px;
/*	transform: translateY(-50%);*/
}
.nav-links .navi.prev,
.wp-pagenavi a.previouspostslink {
	left: 0;
	background:#FFF url(../image/arrow_left.svg) no-repeat center 45%;
}
.nav-links .navi.next,
.wp-pagenavi a.nextpostslink {
	right: 0;
	background:#FFF url(../image/arrow_right1.svg) no-repeat center 45%;
}
.nav-links a:hover,
.wp-pagenavi a.previouspostslink:hover,
.wp-pagenavi a.nextpostslink:hover { opacity:0.7; }

/* POST NAVIGATION */
.post-navigation { position:relative; }
.nav-links .navi { top:-10px; }

/*====================================================================================================

  ERROR

====================================================================================================*/
#error {
	background: #FFF;
	border-radius: 55px;
	padding: 110px 130px;
	margin-block:210px 80px;
}
#error h4 { font-size: 150%; margin-bottom:20px; }
#error a {
	color: #005787;
	font-size: 112.5%;
	font-weight: 700;
	text-underline-offset: 7px;
	text-decoration-thickness: 1px;
}
#error a:hover { opacity:0.7; }
#error ul { padding:0 40px; }
#error ul li { margin-block:10px; }

/*====================================================================================================

  会社案内

====================================================================================================*/
#about {}
#about .sb_main {
	padding-block: 180px 182px;
	background: url(../../image/sub/about_bg1.png) no-repeat bottom;
	background-size: cover;
}
#about .sb_main .title_box { max-width:fit-content; margin:0 auto 120px; }
#about .sb_main .title_box p img { max-width:637px; width:100%; }
#about .sb_main .title_box p+p {
	color: #005787;
	font-size: 156.3%;
	font-weight: 700;
	margin-top: 30px;
	text-indent: 9.4%;
	font-family: "Noto Sans", sans-serif;
}
#about .sb_main .business {
	border-radius:50px;
	padding:42px 6.7% 115px;
	background:rgba(255, 255, 255, 0.6);
}
#about .sb_main dl { display:flex; }
#about .sb_main dl dt {
	width: 213px;
	color: #005787;
	flex-shrink: 0;
	font-size: 375%;
	padding: 40px 0;
	line-height: 100%;
	text-align: center;
	margin-right: 5.7%;
	position: relative;
	transform-style: preserve-3d;
	font-family: "M Plus Rounded 1C", sans-serif;
}
#about .sb_main dl dt::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
	width: 237px;
	height: 264px;
	transform: translateZ(-1px);
	background: url(../../image/sub/about_ribbon.png) no-repeat;
	background-size: contain;
}
#about .sb_main dl dd { font-size:112.5%; font-weight:600; line-height: 200%; color:#333; align-self:center; }
#about .sb_main .cont_list {
	display:flex;
	column-gap: 2%;
	margin-top:80px;
	justify-content:space-between;
}
#about .sb_main ul { width:300px; }
#about .sb_main ul li img { width:100%; border-radius:50%; border:12px solid #CCE9F2; }
#about .sb_main ul li b { display:block; font-size:312.5%; font-weight:400; line-height:100%; }
#about .sb_main ul li small { display:block; font-size:175%; line-height:120%; }
#about .sb_main ul li.title {
	color:#3689BB;
	height: 110px;
	display: flex;
	text-align: center;
	margin-bottom: 20px;
	flex-direction: column;
	justify-content: center;
	font-family:"M Plus Rounded 1C", sans-serif;
}
#about .sb_main ul li.come { color: #333; font-weight: 300; }

#about .nature {
	color: #FFF;
	padding-block: 124px 190px;
	background: url(../../image/sub/about_bg2.jpg) no-repeat;
	background-size: cover;
}
#about .nature .mid { width:fit-content; margin:auto; position:relative; }
#about .nature .mid img { max-width:835px; width:100%; }
#about .nature .mid::before {
	content: "";
	position: absolute;
	bottom: -47px;
	left: -157px;
	width: 106px;
	height: 170px;
	background: url(../../image/sub/pine1.svg) no-repeat;
	background-size: contain;
}
#about .nature .mid::after {
	content: "";
	position: absolute;
	bottom: -33px;
	right: -180px;
	width: 98px;
	height: 147px;
	background: url(../../image/sub/pine2.svg) no-repeat;
	background-size: contain;
}
#about .nature .catch { font-size: 112.5%; font-weight: 600; max-width:929px; padding: 0 10px; margin:80px auto 55px; }
#about .nature .come {
	font-weight: 300;
	max-width: 929px;
	padding: 0 10px;
	margin: auto;
}

#about .projects { display:flex; column-gap:0.5%; margin-block:0.5%; }
#about .projects li { width:19.6%; }
#about .projects li img { width:100%; }

#about .message {
	color: #FFF;
	display: flex;
	flex-wrap: wrap;
	font-weight: 300;
	background:#005787;
	padding-block: 140px 200px;
}
#about .message .txt_box { order:2; max-width:45.3%; padding:0 6% 0 4.3%; }
#about .message .txt_box .mid img { max-width:661px; width:100%; }
#about .message .txt_box .come { font-weight: 300; margin-block: 62px 104px; }
#about .message .txt_box .etymology {
	font-weight: 300;
	line-height: 200%;
	padding: 33px 38px;
	border-radius: 10px;
	border: 1px solid #FFF;
}
#about .message .txt_box .etymology .et1 { font-size:118.8%; }
#about .message .txt_box .etymology .et2 { font-size:187.5%; color:#FFF031; }
#about .message .txt_box .etymology .et3 { font-size:112.5%; }
#about .message .photo_box { order:1; max-width:54.7%; }
#about .message .photo_box img { width:100%; }
#about .message .photo_box .photo { position:relative; }
#about .message .photo_box .photo::after {
	content: "";
	position: absolute;
	right: 15px;
	bottom: -145px;
	width: 231px;
	height: 231px;
	border-radius: 50%;
	border: 12px solid #005787;
	background: url(../../image/sub/about_11.jpg) no-repeat;
	background-size: contain;
}
#about .message .photo_box .photo img {
	height: 808px;
	object-fit: cover;
	object-position: right;
	border-radius:0 100px 100px 0;
}
#about .message .photo_box .sub_title { max-width:699px; }
#about .message .author_box {
	order:3;
	width: 100%;
	max-width:45.3%;
	margin-top: 75px;
	margin-left:auto;
	padding:0 6% 0 4.3%;
}
#about .message .author_box small { display:block; font-size:100%; font-weight:300; }
#about .message .author_box span { display:block; font-size:237.5%; font-weight:300; line-height:100%; }
@media only screen and (min-width:1920px){
	#about .message .author_box { margin-right: calc((100% - 1920px) / 2); }
}


#about .info { margin-block:153px 163px; }
#about .info h3 {
	color: #FFF;
	height: 97px;
	display: flex;
	font-size: 243.8%;
	font-weight: 500;
	position: relative;
	align-items: center;
	background: #005787;
	justify-content: center;
	border-radius: 50px 50px 0 0;
	font-family: "M Plus Rounded 1C", sans-serif;
}
#about .info h3::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -43px;
	z-index: -1;
	margin: auto;
	width: 310px;
	height: 310px;
	border-radius: 50%;
	background: #005689;
}
#about .info .info_list { background:#FFF; padding-bottom: 75px; border-radius:0 0 50px 50px; }
#about .info table { width:100%; }
#about .info table tr:nth-child(even) { background:#E9F2F8; }
#about .info table tr th {
	width:190px;
	font-size: 112.5%;
	font-weight: 600;
	text-align: left;
	padding: 35px 0 25px 50px;
}
#about .info table tr td { font-size: 112.5%; font-weight: 300; padding-block: 35px 25px; }

#about .history { margin-bottom:130px; }
#about .history table tr th { width:255px; color:#333; }

#about .access { color: #FFF; margin-bottom:150px; background:#3689BB; position:relative; }
#about .access .access_info { display:flex; height: 597px; }
#about .access .access_info .photo {
	position: absolute;
	top: 0;
	flex: 1;
	max-width: 1000px;
	right: calc((100% - 1920px) / 2);
}
#about .access .access_info .photo::after {
	content: "";
	position: absolute;
	left: -117px;
	bottom: 18px;
	width: 210px;
	height: 210px;
	border-radius: 50%;
	border: 12px solid #3689BB;
	background: url(../../image/sub/about_13.jpg) no-repeat;
	background-size: contain;
}
#about .access .access_info .photo img { width:100%; object-fit:cover; }
#about .access .access_info .txt_box { flex:1; position:relative; }
#about .access .access_info .txt_box h4 {
	z-index: 2;
	color: #FFF;
	margin-top: 97px;
	font-size: 262.5%;
	padding-left: 48px;
	position: relative;
}
#about .access .access_info .txt_box h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	border: 11px solid #CCE9F2;
	transform: translateY(-50%);
}
#about .access .access_info .txt_box .sub_title { position:absolute; left:0; top:15px; }
#about .access .access_info .txt_box .sub_title img { max-width:547px; width:100%; }
#about .access .access_info .txt_box .come {
	max-width:38.3%;
	font-size: 112.5%;
	font-weight: 300;
	margin-block:68px 30px;
}
#about .access .map {}
#about .access .map iframe { width:100%; height:800px; }



/*====================================================================================================

  施工実績

====================================================================================================*/
#case { padding-top:190px; }
#case .case_title {
	display: flex;
	padding-block:25px;
	align-items: center;
	border-bottom: 5px solid #FFF;
	justify-content: space-between;
}
#case .case_title h3 { font-size: 237.5%; font-weight: 600; line-height: 120%; margin-left: 7px; }
#case .case_title dl { display:flex; align-items:center; }
#case .case_title dl dt { font-size: 112.5%; font-weight: 300; }
#case .case_title dl dd ul {
	display:flex;
	column-gap: 10px;
	font-family: "M Plus Rounded 1C", sans-serif;
}
#case .case_title dl dd ul li { width:106px; }
#case .case_title dl dd ul li a {
	height: 36px;
	display: flex;
	color: #606B71;
	font-weight: 500;
	background: #FFF;
	align-items: center;
	border-radius: 18px;
	text-decoration: none;
	justify-content: center;
	border: 1px solid #CFD9DD;
}
#case .case_list {
	display: flex;
	row-gap: 30px;
	flex-wrap: wrap;
	column-gap: 2.4%;
	padding-block: 87px 37px;
}
#case .case_list .box {
	width:31.7%;
	background:#FFF;
	border-radius:50px;
	font-family:"M Plus Rounded 1C", sans-serif;
}
#case .case_list .box a { display:block; text-decoration: none; color: #606B71; padding-bottom:60px; }
#case .case_list .box a > div { margin:0 30px 0 25px; }
#case .case_list .box .photo { margin:0; overflow:hidden; border-radius:50px 50px 0 0; }
#case .case_list .box .photo img { width:100%; height: 219px; object-fit: cover; transition: transform 0.5s ease; }
#case .case_list .box .title {
	display: block;	
	margin-block:25px;
	font-size: 162.5%;
	font-weight: 500;
	line-height: 120%;
}
#case .case_list .box .come { font-size:112.5%; }
#case .case_list .box .order { color:#909090; font-weight:500; margin-block:5px 10px; }
#case .case_list .box .other {
	display:flex;
	column-gap: 5%;
	align-items:center;
	justify-content: space-between;
}
#case .case_list .box .other p { font-weight:500; }
#case .case_list .box .other p.cate {
	width:106px;
	height: 36px;
	display: flex;
	color: #606B71;
	background: #FFF;
	align-items: center;
	border-radius: 18px;
	text-decoration: none;
	justify-content: center;
	border: 1px solid #CFD9DD;
}

#case .case_list .box a:hover { opacity:0.7; }
#case .case_list .box a:hover img { transform:scale(1.15); }




/*====================================================================================================

  お知らせ

====================================================================================================*/
#news {
	padding-top: 210px;
}
#news .news_list { background:#FFF; border-radius:55px; padding:109px 130px; margin-bottom:60px; }
#news .news_list ul {
	display:flex;
	height: 93px;
	padding: 0 20px;
	overflow: hidden;
	position: relative;
	align-items:center;
	border-radius: 10px;
	border: 2px solid #C2CCD0;
	transform-style: preserve-3d;
}
#news .news_list ul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: #F5FBFD;
	transition: width 0.5s;
	border-radius:0 0 0 30px;
	transform: translateZ(-1px);
}
#news .news_list ul:hover::before { width:100%; }
#news .news_list ul+ul { margin-top:20px; }
#news .news_list ul li { position:relative; z-index:1; }
#news .news_list ul li.date {
	width: 18%;
	flex-shrink: 0;
	color: #909090;
	font-size: 93.8%;
	font-weight: 500;
	line-height: 100%;
	font-family: "M Plus Rounded 1C", sans-serif;
}
#news .news_list ul li.title { width:82%; }
#news .news_list ul li.title a {
	display: block;
	color: #606B71;
	font-size: 162.5%;
	position: relative;
	padding-right: 40px;
	text-decoration: none;
	font-family: zen-kaku-gothic-new, sans-serif;
}
#news .news_list ul li.title a::before,
#news .news_list ul li.title a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	transition: 0.2s ease;
	transform: translateY(-50%);
}
#news .news_list ul li.title a::before { background: #FFF; }
#news .news_list ul li.title a::after { background: url(../image/arrow_right1.svg) no-repeat center 45%; background-size:17px 10px; }



/*====================================================================================================

  お問い合わせ

====================================================================================================*/
#contact {}
#contact h3 { text-align:center; font-size:212.5%; margin-bottom:40px; }
#contact .box {}
#contact .box table { width: 80%; margin: auto; }
#contact .box table th { text-align: right; width: 25%; font-weight: 500; vertical-align: top; padding: 18px 0; }
#contact .box table th.denwa { padding-right:47px; }
#contact .box table th span.req { color: #FF0000; font-size: 87.5%; display: inline-block; margin-left: 20px; }
#contact .box table td {
	width: 75%;
	padding: 15px 0 15px 20px;
}
#contact .box table td input,
#contact .box table td textarea {
	width: 100%;
	font-weight: 500;
	padding: 10px 25px;
	border-radius: 5px;
	border: 1px solid #C2CCD0;
	font-family: hiragino-kaku-gothic-pron, sans-serif;
}
#contact .box table td input::placeholder,
#contact .box table td textarea::placeholder { color: #BCBCBC; font-weight: 400; }
#contact .box table td textarea { height: 180px; }
#contact .box table td input[type="checkbox"] {
	width: 20px;
	height: 20px;
	border-radius: 4px;
	border: 1px solid #C2CCD0;
	vertical-align: middle;
}
#contact .box table td label { margin: 5px 0 5px 12px; display: inline-block; }
#contact .box table td label a { color: #000; display: inline-block; }
#contact .box .terms { margin-top:20px; }
#contact .b_inqu {
	width: 210px;
	margin: 50px auto 0;
	background: #4BBDC1;
	position: relative;
	overflow: hidden;
	border-radius: 30px;
	transform-style:preserve-3d;
}
#contact .b_inqu::before {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	left: 0;
	width: 0;
	height: 100%;
	background: #3689BB;
	transition: width 0.3s;
	transform: translateZ(-1px);
}
#contact .b_inqu:hover::before { width:100%; }
#contact .b_inqu input[type="submit"] {
	color: #FFF;
	width: 100%;
	height: 50px;
	border: none;
	margin: auto;
	display: flex;
	cursor: pointer;
	font-size: 112.5%;
	font-weight: 700;
	position: relative;
	background: #4BBDC1;
	border-radius: 30px;
	align-items: center;
	text-decoration: none;
	justify-content: center;
	background: transparent;
	font-family: hiragino-kaku-gothic-pron, sans-serif;
}
.wpcf7-spinner { display:none; }



