/*style_common*/
body {
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	margin: 0;
	padding: 0;
	font-size: 18px;
	display: flex;
	flex-flow: column;
	min-height: 100vh;
}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}

main {
	flex: 1;
}

img {
	image-rendering: -webkit-optimize-contrast;
	vertical-align: top;
}

.inner {
	width: 90%;
	max-width: 1000px;
	margin: auto;
}

.inner800 {
	width: 90%;
	max-width: 800px;
	margin: auto;
}

.w1280 {
	display: block;
}

.w1280-2 {
	display: none;
}


.w960 {
	display: block;
}

.w960-2 {
	display: none;
}

.w768 {
	display: block;
}

.w768-2 {
	display: none;
}

.w428 {
	display: block;
}

.w428-2 {
	display: none;
}

.w320 {
	display: block;
}

.w320-2 {
	display: none;
}

.g-font {
	font-family: 'Anton', sans-serif;
}

.flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

a {
	color: #fff;
	text-decoration: none;
}

p {
	text-align: justify;
	margin: 0px;
	line-height: 1.7;
}

ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

h1, h2 {
	margin: 0px;
}

@media screen and (max-width: 1280px) {
	.w1280 {
		display: none;
	}

	.w1280-2 {
		display: block;
	}

}

@media screen and (max-width: 960px) {
	.w960 {
		display: none;
	}

	.w960-2 {
		display: block;
	}
}

@media screen and (max-width: 768px) {
	.w768 {
		display: none;
	}

	.w768-2 {
		display: block;
	}
}

@media (min-width: 428px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

@media screen and (max-width: 428px) {
	body {
		font-size: 14px;
	}

	.w428 {
		display: none;
	}

	.w428-2 {
		display: block;
	}
}

@media screen and (max-width: 320px) {
	.w320 {
		display: none;
	}

	.w320-2 {
		display: block;
	}
}

/*header***************/
header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	height: 90px;
	padding: 10px 20px;
}

header h1 img {
	width: 296px;
	height: auto;
	display: block;
}

.h_middle {
	/* padding-right: 390px; */
	padding-right: 760px;
}

.h_middle-sub {
	/* padding-right: 590px; */
	padding-right: 960px;
}

.cl_nav {
	display: none;
}

.h_right, .h_right-sub {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: absolute;
	top: -30px;
	right: 20px;
}

.h_right a, .h_right-sub a {
	display: block;
	width: 180px;
	padding: 50px 0 17px 0;
	box-sizing: border-box;
	color: #FFFFFF;
	border-radius: 10px;
	margin-left: 5px;
}

.h_right a, .h_right-sub a.h_btn_sns {
	padding-top: 46px;
}

.h_right a, .h_right-sub a.h_btn_sns img {
	margin-bottom: 1px;
}

.h_right a p, .h_right-sub a p {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}

.h_right img, .h_right-sub img {
	margin: 0 auto 5px;
	display: block;
}

.green {
	background-color: #258D6E;
}

.blue {
	background-color: #289EB9;
}

.brown {
	background-color: #401508;
}

.lightgreen {
	background-color: #73b559;
}

.blue2 {
	background-color: #3288bf;
}

/*スクロール時に上から出てくるメニュー*/
.navbarCollapse {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 10px 0;
}

.navbarCollapse li a {
	font-size: 16px;
	color: #000;
	text-decoration: none;
	display: block;
	padding: 0px 0px 0px 20px;
	cursor: pointer;
	position: relative;
}

.navbarCollapse li a:hover::after {
	width: 100%;
}

.clone-nav {
	width: 100%;
	height: auto;
	transition: all 0.3s;
	transform: translateY(-100px);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: rgba(255, 255, 255, 1);
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	box-shadow: 0 0px 10px 0 rgb(0 0 0);
}

.clone-nav .cl_nav {
	display: block;
}

.is-show {
	transform: translateY(0);
	margin: 0;
	padding: 20px 0px;
}

@media screen and (max-width: 1600px) {
	.h_middle-sub {
		padding-right: 800px;
	}

	.h_right-sub a {
		width: 150px;
	}
}

@media screen and (max-width: 1450px) {
	.h_middle-sub {
		padding-right: 640px;
	}

	.h_right a p, .h_right-sub a p {
		font-size: 16px;
	}

	.h_right-sub a {
		width: 120px;
	}

}

@media screen and (max-width: 1400px) {
	.h_middle {
		/* padding-right: 330px; */
		padding-right: 630px;
	}

	.h_right a {
		width: 150px;
	}

	.h_right a p {
		font-size: 18px;
	}
}

@media screen and (max-width: 1280px) {
	header {
		height: 60px;
	}

	header h1 img {
		width: 200px;
	}

	.h_right, .h_right-sub {
		display: none;
	}

	.navbarCollapse {
		display: none;
	}

	/*　ハンバーガーボタン　*/
	.nav {
		position: fixed;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100vh;
		background: rgba(37, 141, 110, 1);
		color: #ffffff;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		/* 右からスライド */
		transition: left 0.5s;
		z-index: 10;
	}

	.nav ul {
		list-style: none;
		text-align: center;
		width: 90%;
		margin-top: 80px;
	}

	.nav li {
		border-bottom: 1px solid #fff;
		padding-bottom: 20px;
	}

	.nav li:not(:last-child) {
		margin-bottom: 20px;
	}

	.nav li:last-child {
		border-bottom: none;
	}

	.nav a {
		color: #ffffff;
	}

	.nav_tel {
		display: block;
		padding: 10px 0;
		color: #258D6E !important;
		background-color: #fff;
	}

	/* ナビゲーションボタン（開く） */
	#navbtn {
		position: fixed;
		top: 21px;
		right: 13px;
		outline: none;
		border: none;
		background: none;
		width: 45px;
		cursor: pointer;
		height: 40px;
		z-index: 10;
	}

	#navbtn::before,
	#navbtn::after {
		content: '';
		display: block;
		height: 2px;
		background-color: #000;
		transform: translateY(10px);
		transition: 0.3s ease-in-out;
	}

	#navbtn::before {
		transform: translateY(-10px);
		box-shadow: 0 11px #000;
	}

	/* ナビゲーションボタン（閉じる） */
	.open #navbtn {
		z-index: 100;
	}

	.open #navbtn::before {
		transform: rotate(-45deg) translate(-1px, 1px);
		box-shadow: none;
		background-color: #fff;
	}

	.open #navbtn::after {
		transform: rotate(45deg);
		box-shadow: none;
		background-color: #fff;
	}

	/* ナビゲーションメニュー 開いた時*/
	.open .nav {
		left: 0;
	}
}

@media screen and (max-width: 428px) {
	header {
		display: block;
		padding: 0px;
		height: 70px;
	}

	.sp_fixed {
		position: fixed;
		width: 100%;
		background-color: #fff;
		z-index: 10;
		top: 0;
		height: 70px;
	}

	header h1 img {
		width: 180px;
		margin: 8px 0px 8px 8px;
	}

	.h_catch {
		background-color: #289EB9;
		color: #fff;
		font-size: 10px;
		text-align: center;
		padding: 2px 0px;
	}

	#navbtn {
		position: absolute;
		top: 25px;
		right: 5px;
	}
}

/*メインビジュアル（トップページ）***************/
#mainvisual {
	background: url(../images/mv_pc.jpg) no-repeat;
	background-size: cover;
	position: relative;
	height: 860px;
	background-position: center bottom 10%;
}

#mainvisual .mv_catch {
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	width: 180px;
	height: auto;
}

@media screen and (max-width: 1365px) {
	#mainvisual {
		height: 700px;
	}
}

@media screen and (max-width: 960px) {
	#mainvisual {
		height: 500px;
	}

	#mainvisual .mv_catch {
		width: 150px;
	}
}

@media screen and (max-width: 428px) {

	/*#mainvisual {background: url(../images/mv_sp.jpg) no-repeat;height: 650px;background-size: cover;background-position: center center;margin-top: 70px;}*/
	#mainvisual {
		background: none;
		height: auto;
		overflow: hidden;
	}

	.fv {
		height: 100vh;
		/* カスタムプロパティ未対応ブラウザ用のフォールバック */
		min-height: calc(var(--vh, 1vh) * 100);
	}

	#mainvisual .mv_catch {
		top: 55%;
	}
}

@media screen and (max-width: 320px) {
	#mainvisual .mv_catch {
		width: 110px;
	}
}

/*サブビジュアル（下層ページ）***************/
#subvisual {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 70px 0 80px;
}

#subvisual .sub_txtarea {
	width: 50%;
}

#subvisual h2 {
	font-size: 70px;
	margin-bottom: 20px;
}

#subvisual h2 span {
	font-size: 60px;
}

#subvisual .sub_catch {
	font-size: 30px;
	font-weight: bold;
}

.sub_catch-blue {
	color: #34B7CD;
}

.sub_catch-green {
	color: #3BBB6F;
}

#subvisual .sub_t-width {
	width: 60%;
	margin: auto;
}

#subvisual .sub_width {
	width: 60%;
	margin: 40px auto 0;
	font-size: 22px;
}

#subvisual .sub_moyou {
	width: 105%;
	height: auto;
	position: relative;
	margin-top: -33%;
	z-index: -2;
}

#subvisual .sub_img {
	width: 50%;
	position: relative;
	z-index: -3;
}

#subvisual-others {
	position: relative;
	margin-bottom: 50px;
}

#subvisual-others img {
	width: 100%;
}

#subvisual-others h2 {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: 45px;
}

@media screen and (max-width: 1366px) {
	#subvisual .sub_t-width {
		width: 80%;
	}

	#subvisual .sub_width {
		width: 80%;
		margin: 10px auto 0;
	}
}

@media screen and (max-width: 1024px) {
	#subvisual {
		margin: 40px 0 60px;
	}

	#subvisual h2 {
		font-size: 60px;
	}

	#subvisual h2 span {
		font-size: 50px;
	}

	#subvisual .sub_catch {
		font-size: 22px;
	}

	#subvisual .sub_width {
		font-size: 18px;
	}
}

@media screen and (max-width: 960px) {
	#subvisual {
		margin: 20px 0 40px;
	}

	#subvisual h2 {
		font-size: 50px;
	}

	#subvisual h2 span {
		font-size: 40px;
	}

	#subvisual-others h2 {
		font-size: 30px;
	}
}

@media screen and (max-width: 768px) {
	#subvisual {
		display: block;
	}

	#subvisual .sub_txtarea {
		width: 100%;
	}

	#subvisual h2, #subvisual .sub_catch {
		text-align: center;
	}

	#subvisual .sub_t-width, #subvisual .sub_width {
		width: 90%;
	}

	#subvisual .sub_img {
		width: 90%;
		margin: 20px auto 50px;
		left: 50%;
		transform: translate(-50%, 0%);
	}

	#subvisual .sub_moyou {
		width: 25%;
		margin-right: 0;
		margin-left: auto;
		margin-top: -28%;
	}
}

@media screen and (max-width: 428px) {
	#subvisual {
		margin: 100px 0 0px;
	}

	#subvisual h2 {
		font-size: 30px;
		margin-bottom: 10px;
	}

	#subvisual h2 span {
		font-size: 20px;
	}

	#subvisual .sub_catch {
		font-size: 18px;
	}

	#subvisual .sub_width {
		font-size: 14px;
	}

	#subvisual-others {
		margin-bottom: 30px;
		margin-top: 70px;
	}

	#subvisual-others h2 {
		font-size: 20px;
	}
}

/*トップページ***************/
/*TOPIX*/
#nikoh {
	margin: 60px 0px 100px;
}

#nikoh .topics_ttl {
	font-size: 50px;
	text-align: center;
	color: #8D8D8D;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}

#nikoh .topics_ttl span {
	color: #258D6E;
}

#nikoh .topics_btn {
	text-align: center;
	width: 300px;
	padding: 10px;
	display: block;
	margin: 30px auto 0;
	border: 1px solid #8D8D8D;
	color: #000;
	border-radius: 30px;
}

#nikoh .topics_btn:hover {
	background-color: #EDEDED;
	border: 1px solid #EDEDED;
}

.top-news__item {
	/*display: flex;*/
	border-bottom: 1px solid #D9D9D9;
	align-items: baseline;
	padding: 8px 0;
}

.top-news__item a {
	color: #000000;
	text-decoration: underline;
}

.top-news__time {
	margin-right: 20px;
}

.top-news__link {
	color: #000;
	font-weight: bold;
}

@media screen and (max-width: 428px) {
	#nikoh {
		margin: 60px 0px 60px;
	}
}

@media screen and (max-width: 375px) {
	#nikoh .topics_btn {
		width: 90%;
	}
}

/*施設管理事業*/
#business {
	position: relative;
	margin-bottom: 150px;
}

#business .business_area {
	font-size: 90px;
	opacity: 0.5;
	position: absolute;
	top: 100px;
	color: #7AD0E5;
}

#business .business_area_bg {
	background: url(../images/shisetsu_bg.png) no-repeat center bottom;
	background-color: #D7F1F7;
	position: absolute;
	top: 20%;
	z-index: -1;
	width: 50%;
	height: 500px;
}

#business .ttl_box {
	position: relative;
	margin-bottom: 15px;
}

#business .block {
	position: absolute;
	left: 0;
	z-index: 1;
	top: 300px;
}

#business .business_catch {
	font-size: 18px;
	background-color: #fff;
	display: table;
	padding: 0px 10px;
	margin-bottom: 5px;
}

#business .business_ttl {
	font-size: 60px;
	font-weight: bold;
	background-color: #fff;
	display: table;
	padding: 0px 10px;
}

#business .business_ttl span {
	font-size: 40px;
}

#business .business_img_right {
	position: relative;
	left: 30%;
	width: 70%;
}

#business .business_img_right img {
	width: 100%;
}

#business .business_img_left {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 30px;
}

#business .business_img_left img:first-child {
	margin-right: 15px;
}

#business .business_txt {
	width: 65%;
}

#business .business_btn {
	text-align: center;
	width: 30%;
	padding: 10px;
	color: #000;
	border-radius: 30px;
	display: block;
	background-color: #D7F1F7;
}

#business .business_btn:hover {
	color: #fff;
	background-color: #34B7CD;
}

@media screen and (max-width: 1250px) {
	#business .business_area {
		font-size: 80px;
		top: 110px;
	}
}

@media screen and (max-width: 1150px) {
	#business .business_area {
		font-size: 74px;
	}

	#business .block {
		top: 280px;
	}

	#business .business_img_right {
		left: 35%;
		width: 65%;
	}
}

@media screen and (max-width: 960px) {
	#business {
		margin-bottom: 100px;
	}

	#business .business_area {
		position: relative;
		z-index: 1;
		top: 0;
	}

	#business .business_area_bg {
		width: 100%;
		height: 550px;
		background: url(../images/shisetsu_bg.png) no-repeat left 10% bottom;
		background-color: #D7F1F7;
	}

	#business .ttl_box {
		margin-top: -50px;
	}

	#business .block {
		position: relative;
		margin-top: -85px;
		z-index: 1;
		top: 0;
	}

	#business .business_img_right {
		left: 0;
		width: 80%;
		margin: auto;
		position: static;
	}

	#business .business_img_left {
		justify-content: space-between;
		width: 80%;
		margin: 50px auto 15px;
	}

	#business .business_img_left img {
		width: 49%;
		height: auto;
	}

	#business .business_img_left img:first-child {
		margin-right: 0;
	}

	#business .business_txt {
		width: 60%;
	}
}

@media screen and (max-width: 767px) {
	#business .business_img_right, #business .business_img_left, #business .business_txt {
		width: 100%;
	}

	.flex {
		flex-flow: column;
	}

	#business .business_txt {
		margin-bottom: 20px;
	}

	#business .business_btn {
		width: 300px;
	}
}

@media screen and (max-width: 630px) {
	#business .business_area_bg {
		height: 500px;
	}
}

@media screen and (max-width: 428px) {
	#business {
		margin-bottom: 60px;
	}

	#business .business_area {
		font-size: 60px;
	}

	#business .business_area_bg {
		height: 350px;
		background-size: 80%;
	}

	#business .block {
		margin-top: -65px;
	}

	#business .business_ttl {
		font-size: 40px;
	}

	#business .business_ttl span {
		font-size: 22px;
	}

	#business .business_img_left {
		margin: 40px auto 15px;
	}
}

@media screen and (max-width: 375px) {
	#business .business_area_bg {
		height: 300px;
	}

	#business .business_btn {
		width: 90%;
	}
}

/*環境事業*/
#business2 {
	position: relative;
	margin-bottom: 150px;
}

#business2 .business_area {
	font-size: 90px;
	opacity: 0.5;
	position: absolute;
	top: 100px;
	right: 0;
	color: #73DBA3;
}

#business2 .business_area_bg {
	background: url(../images/kankyou_bg.png) no-repeat center bottom;
	background-color: #D7F7E7;
	position: absolute;
	top: 20%;
	right: 0;
	z-index: -1;
	width: 50%;
	height: 500px;
}

#business2 .ttl_box {
	position: relative;
	margin-bottom: 15px;
}

#business2 .block {
	position: absolute;
	right: 0;
	z-index: 1;
	top: 300px;
}

#business2 .business_catch {
	font-size: 18px;
	background-color: #fff;
	display: table;
	padding: 0px 10px;
	margin-bottom: 5px;
}

#business2 .business_ttl {
	font-size: 60px;
	font-weight: bold;
	background-color: #fff;
	display: table;
	padding: 0px 10px;
}

#business2 .business_ttl span {
	font-size: 40px;
}

#business2 .business_img_left {
	position: relative;
	left: 0%;
	width: 70%;
}

#business2 .business_img_left img {
	width: 100%;
}

#business2 .business_img_right {
	position: relative;
	left: 30%;
	width: 70%;
}

#business2 .business_img_right {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 30px;
}

#business2 .business_img_right img:first-child {
	margin-right: 15px;
}

#business2 .business_txt {
	width: 65%;
}

#business2 .business_btn {
	text-align: center;
	width: 30%;
	padding: 10px;
	color: #000;
	border-radius: 30px;
	display: block;
	background-color: #D7F7E7;
}

#business2 .business_btn:hover {
	color: #fff;
	background-color: #258D6E;
}

@media screen and (max-width: 1250px) {
	#business2 .business_area {
		font-size: 80px;
		top: 110px;
	}
}

@media screen and (max-width: 1150px) {
	#business2 .business_area {
		font-size: 74px;
	}

	#business2 .block {
		top: 280px;
	}

	#business2 .business_img_left {
		width: 65%;
	}
}

@media screen and (max-width: 960px) {
	#business2 .business_area {
		top: 0;
		z-index: 1;
	}

	#business2 .business_area_bg {
		width: 100%;
		height: 550px;
		background: url(../images/kankyou_bg.png) no-repeat left 10% bottom;
		background-color: #D7F7E7;
	}

	#business2 .block {
		position: relative;
		margin-top: -85px;
		z-index: 1;
		top: 0;
	}

	#business2 .business_img_left {
		width: 80%;
		margin: auto;
		position: static;
		padding-top: 75px;
	}

	#business2 .business_img_right {
		justify-content: space-between;
		width: 80%;
		margin: 50px auto 15px;
		left: 0;
	}

	#business2 .business_img_right img {
		width: 49%;
		height: auto;
	}

	#business2 .business_img_right img:first-child {
		margin-right: 0px;
	}

	#business2 .business_txt {
		width: 60%;
	}
}

@media screen and (max-width: 767px) {
	#business2 .business_img_left, #business2 .business_img_right, #business2 .business_txt {
		width: 100%;
	}

	#business2 .business_txt {
		margin-bottom: 20px;
	}

	#business2 .business_btn {
		width: 300px;
	}
}

@media screen and (max-width: 630px) {
	#business2 .business_area_bg {
		height: 500px;
	}
}

@media screen and (max-width: 428px) {
	#business2 {
		margin-bottom: 70px;
	}

	#business2 .business_area {
		font-size: 60px;
	}

	#business2 .business_area_bg {
		height: 350px;
		background-size: 80%;
	}

	#business2 .block {
		margin-top: -65px;
	}

	#business2 .business_ttl {
		font-size: 40px;
	}

	#business2 .business_ttl span {
		font-size: 22px;
	}

	#business2 .business_img_left {
		padding-top: 55px;
	}

	#business2 .business_img_right {
		margin: 40px auto 15px;
	}
}

@media screen and (max-width: 375px) {
	#business2 .business_area_bg {
		height: 300px;
	}

	#business2 .business_btn {
		width: 90%;
	}
}

/*関連サイト*/
#banner {
	padding: 60px 0px;
	background-color: #F4F4F4;
}

#banner .banner_ttl {
	font-size: 20px;
	text-align: center;
	margin-bottom: 30px;
}

#banner ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

#banner ul li {
	margin-right: 20px;
}

#banner ul li:last-child {
	margin-right: 0px;
}

#banner ul li:hover {
	opacity: 0.5;
}

#banner ul li img {
	width: 200px;
	height: auto;
	margin-bottom: 8px;
}

#banner ul li p {
	font-size: 14px;
	text-align: center;
	color: #000;
}

@media screen and (max-width: 900px) {
	#banner ul {
		flex-wrap: wrap;
	}

	#banner ul li {
		width: 45%;
		margin-right: 0px;
		margin: 10px;
	}

	#banner ul li:last-child {
		margin-right: 10px;
	}

	#banner ul li img {
		width: 100%;
	}
}

@media screen and (max-width: 428px) {
	#banner .banner_ttl {
		font-size: 18px;
		margin-bottom: 20px;
	}

	#banner ul li {
		width: 44%;
	}

	#banner ul li:last-child {
		margin-bottom: 0px;
	}
}

@media screen and (max-width: 372px) {
	#banner ul li {
		width: 70%;
	}
}

/*施設管理事業***************/
#sisetu {
	background: url(../images/sisetu_bg1.png) left top no-repeat, url(../images/sisetu_bg2.png) right bottom no-repeat;
	background-color: #D7F1F7;
	background-size: 60%;
	padding: 200px 0;
	margin-bottom: 100px;
}

#sisetu .area_flex:first-child {
	margin-bottom: 100px;
}

.area_flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.left_txt {
	width: 55%;
}

.left_txt h3 {
	background: url(../images/sisetu_arrow.png) center center no-repeat;
	background-size: 100%;
	font-size: 30px;
	padding: 10px 20px;
	margin: 0 0 30px;
}

.left_txt p {
	width: 90%;
}

.bold {
	font-weight: bold;
	margin-top: 20px;
}

.bold .mark_blue {
	color: #34B7CD;
}

.right_pic {
	width: 40%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#sisetu .right_pic img {
	width: 48%;
}

@media screen and (max-width: 768px) {
	#sisetu {
		padding: 100px 0;
		margin-bottom: 10px;
	}

	.area_flex {
		flex-flow: column;
	}

	.left_txt h3 {
		margin: 0 0 20px;
	}

	.left_txt, .left_txt p {
		width: 100%;
	}

	.right_pic {
		width: 100%;
		margin-top: 20px;
	}

	#sisetu .area_flex:first-child {
		margin-bottom: 50px;
	}
}

@media screen and (max-width: 428px) {
	#sisetu {
		padding: 80px 0;
		margin-bottom: 0px;
	}

	.left_txt h3 {
		font-size: 22px;
	}
}

/*環境事業***************/
#kankyou {
	background: url(../images/sisetu_bg1.png) left top no-repeat, url(../images/sisetu_bg2.png) right bottom no-repeat;
	background-color: #D7F7E7;
	background-size: 60%;
	padding: 200px 0;
	margin-bottom: 100px;
}

#kankyou .area_flex:first-child {
	margin-bottom: 100px;
}

#kankyou .right_pic img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	#kankyou {
		padding: 100px 0;
	}

	#kankyou .area_flex:first-child {
		margin-bottom: 50px;
	}
}

@media screen and (max-width: 428px) {
	#kankyou {
		padding: 80px 0;
		margin-bottom: 0px;
	}
}

/*会社概要***************/
#gaiyou .gaiyou_pdf {
	display: flex;
	/* align-items: center; */
	align-items: stretch;
	justify-content: center;
	margin: 40px 0 5px;
}

#gaiyou .gaiyou_pdf a {
	color: #258D6E;
	font-weight: bold;
	border: 1px solid #404040;
	border-radius: 10px;
	width: 475px;
	/* display: block; */
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 25px 20px 25px 70px;
	background: url(../images/pdf_icon.png) left 30px center no-repeat;
	box-sizing: border-box;
}

#gaiyou .gaiyou_pdf a:first-child {
	margin-right: 20px;
}

#gaiyou .gaiyou_pdf a:hover {
	background-color: #D7F7E7;
	border: 1px solid #D7F7E7;
}

#gaiyou .gaiyou_backnumber {
	max-width: 970px;
	margin: 0 auto 80px;
	text-align: right;
}

#gaiyou .gaiyou_backnumber a {
	position: relative;
	font-size: 16px;
	color: #000000;
	text-decoration: underline;
}

#gaiyou .gaiyou_backnumber a:hover {
	text-decoration: none;
}

#gaiyou .gaiyou_backnumber a::before {
	position: absolute;
	top: 50%;
	left: -20px;
	width: 0.5em;
	height: 0.5em;
	transform: translateY(-50%) rotate(45deg);
	border-right: 1px solid currentColor;
	border-top: 1px solid currentColor;
	content: "";
}

#gaiyou table {
	width: 100%;
	border-spacing: 7px 7px;
	margin-bottom: 100px;
}

#gaiyou table a {
	color: #000;
}

#gaiyou table th {
	background-color: #7AD0E5;
	color: #fff;
	font-weight: bold;
	width: 15%;
}

#gaiyou table td {
	background-color: #EDEDED;
	width: 85%;
	text-align: justify;
}

#gaiyou table th, #gaiyou table td {
	padding: 2%;
	border-radius: 5px;
}

#gaiyou table img {
	width: 100%;
	margin-top: 20px;
}

#gaiyou table ul {
	display: flex;
}

#gaiyou table ul li:first-child {
	margin-right: 40px;
}

@media screen and (max-width: 960px) {
	#gaiyou .gaiyou_pdf a {
		font-size: 16px;
	}
}

@media screen and (max-width: 768px) {
	#gaiyou table {
		margin-bottom: 0px;
	}

	#gaiyou .gaiyou_pdf {
		display: block;
	}

	#gaiyou .gaiyou_pdf a {
		margin: auto;
		padding-left: 40px;
		width: 100%;
		background: url(../images/pdf_icon.png) left 10px center no-repeat;
	}

	#gaiyou .gaiyou_pdf a:first-child {
		margin: auto;
		margin-bottom: 10px;
	}

	#gaiyou table th, #gaiyou table td {
		display: block;
	}

	#gaiyou table th {
		width: 96%;
		border-radius: 0px;
		border-top-left-radius: 5px;
		border-top-right-radius: 5px;
	}

	#gaiyou table td {
		width: 96%;
		border-radius: 0px;
		border-bottom-left-radius: 5px;
		border-bottom-right-radius: 5px;
		text-align: center;
	}

	#gaiyou table ul {
		justify-content: center;
	}
}

@media screen and (max-width: 428px) {
	#gaiyou table {
		border-spacing: 0px 7px;
	}

	#gaiyou .gaiyou_pdf {
		margin: 20px 0 40px;
	}

	#gaiyou .gaiyou_pdf a {
		width: 94%;
		padding: 5% 5% 5% 15%;
	}
}

/* サステナビリティ報告書 ***************/
#sdgs-backnumber {
	padding-bottom: 100px;
}

#sdgs-backnumber .sdgs-backnumber_pdf {
	max-width: 600px;
	margin: 0 auto;
}

#sdgs-backnumber .sdgs-backnumber_pdf a {
	color: #258D6E;
	font-weight: bold;
	border: 1px solid #404040;
	border-radius: 10px;
	width: 100%;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 10px;
	padding-left: 80px;
	background: url(../images/pdf_icon.png) left 30px center no-repeat;
	box-sizing: border-box;
}

#gaiyou .sdgs-backnumber_pdf a:first-child {
	margin-right: 20px;
}

#sdgs-backnumber .sdgs-backnumber_pdf a:hover {
	background-color: #D7F7E7;
	border: 1px solid #D7F7E7;
}

@media screen and (max-width: 960px) {
	#sdgs-backnumber .sdgs-backnumber_pdf a {
		font-size: 16px;
	}
}

@media screen and (max-width: 768px) {
	#sdgs-backnumber .sdgs-backnumber_pdf a {
		padding-left: 40px;
		width: 100%;
		background: url(../images/pdf_icon.png) left 10px center no-repeat;
	}
}

@media screen and (max-width: 428px) {
	#sdgs-backnumber .sdgs-backnumber_pdf a {
		width: 94%;
		padding: 10px 10px 10px 50px;
	}
}



/*お問い合わせ***************/
#otoiawase .oto_center {
	text-align: center;
}

#otoiawase .oto_tel {
	text-align: center;
	color: #7AD0E5;
	font-weight: bold;
	font-size: 25px;
}

#otoiawase .form {
	background-color: #EDEDED;
	padding: 5%;
	margin: 20px 0 100px;
}

#otoiawase .form p {
	text-align: center;
}

#otoiawase table {
	width: 100%;
	border-top: 1px solid #000000;
	border-collapse: collapse;
	border-spacing: 0;
	margin-top: 30px;
}

#otoiawase table th, #otoiawase table td {
	border-bottom: 1px solid #000000;
	padding: 20px 0;
	text-align: left;
}

#otoiawase table th {
	width: 30%;
}

#otoiawase table td {
	width: 70%;
	padding-left: 2%;
}

.form_item {
	text-align: left;
	display: flex;
	justify-content: space-between;
}

.mandatory {
	background-color: #EF5950;
	color: white;
	font-weight: normal;
	text-align: center;
	border-radius: 4px;
	font-size: 14px;
	width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.form_box, .form_box2, .form_box3 {
	padding: 2%;
	border: 0;
	border-radius: 3px;
}

.form_box {
	width: 95%;
}

.form_box2 {
	width: 15%;
	margin: 0 5px;
}

#otoiawase table td .form_box2:first-child {
	margin-left: 0px;
}

.form_box3 {
	width: 30%;
	margin-left: 5px;
}

.form_btn {
	background-color: #7AD0E5;
	color: #FFFFFF;
	width: 240px;
	border-radius: 3px;
	border: 0;
	box-shadow: 3px 3px 0px 0 rgb(0 0 0 / 10%);
	padding: 10px;
	font-weight: bold;
	font-size: 18px;
	margin: 40px auto;
	display: block;
}

.form_btn:hover {
	opacity: 0.6;
}

.form_size {
	font-size: 14px;
}

#otoiawase2 .otoiawase2_kanryou {
	background-color: #D7F1F7;
	border-radius: 5px;
	text-align: center;
	font-weight: bold;
	padding: 10% 5%;
	margin-bottom: 100px;
}

@media screen and (max-width: 960px) {
	#otoiawase .form p {
		text-align: justify;
	}
}

@media screen and (max-width: 800px) {
	#otoiawase table th, #otoiawase table td {
		display: block;
		width: 100%;
	}

	#otoiawase table th {
		border-bottom: none;
		padding: 10px 0 0;
	}

	#otoiawase table td {
		padding-left: 0%;
		padding: 10px 0;
	}

	.form_box {
		width: 96%;
	}

	.form_center {
		text-align: center !important;
	}
}

@media screen and (max-width: 768px) {
	#otoiawase .form {
		margin: 20px 0 0px;
	}

	#otoiawase .oto_tel {
		line-height: 1.2;
		margin-top: 10px;
	}

	#otoiawase2 .otoiawase2_kanryou {
		margin-bottom: 0px;
	}
}

@media screen and (max-width: 428px) {
	#otoiawase .oto_tel {
		font-size: 20px;
	}

	.form_box2 {
		width: 24%;
	}

	.form_box3 {
		width: 50%;
	}

	.form_btn {
		width: 200px;
		font-size: 14px;
	}
}

/*トピックス***************/
#topics {
	margin-bottom: 100px;
}

.news__title {
	font-size: 18px;
	font-weight: bold;
	color: #7AD0E5;
	margin-bottom: 20px;
}

.news__item {
	padding: 35px 0;
	border-bottom: solid 1px #000000;
}

#detail, .news__box {
	font-size: 16px;
}

.pager {
	margin-top: 50px;
	display: flex;
	justify-content: center;
}

.pager a {
	color: #000;
	font-size: 16px;
	width: 250px;
	border: 1px solid #8D8D8D;
	padding: 10px 30px;
	border-radius: 30px;
	margin: 0 10px;
	text-align: center;
}

.btnLast, .btnFirst, .current {
	display: none;
}

.detailUpfile {
	margin-top: 25px;
}

.detailUpfile a {
	color: #000;
	text-decoration: underline;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	#topics {
		margin-bottom: 60px;
	}
}

@media screen and (max-width: 615px) {
	.pager {
		flex-flow: column;
	}

	.pager a {
		margin: 0 auto 10px;
	}
}

@media screen and (max-width: 320px) {
	.pager a {
		padding: 2%;
	}
}

/*個人情報保護方針***************/
#privacy .privacy_box {
	border: 1px solid #000;
	padding: 5%;
	margin: 20px 0 100px;
}

#privacy .privacy_txt {
	font-size: 16px;
	margin-bottom: 30px;
}

#privacy .privacy_txt span {
	color: #7AD0E5;
	font-weight: bold;
	font-size: 18px;
}

#privacy .privacy_txt:last-child {
	margin-bottom: 0px;
}

#privacy .privacy_mokuteki {
	width: 100%;
	background-color: #D7F1F7;
	border-radius: 30px;
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	padding: 1% 0;
	margin: 70px 0 10px;
}

#privacy .privacy_mokuteki_txt {
	text-align: center;
	font-size: 18px;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	#privacy .privacy_box {
		margin: 20px 0 0px;
	}
}

@media screen and (max-width: 428px) {
	#privacy .privacy_txt {
		font-size: 14px;
		margin-bottom: 20px;
	}

	#privacy .privacy_txt span {
		font-size: 16px;
		line-height: 1.2;
	}

	#privacy .privacy_mokuteki {
		font-size: 16px;
		margin: 40px 0 10px;
	}

	#privacy .privacy_mokuteki_txt {
		text-align: justify;
		font-size: 14px;
		margin-bottom: 10px;
	}
}

/*footer***************/
.siteMap {
	font-size: 16px;
	background-color: #7AD0E5;
	text-align: center;
	padding: 20px 0px;
}

.siteMap ul li {
	display: inline;
	margin-right: 20px;
}

.siteMap ul li:last-child {
	margin-right: 0px;
}

.footer_address {
	padding-top: 30px;
}

.footer_address, .footer_address p {
	text-align: center;
}

.footer_address img {
	width: 232px;
	height: auto;
	margin-bottom: 30px;
}

.footer_tel {
	font-size: 22px;
	margin-bottom: 30px;
}

.copyright {
	font-size: 14px;
	text-align: center;
	margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
	.footer_address, .footer_address p {
		text-align: center;
	}

	.footer_address img, .footer_tel, .copyright {
		margin-bottom: 10px;
	}

	.copyright {
		font-size: 12px;
	}
}

@media screen and (max-width: 428px) {
	.footer_tel, .footer_tel a {
		color: #000;
	}
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 2;
	/*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

#page-top img {
	width: 60px;
	height: 60px;
}

/*　上に上がる動き　*/
#page-top.UpMove {
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*　下に下がる動き　*/
#page-top.DownMove {
	animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 1;
		transform: translateY(100px);
	}
}

@media screen and (max-width: 960px) {
	#page-top {
		right: 15px;
		bottom: 15px;
	}
}

@media screen and (max-width: 375px) {
	#page-top img {
		width: 45px;
		height: 45px;
	}
}