@charset "UTF-8";

/* ----------------------------------------------------
	基本設定
---------------------------------------------------- */
/*
	#font
------------------------------ */
body {
	background-color: #fff;
	line-height: 1.8;
	color: #000;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-feature-settings: "pkna";
	letter-spacing: 0.05em;
}

@media(max-width:768px) {
	body {
		font-size: 3.125vw;
	}
}

/*
	#reset
------------------------------ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.lang-active {
    display: flex;
    gap: 4px;
    user-select: none;
    justify-content: center;
}

.lang-active a {
	text-shadow: 4px 4px 6px rgba(0,0,0,0.28);
}

.lang-active:hover {cursor: pointer;}

.lang-option {
    display: none;
}

.lang-option.open {
    display: flex;
    flex-direction: column;
    align-items: end;
    position: fixed;
    top: 72.3px;
    right: 25px;
    font-size: 18px;
    font-weight: 700;
    z-index: 11;
    padding: 4px 12px;
    background: rgba(97, 126, 99, 0.28);
	color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(4px);
}

.lang-option a {
	text-shadow: 4px 4px 6px rgba(0,0,0,0.28);
} 

div#lang {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 25px;
    right: 25px;
    font-size: 18px;
    font-weight: 700;
    z-index: 11;
    padding: 4px 12px;
    background: rgba(97, 126, 99,0.28);
	color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.4);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(4px);
}

select#lang {
    position: fixed;
    top: 25px;
    right: 25px;
    z-index: 11;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.18);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    color: #111;
}

p {
	margin-bottom: 1em;
	word-wrap: break-word;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

ol.normal li,
ul.normal li {
	margin-left: 1em;
	text-indent: -1em;
}

caption,
th {
	text-align: left;
}

a {
	text-decoration: none;
	transition: all 0.5s ease 0s;
}

.lang-option a {
    color: unset;
}

a.current-lang {pointer-events: none;opacity: .6;}

a:hover {
	opacity: 0.7;
}

area {
	border: none;
	outline: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*
	表示設定
------------------------------ */
section {
	width: 100%;
}

.container {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1240px;
	width: 100%;
}

@media(max-width:768px) {
	.container {
		padding: 0 2.60417vw;
	}
}

/*
	SP,PC表示切り替え
------------------------------ */
.pc {
	display: block;
}

.sp {
	display: none;
}

@media(max-width:768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/*
	list（必要なければ消す）
------------------------------ */
.list_style {
	margin-left: 1em;
	text-indent: -1em;
}

/* type */
.list_style.type1 li::before {
	content: "●";
}

/* note */
.list_style.note {
	font-size: 13px;
}

.list_style.note li::before {
	content: "※";
}

@media(max-width:768px) {
	.list_style.note {
		font-size: 3.125vw;
	}
}

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	width: 100%;
	height: 49.781921897810219vw;
	position: relative;
}

.header .container {
	max-width: 1240px;
	height: 100%;
	position: relative;
}

.header .headerBg {
	width: 100%;
	height: 49.781921897810219vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}

.header .headerBg video {
	width: 100%;
	height: auto;
}

.header h1 {
	width: 48.905109489051095%;
	position: fixed;
	top: 8vw;
	left: 7.08029%;
	z-index: 2;
}

.header dl {
	color: #fff;
	font-size: 18px;
	position: absolute;
	right: 4.16058%;
	right: 0;
	bottom: 11.29032vw;
	z-index: 2;
}

.header dl dt {
	margin-bottom: 1em;
	line-height: 1.5;
	font-size: 32px;
}

@media(max-width: 1280px) {
	.header dl {
		font-size: 1.40625vw;
	}

	.header dl dt {
		font-size: 2.5vw;
	}
}

@media(max-width: 768px) {
	.header {
		height: 158.854166667vw;
	}

	.header .headerBg {
		height: 158.854166667vw;
		overflow: hidden;
	}

	.header .headerBg video {
		width: auto;
		height: 100%;
	}

	.header h1 {
		width: 81.5104167%;
		position: absolute;
		top: 8vw;
		left: 7.08029%;
		z-index: 2;
	}

	.header dl {
		width: 85%;
		font-size: 3.38542vw;
		right: auto;
		bottom: 14.84375vw;
		left: 50%;
		transform: translateX(-50%);
	}

	.header dl dt {
		font-size: 4.81771vw;
	}
}

/* ----------------------------------------------------
	toggle nav
---------------------------------------------------- */
/*
	toggle
------------------------------ */
.toggle {
	position: fixed;
	top: 90.1px;
	right: 25px;
	z-index: 1000;
}

.toggle.is-lang-open {
    top: 170.1px;
}

.toggle_inner {
	position: relative;
	width: 32px;
	height: 32px;
	cursor: pointer;
}

.is-open .toggle {
    top: 25px;
}

.toggle_inner>span {
	background: #79997c;
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	left: 0;
	transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;
}

.toggle_inner>span:nth-child(1) {
	top: 2px;
}

.toggle_inner>span:nth-child(2) {
	top: 50%;
	transform: translatey(-50%);
}

.toggle_inner>span:nth-child(3) {
	bottom: 2px;
}

/*
	gnav
------------------------------ */
.gnav {
	background: #617d64;
	padding-top: 60px;
	max-width: 350px;
	width: 100%;
	height: 100%;
	color: #fff;
	overflow: auto;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 999;
	transform: translateX(100%);
	transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.gnav a {
	padding: 1em;
	color: #fff;
	text-decoration: none;
	display: block;
	transition: opacity .6s ease;
}

.gnav a.blank {
	background: #abbbab url(../img/arrow01.svg) right 1em center no-repeat;
	background-size: auto 10px;
	margin-top: 1em;
	color: #617d64;
}

.gnav a small {
	display: block;
}

.gnav a:hover {
	opacity: 0.6;
}

/* is-open */
.is-open {
	overflow: hidden;
}

.is-open .toggle_inner>span {
	background: #fff;
}

.is-open .toggle_inner>span:nth-child(1) {
	top: 50%;
	transform: rotate(45deg) translatey(-50%);
}

.is-open .toggle_inner>span:nth-child(2) {
	width: 0;
}

.is-open .toggle_inner>span:nth-child(3) {
	top: 50%;
	transform: rotate(-45deg) translatey(-50%);
}

.is-open .gnav {
	z-index: 999;
	transform: translateX(0);
}

.filter.overlay {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 998;
}

/* ---------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background: #fff;
	padding-top: 110px;
	position: relative;
	z-index: 10;
}

.footer .container {
	max-width: 980px;
}

@media (max-width: 768px) {
	.footer {
		padding-top: 13.02083vw;
	}
}

/*
	link btn
------------------------------ */
.footer .link_btn {
	margin: 0 auto;
	max-width: 880px;
}

.footer .link_btn a {
	background: url(../img/arrow02.svg) right 12% center no-repeat;
	background-size: auto 14px;
	padding-left: 12%;
	height: 200px;
	line-height: 200px;
	color: #79997c;
	font-size: 24px;
	font-weight: bold;
	border: solid 1px #79997c;
	display: block;
}

@media (max-width: 768px) {
	.footer .link_btn a {
		background: url(../img/arrow02.svg) right 5% center no-repeat;
		background-size: auto 2.60417vw;
		padding-left: 5%;
		height: 26.04167vw;
		line-height: 26.04167vw;
		font-size: 3.51563vw;
	}
}

/*
	note
------------------------------ */
.footer .note {
	padding: 65px 0 55px;
}

@media (max-width: 768px) {
	.footer .note {
		padding: 7.81250vw 0 0;
	}
}

/*
	hotel list
------------------------------ */
.footer .hotel_list {
	padding: 55px 0;
	line-height: 1;
	display: flex;
	justify-content: center;
}

.footer .hotel_list,
.footer .hotel_list li a {
	color: #000;
}

.footer .hotel_list::before,
.footer .hotel_list li::after {
	content: "｜";
}

.footer .hotel_list li a {
	padding: 0 1em;
	display: inline-block;
}

@media (max-width: 768px) {
	.footer .hotel_list {
		padding: 7.81250vw 0 13.02083vw;
		line-height: 3;
		text-align: center;
		display: block;
	}

	.footer .hotel_list li a {
		padding: 0 0.5em;
	}

	.footer .hotel_list::before {
		content: "";
	}

	.footer .hotel_list li::before {
		content: "｜";
	}
}

/* ----------------------------------------------------
	copyright
---------------------------------------------------- */
.footer .copyright {
	text-align: center;
	color: #808080;
	font-size: 14px;
	padding-bottom: 20px;
}
@media (max-width: 768px) {
	.footer .copyright {
		font-size: 12px;
	}	
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	background: #ebf0eb;
	position: relative;
	z-index: 10;
	min-height: calc(100vh - 10vh);
	overflow-x: clip;
}

@media (max-width: 768px) {
	.main {}
}

/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead {
	background: #ebf0eb;
	padding: 125px 0;
	text-align: center;
	position: relative;
	z-index: 10;
}

.lead .lead_title {
	margin: 0 auto 56px;
	max-width: 560px;
}

.lead .lead_text {
	margin-bottom: 125px;
	line-height: 2;
	font-size: 18px;
}

@media (max-width: 768px) {
	.lead {
		padding: 15.625vw 0;
	}

	.lead .lead_title {
		margin: 0 auto 9.76563vw;
		width: 79.94792vw;
	}

	.lead .lead_text {
		margin-bottom: 13.02083vw;
		font-size: 3.38542vw;
	}
}

/*
	lead nav
------------------------------ */
.lead .lead_nav {
	margin-bottom: 155px;
}

.lead .lead_nav ul {
	display: flex;
	justify-content: space-between;
}

.lead .lead_nav li.ef {
	width: 17.25%;
}

.lead .lead_nav li.oa {
	width: 20.08333%;
}

.lead .lead_nav li.cs {
	width: 23.66667%;
}

.lead .lead_nav li.wp {
	width: 22.5%;
}

.lead .lead_nav li a {
	height: 100%;
	display: flex;
	align-items: flex-end;
}

@media (max-width: 768px) {
	.lead .lead_nav {
		margin-bottom: 8.59375vw;
	}

	.lead .lead_nav ul {
		flex-wrap: wrap;
	}

	.lead .lead_nav li {
		margin-bottom: 10.54688vw;
		width: 50% !important;
	}

	.lead .lead_nav li a {
		justify-content: center;
	}

	.lead .lead_nav li.ef img {
		width: 29.42708vw;
	}

	.lead .lead_nav li.oa img {
		width: 34.375vw;
	}

	.lead .lead_nav li.cs img {
		width: 43.09896vw;
	}

	.lead .lead_nav li.wp img {
		width: 38.41146vw;
	}
}

/*
	about
------------------------------ */
.lead .about dt {
	margin: 0 auto 34px;
	max-width: 538px;
}

.lead .about dd a {
	color: #000;
	text-decoration: underline;
}

.lead .about dd a::before {
	content: "＞";
}

.lead .about dd a:hover {
	text-decoration: none;
}

@media (max-width: 768px) {
	.lead .about dt {
		margin: 0 auto 7.16146vw;
		width: 76.5625vw;
	}
}

/* ----------------------------------------------------
	attempt
---------------------------------------------------- */
.attempt {
	background: #ebf0eb;
	padding: 125px 0;
	text-align: center;
	position: relative;
	z-index: 10;
}

.attempt .attempt_title {
	margin: 0 auto 56px;
	max-width: 630px;
}

.attempt .attempt_text {
	margin-bottom: 75px;
	line-height: 2;
	font-size: 18px;
}

@media (max-width: 768px) {
	.attempt {
		padding: 15.625vw 0;
	}

	.attempt .attempt_title {
		margin: 0 auto 9.76563vw;
		width: 79.94792vw;
	}

	.attempt .attempt_text {
		margin-bottom: 13.02083vw;
		font-size: 3.38542vw;
	}
}

/*
	attempt list
------------------------------ */
.attempt .attempt_list {
	margin-bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.attempt .attempt_item {
	background: #fff;
	margin-bottom: 42px;
	padding: 40px 0;
	width: 47.25%;
	display: flex;
	align-items: center;
}

@media (max-width: 768px) {
	.attempt .attempt_list {
		margin-bottom: 7.16146vw;
		display: block;
	}

	.attempt .attempt_item {
		margin-bottom: 5.85938vw;
		padding: 7.16146vw 0;
		width: 100%;
		display: block;
	}
}

/*
	logo
------------------------------ */
.attempt .attempt_logo {
	width: 46%;
}

.attempt .attempt_logo.logo1 img {
	width: 54.23077%;
}

.attempt .attempt_logo.logo2 img {
	width: 60.38462%;
}

.attempt .attempt_logo.logo3 img {
	width: 71.92308%;
}

.attempt .attempt_logo.logo4 img {
	width: 61.92308%;
}

@media (max-width: 768px) {
	.attempt .attempt_logo {
		width: 100%;
	}
}

/*
	detail
------------------------------ */
.attempt .attempt_detail {
	width: 54%;
	text-align: left;
}

.attempt .attempt_detail dl {}

.attempt .attempt_detail dt {
	margin: 0 1em 1em 0;
	padding-right: 1em;
	color: #79997c;
	border-bottom: solid 3px #79997c;
	display: inline-block;
}

.attempt .attempt_detail dd {
	line-height: 1.5;
	font-size: 17px;
}

.attempt .attempt_detail dd p {
	padding-right: 1em;
}

@media (max-width: 768px) {
	.attempt .attempt_detail {
		width: 100%;
	}

	.attempt .attempt_detail dl {
		padding: 2em 1em 0;
		text-align: center;
	}

	.attempt .attempt_detail dt {
		margin: 0 auto 2em;
		padding-right: 0;
		font-size: 3.64583vw;
		display: inline-block;
	}

	.attempt .attempt_detail dd {
		margin-bottom: 2em;
		line-height: 1.5;
		font-size: 3.64583vw;
	}

	.attempt .attempt_detail dd p {
		padding-right: 0;
	}
}

/* icon */
.attempt .icon_list {
	max-width: 240px;
	width: 80%;
	display: flex;
	flex-wrap: wrap;
}

.attempt .icon_list li {
	margin: 0 4px 4px 0;
	width: 56px;
}

.attempt .icon_list li:last-of-type {
	margin-right: 0;
}

@media (max-width: 768px) {
	.attempt .icon_list {
		max-width: 100%;
		width: 100%;
		justify-content: center;
	}

	.attempt .icon_list li {
		margin: 0 1.171875vw 1.171875vw 0;
		width: 12.5vw;
	}
}

/*
	attempt link
------------------------------ */
.attempt_link {
	margin: 0 auto;
	max-width: 670px;
}

.attempt_link a {
	background: url(../img/arrow01.svg) right 7% center no-repeat;
	background-size: auto 10px;
	padding: 0 7%;
	height: 100px;
	line-height: 100px;
	color: #79997c;
	font-size: 22px;
	font-weight: bold;
	text-align: left;
	border: solid 1px #79997c;
	display: block;
}

@media (max-width: 768px) {
	.attempt_link {
		max-width: 100%;
	}

	.attempt_link a {
		background: url(../img/arrow01.svg) right 5% center no-repeat;
		background-size: auto 2.60417vw;
		padding: 0 0 0 2.5%;
		height: 26.04167vw;
		line-height: 26.04167vw;
		font-size: 3.51563vw;
	}
}

/* ----------------------------------------------------
	contents
---------------------------------------------------- */
.contents {
	background-attachment: fixed;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	/* min-height: 100vh; */
	position: relative;
	z-index: 10;
}

.contents .container {
	margin: 0 auto;
	padding-top: 125px;
	padding-bottom: 125px;
	max-width: 1240px;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 10;
}

@media (max-width: 768px) {
	.contents {}

	.contents .container {
		padding-top: 16.27604vw;
		padding-bottom: 16.27604vw;
		display: block;
	}
}

/* Earth Friendly */
#ef {
	background-image: url(../img/efBg.jpg);
}

#ef .contents_title img {
	width: 89.72222%;
	/* top: -3.57664vw; */
}

/* Our Action */
#oa {
	background-image: url(../img/oaBg.jpg);
}

#oa .container {
	flex-direction: row-reverse;
}

#oa .contents_title img {
	width: 93.61111%;
	/* top: -3.64964vw; */
}

/* Community & Social */
#cs {
	background-image: url(../img/csBg.jpg);
}

#cs .container {
	flex-direction: row-reverse;
}

#cs .contents_title img {
	width: 121.38889%;
	/* top: 1.09489vw; */
}

/* @media (max-width: 1380px) {
	#cs .contents_title img {
		width: 100%;
	}
} */

/* With People */
#wp {
	background-image: url(../img/wpBg.jpg);
}

#wp .contents_title img {
	width: 85.27778%;
	/* top: -3.43066vw; */
}

@media (max-width: 768px) {

	#ef,
	#oa,
	#cs,
	#wp {
		background: none;
		margin-top: -5px;
	}

	#ef .contents_title img,
	#oa .contents_title img,
	#cs .contents_title img,
	#wp .contents_title img {
		top: 0;
	}

	/* Earth Friendly */
	#ef .contents_title img {
		width: 80%;
	}

	/* Our Action */
	#oa .contents_title img {
		width: 58%;
	}

	/* Community & Social */
	#cs .contents_title img {
		width: 100%;
	}

	/* With People */
	#wp .contents_title img {
		width: 68%;
	}
}

/*
	contents title
------------------------------ */
.contents .contents_title {
	width: 30%;
	position: relative;
}

.contents .contents_title img {
	position: sticky;
	top: 0;
}

@media (max-width: 768px) {
	.contents .contents_title {
		margin-bottom: 6.25vw;
		width: 100%;
		text-align: center;
	}

	.contents .contents_title img {
		position: static;
	}
}

/*
	contents detail
------------------------------ */
.contents .contents_detail {
	width: 65.66667%;
}

.contents .contents_detail .wrap {
	background: #fff;
	margin-bottom: 30px;
	padding: 40px 2.5% 40px 3.6802%;
	display: flex;
	justify-content: space-between;
}

.contents .contents_detail .wrap .image {
	width: 47%;
}

@media (max-width: 768px) {
	.contents .contents_detail {
		width: 100%;
	}

	.contents .contents_detail .wrap {
		margin-bottom: 5.20833vw;
		padding: 7.03125vw 6.51042vw;
		display: block;
	}

	.contents .contents_detail .wrap .image {
		width: 100%;
	}
}

/* text */
.contents .contents_detail .wrap .text {
	width: 49%;
}

.contents .contents_detail .wrap .text dt {
	line-height: 1.5;
	font-size: 22px;
	font-weight: bold;
}

.contents .contents_detail .wrap .text dt small {
	padding-right: 1em;
	color: #79997c;
	font-size: 16px;
	border-bottom: solid 3px #79997c;
	display: inline-block;
}

.contents .contents_detail .wrap .text dt span {
	margin: 1em 0 0.75em;
	line-height: 1.2;
	display: block;
}

.contents .contents_detail .wrap .text dd {
	margin-bottom: 1.25em;
	font-size: 14px;
	letter-spacing: -0.01em;
}

.contents .contents_detail .wrap .text dd .link a {
	color: #0d75b7;
	text-decoration: underline;
}

.contents .contents_detail .wrap .text dd .link a:hover {
	text-decoration: none;
}

.contents .contents_detail .wrap .text dd .link a::after {
	content: "＞";
}

@media (max-width: 768px) {
	.contents .contents_detail .wrap .text {
		width: 100%;
	}

	.contents .contents_detail .wrap .text dt {
		margin-top: 1em;
		font-size: 4.42708vw;
	}

	.contents .contents_detail .wrap .text dt small {
		font-size: 3.125vw;
	}

	.contents .contents_detail .wrap .text dd {
		font-size: 3.64583vw;
	}
}

/* icon */
.contents .contents_detail .wrap .icon_list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.contents .contents_detail .wrap .icon_list li {
	margin: 0 4px 4px 0;
	width: 56px;
}

.contents .contents_detail .wrap .icon_list li:last-of-type {
	margin-right: 0;
}

@media (max-width: 768px) {
	.contents .contents_detail .wrap .icon_list {
		justify-content: center;
	}

	.contents .contents_detail .wrap .icon_list li {
		margin: 0 1.171875vw 1.171875vw 0;
		width: 12.5vw;
	}
}


/*
	fixedBg
------------------------------ */
.fixedBg {
	display: none;
}

@media (max-width: 768px) {
	.fixedBg {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		/* display: none; */
	}

	.fixedBg .bgClip {
		height: 100%;
		overflow: hidden;
		position: relative;
		clip-path: inset(0 0 0 0);
	}

	.fixedBg .bgClip img {
		width: auto;
		height: 100vh;
		height: auto;
		position: fixed;
		top: 0;
		left: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}

/* ----------------------------------------------------
	pagetop
---------------------------------------------------- */
#pageTop a {
	background: rgba(97, 125, 100, 0.8);
	width: 64px;
	height: 64px;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 100;
}

#pageTop a img {
	width: 16px;
	height: auto;
	fill: #fff;
}