@charset "UTF-8";
/* CSS Document */

body {
	/* 旧IE対応 */
	background: #FFFFFF;
	font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', Osaka, Verdana, sans-serif;
	color: #222222;
}

/* 隠す */

.hide {
	position: absolute;
	left: -100em;
	top: -100em;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* =Basic HTML
-------------------------------------------------------------- */

html {
	font-size: 100%;
	overflow-y: scroll;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-size: 16px;
	line-height: 30px;
}


a:link,
a:visited {
	color: #3366bb;
	text-decoration: none;
}

a:hover {
	color: #e42d54;
	text-decoration: none;
	transition: .3s;
}

a:active {
	color: #e42d54;
	text-decoration: none;
}

hr {
	background: #ccc;
	border: none;
	height: 1px;
}

b,
dt,
strong {
	font-weight: 700;
}

blockquote,
dl,
ol,
p,
pre,
table,
ul {
	margin: 30px 0;
}

P {
	padding: 0 20px;
	box-sizing: border-box;
}

blockquote {
	font-size: 1.1em;
	margin-left: 40px;
}

dd {
	margin-left: 35px;
}

ol,
ul {
	margin-left: 30px;
}

ul {
	list-style-type: circle;
}

ol {
	list-style-type: decimal;
}

mark {
	background-color: #ff9;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

q:before,
q:after {
	content: '"';
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	border: 0px solid #888;
}

img {
	vertical-align: bottom;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	transition: all .3s;
}

.clear {
	clear: both;
}

.sp {
	display: none;
}

#main table {
	border-collapse: collapse;
	border-spacing: 0;
}

#main td,
#main th {
	border: 1px solid #7ba5b5;
	padding: 15px;
	box-sizing: border-box;
	text-align: left;
	vertical-align: middle;
}

#main th {
	background: #1f7f7f;
	color: #fff;
	font-weight: 700;
}

/* =scroll_up
-------------------------------------------------------------- */

.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
}


/* =Headings
-------------------------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

h1 {
	font-size: 30px;
	text-align: center;
	color: #fff;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-shadow: 2px 2px 0 #3892d7, -2px -2px 0 #3892d7,
		-2px 2px 0 #3892d7, 2px -2px 0 #3892d7,
		0px 2px 0 #3892d7, 0-2px 0 #3892d7,
		-2px 0 0 #3892d7, 2px 0 0 #3892d7;
}

h2 {
	font-size: 26px;
	line-height: 35px;
	color: #3892d7;
	border-top: 3px solid #3892d7;
	border-left: 20px solid #3892d7;
	border-bottom: 3px solid #3892d7;
	padding: 15px 0 15px 15px;
	background: url("/img/sdgs/page_titel_back.jpg");
	background-repeat: no-repeat;
	background-position: center right;
	font-weight: 700;
}

h3 {
	font-size: 26px;
	line-height: 35px;
	font-weight: 700;
	padding-top: 40px;
	padding-left: 10px;
	margin-bottom: 22px;
	background: linear-gradient(transparent 85%, #a5edf1 85%);
}

h4 {
	font-size: 20px;
	font-weight: 700;
	padding-bottom: 10px;
	margin-bottom: 15px;
	border-bottom: solid 5px #ececec;
	position: relative;
}

h4:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 5px #009cd9;
	bottom: -5px;
	width: 20%;
}

h5 {
	font-size: 18px;
	font-weight: 700;
	color: #4f4f4f;
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 10px;
}

h5::before {
	content: "■";
	color: #a5edf1;
	position: absolute;
	left: 0;
	margin-right: 1.5em;
}

h6 {
	font-size: 1.1em;
}

/*.sdgs-detail ul {
	margin:1em;
	padding-left:1em;
}*/


/* ヘッダー */

header {
	width: 100%;
	max-width: 1200PX;
	margin: 0 auto;
}

#head_left {
	width: 90%;
	float: left;
}

#head_right {
	width: 10%;
	float: right;
	background: #3892d7;
	color: #fff;
	text-align: center;
	height: 148px;
	font-size: 20px;
	line-height: 30px;
	font-weight: 700;
	display: table;
}

#head_right .inner {
	display: table-cell;
	vertical-align: middle;
}

#head_right .inner .kazu {
	font-size: 30px;
	display: block;
}

.kazu p {
	margin: 0;
	padding: 0;
}

.head_top {
	width: 100%;
}

.head_top ul {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.head_top ul:after {
	content: "";
	clear: both;
	display: block;
}

.head_top ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: left;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

.head_top ul li.logo {
	width: 45%;
	display: flex;
	align-items: center;
}

.head_top ul li.logo img {
	width: 98%;
	max-width: 490px;
	padding-bottom: 10px;
	height: auto;
}

.head_top ul li.serch {
	width: 19%;
	display: flex;
	align-items: flex-end;
	padding: 0 0 10px 10px;
	box-sizing: border-box;
}

.head_top ul li.menu {
	width: 12%;
	text-align: center;
}

.menu_btn {
	display: block;
	width: 100%;
	/* height: 85px; */
	text-align: center;
	text-decoration: none;
	outline: none;
	color: #fff;
	/* font-size: 18px; */
	font-weight: 700;
}

a.menu_btn,
a:link.menu_btn {
	color: #fff;

}

.menu_btn img {
	/* width: auto;
	height: 32px;
	padding: 10px 0 0 0; */
}

.menu_btn::before,
.menu_btn::after {
	/* position: absolute;
	z-index: -1;
	display: block;
	content: ''; */
}

.menu_btn,
.menu_btn::before,
.menu_btn::after {
	/* -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s; */
}

.c_01 {
	background: #eb7003;
}

.c_02 {
	background: #0a8a1d;
}

.c_03 {
	background: #e42d54;
}

.c_01:hover {
	background: #b75600;
}

.c_02:hover {
	background: #007811;
}

.c_03:hover {
	background: #ad0025;
}

.head_bottom {
	/* width: 100%;
	height: 55px; */
}


/* メニュー */
nav ul {
	margin: 0;
	padding: 5px 0 0 0;
}

nav ul:after {
	content: "";
	clear: both;
	display: block;
}

nav ul li {
	/* display: flex; */
	/* float: left; */
	list-style-type: none;
	/* text-align: center; */
	/* width: auto; */
	/* height: 100%; */
	line-height: 1.4;
	box-sizing: border-box;
	/* padding: 0; */
	/* margin: 0; */
	/* font-size: 16px; */
	font-weight: 700;
	border-left: 1px solid #ddd;
	flex: 1 0 auto;
}

nav ul li .kaigyo {
	display: block;
}

nav ul li:first-child {
	/* border-left: 0px; */
}

nav ul li a {
	display: block;
	width: 100%;
}

nav ul li a,
nav ul li a:link,
nav ul li a:hover,
nav ul li a:active {
	color: #000;
}

/* nav ul li a.single {
	line-height: 45px;
	padding: 0;
}

nav ul li a.dwble {
	padding: 2px 0;
} */

a.n_btn {
	color: #000;

}

a.n_btn {
	position: relative;
	display: inline-block;
	text-decoration: none;
}

a.n_btn::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 100%;
	height: 4px;
	background: #3892d7;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}

a.n_btn:hover::after {
	bottom: 0px;
	opacity: 1;
	visibility: visible;
}

.hamburger-menu {
	display: none;

}

/*検索*/

.gsc-search-box table {
	margin: 0 !important;
	width: 400px !important;
	height: 50px;
}

table.gsc-search-box td.gsc-input {
	padding-right: 0 !important;
}

form.gsc-search-box {
	position: relative;
}

form.gsc-search-box td.gsc-search-button {
	position: absolute !important;
	right: 0.5em !important;
	top: 50% !important;
	padding-right: 1em !important;
	transform: translatey(-50%) !important;
	/* background-color: #fff !important; */
	border: none !important;
	background-image: url(/img/sdgs/search.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 20px 20px;
	cursor: pointer;
	padding: 0.8em;
}

.gsc-control-cse {
	padding: 0 1em 0 0 !important;
}

.gsc-search-button-v2 {
	padding: 20px 20px !important;
	background: initial !important;
	border: none !important;
}

.gsc-search-button-v2 svg {
	display: none;
}

.gsc-search-button-v2 {
	padding: 6px 8px !important;
}

.head_top ul li.serch {
	padding: 0 0 10px 0 !important;
}


.gsc-search-button-v2 svg {
	display: none;
}

.gsc-input-box {
	border: 1px solid #000 !important;
	background: #fff;
	border-radius: 0.2em !important;
}

.gsib_b {
	display: none;
}

/* ぱんくず */
#pan {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	font-size: 14px;
	padding: 20px 0;

}

/* フッター */

footer {
	background: #3892d7;
	width: 100%;
}

#footer_box {
	background: url("/img/sdgs/border.png");
	background-repeat: repeat-x;
	width: 100%;
}

footer .footer_logo {
	width: 590px;
	padding: 20px 0;
	background: #fff;
	text-align: center;
	border-radius: 0px 0px 10px 10px;
	-webkit-border-radius: 0px 0px 10px 10px;
	-moz-border-radius: 0px 0px 10px 10px;
	margin-bottom: 40px;
}

footer .footer_logo img {
	width: 90%;
	height: auto;
}

footer .footer_left {
	width: 100%;
	color: #fff;
	font-size: 18px;
	line-height: 30px;
	text-align: center;
}


footer .footer_name {
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	padding-top: 0;
	padding-left: 0;
	margin-bottom: 10px;
	background: initial;
	text-align: center;

}

footer a,
footer a:link {
	color: #fff;
}

footer .copy {
	font-size: 12px;
	color: #fff;
	padding: 85px 0 30px 0;
	text-align: center;
}

.footer_btn {
	display: block;
	width: 300px;
	height: 55px;
	margin: 20px auto 0 auto;
	text-align: center;
	text-decoration: none;
	line-height: 55px;
	outline: none;
	background-color: #fff;
	color: #000;
	vertical-align: middle;
	font-size: 20px;
}

.footer_btn img {
	width: 25px;
	height: 25px;
	padding-right: 10px;
	line-height: 55px;
	vertical-align: middle;

}

a.footer_btn,
a:link.footer_btn {
	color: #000;
}

.footer_btn:hover {
	background-color: #fff541;
}

.footer_btn::before,
.footer_btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.footer_btn,
.footer_btn::before,
.footer_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* コンテンツ */
.main_content {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

#main {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 10%;
}

/* カラーバー */

.col_border {
	width: 100%;
	background: url("/img/sdgs/border.png");
	height: 10px;
}

/* トップに戻る */

#page_top {
	position: fixed;
}

#page_top a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ffa800;
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s;
}

#page_top a:hover {
	background: #b77400;
}

#page_top.upmove {
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(150px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#page_top.downmove {
	animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}

	to {
		opacity: 1;
		transform: translateY(150px);
	}
}

@media (min-width: 1000px) {
	#page_top {
		right: 15px;
		bottom: 0;
	}

	#page_top a {
		width: 80px;
		height: 80px;
	}
}

@media (max-width: 999px) {
	#page_top {
		right: 12px;
		bottom: 0;
	}

	#page_top a {
		width: 60px;
		height: 60px;
		font-size: 0.6rem;
	}
}

/* =トップページ
-------------------------------------------------------------- */
/* スライダー部分 */


#top_img {
	width: 100%;
	margin: 0 auto;
}

#top_img ul,
#top_img ul li {
	margin: 0;
	padding: 0;
}

#top_img ul.bxslider img {
	width: 100%;
	height: auto;
}

.bxslider {
	width: 100%;
}

.bxslider p {
	margin: 0;
	padding: 0;
}

.bxslider p img {
	width: 100% !important;
	height: auto !important;
}

/* slickスライダー部分 */

.slider {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.slider .slid img {
	width: 100%;
}

.slick-next {
	right: 20px !important;
}

.slick-prev {
	left: 20px !important;
}

.slick-arrow {
	z-index: 2 !important;
	width: 60px !important;
	height: 60px !important;
}

.slick-arrow:before {
	content: "" !important;
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
}

.slick-next:before {
	background: url("/img/sdgs/controls-next-in.png") !important;
	background-size: contain !important;
}

.slick-prev:before {
	background: url("/img/sdgs/controls-prev-in.png") !important;
	background-size: contain !important;
}

.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 55% !important;
	transform: translatey(-50%) !important;
	width: 5vw !important;
	height: 5vw !important;
	max-width: 64px;
	max-height: 63px;
}

.bx-wrapper .bx-prev {
	background-size: cover !important;
}

.bx-wrapper .bx-next {
	background-size: cover !important;
}


@media all and (max-width:670px) {
	.bx-wrapper .bx-controls-direction a {
		top: 70% !important;
	}
}


/*@media all and (max-width:540px) {
	.bx-controls-auto {
		display:none;
	}

	.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	  	text-align: center!important;
	  	width: 100%!important;
	}
}*/

/* slickスライダー部分end */


.navi {
	width: 95%;
	top: 50%;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	padding: 0;
	z-index: 30;
	position: absolute;
}

.navi ul {
	margin: 0;
	padding: 0;
}

.navi ul:after {
	content: "";
	clear: both;
	display: block;
}

.navi ul li {
	display: block;
	float: left;
	list-style-type: none;
	width: 50%;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

.navi ul li.left {
	text-align: left;

}

.navi ul li.right {
	text-align: right;

}


/* お知らせ */

#news {
	width: 100%;
	max-width: 1200px;
	margin: 100px auto 25px auto;
}

#news ul {
	margin: 0;
	padding: 0;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#news ul:after {
	content: "";
	clear: both;
	display: block;
}

#news ul li {
	display: block;
	float: left;
	list-style-type: none;
	padding: 0;
	margin: 0;
}

#news ul li.text {
	width: 80%;

}

#news ul li.text dl {
	width: 97%;
	border-bottom: 1px solid #6e6e6e;
	margin: 0 0 0 3%;
}

#news ul li.text dt {
	/* text-align: center; */
	font-weight: 400;
	padding: 15px 0px 15px 8px;
	box-sizing: border-box;
	width: 200px;
	border-top: 1px solid #6e6e6e;
	float: left;
}

#news ul li.text dd {
	width: auto;
	margin-left: 20%;
	box-sizing: border-box;
	padding: 15px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	border-top: 1px solid #6e6e6e;


}

#news ul li.titel {
	width: 20%;
	background: #3892d7;
	display: table;
}

#news ul li.titel h2 {
	font-size: 25px;
	font-weight: 700;
	text-align: center;
	margin: 0;
	padding: 0;
	color: #fff;
	display: table-cell;
	vertical-align: middle;
	border-top: initial;
	border-left: initial;
	border-bottom: initial;
	background: initial;
}

.news_all {
	width: 250px;
	margin-right: 0;
	margin-left: auto;
	display: block;
	box-sizing: border-box;

}

.news_btn {
	display: block;
	width: 200px;
	padding: 10px 30px 10px 20px;
	text-align: center;
	color: #000;
	cursor: pointer;
	position: relative;
	text-decoration: none;
}

a.news_btn {
	color: #000;

}

.news_btn::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	width: 40px;
	height: 1px;
	transition: .3s;
	background: #000;
}

.news_btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-left: 1px solid #000;
	border-bottom: 1px solid #000;
	transform: rotate(-135deg);
	transition: .3s;
}

.news_btn:hover::before {
	right: 10px;
	width: 50px;
}

.news_btn:hover::after {
	right: 10px;
}

/* 2つのバナー部分 */

#top_link {
	width: 100%;
	background: #dde6ea;
	padding: 55px 0;
}

#top_link ul {
	margin: 0;
	padding: 0;
}

#top_link ul:after {
	content: "";
	clear: both;
	display: block;
}

#top_link ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	width: 50%;
	box-sizing: border-box;
	padding: 0 20px;
	margin: 0;
	font-size: 18px;
	font-weight: 700;
}

#top_link ul li img.banner {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 15px;
}

#top_link ul li img.circle-chevron {
	width: 20px;
	height: auto;
	padding-left: 15px;
	vertical-align: baseline;
}

#top_link a:hover {
	color: #e42d54;
}

/* 山のイメージ */

.matinami_img {
	width: 100%;
	background: url("/img/sdgs/yama.png");
	background-repeat: repeat-x;
	height: 100px;
}

/* 会員一覧 */

#top_kaiin {
	background: #82dafd;
	width: 100%;
	padding: 60px 0;
}

#top_kaiin h2 {
	font-size: 30px;
	text-align: center;
	font-weight: 700;
	color: #332884;
	padding: 0 0 10px 0;
	border-top: initial;
	border-left: initial;
	border-bottom: initial;
	background: initial;
}

#top_kaiin h2 span {
	padding: 0 10px 5px 10px;
	border-bottom: 5px solid #fff;
}

.kaiin_box {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.kaiin_box ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 75px 0;
	padding: 0;
}

.kaiin_box ul:after {
	content: "";
	clear: both;
	display: block;
}

.kaiin_box ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	width: 46%;
	background: #fff;
	box-sizing: border-box;
	margin: 10px 20px;
}

.kaiin_box ul li :hover {
	background: #fffaa2;
}

.kaiin_box .detail_free ul li a {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #000;
	vertical-align: middle;
	font-size: 22px;
	font-weight: 700;
	padding: 0.8em 2em 0.8em 0.8em;
	box-sizing: border-box;
}

.kaiin_box .detail_free ul li a,
.kaiin_box .detail_free ul li a:link {
	color: #000;
}

.kaiin_box .detail_free ul li a,
.kaiin_box .detail_free ul li a::before,
.kaiin_box .detail_free ul li a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* アイコンのスタイル */


.kaiin_box .detail_free ul li a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 20px;
	height: 20px;
	margin: auto;
	border-radius: 20px;
	background-color: #009cd9;
}

.kaiin_box .detail_free ul li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 27px;
	width: 8px;
	height: 8px;
	border: 0;
	top: 50%;
	margin-top: -4px;
	transform: rotate(45deg);
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	box-sizing: border-box;
}

a.ka_all_btn {
	display: block;
	max-width: 300px;
	line-height: 65px;
	margin: 0 auto;
	padding: 0 3.0rem;
	background: #009cd9;
	box-sizing: border-box;
	text-decoration: none;
	transition: 0.3s;
}

a.ka_all_btn span.bl__text {
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	padding-left: 30px;
	box-sizing: border-box;
}

a.ka_all_btn span.bl__text:before {
	content: '';
	width: 20px;
	height: 20px;
	background: #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

a.ka_all_btn span.bl__text:after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #009cd9;
	border-right: 2px solid #009cd9;
	box-sizing: border-box;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 5px;
	bottom: 0;
	margin: auto;
	transition: 0.3s;
}

a.ka_all_btn:hover {
	background-color: #01b5d0;
}

a.ka_all_btn:hover span.bl__text:after {
	border-top: 2px solid #01b5d0;
	border-right: 2px solid #01b5d0;
}


/* リンク一覧 */

#top_lnk_banner h2 {
	font-size: 30px;
	text-align: center;
	font-weight: 700;
	color: #000;
	padding: 0 0 10px 0;
	border-top: initial;
	border-left: initial;
	border-bottom: initial;
	background: initial;
}

#top_lnk_banner h2 span {
	padding: 0 10px 5px 10px;
	border-bottom: 5px solid #fcb614;
}

#top_lnk_banner {
	width: 100%;
	max-width: 1100px;
	margin: 75px auto;

}

#top_lnk_banner ul {
	display: flex;
	flex-wrap: wrap;
	margin: 80px 0 100px;
	padding: 0;
}

#top_lnk_banner ul:after {
	content: "";
	clear: both;
	display: block;
}

#top_lnk_banner ul li {
	display: block;
	float: left;
	list-style-type: none;
	text-align: center;
	width: 25%;
	min-width: 255px;
	box-sizing: border-box;
	padding: 0 10px;
	margin: 10px 0;
}

#top_lnk_banner ul li.free_box2 p {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
}

#top_lnk_banner ul li img {
	width: 100% !important;
	height: auto !important;
	max-width: 255px;
}


/* 3つの項目部分 */

#top_three {
	width: 100%;
	background: url("/img/sdgs/three_back.gif");
	background-repeat: repeat-x;
	background-position: top center;
}




/* ひろがる */

#hirogaru {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

#hirogaru .hirogaru_left {
	width: 50%;
	max-width: 425px;
	float: left;
}

#hirogaru .image {
	width: 50%;
	max-width: 620px;
	float: right;
}

#hirogaru .image img {
	width: 100%;
	max-width: 620px;
	height: auto;
}

#hirogaru .titel {
	padding-top: 160px;
}

#hirogaru .titel img {
	width: 100%;
	max-width: 425px;
	height: auto;
}

#hirogaru .text {
	width: 500px;
	padding-top: 50px;
	font-size: 20px;
	line-height: 30px;

}

#hirogaru .hirogaru_link_box {
	width: 800px;
	height: 400px;
	margin-right: 0;
	margin-left: auto;
	display: block;
	box-sizing: border-box;

}


/* つながる */

#tunagaru {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

#tunagaru .image {
	width: 50%;
	max-width: 490px;
	text-align: right;
	float: left;
}

#tunagaru .image img {
	width: 100%;
	max-width: 339px;
	height: auto;
}

#tunagaru .tunagaru_right {
	width: 50%;
	max-width: 500px;
	float: right;
}

#tunagaru .titel {
	padding-top: 160px;
}

#tunagaru .titel img {
	width: 100%;
	max-width: 425px;
	height: auto;
}

#tunagaru .text {
	padding-top: 50px;
	font-size: 20px;
	line-height: 30px;
	box-sizing: border-box;


}

#tunagaru .tunagaru_link_box {
	margin-top: 50px;
	width: 650px;
	height: 200px;
}

/* まなぶ */

#manaberu {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

#manaberu .manaberu_left {
	width: 50%;
	max-width: 628px;
	float: left;
}

#manaberu .image {
	width: 50%;
	max-width: 628px;
	float: right;
}

#manaberu .image img {
	width: 100%;
	max-width: 620px;
	height: auto;
}

#manaberu .titel {
	padding-top: 160px;
}

#manaberu .titel img {
	width: 100%;
	max-width: 425px;
	height: auto;
}

#manaberu .text {
	width: 500px;
	padding-top: 50px;
	font-size: 20px;
	line-height: 30px;
}

#manaberu .manaberu_link_box {
	width: 650px;
	height: 200px;
	margin-top: 40px;
	margin-right: 0;
	margin-left: auto;
	display: block;
	box-sizing: border-box;

}

.left_01 {
	width: 44%;
	float: left;
	padding-top: 50px;
	height: 160px;
	box-sizing: border-box;
}

.right_01 {
	width: 56%;
	float: right;
	height: 160px;
}

.left_02 {
	width: 56%;
	float: left;
	text-align: right;
	padding-top: 60px;
	box-sizing: border-box;
}

.right_02 {
	width: 44%;
	float: right;
	text-align: right;
}

.left_02 .three_btn,
.right_02 .three_btn {
	margin-right: 0;
	margin-left: auto;
	display: block;
}

.left_tw_01 {
	width: 52%;
	float: left;
	padding-top: 50px;
	height: 160px;
	box-sizing: border-box;
}

.right_tw_01 {
	width: 48%;
	float: right;
	height: 160px;
}

.left_tw_02 {
	width: 48%;
	float: left;
	text-align: right;
	box-sizing: border-box;
}

.right_tw_02 {
	width: 52%;
	padding-top: 60px;
	float: right;
	text-align: right;
}

.left_tw_02 .three_btn,
.right_tw_02 .three_btn {
	margin-right: 0;
	margin-left: auto;
	display: block;
}

.three_btn {
	display: block;
	position: relative;
	width: 290px;
	height: 110px;
	text-decoration: none;
	outline: none;
	border: 3px solid #3892d7;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: 5px 5px 0 #717171;
	position: relative;
}

.three_btn:hover {
	color: #3366bb;
	box-shadow: none;
	transform: translateY(5px);
}

.three_btn::before,
.three_btn::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.three_btn,
.three_btn::before,
.three_btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}


.three_btn .t_box {
	display: table;
	width: 100%;
	height: 110px;
}

.three_btn .t_box .icon {
	display: table-cell;
	width: 100px;
	vertical-align: middle;
	text-align: center;
}

.three_btn .t_box .icon img {
	width: 80px;
	height: auto;
}

.three_btn .t_box .link {
	display: table-cell;
	width: 140px;
	font-size: 24px;
	font-weight: 700;
	line-height: 25px;
	text-align: left;
	vertical-align: middle;
}

.three_btn .t_box .link span {
	display: block;

}

.three_btn .t_box .circle {
	display: table-cell;
	width: 50px;
	vertical-align: middle;
	text-align: center;
}

.three_btn .t_box .circle img {
	width: 30px;
	height: auto;
}



.three_btn_ti {
	position: relative;
	top: 0;
	display: block;
	width: 425px;

}

.three_btn_ti:hover {
	top: 5px;
	-webkit-transition: all .3s;
	transition: all .3s;
}


/* =ページ
-------------------------------------------------------------- */
/* h1タイトル */

#page_titel {
	background: #3892d7;
	width: 100%;
}

#page_titel .page_back {
	background: url("/img/sdgs/titel_back.png");
	background-repeat: no-repeat;
	background-position: left center;
	width: 100%;
	max-width: 1800px;
	margin: 0 auto;
	height: 200px;
	display: table;
}

#page_titel .page_back h1 {
	display: table-cell;
	vertical-align: middle;
}

/* お問い合わせ */

#contact {
	width: 100%;
	margin: 100px auto;
	max-width: 1100px;
}

#contact .titel {
	background: #009cd9;
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	width: 440px;
	line-height: 45px;
	border-radius: 10px 10px 0px 0px;
	-webkit-border-radius: 10px 10px 0px 0px;
	-moz-border-radius: 10px 10px 0px 0px;
	box-sizing: border-box;

}

#contact .text {
	border-top: 3px solid #009cd9;
	border-bottom: 3px solid #009cd9;
	padding: 40px;
	box-sizing: border-box;
	line-height: 35px;
}

/* 大分類 */

.b_menu ul {
	margin: 0;
	padding: 0;
}

.b_menu ul:after {
	content: "";
	clear: both;
	display: block;
}

.b_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding: 20px;
	margin: 20px 0;
	background-size: auto auto;
	background-color: rgba(176, 231, 252, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, rgba(191, 236, 252, 1) 3px, rgba(191, 236, 252, 1) 5px);
	border-radius: 10px;
}

.b_menu ul li a {
	position: relative;
	display: block;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #000;
	vertical-align: middle;
	font-size: 24px;
	font-weight: 700;
	margin: 0;
	padding: 2px 50px 2px 10px;
	box-sizing: border-box;
	border-left: 8px solid #3892d7;
}

.b_menu ul li a,
.b_menu ul li a:link {
	color: #000;
}

.b_menu ul li a:hover,
.b_menu ul li a:hover {
	border-left: 15px solid #ffb400;
	padding-left: 10px;
}

.b_menu ul li a,
.b_menu ul li a::before,
.b_menu ul li a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/* アイコンのスタイル */

.b_menu ul li a::before {
	content: url(/img/sdgs/icon_sikaku.png);
	position: absolute;
	top: -20px;
	right: 20px;
	bottom: 0;
	width: 25px;
	margin: 0 auto;
	transform: scale(0.25);
}

.b_menu ul li a:hover::before {
	content: url(/img/sdgs/icon_sikaku_h.png);
	position: absolute;
	top: -20px;
	right: 20px;
	bottom: 0;
	width: 25px;
	margin: 0 auto;
	transform: scale(0.25);
}


/* 中分類 */

.t_menu ul {
	margin: 0;
	padding: 0;
}

.t_menu ul:after {
	content: "";
	clear: both;
	display: block;
}

.t_menu ul li {
	display: block;
	list-style-type: none;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;
	margin: 0;
	border-bottom: 1px dashed #000;
}

.t_menu ul li {
	position: relative;
}

/* .t_menu ul li:after {
	content: url(/img/sdgs/maru_yajirusi.png);
	position: absolute;
	top: -20px;
	right: 20px;
	bottom: 0;
	width: 20px;
	margin: 0 auto;
	transform: scale(0.18);
} */

.t_menu ul li a {
	display: block;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	color: #3892d7;
	font-size: 22px;
	font-weight: 700;
	margin: 0;
	box-sizing: border-box;
	position: relative;
	padding: 0px 0px 0px 1.5em;

}

.t_menu ul li a,
.t_menu ul li a:link {
	color: #3892d7;
}

.t_menu ul li a:hover {
	color: #000;
}

.t_menu ul li a,
.t_menu ul li a::before,
.t_menu ul li a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.t_menu ul li a::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 3px;
	width: 23px;
	height: 23px;
	border-radius: 3px;
	background: #959797;
}

.t_menu ul li a:hover::before {
	background: #3892d7;
}

.t_menu ul li a::after {
	content: "";
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 10px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}



@media (max-width: 768px) {

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	/* =Headings
-------------------------------------------------------------- */
	h1 {
		font-size: 23px;
		text-align: left;
		color: #fff;
		width: 100%;
		max-width: 100%;
		list-style: 30px;
		padding: 0 10px;
		box-sizing: border-box;

		margin: 0;
		text-shadow: 2px 2px 0 #3892d7, -2px -2px 0 #3892d7,
			-2px 2px 0 #3892d7, 2px -2px 0 #3892d7,
			0px 2px 0 #3892d7, 0-2px 0 #3892d7,
			-2px 0 0 #3892d7, 2px 0 0 #3892d7;
	}

	h2 {
		font-size: 23px;
		line-height: 30px;
		color: #3892d7;
		border-top: 2px solid #3892d7;
		border-left: 10px solid #3892d7;
		border-bottom: 2px solid #3892d7;
		padding: 10px 0 10px 15px;
		background: url("/img/sdgs/page_titel_back.jpg");
		background-repeat: no-repeat;
		background-position: center right;
		font-weight: 700;
	}

	h3 {
		font-size: 20px;
		line-height: 30px;
		font-weight: 700;
		padding-top: 30px;
		padding-left: 10px;
		background: linear-gradient(transparent 85%, #a5edf1 85%);
	}

	h4 {
		font-size: 18px;
		line-height: 25px;
		font-weight: 700;
		padding-bottom: 10px;
		border-bottom: solid 5px #ececec;
		position: relative;
	}

	h5 {
		font-size: 18px;
		font-weight: 700;
		color: #4f4f4f;
		position: relative;
		padding-left: 1.5em;
	}

	h5::before {
		content: "■";
		color: #a5edf1;
		position: absolute;
		left: 0;
		margin-right: 1.5em;
	}

	/* ヘッダー */
	header {
		width: 80%;
		max-width: auto;
		margin: 0 0 10px 0;
		height: 60px;
	}

	#head_left {
		width: 53%;
		float: left;
		margin-top: 10px;
		height: initial;
		height: 50px;
	}

	#head_right {
		width: 43%;
		float: right;
		background: #3892d7;
		color: #fff;
		text-align: center;
		height: initial;
		font-size: 14px;
		line-height: 40px;
		font-weight: 400;
		display: initial;
		border-radius: 5px;
		margin-top: 15px;
	}

	#head_right .inner {
		display: initial;
	}

	#head_right .inner .kazu {
		font-size: 18px;
		font-weight: 700;
		display: initial;
	}

	.head_top ul li {
		display: block;
		float: none;
		list-style-type: none;
		text-align: left;
		box-sizing: border-box;
		padding: 0;
		margin: 0;
		height: initial;
	}

	.head_top ul li.logo {
		width: 100%;
		display: initial;
		align-items: initial;
		height: 50px;
		padding-top: 0px;
	}

	.head_top ul li.logo img {
		width: 100%;
		max-width: 250px;
		height: auto;
		padding-top: 5px;
		padding-bottom: 5px;

	}

	.head_top ul li.serch,
	.head_top ul li.menu {
		display: none;

	}


	/* メニュー */

	nav {
		display: none;
	}

	.hamburger-menu {
		display: block;

	}

	.menu-btn {
		position: fixed;
		top: 0px;
		right: 0px;
		display: flex;
		height: 50px;
		width: 50px;
		justify-content: center;
		align-items: center;
		z-index: 99999;
		background: #fff;
		border: solid 1px gainsboro;
	}

	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
		content: '';
		display: block;
		height: 3px;
		width: 25px;
		background-color: #000;
		position: absolute;
	}

	.menu-btn span:before {
		bottom: 8px;
	}

	.menu-btn span:after {
		top: 8px;
	}

	#menu-btn-check:checked~.menu-btn span {
		background-color: rgba(255, 255, 255, 0);
	}

	#menu-btn-check:checked~.menu-btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}

	#menu-btn-check:checked~.menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}

	#menu-btn-check {
		display: none;
	}

	#menu-btn-check:checked~.menu-content {
		height: 100vh;
		left: 0;
		overflow-y: scroll;
	}

	.menu-content {
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 9999;
		background-color: #fff;
		transition: all 0.5s;
		overflow-y: scroll;
	}

	.menu-content .menu {
		width: 100%;
		margin: 0 auto;
		padding-top: 30px;
	}

	.menu-content .menu ul {
		margin: 0;
		padding: 0;
	}

	.menu-content .menu ul li {
		list-style: none;

	}

	.menu-content .menu ul li a {
		display: block;
		width: 100%;
		font-size: 16px;
		box-sizing: border-box;
		color: #000;
		text-decoration: none;
		position: relative;
		padding: 10px 20px;
		box-sizing: border-box;
	}

	.menu-content .menu ul li a:hover {
		background: #fff541;
	}

	.menu-content .menu ul li a span.bl__text {
		display: block;
		position: relative;
		color: #000;
		box-sizing: border-box;
		padding-left: 30px;
	}

	.menu-content .menu ul li a span.bl__text:before {
		content: '';
		width: 20px;
		height: 20px;
		background: #009cd9;
		border-radius: 50%;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
	}

	.menu-content .menu ul li a span.bl__text:after {
		content: '';
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		box-sizing: border-box;
		transform: rotate(45deg);
		position: absolute;
		top: 0;
		left: 5px;
		bottom: 0;
		margin: auto;
		transition: 0.3s;
	}

	/* 検索 */
	.menu-content .serch {
		padding: 80px 0 15px 15px;
	}

	.search-form {
		border: 1px solid #555;
		border-radius: 3px;
		padding: 5px 3px;
		width: 60%;
	}

	.search-form table {
		width: 100%;

	}

	.search-form table,
	.search-form td {
		margin: 0;
		padding: 0;
		border: 0px;
	}

	.search-form td.se {
		width: 30px;
		text-align: center;
	}

	.search-input {
		background: #fff;
		border: none;
		border-radius: 3px;
		width: 100%;
		height: 40px;
		color: #aaa;
		padding: 0 10px 0 10px;
		box-sizing: border-box;

		&::placeholder {
			font: {
				size: 16px;
				weight: 500;
			}

			line-height: 1.85;
			letter-spacing: .05em;
			color: #000;
		}
	}



	.sp_head_top {
		width: 100%;
	}

	.sp_head_top ul {
		margin: 0;
		padding: 0;
		display: -webkit-box;
		display: -moz-box;
		display: -ms-box;
		display: -webkit-flexbox;
		display: -moz-flexbox;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: flex;
		-webkit-box-lines: multiple;
		-moz-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.sp_head_top ul:after {
		content: "";
		clear: both;
		display: block;
	}

	.sp_head_top ul li {
		display: block;
		float: left;
		list-style-type: none;
		text-align: left;
		box-sizing: border-box;
		padding: 0;
		margin: 0;
	}

	.sp_head_top ul li.menu {
		width: 33%;
		text-align: center;
	}

	.sp_head_top ul li.menu_btn {
		display: block;
		width: 100%;
		height: 70px;
		text-align: center;
		text-decoration: none;
		outline: none;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
	}

	a.menu_btn,
	a:link.menu_btn {
		color: #fff;

	}

	.menu_btn img {
		/* width: auto;
		height: 32px;
		padding: 10px 0; */
	}

	.menu_btn::before,
	.menu_btn::after {
		/* position: absolute;
		z-index: -1;
		display: block;
		content: ''; */
	}

	.menu_btn,
	.menu_btn::before,
	.menu_btn::after {
		/* -webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s; */
	}

	.c_01 {
		background: #eb7003;
	}

	.c_02 {
		background: #0a8a1d;
	}

	.c_03 {
		background: #e42d54;
	}

	.c_01:hover {
		background: #b75600;
	}

	.c_02:hover {
		background: #007811;
	}

	.c_03:hover {
		background: #ad0025;
	}

	.head_bottom {
		width: 100%;
		height: 55px;
	}

	/* フッター */
	#footer_box {
		background: url("/img/sdgs/border.png");
		background-repeat: repeat-x;
		width: 100%;
		background-size: 100%;
	}

	footer .footer_logo {
		width: 90%;
		margin: 0 auto;
		padding: 20px 0;
		background: #fff;
		text-align: center;
		border-radius: 0px 0px 10px 10px;
		-webkit-border-radius: 0px 0px 10px 10px;
		-moz-border-radius: 0px 0px 10px 10px;
		margin-bottom: 20px;
	}

	footer .footer_left {
		width: 90%;
		color: #fff;
		font-size: 14px;
		line-height: 25px;
		margin: 0 auto;
	}

	footer .footer_name {
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		padding-top: 0;
		padding-left: 0;
		background: initial;
		width: 90%;
		margin: 0 auto 0px auto;
	}

	footer .footer_name span {
		display: block;
	}

	footer .footer_left span {
		display: block;
	}

	footer a,
	footer a:link {
		color: #fff;
	}

	footer .copy {
		font-size: 12px;
		line-height: 15px;
		color: #fff;
		text-align: center;
		padding: 50px 0 15px 0;
	}

	.footer_btn {
		display: block;
		width: 250px;
		height: 50px;
		text-align: center;
		text-decoration: none;
		line-height: 50px;
		outline: none;
		background-color: #fff;
		color: #000;
		vertical-align: middle;
		font-size: 16px;
		margin: 20px auto;
	}

	.footer_btn img {
		width: 20px;
		height: 20px;
		padding-right: 10px;
		line-height: 50px;
		vertical-align: middle;
	}

	/* コンテンツ */
	.main_content {
		width: 90%;
		max-width: initial;
		margin: 0 auto;
	}

	#main {
		width: 90%;
		max-width: initial;
		margin: 0 auto 10%;
	}

	/* ぱんくず */
	#pan {
		width: 90%;
		max-width: auto;
		margin: 0 auto;
		font-size: 14px;
		padding: 10px 0;

	}

	/* カラーバー */

	.col_border {
		width: 100%;
		background: url("/img/sdgs/border.png");
		height: 5px;
		background-size: 100%;
	}


	/* =ページ
-------------------------------------------------------------- */
	/* h1タイトル */

	#page_titel {
		background: #3892d7;
		width: 100%;
		height: 100px;
		margin: 0;
		padding: 0;
	}

	#page_titel .page_back {
		background: url("/img/sdgs/titel_back.png");
		background-repeat: no-repeat;
		background-position: left center;
		background-size: auto 100%;
		width: 100%;
		max-width: 100%;
		margin: 0;
		height: 100px;
		display: table;
	}

	#page_titel .page_back h1 {
		display: table-cell;
		vertical-align: middle;
	}

	#page_titel {
		background: #3892d7;
		width: 100%;
	}



	/* 大分類 */
	.b_menu_btn {
		font-size: 18px;
	}

	/* 中分類 */
	.t_menu_txt {
		position: relative;
	}

	.t_menu_txt:after {
		content: url("/img/sdgs/maru_yajirusi.png");
		position: absolute;
		top: -20px;
		right: 20px;
		bottom: 0;
		width: 18px;
		margin: 0 auto;
		transform: scale(0.16);
	}

	.t_menu ul li span {
		font-size: 14px;

	}

	.t_menu_btn {
		font-size: 18px;
		padding-left: 1.8em;

	}

	.t_menu_btn::before {
		content: "";
		position: absolute;
		margin: auto;
		top: 0;
		bottom: 0;
		left: 3px;
		width: 20px;
		height: 20px;
		border-radius: 3px;
		background: #959797;
	}

	/* お問い合わせ */

	#contact {
		width: 90%;
		margin: 50px auto;
		max-width: initial;
	}

	#contact .titel {
		background: #009cd9;
		color: #fff;
		text-align: center;
		font-size: 17px;
		font-weight: 700;
		width: 320px;
		line-height: 35px;
		border-radius: 10px 10px 0px 0px;
		-webkit-border-radius: 10px 10px 0px 0px;
		-moz-border-radius: 10px 10px 0px 0px;
		box-sizing: border-box;

	}

	#contact .text {
		border-top: 3px solid #009cd9;
		border-bottom: 3px solid #009cd9;
		padding: 15px;
		box-sizing: border-box;
		line-height: 30px;
		font-size: 14px;
	}

	#contact .text span {
		display: block;
	}

	/* =トップページ
-------------------------------------------------------------- */
	/* スライダー部分 */

	/* お知らせ */

	#news {
		width: 90%;
		max-width: 1200px;
		margin: 50px auto 25px auto;
	}

	#news ul li {
		display: block;
		float: none;
		list-style-type: none;
		padding: 0;
		margin: 0;
	}

	#news ul li.titel {
		width: 200px;
		background: #3892d7;
		display: table;
	}

	#news ul li.titel h2 {
		font-size: 22px;
		font-weight: 700;
		text-align: center;
		margin: 0;
		padding: 5px 0;
		color: #fff;
		display: table-cell;
		vertical-align: middle;
		border-top: initial;
		border-left: initial;
		border-bottom: initial;
		background: initial;
	}

	#news ul li.text {
		width: 100%;
		padding: 10px 0;

	}

	#news ul li.text dl {
		width: 100%;
		margin: 0;
	}

	#news ul li.text dt {
		text-align: left;
		font-weight: 400;
		font-size: 13px;
		padding: 10px 10px 0 10px;
		box-sizing: border-box;
		width: 100%;
		border-top: 1px solid #6e6e6e;
		float: none;
	}

	#news ul li.text dd {
		width: 100%;
		margin-left: 0%;
		box-sizing: border-box;
		padding: 0 10px 10px 10px;
		white-space: initial;
		overflow: initial;
		text-overflow: initial;
		border-top: 0px solid #6e6e6e;
		font-size: 14px;
		line-height: 25px;

	}




	/* 2つのバナー部分 */

	#top_link {
		width: 100%;
		background: #dde6ea;
		padding: 45px 0;
	}

	#top_link ul {
		margin: 0 auto;
		padding: 0;
		width: 90%;
	}

	#top_link ul:after {
		content: "";
		clear: both;
		display: block;
	}

	#top_link ul li {
		display: block;
		float: none;
		list-style-type: none;
		text-align: center;
		width: 100%;
		box-sizing: border-box;
		padding: 20px 0;
		margin: 0;
		font-size: 14px;
		font-weight: 700;
	}

	#top_link ul li img.banner {
		width: 100%;
		height: auto;
		display: block;
		margin-bottom: 10px;
	}

	#top_link ul li img.circle-chevron {
		width: 16px;
		height: auto;
		padding-left: 5px;
	}

	/* 山のイメージ */

	.matinami_img {
		width: 100%;
		background: url("/img/sdgs/yama.png");
		background-repeat: repeat-x;
		height: 100px;
	}

	/* 会員一覧 */

	#top_kaiin {
		background: #82dafd;
		width: 100%;
		padding: 50px 0;
	}

	#top_kaiin h2 {
		font-size: 22px;
		text-align: center;
		font-weight: 700;
		color: #332884;
		padding: 0 0 10px 0;
		border-top: initial;
		border-left: initial;
		border-bottom: initial;
		background: initial;
	}

	.kaiin_box {
		width: 90%;
		max-width: 1200px;
		margin: 0 auto;
	}

	.kaiin_box ul {
		margin: 30px 0;
		padding: 0;
	}

	.kaiin_box ul li {
		display: block;
		float: left;
		list-style-type: none;
		text-align: center;
		width: 100%;
		box-sizing: border-box;
		padding: 0;
	}

	.ka_btn {
		height: auto;
		line-height: 25px;
		font-size: 18px;
		font-weight: 700;
		padding: 1em 2em 1em 0.8em;
		box-sizing: border-box;
	}

	a.ka_all_btn {
		max-width: 250px;
		line-height: 55px;
	}

	a.ka_all_btn span.bl__text {
		font-size: 18px;
	}

	/* リンク一覧 */
	#top_lnk_banner {
		width: 100%;
		max-width: 1100px;
		margin: 40px auto;

	}

	#top_lnk_banner h2 {
		font-size: 22px;
		text-align: center;
		font-weight: 700;
		color: #000;
		padding: 0 0 10px 0;
		border-top: initial;
		border-left: initial;
		border-bottom: initial;
		background: initial;
		margin: 0;
	}

	#top_lnk_banner ul {
		margin: 30px 0;
		padding: 0;
	}

	#top_lnk_banner ul li {
		display: block;
		float: none;
		list-style-type: none;
		text-align: center;
		width: 100%;
		box-sizing: border-box;
		padding: 10px 0;
		margin: 0;
	}

	/* 3つの項目部分 */
	#top_three {
		width: 100%;
		background: url("/img/sdgs/sp_th_back.jpg");
		background-repeat: repeat-x;
		background-position: top center;
		background-size: cover;
	}

	/* ひろがる */
	#hirogaru {
		width: 90%;
		max-width: initial;
		margin: 0 auto;
		padding-top: 30px;
	}

	#hirogaru .hirogaru_left {
		width: 50%;
		max-width: initial;
		float: left;
	}

	#hirogaru .image {
		width: 50%;
		max-width: initial;
		float: right;
	}

	#hirogaru .image img {
		width: 100%;
		max-width: initial;
		height: auto;
	}

	#hirogaru .titel {
		width: 100%;
		padding-top: 20px;
	}

	#hirogaru .titel img {
		width: 100%;
		height: auto;
	}

	#hirogaru .text {
		width: 100%;
		padding-top: 30px;
		font-size: 16px;
		line-height: 25px;

	}

	#hirogaru .hirogaru_link_box {
		width: 100%;
		height: auto;
		margin-right: 0;
		margin-left: 0;
		display: initial;
		box-sizing: border-box;

	}


	/* つながる */

	#tunagaru {
		width: 90%;
		max-width: initial;
		margin: 0 auto;
		padding-top: 100px;
	}

	#tunagaru .image {
		width: 40%;
		max-width: initial;
		float: left;
		text-align: center;
	}

	#tunagaru .image img {
		width: 70%;
		max-width: initial;
		height: auto;
	}

	#tunagaru .tunagaru_right {
		width: 50%;
		float: right;
	}

	#tunagaru .titel {
		padding-top: 0px;
	}

	#tunagaru .titel img {
		width: 100%;
		height: auto;
	}

	#tunagaru .text {
		width: 100%;
		padding-top: 30px;
		font-size: 16px;
		line-height: 25px;


	}

	#tunagaru .tunagaru_link_box {
		margin-top: 0px;
		width: 100%;
		height: auto;
	}

	/* まなぶ */

	#manaberu {
		width: 90%;
		max-width: initial;
		margin: 0 auto;
		padding-top: 100px;
		padding-bottom: 50px;
	}

	#manaberu .manaberu_left {
		width: 50%;
		max-width: initial;
		float: left;
	}

	#manaberu .image {
		width: 50%;
		max-width: 100%;
		float: right;
		text-align: right;
	}

	#manaberu .image img {
		width: 90%;
		max-width: initial;
		height: auto;
	}

	#manaberu .titel {
		padding-top: 0;
	}

	#manaberu .titel img {
		width: 100%;
		height: auto;
	}

	#manaberu .text {
		width: 100%;
		padding-top: 30px;
		font-size: 16px;
		line-height: 25px;
	}

	#manaberu .manaberu_link_box {
		width: 100%;
		height: auto;
		margin-top: 30px;
		margin-right: 0;
		margin-left: 0;
		display: initial;
		box-sizing: border-box;

	}

	.left_01 {
		width: 100%;
		float: none;
		padding: 30px 0;
		height: auto;
		box-sizing: border-box;
	}

	.right_01 {
		width: 100%;
		float: none;
		padding: 0 0 30px 0;
		height: auto;
	}

	.left_02 {
		width: 100%;
		float: none;
		text-align: left;
		padding: 0 0 30px 0;
		box-sizing: border-box;
	}

	.right_02 {
		width: 100%;
		float: none;
		padding: 0 0 30px 0;
	}

	.left_02 .three_btn {
		margin-right: 0;
		margin-left: 0;
		display: block;
	}

	.right_01 .three_btn,
	.right_02 .three_btn {
		margin-right: 0;
		margin-left: auto;
		display: block;
	}

	.left_tw_01 {
		width: 100%;
		float: none;
		padding: 30px 0;
		height: auto;
		box-sizing: border-box;
	}

	.right_tw_01 {
		width: 100%;
		float: none;
		height: auto;
		padding: 0 0 30px 0;
	}

	.left_tw_02 {
		width: 100%;
		float: none;
		padding: 30px 0;
		height: auto;
		box-sizing: border-box;
	}

	.right_tw_02 {
		width: 100%;
		float: none;
		padding: 0 0 30px 0;
	}

	.left_tw_01 .three_btn,
	.left_tw_02 .three_btn {
		margin-right: 0;
		margin-left: 0;
		display: block;
	}

	.right_tw_01 .three_btn,
	.right_tw_02 .three_btn {
		margin-right: 0;
		margin-left: auto;
		display: block;
	}

	.three_btn {
		display: block;
		position: relative;
		width: 300px;
		height: 80px;
		text-decoration: none;
		outline: none;
		border: 3px solid #3892d7;
		background: #fff;
		border-radius: 10px;
		box-sizing: border-box;
		box-shadow: 5px 5px 0 #717171;
		position: relative;

	}

	.three_btn:hover {
		box-shadow: none;
		transform: translateY(5px);
	}

	.three_btn::before,
	.three_btn::after {
		position: absolute;
		z-index: -1;
		display: block;
		content: '';
	}

	.three_btn,
	.three_btn::before,
	.three_btn::after {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all .3s;
		transition: all .3s;
	}


	.three_btn .t_box {
		display: table;
		width: 300px;
		height: 80px;
	}

	.three_btn .t_box .icon {
		display: table-cell;
		width: 30%;
		vertical-align: middle;
		text-align: center;
		padding: 0 10px;
		box-sizing: border-box;
	}

	.three_btn .t_box .icon img {
		width: 90%;
		height: auto;
	}

	.three_btn .t_box .link {
		display: table-cell;
		width: 48%;
		font-size: 16px;
		font-weight: 700;
		line-height: 22px;
		text-align: left;
		vertical-align: middle;
	}

	.three_btn .t_box .link span {
		display: inline-block;
	}

	.three_btn .t_box .circle {
		display: table-cell;
		width: 23%;
		vertical-align: middle;
		text-align: center;
	}

	.three_btn .t_box .circle img {
		width: 20px;
		height: auto;
	}



	.three_btn_ti {
		position: relative;
		top: 0;
		display: block;
		width: 100%;

	}

	.three_btn_ti:hover {
		top: 5px;
		-webkit-transition: all .3s;
		transition: all .3s;
	}
}

@media (max-width: 1020px) and (min-width: 769px) {
	nav ul li {

		font-size: 14px;

	}

	/* ぱんくず */
	#pan {
		width: 90%;
		max-width: 1100px;
		margin: 0 auto;
		font-size: 14px;
		padding: 20px 0;

	}

	footer .footer_left {
		width: 90%;
		margin: 0 auto;
		color: #fff;
		font-size: 18px;
		line-height: 30px;
	}


	.footer_btn {
		width: 250px;
		height: 50px;

	}

	/* コンテンツ */
	.main_content {
		width: 95%;
		max-width: 1200px;
		margin: 0 auto;
	}

	#main {
		width: 90%;
		max-width: 1100px;
		margin: 0 auto 10%;
	}

	#news {
		width: 95%;
	}

	#news ul li.titel h2 {
		font-size: 20px;
	}

	#top_lnk_banner {
		width: 95%;
		max-width: 1100px;
		margin: 75px auto;

	}

	#top_link ul li {
		font-size: 16px;
	}

	.kaiin_box ul li {
		width: 44%;
	}

	/* ひろがる */

	#hirogaru {
		width: 95%;
		margin: 0 auto;
	}

	#hirogaru .hirogaru_link_box {
		max-width: 100%;
		margin-top: 20px;


	}

	/* つながる */

	#tunagaru {
		width: 95%;
		margin: 0 auto;
	}

	/* まなぶ */

	#manaberu {
		width: 95%;
		margin: 0 auto;
	}
}

@media (max-width: 768px) {
	#head_right .inner {
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}

	#head_right .inner span {
		margin: 0.1em;
	}
}

#printpage {
	margin: 1em;
	text-align: end;
}

#printpage a {
	text-decoration: underline;
}

@media all and (max-width:540px) {
	#print_mode_link {
		display: none;
	}

	#printpage span {
		font-size: 0.875rem;
	}
}

/*カスタムボタン【.custom-btn】のクラスがついたボタン*/
.custom-btn {
	text-align: center;
}

.custom-btn a {
	display: inline-block;
	color: #000;
	font-weight: bold;
	background-color: #c5e3fc;
	padding: 0.5em 2.5em;
	border-radius: 2em;
	border: solid 2px #009cd9;
	font-size: 1.2rem;
	transition: all .3s;
}

.custom-btn a:hover {
	background: #87c9ff;
}

/*カスタムボタン【.custom-btn2】のクラスがついたボタン*/
.custom-btn2 {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	padding: 0 !important;
	margin: 2em 0 3em !important;
}

.custom-btn2 li {
	position: relative;
	width: 46%;
	list-style-type: none;
	background: #F8F8F8;
	border: solid 1px #000;
	transition: all .3s;
}

.custom-btn2 li:hover {
	background: #fffaa2;
}

.custom-btn2 li a {
	display: block;
	padding: 1em 2.5em 1em 1.5em;
	color: #000;
	font-weight: bold;
	font-size: 1.15rem;
}

.custom-btn2 li a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 20px;
	height: 20px;
	margin: auto;
	border-radius: 20px;
	background-color: #009cd9;
}

.custom-btn2 li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 27px;
	width: 8px;
	height: 8px;
	border: 0;
	top: 50%;
	margin-top: -4px;
	transform: rotate(45deg);
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	box-sizing: border-box;
}

@media all and (max-width:768px) {
	.custom-btn2 {
		flex-flow: column;
	}

	.custom-btn2 li {
		width: 100%;
	}
}


@media all and (max-width:340px) {
	#head_right .inner .kazu {
		font-size: 12px;
	}
}


/*記事ページの画像スタイル*/
.detail_free img {
	max-width: 100% !important;
	height: auto !important;
}

/* ----20240104追加---- */

/* TOP修正 */

#manaberu .manaberu_link_box {
	width: 975px;
	display: flex;
	column-gap: 45px;
}

.center_tw_02 {
	margin-top: 30px;
}


@media all and (max-width:1020px) {

	#manaberu .manaberu_link_box {
		width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
	}

	.center_tw_02 {
		width: 50%;
		padding-top: 30px;
	}

	.center_tw_02 .three_btn {
		margin-left: auto;
	}

	.right_tw_02 {
		padding-top: 0;
	}

}

@media all and (max-width:768px) {

	#manaberu .manaberu_link_box {
		width: 100%;
		display: initial;
	}

	.center_tw_02 {
		margin-top: 0px;
		padding: 0 0 30px 0;
		width: 100%;
	}

	.right_tw_02 .three_btn {
		margin-left: 0;
	}
}


/* ページ内目次 */

#sp_page_index_link_wrap {
	display: block;
	width: auto;
	margin: 10px 0px 20px;
}

#sp_page_index_link_toggle {
	width: 100%;
	height: auto;
	margin: 0px;
	padding: 10px;
	border: 1px solid #333;
	background: url(/img/sp/acc_open.png) no-repeat right 10px top 50% #eeeeee;
	background-size: 15px 15px;
	border-radius: 5px;
	text-align: center;
	font-weight: bold;
	font-size: 1.5rem;
}

#sp_page_index_link_toggle.open {
	background-image: url(/img/sp/acc_close.png);
}

#sp_page_index_link_toggle:focus {
	outline: none;
}

ul#sp_page_index_link {
	padding: 0px;
	list-style: none;
	background-color: #FFF;
	border-radius: 8px;
	margin: 0;
}

ul#sp_page_index_link li {
	border-bottom: 1px solid #ccc;
}

ul#sp_page_index_link li:last-child {
	border: none;
}

ul#sp_page_index_link li a {
	display: block;
	background: url(/img/sp/arrow_r.png) no-repeat right 5px center;
	background-size: 8px auto;
	padding: 10px 10px 10px 3px;
	text-decoration: none;
}

ul#sp_page_index_link li a.sp_headtype_h2 {
	padding-left: 10px;
	line-height: 1.2;
	font-weight: bold;
}

ul#sp_page_index_link li a.sp_headtype_h3 {
	padding-left: 20px;
	line-height: 1.2;
	background-color: ghostwhite;
}

ul#sp_page_index_link li a.sp_headtype_h4 {
	padding-left: 30px;
	line-height: 1.2;
}

ul#sp_page_index_link li a.sp_headtype_h5 {
	padding-left: 40px;
	line-height: 1.2;
	background-color: ghostwhite;
}

ul#sp_page_index_link li a.sp_headtype_h6 {
	padding-left: 50px;
	line-height: 1.2;
}


/* 会員情報ページ */

.custom-btn a {
	display: block;
	font-size: 2rem;
	margin-bottom: 30px;
}

.custom-btn2 {
	justify-content: space-between;
}

.custom-btn2 li {
	display: flex;
	align-items: center;
	width: 48%;
}

.custom-btn2 li a {
	width: 100%;
}

@media all and (max-width:768px) {
	.f_map {
		width: 100%;
		height: auto;
	}

	.custom-btn2 li {
		width: 100%;
	}
}


/* 追記2025年3月10日 */
header .logoImg {
	position: absolute;
	/* width: 380px; */
}

/* 画像の親要素のスタイル */
.logoBox {
	cursor: pointer;
	height: 74px;
	margin-inline: auto;
	margin-top: 14px;
	position: relative;
	transform-style: preserve-3d;
	transition: transform .7s;
	width: 380px;
}

/* 画像のスタイル */
.logoBox img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	height: auto;
	left: 0;
	position: absolute;
	width: 100%;
}

/* 2枚目の画像は最初裏返し */
.logoBox img:last-of-type {
	transform: rotateX(180deg);
}

/* hoverすると2枚とも回転 */
.logoBox:hover {
	transform: rotateX(180deg);
}

.logoBox:hover img {
	opacity: 1 !important;
}


.head001 {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-bottom: 7px;
}

.head001 .kaiin {
	display: flex;
	justify-content: center;
	align-items: baseline;
	padding: 10px 20px;
	line-height: 1;
	font-weight: bold;
	column-gap: 0.5em;
	background-color: #3892d7;
	color: #FFF;
}

.head001 .kaiin span {
	font-size: 1.5em;
}

.head001 .kaiin span.kazu {
	font-size: 3rem;
}


.head002 {
	width: 100%;
	max-width: 1200px;
}

.head002 nav {
	display: flex;
	flex-wrap: wrap;
}

.head002 nav .nWrap {
	display: flex;
	flex-direction: column;
	flex: 1 0 auto;
	justify-content: flex-end;
}

.head002 nav .nWrap .catLink a {
	display: flex;
	justify-content: center;
	align-items: center;
}

.head002 nav .nWrap .catLink a::before {
	content: "";
	display: block;
	width: 26px;
	height: 20px;
	background-image: url(/img/sdgs/top_icon_01.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.head002 nav .nWrap.n003 .catLink a::before {
	background-image: url(/img/sdgs/top_icon_02.png);
}

.head002 nav .nWrap.n004 .catLink a::before {
	background-image: url(/img/sdgs/top_icon_03.png);
}


.head002 nav .nWrap ul {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	height: 60px;
}

.head002 nav .nWrap ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	line-height: 1;
	row-gap: 0.5em;
	flex-direction: column;
	padding: 0 15px;
	word-break: break-all;
	box-sizing: border-box;
}

.nWrap.n002 ul li a,
.nWrap.n003 ul li a,
.nWrap.n004 ul li a {
	background-image: url(/img/sdgs/t-orenge.png);
	background-repeat: no-repeat;
	background-size: 9px;
	background-position: center top;
}

.nWrap.n003 ul li a {
	background-image: url(/img/sdgs/t-green.png);
}

.nWrap.n004 ul li a {
	background-image: url(/img/sdgs/t-red.png);
}


.nWrap.n002 ul li a.n_btn::after {
	background: #eb7003;
}

.nWrap.n003 ul li a.n_btn::after {
	background: #0a8a1d;
}

.nWrap.n004 ul li a.n_btn::after {
	background: #e42d54;
}

.nWrap.n004 ul {
	border-right: 1px solid #ddd;
}


.newsLink {
	width: 100%;
	max-width: 1160px;
	margin: 0 auto 40px;
	display: flex;
	justify-content: space-between;
}

.newsLink>div {
	width: 560px;
}

.newsLink>div a {
	display: flex;
	justify-content: center;
	font-size: 2.625em;
	line-height: 1;
	letter-spacing: 2px;
	font-weight: bold;
	padding: 0.4em;
	background-color: #5fb947;
	color: #FFF;
}

.newsLink>div.ao a {
	background-color: #00548a;
}


@media (max-width: 768px) {

	.head001 .serch,
	.head002 {
		display: none;
	}

	header {
		width: calc(100% - 52px);
		display: flex;
		align-items: center;
		margin: 0;
		column-gap: 10px;
	}

	header .logoImg {
		/* width: 160px; */
		position: relative;
	}

	.logoBox {
		height: 37px;
		width: 160px;
		margin-top: 0;
	}

	.head001 .kaiin span {
		font-size: 0.875em;
	}

	.head001 .kaiin span.kazu {
		font-size: 1.125em;
	}

	.head001 .kaiin {
		padding: 7px 10px;
		column-gap: 2px;
		border-radius: 4px;
		font-weight: normal;
		word-break: keep-all;
	}

	.menu-content .serch {
		padding: 18px 0 15px 15px;
	}

	.gsc-search-box table {
		width: calc(100% - 42px) !important;
	}

	form.gsc-search-box td.gsc-search-button {
		right: 55px !important;
	}


	.spbtnWrap {
		display: flex;
		flex-direction: column;
		width: calc(100% - 40px);
		margin: 0 auto 20px;
		row-gap: 20px;
	}

	/*----- 三角の矢印 */
	.arrow {
		width: 20px;
		height: 20px;
		border-radius: 50%;
		background: #000;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/*----- くの字の矢印 */
	.arrow::before {
		content: "";
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #FFF;
		border-right: 2px solid #FFF;
	}

	/* 右向き */
	.arrow.-right::before {
		transform: rotate(45deg);
	}

	.spBtn>a {
		border-radius: 100px;
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 5px;
	}

	.spBtn.m004>a::before,
	.spBtn.m003>a::before,
	.spBtn.m002>a::before {
		content: "";
		display: block;
		width: 26px;
		height: 20px;
		background-image: url(/img/sdgs/top_icon_01.png);
		background-repeat: no-repeat;
		background-size: contain;
	}

	.spBtn.m003>a::before {
		background-image: url(/img/sdgs/top_icon_02.png);
	}

	.spBtn.m004>a::before {
		background-image: url(/img/sdgs/top_icon_03.png);
	}


	.spBtn ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		flex-direction: column;
		row-gap: 10px;
	}

	.spBtn.m002 ul,
	.spBtn.m003 ul,
	.spBtn.m004 ul {
		width: calc(100% - 50px);
		margin: 10px auto 0;
	}

	.spBtn ul li {
		display: flex;
		align-items: center;
		column-gap: 5px;
	}

	.spBtn ul li a {
		color: #333;
	}

	.spBtn.m002 ul li .arrow {
		background-color: #eb7003;
	}

	.spBtn.m003 ul li .arrow {
		background-color: #0a8a1d;
	}

	.spBtn.m004 ul li .arrow {
		background-color: #e42d54;
	}

	.newsLink {
		width: calc(100% - 40px);
		flex-direction: column;
		row-gap: 20px;
	}

	.newsLink>div {
		width: 100%;
	}

	.newsLink>div a {
		font-size: 2em;
	}
}


@media (max-width: 320px) {
	.logoBox {
		width: 130px;
	}
}


.torikumiWrap {
	width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 23px;
}

.torikumiWrap::after {
	content: "";
	width: 32%;
	display: block;
}

.shokai {
	border: solid 3px #3892d7;
	border-radius: 10px;
	box-sizing: border-box;
	background-image: url(/img/sdgs/torikumi/bg-txt.png);
	background-size: 70px auto;
	background-repeat: no-repeat;
	background-position: bottom -4px right -5px;
	width: 32%;
	position: relative;
	padding: 20px;
}

.shokai {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}

.shokai:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
	-webkit-transition: all 0.4s;
	transition: all 0.4s;
}

.shokai h2 {
	display: flex;
	justify-content: center;
	padding: 10px 0px;
	background-image: url(/img/sdgs/torikumi/line0001.png);
	background-size: auto 4px;
	background-repeat: repeat-x;
	background-position: bottom;
	border: none;
	font-size: 1.125em;
	color: #333;
	line-height: 1.5;
}

.shokai img {
	width: 100%;
	border-radius: 10px;
}

.shokai .honbun {
	padding: 0px 50px 0px 0px;
	margin: 18px 0px 0px;
	line-height: 1.5;
}

.shokai a {
	display: block;
}

.shokai a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	pointer-events: auto;
	content: "";
	background-color: transparent;
}


@media (max-width: 768px) {

	.torikumiWrap,
	.shokai {
		width: 100%;
	}
}


div#main_body div.detail_free h2 a {
	display: block;
	width: 100%;
	position: relative;
	text-decoration: underline;
}

div#main_body div.detail_free h2 a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 20px;
	height: 20px;
	margin: auto;
	border-radius: 20px;
	background-color: #009cd9;
}

div#main_body div.detail_free h2 a::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 27px;
	width: 8px;
	height: 8px;
	border: 0;
	top: 50%;
	margin-top: -4px;
	transform: rotate(45deg);
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	box-sizing: border-box;
}