/* Sustainability */

/* Agriculture */

#agriculture_circular_text {
    float: left;
    width: 55%;
}
#agriculture_circular_text p:not(:last-of-type) {
    margin-bottom: 1em;
}
#agriculture_circular_image {
    float: right;
    width: 40%;
}
#agriculture_motto h4 {
    font-size: 1.5em;
    line-height: 2em;
}
.agriculture_goals_pane {
    float: left;
    width: 30%;
}
.agriculture_goals_pane:nth-of-type(3n - 1) {
    margin: 0 5%;
}
.agriculture_goals_pane_heading {
    margin-bottom: 1em;
}
.agriculture_goals_pane_heading h4 {
    float: right;
    width: calc(100% - 100px);
    font-size: 1.5em;
    font-weight: 500;
    line-height: 80px;
}
.agriculture_goals_pane_image {
    float: left;
    width: 80px;
    margin-bottom: 1.5em;
    aspect-ratio: 1 / 1;
    background: #fff;
    /* border: 1px solid #ccc; */
    border-radius: 50%;
    overflow: hidden;
}
.agriculture_goals_pane_text p {
    line-height: 1.5em;
}
#agriculture_promises h3.title {
	margin: 0 auto 1em auto;
	width: 70%;
}
#agriculture_promises h4.title {
	margin-bottom: 3em !important;
	font-size: 1.35em !important;
	line-height: 1.6em;
}
#agriculture_promises .inner {
    padding: 5em 0;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.agriculture_promise {
	float: left;
	margin-bottom: 1em;
	padding: 1em 1.5em;
	width: 31%;
		-o-border-radius: 5px;
		-ms-border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	border-radius: 5px;
		-o-transition: all 200ms linear;
		-ms-transition: all 200ms linear;
		-moz-transition: all 200ms linear;
		-webkit-transition: all 200ms linear;
	transition: all 200ms linear;
		/* filter: alpha(opacity=0);
		-moz-opacity: 0;
	opacity: 0; */
}
._agriculture_promise:hover {
	background: #F0F0F0;
		-o-transition: all 200ms linear;
		-ms-transition: all 200ms linear;
		-moz-transition: all 200ms linear;
		-webkit-transition: all 200ms linear;
	transition: all 200ms linear;
}
.agriculture_promise:nth-of-type(3n - 1) {
	margin: 0 3.5% 1em 3.5%;
}
.agriculture_promise:nth-of-type(3n + 1) {
	clear: both;
}
.agriculture_promise .agriculture_promise_num {
	float: left;
	width: 50px;
	font-size: 6em;
	line-height: 1em;
}
.agriculture_promise .agriculture_promise_text {
	float: right;
	width: calc(100% - 65px);
}
.agriculture_promise .agriculture_promise_text h5.title {
	margin-bottom: 0.4em;
	font-size: 1.2em;
	font-size: 1.3em;
}
.agriculture_promise .agriculture_promise_text p {
	font-size: 1.05em;
}

.agriculture_promise_icon {
	margin: 0 auto 1em auto !important;
	width: 18%;
}
#agriculture_promise_1 {
	color: #84593A;
}
#agriculture_promise_2 {
	color: #4B1000;
}
#agriculture_promise_3 {
	color: #604C3F;
}
#agriculture_promise_4 {
	color: #B2823E;
}
#agriculture_promise_5 {
	color: #006934;
}
#agriculture_promise_6 {
	color: #BC0B21;
}
#agriculture_promise_7 {
	color: #241201;
}
#agriculture_promise_8 {
	color: #A48B78;
}
#agriculture_promise_9 {
	color: #78360F;
}


/* Resilience */

#resilience_challenges h5 {
    margin-bottom: 2em;
    line-height: 2em;
}
#resilience_challenges_panes {
    counter-reset: number 0;
}
.resilience_challenges_pane {
    float: left;
    position: relative;
    padding: 4em 2em 2em 2em;
    width: 32%;
    background: #fff;
    border-radius: 10px;
}
.resilience_challenges_pane::before {
    position: absolute;
    top: 1.5em;
    left: 2em;
    counter-increment: number 1;
	content: 'Challenge ' counter(number, decimal-leading-zero);
    font-size: 0.85em;
    letter-spacing: 0;
    color: #ccc;
}
.resilience_challenges_pane:nth-of-type(3n - 1) {
    margin: 0 2%;
}
.resilience_challenges_pane:nth-of-type(3n + 1) {
    clear: both;
}
.resilience_challenges_pane:nth-last-of-type(n + 4) {
    margin-bottom: 1.5em;
}
.resilience_challenges_pane p {
    position: relative;
    font-size: 1.1em;
    line-height: 1.4em;
    z-index: 10;
}
#resilience_supports_image {
    float: right;
    width: 35%;
}
#resilience_supports_text {
    float: left;
    width: 60%;
}
#resilience_action_text p:not(:last-of-type),
#resilience_approach_text p:not(:last-of-type),
#resilience_supports_text p:not(:last-of-type) {
    margin-bottom: 1em;
}
#resilience_approach_text {
    margin-bottom: 3em;
}
#resilience_approach h4 {
	font-weight: 500;
	font-size: 1.2em;
}
#resilience_approach .buttons {
	margin-top: 3em;
}
#resilience_approach .button {
	margin-top: 0 !important;
}
#resilience_approach h4 {
	margin-bottom: 1em;
}
#resilience_action_graph {
	margin: 2.5em 0 !important;
	padding: 2.5em;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}
#resilience_image {
	margin-top: 3.5em;
}

/* village */

#village_summary_video {
	position: absolute;
	width: 100%;
	min-width: 1080px;
	min-height: 580px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#village_summary_video video {
	width: 100%;
}
.page_village #header {
	background: none;
}
.page_village.fixed #header {
	background: #fff;
}
#village_hero {
	margin-bottom: 4.6em;
	height: 580px;
	overflow: hidden;
}
#video_message {
	position: absolute;
	left: 10%;
	top: 50%;
	color: #fff !important;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	font-size: 1.45em;
	transform: translateY(-50%);
	z-index: 10;
}
#neck.neck_village {
	margin-top: 0;
}
#village_summary {
	position: relative;
	margin: 0 auto 5.5em auto;
}
#village_summary_text {
	margin-bottom: 3.5em;
}


#tie {
	margin: 6.5em auto 6.5em auto;
	padding: 30px 0;
	text-align: center;
	background: #97d2c6;
}
#tie img {
	width: 600px;
	height: auto;
	transform: scale(0.95);
	opacity: 0;
}
#tie.revealed img {
	animation: moving 700ms 1 ease-in-out forwards;
}
@keyframes moving {
	0% {
		opacity: 0;
		transform: scale(0.95);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}


#village_news {
	margin-bottom: 3.5em !important;
}
#village_news h3.title {
	font-size: 1.15em;
}
#_village_news .news_list_main {
	float: none;
	margin: 0 auto;
	padding-left: 0;
	width: 70%;
	border-left: none;
}
#village_news .news_list_main {
	margin-bottom: 3.5em;
	padding-left: 60px;
	width: calc(100% - 200px);
}
#village_news .news_list_side {
	position: sticky;
	top: 90px;
	width: 200px;
}
#village_news .news_list_main li {
	padding-top: 1.1em;
	padding-bottom: 1em;
}
#_village_news .news_list_title {
	font-size: 0.95em;
}
#village_project_image {
	position: relative;
	float: right;
	margin-top: 5em;
	width: 25%;
	aspect-ratio: 1/1;
	overflow: hidden;
}
#village_project_text {
	float: left;
	width: 66%;
}
#village_project h3.title {
	font-size: 1.5em !important;
}
#village_project h3.title .label {
	display: block;
	margin-top: 0.45em;
	font-size: 0.65em !important;
}
.village_chart_element {
	position: absolute;
	margin: 0 !important;
	width: 74px;
	height: 74px;
	line-height: 74px;
	color: #fff;
	text-align: center;
	font-size: 1.2em;
	font-size: 1.05em;
	font-weight: 500;
	letter-spacing: 0;
	border-radius: 50%;
	background: #eee;
	opacity: 0;
}
#village_chart_agri {
	left: 50%;
	top: 50%;
	margin: -48px 0 0 -48px !important;
	width: 96px;
	height: 96px;
	line-height: 96px;
	background: #53aa42;
	opacity: 1;
}
#village_chart_agri::before {
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -100px 0 0 -100px;
	width: 200px;
	height: 200px;
	content: '';
	background: #53aa42;
	background: #fff;
	border: solid 2px #53aa42;
	border-radius: 50%;
	opacity: 0.15;
	z-index: 0;
	animation: agri_motion 2400ms infinite ease-in-out forwards;
}
@keyframes agri_motion {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

#village_chart_foods {
	left: 0;
	top: 0;
	left: 20px;
	top: 20px;
	background: #e9b44f;
}
.inview #village_chart_foods {
	animation: foods_motion 650ms 200ms 1 ease-in-out forwards;
}
@keyframes foods_motion {
	0% {
		left: 20px;
		top: 20px;
		opacity: 0;
	}
	100% {
		left: 0;
		top: 0;
		opacity: 1;
	}
}
#village_chart_welfare {
	right: 0;
	top: 0;
	right: 20px;
	top: 20px;
	background: #ef5252;
}
.inview #village_chart_welfare {
	animation: welfare_motion 650ms 500ms 1 ease-in-out forwards;
}
@keyframes welfare_motion {
	0% {
		right: 20px;
		top: 20px;
		opacity: 0;
	}
	100% {
		right: 0;
		top: 0;
		opacity: 1;
	}
}

#village_chart_health {
	left: 0;
	bottom: 0;
	left: 20px;
	bottom: 20px;
	background: #4a8eeb;
}
.inview #village_chart_health {
	animation: health_motion 650ms 800ms 1 ease-in-out forwards;
}
@keyframes health_motion {
	0% {
		left: 20px;
		bottom: 20px;
		opacity: 0;
	}
	100% {
		left: 0;
		bottom: 0;
		opacity: 1;
	}
}
#village_chart_tourism {
	right: 0;
	bottom: 0;
	right: 20px;
	bottom: 20px;
	background: #1acdad;
}
.inview #village_chart_tourism {
	animation: tourism_motion 650ms 1100ms 1 ease-in-out forwards;
}
@keyframes tourism_motion {
	0% {
		right: 20px;
		bottom: 20px;
		opacity: 0;
	}
	100% {
		right: 0;
		bottom: 0;
		opacity: 1;
	}
}

#village_facility_panes {
	margin-top: 3.5em;
}
.village_facility_pane {
	clear: both;
	float: left;
	margin-right: 3.2%;
	margin-right: 0;
	margin-bottom: 2.5em;
	width: 22.6%;
	width: 48%;
	background: #fff;
	border: 1px solid #eaeaea;
	border-radius: 10px;
	overflow: hidden;
}
.village_facility_pane:nth-of-type(even) {
	clear: none;
	float: right;
}
.village_facility_pane p {
	margin-bottom: 0 !important;
}
._village_facility_pane:last-of-type {
	margin-right: 0;
}
.village_facility_pane_image {
}
.village_facility_pane_text {
	padding: 1.2em;
	padding: 1.8em;
}
.village_facility_pane_text h4 {
	margin-bottom: 0.5em;
	font-size: 1.05em;
	font-weight: 500;
	line-height: 1.5em;
}
.village_facility_pane_text p {
	font-size: 0.85em;
	line-height: 1.7em;
}

.village_accelerate_pane {
	float: left;
	width: 46.5%;
}
.village_accelerate_pane:nth-of-type(even) {
	float: right;
}
.village_accelerate_pane h4.title {
	font-weight: 500;
}

#village_accelerate a {
	text-decoration: none !important;
}

#village_cycle {
	border-radius: 18px;
	border: solid 5px #eef4f0;
	border: none;
	background: #f7f7ef;
	background: #f3f3f3;
	background: #fff;
}
#village_cycle_image {
	padding: 2.5em;
	border-radius: 17px;
	overflow: hidden;
	mix-blend-mode: multiply;
}
#village_cycle_text {
	padding: 0 4em 3.2em 4em;
}
#village_cycle_developments {
	margin-top: 2.5em;
}
.village_cycle_development {
	float: left;
	padding: 2em 2.5em;
	width: 47.5%;
	background: #fff;
	background: #f3f3f3;
	border-radius: 8px;
	overflow: hidden;
}
.village_cycle_development:nth-of-type(even) {
	float: right;
}
.village_cycle_development h4.title {
	margin-bottom: 0.5em;
	font-weight: 500;
}
.village_cycle_development p {
	margin-bottom: 0 !important;
	font-size: 0.9em;
	line-height: 1.75em;
}

#_village_goal {
	margin-top: 8em;
}
#village_goal h3 {
	margin: 0 10%;
	padding: 1.5em 0.5em;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.9em;
	border-top: solid 2px #222;
	border-bottom: solid 2px #222;
}

#village_tour {
	padding: 4em 0 3em 0;
	border-top: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
	background: #fafafa;
	background: #fff;
	background: none;
}
#village_tour_call {
	float: right;
}
#village_tour_call .button {
	float: right;
	clear: both;
	margin-right: 0;
	margin-top: 1em;
}
#village_tour_call .button p {
	margin: 0;
}
#village_tour_call .button:first-of-type {
	margin-top: 0;
}
#village_tour_call a {
	text-decoration: none !important;
}
#village_tour table {
	width: 100%;
	border: solid 1px #ddd;
	border-collapse: collapse;
	background: #fff;
}
#village_tour h5 {
	line-height: 1.6em;
}
#village_tour th {
	background: #fff;
	background: #fafafa;
	background: #ddd;
}
#village_tour td,
#village_tour th {
	padding: 1em 1.35em;
	border: solid 1px #ddd;
	border-collapse: collapse;
}
#village_tour thead th {
	padding: 1.5em;
	border-bottom: solid 1px #555;
	text-align: center;
	font-weight: 500;
}
#village_tour tbody {
	font-size: 0.9em;
	line-height: 1.6em;
}
#village_tour tbody th {
	width: 18%;
	font-weight: 500;
	vertical-align: middle;
}
#village_tour tbody td {
	padding: 1em 1.5em;
	width: 41%;
	vertical-align: middle;
	text-align: center;
}
#village_tour tbody #row_desc td,
#village_tour tbody #row_total td {
	text-align: left;
}
#village_tour thead th:first-child,
#village_tour tbody th:nth-child(1n) {
	border-right: solid 1px #555;
}
#village_tour tbody td:nth-child(3n) {
	background: #f5efe6;
	background: #fafafa;
	background: #fff;
}
#village_tour tbody td:nth-child(2n) {
	background: #f5faf3;
	background: #fff;
}
#village_tour tbody th .label {
	display: block;
	font-size: 0.8em;
}
#row_price_per td,
#row_price_base td {
	font-size: 1.05em;
	font-weight: 500;
}
.village_tour_data {
	float: left;
	width: 50%;
}
#village_tour_schedule {
	margin: 0 0 3.5em 0 !important;
}
#village_tour_toc li {
	position: relative;
	float: left;
	margin-right: 60px;
	padding: 1em 1.5em;
	font-size: 0.9em;
	background: #fff;
	border: solid 1px #ddd;
	border-radius: 4px;
	list-style: none !important;
}
#village_tour_toc li:not(:last-of-type)::after {
	position: absolute;
	right: -45px;
	top: 50%;
	content: '';
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background: url(../images/common/icon_arrow.png) no-repeat center / cover;
}
#village_tour_toc li span {
	font-size: 0.7em;
}
#village_tour h4#village_tour_reservation {
	margin-bottom: 0.5em;
	font-size: 1.15em;
	font-weight: 500;
}
#village_tour h4#village_tour_reservation .label {
	margin-left: 0.5em;
	font-size: 0.8em;
}
#village_tour_details {
	margin-top: 3.5em;
	margin-bottom: 3.5em;
}
.village_tour_data ul {
	margin: 0 !important;
	font-size: 0.95em;
}
.village_tour_data li span {
	font-size: 0.7em;
}
#village_tour_schedule h5,
.village_tour_data h5 {
	margin-bottom: 0.5em;
	font-weight: 500;
}
#village_tour_schedule ul {
	margin: 1em 0 !important;
}
#village_tour .note li {
	margin-top: 0;
	list-style: none !important;
	font-size: 0.85em;
}

@media screen and (max-width: 950px) and (min-width: 601px) {
	
	#page_heading.w_submenu h2.title {
		letter-spacing: 0;
	}
	#page_heading_menu li {
		font-size: 0.8em;
		letter-spacing: 0;
	}
	
}