@charset "UTF-8"; 
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300&display=swap');/* google fonts */


body {	
	font-family: 'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic','Meiryo',sans-serif;
	font-size:16px; /* font-size: 1vw; */
	font-weight:normal;
	color:#444;
	line-height:1.8em;
	font-feature-settings: "palt"; /* 日本語フォントを自動カーニングする（文字間の字詰め） */
	letter-spacing:0.05em; /* 文字間隔 */
	height:100%;
	background-color:#fffdcbe6;
	/* background:url('https://elcc.jp/wp-content/themes/original/img/bg-02.png') center top / cover repeat; */
	/* background-attachment: fixed;  背景画像を固定 */
	background-blend-mode:normal;  
}

/*** Frame ***/
.container {
	margin:0;
}
.inner {
	width:calc(100% - 4em);
	max-width:60em;
	margin:3.0em auto;	
}
.front .inner {
	max-width:65em;
}
.container.page main > .inner { 
	margin:3em auto;	
}
.container.single main > .inner { 
	margin:3em auto;	
}
.inner:has(.loop) { /* 子要素.loopを持つ */
	margin:2em auto 4em;	
}

header > .inner {
	width:100%;
	max-width:calc(100% - 4em);
	margin:1.0em auto 0.5em;
}
footer > .inner {
	margin:2.5em auto;	
}

/* 横幅1000px以下 */
@media screen and (max-width: 1000px) { /* 左右の余白を作る */
	.container > .inner ,header > .inner ,footer > .inner , .mainImage .inner {
		max-width:calc(100% - 2em);
		margin-left:auto;
		margin-right:auto;
	}
}
/* 横幅640px以下 */
@media screen and (max-width: 640px) {
	.inner {
		width:calc(100% - 3em);
		margin-left:auto;
		margin-right:auto;
	}
	.container.page main > .inner , .container.single main > .inner { /* 固定ページとシングルページ */
		margin:3em auto;	
	}
	header .inner {
		margin:0 auto;	
	}
}


/*** heading ***/
h1 {
	color:#05c5a1;
	font-size:2.0rem;
	line-height:1.3em;
	margin:0 0 0.5em 0;
    padding:0 0 0.3em 0;
}
h2 {
	color:#05c5a1;
	font-size:2.4rem;
	line-height:1.4em;
	margin:0 0 0.4em 0;
    padding:0;
}
h3 {
	color:#05c5a1;
	font-size:2.0rem;
	line-height:1.4em;
	margin:0 0 0.5em 0;
    padding:0;
	border:none;
}
h4 {
	color:#05c5a1;
	font-size:1.0rem;
	padding:0 0 0.1em 0.1em;
	margin:0 0 0.6em 0;
}
h5 {
	display:inline-block;
	font-size:1rem;
	line-height:1.8em;
	padding:0 1.0em;
	margin:0 0 0.6em 0;
	border:thin solid #333;
}
h6 {
	color:#333;
	font-size:1.3rem;
	line-height:1.8em;
	margin:0 0 0.5em 0;
    padding:0 0 0 2.0em;
	border:none;	
	background:url('https://elcc.jp/wp-content/themes/original/img/mark-elcc.png') left center / 1.5em no-repeat;
}
/* page */
.page h1 {
	letter-spacing:0; /* 文字間隔 */
}
.page h2  {
	font-weight:bold;
	font-size:2.6rem;
	color:#05c5a1;
	line-height:1.2em;
	margin:0 0 0.4em 0;
    padding:0;
}
.page h3  {
	font-size:1.6rem;
	font-weight:bold;
	color:#05c5a1;
	line-height:1.6em;
	margin:0 0 1.6rem 0;
    padding:0.2em 0 0.2em 0.7em;
	border:none;
	border-left:0.4rem solid currentcolor;
	background:#fff;
}
.page h4  {
	color:#05c5a1;
	font-size:1.5rem;
	line-height:1.4em;
	font-weight:bold;
	margin:0;
	padding:0 0 0.5em 0;
	border:none;
}
.page h5  {
	display:inline-block;
	font-size:1rem;
	line-height:1.8em;
	padding:0 1.0em;
	margin:0 0 0.2em 0;
	border:thin solid #333;
}
/* 横幅640px以下 *** スマホ表示では見出し全般を小さくする */
@media screen and (max-width: 640px) {
	.page h2,.single h2 {
		font-size: 1.8rem;
	}	
	.page h3,.single h3 {
		font-size: 1.rem;
	}	
	.page h4,.single h4 {
		font-size: 1.2rem;
	}	
	.page h5,.single h5 {
		font-size: 1.0rem;
	}	
}
/* front */
.front h1,.page h1 {
	font-size:2.8rem;
	line-height:1.3em;
	letter-spacing:0.08em; /* 文字間隔 */
	padding:0;
	margin:0 0 0.3em 0;
}
.front h2  {
	color:#fff;
	font-size:3.0rem;
	line-height:1.2em;
	font-weight:bold;
	margin:0 0 0.3em 0;
    padding:0;
}
.front .general-01 h2  {
    padding-bottom:0.3em;
    margin-bottom:0.5em;
	background:url('https://elcc.jp/wp-content/themes/original/img/bg-line-01.png') left bottom / auto no-repeat;
}
.front h2#future  {
	color:#333;
	font-size:2.4rem;
    padding-bottom:0;
    margin-bottom:0.5em;
	border-bottom:0.2em solid #EEFF9F;
	background:none;
}
/* 横幅640px以下 */
@media screen and (max-width: 640px) {
	.front h2#future  {
		font-size:1.8rem;
	}
}
.front h3  {
	font-size:2.0rem;
	line-height:1.5em;
	font-weight:normal;
	margin:0 0 0.5em 0;
    padding:0;
	border:none;
}
.front h4 {
	color:#05c5a1;
	font-size:1.5rem;
	line-height:1.4em;
	font-weight:bold;
	margin:0;
	border:none;
}
.front h5  {
	display:inline-block;
	font-size:1rem;
	line-height:1.8em;
	padding:0 1.0em;
	margin:0 0 0.6em 0;
	border:thin solid #333;
}
/* 横幅640px以下 見出しサイズを小さく */
@media screen and (max-width: 640px) {
	.front h1 {
		font-size:2.0rem;
	}
	.front h2 {
		font-size:2.0rem;
	}
	.front h3 {
		font-size:1.6rem;
	}
	.front h4 {
		font-size:1.2rem;
	}	
}

/*** header ***/
header {
	position: sticky;
	top: 0;
	right: 0;
	width:100%;
	height:auto;
	background:#fff;
	z-index:1000;
}
header div.logo {
	float:left;
	width:calc(100% - 4rem);
	max-width:16rem;
	padding:0.7em 0.5em;
	margin:0;
}
header .box-nav {
	float:right;
	padding:0;
	margin:0.5em 0;
	min-width:3rem;
	max-width:calc(100% - 18rem);	
	z-index:100;
}
header .box-nav .general-nav {
	margin:0.5em 0 0 0;
	max-width:calc(100% - 3rem);	
}
header .box-nav .general-nav ul.menu li {
	font-weight:bold;
	float:left;
	margin:0.1em 1em 0.1em 0;
}
header .box-nav .sp_nav {
	float:right;
}
/* 横幅640px以下 */
@media screen and (max-width: 640px) {
	header div.logo {
		margin:1.5em auto;
		padding:0;
	}
	header div.logo img {
	}
	header nav ul  {
		clear:both;
		margin:0;
	}
	header .box-nav {
		border-radius:0;
		margin:1.5em 0;
		padding:0;
		display:flex;
		align-items: center; /* 上下中央 */
		justify-content: space-between; /* 両端 */
	}
	header .box-nav a.logo.mobile {
		float:left;
	}
	header .box-nav a.logo.mobile img {
		width:12em;
	}
}

/* nav */
ul.menu li.menu-item { 
	text-align:center;
	line-height:1.3em;
}
ul.menu li.menu-item span { /* サブタイトル */
	color:#929292;
	font-size:0.8em;
	font-weight:normal;
}

/*** footer ***/
footer {
	background:#ddd;
}
footer div.logo {
	float:left;
	margin:0 2em 0 0;
}
footer p.address {
	font-size:0.8em;
	line-height:1.6em;
}
.copyright {
	font-size:0.8em;
	color:#fff;
	background:#999;
	padding:0.5em;
	margin:0 auto;
	text-align:center;
}
/* banner */
div.banner a img {
	height:4em;
	margin:0 2em 2em 0;
}
/* nav */
footer nav.mobile ul {
	width:100%;
}
footer nav.mobile ul li {
	float:left;
	width:50%;
	border-bottom: solid thin #ffffff;
	list-style: none;
	background:#ccc;
}
footer nav.mobile ul li a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-decoration: none;
	padding: 0.5em 1em;
	position: relative;
}
footer nav.mobile ul li a::before {
	content: "";
	width: 7px;
	height: 7px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: rotate(45deg);
	position: absolute;
	right: 11px;
	top: 16px;
}
footer nav.desktop ul li {
	float:left;
	list-style: none;
	padding:0 1em;
	margin:0.1em 0;
}
/*** 横幅640px以下 ***/
@media screen and (max-width: 640px) {
	/*** footer ***/
	footer div.logo {
		width:100%;
		margin:0 auto;
	}
	footer div.logo img {
		width:50%;
	}
}

/******************/
/*** front page ***/
/******************/

/* mainImage */
.mainImage {
	margin:0 auto;
}
.mainImage .inner {
	width:100%;
	max-width:none;
	margin:0 auto;
}
/* fullImage */
section.fullImage  {
	position:relative;
	aspect-ratio: 2 / 1;
}
section.fullImage img {
    width: 100%;
    height: 100%;
	object-fit: cover;
}
section.fullImage p.text {
	position:absolute;
	display:inline-block;
	width:24em;
	max-width:calc(100% - 2em);
	color:#333;
	background:#fff;
	line-height:1.4em;
	right:1em;
	bottom:1em;
	padding:0.5em 1.0em;
	border-radius:0.5em;
}
/* 横幅640px以下 */
@media screen and (max-width: 640px) {
	section.fullImage  {
		aspect-ratio: 1 / 1;
	}
	section.fullImage p.text {
		width:100%;
	}
}

/*About */
.front section.about {
	background:url('https://elcc.jp/wp-content/themes/original/img/bg-01.svg') center top /3em repeat ;
	background-color:rgba(255, 255, 255, 0.9);
	background-blend-mode:normal;  
}
/* Role */
.front section.role {
	background-color:#99CA2A;
}
/* Class */
.front section.class {
	background-color:#41B2F2;
}
/* Results */
.front section.results {
	background-color:#99CA2A;
}
/* Future */
.front section.future {
	background-color:#fff;
}
.front section.future .inner {
	margin:5em auto;
}


/* Support */
/* box-support */
.box-support {
	background:#fafffe;
	margin:0 auto;
}
.box-support .inner {
	width:calc(100% - 2em);
	max-width:70em;
	margin:0 auto 3em auto;
}
.box-support h2 {
	color:#fff;
	text-align:center;
	font-size:1.4rem;
	margin:0;
	padding:0.8em 1em;
	background:#05c5a1 !important;
	background-image:none !important;
}
.box-support .grid {
	display: grid;
	justify-content:stretch;
	grid-template-columns:1fr 1fr 1fr;
	gap:0 0;	
}
.box-support .note {
	text-align:center;
	font-size:1.0em;
	font-weight:bold;
	margin:0;
	padding:2.0em 1em;
	background:none;
}
.box-support .grid article.box {
	text-align:center;
	padding:1em 1.5em;
}
.box-support .grid article.box:not(:last-child) {
	border-right:solid thin #05c5a1;
}
.box-support .grid article.box h4 {
	text-align:center;
	font-size:1.3rem;
    position: relative;
	padding:0.7em 0;
	margin:0;
}
.box-support .grid article.box p {
	display:inline-block;
	text-align:left;
	font-size:0.8em;
	line-height:1.6em;
	max-width:18em;
}
.box-support .grid article.box img.icon {
	width:4em;
}
/* 横幅640px以下 */
@media screen and (max-width: 640px) {
	.front section.tour .grid,.front section.support .grid {
		grid-template-columns:1fr;
		gap:1em;	
	}
	.box-support .grid article.box:not(:last-child) {
		border-right:none;
		border-bottom:solid thin #05c5a1;
	}
}
/* News */
.front section.news {
    background-color:#f2f4fa;
}
.front section.news .inner {
	max-width:60em;
}
.front section.news h6 {
	display:inline-block;
	margin-bottom:2em;
}
/* Photos */
.front section.photos {
	background:rgba(229, 240, 255, 1)
}
.front section.photos .slider {
	width:100%;
	max-width:40em;
	margin:0 auto;
}
/* contact */
section.contact div.wpcf7 {
	margin:0 auto;
}
section.contact div.wpcf7 input.wpcf7-submit {
	display:block;
	color:#333;
	font-size:1.3em;
	border:none;
	padding:0.3em 1.5em;
	background:#C4ECF4;
	border-radius:0.2em;
	margin:0 auto;
}
/* sns */
section.sns .grid {
	display: grid;
	justify-content:stretch;
	grid-template-columns:1fr 1fr;
	column-gap:2%;	
}

/* 横幅640px以下 *** front page */
@media screen and (max-width: 640px) {
	.mainImage.headline .inner {
		width:calc(100% - 3em);
		margin:3em auto;
	}
	.mainImage.headline .left,.mainImage.headline .right {
		text-align:center;
	}
	.mainImage.headline .left img {
		width:15em;
		max-width:calc(100% - 3em);
	}	
	.mainImage.declaration .inner {
		width:calc(100% - 3em);
	}	
	.mainImage.declaration .above {
		padding:1.5em 2.0em;
	}	
	.mainImage.declaration .below {
		margin-top:-1em;
	}	
	.front section.principle .grid {
		column-gap:1em;	
		row-gap:1em;	
	}
	.front section.principle .icon {
		margin:0 auto;
	}	
	.front section.principle .left {
		margin:0 auto;
	}	
	.front section.principle .number {
		color:#bbb;
		font-weight:bold;
		margin:0;
	}	
	.front section.carrers {
		background:none;
	}	
}

/**************************/
/*** page *****************/
/**************************/
/* .container.page */
.container.page {
	background-color:#fffdcbe6;
}

/*** .page.about ***/
section.page.about section.philippines {
	background:url('https://elcc.jp/wp-content/themes/original/img/map-philippines.png') center top / contain no-repeat ;
	background-color:rgba(255, 247, 86, 0.9);
	background-blend-mode:lighten;  
}
section.page.about section.history {
	background:#eee;
}


/* History 沿革 */
.page.about .history  {
}
.page.about .history .inner {
	margin:5em auto;
}
.page.about .history .date {
	line-height:1.5em;
	float:left;
	width:5em;
	padding:0 0 0 1em;
	margin:0 0 0.6em 0;
}
.page.about .history .detail {
	line-height:1.5em;
	float:left;
	width:calc(100% - 7em);
	padding:0 0 0 1em;
	margin:0 0 0.6em 0;
}
/*** .page.activity ***/
section.page.activity section.mangroves {
	background:rgba(229, 240, 255, 1);
}
section.page.activity section.water {
}
section.page.activity section.research {
	background:rgba(229, 240, 255, 1);
}
section.page.activity section.career {
}
section.page.activity section.sdgs {
	background:rgba(212, 233, 219, 1.0);
}
/*** .page.tour ***/
.page.tour h3 {
	color:#057EC5;
	line-height:1.4em;
	font-weight:bold;
	margin-bottom:0.6em;
	background:#fff;
}

/* 横幅640px以下  */
@media screen and (max-width: 640px) {
	/*** page ***/	
	section.page form {
		margin-left:0;
	}
}
/* Image */
.page .image  .inner {
	width:100%;
	max-width:100%;
	margin:5em auto;
}
.page .image  .box {
	margin-bottom:1.5em;
}


/**************/
/*** single ***/
/**************/
.single .the_content {
	padding:3em;
	margin-top:0;	
	background:#fff;
	border-radius:2vw;
}
.single table.detail th {
	width:3em;
}
/* the_content */
.the_content {
	margin:1.5em auto 3em;	
}
.the_content p {
	margin:0 0 1em 0.2em;
}
.the_content .category {
	margin-bottom:1em;
}
.the_content iframe {
	margin:0;
}
/* form */
section.page form {
	margin:0 0 1em 1em;
}
section.page form p {
	margin-left:0;
}
/* WP サムネイル */
.container.single main .the_content img.attachment-post-thumbnail {
	margin-bottom:2em;
	border-radius:1em;
}

/* 横幅640px以下 *** single */
@media screen and (max-width: 640px) {
	.box-title .inner {
		margin-top: 3em;
    	margin-bottom: 3em;
	}
	.box-title h1 {
		font-size:2rem;
	}
	.single .the_content {
		padding: 1.5em;
	}
}

/***************/
/*** archive ***/
/***************/
.archive .the_content {
	background:#fff;
	border-radius:2vw;
	padding:3em;
}
/* 横幅640px以下 *** single */
@media screen and (max-width: 640px) {
	.archive .the_content {
		padding:1.5em;
	}
}

/* nav */
ul#menu-menu-category {
	font-family: "Yu Mincho" ,"Hiragino Mincho Pro", "MS PMincho" , serif;
	margin:0 auto 2em auto;
}
ul#menu-menu-category li {
	display:inline-block;
	float:left;
	text-align:center;
	font-size:2.0em;
	line-height:0.9em;
	margin:0;
	padding:0.4em 1em 0.2em;
	height:2.4em;
}
ul#menu-menu-category li.current-menu-item {
	border-bottom:solid thin #111;
}
ul#menu-menu-category li a span {
	font-size:0.4em;
	line-height:1.0em;
}
@media screen and (max-width: 640px) {
	ul#menu-menu-category li {
		width: 50%;
	}	
}