@charset "UTF-8";

.TopCategory,
.TopTag,
.Special,
.ArticleArchive,
.TopGoals {
  background-color: #ecf4fe;
  border-left: none;
  border-right: none;
}
.TopTag .ShowAll:before,
.TopGoals .ShowAllGoal:before {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(25%, #ecf4fe), to(rgba(236, 244, 254, 0.2)));
  background: linear-gradient(0deg, #ecf4fe 25%, rgba(236, 244, 254, 0.2) 100%);
}
.TopGoals .TopGoals__inner {
	padding-bottom: 0;
}
.TopCategory {
	background-image: none;
}
.TopCategory .Title1.-category {
	display: none;
}
.TopCategory .TopCategory__inner {
  padding: 45px 20px 85px;
}
.Special .Special__image {
  margin: 0 -20px 25px;
}
.About {
  background-color: #ecf4fe;
  background-image: linear-gradient(to right, #333, #333 1px, transparent 1px, transparent 4px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 4px 1px;
  padding-bottom: 1px;
  position: relative;
  z-index: 1;
}
.About .About__inner3 {
	padding: 25px 25px 0;
}
.About .About__title3 {
  margin-top: 25px;
  margin-bottom: 45px;
  max-width: 500px;
}
@media print, screen and (min-width: 980px) {
	.TopCategory .TopCategory__inner {
	  padding: 60px 25px 110px;
	}
  .About {
    padding-bottom: 1px;
  }
  .About .About__inner3 {
    margin: 0 auto;
    max-width: 1310px;
    overflow: hidden;
    padding: 80px 25px 0;
    position: relative;
  }
  .About .About__title3 {
    margin-bottom: 60px;
    width: 710px;
	  max-width: none;
  }
}

:root {
  --sdgs-gradient:
	#e5001e 0% 5.882352941%,
	#d7a600 5.882352941% 11.76470588%,
	#00973b 11.76470588% 17.64705882%,
	#c60f28 17.64705882% 23.52941176%,
	#e83819 23.52941176% 29.41176471%,
	#00a6d9 29.41176471% 35.29411765%,
	#fabd00 35.29411765% 41.17647059%,
	#970b31 41.17647059% 47.05882353%,
	#ed6a02 47.05882353% 52.94117647%,
	#dc007a 52.94117647% 58.82352941%,
	#f5a200 58.82352941% 64.70588235%,
	#d39200 64.70588235% 70.58823529%,
	#427935 70.58823529% 76.47058824%,
	#0075ba 76.47058824% 82.35294118%,
	#28a838 82.35294118% 88.23529412%,
	#004c88 88.23529412% 94.11764706%,
	#003067 94.11764706% 100%;
}

#mainContent {
	font-family: 'Koburina Gothic W3 JIS2004', sans-serif;
	letter-spacing: normal;
	background: #ecf4fe;
}
#mainContent .bold,
#sdgsTop span {
  font-family: 'Koburina Gothic W6 JIS2004', sans-serif;
	letter-spacing: normal;
	font-weight: bold;
}
#articleBody {
	position: relative;
	width: 100%;
	background: #fff;
}
#articleBody::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background-image: linear-gradient(to bottom, var(--sdgs-gradient));
	background-position: 0 0;
	background-repeat: repeat-y;
	background-size: 5px 1020px;
}
.articleBodyInner {
	padding: 0 0 0 1px;
}
.articleBodyInner img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
}

/* ページTOPへ
 --------------------------------------------------*/
#sdgsTop {
  position: fixed;
  z-index: 100;
  right: -100px;
  bottom: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
  width: 80px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
	opacity: 0;
	transition: opacity 0.5s ease-in-out 0s;
}
#sdgsTop.show {
  right: 20px;
	opacity: 1;
}
#sdgsTop.show:hover {
	opacity: 0.8;
}
#sdgsTop svg {
	display: block;
	transform: rotate(-90deg);
}
#sdgsTop span {
	display: block;
	font-size: 11px;
	line-height: 1.1;
	color: #2ca6e0;
	white-space: nowrap;
}
@media print, screen and (min-width: 769px) {
	#mainContent {
		padding: 40px 0 100px;
		font-size: 16px;
	}
	#articleBody {
		max-width: 960px;
		margin: 0 auto;
		padding: 0 min(5.2vw, 50px);
	}
}
@media only screen and (max-width: 768px) {
	#mainContent {
		padding: 0 0 100px 0;
		font-size: 14px;
	}
	#articleBody {
		padding: 0 0 0 5px;
	}
	.articleBodyInner {
		width: 88%;
		margin: 0 auto;
	}
	#sdgsTop {
	  width: 60px;
	  height: 60px;
	}
	#sdgsTop svg {
	  width: 20px;
	  height: 20px;
	}
	#sdgsTop span {
		font-size: 10px;
	}
}

/* # =================================================================
   # SDGsへの取り組み
   # ================================================================= */
/* タイトル
 --------------------------------------------------*/
#articleHeader h2 {
	padding: 150px 0 65px;
}
#articleHeader h2 img {
	max-width: 428px;
	margin: 0 auto;
}
@media only screen and (max-width: 768px) {
	#articleHeader h2 {
		padding: 30px 0 min(11vw, 65px);
	}
	#articleHeader h2 img {
		max-width: 100%;
	}
}
/* リード
 --------------------------------------------------*/
#articleHeader p {
	margin: 0 0 1.8em 0;
	line-height: 1.9;
}
/* SDGsとは？リンクバナー
 --------------------------------------------------*/
#articleHeader div {
	padding: 10px 30px 0;
}
#articleHeader a {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 770px;
	margin: 0 auto 48px;
	padding: 20px 20px 20px 40px;
	background: #2ca6e0;
	border-radius: 6px;
	box-shadow: 0 2px 8px 0 rgba(0,0,0,0.1);
	transition: opacity 0.3s ease-in-out 0s;
}
#articleHeader a::before {
	position: absolute;
	z-index: 1;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(45deg, var(--sdgs-gradient));
	background-repeat: repeat;
	background-size: 100% 200px;
	border-radius: 6px;
	opacity: 0;
	transition: opacity 0.3s ease-in-out 0s;
}
#articleHeader a::after {
	position: absolute;
	z-index: 1;
	content: '';
	top: 1px;
	left: 1px;
	width: calc(100% - 2px);
	height: calc(100% - 2px);
	background: #fff;
	border-radius: 5px;
}
#articleHeader a:hover {
	opacity: 0.7;
}
#articleHeader a:hover::before {
	opacity: 1;
}
#articleHeader a img {
	position: relative;
	z-index: 2;
	flex: 0 0 152px;
}
#articleHeader a span {
	position: relative;
	z-index: 2;
	flex: 1;
	padding: 0 28px 0 38px;
	font-size: 14px;
	line-height: 1.8;
}
#articleHeader a svg {
	position: relative;
	z-index: 2;
	flex: 0 0 25px;
}
@media only screen and (max-width: 768px) {
	#articleHeader div {
		padding: 10px 3px 0;
	}
	#articleHeader a {
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 20px;
	}
	#articleHeader a span {
		order: 2;
		flex: 0 0 100%;
		padding: 10px 0 0 0;
		font-size: 14px;
		line-height: 1.6;
	}
}
/* アンカー
 --------------------------------------------------*/
#sdgs_activity_anchor {
	background: #fdfaf2;
}
#sdgs_activity_anchor p {
	padding: 32px 30px 24px;
	font-size: 13px;
	text-align: center;
}
#sdgs_activity_anchor strong {
	display: block;
	padding: 0 0 .5em 0;
	font-size: 1.23em;
}
#sdgs_activity_anchor span {
	display: inline-block;
}
#sdgs_activity_anchor ul {
	display: flex;
	justify-content: center;
	width: 100%;
	gap: 10px;
	padding: 0 30px 30px;
}
#sdgs_activity_anchor li {
	width: 100%;
	max-width: 120px;
	min-width: 92px;
}
.sdgs_activity_anchor {
	position: relative;
	display: block;
	width: 100%;
	height: 120px;
	padding: 14px 0 0 0;
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
}
.sdgs_activity_anchor::before {
	position: absolute;
	z-index: 1;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-style: solid;
	border-color: #ddd;
	border-width: 1px 1px 3px 1px;
	border-radius: 6px;
}
.sdgs_activity_anchor::after {
	position: absolute;
	z-index: 1;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 7px;
	border-radius: 6px 6px 0 0;
	transition: height 0.2s ease-in-out 0s;
}
.sdgs_activity_anchor:hover::after {
	height: 100%;
}
.sdgs_activity_anchor img {
	position: relative;
	z-index: 2;
	width: 90px;
	height: 100px;
	margin: 0 auto;
}
@media only screen and (max-width: 768px) {
	#sdgs_activity_anchor p {
		padding: 28px 30px 20px;
		font-size: 13px;
	}
	#sdgs_activity_anchor ul {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: 1fr 1fr;
		max-width: 440px;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 375px) {
	#sdgs_activity_anchor ul {
		gap: max(calc(20vw - 65px), 7px);
	}
}
@media only screen and (max-width: 359px) {
	#sdgs_activity_anchor ul {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 1fr 1fr 1fr;
		gap: 10px;
	}
}
/* セクションタイトル
 --------------------------------------------------*/
.sdgs_activity h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: clamp(60px, 10.4vw, 80px) 0 clamp(30px, 5.2vw, 40px) 0;
}
.sdgs_activity h2 span {
	display: flex;
	align-items: center;
	height: 62px;
	padding: 0 25px;
}
/* 取り組み枠
 --------------------------------------------------*/
.sdgs_activity li {
	margin: 0 0 32px 0;
	margin: 0 0 clamp(24px, 4.2vw, 32px) 0;
	border-style: solid;
	border-width: 2px;
}
.sdgs_activity figure {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sdgs_activity figcaption {
	line-height: 1.6;
}
.sdgs_activity b {
	display: block;
	padding: 12px 0 0 0;
	font-size: 16px;
	color: #777;
}
.sdgs_activity .sdgs_activity_icons {
	display: flex;
	align-self: start;
	justify-content: flex-end;
}
.sdgs_activity .sdgs_activity_icons img {
	width: 56px;
	margin: 0 0 0 10px;
}
.sdgs_activity .sdgs_activity_img {
	display: flex;
	width: 100%;
}
.sdgs_activity .sdgs_activity_img span {
	position: relative;
	overflow: hidden;
}
.sdgs_activity .sdgs_activity_img .border1::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: solid 1px #ccc;
	border-radius: 6px
}
.sdgs_activity .sdgs_activity_img img {
	position: relative;
}
.sdgs_activity .sdgs_activity_img .round1 img {
	border-radius: 8px
}
.sdgs_activity p {
	width: 100%;
	margin: 0 0 1em 0;
	line-height: 1.8;
}
.sdgs_activity p small {
	display: block;
	margin: 1em 0;
	font-size: 13px;
	color: #777;
}
.sitelink {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 50px;
	height: min(12vw, 50px);
	margin: 1em auto 0;
	font-size: 15px;
	background-color: #fff;
	border: solid 1px #333;
	border-radius: 25px;
	border-radius: min(6vw, 25px);
	transition: background-color 0.2s ease-in-out 0s, border 0.2s ease-in-out 0s;
}
.sitelink span {
	padding: 0 0 0 20px;
	margin: 0 8px 0 0;
}
.sitelink svg {

}
@media print, screen and (min-width: 769px) {
	.sdgs_activity li {
		padding: 50px min(calc(18vw - 100px), 76px);
		border-radius: 24px;
	}
	.sdgs_activity figcaption {
		width: calc(100% - 200px);
		font-size: min(2.6vw, 24px);
		white-space: nowrap;
	}
	.sdgs_activity .sdgs_activity_icons {
		width: 200px;
	}
	.sdgs_activity .sdgs_activity_img {
		gap: 13px;
		margin: 20px 0 35px;
	}
	.sdgs_activity .sdgs_activity_img img {
		max-height: 125px;
	}
}
@media only screen and (max-width: 768px) {
	.sdgs_activity li {
		padding: 5vw 5vw 40px;
		border-radius: 3.125vw;
	}
	.sdgs_activity figcaption {
		width: 100%;
		padding: 1em 0 0 0;
		font-size: calc(1.961vw + 8.941px);
	}
	.sdgs_activity b {
		font-size: 14px;
		font-size: calc(0.245vw + 14.118px);
	}
	.sdgs_activity .sdgs_activity_icons {
		width: 100%;
		order: -1;
	}
	.sdgs_activity .sdgs_activity_img {
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 0;
		max-width: 375px;
		margin: 20px auto;
	}
	.sdgs_activity .sdgs_activity_img span {
		width: 100%;
		margin: 0 0 10px 0;
	}
}
@media only screen and (max-width: 430px) {
	.sdgs_activity figcaption br {
		display: none;
	}
	.sdgs_activity figcaption span {
		display: inline-block;
	}
}
/*
@media only screen and (min-width: 431px) and (max-width: 768px) {*/
@media only screen and (max-width: 768px) {
	#sdgs_activity01 li:nth-child(1) .sdgs_activity_img span:nth-child(2) { width: calc(50.5618% - 5px);}
	#sdgs_activity01 li:nth-child(1) .sdgs_activity_img span:nth-child(3) { width: calc(49.4382% - 5px);}
	#sdgs_activity01 li:nth-child(2) .sdgs_activity_img span:nth-child(2) { width: calc(51.3859% - 5px);}
	#sdgs_activity01 li:nth-child(2) .sdgs_activity_img span:nth-child(3) { width: calc(48.6141% - 5px);}
	#sdgs_activity01 li:nth-child(3) .sdgs_activity_img span:nth-child(2) { width: calc(42.9245% - 5px);}
	#sdgs_activity01 li:nth-child(3) .sdgs_activity_img span:nth-child(3) { width: calc(57.0755% - 5px);}
	#sdgs_activity02 li:nth-child(1) .sdgs_activity_img span:nth-child(2) { width: calc(51.9900% - 5px);}
	#sdgs_activity02 li:nth-child(1) .sdgs_activity_img span:nth-child(3) { width: calc(48.0100% - 5px);}
	#sdgs_activity02 li:nth-child(2) .sdgs_activity_img span:nth-child(1) { width: calc(49.7738% - 5px);}
	#sdgs_activity02 li:nth-child(2) .sdgs_activity_img span:nth-child(2) { width: calc(50.2262% - 5px);}
	#sdgs_activity02 li:nth-child(3) .sdgs_activity_img span:nth-child(2) { width: calc(49.8866% - 5px);}
	#sdgs_activity02 li:nth-child(3) .sdgs_activity_img span:nth-child(3) { width: calc(50.1134% - 5px);}
	#sdgs_activity02 li:nth-child(4) .sdgs_activity_img span:nth-child(2) { width: calc(52.0833% - 5px);}
	#sdgs_activity02 li:nth-child(4) .sdgs_activity_img span:nth-child(3) { width: calc(47.9167% - 5px);}
	#sdgs_activity02 li:nth-child(5) .sdgs_activity_img span:nth-child(1) { width: calc(38.3333% - 5px);}
	#sdgs_activity02 li:nth-child(5) .sdgs_activity_img span:nth-child(2) { width: calc(61.6667% - 5px);}
	#sdgs_activity03 li:nth-child(1) .sdgs_activity_img span:nth-child(2) { width: calc(50.0000% - 5px);}
	#sdgs_activity03 li:nth-child(1) .sdgs_activity_img span:nth-child(3) { width: calc(50.0000% - 5px);}
	#sdgs_activity03 li:nth-child(2) .sdgs_activity_img span:nth-child(2) { width: calc(51.0791% - 5px);}
	#sdgs_activity03 li:nth-child(2) .sdgs_activity_img span:nth-child(3) { width: calc(48.9209% - 5px);}
	#sdgs_activity03 li:nth-child(3) .sdgs_activity_img span:nth-child(2) { width: calc(41.7874% - 5px);}
	#sdgs_activity03 li:nth-child(3) .sdgs_activity_img span:nth-child(3) { width: calc(58.2126% - 5px);}
	#sdgs_activity04 li:nth-child(1) .sdgs_activity_img span:nth-child(2) { width: calc(47.1939% - 5px);}
	#sdgs_activity04 li:nth-child(1) .sdgs_activity_img span:nth-child(3) { width: calc(52.8061% - 5px);}
	#sdgs_activity04 li:nth-child(2) .sdgs_activity_img span:nth-child(2) { width: calc(50.0000% - 5px);}
	#sdgs_activity04 li:nth-child(2) .sdgs_activity_img span:nth-child(3) { width: calc(50.0000% - 5px);}
	#sdgs_activity05 li:nth-child(1) .sdgs_activity_img span:nth-child(2) { width: calc(57.6842% - 5px);}
	#sdgs_activity05 li:nth-child(1) .sdgs_activity_img span:nth-child(3) { width: calc(42.3158% - 5px);}
	#sdgs_activity05 li:nth-child(2) .sdgs_activity_img span:nth-child(1) { width: calc(53.0343% - 5px);}
	#sdgs_activity05 li:nth-child(2) .sdgs_activity_img span:nth-child(2) { width: calc(46.9657% - 5px);}
	#sdgs_activity06 li:nth-child(1) .sdgs_activity_img span:nth-child(2) { width: calc(56.5333% - 5px);}
	#sdgs_activity06 li:nth-child(1) .sdgs_activity_img span:nth-child(3) { width: calc(43.4667% - 5px);}
	#sdgs_activity06 li:nth-child(2) .sdgs_activity_img span:nth-child(2) { width: calc(42.8230% - 5px);}
	#sdgs_activity06 li:nth-child(2) .sdgs_activity_img span:nth-child(3) { width: calc(57.1770% - 5px);}
	#sdgs_activity06 li:nth-child(3) .sdgs_activity_img span:nth-child(2) { width: calc(44.9468% - 5px);}
	#sdgs_activity06 li:nth-child(3) .sdgs_activity_img span:nth-child(3) { width: calc(55.0532% - 5px);}
}
@media only screen and (max-width: 430px) {

	#sdgs_activity02 li:nth-child(2) .sdgs_activity_img span:nth-child(1),
	#sdgs_activity02 li:nth-child(2) .sdgs_activity_img span:nth-child(2),
	#sdgs_activity02 li:nth-child(5) .sdgs_activity_img span:nth-child(1),
	#sdgs_activity02 li:nth-child(5) .sdgs_activity_img span:nth-child(2) { width: auto;}

	.sdgs_activity h2 span {
		width: 100%;
		padding: 0 15px;
	}
	.sdgs_activity h2 img {
		max-height: 44px;
	}
	.sdgs_activity .sdgs_activity_img {
		max-width: 320px;
	}
	.sdgs_activity .sdgs_activity_img span {
		width: auto;
		margin: 0 0 10px 0;
	}
}

.articleBodyInner > hr {
	display: block;
	border: none;
	width: calc(100% - 10px);
	height: 1px;
  margin: 80px auto 0;
  background-image: linear-gradient(to right, #333, #333 1px, transparent 2px, transparent 2px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 4px 1px;
}
@media only screen and (max-width: 768px) {
	.articleBodyInner > hr {
	  margin-top: calc(7.3vw + 24px);
	}
}

/* コンテンツフッター
 --------------------------------------------------*/
#articleFooter {
	padding: 1em .5em min(14vw, 80px) .5em;
	line-height: 1.8;
}

/* ライフステージ色
 --------------------------------------------------*/
#sdgs_activity_anchor ul li:nth-child(1) a::after,
#sdgs_activity01 h2 span,
#sdgs_activity01 .sitelink:hover {
	background-color: #ff66cc;
}
#sdgs_activity_anchor ul li:nth-child(2) a::after,
#sdgs_activity02 h2 span,
#sdgs_activity02 .sitelink:hover {
	background-color: #7bb16e;
}
#sdgs_activity_anchor ul li:nth-child(3) a::after,
#sdgs_activity03 h2 span,
#sdgs_activity03 .sitelink:hover {
	background-color: #8ad5f6;
}
#sdgs_activity_anchor ul li:nth-child(4) a::after,
#sdgs_activity04 h2 span,
#sdgs_activity04 .sitelink:hover {
	background-color: #a8dbd6;
}
#sdgs_activity_anchor ul li:nth-child(5) a::after,
#sdgs_activity05 h2 span,
#sdgs_activity05 .sitelink:hover {
	background-color: #efd892;
	background-color: #f0d27a;
}
#sdgs_activity_anchor ul li:nth-child(6) a::after,
#sdgs_activity06 h2 span,
#sdgs_activity06 .sitelink:hover {
	background-color: #edae93;
}
#sdgs_activity01 li,
#sdgs_activity01 .sitelink:hover {
	border-color: #ff66cc;
}
#sdgs_activity02 li,
#sdgs_activity02 .sitelink:hover {
	border-color: #7bb16e;
}
#sdgs_activity03 li,
#sdgs_activity03 .sitelink:hover {
	border-color: #8ad5f6;
}
#sdgs_activity04 li,
#sdgs_activity04 .sitelink:hover {
	border-color: #a8dbd6;
}
#sdgs_activity05 li,
#sdgs_activity05 .sitelink:hover {
	border-color: #efd892;
	border-color: #f0d27a;
}
#sdgs_activity06 li,
#sdgs_activity06 .sitelink:hover {
	border-color: #edae93;
}