
/* 早わかり「再資源化事業等高度化法」 */

html {
  scroll-behavior: smooth;
}

#advance {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}





/* ページコンテンツ全体のヘッダー */
.ad_header {
	display: block;
	position: relative;
	padding: 70px 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	/*background-color: #ffffff;*/
	background-color: #fcfae1;
	overflow: hidden;
}

/* ページコンテンツ全体のヘッダー */
.ad_header {
	display: block;
	position: relative;
	padding: 70px 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	/*background-color: #ffffff;*/
	/*background-color: #fcfae1;*/
	background-color: #f7f7f7;
	overflow: hidden;
}

.ad_header_h {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: 500px;
	background-image: url(../../images/about_law/saisei_img1920a.png);
	background-position: center bottom;
	background-size: cover;
	background-color: #f7f7f7;
	overflow: hidden;
}

.ad_header_h_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 90%;
	max-width: 1400px;
	height: 500px;
}

.ad_header_h .ad_header_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 24px 0;
	font-size: 3.4em;
	line-height: 1.2em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 1px;
}

.ad_header_h .ad_header_title span {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	font-size: 0.8em;
	line-height: 1em;
	color: #1a1a1a;
}
	
.ad_header_h .ad_header_subtitle {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 340px;
	height: 46px;
	border-radius: 23px;
	background-color: #008a28;
	color: #fff;
	font-size: 1.2em;
	line-height: 46px;
	text-align: center;
}

.ad_header_h .ad_header_subtitle span {
	font-weight: 400;
}

.ad_header_h .saisei_img {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	bottom: 0;
	right: 0;
}

@media screen and (max-width: 768px) {

	.ad_header_h .ad_header_title {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 24px 0;
		font-size: 2.4em;
		line-height: 1.4em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}

@media screen and (max-width: 480px) {

	.ad_header_h {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 100%;
		height: 400px;
		overflow: hidden;
	}

	.ad_header_h .ad_header_title {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 24px 0;
		font-size: 1.9em;
		line-height: 1.4em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

	.ad_header_h .ad_header_subtitle {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
		width: 95%;
		height: 46px;
		border-radius: 23px;
		font-size: 1em;
		line-height: 46px;
	}

}

@media screen and (max-width: 420px) {

	.ad_header_h {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 100%;
		height: 350px;
		overflow: hidden;
	}
	
	.ad_header_h .ad_header_title {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 24px 0;
		font-size: 1.5em;
		line-height: 1.4em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}









.ad_header_f {
	display: block;
	position: relative;
	padding: 60px 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: 180px;
	background-color: #fcfae1;
}

.ad_header_f_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1400px;
	text-align: right;
}

.ad_header_f_inner ul {
	display: inline;
    display: inline-flex;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	list-style-type: none;
	overflow: hidden;
    overflow: visible;
}

.ad_header_f_inner ul li {
	display: inline-block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 12px 0 12px;
	width: 320px;
	height: 78px;
	border-radius: 8px;
	cursor: pointer;
	z-index: 10;
}

.ad_header_f_inner ul li a {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 12px 0 12px;
	width: 320px;
	height: 78px;
	color: #111111;
	background-color: #ffffff;
	border-radius: 8px;
}

.ad_header_f_inner ul li a:hover {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 12px 0 12px;
	width: 320px;
	height: 78px;
	background-color: #ffd166;
	border-radius: 8px;
}

.ad_header_f_inner ul li a .icon {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 18px;
	left: 20px;
	width: 60px;
	height: 40px;
	/*filter: invert(80%) sepia(1%) saturate(1096%) hue-rotate(52deg) brightness(93%) contrast(85%);*/
}

.ad_header_f_inner ul li a:hover .icon {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 18px;
	left: 20px;
	width: 60px;
	height: 40px;
	/*filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(330deg) brightness(105%) contrast(101%);*/
}

.ad_header_f_inner ul li a .movie_lead {
	display: block;
	position: relative;
	padding: 14px 0 0 0;
	margin: 0 0 0 90px;
	font-size: 1.2em;
	line-height: 1.1em;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: left;
}

.ad_header_f_inner ul li a .movie_title {
	display: block;
	position: relative;
	padding: 6px 0 0 0;
	margin: 0 0 0 90px;
	font-size: 1.2em;
	line-height: 1em;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: left;
}

.ad_header_f_inner ul li a .movie_link_icon {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 8px;
	right: 12px;
	font-size: 1em;
	color: #c3c3c3;
	height: 22px;
	width: 22px;
	filter: invert(80%) sepia(1%) saturate(1096%) hue-rotate(52deg) brightness(93%) contrast(85%);
}

.ad_header_f_inner ul li a:hover .movie_link_icon {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 8px;
	right: 12px;
	font-size: 1em;
	color: #fff;
	filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(330deg) brightness(105%) contrast(101%);
}

@media screen and (max-width: 1200px) {

	.ad_header_f {
		display: block;
		position: relative;
		padding: 60px 0 0 0;
		margin: 0 0 0 0;
		width: 100%;
		height: 260px;
	}

	.ad_header_f_inner {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		bottom: 20px;
		right: 6%;
		width: 326px;
		text-align: right;
	}
	
	.ad_header_f_inner ul {
		display: block;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		list-style-type: none;
		overflow: hidden;
	}

	.ad_header_f_inner ul li {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 24px 0;
		width: 320px;
		max-width: 100%;
		height: 78px;
		border-radius: 8px;
		z-index: 10;
	}
	
	.ad_header_f_inner ul li a {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 326px;
		max-width: 100%;
		height: 84px;
		color: #111111;
		background-color: #ffffff;
		border: 3px solid #609846;
		border-radius: 8px;
	}
	
	.ad_header_f_inner ul li a:hover {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 326px;
		max-width: 100%;
		height: 84px;
		background-color: #ffd166;
		border: 3px solid #609846;
		border-radius: 8px;
	}
	
	.ad_header_f_inner ul li a .icon {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 18px;
		left: 20px;
		width: 60px;
		height: 40px;
		/*filter: invert(80%) sepia(1%) saturate(1096%) hue-rotate(52deg) brightness(93%) contrast(85%);*/
	}
	
	.ad_header_f_inner ul li a:hover .icon {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 18px;
		left: 20px;
		width: 60px;
		height: 40px;
		/*filter: invert(100%) sepia(100%) saturate(2%) hue-rotate(330deg) brightness(105%) contrast(101%);*/
	}
	
	
	.ad_header_f_inner ul li a .movie_lead {
		display: block;
		position: relative;
		padding: 18px 0 0 0;
		margin: 0 0 0 90px;
		font-size: 1.3em;
		line-height: 1.1em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-align: left;
	}
	
	.ad_header_f_inner ul li a .movie_title {
		display: block;
		position: relative;
		padding: 6px 0 0 0;
		margin: 0 0 0 90px;
		font-size: 0.9em;
		line-height: 1em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-align: left;
	}
	
	.ad_header_f_inner ul li a .movie_link_icon {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 8px;
		right: 12px;
		font-size: 1em;
		color: #c3c3c3;
	}

}


@media screen and (max-width: 560px) {


	.ad_header_h .saisei_img,
	.ad_header_h .saisei_img img {
		display: none;
	}

	.ad_header_f {
		display: block;
		position: relative;
		padding: 60px 0 0 0;
		margin: 0 0 0 0;
		width: 100%;
		height: 260px;
	}
	
	.ad_header_f_inner {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
		bottom: 0;
		right: 0;
		width: 326px;
		text-align: right;
	}

}
	

.ad_header_f .atend {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 380px;
	height: auto;
	bottom: 0;
	left: 16%;
	z-index: 10;
}

@media screen and (max-width: 1600px) {

	.ad_header_f .atend {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 380px;
		height: auto;
		bottom: 0;
		left: 6%;
		z-index: 10;
	}
	
}

@media screen and (max-width: 560px) {

	.ad_header_f .atend {
		display: block;
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 85%;
		height: auto;
		bottom: 0;
		left: 16%;
		z-index: 10;
	}
	
}
	
@media screen and (max-width: 430px) {

	.ad_header_f .atend {
		display: block;
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 85%;
		height: auto;
		bottom: 80px;
		left: 16%;
		z-index: 10;
	}
	
}







/* ページコンテンツ全体のリード */
.ad_lead {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	/*background-color: #f4f4f5;*/
	/*background-color: #fcfae1;*/
	background-color: #f7f7f7;
	overflow: hidden;
}

.ad_lead_inner {
	display: block;
	position: relative;
	padding: 50px 0 70px 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 920px;
	height: auto;
	overflow: hidden;
}

.ad_lead_inner p {
	display: block;
	position: relative;
	padding: 0 24px 18px 24px;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	color: #1a1a1a;
	text-align: center;
	font-size: 1.1em;
	line-height: 1.8em;
	font-weight: 400;
	letter-spacing: 1px;
}

.ad_lead_inner p br {
	display: block;
}

.ad_lead_inner span p {
	display: block;
	position: relative;
	padding: 18px 24px 18px 24px;
	margin: 18px 0 0 0;
	width: 100%;
	height: auto;
	color: #ffffff;
	background-color: #008a28;
	border-radius: 6px;
	text-align: center;
	font-size: 1.2em;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 1px;
}

.ad_lead_inner span p br {
	display: block;
}

@media screen and (max-width: 860px) {

	.ad_lead_inner p {
		padding: 18px 24px 18px 24px;
		font-size: 1.3em;
		line-height: 1.8em;
		text-align: left;
	}

	.ad_lead_inner span p {
		padding: 32px 24px 32px 24px;
		font-size: 1.3em;
		line-height: 1.8em;
		text-align: left;
	}
	
	.ad_lead_inner p br,
	.ad_lead_inner span p br {
		display: none;
	}

}


















/* ページ内ナビゲーション */
.ad_navi {
	display: block;
	position: relative;
	padding: 130px 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	min-height: 550px;
	/*background-color: #f4f4f5;*/
	/*background-color: #fcfae1;*/
	background-color: #f7f7f7;
	/*border-top: 1px solid #c5c5c5;*/
	border-bottom: 1px solid #c5c5c5;
}

.ad_navi_inner {
	display: block;
	position: relative;
	padding: 0 0 60px 0;
	margin: 0 auto 0 auto;
	width: 95%;
	/*max-width: 1300px;*/
	text-align: center;
}

.ad_navi_inner ul {
	display: inline;
	position: relative;
	padding: 0 0 0 0;
	margin: 90px 0 0 0;
	text-align: center;
	overflow: hidden;
}

.ad_navi_inner ul li {
	display: inline-block;
	position: relative;
	margin: 0 0.5% 40px 0.5%;
	width: 24%;
	max-width: 280px;
	height: auto;
	min-height: 300px;
	border-radius: 10px;
	background-color: #ffffff;
	text-align: center;
	vertical-align: top;
	z-index: 1;
}

.ad_navi_inner ul li a {
	display: inline-block;
	position: relative;
	padding: 16px 16px 16px 16px;
	width: 280px;
	height: 300px;
	border-radius: 10px;
	background-color: #ffffff;
	text-align: center;
	z-index: 1;
}

.ad_navi_inner ul li a:hover {
	background-color: #ffd166;
}

.ad_navi_inner ul li a:focus {
    background-color: #ffd166;
}

.ad_navi_inner ul li .mark {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: -80px;
	left: 50%;
	transform: translateX(-50%); 
	width: 148px;
	height: 148px;
	background-color: #008a28;
	border: 9px solid #ffffff;
	border-radius: 50%;
	/*box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);*/
	z-index: 5;
}

.ad_navi_inner ul li .number {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 10px;
	left: 12px;
	font-size: 2em;
	font-weight: 700;
	font-family: "Roboto", sans-serif;
	line-height: 1em;
	color: #1a1a1a;
	z-index: 5;
}

.ad_navi_inner ul li .title {
	display: block;
	position: relative;
	padding: 70px 0 0 0;
	margin: 0 0 0 0;
	color: #1a1a1a;
	text-align: center;
	font-size: 1.2em;
	line-height: 1.5em;
	font-weight: 700;
	letter-spacing: 1px;
}

.ad_navi_inner ul li .lead {
	display: block;
	position: relative;
	padding: 18px 0 0 0;
	margin: 0 0 0 0;
	color: #1a1a1a;
	text-align: center;
	font-size: 1em;
	line-height: 1.6em;
	font-weight: 400;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}

.ad_navi_inner ul li .arrow {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	bottom: -72px;
	
	left: 50%;
	transform: translateX(-50%); 
	border-radius: 50%;
	
	font-size: 4.8em;
	line-height: 1em;
	color: #cccccc;
	text-align: center;
	z-index: 10;
    width: 94px;
    height: 94px;
	filter: invert(80%) sepia(1%) saturate(1096%) hue-rotate(52deg) brightness(93%) contrast(85%);
}

@media screen and (max-width: 1300px) {

	.ad_navi {
		display: block;
		position: relative;
		padding: 50px 0 0 0;
		margin: 0 0 0 0;
		width: 100%;
		height: auto;
		min-height: 400px;
	}

	.ad_navi_inner ul {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		text-align: left;
		overflow: hidden;
	}
	
	.ad_navi_inner ul li {
		display: block;
		position: relative;
		margin: 0 auto 18px auto;
		width: 90%;
		max-width: 1080px;
		height: auto;
		min-height: 150px;
		border-radius: 10px;
		background-color: #ffffff;
		text-align: left;
		vertical-align: top;
		z-index: 1;
	}

	.ad_navi_inner ul li a {
		display: inline-block;
		position: relative;
		padding: 16px 16px 16px 16px;
		width: 100%;
		height: auto;
		min-height: 150px;
		border-radius: 10px;
		background-color: #ffffff;
		text-align: center;
		z-index: 1;
	}
	
	.ad_navi_inner ul li .mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 15px;
		left: 15px;
		width: 80px;
		height: 80px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		/*box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);*/
		z-index: 5;
	}

	.ad_navi_inner ul li .number {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 22px;
		left: 60px;
		font-size: 2.4em;
		font-weight: 700;
		font-family: "Roboto", sans-serif;
		line-height: 1em;
		color: #1a1a1a;
		z-index: 5;
	}
	
	.ad_navi_inner ul li .title {
		display: block;
		position: relative;
		padding: 10px 0 0 60px;
		margin: 0 0 0 0;
		color: #1a1a1a;
		text-align: left;
		font-size: 1.8em;
		line-height: 1em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

	.ad_navi_inner ul li .lead {
		display: block;
		position: relative;
		padding: 18px 40px 0 60px;
		margin: 0 0 0 0;
		color: #1a1a1a;
		text-align: center;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}

	.ad_navi_inner ul li .arrow {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		bottom: 50px;
		
		left: auto;
		right: -50px;
		
		transform: translateX(-50%); 
		border-radius: 50%;
		
		font-size: 3em;
		line-height: 1em;
		color: #cccccc;
		text-align: center;
		z-index: 10;
	}

}

@media screen and (max-width: 768px) {
	
	.ad_navi_inner ul li {
		display: block;
		position: relative;
		margin: 0 auto 18px auto;
		width: 90%;
		max-width: 1080px;
		height: auto;
		min-height: 150px;
		border-radius: 10px;
		background-color: #ffffff;
		text-align: left;
		vertical-align: top;
		z-index: 1;
	}

	.ad_navi_inner ul li a {
		display: inline-block;
		position: relative;
		padding: 16px 16px 16px 16px;
		width: 100%;
		height: auto;
		min-height: 150px;
		border-radius: 10px;
		background-color: #ffffff;
		text-align: center;
		z-index: 1;
	}
	
	.ad_navi_inner ul li .mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 15px;
		left: 15px;
		width: 80px;
		height: 80px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		/*box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);*/
		z-index: 5;
	}

	.ad_navi_inner ul li .number {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 22px;
		left: 60px;
		font-size: 1.6em;
		font-weight: 700;
		font-family: "Roboto", sans-serif;
		line-height: 1em;
		color: #1a1a1a;
		z-index: 5;
	}
	
	.ad_navi_inner ul li .title {
		display: block;
		position: relative;
		padding: 7px 0 0 60px;
		margin: 0 0 0 0;
		color: #1a1a1a;
		text-align: left;
		font-size: 1.4em;
		line-height: 1em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

	.ad_navi_inner ul li .lead {
		display: block;
		position: relative;
		padding: 18px 30px 0 60px;
		margin: 0 0 0 0;
		color: #1a1a1a;
		text-align: center;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}

	.ad_navi_inner ul li .arrow {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		bottom: 50px;
		
		left: auto;
		right: -50px;
		
		transform: translateX(-50%); 
		border-radius: 50%;
		
		font-size: 3em;
		line-height: 1em;
		color: #cccccc;
		text-align: center;
		z-index: 10;
	}

}

@media screen and (max-width: 540px) {

	.ad_navi_inner ul {
		display: inline;
		position: relative;
		padding: 0 0 0 0;
		margin: 90px auto 0 auto;
		width: 90%;
		text-align: center;
		overflow: hidden;
	}

	.ad_navi_inner ul li .mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 30px;
		left: 25px;
		width: 80px;
		height: 80px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		/*box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);*/
		z-index: 5;
	}

	.ad_navi_inner ul li .arrow {
		display: none;
	}

	.ad_navi_inner ul li .title {
		display: block;
		position: relative;
		padding: 0 0 0 60px;
		margin: 0 0 0 0;
		color: #1a1a1a;
		text-align: left;
		font-size: 1.3em;
		line-height: 1.4em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

	.ad_navi_inner ul li .lead {
		display: block;
		position: relative;
		padding: 18px 20px 0 60px;
		margin: 0 0 0 0;
		color: #1a1a1a;
		text-align: center;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
	
}









/*
.ad_navi_Bt {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 40px auto 40px auto;
	width: 280px;
	height: 110px;
	line-height: 100px;
	border-radius: 6px;
}
*/

.ad_navi_Bt a {
	clear: both;
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 80px auto 40px auto;
	width: 280px;
	height: 80px;
	line-height: 80px;
	border-radius: 12px;
	color: #fff;
	background-color: #008a28;
	text-align: center;
	font-size: 1.3em;
	/*text-decoration: underline;*/
}

.ad_navi_Bt a span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 12px;
}



.ad_navi_Bt a:hover {
	background-color: #c10000;
	outline: 3px solid #ffcc00;
	outline-offset: 2px;
}


























/* セクション 01 */
.ad_part01 {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}

/* 単元タイトル01 */
.ad_part01_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	min-height: 220px;
	background-color: #f4f4f5;
	border-left: 21px solid #008a28;
	border-right: 21px solid #f4f4f5;
}

.ad_part01_title::after {
	content: ''; 
	position: absolute; 
	bottom: -32px; 
	left: 50%; 
	border-left: 45px solid transparent; 
	border-right: 45px solid transparent; 
	border-top: 32px solid #f4f4f5; 
	transform: translateX(-50%); 
}

.ad_part01_title_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1400px;
}

.ad_part01_title_inner .title_mark {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 20px;
	left: 0;
	width: 108px;
	height: 108px;
	background-color: #008a28;
	border:6px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);
}

#main_wrap .ad_part01_title_inner h2.title:not(.home #main_wrap h2){
	display: block;
	position: relative;
	padding: 42px 0 0 1em;
	margin: 0 0 0 130px;
	font-size: 2.6em;
	line-height: 1.2em;
	color: #1a1a1a;
	font-weight: 700;
	letter-spacing: 1px;
	text-indent: -1em;
}

.ad_part01_title_inner .lead {
	display: block;
	position: relative;
	padding: 18px 0 36px 38px;
	margin: 0 0 0 130px;
	font-size: 1.3em;
	color: #1a1a1a;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 1px;
}

@media screen and (max-width: 768px) {

	.ad_part01_title_inner .title_mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 28px;
		left: 0;
		width: 64px;
		height: 64px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.9);
	}
	
	#main_wrap .ad_part01_title_inner h2.title:not(.home #main_wrap h2) {
		display: block;
		position: relative;
		padding: 42px 0 0 0;
		margin: 0 0 0 80px;
		font-size: 1.8em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-indent: 0;
	}
	
	.ad_part01_title_inner .lead {
		display: block;
		position: relative;
		padding: 18px 0 36px 0;
		margin: 0 0 0 80px;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}




/* 単元コンテンツ01 */
.ad_part01_content {
	display: block;
	position: relative;
	padding: 50px 0 0 0;
	margin: 32px auto 50px auto;
	width: 95%;
	max-width: 1600px;
	height: auto;
	background-color: #fff;
	overflow: hidden;
}

/* reason_area */
.ad_part01_content .reason_area {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 60px auto;
	width: 95%;
	max-width: 1400px;
	height: auto;
	overflow: hidden;

	display: block;
	position: relative;
	padding: 24px 12px 36px 24px;
	margin: 0 auto 80px auto;
	width: 85.5%;
	height: auto;
	min-height: 180px;
	border: 4px solid #008a28;
	border-radius: 10px;
}

.reason_area .reason_area_inner {

}


.reason_area .reason_area_inner::before,
.reason_area .reason_area_inner::after {
    position: absolute;
    top: -5px;
    width: 50px;
    height: 50px;
    background-color: #008a28;
    content: '';
}

.reason_area .reason_area_inner::before {
    left: 18px;
    transform: skewY(25deg);
}

.reason_area .reason_area_inner::after {
    left: 18px;
    transform: skewY(-25deg);
}

@media screen and (max-width: 1200px) {

	.reason_area .reason_area_inner {
/*
		display: block;
		position: relative;
		padding: 24px 12px 36px 24px;
		margin: 0 auto 0 auto;
		width: 95%;
		height: auto;
		min-height: 180px;
		border: 4px solid #008a28;
		border-radius: 10px;
*/
	}

}




.reason_area .reason_area_inner2 {
	display: block;
	position: relative;
	padding: 24px 12px 12px 12px;
	margin: 0 auto 0 auto;
	width: 90%;
	max-width: 980px;
	height: auto;
	border: 1px solid #a8a8a8;
	border-radius: 8px;
	background-color: #f8f8f8;
}

.graph_01,
.graph_02,
.graph_03 {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 50px auto 40px auto;
	width: 95%;
	max-width: 1600px;
	height: auto;
	overflow: hidden;
}

/* グラフ_資源価格の推移 */
.pict_rp {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 1% 0 1%;
	width: 48%;
	float: left;
}

/* 日本の資源輸入額 */
.pict_iv {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 1% 0 1%;
	width: 48%;
	float: right;
}

.pict_gas {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 88%;
}

.pict_cir {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1200px;
}




@media screen and (max-width: 1200px) {

	/* グラフ_資源価格の推移 */
	.pict_rp {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 20px auto;
		width: 80%;
		float: none;
	}
	
	/* 日本の資源輸入額 */
	.pict_iv {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
		width: 80%;
		float: none;
	}

}

@media screen and (max-width: 768px) {

	/* グラフ_資源価格の推移 */
	.pict_rp {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 20px auto;
		width: 100%;
		float: none;
	}
	
	/* 日本の資源輸入額 */
	.pict_iv {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
		width: 100%;
		float: none;
	}

}






.reason_title {
	display: block;
	position: relative;
	padding: 12px 0 0 0;
	margin: 0 auto 18px 75px;
	text-align: left;
	font-size: 2.6em;
	line-height: 1.4em;
	font-weight: 700;
	color: #008a28;
}

.reason_title br {
	display: block;
}

.center_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 80px auto 36px auto;
	width: 90%;
	text-align: center;
	font-size: 2.1em;
	line-height: 1.2em;
	font-weight: 700;
	color: #1a1a1a;
}

.center_title br {
	display: block;
}

.reason_title span {
	display: inline-block;
	position: relative;
	/*color: #c10000; */
    /*color: #ef0000; */
	color: #c10000;
}

@media screen and (max-width: 1200px) {

	.reason_title {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 22px 60px;
		text-align: left;
		font-size: 2.1em;
		line-height: 1.4em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		color: #008a28;
	}

	.center_title {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 80px auto 22px 18px;
		text-align: left;
		font-size: 1.6em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		color: #1a1a1a;
	}

	.reason_title br,
	.center_title br {
		display: none;
	}

}

.green {
	color: #008a28 !important;;
}

.red {
	color: #c00b0b !important;;
}

.semi_red {
    color: #e60178 !important;;
}



.reason_area ul {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 90%;
	list-style-type: none;
	text-align: left;
	font-size: 1em;
}

.reason_area ul li {
	position: relative;
	padding: 0 0 0 40px;
	margin: 0 0 8px 0;
	text-align: left;
	height: auto;
	min-height: 1.8em;
	font-size: 1.1em;
	line-height: 1.8em;
	font-weight: 400;
	letter-spacing: 0.5px;
}

.reason_area p {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 90%;
	text-align: left;
	font-size: 1em;
	line-height: 2em;
	font-weight: 700;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}

.check {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 0;
	left: 0;
	font-size: 1.6em;
	color: #008a28;
    width: 34px;
    height: 34px;
}

.check2 {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 0;
	left: 0;
	font-size: 1.2em;
	color: #a8a8a8;
}


.pict01 {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 50px auto 50px auto;
	width: 80%;
	max-width: 800px;
	height: auto;
	overflow: hidden;
}

.pict01_cap {
	clear: both;
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 48px auto;
	width: 100%;
	max-width: 980px;
	height: auto;
	overflow: hidden;
}

.pict01_cap p {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 18px 0;
	font-size: 1.3em;
	line-height: 1.8em;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.5px;
}

@media screen and (max-width: 768px) {

	.pict01_cap p {
		display: block;
		position: relative;
		padding: 0 24px 0 24px;
		margin: 0 0 18px 0;
		font-size: 1.2em;
		line-height: 1.8em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		text-align: left;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		letter-spacing: 0.5px;
	}

	.pict01_cap p br {
		display: none;
	}
	
	
}
	


/* 海外企業_再生材利用 */


.recycled_source {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 18px 0 0 0;
	width: 95%;
	max-width: 1260px;
	font-size: 0.8em;
	line-height: 1.5em;
	color: #333;
	font-weight: 400;
	text-align: right;
}



.recycled_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 18px auto 0 auto;
	width: 95%;
	max-width: 1200px;
	text-align: left;
}

.recycled_title p {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 280px;
	height: 38px;
	line-height: 38px;
	font-size: 1.6em;
	font-weight: 700;
	text-align: center;
	border-radius: 6px;
}

.recycled_title p.blue {
	color: #fff;
	background-color: #1466c2;
}

.recycled_title p.yellow {
	color: #fff;
	background-color: #976913;
}

/* 海外企業_再生材利用_テーブル */
.table-recycled {
	position: relative;
	overflow-x: auto;
	margin: 18px auto 50px auto;
	white-space: nowrap;
	padding-bottom: 10px;
	font-weight: 400;
}

.table-recycled table {  
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1100px;
}

.table-recycled .table th,
.table-recycled .table td {
	min-height: 24px;
	margin: 0;
	padding: 14px 8px 14px 12px;
	border: 1px solid #6f6f6f;
	font-weight: 400;
}

.table-recycled .table td {
	min-width: 120px;
	
}

.table-recycled .table td {
	max-width: 480px;
	color: #1a1a1a;
	background-color: #fff;
	font-size: 1em;
	font-weight: 400;
	text-align: center;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
	vertical-align: middle;
}

.table-recycled .table td.blue {
	font-size: 1.3em;
	font-weight: 700;
	color: #1466c2;
}

.table-recycled .table td.yellow {
	font-size: 1.3em;
	font-weight: 700;
	/*color: #976913;*/
    color: #976913;
}

.table-recycled .table td span {
	font-size: 1.1em;
	font-weight: 700;
	color: #c01d0b;
	border-bottom: 2px solid #c01d0b;
}



.table-recycled td:before {
	content: "";
	display: block;
	height: 24px;
	float: left;
}

.table-recycled .table td ul {
	padding: 0 0 0 0;
	margin: 0 0 0 18px;
	width: 95%;
}

.table-recycled .table td ul li {
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	list-style: disc;
}



/* */
/* 左トップ_スティッキー */
.table-recycled .table_body .table_cell {
	width: 180px;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
}


.table-recycled .table_body .table_cell2 {
	min-width: 70px;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
}


.table-recycled .sticky {
	position: sticky;
	top:0;
	left:0;
	vertical-align: middle;ß
}

.table-recycled .sticky::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
	box-sizing: content-box;
	/*border-right: 1px #999 solid;*/
}

.table-recycled .sticky2 {
	position: sticky;
	top:0;
	left:100px;
	vertical-align: middle;
}

.table-recycled .sticky2::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 100px;
	width: 70px;
	height: 100%;
	z-index: -1;
}

.table-recycled td[colspan="2"] {
	min-width: 220px;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
	border-right: 1px #999 solid;
}

/* 幅狭時_スクロール必要な場合のヒント表示 */
.table-recycled .scroll-hint {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 12px 20px 12px 20px;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	line-height: 1.4;
	display: none;
	animation: scroll-hint-animation 2s infinite ease;
	border-radius: 8px;
}
/*
@keyframes scroll-hint-animation {
	0% {
	transform: translate(-50%, -50%);
	}
	50% {
	transform: translate(-40%, -50%);
	}
	100% {
	transform: translate(-50%, -50%);
	}
}
*/
.table-recycled .scroll-hint--show {
	display: block;
}





















/* 要約 */
.summary_area {
	display: block;
	position: relative;
	padding: 0 0 60px 0;
	margin: 0 auto 0 auto;
/*	width: 95%;*/
	width: 85.5%;
	max-width: 1400px;
	height: auto;
	min-height: 180px;
}

.summary_01 {
	display: block;
	position: relative;
	padding: 28px 0 0 0;
	margin: 0 auto 0 auto;
/*	width: 90%;*/
	height: auto;
	min-height: 120px;
	background-color: #fff;
	border: 4px solid #008a28;
	border-radius: 12px 12px 0 0;
}

.summary_01 .summary_title {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 30px;
	left: 50px;
	width: 140px;
	height: 34px;
	line-height: 34px;
	text-align: center;
	color: #fff;
	/*background-color: #c10000;*/
	background-color: #c00b0b;
	font-weight: 700;
	border-radius: 10px;
}

.wide {
	text-indent: 1em;
	letter-spacing: 1em;
}

.summary_01 .summary_lead {
	display: block;
	position: relative;
	padding: 0 60px 18px 220px;
	margin: 0 0 0 0;
	color: #008a28;
	text-align: left;
	font-size: 1.2em;
	line-height: 1.6em;
	font-weight: 700;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	letter-spacing: 0.5px;
}

.summary_lead span {
	display: inline-block;
	padding: 0 6px 0 0;
	color: #c10000;
}

@media screen and (max-width: 1200px) {

	.summary_area {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 auto 60px auto;
		width: 95%;
		height: auto;
		min-height: 380px;
	}

	.summary_01 {
		display: block;
		position: relative;
		padding: 28px 0 0 0;
		margin: 0 auto 0 auto;
		width: 95%;
		height: auto;
		min-height: 120px;
		background-color: #fff;
		border: 4px solid #008a28;
		border-radius: 12px 12px 0 0;
	}

	.summary_01 .summary_title {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 30px;
		left: 28px;
	}
	
	.summary_01 .summary_lead {
		display: block;
		position: relative;
		padding: 0 28px 24px 28px;
		margin: 54px 0 0 0;
		text-align: left;
		font-size: 1.2em;
		line-height: 1.7em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 0.5px;
	}	

}

.summary_02 {
    display: flex;
    align-items: center;
	position: relative;
	padding: 24px 0 30px 0;
	margin: 0 auto 0 auto;
/*	width: 90%;*/
	height: auto;
    min-height: 108px;
	background-color: #008a28;
	border: 4px solid #008a28;
	border-radius: 0 0 12px 12px;
}

.summary_02 .summary_title {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 30px;
	left: 50px;
	width: 140px;
	height: 34px;
	line-height: 34px;
	text-align: center;
	color: #fff;
	background-color: #8a703d;
	font-weight: 700;
	border-radius: 10px;
}

.summary_02 .summary_lead {
	display: block;
	position: relative;
	padding: 0 60px 0 220px;
	margin: 0 0 0 0;
	width: auto;
	text-align: left;
	color: #fff;
	font-size: 1.1em;
	line-height: 2em;
	font-weight: 700;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}

@media screen and (max-width: 1200px) {

	.summary_02 {
		display: block;
		position: relative;
		padding: 24px 0 30px 0;
		margin: 0 auto 0 auto;
		width: 95%;
		height: auto;
		min-height: 160px;
		background-color: #008a28;
		border: 4px solid #008a28;
		border-radius: 0 0 12px 12px;
	}

	.summary_02 .summary_title {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 30px;
		left: 28px;
	}
	
	.summary_02 .summary_lead {
		display: block;
		position: relative;
		padding: 0 28px 24px 28px;
		margin: 60px 0 0 0;
		text-align: left;
		font-size: 1.2em;
		line-height: 1.7em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 0.5px;
	}

	.summary_02 .summary_lead br {
		display: none;	
	}
}


















/* セクション新02 */
.ad_part02 {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}

/* 単元タイトル02 */
.ad_part02_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	min-height: 220px;
	background-color: #f4f4f5;
	border-left: 21px solid #008a28;
	border-right: 21px solid #f4f4f5;
}

.ad_part02_title::after {
	content: ''; 
	position: absolute; 
	bottom: -32px; 
	left: 50%; 
	border-left: 45px solid transparent; 
	border-right: 45px solid transparent; 
	border-top: 32px solid #f4f4f5; 
	transform: translateX(-50%); 
}

.ad_part02_title_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1400px;
}

.ad_part02_title_inner .title_mark {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 20px;
	left: 0;
	width: 108px;
	height: 108px;
	background-color: #008a28;
	border:6px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);
}

#main_wrap .ad_part02_title_inner h2.title:not(.home #main_wrap h2) {
	display: block;
	position: relative;
	padding: 42px 0 0 1em;
	margin: 0 0 0 130px;
	font-size: 2.6em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 1px;
	text-indent: -1em;
}

.ad_part02_title_inner .lead {
	display: block;
	position: relative;
	padding: 18px 0 18px 38px;
	margin: 0 0 0 130px;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 1px;
}

@media screen and (max-width: 768px) {

	.ad_part02_title_inner .title_mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 28px;
		left: 0;
		width: 64px;
		height: 64px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.9);
	}
	
	#main_wrap .ad_part02_title_inner h2.title:not(.home #main_wrap h2) {
		display: block;
		position: relative;
		padding: 42px 0 0 0;
		margin: 0 0 0 80px;
		font-size: 1.8em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-indent: 0;
	}
	
	.ad_part02_title_inner .lead {
		display: block;
		position: relative;
		padding: 18px 0 36px 0;
		margin: 0 0 0 80px;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}

/* 単元コンテンツ02 */
.ad_part02_content {
	display: block;
	position: relative;
	padding: 50px 0 0 0;
	margin: 32px auto 50px auto;
	width: 95%;
	max-width: 1280px;
	height: auto;
	background-color: #fff;
	overflow: hidden;
}

#part02,
#part02_a,
#part02_b,
#part02_c {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 60px auto;
	width: 90%;
	height: auto;
	overflow: hidden;
}


.ad_part02_content .category_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 14px 0;
	font-size: 2.3em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.ad_part02_content .title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 14px 36px;
	font-size: 1.8em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.ad_part02_content .title .title_top {
	display: inline-block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 10px 0 0;
	width: 34px;
	height: 34px;
}

.ad_part02_content .title .namely {
	display: inline-block;
	position: relative;
	padding: 0 18px 0 18px;
	margin: 2px 0 0 18px;
	width: auto;
	height: 38px;
	line-height: 38px;
	text-align: center;
	color: #1a1a1a;
	background-color: #d9d9d9;
	font-size: 0.5em;
	font-weight: 700;
	letter-spacing: 1px;
	border-radius: 12px;
	vertical-align: top;
}

.ad_part02_content .lead {
	display: block;
	position: relative;
	padding: 0 0 0 44px;
	margin: 0 0 18px 0;
	font-size: 1.2em;
	line-height: 1.6em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 0.5px;
}

.ad_part02_content .lead2 {
	display: block;
	position: relative;
	padding: 0 0 0 44px;
	margin: 0 0 18px 0;
	font-size: 1.2em;
	line-height: 1.6em;
	color: #cf0000;
	font-weight: 600;
	letter-spacing: 0.5px;
}


.ad_part02_content .attention {
	display: block;
	position: relative;
	padding: 18px 24px 18px 3em;
	margin: 10px 18px 24px 50px;
	width: auto;
	font-size: 1em;
	line-height: 1.6em;
	color: #cf0000;
	font-weight: 600;
	letter-spacing: 0.5px;
	border: 1px solid #c00b0b;
	border-radius: 14px;
	text-indent: -1em;
	letter-spacing: 0.5px;
}





.ad_part02_content ol.detail {
	display: block;
	position: relative;
	padding: 0 0 0 84px;
	margin: 0 0 18px 0;
	list-style-type: decimal;
}

.ad_part02_content ol.detail li {
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 12px 0;
	font-size: 1.1em;
	line-height: 1.6em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 0.5px;
	list-style-position: outside;
}

.ad_part02_content ul.detail {
	display: block;
	position: relative;
	padding: 0 0 0 84px;
	margin: 0 0 18px 0;
	list-style-type: none;
}

.ad_part02_content ul.detail li {
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 12px 1em;
	font-size: 1.1em;
	line-height: 1.6em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 0.5px;
	list-style-position: outside;
}



.detail_ti {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 10px -1em;
	font-size: 1.4em;
	font-weight: 700;
}



.ad_part02_content .bt {
	display: block;
	position: relative;
	padding: 0 0 0 44px;
	margin: 40px 0 0 0;
	width: 100%;
	height: auto;
}

.ad_part02_content .report_bt {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 22px 22px 0;
	width: 290px;
	width: auto;
	height: 66px;
	line-height: 66px;
	float: left;
}

.ad_part02_content .report_bt a,
.ad_part02_content .report_bt span {
	display: flex;
    align-items: center;
    justify-content: center;
	position: relative;
	padding: 16px 32px;
	margin: 0 0 0 0;
	width: 280px;
	width: auto;
    max-width: 520px;
	height: 80px;
	height: auto;
	line-height: 1.4;
	font-size: 1.2em;
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #008a28;
	border-radius: 12px;
	text-align: center;
}
/*
.ad_part02_content .report_bt a:hover {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 280px;
	height: 80px;
	line-height: 80px;
	font-size: 1.2em;
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #c10000;
	border-radius: 12px;
	text-align: center;
	outline: 3px solid #ffcc00;
	outline-offset: 2px;
}
*/

.ad_part02_content .comment_bt {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 22px 22px 0;
	width: 290px;
	height: 66px;
	line-height: 66px;
	float: left;
}

.ad_part02_content .comment_bt a {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 280px;
	height: 80px;
	line-height: 80px;
	font-size: 1.2em;
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #008a28;
	border-radius: 12px;
	text-align: center;
}

.ad_part02_content .comment_bt a:hover {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 280px;
	height: 80px;
	line-height: 80px;
	font-size: 1.2em;
	letter-spacing: 0.5px;
	color: #fff;
	background-color: #007b06;
	border-radius: 12px;
	text-align: center;
	/*text-decoration: underline;*/
	outline: 3px solid #ffcc00;
	outline-offset: 2px;
}

.ad_part02_content .comment_bt span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 12px;
}

@media screen and (max-width: 1100px) {

	.ad_part02_content .report_bt {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 22px 22px 0;
		width: 280px;
		width: auto;
		height: 80px;
		height: auto;
		line-height: 80px;
		line-height: 1.4;
		float: none;
	}
	
	.ad_part02_content .comment_bt {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 22px 22px 0;
		width: 280px;
		height: 80px;
		line-height: 80px;
		float: none;
	}

}

.ad_part02_content .table_lead {
	display: block;
	position: relative;
	padding: 0 0 0 44px;
	margin: 0 0 18px 0;
	font-size: 1.2em;
	line-height: 1.6em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 0.5px;
}



/* 認定制度テーブル */
.table-container {
	overflow-x: auto;
	margin: 40px 0 40px 24px;
	white-space: nowrap;
	padding-bottom: 10px;
	font-weight: 400;
}

.table-container .table { 
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	max-width: 1400px;
	background-color: #f5f5f5;
	margin: 0 auto 0 auto;
}

.table-container .table th,
.table-container .table td {
	min-height: 30px;
	margin: 0;
	padding: 12px 12px 8px 12px;
	border: 5px solid #fff ;
	font-weight: 400;
}

.table-container .table td {
	min-width: 280px;
}

.table-container .table td span {
	display: block;
	font-size: 0.7em;
	line-height: 150%;
	padding: 6px 0 0 8px;
}


.table-container .table td.middle {
	padding-top: 10px;
	vertical-align: middle;
	text-align: center;
}



/* 認定制度テーブル_ヘッダー */
.table-container .table_head01 th {
	color: #fff; 
	background: #2d6a62;
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
}

.table-container .table td {
	max-width: 480px;
	color: #1a1a1a;
	background-color: #8a8a8a;
	font-size: 1em;
	font-weight: 400;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
	vertical-align: top;
}

.table-container .table tr:nth-child(odd) td {
	background-color: #e1ed93;
	font-size: 1em;
	font-weight: 400;
}

.table-container .table tr:nth-child(even) td {
	background-color: #c1db84;
	font-size: 1em;
	font-weight: 400;
}

.table-container .table tr td:nth-child(odd){
	background-color: #e1ed93;
	background-color: #f8f8f8;
}

.table-container .table tr td:nth-child(even){
	background-color: #c1db84;
	background-color: #f4f4f4;
}


td.table_cell2 {
    background-color: #2d6a62 !important;
}


.table-container td:before {
	content: "";
	display: block;
	height: 30px;
	float: left;
}

.table-container .table td ul {
	padding: 0 0 0 0;
	margin: 0 0 0 18px;
}

.table-container .table td ul li {
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	list-style: disc;
}

/* 左トップ_スティッキー */
.table-container .table_body .table_cell {
	min-width: 200px;
	font-size: 1.3em;
	font-weight: 700;
	text-align: left;
}

.table-container .sticky {
/*	position: sticky;*/
	top:0;
	left:0;
	vertical-align: middle;
}

.table-container .sticky::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
	box-sizing: content-box;
	border-right: 1px #999 solid;
}

/* 幅狭時_スクロール必要な場合のヒント表示 */
.table-container .scroll-hint {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 12px 20px 12px 20px;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	line-height: 1.4;
	display: none;
	animation: scroll-hint-animation 2s infinite ease;
	border-radius: 8px;
}

@keyframes scroll-hint-animation {
	0% {
	transform: translate(-50%, -50%);
	}
	50% {
	transform: translate(-40%, -50%);
	}
	100% {
	transform: translate(-50%, -50%);
	}
}

.table-container .scroll-hint--show {
	display: block;
}




.ad_part02_content .foot_bt {
	display: block;
	position: relative;
	padding: 40px 0 0 12px;
	margin: 0 auto 60px auto;
	width: 92%;
	height: auto;
	overflow: hidden;
}

.ad_part02_content .foot_bt .cap {
	clear: both;
	display: block;
	position: relative;
	padding: 18px 0 0 0;
	margin: 0 0 0 0;
	font-size: 1em;
	line-height: 1.6em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 0.5px;
}

/*ここまで新02*/






























/* セクション 03 */
.ad_part03 {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}

/* 単元タイトル03 */
.ad_part03_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	min-height: 220px;
	background-color: #f4f4f5;
	border-left: 21px solid #008a28;
	border-right: 21px solid #f4f4f5;
}

.ad_part03_title::after {
	content: ''; 
	position: absolute; 
	bottom: -32px; 
	left: 50%; 
	border-left: 45px solid transparent; 
	border-right: 45px solid transparent; 
	border-top: 32px solid #f4f4f5; 
	transform: translateX(-50%); 
}

.ad_part03_title_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1400px;
}

.ad_part03_title_inner .title_mark {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 20px;
	left: 0;
	width: 108px;
	height: 108px;
	background-color: #008a28;
	border:6px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.8);
}

#main_wrap .ad_part03_title_inner h2.title:not(.home #main_wrap h2) {
	display: block;
	position: relative;
	padding: 42px 0 0 1em;
	margin: 0 0 0 130px;
	font-size: 2.6em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 1px;
	text-indent: -1em;
}

.ad_part03_title_inner .lead {
	display: block;
	position: relative;
	padding: 18px 0 18px 38px;
	margin: 0 0 0 130px;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 1px;
}

@media screen and (max-width: 768px) {

	.ad_part03_title_inner .title_mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 28px;
		left: 0;
		width: 64px;
		height: 64px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.9);
	}
	
	#main_wrap .ad_part03_title_inner h2.title:not(.home #main_wrap h2) {
		display: block;
		position: relative;
		padding: 42px 0 0 0;
		margin: 0 0 0 80px;
		font-size: 1.8em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-indent: 0;
	}
	
	.ad_part03_title_inner .lead {
		display: block;
		position: relative;
		padding: 18px 0 36px 0;
		margin: 0 0 0 80px;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}

/* 単元コンテンツ03 */
.ad_part03_content {
	display: block;
	position: relative;
	padding: 50px 0 0 0;
	margin: 32px auto 50px auto;
	width: 95%;
	max-width: 1280px;
	height: auto;
	background-color: #fff;
	overflow: hidden;
}


.ad_part03_content #part03,
.ad_part03_content #part03_a {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 28px auto;
	width: 90%;
	height: auto;
	overflow: hidden;
}


.ad_part03_content .category_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 14px 0;
	font-size: 2.3em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
}
/*
.ad_part03_content .sub_title {
	display: block;
	position: relative;
	padding: 0 0 0 80px;
	margin: 0 0 24px 0;
	font-size: 1.8em;
	line-height: 1.2em;
	font-weight: 700;
	font-family: "BIZ UDPGothic", sans-serif;
	letter-spacing: 1px;
}*/

.ad_part03_content .theme_lead {
	display: block;
	position: relative;
	padding: 18px 0 0 110px;
	margin: 0 0 10px 0;
	font-size: 2.2em;
	line-height: 1.4em;
	font-weight: 400;
	letter-spacing: 1.4px;
}

 .ad_part03_content .theme_lead2 {
	display: block;
	position: relative;
	padding: 0 0 0 110px;
	margin: 0 0 34px 0;
	font-size: 2.2em;
	line-height: 1.4em;
	font-weight: 400;
	letter-spacing: 1.4px;
}

.ad_part03_content .lead {
	display: block;
	position: relative;
	padding: 0 0 0 50px;
	margin: 0 0 10px 0;
	font-size: 1.6em;
	line-height: 1.4em;
	font-weight: 400;
	letter-spacing: 1.4px;
}

.ad_part03_content .theme_lead span {
	color: #c10000;	
	font-weight: 700;
}

.ad_part03_content .theme_lead2 span {
	color: #008a28;	
	font-weight: 700;
}

 .ad_part03_content .theme_important {
	display: block;
	position: relative;
	padding: 12px 18px 12px 18px;
	margin: 0 auto 50px auto;
	width: 90%;
	max-width: 1200px;
	height: auto;
	font-size: 1.3em;
	line-height: 1.4em;
	font-weight: 700;
	color: #008a28;	
	border: 3px solid #008a28;
	border-radius: 14px;
	text-align: left;	
	letter-spacing: 1px;
}

@media screen and (max-width: 1400px) {

.ad_part03_content .sub_title {
		display: block;
		position: relative;
		padding: 0 18px 0 18px;
		margin: 0 0 24px 0;
		font-size: 1.4em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

	.ad_part03_content .lead {
		display: block;
		position: relative;
		padding: 0 0 0 18px;
		margin: 0 0 10px 0;
		font-size: 1.6em;
		line-height: 1.4em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1.4px;
	}

	.ad_part03_content .theme_lead {
		display: block;
		position: relative;
		padding: 0 18px 0 18px;
		margin: 0 0 10px 0;
		font-size: 1.6em;
		line-height: 1.4em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1.4px;
	}
	
	 .ad_part03_content .theme_lead2 {
		display: block;
		position: relative;
		padding: 0 18px 0 18px;
		margin: 0 0 34px 0;
		font-size: 1.6em;
		line-height: 1.4em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1.4px;
	}

	 .ad_part03_content .theme_important {
		display: block;
		position: relative;
		padding: 12px 18px 12px 18px;
		margin: 0 auto 50px auto;
		width: 95%;
		max-width: 1200px;
		height: auto;
		font-size: 1.2em;
		line-height: 1.6em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		color: #008a28;	
		border: 3px solid #008a28;
		border-radius: 14px;
		text-align: left;	
		letter-spacing: 1px;
	}
	
}





.ad_part03_content #system {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 80px 0;
	overflow: hidden;
}

.ad_part03_content .system {
	display: block;
	position: relative;
	padding: 12px 18px 12px 18px;
	margin: 0 auto 0 auto;
	width: 85%;
	max-width: 1200px;
	height: auto;
}

.ad_part03_content .system .sys_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 380px;
	height: 84px;
}

.ad_part03_content .system .sys_title img {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
}

.ad_part03_content .system .sys_title span {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 28px;
	left: 50px;
	color: #fff;
	font-size: 1.4em;
	line-height: 1em;
	font-weight: 400;
	letter-spacing: 1.4px;
}

.ad_part03_content .system .sys_lead01 {
	display: block;
	position: relative;
	padding: 10px 0 12px 100px;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	color: #2c6a62;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 700;
	letter-spacing: 1px;
}

.ad_part03_content .system .sys_lead02 {
	display: block;
	position: relative;
	padding: 10px 0 12px 100px;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	color: #7e592e;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 700;
	letter-spacing: 1px;
}

.ad_part03_content .system .sys_lead03 {
	display: block;
	position: relative;
	padding: 10px 0 12px 100px;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	color: #5061c5;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 700;
	letter-spacing: 1px;
}





/* 法令比較テーブル */
.table-container2 {
	position: relative;
	overflow-x: auto;
	margin: 40px auto;
	white-space: nowrap;
	padding-bottom: 10px;
	padding-left: 50px;
	font-weight: 400;
	width: 90%;
}

.table-container2 table { 
	width: 100%; 
	margin: 0 auto 0 auto;
}

.table-container2 .table2 { 
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%; 
	max-width: 1400px;
	background-color: #fff;
	margin: 0 auto 0 auto;
}

.table-container2 .table2 th,
.table-container2 .table2 td {
	min-height: 24px;
	margin: 0;
	padding: 12px 8px 12px 8px;
	border: 5px solid #fff ;
	font-weight: 400;
}

.table-container2 .table2 td {
	min-width: 120px;
}

.table-container2 .table2 td span {
	display: block;
	font-size: 0.7em;
	line-height: 150%;
	padding: 6px 0 0 8px;
}

/* 法令比較テーブル_ヘッダー */
.table-container2 .table_head01 th {
	color: #fff; 
	background: #2d6a62;
	font-size: 1em;
	font-weight: 700;
	text-align: center;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
}

.table-container2 .table2 tr:nth-child(odd) td {
	max-width: 480px;
	color: #1a1a1a;
	background-color: #f8f8f8;
	font-size: 1em;
	font-weight: 400;
	text-align: center;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
	vertical-align: middle;
}


.table-container2 .table2 tr:nth-child(even) td {
	max-width: 480px;
	color: #1a1a1a;
	background-color: #f4f4f4;
	font-size: 1em;
	font-weight: 400;
	text-align: center;
	overflow-wrap: break-word;
	word-wrap: break-word;
	white-space: normal;
	vertical-align: middle;
}










.table-container2 .table2 td.red {
	font-size: 1.1em;
	font-weight: 700;
	color: #ff3d27;
}

/*
.table-container2 .table2 tr:nth-child(odd) td {
	background-color: #e1ed93;
	font-size: 1em;
	font-weight: 400;
}

.table-container2 .table2 tr:nth-child(even) td {
	background-color: #c1db84;
	font-size: 1em;
	font-weight: 400;
}
*/


.table-container2 td:before {
	content: "";
	display: block;
	height: 24px;
	float: left;
}

.table-container2 .table td ul {
	padding: 0 0 0 0;
	margin: 0 0 0 18px;
}

.table-container2 .table td ul li {
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	list-style: disc;
}

/* 左トップ_スティッキー */

.table-container2 .table_body .table_cell {
	min-width: 100px;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
}


.table-container2 .table_body .table_cell2 {
	min-width: 70px;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
}


.table-container2 .sticky {
	position: sticky;
	top:0;
	left:0;
	vertical-align: middle;ß
}

.table-container2 .sticky::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: -1;
	box-sizing: content-box;
	/*border-right: 1px #999 solid;*/
}

.table-container2 .sticky2 {
	position: sticky;
	top:0;
	left:100px;
	vertical-align: middle;
}

.table-container2 .sticky2::before {
	content: "";
	position: absolute;
	top: 0px;
	left: 100px;
	width: 70px;
	height: 100%;
	z-index: -1;
}



.table-container2 td[colspan="2"] {
	min-width: 220px;
	font-size: 1em;
	font-weight: 700;
	text-align: left;
	border-right: 1px #999 solid;
}





/* 幅狭時_スクロール必要な場合のヒント表示 */
.table-container2 .scroll-hint {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 12px 20px 12px 20px;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	line-height: 1.4;
	display: none;
	animation: scroll-hint-animation 2s infinite ease;
	border-radius: 8px;
}
/*
@keyframes scroll-hint-animation {
	0% {
	transform: translate(-50%, -50%);
	}
	50% {
	transform: translate(-40%, -50%);
	}
	100% {
	transform: translate(-50%, -50%);
	}
}
*/
.table-container2 .scroll-hint--show {
	display: block;
}

















@media screen and (max-width: 1400px) {

	.ad_part03_content .system {
		display: block;
		position: relative;
		padding: 12px 0 12px 0;
		margin: 0 auto 0 auto;
		width: 85%;
		max-width: 1400px;
		height: auto;
	}
	
	.ad_part03_content .system .sys_lead01,
	.ad_part03_content .system .sys_lead02,
	.ad_part03_content .system .sys_lead03 {
		display: block;
		position: relative;
		padding: 10px 0 12px 30px;
		margin: 0 0 0 0;
		width: 100%;
		height: auto;
		font-size: 1.1em;
		line-height: 1.6em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}




}

@media screen and (max-width: 1200px) {

.table-container2 {
    width: 100%;
	padding-left: 0px;
}

	.ad_part03_content .system {
		display: block;
		position: relative;
		padding: 12px 0 12px 0;
		margin: 0 auto 0 auto;
		width: 95%;
		max-width: 1200px;
		height: auto;
	}
	
	.ad_part03_content .system .sys_lead01,
	.ad_part03_content .system .sys_lead02,
	.ad_part03_content .system .sys_lead03 {
		display: block;
		position: relative;
		padding: 10px 0 12px 30px;
		margin: 0 0 0 0;
		width: 100%;
		height: auto;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}















/* セクション新04 */
.ad_part04 {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	overflow: hidden;
}

/* 単元タイトル04 */
.ad_part04_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	width: 100%;
	height: auto;
	min-height: 220px;
	background-color: #f4f4f5;
	border-left: 21px solid #008a28;
	border-right: 21px solid #f4f4f5;
}

.ad_part04_title::after {
	content: ''; 
	position: absolute; 
	bottom: -32px; 
	left: 50%; 
	border-left: 45px solid transparent; 
	border-right: 45px solid transparent; 
	border-top: 32px solid #f4f4f5; 
	transform: translateX(-50%); 
}

.ad_part04_title_inner {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 auto 0 auto;
	width: 95%;
	max-width: 1400px;
}

.ad_part04_title_inner .title_mark {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 20px;
	left: 0;
	width: 108px;
	height: 108px;
	background-color: #008a28;
	border:6px solid #ffffff;
	border-radius: 50%;
	box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.9);
}

#main_wrap .ad_part04_title_inner h2.title:not(.home #main_wrap h2){
	display: block;
	position: relative;
	padding: 42px 0 0 1em;
	margin: 0 0 0 130px;
	font-size: 2.6em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 1px;
	text-indent: -1em;
}

.ad_part04_title_inner .title .title_l {
	display: inline-block;
	padding: 0 0 0 28px;
	margin: 0 0 0 0;
	font-size: 0.7em;
}

.ad_part04_title_inner .lead {
	display: block;
	position: relative;
	padding: 18px 0 36px 38px;
	margin: 0 0 0 130px;
	font-size: 1.3em;
	line-height: 1.6em;
	font-weight: 400;
	letter-spacing: 1px;
}

@media screen and (max-width: 768px) {

	.ad_part04_title_inner .title_mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		top: 28px;
		left: 0;
		width: 64px;
		height: 64px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		box-shadow: 0px 4px 8px -5px rgba(179,179,179,0.9);
	}
	
	#main_wrap .ad_part04_title_inner h2.title:not(.home #main_wrap h2){
		display: block;
		position: relative;
		padding: 42px 0 0 0;
		margin: 0 0 0 80px;
		font-size: 1.8em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-indent: 0;
	}
	
	.ad_part04_title_inner .lead {
		display: block;
		position: relative;
		padding: 18px 0 36px 0;
		margin: 0 0 0 80px;
		font-size: 1em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

}

/* 単元コンテンツ04 */
.ad_part04_content {
	display: block;
	position: relative;
	padding: 30px 0 0 0;
	margin: 32px auto 50px auto;
	width: 95%;
	max-width: 1280px;
	height: auto;
	background-color: #fff;
	overflow: hidden;
}

.each_area {
	display: block;
	position: relative;
	padding: 50px 0 80px 0;
	margin: 0 auto 0 auto;
	width: 100%;
	height: auto;
	overflow: hidden;
}

.each_area ul {
	display: block;
	position: relative;
	padding: 20px 0 0 0;
	margin: 0 auto 0 auto;
	width: 100%;
	height: auto;
	list-style: none;
}

.each_area ul li {
	display: block;
	position: relative;
	padding: 12px 12px 14px 12px;
	margin: 0 1% 0 1%;
	width: 31.3%;
	height: auto;
	z-index: 5;
	float: left;
}

.each_area ul li .each_base {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 224px;
	background-color: #008a28;
	border-radius: 14px;
	z-index: -1;
}

.each_area ul li .each_content {
	display: block;
	position: relative;
	padding: 0 12px 0 12px;
	margin: 0 auto 0 auto;
	width: 100%;
	height: auto;
	min-height: 350px;
	background-color: #ffffff;
	border-radius: 12px;
	box-shadow: 0px 4px 10px -4px rgba(130,130,130,0.9);
	z-index: 5;
}

.each_area ul li .each_content .mark {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 -65px;
	width: 130px;
	height: 130px;
	top: -70px;
	left: 50%;
	background-color: #008a28;
	border:6px solid #ffffff;
	border-radius: 50%;
	z-index: 5;
}

.each_area ul li .each_content .title {
	display: block;
	position: relative;
	padding: 70px 0 0 1em;
	margin: 0 0 0 0;
	font-size: 1.6em;
	line-height: 1.2em;
	color: #008a28;
	font-weight: 700;
	letter-spacing: 1px;
	text-indent: -1em;
	text-align: center;
	z-index: 5;
}

.each_area ul li .each_content .lead {
	display: block;
	position: relative;
	padding: 32px 0 18px 0;
	margin: 0 auto 0 auto;
	width: 95%;
	z-index: 5;
}

.each_area ul li .each_content .lead p {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 16px 0;
	font-size: 1em;
	color: #1a1a1a;
	line-height: 1.6em;
	font-weight: 400;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	letter-spacing: 0.5px;
	text-align: left;
	z-index: 5;
}

@media screen and (max-width: 1200px) {

	.each_area {
		display: block;
		position: relative;
		padding: 0 0 80px 0;
		margin: 0 auto 0 auto;
		width: 100%;
		height: auto;
		overflow: hidden;
	}

	.each_area ul li {
		display: block;
		position: relative;
		padding: 12px 12px 14px 12px;
		margin: 0 auto 0 auto;
		width: 85%;
		height: auto;
		z-index: 5;
		float: none;
	}

	.each_area ul li .each_content {
		display: block;
		position: relative;
		padding: 0 12px 24px 12px;
		margin: 0 auto 12px auto;
		width: 100%;
		height: auto;
		min-height: 120px;
		background-color: #ffffff;
		border-radius: 12px;
		box-shadow: 0px 4px 10px -4px rgba(130,130,130,0.9);
		z-index: 5;
	}
	
	.each_area ul li .each_content .mark {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 80px;
		height: 80px;
		top: 5px;
		left: -50px;
		background-color: #008a28;
		border: 4px solid #ffffff;
		border-radius: 50%;
		z-index: 5;
	}

	.each_area ul li .each_content .title {
		display: block;
		position: relative;
		padding: 32px 0 0 60px;
		margin: 0 0 0 0;
		font-size: 1.8em;
		line-height: 1.2em;
		color: #008a28;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
		text-indent: -1em;
		text-align: left;
		z-index: 5;
	}
	
	.each_area ul li .each_content .lead {
		display: block;
		position: relative;
		padding: 18px 0 18px 0;
		margin: 0 0 0 0;
		width: 95%;
		z-index: 5;
	}

	.each_area ul li .each_content .lead p {
		display: block;
		position: relative;
		padding: 0 0 0 50px;
		margin: 0 0 12px 0;
		font-size: 1em;
		color: #1a1a1a;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		letter-spacing: 0.5px;
		text-align: left;
		z-index: 5;
	}


	.each_area ul li .each_base {
		display: block;
		position: absolute;
		padding: 0 0 0 0;
		margin: 0 0 34px 0;
		top: 0;
		left: 0;
		width: 100%;
		height: 160px;
		background-color: #008a28;
		border-radius: 14px;
		z-index: -1;
	}

}

@media screen and (max-width: 768px) {
	
	.each_area ul li {
		display: block;
		position: relative;
		padding: 12px 12px 14px 12px;
		margin: 0 auto 0 auto;
		width: 85%;
		height: auto;
		z-index: 5;
		float: none;
	}

	.each_area ul li .each_content .lead p {
		display: block;
		position: relative;
		padding: 0 0 0 30px;
		margin: 0 0 12px 0;
		font-size: 1em;
		color: #1a1a1a;
		line-height: 1.6em;
	}
	
}




#part04 {
	clear: both;
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 18px auto 18px auto;
	width: 95%;
	height: auto;
	overflow: hidden;
}

.ad_part04_content #part04 .sub_title {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 14px 18px;
	font-size: 2.1em;
	line-height: 1.2em;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.ad_part04_content #part04 .needed_lead {
	display: block;
	position: relative;
	padding: 0 18px 0 48px;
	margin: 0 0 24px 0;
	font-size: 1.2em;
	line-height: 1.6em;
	color: #1a1a1a;
	font-weight: 400;
	letter-spacing: 0.5px;
}

.ad_part04_content #needed {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 80px 0;
	overflow: hidden;
}

.ad_part04_content .needed_img {
	display: block;
	position: relative;
	padding: 0 0 0 0;
	margin: 30px 0 0 80px;
	width: 80%;
	max-width: 580px;
	height: auto;
	overflow: hidden;
}

.ad_part04_content ol.needed_txt {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	top: 50px;
	left: 664px;
	list-style: disc;
}

.ad_part04_content ol.needed_txt li {
	position: relative;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	font-size: 1.1em;
	line-height: 2.2em;
	font-weight: 400;
}


@media screen and (max-width: 1400px) {

	.ad_part04_content #part04 .needed_lead {
		display: block;
		position: relative;
		padding: 0 0 0 48px;
		margin: 0 0 24px 0;
		font-size: 1.2em;
		line-height: 1.6em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}

	.ad_part04_content .needed_img {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 30px auto 0 auto;
		width: 80%;
		max-width: 580px;
		height: auto;
		overflow: hidden;
	}

	.ad_part04_content ol.needed_txt {
		position: relative;
		padding: 0 0 0 0;
		margin: 30px auto 0 auto;
		top: 0;
		left: 0;
		width: 80%;
		max-width: 786px;
		height: auto;
		list-style: disc;
	}
	
	.ad_part04_content ol.needed_txt li {
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		font-size: 1.1em;
		line-height: 2.2em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
	}

}


@media screen and (max-width: 768px) {

	#part04 {
		clear: both;
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 18px auto 18px auto;
		width: 95%;
		height: auto;
		overflow: hidden;
	}

	.ad_part04_content #part04 .sub_title {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 0 0 14px 0;
		font-size: 1.6em;
		line-height: 1.2em;
		font-weight: 700;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 0.5px;
	}

	.ad_part04_content #part04 .needed_lead {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 12px 0 24px 0;
		font-size: 1.1em;
		line-height: 1.8em;
		font-weight: 400;
		/*font-family: "BIZ UDPGothic", sans-serif;*/
		letter-spacing: 1px;
	}
}
	
	
.needed_link {
	display: block;
	position: absolute;
	padding: 0 0 0 0;
	margin: 0 0 0 0;
	bottom: 50px;
	right: 0;
	font-size: 1.2em;
}

.needed_link a {
	color: #008a28;
	text-decoration: underline;
}

.needed_link a:hover {
	color: #008a28;
	text-decoration: underline;
}


.needed_link span {
	display: inline-block;
	position: relative;
	padding: 0 0 0 10px;
}

@media screen and (max-width: 1400px) {
	
	.needed_link {
		display: block;
		position: relative;
		padding: 0 0 0 0;
		margin: 60px auto 0 auto;
		bottom: 0;
		right: 0;
		width: 90%;
		max-width: 786px;
		font-size: 1.2em;
	}	
	
}
	
/*ここまで新04*/











































/* モーダル動画再生のトリガー */
.modal {
	display: none; /* 最初は非表示 */
	position: fixed;
	z-index: 20000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(255,255,255,0.95); /* 半透明背景 */
	justify-content: center;
	align-items: center;
	transition: all 0.8s;
}

.modal .modal-content {
	position: relative;
	background-color: #fff;
	padding: 0;
	border-radius: 8px;
	width: 90%;
	max-width: 800px;
	aspect-ratio: 16 / 9;
	display: flex;
	transition: all 0.8s;
}

.modal .close {
	position: absolute;
	top: -80px;
	right: 4px;
	font-size: 62px;
	font-weight: bold;
	color: #1a1a1a;
	cursor: pointer;
	z-index: 20001;
}

.modal .cap {
	position: absolute;
	bottom: -42px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	font-size: 1.2em;
	font-weight: bold;
	color: #1a1a1a;
	text-align: center;
	z-index: 20001;
}

.modal iframe {
	width: 100%;
	height: 100%;
	border: none;
	border-radius: 8px;
}
    
body.modal-open {
	overflow: hidden;
}


