
@charset "utf-8";
/* CSS Document */


/*必須ここから*/

/* 20110406クラスあり修正版 */
.clearfix {zoom:1;}
.clearfix:after {
  content: ""; 
  display: block; 
  clear: both;
}
.none {
	display: none;
}
.clear {
	clear: both;
}
.txtCenter {
	text-align: center;
}
.txtLeft {
	text-align: left;
}
.txtRight {
	text-align: right;
}
.smaller {
	font-size: 90%;
}
a img {
	border: 0px none;
}

.red {
	color: red;
}

/*必須ここまで*/
.fade{
  opacity: 0;
  animation: fadeIn 1s ease 0.3s 1 normal;
  animation-fill-mode: forwards; 
}

.fade2{
  opacity: 0;
  animation: fadeIn 0.3s ease 0.6s 1 normal;
  animation-duration: 2s; 
  animation-fill-mode: forwards; 
}

.fade3{
  opacity: 0;
  animation: fadeIn 0.6s ease 0.9s 1 normal;
  animation-duration: 1s; 
  animation-fill-mode: forwards; 
}
.fade4{
  opacity: 0;
  animation: fadeIn 0.9s ease 1.1s 1 normal;
  animation-duration: 1s; 
  animation-fill-mode: forwards; 
}
@keyframes fadeIn { 

  0% {opacity: 0} 
  100% {opacity: 1}

}

#sdgs{
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	font-size: 16px;
	color: #333333;
	max-width: 1100px;
	line-height: 130%;
}

#sdgs #header {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 670px;
	margin: 0 auto;
	background: url(top.jpg) no-repeat center center;
	background-size: 110%;
}

#sdgs #header h2 {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 650px;
	padding: 30px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 16px;
	color: #333333;
	letter-spacing: 1px;
	line-height: 180%;
	font-weight: 100;
	margin:0;
}

/*アナ用ヘッダー*/
#header_ann{background:#fff2f5;padding:40px 120px 0px;margin-bottom:50px;box-sizing: border-box;}
#header_ann img{width:100%;}
#header_ann p{width:100%;box-sizing: border-box;position: relative;}
#header_ann p img{max-width:500px;}
#header_ann p span{margin:10px;padding:0;display: inline-block;font-size:18px;font-weight: bold;background: #333333;color:#FFFFFF;box-sizing: border-box;width:200px;text-align: center;position: absolute;right:0;}
#header_ann a{display: block;padding:20px 20px;color:#FFFFFF!important;text-decoration: none!important;width:100%;height:100%;box-sizing: border-box;}

/*コンテンツ*/
#contents {
	text-align: center;
	background: #fff2f5;
	padding: 50px 120px;
	margin: 30px auto 0px;
	box-sizing: border-box;
}
#contents img{
	box-sizing: border-box;
	margin: 5px;
	border-radius:11px;
	box-shadow: 5px 18px 10px -15px rgba(100, 80, 100, 0.2);
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

#contents img:hover{
	box-sizing: border-box;
	margin: 6px 5px 4px;
	border-radius:11px;
	box-shadow: 0px 1px 4px -3px rgba(100, 80, 100, 0.8);}

/*コンテンツ2*/
#contents2{
	text-align: center;
	background: #fff4e0;
	padding: 50px 120px;
	margin: 0px auto 0px;
	box-sizing: border-box;}
#contents2 img{
	box-sizing: border-box;
	margin: 5px;
	border-radius:11px;
	box-shadow: 5px 18px 10px -15px rgba(100, 80, 100, 0.2);
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
#contents2 img:hover{
	box-sizing: border-box;
	margin: 6px 5px 4px;
	border-radius:11px;
	box-shadow: 0px 1px 4px -3px rgba(100, 80, 100, 0.8);}

/*トピックス*/
#sdgs #topics {
	box-sizing: border-box;
	padding: 0px 3px;
	max-width: 900px;
	margin: 35px auto;
}

#sdgs #topics h3{padding:0;margin:0;color:#00498F;font-size:18px;font-weight: normal;border-bottom: #999999 dotted 1px;}

#sdgs #topics div{background: #FFFFFF;width:100%;margin:10px auto;box-sizing: border-box;padding:20px;}

#sdgs #topics ul{margin:10px 20px 10px;box-sizing: border-box;}

#sdgs #topics li{padding:0;margin:0;font-size:14px;list-style: none;
padding-left:1em;
text-indent:-3.5em;
}
#sdgs #topics li a,#m_c a {
	color: #167CC9;
	text-decoration: underline;
}
#sdgs #topics li a::after {
	content: " ";
	display: inline-block;
	width: 18px;
	height: 21px;
	background: url(pdf.png) no-repeat;
	background-size: 15px;
	background-position: bottom right;
}

#sdgs #topics li span{color: #00498F;font-weight: bold;margin-right:5px;
	
}
/*SDGsとkNB*/
#sdgs #knb_sdgs{
	box-sizing: border-box;
	width: 100%;
	margin: 30px auto;
	padding:30px;
}

#sdgs #knb_sdgs p{
	box-sizing: border-box;
	margin: 20px auto;
	display: block;
	width: 100%;
	padding:30px;
}

#sdgs #knb_sdgs figure{
	box-sizing: border-box;
	margin: 30px auto;
	text-align: center;
}

#knb_sdgs dl{
	box-sizing: border-box;
	width: 650px;
	margin: 0 auto;
}

#knb_sdgs dt{
	box-sizing: border-box;
	width:100%;
	text-align: center;
}

#knb_sdgs dt img{
	box-sizing: border-box;
	width: 100%;
	max-width: 550px;
	margin: 0 auto;
}

#knb_sdgs dd {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: 15px;
}
/*SDGs下部移動*/

#sdgs #knb_sdgs_2 p{
	box-sizing: border-box;
	margin: 20px auto;
	display: block;
	width: 100%;
	padding:30px;
}

#sdgs #knb_sdgs_2 figure{
	box-sizing: border-box;
	margin: 30px auto;
	text-align: center;
}

#sdgs #knb_sdgs_2 h3 {
	box-shadow: border-box;
	margin: 50px 10px 0px;
	width: 100%;
	font-size: 30px;
	color: #00498f;
	text-align: center;
}
/*取り組み*/
#sdgs #efforts{
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding:50px;
    background: #EBF5F9;
	background: -moz-linear-gradient(top left, #EBF5F9, #BFD5F9); 
background: -webkit-linear-gradient(top left, #EBF5F9, #BFD5F9); 
background: linear-gradient(to bottom right, #EBF5F9, #BFD5F9); 
}

#sdgs #efforts h3 {
	box-shadow: border-box;
	margin: 10px 10px 40px;
	width: 100%;
	font-size: 33px;
	color: #00498f;
	text-align: center;
}

#sdgs #efforts p{
	box-shadow: border-box;
	margin: 10px auto 40px;
	width: 100%;
	text-align: center;
}

#sdgs #efforts div{
	box-sizing: border-box;
	width: 100%;
	position: relative;
	margin: 10px auto;
	padding: 0px;
}

/*#sdgs #efforts div::before{
	content:"";
	display: block;
	position: absolute;
	width: 5px;
	box-sizing: border-box;
	height: 90%;
	top: 10px;
	left: 10px;
    background: linear-gradient(#8fcffa, #d6eefa);
}*/

#sdgs #efforts div h4 {
	box-sizing: border-box;
	margin: 10px 20px 0px;
	color: #167CC9;
	font-weight: 100;
	font-size: 27px;
	letter-spacing: 1px;
	text-align: center;
}

#sdgs #efforts ul{
	box-sizing: border-box;
}

#sdgs #efforts ul li{
	box-sizing: border-box;
	margin: 10px;
	letter-spacing: 0.2px;
}

/*sdgs2 リンク追加*/
#sdgs .box{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	margin:5px auto 40px!important;
	max-width: 960px!important;}	

#sdgs #efforts figure{
	box-sizing: border-box;
	display: block;
	width: 100%;
	background: #FFFFFF;
	width:300px;
	height: 300px;
	margin: 10px;
	padding:0;
	transition: all 0.3s;
	position: relative;
	box-sizing: border-box;
	-webkit-box-shadow: 0 1rem 2rem -2rem rgba(0,50,100,0.6);
	box-shadow: 0 1rem 2rem -2rem rgba(0,50,100,0.6);
}

#sdgs #efforts figure:hover{
	box-sizing: border-box;
	display: block;
	width: 100%;
	background: #FFFFFF;
	width:300px;
	height: 300px;
	margin: 10px;
	padding:0;
	box-sizing: border-box;
	-webkit-box-shadow: 0px 0px 3px -2px rgba(0,50,100,0.4);
	box-shadow: 0px 0px 3px -2px rgba(0,50,100,0.4);
}

#sdgs #efforts figure img{
	box-sizing: border-box;
	width: 100%;
	padding: 0px;
}

#sdgs #efforts figure span {
	display: block;
	box-sizing: border-box;
	width: 99%;
	text-align: right;
	height: 50px;
	position: absolute;
	top: 115px;
}

#sdgs #efforts figure span img{
	width:50px!important;
	height:50px!important;
	box-sizing: border-box;
	padding:2px;
}

#sdgs #efforts figure figcaption{
	padding:5px 15px;
	font-size:15px;
	box-sizing: border-box;
	margin:0px;;
}

#sdgs #efforts figure figcaption p {
	padding: 0px;
	text-align: left;
	font-size: 12px;
	box-sizing: border-box;
	margin: 5px 0px;
	text-decoration: none!important;
	color:#333333!important;
}

#sdgs #efforts a{
	text-decoration: none!important;
	color:#167CC9;
}
#sdgs #efforts a:hover{
	text-decoration: none!important;
	color:#16DCFF;
}

/*メディアコンパクト*/
#m_c{width:95%;display: block;box-sizing: border-box;padding:30px;margin:40px auto;}

#m_c b{font-size:22px;}

#m_c figure {
	width: 220px;
	float: left;
	display: block;
	box-sizing: border-box;
	margin: 10px auto;
}
@media only screen and (max-width: 768px) {
	#m_c figure {
		float: inherit;
	}	
}
#m_c figure img{width:100%;}

#m_c p {
	display: block;
	float: right;
	max-width: 730px;
	margin: 20px auto;
	box-sizing: border-box;
}
#m_c span{font-size:12px;display: block;margin:20px auto;padding:10px;box-sizing: border-box;background: #eeeeee;}
#m_c span a {
	word-wrap: break-word;
}

@media only screen and (max-width: 768px) {
	#sdgs .box{
		width:100%!important;
	}
	
	/*コンテンツA*/
	#contents {
    padding: 50px 0px;
	line-height: 1;
		font-size:0;
}	#contents img{
	max-width:600px;
}
	/*コンテンツB*/
		#contents2 {
    padding: 50px 0px;
	line-height: 1;
		font-size:0;
}	#contents2 img{
	max-width:600px;
}
	
	/*SDGs下移動*/
#sdgs #knb_sdgs_2 p {
	margin: 10px auto;
	width: 100%;
	padding: 15px 30px;
	font-size: 88%;
}
	#sdgs #knb_sdgs_2 figure {
	width: 100%;
}
#sdgs #knb_sdgs_2 figure img {
	width: 90%;
}}
@media only screen and (max-width: 756px) {
	/*アナヘッダー*/

	#header_ann p img {
	max-width: 300px;
	}
	#header_ann p span {
	margin: 0;
	padding: 0;
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	background: #333333;
	color: #FFFFFF;
	box-sizing: border-box;
	width: 160px;
	text-align: center;
	position: absolute;
	right: 0;
}
	#header_ann a {
	display: block;
	padding: 8px 10px;
	color: #FFFFFF !important;
	text-decoration: none !important;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}
	/*アナヘッダここまで*/
	/*コンテンツここから*/
	#contents {
	padding: 50px 10px;
}	#contents2 {
	padding: 50px 10px;
}
	/*コンテンツここまで*/
	#sdgs{
		font-size: 14px;
		line-height: 170%;
	}
	
#sdgs #header {
	width: 100%;
	height: 570px !important;
	background: url(top.jpg) no-repeat center bottom;
	background-size: 756px;
}
	
	#sdgs #header h2{
		width: 100%;
		font-size :18px;
		font-weight: bold;
	}
	
#sdgs #knb_sdgs {
	width: 100%;
	margin: 20px auto;
	padding: 0px;
}
	
	#knb_sdgs dl {
	box-sizing: border-box;
	width: 90%;
	margin: 20px auto 0px;
}
	#knb_sdgs dd {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-weight: bold;
	font-size: 14px;
}
	#sdgs #knb_sdgs p {
	margin: 0px auto;
	padding: 25px;
}
	
	#sdgs #knb_sdgs figure img{
		width: 100%;
		
}

	/*取り組み*/
	

	#sdgs #efforts {
	padding: 20px;
}
	
#sdgs #efforts h3 {
	box-sizing: border-box;
	margin: 10px 10px 0px;
	width: 100%;
	font-size: 22px;
	color: #00498f;
	text-align: center;
}
	
#sdgs #efforts div h4 {
	margin: 10px 20px 0px;
	font-size: 20px;
}
	
#sdgs #efforts p {
	box-shadow: border-box;
	margin: 10px auto 20px;
	width: 100%;
	text-align: center;
}
#sdgs #efforts ul {
	width: 100%;
	float: none;
	padding: 10px;
	margin : 10px;
}
	
#sdgs #efforts ul li {
	box-sizing: border-box;
	margin: 3px;
	letter-spacing: 0.2px;
}

}


@media only screen and (max-width: 756px) {
	
	#sdgs #header h2 {
	padding: 27px;

}
	
#sdgs #header h2 {
	font-size: 14px;
	}


#knb_sdgs dt img {
	box-sizing: border-box;
	width: 80%;
}
	
#knb_sdgs dd {
	font-size: 12px;
}

	#sdgs .box{
		max-width:  width:644px!important;
	}
	
	#sdgs #efforts div h4 {
	font-size: 16px;
}
}

@media only screen and (max-width: 414px) {
	
	/*アナヘッダ-*/
	#header_ann {
	background: #fff2f5;
	padding: 10px 10px 10px;
	margin-bottom: 10px;
	box-sizing: border-box;
}
	#header_ann p span {
	margin: 0;
	padding: 0;
	display: block;
	font-size: 18px;
	font-weight: bold;
	background: #333333;
	color: #FFFFFF;
	box-sizing: border-box;
	width: 160px;
	text-align: center;
	position: relative;
	right: 0;
}
	/*アナヘッダーここまで*/
	
		#sdgs .box{
		width:320px!important;
	}
#sdgs p {
	font-size: 88%;
	line-height: 150%;
}
	.fade2 {
	text-align: left;
}
	
	.fade2 br{
		display: none!important;
	}
	#sdgs #header {
	height: 345px;
}
	#sdgs #efforts figure figcaption{
		font-size:14px;
	}
		#sdgs #efforts figure figcaption p{
		font-size:11px;
	}
	#sdgs .box {
  justify-content: center;
}
	
	#sdgs #efforts div h4 {
	margin: 19px 20px 10px;
}
	#sdgs #topics {
	background: #FFFFFF;
	box-sizing: border-box;
	padding: 0px 3px;
	max-width: 900px;
	margin: 10px auto 0px;
}
	#sdgs #topics {

	padding: 1px 9px;
	max-width: 900px;
	margin: 0px auto 0px;
}
	
#sdgs #topics h3 {
	padding: 9px 0px 3px;
	color: #00498F;
	font-size: 14px;
	border-bottom: #999999 dotted 1px;
}
	#sdgs #topics div {
	margin: 10px auto;
	padding: 10px;
}
	
	#sdgs #topics ul {
	margin: 10px 10px 10px;
}
#sdgs #topics li {
	font-size: 12px;
	padding-left: 0.5em;
	text-indent: -3.3em;
}
	
	#m_c {
	width: 90%;
	display: block;
	box-sizing: border-box;
	padding: 10px;
	margin: 40px auto 20px;
}
	#m_c b {
		display: block;
	font-size: 17px;
		text-align: left!important;
}
	#m_c figure {
	width: 140px;
	float: none;
	display: block;
	box-sizing: border-box;
	margin: 10px auto;
}
#m_c p {
	display: block;
	float: none;
	max-width: 730px;
	margin: 20px auto;
	box-sizing: border-box;
}	

	/*コンテンツ*/
	#contents {
	padding:30px 20px;
	margin: 15px auto 0px;
	line-height: 0;
	box-sizing: border-box;
}
	#contents a{
		padding:0;
		margin:0;
		box-sizing: border-box;}
	
	#contents img {
	margin: 5px 0px;
	width: 100%;
}
	
#contents img:hover{
	box-sizing: border-box;
	margin: 6px 0px 4px;
	border-radius:11px;
	box-shadow: 0px 1px 4px -3px rgba(100, 80, 100, 0.8);}

	/*コンテンツB*/
	#contents2 {
	padding:10px 20px;
	margin: 0px auto 15px;
	line-height: 0;
	box-sizing: border-box;
}
	#contents2 a{
		padding:0;
		margin:0;
		box-sizing: border-box;}
	
	#contents2 img {
	margin: 5px 0px;
	width: 100%;
}
	
#contents2 img:hover{
	box-sizing: border-box;
	margin: 6px 0px 4px;
	border-radius:11px;
	box-shadow: 0px 1px 4px -3px rgba(100, 80, 100, 0.8);}
}
@media only screen and (max-width: 320px) {
	
	#sdgs #knb_sdgs p {
	margin: 0px auto;
	padding: 10px;
			line-height: 140%;
}
	
		#sdgs .box{
		width:100%!important;
	}
	
	#sdgs #efforts figure figcaption{
		font-size:13px;
	padding: 5px 10px;
	}
		#sdgs #efforts figure figcaption p{
		font-size:11px;
}
	
	#sdgs #efforts figure {
	width: 250px;
	height: 250px;
		margin: 5px;}
	
	#sdgs #efforts figure span {
	width: 99%;
	position: absolute;
	top: 90px;
}
#sdgs #efforts figure:hover{
	width: 250px;
	height: 250px;
		margin: 5px;
	-webkit-box-shadow: 0px 0px 3px -2px rgba(0,50,100,0.4);
	box-shadow: 0px 0px 3px -2px rgba(0,50,100,0.4);
}
	#sdgs #knb_sdgs figure img {
	width: 88%;
}
}