/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Child theme for Hello Elementor.
Author: Your Name
Author URI: https://example.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

* {
	box-sizing: border-box;
}

html {
	font-size: 17px;
}

@media (max-width: 1024px) {
	html {
		font-size: 14px;
	}
}

body {
	font-family: 'SUIT', -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;
}


dl dd,
ul,
ol {
	margin: 0;
	padding: 0;
}

#site-header {
	border-bottom: 5px solid #115738;
}

.site-header .site-navigation ul.menu > li > a {
	font-size: 1.2rem;
	font-weight: 700;
}

.site-header .site-navigation ul.menu > li:hover > a {
	color: #115738;
}

.site-header .site-navigation ul.menu > li > ul {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 12px 0;
}

.site-header .site-navigation ul.menu > li > ul > li a {
	display: block;
	padding: 12px 20px;
	font-weight: 600;
	font-size: 1rem;
	width: 100%;
}

.site-header .site-navigation ul.menu > li > ul > li a:hover {
	color: #115738;
	font-weight: 600;
}

.site-navigation ul.menu li.menu-item-has-children:after {
	display: none !important;
}

.site-navigation ul.menu li.menu-item-has-children:before {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23999'%3E%3Cpath d='M480-357.85 253.85-584 296-626.15l184 184 184-184L706.15-584 480-357.85Z'/%3E%3C/svg%3E");
	width: 24px;
	height: 24px;
	display: inline-block;
	background-size: 24px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

.site-navigation ul.menu li ul li {
	border-block-end: 0 !important;
}

.site-footer {
	background-color: #101010;
	color: #f1f1f1;
}

.site-footer .footer-inner {
	padding-top: 20px;
	padding-bottom: 20px;
}

.site-footer .footer-inner .copyright {
	flex-direction: column;
	align-items: baseline !important;
	width: 100%;
}

.site-footer .footer-inner .copyright p + p {
	margin-top: 30px;
}

.page-header {
	height: 150px;
	display: flex;
	align-items: center;
	margin-top: 50px;
	text-align: center;
	margin-bottom: 10px;
}

.entry-title {
	padding: 0 20px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-weight: 800;
	color: #115738;
	font-size: 2.4rem;
}

@media (max-width: 768px) {
	.page-header {
		height: auto;
		margin-top: 40px;
		margin-bottom: 20px;
	}

	.entry-title {
		font-size: 1.8rem;
		text-align: left;
	}
}

.home .page-header {
	display: none;
}

.site-navigation ul.menu {
	gap: 16px;
}

.site-navigation-toggle-holder {
	padding: 0 !important;
}

.site-navigation-toggle-holder .site-navigation-toggle {
	background-color: transparent !important;
	padding: 0 !important;
}

.site-navigation-toggle-holder .site-navigation-toggle-icon {
	width: 2rem !important;
}

.site-navigation-dropdown {
	bottom: -5px !important;
}

.site-navigation-dropdown ul.menu li a {
	color: #222 !important;
	font-size: 1.3rem;
	font-weight: 600;
	position: relative;
}

.site-navigation-dropdown ul.menu > li.menu-item-has-children > a:after {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23999'%3E%3Cpath d='M480-357.85 253.85-584 296-626.15l184 184 184-184L706.15-584 480-357.85Z'/%3E%3C/svg%3E");
	width: 24px;
	height: 24px;
	display: inline-block;
	background-size: 24px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}

.site-navigation-dropdown ul.menu li > ul.sub-menu {
	padding-left: 32px;
}

.site-navigation-dropdown ul.menu li.elementor-active > ul.sub-menu {
	padding-top: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.site-navigation-dropdown ul.menu li > ul.sub-menu > li:last-child {
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .102);
}

.site-navigation-dropdown ul.menu li > ul.sub-menu > li > a {
	padding: 8px 0;
	box-shadow: none;
	font-size: 1.2rem;
	color: #444 !important;
}

.site-navigation-dropdown ul.menu li > ul.sub-menu > li > a:before {
	content: "-";
	margin-right: 4px;
	color: #aaa;
	font-weight: 400;
}


.site-navigation-dropdown ul.menu li > ul.sub-menu > li.current-menu-item > a {
	background: #fff !important;
	color: #115738 !important;
}

.site-navigation-dropdown ul.menu li.current-menu-item a {
	background: #fff !important;
	color: #115738 !important;
}


@media (max-width: 768px) {
	.site-header .header-inner .site-branding .site-logo img {
		width: 150px;
		height: auto;
	}
}



.about-list dl {
	padding: 40px;
	border: 1px solid #d9d9d9;
	border-radius: 20px;
}

.about-list dl + dl {
	margin-top: 20px;
}

.about-list dl dt strong {
	background: #115738;
	color: #fff;
	padding: 2px 12px;
	border-radius: 30px;
	display: inline-block;
	font-size: 0.95rem;
	margin-bottom: 12px;
}

.about-list dl dt {
	color: #115738;
	font-size: 1.3rem;
	font-weight: 600;
}


.about-list dl dd {
	margin: 0;
	padding-top: 10px;
	font-size: 1.1rem;
}

@media (max-width: 768px) {
	.about-list dl {
		padding: 24px;
	}
}

.history-list dl + dl {
	margin-top: 60px;
}

.history-list dl dt {
	font-size: 1.6rem;
	font-weight: 800;
	color: #222;
	margin-bottom: 20px;
}

.history-list dl dd {
	background: #f6f6f6;
	padding: 30px;
	border-radius: 20px;
}

.history-list dl dd ul {
	list-style: none;
	position: relative;
}

.history-list dl dd ul li {
	position: relative;
	padding-left: 50px;
	font-size: 1.1rem;
}

.history-list dl dd ul li strong {
	color: #111;
	width: 100px;
	display: inline-block;
}

.history-list dl dd ul li + li {
	margin-top: 30px;
}

.history-list dl dd ul li:before {
	content: "";
	width: 10px;
	height: 10px;
	display: inline-block;
	background: #115738;
	position: absolute;
	left: 15px;
	top: 10px;
}

.history-list dl dd ul li:after {
	content: "";
	width: 1px;
	height: calc(100% + 20px);
	display: block;
	background: #d9d9d9;
	position: absolute;
	left: 19px;
	top: 20px;
}

.history-list dl dd ul li:last-child:after {
	display: none;
}


@media (max-width: 1024px) {
	.history-list dl dt {
		margin-bottom: 10px;
		font-size: 1.4rem;
	}

	.history-list dl dd {
		padding: 20px 10px;
	}

	.history-list dl dd ul li strong {
		width: 100%;
		display: block;
	}

	.history-list dl + dl {
		margin-top: 40px;
	}

	.history-list dl dd ul li + li {
		margin-top: 20px;
	}
}

.mission-cards {
	display: flex;
	flex-flow: row wrap;
}

.mission-cards > .mission-card {
	width: 100%;
}

.mission-cards > .mission-card + .mission-card {
	border-top: 1px solid #d9d9d9;
	padding-top: 20px;
	margin-top: 20px;
}

.mission-cards > .mission-card .mc-number {
	font-size: 1rem;
	font-weight: 700;
	color: #999;
}

.mission-cards > .mission-card .mc-text h4 {
	margin-bottom: 10px;
	font-size: 1.35rem;
	font-weight: 800;
	color: #115738;
	margin-top: 5px;
}

.roadmap {
	display: flex;
	gap: 40px;
}

.roadmap > .year-block {
	flex: 1;
	position: relative;
	padding: 40px;
	border-top: 3px solid #115738;
	background: #f7f7f7;
}

.roadmap > .year-block:nth-child(1) {
	margin-top: 80px;
}

.roadmap > .year-block:nth-child(2) {
	margin-top: 40px;
}

.roadmap > .year-block:last-child:after {
	display: none;
}

.roadmap > .year-block .year-tag {
	font-size: 1.6rem;
	font-weight: 800;
	color: #333;
	margin-bottom: 20px;
	display: block;
}

.roadmap > .year-block .year-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.roadmap > .year-block .year-item {
	display: flex;
	flex-direction: column;
	position: relative;
	padding-left: 14px;
}

.roadmap > .year-block .year-item strong {
	color: #115738;
}

.roadmap > .year-block .year-item:before {
	content: "•";
	color: #115738;
	position: absolute;
	left: 0;
}

@media (max-width: 1024px) {
	.roadmap {
		gap: 20px;
		flex-direction: column;
		margin-top: 20px;
	}

	.roadmap > .year-block:nth-child(1) {
		margin-top: 0;
	}

	.roadmap > .year-block:nth-child(2) {
		margin-top: 0;
	}

	.roadmap > .year-block {
		padding: 30px;
	}

	.roadmap > .year-block .year-tag {
		margin-bottom: 10px;
	}
}

@media (max-width: 768px) {
	.roadmap > .year-block {
		padding: 24px;
	}
}

.purpose > ol {
	list-style: none;
	counter-reset: item;
	padding-left: 0;
}

.purpose > ol > li {
	counter-increment: item;
	position: relative;
	padding: 40px;
	padding-left: 70px;
	border: 1px solid #d9d9d9;
	border-radius: 20px;
}

.purpose > ol > li + li {
	margin-top: 20px;
}

.purpose > ol > li:before {
	content: counter(item);
	position: absolute;
	left: 30px;
	top: 42px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #115738;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 28px;
	text-align: center;
}

.purpose > ol > li > strong {
	color: #115738;
	font-size: 1.2rem;
	font-weight: 700;
}

.purpose > ol > li > ul {
	list-style: none;
	margin-top: 10px;
}

.purpose > ol > li > ul > li {
	position: relative;
	padding-left: 20px;
}

.purpose > ol > li > ul > li:before {
	content: "•";
	color: #115738;
	position: absolute;
	left: 0;
}

@media (max-width: 1024px) {
	.purpose > ol > li {
		padding: 20px 28px;
		padding-left: 56px;
	}

	.purpose > ol > li::before {
		left: 20px;
		top: 22px;
		width: 24px;
		height: 24px;
		line-height: 24px;
	}

}

@media (max-width: 768px) {
	.purpose > ol > li:before {
		position: relative;
		top: auto;
		left: auto;
		display: block;
		margin-bottom: 12px;
	}

	.purpose > ol > li {
		padding: 24px;
		padding-left: 24px;
	}
}


.impact-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	margin-top: 20px;
}

.impact-grid .impact-num-card {
	text-align: center;
	padding: 40px 20px;
	border: 2px solid #c9d9d2;
	border-radius: 20px;
}

.impact-grid .impact-fig {
	font-size: 2.5rem;
	font-weight: 800;
	color: #115738;
	line-height: 1;
	margin-bottom: 8px;
}

.impact-grid .impact-fig .impact-unit {
	font-size: 1.2rem;
	color: #666;
	font-weight: 700;
	margin-left: 4px;
}

.impact-grid .impact-label {
	font-size: 0.9rem;
	color: #333;
	margin-top: 10px;
	line-height: 1.4;
}

@media (max-width: 1024px) {
	.impact-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.impact-grid .impact-num-card {
		padding: 28px;
	}

	.impact-grid .impact-label {
		font-size: 1.1rem;
	}
}

@media (max-width: 768px) {
	.impact-grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 8px;
	}

	.impact-grid .impact-num-card {
		padding: 24px;
	}

	.impact-grid .impact-fig {
		font-size: 2.2rem;
	}
}

.kboard-form .wp-switch-editor {
	height: 30px;
}


.mb-cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

.mb-cards .mb-card {
	padding: 40px;
	border: 1px solid #115738;
	border-radius: 20px;
}

.mb-cards .mb-card .mb-card-title {
	color: #115738;
	font-size: 1.5rem;
	font-weight: 700;
	margin: 12px 0 20px;
}

.mb-cards .mb-card .mb-card-tag {
	font-size: 0.8rem;
	color: #999;
	margin-bottom: 20px;
	font-weight: 600;
}


.mb-cards .mb-card:nth-child(1) .mb-card-icon-wrap .ico {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23115738'%3E%3Cpath d='M230-280v-300h60v300h-60Zm220 0v-300h60v300h-60ZM110.77-660v-56.92L480-897.69l369.23 180.77V-660H110.77Zm142.46-60h453.54L480-830 253.23-720ZM110.77-140v-60h463.15q1.23 16 3.47 30.5 2.23 14.5 6.3 29.5H110.77ZM670-409.61V-580h60v140.39l-60 30ZM800-15.39q-64-15.84-105.85-73.34-41.84-57.5-41.84-127.73v-94.31L800-384.61l147.69 73.84v94.31q0 70.23-41.84 127.73Q864-31.23 800-15.39Zm-29-113.07L901.15-258l-33.53-33.54L771-196.15l-39-39L698.46-201 771-128.46ZM253.23-720h453.54-453.54Z'/%3E%3C/svg%3E");
	width: 40px;
	height: 40px;
	display: block;
	background-size: contain;
}


.mb-cards .mb-card:nth-child(2) .mb-card-icon-wrap .ico {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23115738'%3E%3Cpath d='M479.23-185.39q-48.38-35.69-104-55.15Q319.62-260 260-260q-36.61 0-71.92 8.11Q152.77-243.77 120-228q-21.38 9.84-40.69-2.93Q60-243.69 60-267.08v-433.53q0-12.93 6.85-23.89 6.84-10.96 19-15.96 40.61-19.77 84.65-29.65Q214.54-780 260-780q58.38 0 113.69 16.54Q429-746.92 480-716.92v459.38q50.62-32 106.81-47.23Q643-320 700-320q34.46 0 65.11 4.85 30.66 4.84 63.35 15.3 4.23 1.16 7.89.2 3.65-.97 3.65-6.35v-449.23q10.38 3.08 20.27 6.85 9.88 3.77 19.27 9.46 10.23 5 15.34 14.61 5.12 9.62 5.12 20.62v435.84q0 23.39-19.89 35.96-19.88 12.58-42.42 3.12-32.38-15.39-67.11-23.31Q735.85-260 700-260q-60 0-116.38 18.88-56.39 18.89-104.39 55.73ZM560-360v-360l200-200v380L560-360Zm-140 73.46v-394.07q-37.61-18.62-77.92-29.01Q301.77-720 260-720q-37 0-70.27 6.81-33.27 6.81-62.42 18.88-3.08 1.16-5.19 3.27-2.12 2.12-2.12 5.19v381.23q0 5.39 3.65 6.35 3.66.96 7.89-.58 29.61-10.69 61.04-15.92Q224-320 260-320q44.85 0 85.69 9.27 40.85 9.27 74.31 24.19Zm0 0v-394.07 394.07Z'/%3E%3C/svg%3E");
	width: 40px;
	height: 40px;
	display: block;
	background-size: contain;
}

.mb-cards .mb-keyword-row {
	display: flex;
	gap: 8px;
	margin-top: 30px;
	flex-flow: row wrap;
}

.mb-cards .mb-keyword-row .mb-keyword {
	color: #115738;
	padding: 4px 12px;
	border-radius: 30px;
	border: 1px solid #115738;
	font-weight: 500;
	font-size: 0.9rem;
}

@media (max-width: 1024px) {
	.mb-cards {
		grid-template-columns: repeat(1, 1fr);
		gap: 20px;
	}

	.mb-cards .mb-card {
		padding: 24px;
	}

	.mb-cards .mb-keyword-row .mb-keyword {
		padding: 4px 8px;
	}

	.mb-cards .mb-keyword-row {
		margin-top: 20px;
	}

	.mb-cards .mb-card .mb-card-title {
		font-size: 1.3rem;
	}


	.mb-cards .mb-card:nth-child(1) .mb-card-icon-wrap .ico {
		width: 32px;
		height: 32px;
	}


	.mb-cards .mb-card:nth-child(2) .mb-card-icon-wrap .ico {
		width: 32px;
		height: 32px;
	}
}


.main-tit {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.main-tit dt {
	color: #111;
	font-size: 1.4rem;
	font-weight: 600;
}

.main-tit dd a {
	color: #777;
	font-size: 1rem;
	font-weight: 600;
}

.main-tit dd a:after {
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23777'%3E%3Cpath d='m517.85-480-184-184L376-706.15 602.15-480 376-253.85 333.85-296l184-184Z'/%3E%3C/svg%3E");
	width: 20px;
	height: 20px;
	display: inline-block;
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
	vertical-align: -4px;
	margin-left: 4px;
}
