@charset "utf-8";
#wrapper{
	opacity: 0;
}

main{
	overflow: hidden;
}

article {
	width: 85%;
	margin: 0 auto;
}

.pagetitle {
	background: top;
  background-position-x: 600px;
}

.sdgs_ttl {
	display: block;
  margin: 10% auto 0;
	width: 100%;
}

.sub_ttl {
	font-size: 22px;
	text-align: center;
	margin: 45px auto 15px auto;
}

.gr_link_txt {
	color: #009B73 !important;
}

main h2 {
	font-size: 28px;
	text-align: center;
	margin: 45px auto 45px auto;
}

main h3 {
	font-size: 22px;
	text-align: center;
	margin: 45px auto;
}

main h3::after {
	display: block;
	margin: 10px auto;
	content: "";
	width: 50px;
	height: 2px;
	background: #009B73;
}

.gr_ttl {
	font-size: 22px;
	color: #009B73;
	margin: 45px 0 15px;
}

.caption {
	font-size: 12px;
}

.txt_underline {
	border-bottom: solid 2px #999999;
	display: inline;
}

article p {
	margin: 15px 0 50px;
}

.c_img {
	display: block;
	margin: 15px auto 50px;
	width: 100%;
}

table tr td {
	width: 25%;
}

table tr td span {
	border: solid 1px #999999;
	display: inherit;
	box-sizing: border-box;
	padding-left: 2px;
	padding-right: 2px;
	height: 52px;
	font-size: 10px;
	letter-spacing: 0;
	width: 130px;
	vertical-align: middle;
}

article ul {
	text-align: center;
	font-size: 0;
}

article ul li {
	display: inline-block;
  width: 32%;
	margin:2px
}

article .bk_gray ul li {
	display: inline-block;
  width: 27%;
	margin:2px
}

article ul li img {
	width: 100%;
}

.bk_gray {
	margin: 0 calc(50% - 50vw);
  background-color: #eee;
	padding: 25px 0 15px;
}

.bk_gray_inner {
	width: 85%;
}

.bk_white {
	background-color: #fff;
  padding: 20px;
}

/* main .works{
}
main .works img{
	width: 100%;
	height: auto;
}
main .works .single{
	position: relative;
	margin: 0 7% 85px;
}
main .works .single .photo{
	position: relative;
	z-index: 1;
}
main .works .single .photo.horizontal{
}

main .works .single .txtBox{
	background: #F0F0F0;
	box-sizing: border-box;
	padding: 65px 10% 45px 10%;
	position: relative;
}
main .works .single .txtBox h3{
	color: #009B73;
	font-size: 20px;
	line-height: 1;
	margin-bottom: 10px;
}
main .works .single .txtBox h3 span{
	font-size: 40px;
	padding-left: 5px;
}
main .works .single .txtBox h4{
	font-size: 20px;
	margin-bottom: 8px;
}
main .works .single .txtBox dl{
	display: table;
	width: 100%;
}
main .works .single .txtBox dl dt{
	display: table-cell;
	width: 5em;
	position: relative;
}
main .works .single .txtBox dl dt:after{
	content: "：";
	position: absolute;
	right: 0;
	top: 0;
}
main .works .single .txtBox dl dd{
	display: table-cell;
	padding-left: 1em;
}
main .works .single .txtBox p{
	margin-top: 20px;
	font-size: 14px;
}
main .works .single .txtBox .custompager {
	font-size: 0;
	text-align: center;
	position: absolute;
	left: 0;
	right: 0;
	top: 20px;
}
main .works .single .txtBox .custompager li{
	display: inline-block;
	vertical-align: middle;
	margin-right: 20px;
}
main .works .single .txtBox .custompager li a{
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #CCCCCC;
}
main .works .single .txtBox .custompager li a:hover,
main .works .single .txtBox .custompager li a.active{
	background: #009B73;
} */

ul.sdgs2 {
	width: 100%;
	    margin: 0 auto;
	    display: flex;
	    flex-wrap: wrap;
	    justify-content: flex-start;
}

ul.sdgs2 p{
	display: block;
	    font-size: 11px;
	    border: 1px solid;
	    padding: 10px 2px;
	    width: 100%;
	    margin: 0;
}

ul.bottom {
	flex-wrap: wrap;
}

main #pageTtl2 h2 {
	width: 100%;
	height: auto!important;
	transform: translate(-50%, -110%);
}

main #pageTtl2 h2 img {
	width: 100%;
	height: auto!important;
}
