@charset "utf-8";



.news_topics {
	font-size: 14px;
	margin-bottom: 80px;
}

.news_topics h3 {
	text-align: center;
	margin-bottom: 30px;
}

.news_topics dl {
	margin-left: 90px;
	margin-bottom: 40px;
}

.news_topics dt img {
	margin-left: 30px;
	padding-bottom: 4px;
}

.news_topics dd {
	margin-top: -1.8em;
	margin-left: 22em;
	padding-bottom: 10px;
}

.news_topics .btn {
	text-align: center;
}

.report {
	display: flex;
	margin-left: 80px;
	margin-bottom: 110px;
}

.report .report_img {
	margin-right: 35px;
}

.report .report_detail h3 {
	color: #00b77f;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 18px;
}

.report .report_detail p {
	font-size: 18px;
	margin-bottom: 29px;
}


.principle { margin: 0 20px 50px; clear: both; }
.principle h3 { font-size: 26px; font-weight: bold; text-align: center;margin-bottom: 20px;}
.principle p { margin-bottom: 20px; }
.principle .sdgsWrapper {  }
.principle .sdgs { padding: 8px 0 8px 16px; }
.principle .sdgs dl { width: 510px; float: left; }
.principle .sdgs dt { margin-bottom: 5px; font-weight: bold; font-size: 16px; font-weight: bold; }
.principle .sdgs dd { font-size: 14px; }
.principle .sdgs ul { padding-top: 14px; width: 410px; height: 56px; float: right; }
.principle .sdgs li { float: left; }
.principle .sdgs li:nth-child(odd) { margin-right: 15px; }
/*.principle .sdgs li:first-child { margin-left: 25px; }*/
.principle .sdgs li img { margin-right: 6px; }

.principle .sdgs-activity { margin-bottom: 10px; padding: 8px 0 8px 26px; }
.principle .sdgs-activity dl { clear: both; }
.principle .sdgs-activity dt { margin-bottom: 5px; font-weight: bold; font-size: 14px; color: #666666; }
.principle .sdgs-activity li { margin-bottom: 10px; float: left; margin-right: 10px; }

.grid { width: 1000px; margin: auto; overflow:hidden; position:relative;}
.grid a { display:block; transition: 0.3s;}
.grid a:hover { text-decoration:none; color:#666;}
/*.grid h3 { font-size: 14px; margin:10px 0; font-weight:600}*/
.grid h3 { margin: 0 20px 10px; font-size: 18px; font-weight: bold; }
.grid p { margin: 0 20px 20px; font-size: 13px;}
.grid-img { text-align:center;}
.grid-m { float: left; width: ; height: 1px; padding:17px; background-image:url(../images/csr_arrow.png); background-repeat:no-repeat; background-position:right bottom;}
.grid-m:hover { background-image:url(../images/csr_arrow_blue.png); }
.grid-inner { float: left; width: ; height: 1px; padding:17px; background-image:url(../images/csr_arrow.png); background-repeat:no-repeat; background-position:right bottom;}
.grid-inner:hover { background-image:url(../images/csr_arrow_blue.png); }
.leaf_other_button { float: left; width: ; height: 1px; padding:17px; background-image:url(../images/leaf_other_button.png); background-repeat:no-repeat; background-position:50% 72px;}
.leaf_other_button p { text-align:center; font-size:15px;  padding-top:126px;}
.leaf_other_button a:hover { color:#3CC;}
.grid-size500 { width: 465px; height:499px; border-right:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;}
.grid-size250  { width: 215px; height:232px; border-right:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;}
.grid-size500 a { width: 465px; height:499px; position:relative;}
.grid-size250 a { width: 215px; height:232px; position:relative;}
.grid-size250border-r-none  { border-right:none; width: 214px;}
.grid-size250border-b-none { border-bottom:none; height: 231px;}

.grid dl { font-size: 14p; max-width:500px; font-weight: 600; box-sizing:border-box; float: left; padding:19px 19px 19px 20px; transition: opacity 1s ease-out; background-image:url(../images/csr_arrow.png); background-repeat:no-repeat; background-position:right bottom;}

.grid dl { width: 250px; height:265px; border-top:1px solid #e2e2e2; border-right:1px solid #e2e2e2; position: relative; font-size:13px !important;}
.grid dl:nth-child(n+15):nth-child(-n+18) { border-bottom:1px solid #e2e2e2; }
.grid dl:hover { background-image:url(../images/csr_arrow_blue.png);transition: 0.6s;}
.grid dl.no-link,.grid dl.no-link:hover { background-image:none!important}
.grid dl a {}
.grid dl img { text-align:center}
.grid dl span {margin: 10px 0 0; height: 40px;}
.grid .archive { text-align: center; margin: 38px auto;}
.grid dt { font-weight: normal;}

.grid figure { font-size: 14p; max-width:500px; font-weight: 600; box-sizing:border-box; float: left; padding:19px 19px 19px 20px; transition: opacity 1s ease-out; background-image:url(../images/csr_arrow.png); background-repeat:no-repeat; background-position:right bottom;}
.grid figure:nth-child(1) {border-right:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;}
.grid figure:nth-child(2) {border-bottom:1px solid #e2e2e2;}
.grid figure:nth-child(n+3) {width: 250px; height:255px; border-right:1px solid #e2e2e2; border-bottom:1px solid #e2e2e2;position: relative; font-size:13px !important;}
.grid figure:hover { background-image:url(../images/csr_arrow_blue.png);transition: 0.6s;}
.grid figure.no-link,.grid figure.no-link:hover { background-image:none!important}
.grid figure a {}
.grid figure img { text-align:center}
.grid figure figcaption {margin: 10px 0 0; height: 40px;}

#leaf-button {background-image:url(../images/leaf_other_button.png); background-repeat:no-repeat; background-position:50% 72px;}
#leaf-button figcaption { text-align:center; font-size:15px; padding-top:110px;}
#leaf-button a:hover { color:#3cc;}

.archive-link-button { background-image:none !important;}
.archive-link-button figcaption { text-align:center;width: 215px; height:216px!important; display: table-cell;vertical-align: middle; font-size:16px;}
.archive-link-button a:hover { color:#3cc;}


.csr_mag{
	width:900px;
	display:flex;
	margin: 0 auto 100px auto;
	padding-left:80px;
}

.csr_mag .csr_mag_left img{
	width:330px;
	height:auto;
}

.csr_mag .csr_mag_right {
	margin: 0 40px;
}

.csr_mag .csr_mag_right h5{
	border-bottom: 1px solid #18a86b;
	font-size:18px;
	line-height: 1.4em;
}

.csr_mag .csr_mag_right h6{
	font-family: serif;
	font-weight:lighter;
	font-size:26px;
	line-height: 1.4em;
	margin: 25px 0;
}


.csr_mag .csr_mag_right p {
	width:360px;
	height: 30px; 
	padding-top: 10px; 
	background-color: #18a86b; 
	text-align:center;
	margin: 0 auto;
}


.csr_mag .csr_mag_right p a {
	font-weight:bold; 
	line-height:-1.0em;color:#FFFFFF; 
	border-bottom: none;
}






#main-container {
    width: 100%;
	font-size: 14px;
}

#main-container h4 {
    margin-bottom: 40px;
	text-align: center;
}



#main-container h5 {

}

.appWrapper {
	background: #FFFFFF;


}

.app {
	position: relative;
	margin: 0 auto 20px;
	width: 1000px;
	background: #fff;
}

.app h2 {
	margin-bottom: 40px;
	text-align: center;
}

.app p {
	padding: 0;
	margin:0 auto;
	text-align: center;
}

.app .app_link {
	width: 456px;
	margin: 0 auto 0;
	padding-bottom: 30px;
	text-align: center;
	display: flex;
}

.app .app_link dl:first-child {
	margin-right: 10px;
}

.app .app_banner {
	text-align: center;
}


#main-container .contents-color {
	background-color: #FF0000;
}


/*.app dl {
	margin-top: -60px;
}*/

/*.app dt {
	font-weight: bold;
	color: #00b77e;
	font-size: 24px;
	margin-bottom: 10px;
}*/

/*.app dd {
	font-weight: bold;
	font-size: 16px;
	line-height: 2;
}*/

.app h3 {
	margin-top: -266px;
	margin-left: 240px;
}

.app ul {
	display: flex;
	position: absolute;
	top: -40px;
    right: 80px;
}

.app li {
	list-style-type: square;
	margin-left: 40px;
}

.main-container-inner {
    width: 100%;
    margin: 0 auto 0;
    min-height: auto;
    border-right: none; 
    border-left: none; 
    background-color: #ffffff;
	padding: 40px 0;
}

.main-container-inner .contents {
	padding: 50px 0;
    max-width: 1000px;
	color: #000000;
	margin: 50px auto;
	text-align: center;
	 background-color: #ffffff;
}


.main-container-inner .wide {
    width: 1250px;
}

.contents_flex {
	display: flex;
	flex-wrap: wrap;
    justify-content: space-evenly;
}

.contents_flex p {
	width:400px;
	padding: 10px;
}

.main-container-inner .app_link {
	width: 852px;
	margin: 0 auto 0;
	padding-bottom: 30px;
	text-align: center;
	display: flex;
}

.main-container-inner .app_link dl:first-child {
	margin-right: 10px;
}






.main-container-inner .menu {
    width: 1000px;
	height: 80px;
	border-bottom: 1px solid #ea3223;
	margin-bottom: 60px;
}

.main-container-inner ul.menu {
    display: flex;
	padding-left: 80px;
}

.main-container-inner .menu li {
	margin-top: 30px;
    margin-right: 80px;
	font-size: 16px;
	font-weight: bold;
	color: #ea3223;
	letter-spacing: 0.1em;
}

.main-container-inner .menu li a:link {
	color: #ea3223;
}

.main-container-inner .menu li img {
	vertical-align: middle;
	margin-right: 5px;
}


.main-container-inner .split {
	display: flex;
}

.main-container-inner h3 {

}

.main-container-inner p {
	margin-bottom: 20px;
}

.main-container-inner p.caption {
	text-align: center;
}

.main-container-inner p.image {
	text-align: center;
}









.narrow {
    width: 1000px;
}

.basic_policy {
	margin: 45px 68px 60px;
	text-align: center;
}

.basic_policy h3 {
	padding: 10px;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	border-top: 1px solid #9b9b9b;
	border-bottom: 1px solid #9b9b9b;
}

.basic_policy p {
	font-size: 16px;
	line-height: 2;
}

.explanation {
	background-color: #effaff;
	padding: 46px 240px;
	text-align: center;
	margin-bottom: 80px;
}

.explanation h3 {
	margin-bottom: 30px;
}

.explanation h4 { font-size: 14px; font-weight:bold; }
.explanation p { margin-bottom: 0; }


.materiality {
	margin-bottom: 50px;
}

.materiality h3 {
	text-align: center;
	padding: 10px;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 70px;
	border-top: 1px solid #9b9b9b;
	border-bottom: 1px solid #9b9b9b;
}

.materiality_explanation {
	margin-left: 80px;
	display: flex;
	flex-wrap: wrap;
}

.materiality_explanation .explanation_wrapper {
	width: 310px;
	margin-right: 35px;
	margin-bottom: 40px;
}

.materiality_explanation .explanation_wrapper p {
	font-size: 15px;
	min-height: 6em;
	margin-bottom: 5px;
}

.materiality_explanation dt h4 {
	margin-bottom: 10px;
}

.materiality_explanation dt p {
	font-size: 14px;
	margin-bottom: 10px;
	height: 82px;
}

.materiality_explanation .outline {
	min-height: 6em;
	margin-right: 10px;
	margin-bottom: 10px;
}

.materiality_explanation .ver2 .outline {
	min-height: 4em;
}

.materiality_explanation .ver2 dd {
	margin-left: 194px;
	margin-top: -61px;
}

.materiality_explanation .two .outline {
	width: 184px;
}

.materiality_explanation .one .outline {
	width: 245px;
}

.materiality_explanation .outline dt {
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 5px;
}

.materiality_explanation .outline li {
	text-indent: -1em;
	margin-left: 1em;
}

.materiality_explanation .bnrlist li {
	margin-bottom: 10px;
}

.materiality_explanation .sdgs_wrapper {
	display: flex;
}

.materiality_explanation .ver2 .sdgs_wrapper {
	display: block;
}

.materiality_explanation .sdgs_icon {

	display: flex;
}

.materiality_explanation .sdgs_icon li {
	margin-right: 6px;
}

.materiality_explanation .sdgs_icon li:last-child {
	margin-right: 0;
}

.attempt {
	margin-bottom: 80px;
	padding: 66px 80px;
	background-color: #effaff;
	text-align: center;
}

.attempt h3 {
	margin-bottom: 30px;
}

.attempt h4 {
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: bold;
}

.attempt p {
	color: #1c1a1a;
	font-size: 14px;
	line-height: 2.2;
	font-weight: bold;
}


.introduction {
	margin-bottom: 60px;
}

.introduction h3 {
	text-align: center;
	padding: 10px;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
	border-top: 1px solid #9b9b9b;
	border-bottom: 1px solid #9b9b9b;
}

.introduction .lead {
	text-align: center;
	font-size: 14px;
	margin-bottom: 60px;
}

.introduction-list {
	margin-left: 80px;
	display: flex;
	flex-wrap: wrap;
}

.introduction-list dl {
	width: 300px;
	margin-right: 50px;
	margin-bottom: 40px;
}

.introduction-list dt {
	margin-bottom: 3px;
}

.introduction-list dt h4 {
	margin-bottom: 10px;
	border: 1px solid #d4d4d4;
}

.introduction-list dd p {
	font-size: 14px;
	margin-bottom: 5px;
	min-height: 6.5em;
}

.introduction .archive {
	text-align: center;
}

.introduction .archive p {
	margin-bottom: 30px;
}

.basic_policy_links {
	display: flex;
	justify-content: center;
	text-align: center;
	margin:30px auto;
}

.basic_policy_links .basic_policy_links_btn_01 {
	padding:12px;
	text-align: center;
	background-color:#11CA87;
	color:#fff;
	/*margin-right:20px;*/
	width: 19em;
}

.basic_policy_links .basic_policy_links_btn_01 a {
	color:#fff;
}

.basic_policy_links .basic_policy_links_btn_02 {
	padding:12px;
	text-align: center;
	background-color:#1BA9D6;
	color:#fff;
}

.basic_policy_links .basic_policy_links_btn_02 a {
	color:#fff;
}



/*==================================================
    ふわっとフェードイン
==================================================*/

.fadein {
	opacity: 0;
	transform: translate(0, 50px);
	transition: all 800ms;
}
.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

@keyframes yurayura {
  0% , 100%{
      transform: rotate(10deg);
  }
  50%{
      transform: rotate(-10deg);
  }
}


.slidein {
	opacity: 0;
	transform: translate(-50px, 0);
	transition: all 800ms;
}
.slidein.scrollinin {
	opacity: 1;
	transform: translate(0, 0);
}

@keyframes yurayura {
  0% , 100%{
      transform: rotate(10deg);
  }
  50%{
      transform: rotate(-10deg);
  }
}


/*==================================================
    うごかす
==================================================*/

#main-container .img-animation {
	animation: img-opacity 2s cubic-bezier(.4, 0, .2, 1);
	overflow: hidden;
	position: relative;
}

#main-container .img-animation:before {
	animation: img-animation 2s cubic-bezier(.4, 0, .2, 1) forwards;
	background: #fff;
	bottom: 0;
	content: '';
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

@keyframes img-opacity {
	100% {
		opacity: 1;
  }
}

@keyframes img-animation {
	100% {
    transform: translateX(100%);
  }
}







section {
  margin-top: 30px;
}
.accordion {
  width: 200px;
  margin: 0 auto;
}
.question {
  background-color: purple;
  color: white;
  font-size: 18px;
  padding: 10px;
  text-align: center;
  cursor: pointer;
  user-select: none;
}
.question:hover,
.question:active,
.question.is-active {
  background-color: black;
}
.answer {
  text-align: center;
  line-height: 0;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-duration: 0.4s;
}

.answer.is-open {
  border: 1px solid black;
  padding: 10px;
  line-height: normal;
  height: auto;
  opacity: 1;
}

.main-container-inner .renkei {
	padding: 50px 0　0;
    max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.main-container-inner .faq {
	padding: 50px 0　0;
    max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

table {
	font-size: 1em;
}

.ui-draggable, .ui-droppable {
	background-position: top;
}

.faq .app {
	text-align: center;
}

.faq dl {
	text-align: left;
	margin-bottom: 50px;
}

.faq dl img {
	margin-right: 20px;
	vertical-align: top;
}

.faq dt {
	color: #666666;
	font-weight: normal;
}

.faq dd {
	display: none;
	color: #ff2c4f;
	padding: 20px;
	font-size: 20px;
	text-indent: -2.5em;
    padding-left: 2.5em;
}

.faq dd p {
	color: #ff2c4f;
}

.faq dd strong {
	font-weight: bold;
}

.faq .nav-open {
	padding: 15px 80px 15px 15px;
	text-indent: -2.5em;
    padding-left: 2.5em;
	font-size: 20px;
	border-bottom: 1px solid #e11200;
	position: relative;
}

.faq .nav-open::before{/* 閉じている時 */
	color: #ffc2bc;
	content: "▼";
	position: absolute;
	right: 20px;
}
.faq .nav-open.active::before{/* 開いている時 */
	content: "▲";
}


.howtouse p {
	padding-bottom: 40px;	
}

.howtouse dl {
	padding-bottom: 40px;
}


.main-container-inner .point {
	padding: 50px 0;
    max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}3
.point dl {
	text-align: left;
	font-size: 18px;
	font-weight: normal;
	color: #4d4d4d;
}


.point dl dt {
	margin-bottom: 10px;
}

.point dl dd {
	margin-bottom: 40px;
}

.point dl dd p {
	color: #4d4d4d;
}



.contents_flex2 {
	display: flex;
	flex-wrap: wrap;
    justify-content: space-evenly;
	width: 800px;
	margin: 0 auto 30px;
}

.contents_flex2 p {
	width: 244px;
	padding: 10px;
}

.contents_flex3 {
	display: flex;
	flex-wrap: wrap;
    justify-content: space-evenly;
	width: 580px;
	margin: 0 auto 30px;
}

.contents_flex3 p {
	width: 261px;
	padding: 10px;
}


.app-dl {
	text-align: center;
	margin-bottom: 90px;
}


.renkei h5 {
	margin-bottom: 30px;
}

.renkei p {
	margin-bottom: 0;
}