@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400..800&family=Noto+Sans+JP:wght@300..700&family=Roboto:wght@400..700&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
		overscroll-behavior: none;
}
img {
		border: none;
		vertical-align: top;
}
.container {
		overflow: hidden
}
body {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 18px;
		font-weight: 700;
		color: #1E1E1E;
		background: #fff;
		-webkit-font-smoothing: antialiased;
		-webkit-text-size-adjust: 100%;
}
@media(max-width: 1024px) {
		body {
				font-size: 16px;
		}
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
		.bodyLock {
				overflow: hidden
		}
}
h1, h2, h3, h4, h5, h6 {
		font-weight: normal;
}
h1, h2, h3, h4, h5, p, li, dt, dd {
		font-feature-settings: "palt";
		letter-spacing: 0.08em;
}
:lang(en) body {
		font-family: "Roboto", sans-serif;
		font-weight: 500;
}
:lang(en) h1, :lang(en) h2, :lang(en) h3, :lang(en) h4, :lang(en) h5, :lang(en) p, :lang(en) li, :lang(en) dt, :lang(en) dd {
		letter-spacing: 0;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
.header_logo {
		position: fixed;
		width: 80px;
		left: 40px;
		top: 35px;
		z-index: 9000
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_nav {
		position: fixed;
		top: 25px;
		right: 30px;
		height: 60px;
		/* background: #fff; */
		/* border: 1px solid #1E1E1E;
		border-radius: 60px; */
		display: flex;
		align-items: center;
		box-sizing: border-box;
		padding-left: 30px;
		padding-right: 30px;
		z-index: 3000
}
/* 
.header_nav::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -16px;
		right: 84px;
		width: 25px;
		height: 16px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 25px;
		background-image: url("../images/nav_fukidashi_pc.png")
}
*/
.header_nav ul {
		list-style: none;
		display: flex;
		align-items: center;
}
.header_nav li {
		font-size: 18px;
		font-family: "Baloo 2", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		letter-spacing: 0;
		margin-left: 15px;
		position: relative;
		padding-left: 12px;
}
.header_nav li.why {
		margin-left: 0;
}
.header_nav li::before, .subnav ul li::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 2.5px);
		left: 0;
		width: 5px;
		height: 5px;
		border-radius: 50%;
}
.header_nav li.why::before {
		background: #26BDE2;
}
.header_nav li.about::before {
		background: #FCC30B;
}
.header_nav li.action::before {
		background: #FD6925;
}
.header_nav a {
		color: #1E1E1E;
		text-decoration: none;
}
.header_nav li.contact_btn {
		width: 125px;
		padding-left: 0;
		margin-left: 37px;
		position: relative;
		z-index: 200;
}
.header_nav li.contact_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 15px;
		background-color: #1e1e1e;
		color: #fff;
		border-radius: 60px;
		height: 36px;
		box-sizing: border-box;
		border: 1px solid #1e1e1e;
		transition: background 0.4s;
}
@media (hover: hover) {
		.header_nav li.contact_btn a:hover {
				background: #fff;
				color: #1e1e1e;
		}
}
.header_lang {
		font-size: 16px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 15px;
		background-color: #e6e6e6;
		border-radius: 60px;
		height: 36px;
		box-sizing: border-box;
		margin-left: 10px;
}
.navBoard_wrap .header_lang {
		width: 80px;
		margin: 0 auto
}
.navBoard_wrap .header_lang a {
		color: #1e1e1e;
		text-decoration: none;
}
.header_lang_in {
		display: flex;
		justify-content: center;
		align-items: center;
		transform: translateY(-2px)
}
.header_lang_in span {
		margin: 0 1px
}
:lang(ja) .header_lang_in .en a {
		color: #C8C8C8;
}
:lang(en) .header_lang_in .jp a {
		color: #C8C8C8;
}
@media(max-width: 960px) {
		.header_logo {
				left: 20px;
		}
}
@media(max-width: 767px) {
		.header_logo {
				width: 60px;
				left: 20px;
				top: 25px;
		}
		.header_nav {
				display: none
		}
}
.menu_parent {
		position: relative;
}
.menu_parent::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 3px);
		right: -11px;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 3px solid transparent;
		border-left: 3px solid transparent;
		border-top: 5px solid #1e1e1e;
		border-bottom: 0;
}
.menu_parent.isOpen::after {
		border-right: 3px solid transparent;
		border-left: 3px solid transparent;
		border-bottom: 5px solid #1e1e1e;
		border-top: 0;
}
.menu_parent .subnav {
		z-index: 100;
		overflow: hidden;
		position: absolute;
		width: 200px;
		visibility: hidden;
		top: 25px;
		left: -20px;
		pointer-events: none;
		transition: left 0.2s cubic-bezier(0.5, 1, 0.89, 1);
}
.menu_parent .subnav:lang(en) {
		width: 250px;
}
.menu_parent .subnav.isOpen {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		left: 0;
}
.subnav_in {
		background: #F5F5F8;
		box-sizing: border-box;
		padding: 15px 25px;
		margin-top: 35px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		border-radius: 10px;
}
.subnav ul {
		display: block
}
.subnav ul li a {
		text-align: left !important;
		color: #222;
}
.subnav ul li {
		font-size: 15px;
		margin-left: 0;
		margin-bottom: 15px;
		height: auto !important;
		position: relative;
		transform: translateX(-20px);
		opacity: 0;
		transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1), opacity 0.4s;
		text-align: left !important;
		line-height: 1.4;
		font-weight: 600 !important;
		padding-left: 12px;
}
.subnav.isOpen ul li {
		transform: translateX(0px);
		opacity: 1;
}
.subnav ul li:first-child::before {
		background: #4C9F38;
}
.subnav ul li:nth-child(2)::before {
		background: #DD1367;
}
.subnav ul li:nth-child(3)::before {
		background: #FD9D24;
}
.subnav ul li:nth-child(2) {
		transition-delay: 0.015s;
}
.subnav ul li:nth-child(3) {
		transition-delay: 0.03s;
}
.subnav ul li:nth-child(4) {
		transition-delay: 0.045s;
}
.subnav ul li:nth-child(5) {
		transition-delay: 0.06s;
}
.subnav ul li:last-child {
		margin-bottom: 0;
}
.subnav ul li a {
		position: relative;
		height: auto;
		display: inline;
		padding: 0 !important
}
/* =============== */
main {
		padding-top: 200px;
		padding-bottom: 100px;
}
@media(max-width: 767px) {
		main {
				padding-top: 160px;
				padding-bottom: 100px;
		}
}
/* ============ */
footer {
		background: #fff;
		padding: 80px 30px 50px
}
#toppage footer {
		padding-top: 0;
}
@media(max-width: 767px) {
		footer {
				background: #fff;
				padding: 80px 0 50px
		}
		#toppage footer {
				padding-top: 0;
		}
}
.footer_logo {
		max-width: 356px;
		margin: 0 auto 55px;
}
@media(max-width: 960px) {
		.footer_logo {
				max-width: 280px;
				margin: 0 auto 40px;
		}
}
.footer_logo img {
		width: 100%;
		height: auto;
}
.footer_global_center {
		display: flex;
		justify-content: center;
}
.footer_global {
		list-style: none;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 20px;
		position: relative;
		left: -20px
}
@media(max-width: 767px) {
		.footer_global {
				margin-bottom: 15px;
		}
}
.footer_global li {
		font-family: "Baloo 2", sans-serif;
		font-weight: 700;
		letter-spacing: 0;
		font-size: 24px;
}
.footer_global li:nth-child(2) {
		transform: translateX(41px)
}
.footer_global li a {
		color: #1e1e1e;
		text-decoration: none;
		padding-left: 40px;
		position: relative;
}
.footer_global li a::before {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		width: 31px;
		height: 24px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 31px;
		background-image: url("../images/footer_icon-1.png")
}
.footer_global li.about a::before {
		background-image: url("../images/footer_icon-2.png")
}
.footer_global li.action a::before {
		background-image: url("../images/footer_icon-3.png")
}
.footer_global-2 {
		list-style: none;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 40px;
}
.footer_global-2 li {
		font-size: 16px;
		margin: 0 10px;
		padding-left: 12px;
		position: relative;
}
.footer_global-2 li:lang(en) {
		font-family: "Baloo 2", sans-serif;
		font-weight: 600;
}
@media(max-width: 767px) {
		.footer_global-2 li {
				padding-left: 10px;
				font-size: 12px;
				margin: 0 5px;
		}
}
@media(max-width: 375px) {
		.footer_global-2 li {
				font-size: 11px;
		}
}
.footer_global-2 li .underL::after {
		bottom: -3px
}
.footer_global-2 li::before, .sub_mn li a::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 2px);
		left: 0;
		width: 5px;
		height: 5px;
		border-radius: 50%;
}
.footer_global-2 li.forum::before, .sub_mn li.forum a::before {
		background: #4C9F38;
}
.footer_global-2 li.subcommittee::before, .sub_mn li.subcommittee a::before {
		background: #DD1367;
}
.footer_global-2 li.action::before, .sub_mn li.action a::before {
		background: #FD9D24;
}
.footer_global-2 li a {
		color: #1e1e1e;
		text-decoration: none;
}
.footer_submn {
		display: flex;
		justify-content: center;
		align-items: center;
		list-style: none;
		margin-bottom: 40px;
}
.footer_submn li {
		width: 200px;
		margin: 0 10px;
		font-family: "Baloo 2", sans-serif;
		font-size: 24px;
		font-weight: 700;
		letter-spacing: 0
}
.footer_submn li a {
		display: flex;
		align-items: center;
		height: 70px;
		border-radius: 8px;
		border: 1px solid #787878;
		color: #1e1e1e;
		text-decoration: none;
		padding: 0 24px;
		position: relative;
		background: #fff;
		transition: background 0.4s;
}
.footer_submn li a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		right: 25px;
		width: 27px;
		height: 11px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 27px;
		background-image: url("../images/footer_submn_arw.png")
}
@media (hover: hover) {
		.footer_submn li a:hover {
				background: #1e1e1e;
				color: #fff;
		}
		.footer_submn li a:hover::after {
				background-image: url("../images/footer_submn_arw_wht.png")
		}
}
.footer_sb {
		font-size: 15px;
		font-weight: 700;
		text-align: center;
		margin-bottom: 20px;
}
.footer_sns {
		list-style: none;
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 50px;
}
.footer_sns li {
		width: 30px;
		margin: 0 12px;
}
.footer_sns li img {
		width: 100%;
		height: auto;
}
.footer_sns li.youtube {
		width: 43px;
}
.copyright {
		font-family: "Baloo 2", sans-serif;
		text-align: center;
		font-size: 14px;
}
@media(max-width: 767px) {
		.footer_logo {
				max-width: 200px;
				margin: 0 auto 45px;
		}
		.footer_global {
				margin: 0 0 20px;
		}
		.footer_global li {
				font-size: 15px;
		}
		.footer_global li a {
				padding-left: 25px;
		}
		.footer_global li a::before {
				top: 5px;
				width: 20px;
				height: 16px;
				background-size: 20px;
		}
		.footer_submn {
				margin-bottom: 40px;
		}
		.navBoard_wrap .footer_submn {
				margin-bottom: 25px;
		}
		.footer_submn li {
				width: 130px;
				font-size: 16px;
		}
		.footer_submn li a {
				height: 50px;
				padding: 0 12px;
		}
		.footer_submn li a::after {
				top: calc(50% - 4px);
				right: 10px;
				width: 19px;
				height: 8px;
				background-size: 19px;
		}
		.footer_sb {
				font-size: 15px;
				margin-bottom: 20px;
		}
		.footer_sns {
				margin-bottom: 50px;
		}
		.copyright {
				font-size: 10px;
				letter-spacing: 0
		}
}
/* ============ */
@media(min-width: 768px) {
		.spobj {
				display: none
		}
		.spbr {
				display: none
		}
}
@media(min-width: 841px) {
		.largebr {
				display: none
		}
}
@media(max-width: 767px) {
		.pcobj {
				display: none
		}
		.pcbr {
				display: none
		}
}
.anchor {
		position: relative;
		z-index: -1;
		pointer-events: none;
		height: 1px;
		padding-top: 100px;
		margin-top: -100px;
}
/* ============ */
.underL {
		position: relative;
}
.underL::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0px;
		left: 0;
		width: 100%;
		height: 2px;
		background: #1e1e1e;
		transform-origin: left center;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
}
.underL.bgMizu::after {
		background: #26BDE2;
}
.underL.bgKi::after {
		background: #FCC30B;
}
.underL.bgOrg::after {
		background: #FD6925;
}
.underL.bgGrn::after {
		background: #4C9F38;
}
.underL.bgGrn::after {
		background: #4C9F38;
}
.underL.bgRed::after {
		background: #DD1367;
}
.underL.bgDaidai::after {
		background: #FD9D24;
}
.underL.bgWht::after {
		background: #fff;
}
@media (hover: hover) {
		a:hover .underL::after {
				transform: scaleX(1);
		}
}
.fadeInNml {
		opacity: 0;
		transition: opacity 0.3s linear;
}
.fadeInNmlActive {
		opacity: 1;
}
/* ================ */
.second_wrap {
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 40px;
		position: relative;
		z-index: 10
}
.pagetitle h1 {
		font-size: 120px;
		font-family: "Baloo 2", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		letter-spacing: -0.03em;
		margin: 0 0 30px;
		line-height: 1;
}
:lang(en) .pagetitle h1 {
		font-size: 120px;
		font-family: "Baloo 2", sans-serif;
		font-optical-sizing: auto;
		font-weight: 700;
		letter-spacing: -0.03em;
		margin: 0 0 30px;
		line-height: 1;
}
@media(max-width: 1024px) {
		.pagetitle h1 {
				font-size: 96px
		}
		:lang(en) .pagetitle h1 {
				font-size: 96px
		}
}
@media(max-width: 767px) {
		.pagetitle h1 {
				font-size: 48px
		}
		:lang(en) .pagetitle h1 {
				font-size: 48px;
		}
}
@media(max-width: 767px) {
		.second_wrap {
				padding: 0 20px;
		}
		.pagetitle {
				margin-bottom: 60px;
		}
}
/* ================= */
.title_hd_en {
		font-size: 120px;
		font-family: "Baloo 2", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		letter-spacing: -0.03em;
		margin: 0 0 30px;
		line-height: 1.2;
}
.title_hd_en.exJP {
		font-size: 56px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		letter-spacing: 0.04em;
}
@media(max-width: 767px) {
		.title_hd_en.exJP {
				font-size: 36px;
		}
}
.title_hd_en.extra {
		font-size: 78px;
}
.title_hd_jp {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 5px;
}
.title_hd_jp span {
		position: relative;
		padding-left: 40px;
}
.title_hd_en span {
		position: relative;
		padding-left: 50px;
}
.title_hd_jp span::before, .title_hd_en span::before {
		content: '';
		display: block;
		position: absolute;
		top: 3px;
		left: 0;
		width: 31px;
		height: 24px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 31px;
		background-image: url("../images/footer_icon-1.png")
}
.title_hd_en span::before {
		top: calc(50% - 42px)
}
.title_hd_jp span.yel::before, .title_hd_en span.yel::before {
		background-image: url("../images/footer_icon-2.png")
}
.title_hd_jp span.grn::before, .title_hd_en span.grn::before {
		background-image: url("../images/footer_icon-1.png")
}
.title_hd_jp span.org::before, .title_hd_en span.org::before {
		background-image: url("../images/footer_icon-3.png")
}
.title_hd_jp span.grn::before, .title_hd_en span.grn::before {
		background-image: url("../images/footer_icon-4.png")
}
.title_hd_jp span.pnk::before, .title_hd_en span.pnk::before {
		background-image: url("../images/footer_icon-5.png")
}
.title_hd_jp span.org::before, .title_hd_en span.org::before {
		background-image: url("../images/footer_icon-6.png")
}
.title_hd_en.center, .title_hd_jp.center {
		text-align: center;
}
@media(max-width: 1024px) {
		.title_hd_en {
				font-size: 96px;
		}
		.title_hd_en.extra {
				font-size: 70px;
		}
		.title_hd_jp {
				font-size: 16px;
		}
		.title_hd_jp span {
				position: relative;
				padding-left: 40px;
		}
}
@media(max-width: 767px) {
		.title_hd_en {
				font-size: 48px;
		}
		.title_hd_en.extra {
				font-size: 38px;
		}
		.title_hd_jp {
				font-size: 15px;
				margin-bottom: 15px;
		}
		.title_hd_jp span {
				position: relative;
				padding-left: 40px;
		}
		.title_hd_jp span::before {
				top: 1px
		}
}
@media(max-width: 375px) {
		.title_hd_en {
				font-size: 42px;
				margin-bottom: 20px;
		}
		.title_hd_en.extra {
				font-size: 32px;
		}
}