@charset "utf-8";
/*
Theme Name: Tokyo Greenbiz Map 2024
Author:
Description: 東京グリーンビズマップのオリジナルテーマ
version: 1.0.0
*/
* {
	margin: 0;
	padding: 0
}

@font-face {
	font-family: "游ゴシック体 ボールド";
	src: url("../fonts/YuGothic Bold.ttf") format("truetype");
	font-weight: 700;
}

html, body {
overflow-x: hidden;
}
html{
	height:100%;
}
body {
	min-height:100%;
	font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
	font-size: 100%;
	line-height: 1.5em;
	letter-spacing: 0em;
	color: #333333;
	background-color:#FFFFFF;
	-webkit-font-smoothing: antialiased;
}
.wrapper {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
/* ブロックスキップ - アクセシビリティ対応 */
#skipNav a {
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}
#skipNav a:focus,
#skipNav a:active {
	display: block;
	width: 13em;
	height: auto;
	top: 1px;
	left: 10px;
	clip: auto;
	z-index: 50000;
	font-size: 0.8rem;
	padding: 0 5px;
	background-color: #FFF;
	border: #45B035 solid 1px;
	text-align: center;
}
/* //ブロックスキップ - アクセシビリティ対応 */

footer {
	width: 100%;
	position:sticky;
	top:100vh;
}
footer .footer-wrapper {
	width: 100%;
	padding: 0 0 50px;
	/* padding: 10px 0 50px; */
	color:#FFFFFF;
	background-color:#45B035;
	/*
	position:sticky;
	top:100vh;
	*/
}
footer div#footer-contents {
	width: 95%;
	max-width: 1080px;
	margin: 0 auto;
}
footer div#footer-contents #footer-logo {
	margin: 20px 0 0 auto;
	text-align: center;
}
footer div#footer-contents #footer-logo a p {
	color: #ffffff;
}
footer div#footer-contents #footer-logo a[target="_blank"] p::after {
	content: '別ウィンドウで開く';
	display: inline-block;
	width: 1em;
	height: 1em;
	text-indent: -9999px;
	overflow: hidden;
	background-image: url(/wp-content/uploads/2025/07/icon_blank_w.png);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: -0.05em;
	-webkit-margin-start: 0.25em;
	margin-inline-start: 0.25em;
}
footer div#footer-contents div#footer-info p {
	margin: 0 auto 20px;
	font-size: 14px;
}
footer div#footer-contents div#footer-menu {
	margin: 0 auto;
}
footer div#footer-contents div#footer-menu ul {
	padding: 20px 0;
	/* padding: 15px 0; */
	/* font-size: 16px; */
}
footer div#footer-contents div#footer-menu ul li {
	display: inline-flex;
	padding: 0 40px 0 0;
	/* width: 49%; */
	font-weight: bold;
	text-decoration: underline;
}
footer div#footer-contents div#footer-menu ul li a, a:active {
	color: #FFFFFF;
}
footer div#footer-contents div#footer-menu div.footer-menu-site {
	display: flex;
}
footer div#footer-contents div#footer-menu div.footer-menu-site ul li:last-of-type {
	padding: 0 0 0 0;
}
footer div#footer-contents div#footer-info {
	margin: 10px 0;
}
footer div#footer-contents div#footer-info p {
	margin: 0;
}

/* MENU 領域外でも閉じるため */
.l_main{
	height: 100%;
}
.main_cover{
	position: fixed;
	width: 100%;
	visibility: hidden;
	z-index: -1;
	-webkit-transition: .3s;
	transition: .3s;
}
.main_cover.active{
	height:100%;
	top: 0;
	visibility: visible;
	z-index:1000;
}
/* //MENU 領域外でも閉じるため */

/* TOP バナー */
.banners {
	display: flex;
	justify-content: space-between;
	width: 95%;
	max-width: 1080px;
	margin: 10px auto;
}
.banners .banner1 , 
.banners .banner2 {
	width: 45%;
	/* width: 49%; */
}
.banners .banner1 img , 
.banners .banner2 img {
	width: 100%;
	vertical-align: bottom;
}
/* // TOP バナー */


div#contents-top {
	width: 100%;
	margin: 0 auto;
	background-color:#FFFFFF;
}

/* お知らせエリア */
.infos p.info_more {
	text-align: center;
}
.infos p.info_more a {
	color: #45B035;
	text-decoration: underline;
}

.info_tablet {
	display: none;
}
/* // お知らせエリア */


/* MAP */
.wrapper-map {
	margin: 0px;
	height: 700px;
}
/* //MAP */

/* Common */
div.contents {
	width: 95%;
	max-width: 1080px;
	margin: 20px auto 50px;
}
div.contents h2 {
	color: #45B035;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.5em;
}
div.contents h3 {
	margin: 40px 0 0;
	font-size: 28px;
	line-height: 1.5em;
}
div.contents h4 {
	margin: 30px 0 0;
	font-size: 20px;
	line-height: 1.5em;
}
div.contents h5 {
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 1.5em;
}
div.contents p {
	margin: 15px 0 0;
	font-size: 16px;
}
div.contents p.back {
	margin: 50px 0 0;
	font-size: 1.0rem;
}
div.contents p.back a {
	color: #45B035;
}
div.contents p.p-after {
	margin: 0;
}
div.contents ul.list-circle {
	width: 100%;
	margin: 0 auto;
}
div.contents ul.list-num {
	width: 100%;
	margin: 0 auto;
}
div.contents ul.list-circle li {
	padding-left: 1em;
	text-indent: -1em;
}
div.contents ul.list-circle li:before {
	content: "";
	width: 5px;
	height: 5px;
	display:  inline-block;
	margin: 0px 7px 3px 5px;
	background-color: #333333;
	border-radius: 50%;
}

div.contents ul.list-num li {
	margin: 0 0 0 20px;
	list-style: decimal;
}
a.post-edit-link {
	display: block;
	margin: 20px 0 0;
	color: #EC8145;
	font-weight: 700;
	text-decoration: underline;
}

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 14px;
	line-height: 1;
	z-index: 99;
}
#page-top a {
	display: block;
	width: 50px;
	padding: 25px 3px 15px;
	background: #45b035;
	color: #fff;
	text-align: center;
	text-decoration: none;
	border-radius: 50px;
	opacity: 0.9;
	transition: all .3s ease;
}
#page-top a p {
	position: relative;
	margin: 0;
}
#page-top a p::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 18px;
	width: 10px;
	height: 10px;
	margin: 0;
	border: 1px solid;
	border-color: #ffffff #ffffff transparent transparent;
	transform: rotate(-45deg);
}
#page-top a:hover {
	text-decoration: none;
	opacity: .5;
}
/* //Common */

/* 外部リンク */
.info_first a[target="_blank"] p::after {
	content: "";
	display: inline-block;
	width: 0.9rem;
	height: 0.9rem;
	overflow: hidden;
	background-image: url(/wp-content/uploads/2025/07/icon_blank_b.png);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: 0em;
}
#eventcal .cal-event a[target="_blank"] h3::after {
	content: "";
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	overflow: hidden;
	background-image: url(/wp-content/uploads/2025/07/icon_blank_g.png);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: -0.05em;
	-webkit-margin-start: 0.25em;
	margin-inline-start: 0.25em;
}
#link  ul li a[target="_blank"]::after , 
#guide ul li a[target="_blank"]::after , 
#experience-participate .exp h4 a[target="_blank"]::after , 
#experience-participate .exp .exp-link a[target="_blank"]::after , 
#sitepolicy a[target="_blank"]::after , 
#information .info a[target="_blank"] .info-text-a::after {
	content: "";
	display: inline-block;
	width: 1.1rem;
	height: 1.1rem;
	overflow: hidden;
	background-image: url(/wp-content/uploads/2025/07/icon_blank_g.png);
	background-repeat: no-repeat;
	background-size: contain;
	vertical-align: -0.05em;
	-webkit-margin-start: 0.25em;
	margin-inline-start: 0.25em;
}
#sitepolicy a[target="_blank"]::after {
	width: 1.0rem;
	height: 1.0rem;
}
#experience-participate .exp h4 a[target="_blank"]::after {
	width: 1.3rem;
	height: 1.3rem;
	vertical-align: 0;
	background-image: url(/wp-content/uploads/2025/07/icon_blank_w.png);
}
#guide ul li a[target="_blank"]::after {
	background-image: url(/wp-content/uploads/2025/07/icon_blank_b.png);
}
#link  ul li a[target="_blank"]::after {
	width: 1.0rem;
	height: 1.0rem;
	background-image: url(/wp-content/uploads/2025/07/icon_blank_b.png);
}
#experience-participate .exp .exp-link a[target="_blank"]::after {
	width: 0.85rem;
	height: 0.85rem;
	vertical-align: -0.15em;
	background-image: url(/wp-content/uploadsa/2025/07/icon_blank_b.png);
}
/* //外部リンク */

/* お知らせ */
div#information .infos {
	width: 100%;
	font-size: 20px;
}

div#information .infos .info {
	display: flex;
	margin: 0;
	padding: 40px 20px;
	border-bottom: 1px solid #CCCCCC;
	line-height: 1.6em;
}
div#information .infos .info:last-of-type {
	border: none;
}
div#information .infos .info a {
	display: flex;
}
div#information .infos .info .info-date {
	position: relative;
	min-width: 120px;
	color: #45B035;
}
div#information .infos .info .info-date::after {
	content: "";
	display: inline-block;
	height: 1em;
	margin: 0 0 0 10px;
	border-right: 1px #45B035 solid;
	position: absolute;
	top: 6px;
	right: 10px;
}
div#information .infos .info .info-text , 
div#information .infos .info .info-text-a {
	width: auto;
	margin: 0;
}
/* >印ver
div#information .infos .info a .info-text-a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 0 1px 0;
	border: 1px solid;
	border-color: #45B035 #45B035 transparent transparent;
	transform: rotate(45deg);
}
*/
/* //お知らせ */

/* イベントカレンダー */
div.cal-month {
	margin: 20px 0 0;
}
div.cal-month p {
	color: #45B035;
	font-size: 20px;
	font-weight: bold;
}
div.cal-events {
	margin: 0 auto;
}
div.cal-event {
	width: 100%;
	margin: 0 auto 10px;
	/* margin: 10px auto 15px; */
	display: flex;
	border: 1px solid #45b035;
	border-radius: 10px;
}
div.cal-date {
	width: 130px;
	/* width: 25%; */
	padding: 5px 10px;
	/* padding: 10px; */
	font-size: 1.5rem;
	/* font-size: 1.25rem; */
	font-weight: bold;
	line-height: 1.23em;
	/* line-height: 1.1em; */
	/* line-height: 1.2em; */
	text-align: center;
	color: #FFFFFF;
	background-color: #45B035;
	border-radius: 8px 0 0 8px;
}
div.cal-date span {
	margin: 0 0 0 5px;
	font-weight: normal;
	font-size: 0.9rem;
}
div.cal-date span.ev-border {
	display: block;
	margin: -3px 0 0;
	font-size: 1.0rem;
	line-height: 1.1em;
}
div.cal-date span.year {
	display: block;
	margin: 7px 0 -20px;
	/* margin: 10px 0 -25px; */
	line-height: 0em;
}
div.cal-text {
	width: 80%;
	padding: 5px 10px;
}
div.contents div.cal-text h3 {
	margin: 0;
	font-size: 1.25em;
	/* line-height: 1.5em; */
	/* font-size: 16px; */
	/* line-height: 1.8em; */
	color: #45B035;
}
/*
div.contents div.cal-text h3::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0;
	border: 1px solid;
	border-color: #45B035 #45B035 transparent transparent;
	transform: rotate(45deg);
}
*/
div.contents div.cal-text p {
	margin: 0;
	/* font-size: 12px; */
}
div.contents div.cal-text div.cal-text-place {
	display: flex;
	margin: 3px 0;
	padding: 5px 1em;
	/* padding: 10px 1em; */
	background-color: #c9edbf;
	border-radius: 5px;
}
div.contents div.cal-text div.cal-text-place h4 {
	width: 4.5em;
	min-width: 4.5em;
	margin: 0;
	font-size: 1.0rem;
	/* font-size: 0.9rem; */
	font-weight: 700;
	color: #45B035;
}
/* //イベントカレンダー */



/* PC
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1200px) { /* 1200px以下に適用されるCSS */
	/* Common */
	div.contents {
		margin: 20px auto 30px;
	}
	/* //Common */
	
	/* お知らせエリア - ページ下部 */
	.info_tablet {
		display: flex;
		width: 95%;
		max-width: 1080px;
		margin: 10px auto;
	}
	.info_tablet .info_under {
		width: calc(100% - 190px);
		/* width: calc(100% - 210px); */
	}
	.info_tablet .info_under p.title a , 
	.info_tablet .lans p.title {
		color: #45B036;
		font-weight: 700;
	}
	.info_tablet .info_under .info_all {
		padding: 5px;
		border: 1px solid #45B035;
		background-color: #ffffff;
		position: relative;
	}
	.info_tablet .info_under.active .info_all {
		width: calc(95% - 202px);
		/* width: calc(90% - 222px); */
		max-width: 878px; /* 1080 - 190 - 10 - 2 */
		/* max-width: 1080px; */
		background-color: #ffffff;
		position: absolute;
		z-index: 500;
	}
	.info_tablet .info_under.active .info_all .info_first .info_title {
		overflow: unset;
		white-space: unset;
	}
	.info_tablet .info_under .info_all .infos {
		display: none;
	}
	.info_tablet .info_under.active .info_all .infos {
		display: unset;
	}
	.info_tablet .lans {
		margin: 0 0 0 auto;
	}
	/* //お知らせエリア - TOP以外 */
	
	/* TOP バナー */
	.banners {
		margin: 0 auto 10px;
	}
	/* //TOP バナー */
}



/* PC
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1140px) { /* 1140px以下に適用されるCSS */
	/* MAP */
	.wrapper-map {
		height: 900px;
	}
	/* //MAP */
}



/* タブレット
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 960px) { /* 960px以下に適用されるCSS */
	footer div#footer-contents div#footer-menu {
		margin: 0 auto 15px;
	}
	footer div#footer-contents div#footer-menu ul {
		border-bottom: 1px solid #ffffff;
	}
	footer div#footer-contents div#footer-menu div.footer-menu-site {
		display: block;
	}
	footer div#footer-contents div#footer-menu div.footer-menu-site ul li {
		display: inline-flex;
		width: 49%;
		padding: 0;
		line-height: 2em;
	}
	footer div#footer-contents div#footer-logo {
		text-align: left;
	}
}



/* タブレット
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 780px) { /* 780px以下に適用されるCSS */
	/* MAP */
	.wrapper-map {
		height: 700px;
	}
	/* //MAP */
	
	/* TOP バナー */
	.banners .banner1 , 
	.banners .banner2 {
		width: 49%;
	}
	/* // TOP バナー */
}



/* スマホ用
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 580px) { /* 580px以下に適用されるCSS */
	/* TOP バナー */
	.banners {
		display: block;
	}
	.banners .banner1 , 
	.banners .banner2 {
		width: 100%;
	}
	.banners .banner2 {
		margin: 10px auto 0;
	}
	/* // TOP バナー */
}



/* スマホ用
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 480px) { /* 480px以下に適用されるCSS */
	/* MAP */
	.wrapper-map {
		height: 500px;
	}
	/* //MAP */
	
	/* Common */
	div.contents {
		margin: 10px auto 20px;
	}
	div.contents h2 {
		font-size: 30px;
	}
	div.contents h3 {
		margin: 20px 0 0;
		font-size: 24px;
	}
	/* //Common */
	
	/* 外部リンク */
	#eventcal .cal-event a[target="_blank"] h3::after {
		width: 1.0rem;
		height: 1.0rem;
	}
	#experience-participate .exp h4 a[target="_blank"]::after {
		width: 1.1rem;
		height: 1.1rem;
		vertical-align: -0.05em;
	}
	#sitepolicy a[target="_blank"]::after {
		width: 0.9rem;
		height: 0.9rem;
	}
	/* // 外部リンク */
	
	/* お知らせ */
	div#information .infos .info {
		display: block;
		padding: 20px 10px;
	}
	div#information .infos .info a {
		display: block;
	}
	div#information .infos .info .info-date::after {
		border: none;
	}
	/* //お知らせ */
	
	/* イベントカレンダー */
	/*
	div.cal-month {
		margin: 20px 0 0;
	}
	*/
	div.cal-date {
		width: 90px;
		padding: 5px;
		font-size: 1.25rem;
	}
	div.cal-date span {
		margin: 0 0 0 3px;
	}
	div.cal-date span.ev-border {
		margin: 0;
	}
	div.cal-date span.year {
		margin: 10px 0 -15px;
	}
	div.contents div.cal-text h3 {
		font-size: 1.1rem;
	}
	div.contents div.cal-text div.cal-text-place {
		display: block;
		padding: 5px 10px;
	}
	div.contents div.cal-text div.cal-text-place h4 {
		font-size: 0.8rem;
		line-height: 1.1em;
	}
	div.contents div.cal-text div.cal-text-place p {
		font-size: 0.9rem;
		line-height: 1.3em;
	}
	/* //イベントカレンダー */
}



/* スマホ用
-------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 350px) { /* 350px以下に適用されるCSS */
	.info_tablet {
		display: block;
	}
	.info_tablet .info_under {
		width: 100%;
	}
	.info_tablet .info_under.active .info_all {
		width: calc(95% - 12px);
		z-index: 50000;
	}
	footer div#footer-contents div#footer-menu div.footer-menu-site ul li {
		width: 100%;
	}
}
