@charset "utf-8";
/* CSS Document */

.visible_sp {
	display: none;
}


#contents_wrapper h3 {
	font-size: 20px;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #fff;
	background-color: #0098d8;
	border-radius: 10px;
	width: 100%;
	display: block;
	text-align: center;
	padding: 10px 0;
}


#header_img {
	width: 100%;
	background-image: url("../images/mainimage_bg_pc.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	height: 411px;
	padding-top: 60px;
}

#header_img h2 {
	width: 943px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 1200px) {
	#header_img {
		width: 100%;
		height: 34.25vw;
		padding-top: 5vw;
	}

	#header_img h2 {
		width: 78.6vw;
	}
}


#contents_wrapper #theme {
	padding-top: 70px;
	padding-bottom: 85px;
}

#contents_wrapper #theme .youtube_box {
	max-width: 600px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#contents_wrapper #theme .youtube_box .caption {
	margin-top: 0.5em;
	font-size: 14px;
	text-align: center;
}

#contents_wrapper #theme .logo {
	max-width: 854px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
}

#contents_wrapper #theme .txt01 {
	line-height: 2em;
	text-align: center;
	margin-top: 50px;
}

#contents_wrapper #theme h3 {
	margin-top: 90px;
}

#contents_wrapper #theme .theme_list {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#contents_wrapper #theme .theme_list li {
	width: 17.9%;
	height: 172px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	transition-property: transform;
	transition-duration: 0.5s;
	transition-timing-function: ease-in-out;
}

@media screen and (max-width: 1076px) {
	#contents_wrapper #theme .theme_list li {
		height: 16vw;
		font-size: 1.5vw;
	}
}

#contents_wrapper #theme .theme_list li.theme01 {
	background-color: #eb6ea5;
}

#contents_wrapper #theme .theme_list li.theme02 {
	background-color: #f18900;
}

#contents_wrapper #theme .theme_list li.theme03 {
	background-color: #e94738;
}

#contents_wrapper #theme .theme_list li.theme04 {
	background-color: #c13759;
}

#contents_wrapper #theme .theme_list li.theme05 {
	background-color: #5bb647;
}

#contents_wrapper #theme .theme_list li:hover {
	transform: scale(1.2)
}


#contents_wrapper #forte {
	background-color: #0098d8;
	padding-top: 60px;
	padding-bottom: 65px;
}

#contents_wrapper #forte h3 {
	background-color: #fff;
	color: #0098d8;
}

#contents_wrapper #forte .forte_box {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#contents_wrapper #forte .forte_box .forte_block {
	width: 30%;
}

#contents_wrapper #forte .forte_box .forte_block .txt01 {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	text-align: center;
	height: 8.6em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}


#message {
	margin-top: 112px;
}

#message .txt_box_01 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 32px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#message .txt_box_01 .txt01 {
	width: 65.5%;
	font-size: 16px;
	line-height: 2em;
	padding-top: 0.5em;
}

#message .txt_box_01 .pho_box {
	width: 31.6%;
}

#message .txt_box_01 .pho_box .name01 {
	text-align: center;
	font-size: 16px;
	margin-top: 0.5em;
}

#message .txt_box_01 .pho_box .name02 {
	text-align: center;
	font-size: 20px;
	margin-top: -0.2em;
}

#message .txt_box_01 .txt_box_02 {
	width: 100%;
	margin-top: -30px;
}

@media screen and (max-width: 1076px) {
	#message .txt_box_01 .txt_box_02 {
		width: 100%;
		margin-top: 30px;
	}
}

#message .txt_box_01 .txt_box_02 .logo01 {
	max-width: 627px;
	width: 100%;
}

#message .txt_box_01 .txt_box_02 .txt02 {
	max-width: 629px;
	width: 100%;
	font-size: 14px;
	margin-top: 18px;
}


#action {
	margin-top: 80px;
}

#action h4 {
	max-width: 291px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#action .action_box {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 70px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#action .action_box .action_block {
	overflow: hidden;
	width: 47.9%;
	height: 460px;
	border-radius: 10px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

#action .action_box .action_block:nth-child(n+3) {
	margin-top: 40px;
}

#action .action_box .action_block a {
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 87px;
	transition-property: background;
	transition-duration: 0.3s;
	transition-timing-function: ease-in-out;
}

#action .action_box .action_block .no {
	max-width: 112px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

#action .action_box .action_block .txt01 {
	width: 96%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color: #FFF;
	font-size: 20px;
	margin-top: 0.5em;
	text-decoration: none;
}

#action .action_box .action_block .arrow01 {
	max-width: 19px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10px;
}


#action .action_box .action_block a {
	background-color: rgba(10, 157, 209, 0.8);
}

#action .action_box .action_block.action02 a,
#action .action_box .action_block.action03 a,
#action .action_box .action_block.action06 a,
#action .action_box .action_block.action07 a {
	background-color: rgba(62, 191, 240, 0.55);
}

#action .action_box .action_block a:hover {
	background-color: rgba(10, 157, 209, 0);
	text-decoration: none;
}

#action .action_box .action_block.action02 a:hover,
#action .action_box .action_block.action03 a:hover,
#action .action_box .action_block.action06 a:hover,
#action .action_box .action_block.action07 a:hover {
	background-color: rgba(62, 191, 240, 0.0);
}


#action .action_box .action_block.action01 {
	background-image: url("../images/action_menu_bg_01_pc.jpg");
}

#action .action_box .action_block.action02 {
	background-image: url("../images/action_menu_bg_02_pc.jpg");
}

#action .action_box .action_block.action03 {
	background-image: url("../images/action_menu_bg_03_pc.jpg");
}

#action .action_box .action_block.action04 {
	background-image: url("../images/action_menu_bg_04_pc.jpg");
}

#action .action_box .action_block.action05 {
	background-image: url("../images/action_menu_bg_05_pc.jpg");
}

#action .action_box .action_block.action06 {
	background-image: url("../images/action_menu_bg_06_pc.jpg");
}

#action .action_box .action_block.action07 {
	background-image: url("../images/action_menu_bg_07_pc.jpg");
}

#action .action_box .action_block.action08 {
	background-image: url("../images/action_menu_bg_08_pc.jpg");
}


#what {
	margin-top: 150px;
}

#what h4 {
	text-align: center;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	color: #0098d8;
	border-bottom: 2px solid #0098d8;
	letter-spacing: 0.2em;
	padding-bottom: 0.2em;
}

#what .txt01 {
	font-size: 14px;
	line-height: 2em;
	margin-top: 20px;
}

#what .img01 {
	max-width: 658px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
}

#what .btn01 {
	max-width: 272px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
}


.modaal-container {
	max-width: 960px;
	border-radius: 10px;
	overflow: hidden;
}

.modaal-content-container {
	padding: 0;
}


.aciton_pop {
	display: none;
}

.pop_content {
	margin-top: -87px;
	padding-bottom: 60px;
}

.pop_content .no {
	max-width: 147px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.pop_content .catch {
	text-align: center;
	font-size: 22px;
	color: #0098d8;
	line-height: 2em;
	margin-top: 1em;
}

.pop_content .point {
	margin-top: 46px;
	max-width: 823px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.pop_content .point li {
	width: 47.9%;
	font-size: 16px;
	list-style: none;
	text-align: center;
	color: #0098d8;
	padding: 1em 0.2em;
	position: relative;
}

.pop_content .point li:nth-child(1)::before,
.pop_content .point li:nth-child(2)::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	top: -2px;
	left: 0;
}

.pop_content .point li,
.pop_content .point li:nth-child(1)::before,
.pop_content .point li:nth-child(2)::before {
	background-image: url("../images/pop_line.png");
	background-repeat: repeat-x;
	background-size: auto 2px;
	background-position: left bottom;
}

.pop_content .point li:nth-child(2n+1):last-child {
	width: 100%;
}

.pop_content .icon {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 56px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.pop_content .icon li {
	list-style: none;
	width: 140px;
}

.pop_content .icon li+li {
	margin-left: 30px;
}

.modaal-wrapper h3 {
	font-size: 20px;
	letter-spacing: 0.1em;
	font-weight: bold;
	color: #fff;
	background-color: #0098d8;
	border-radius: 10px;
	width: 90%;
	display: block;
	text-align: center;
	margin: 50px auto 30px auto;
	padding: 10px 0;
}

.activitylog {
	width: 90%;
	margin: 30px auto 0 auto;
}

.activitylog+.activitylog {
	border-top: 1px dotted #0068d7;
	padding-top: 20px;
}

.activitylog h4 {
	margin-bottom: 10px;
	font-weight: normal;
	font-size: 20px;
}

.activitylog p {
	font-size: 16px;
}

.activitylog ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
}

.activitylog ul li {
	width: 49%;
	margin-top: 15px;
}

.latestnews {
	margin: 0 auto 16px auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

.latestnews a {
	text-decoration: underline;
}

.latestnews>div {
	display: flex;
	align-items: start;
	justify-content: start;
}

.latestnews>div:first-child {
	white-space: nowrap;
	min-width: 184px;
	max-width: 184px;
}

.latestnews>div span:first-child {
	width: 74px;
	display: block;
}

.latestnews>div span:first-child.newicon {
	width: 64px;
}

.newicon {
	margin-right: 10px;
	padding: 0 8px;
	background-color: #fff100;
	border-radius: 6px;
	color: #0098d8;
	font-weight: bold;
	font-size: 16px;
}

.newdate {
	font-size: 16px;
}

.btn_blue {
	display: block;
	max-width: 272px;
	padding: 6px 0;
	margin: 0 auto;
	background-color: #0098d8;
	border-radius: 10px;
	text-align: center;
	color: #FFF !important;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 2px;
}

.btn_blue {
	position: relative;
	text-decoration: none !important;
}

.btn_blue::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 5px);
	right: 20px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	transform: rotate(45deg);
}

#contents_wrapper #theme h3.blog_box_title {
	margin-top: 0;
}

.blog_box {
	margin: 20px auto 60px auto;
	padding: 20px;
	/* border: 2px solid #0098d8;
	border-radius: 10px; */
}

#contents_wrapper .blog_box>p:first-child {
	margin-bottom: 20px;
	font-weight: bold;
}

/* ブログ読み込み部分 style_blog.cssから必要部分のみ引用＋編集 */
ul.entrylist li {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 2px dotted #0068d7;
}

ul.entrylist li:last-child {
	margin-bottom: 35px;
}

.article_img {
	width: 25%;
	height: 140px;
}

.article_img img {
	width: 100% !important;
	height: 140px !important;
	object-fit: cover;
}

#contents_wrapper div.article_txt {
	width: 75%;
	padding-left: 20px;
}

#contents_wrapper p.blog_title {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
}

#contents_wrapper .blog_date {
	position: relative;
	display: inline-block;
	/* margin-bottom: 10px; */
	padding-right: 10px;
	/* text-indent: 18px; */
	line-height: 25px;
	font-size: 14px;
}

/* .blog_date::before {
content: "";
display: inline-block;
position: absolute;
top: 0;
left: 0;
width: 14px;
height: 14px;
background: url(/blog_assets/imgs/blog_icon_date.png) no-repeat center center;
background-size: contain;
} */



@media screen and (max-width: 1050px) {
	.pop_content {
		margin-top: -8.29vw;
		padding-bottom: 5.71vw;
	}

	.pop_content .no {
		max-width: 14vw;
	}

	.pop_content .catch {
		font-size: 2.1vw;
	}

	.pop_content .point {
		margin-top: 4.38vw;
		max-width: 78.38vw;
	}

	.pop_content .point li {
		font-size: 1.52vw;
	}

	.pop_content .icon {
		margin-top: 5.33vw;
	}

	.pop_content .icon li {
		width: 13.33vw;
	}

	.pop_content .icon li+li {
		margin-left: 2.86vw;
	}

	.activitylog h4 {
		font-size: 2.1vw;
	}

	.activitylog p {
		font-size: 1.52vw;
	}
}


@media screen and (max-width: 768px) {
	.visible_pc {
		display: none;
	}

	.visible_sp {
		display: block;
	}

	#contents_wrapper h3 {
		font-size: 4vw;
		border-radius: 1.9vw;
		width: 86.7%;
		margin-left: auto;
		margin-right: auto;
		padding: 0px;
		height: 24.7vw;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	#header_img {
		min-width: 0;
		background-image: none;
		height: auto;
		padding-top: 0px;
	}

	#header_img h2 {
		max-width: none;
		width: 100%;
	}

	#contents_wrapper #theme {
		padding-top: 11.3vw;
		padding-bottom: 15.2vw;
	}

	#contents_wrapper #theme .youtube_box {
		max-width: none;
		width: 86.7%;
	}

	#contents_wrapper #theme .youtube_box .caption {
		font-size: 2vw;
	}

	#contents_wrapper #theme .logo {
		max-width: none;
		width: 86.7%;
		margin-top: 9.2vw;
	}

	#contents_wrapper #theme .txt01 {
		font-size: 2.4vw;
		margin-top: 12vw;
		letter-spacing: 0.1em;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}

	#contents_wrapper #theme h3 {
		margin-top: 17.3vw;
	}

	#contents_wrapper #theme .theme_list {
		width: 86.7%;
		margin-top: 10.3vw;
	}

	#contents_wrapper #theme .theme_list li {
		width: 39.3vw;
		height: 39.3vw;
		font-size: 3.6vw;
	}

	#contents_wrapper #theme .theme_list li:last-child {
		margin-left: auto;
		margin-right: auto;
	}

	#contents_wrapper #theme .theme_list li:nth-child(n+3) {
		margin-top: 5.6vw;
	}

	#contents_wrapper #theme .theme_list li:hover {
		transform: scale(1)
	}

	#contents_wrapper #forte {
		padding-top: 13vw;
		padding-bottom: 16.5vw;
	}

	#contents_wrapper #forte .forte_box {
		width: 75.7%;
		margin-top: 4.5vw;
	}

	#contents_wrapper #forte .forte_box .forte_block {
		width: 100%;
	}

	#contents_wrapper #forte .forte_box .forte_block .txt01 {
		font-size: 4.2vw;
		border-top: 3px solid #fff;
		border-bottom: 3px solid #fff;
		height: auto;
		padding: 1em 0em;
	}

	#message {
		margin-top: 15.5vw;
	}

	#message .txt_box_01 {
		width: 86.7%;
		margin-top: 9.3vw;
	}

	#message .txt_box_01 .txt01 {
		width: 100%;
		font-size: 2.4vw;
		line-height: 2em;
		padding-top: 0em;
		margin-top: 6vw;
		text-align: justify;
		order: 2;
	}

	#message .txt_box_01 .pho_box {
		width: 93.4%;
		margin-left: auto;
		margin-right: auto;
		order: 1;
	}

	#message .txt_box_01 .pho_box .name01 {
		font-size: 2.1vw;
	}

	#message .txt_box_01 .pho_box .name02 {
		font-size: 2.5vw;
		margin-top: 0.1em;
	}

	#message .txt_box_01 .txt_box_02 {
		width: 100%;
		margin-top: 13.3vw;
		order: 3;
	}

	#message .txt_box_01 .txt_box_02 .logo01 {
		max-width: none;
		width: 100%;
	}

	#message .txt_box_01 .txt_box_02 .txt02 {
		max-width: none;
		font-size: 2.3vw;
		line-height: 1.9em;
		margin-top: 4vw;
	}

	#action {
		margin-top: 26vw;
	}

	#action h4 {
		max-width: none;
		width: 77.7%;
	}

	#action .action_box {
		width: 86.7%;
		margin-top: 11.2vw;
		display: block;
	}

	#action .action_box .action_block {
		width: 100%;
		height: 66.7vw;
		border-radius: 1.87vw;
	}

	#action .action_box .action_block:nth-child(n+2),
	#action .action_box .action_block:nth-child(n+3) {
		margin-top: 6.7vw;
	}

	#action .action_box .action_block a {
		padding-top: 7.5vw;
	}

	#action .action_box .action_block .no {
		max-width: none;
		width: 24%;
	}

	#action .action_box .action_block .txt01 {
		font-size: 3.7vw;
	}

	#action .action_box .action_block .arrow01 {
		max-width: none;
		width: 3.5%;
		margin-top: 2vw;
	}

	#action .action_box .action_block.action01 a,
	#action .action_box .action_block.action03 a,
	#action .action_box .action_block.action05 a,
	#action .action_box .action_block.action07 a {
		background-color: rgba(10, 157, 209, 0.8);
	}

	#action .action_box .action_block.action02 a,
	#action .action_box .action_block.action04 a,
	#action .action_box .action_block.action06 a,
	#action .action_box .action_block.action08 a {
		background-color: rgba(62, 191, 240, 0.55);
	}

	#action .action_box .action_block.action01 a:hover,
	#action .action_box .action_block.action03 a:hover,
	#action .action_box .action_block.action05 a:hover,
	#action .action_box .action_block.action07 a:hover {
		background-color: rgba(10, 157, 209, 0);
		text-decoration: none;
	}

	#action .action_box .action_block.action02 a:hover,
	#action .action_box .action_block.action04 a:hover,
	#action .action_box .action_block.action06 a:hover,
	#action .action_box .action_block.action08 a:hover {
		background-color: rgba(62, 191, 240, 0.0);
	}

	#action .action_box .action_block.action01 {
		background-image: url("../images/action_menu_bg_01_sp.jpg");
	}

	#action .action_box .action_block.action02 {
		background-image: url("../images/action_menu_bg_02_sp.jpg");
	}

	#action .action_box .action_block.action03 {
		background-image: url("../images/action_menu_bg_03_sp.jpg");
	}

	#action .action_box .action_block.action04 {
		background-image: url("../images/action_menu_bg_04_sp.jpg");
	}

	#action .action_box .action_block.action05 {
		background-image: url("../images/action_menu_bg_05_sp.jpg");
	}

	#action .action_box .action_block.action06 {
		background-image: url("../images/action_menu_bg_06_sp.jpg");
	}

	#action .action_box .action_block.action07 {
		background-image: url("../images/action_menu_bg_07_sp.jpg");
	}

	#action .action_box .action_block.action08 {
		background-image: url("../images/action_menu_bg_08_sp.jpg");
	}

	#what {
		margin-top: 20vw;
		width: 86.7%;
		margin-left: auto;
		margin-right: auto;
	}

	#what h4 {
		font-size: 5.8vw;
		border-bottom: 4px solid #0098d8;
	}

	#what .txt01 {
		font-size: 2.3vw;
		line-height: 1.9em;
		margin-top: 3vw;
	}

	#what .img01 {
		max-width: none;
		margin-top: 6.8vw;
	}

	#what .btn01 {
		max-width: none;
		width: 83.7%;
		margin-top: 11.7vw;
	}

	.modaal-inner-wrapper {
		padding: 10vw 5.5vw;
	}

	.modaal-container {
		border-radius: 1.9vw;
	}

	.modaal-close {
		right: 1.2vw;
		top: 1.2vw;
		width: 8vw;
		height: 8vw;
	}

	.modaal-close:after,
	.modaal-close:before {
		top: 2.24vw;
		left: 3.68vw;
		width: 0.64vw;
		height: 3.52vw;
		border-radius: 0.64vw;
	}


	.pop_content {
		margin-top: -14.7vw;
		padding-bottom: 60px;
	}

	.pop_content .no {
		max-width: none;
		width: 32.8%;
	}

	.pop_content .catch {
		font-size: 4.0vw;
	}

	.pop_content .point {
		margin-top: 8.3vw;
		max-width: none;
		width: 84.6%;
		display: block;
	}

	.pop_content .point li {
		width: 100%;
		font-size: 3.5vw;
		line-height: 2em;
		padding: 1em 0.2em;
	}

	.pop_content .point li:nth-child(1)::before {
		content: "";
		position: absolute;
		width: 100%;
		height: 4px;
		top: -4px;
		left: 0;
	}

	.pop_content .point li:nth-child(2)::before {
		display: none;
	}

	.pop_content .point li,
	.pop_content .point li:nth-child(1)::before {
		background-size: auto 4px;
	}

	.pop_content .icon {
		width: 81.2%;
		margin-top: 8.8vw;
	}

	.pop_content .icon li {
		width: 47.3%;
	}

	.pop_content .icon li+li {
		margin-left: 0;
	}

	.pop_content .icon li:nth-child(2n) {
		margin-left: 5.4%;
	}

	.pop_content .icon li:nth-child(n+3) {
		margin-top: 4vw;
	}

	.latestnews {
		width: 86.7%;
	}

	.blog_box {
		width: 86.7%;
	}

	.blog_title {
		font-size: 2.4vw;
	}

	#contents_wrapper .blog_date {
		font-size: 2vw;
	}

	.modaal-wrapper h3 {
		font-size: 4vw;
	}

	.activitylog h4 {
		font-size: 4.0vw;
	}

	.activitylog p {
		font-size: 3.5vw;
	}
}


@media screen and (max-width: 420px) {
	#contents_wrapper #theme .youtube_box .caption {
		font-size: 3.7vw;
	}

	#contents_wrapper #theme .txt01 {
		font-size: 4.0vw;
	}

	#contents_wrapper #forte .forte_box .forte_block .txt01 {
		font-size: 4.2vw;
	}

	#message .txt_box_01 .txt01 {
		font-size: 4.0vw;
	}

	#message .txt_box_01 .pho_box .name01 {
		font-size: 3.5vw;
	}

	#message .txt_box_01 .pho_box .name02 {
		font-size: 4.2vw;
	}

	#message .txt_box_01 .txt_box_02 .txt02 {
		font-size: 3.7vw;
	}

	#what h4 {
		font-size: 5.8vw;
	}

	#what .txt01 {
		font-size: 3.7vw;
		line-height: 1.9em;
		margin-top: 3vw;
	}

	.pop_content .catch {
		font-size: 4.9vw;
	}

	.pop_content .point li {
		font-size: 4.2vw;
	}

	.activitylog h4 {
		font-size: 4.9vw;
	}

	.activitylog p {
		font-size: 4.2vw;
	}

	.activitylog ul li {
		width: 100%;
	}

	.latestnews {
		flex-wrap: wrap;
		justify-content: start;
		margin-bottom: 40px;
	}

	.latestnews a {
		font-size: 4.0vw;
	}

	ul.entrylist li {
		display: block;
	}

	.article_img {
		width: 100%;
	}

	#contents_wrapper div.article_txt {
		width: 100%;
		padding-left: 0;
	}

	#contents_wrapper p {
		font-size: 4.0vw;
	}

	#contents_wrapper p.blog_title {
		margin-top: 10px;
		font-size: 4.0vw;
	}

	#contents_wrapper .blog_date {
		font-size: 3vw;
	}
}

.flex_icon {
	width: 90px !important;
	object-fit: contain;
}

.w22 {
	width: 22%;
}

.w35 {
	width: 35%;
}

.w75 {
	width: 75%;
}

.flex_top {
	align-items: flex-start;
}

@media screen and (max-width: 768px) {
	.flex_icon {
		width: 100%;
	}

	.w22 {
		width: 60%;
	}

	.w35 {
		width: 90%;
	}

	.w75 {
		width: 100%;
	}

	.flex_clear {
		display: block !important;
	}
}

/*ここからaction8*/

#MainContents_ac8 {
	text-align: center;
	margin: auto;
	width: 1000px;
	max-width: 92%;
}

#MainContents_ac8 hr {
	border-top: 2px dotted #0098d8;
	border-right: none;
	border-bottom: none;
	border-left: none;
	width: 100%;
}

.TopLogo_ac8 {
	max-width: 500px;
	margin: 100px auto;
	text-align: center;
}

/*アクション共通*/
.Action_ac8 {
	margin-top: 120px;
	width: 100%;
}

.Action01_ac8 {
	margin-top: 50px !important;
}

.ActionTtl_ac8 {
	width: 100%;
	background-color: #0098d8;
	position: relative;
	border-radius: 20px;
	margin: 50px auto;
}

.ActionTtl_ac8 p {
	font-size: 24px;
	color: #fff;
	line-height: 170%;
	text-align: justify;
	margin-left: 220px;
	padding: 20px 56px 20px 0;
}


.ActionLogo_ac8 {
	position: absolute;
	bottom: -1px;
	left: 0
}

.ActionDetail_ac8 {
	max-width: 400px;
	border-radius: 25px;
	box-shadow: 2px 2px 7px #ddd;
	margin: 30px 18px;
	position: relative;
	padding-bottom: 64px;
}

.DetailTxt_ac8 {
	text-align: left;
	color: #858585;
	font-size: 18px;
	letter-spacing: 0.1em;
	margin: 16px 0;
}

.Icon2021_ac8 {
	background-color: #fff;
	border: solid #0098d8 2px;
	margin-bottom: 8px;
	max-width: 180px;
}

.Icon2021_ac8:last-child {
	margin-bottom: 0px;
}

.Icon2021_ac8 p {
	color: #0098d8;
	letter-spacing: .1em;
	text-align: center;
}

.DetailImg_ac8 {
	border-radius: 25px 25px 0 0;
	aspect-ratio: 3/2;
}

.SdgsLogo_ac8 {
	width: 15%;
}

.LogoBox_ac8 {
	width: 368px;
	gap: 8px 2%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	position: absolute;
	right: 16px;
	bottom: 16px;
}

.ActionFlex_ac8 {
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: auto;
}


.action_txt {
	padding: 16px;
}

/* アコーディオン化
* ---------------------------------- */
summary {
	display: block;
	cursor: pointer;
	position: relative;
}

/* + の擬似要素 */
summary::before {
	font-family: "Noto Sans JP", sans-serif;
	content: "+";
	font-size: 48px;
	font-weight: 500;
	color: #fff;
	position: absolute;
	top: 45%;
	right: 16px;
	transform: translateY(-50%) rotate(0deg);
	/* 垂直方向中央揃えと初期回転 */
	opacity: 1;
	transition: transform 0.2s ease-out, opacity 0.2s ease-out;
	z-index: 5;
}

/* - の擬似要素 */
summary::after {
	font-family: "Noto Sans JP", sans-serif;
	content: "−";
	font-size: 48px;
	font-weight: 500;
	color: #fff;
	position: absolute;
	top: 45%;
	right: 16px;
	transform: translateY(-50%) rotate(0deg);
	/* 垂直方向中央揃えと初期回転 */
	opacity: 0;
	/* 初期状態では非表示 */
	transition: transform 0.2s ease-in, opacity 0.2s ease-in;
	/* フェードインのアニメーション */
}

/* detailsが開いた時のアニメーション */
details[open] summary::before {
	transform: translateY(-50%) rotate(45deg);
	/* +を45度回転 */
	opacity: 0;
	/* +をフェードアウト */
}

details[open] summary::after {
	opacity: 1;
	/* -をフェードイン */
	transform: translateY(-50%) rotate(0deg);
	/* -は回転させない */
}


@media screen and (max-width: 768px) {

	.TopLogo_ac8 {
		width: 90%;
		margin: 80px auto;
	}

	/*アクション共通*/
	.Action_ac8 {
		margin-top: 50px;
	}

	.ActionLogoSp_ac8 {
		margin: auto;
	}

	.Action01_ac8 {
		margin-top: 50px !important;
	}

	.ActionTtl_ac8 {
		border-radius: 10px;
		margin: 20px auto;
	}

	.ActionTtl_ac8 p {
		font-size: 18px;
		margin-left: 20px;
	}

	.Action08_ac8 {
		padding: 16px 0;
	}

	.ActionDetail_ac8 {
		width: 100%;
		margin: 16px auto;
		border-radius: 15px;
	}

	.DetailImg_ac8 {
		border-radius: 15px 15px 0 0;
	}

	.DetailTxt_ac8 {
		font-size: 16px;
		margin-top: 8px;
	}

	.action_year {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 8px 2%;
	}

	.Icon2021_ac8 {
		font-size: 14px;
		margin-bottom: 0;
	}

	.SdgsLogo_ac8 {
		width: 12.5%;
	}

}