@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:auto;
	background-color:#fff;
	/* 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:65rem;
	margin-left:auto;
	margin-right:auto;
}
.front .inner {
	max-width:75rem;
	margin:3rem auto;	
}
.container.page main > .inner { 
	margin:3rem auto;	
}
.container.single main > .inner { 
	margin:3rem auto;	
}
.inner:has(.loop) { /* 子要素に.loopを持つ */
	margin:2rem auto 4rem;	
}
header > .inner {
	max-width:none;
	margin:1.0rem auto 0.5rem;
}
footer > .inner {
	max-width:75rem;
	margin:2.5rem 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 {
	font-size:2.0rem;
	line-height:1.3em;
    padding:0 0 0.3em 0;
	margin:0 0 0.5em 0;
	font-weight:bold;
	color:#333;
	background:none;
	border:none;
}
h2 {
	font-size:2.4rem;
	line-height:1.4em;
    padding:0;
	margin:0 0 0.4em 0;
	font-weight:bold;
	color:#333;
	background:none;
	border:none;
}
h3 {
	font-size:2.0rem;
	line-height:1.4em;
    padding:0;
	margin:0 0 0.5em 0;
	font-weight:bold;
	color:#333;
	background:none;
	border:none;
}
h4 {
	font-size:1.5rem;
	line-height:1.4em;
	padding:0 0 0.1em 0.1em;
	margin:0 0 0.6em 0;
	font-weight:bold;
	color:#333;
	background:none;
	border:none;
}
h4.h4-01 {
	padding:0 0 0.1em 0.1em;
	margin:0 0 0.6em 0;
	font-weight:bold;
	color:#fff;
	background:#0089b0;
	border:none;
}
h5 {
	font-size:1.0rem;
	line-height:1.8em;
	padding:0 1.0em;
	margin:0 0 0.6em 0;
	font-weight:bold;
	color:#333;
	background:none;
	border:thin solid currentcolor;
}

/* front */
.front #mainImage h1 {
	font-size: clamp(1.8rem, 6vw, 5rem);/* 横幅に合わせて変化：最小値, 大きさ ,最大値 */
	line-height:1.3em;
	padding:0;
	margin:0 0 0.8em 0; /* font-sizeに応じて可変にするためem */
	font-style: italic;
	letter-spacing:0.08em; /* 文字間隔 */	
}
.front #mainImage p {
	font-size: clamp(0.8rem, 1.4vw, 1.4rem);/* 横幅に合わせて変化：最小値, 大きさ ,最大値 */
	line-height:1.8em;
	padding:0;
	margin:0;	
}
.front h2  {
	font-size:2.0rem;
	line-height:1.4em;
    padding:0;
	margin:0 0 1.0em 0;
	font-weight:bold;
	font-style: italic;
}
.front h3  {
	font-size:2.0rem;
	line-height:1.5em;
    padding:0;
	margin:0 0 0.5em 0;
	border:none;
}
.front h4 {
	font-size:1.5rem;
	line-height:1.4em;
	margin:0;
	font-weight:bold;
	border:none;
}
.front h4.h4-01 {
	padding:0.3em 0.8em;
	margin:0 0 0.6em 0;
	font-weight:bold;
	color:#fff;
	background:#0089b0;
	border:none;
}
.front h5  {
	display:inline-block;
	font-size:1rem;
	line-height:1.8em;
	padding:0.2em 1.0em 0;
	margin:0 0 0.6em 0;
	border:thin solid #333;
}
.front h6  {
	display:inline-block;
	font-size:1rem;
	line-height:1.8em;
	padding:0.2em 1.0em 0;
	margin:0 0 0.6em 0;
	background:none;
	border:thin solid currentcolor;
}
/* page */
.page h1,.single h1 {
	letter-spacing:0; /* 文字間隔 */
}
.page h2,.single h2  {
	font-size:2.6rem;
	line-height:1.2em;
	margin:0 0 0.4em 0;
    padding:0;
	font-weight:bold;
	color:#333;
	background:none;
	border:none;
}
.page h3,.single h3  {
	font-size:1.6rem;
	line-height:1.6em;
    padding:0.2em 0 0.2em 0.7em;
	margin:0 0 1.6rem 0;
	font-weight:bold;
	color:#333;
	border:none;
	border-left:0.4rem solid currentcolor;
	background:#fff;
}
.page h4,.single h4  {
	font-size:1.5rem;
	line-height:1.4em;
	font-weight:bold;
	padding:0 0 0.5em 0;
	margin:0;
	color:#333;
	background:none;
	border:none;
}
.page h5,.single h5  {
	font-size:1rem;
	line-height:1.8em;
	padding:0 1.0em;
	margin:0 0 0.2em 0;
	color:#333;
	background:none;
	border:thin solid currentcolor;
}
/* 横幅640px以下 * スマホ表示では小さく */
@media screen and (max-width: 640px) {
	.front h1 {
		font-size:2.0rem;
	}
	.front h2 {
		font-size:1.6rem;
	}
	.front h3 {
		font-size:1.4rem;
	}
	.front h4 {
		font-size:1.2rem;
	}	
	.page h2,.single h2 {
		font-size: 1.6rem;
	}	
	.page h3,.single h3 {
		font-size: 1.4rem;
	}	
	.page h4,.single h4 {
		font-size: 1.2rem;
	}	
	.page h5,.single h5 {
		font-size: 1.0rem;
	}	
}

/*** 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:24rem;
	margin:0.7em 0.5em 0.7em 0;
}
header .box-nav {
	float:right;
	padding:0;
	margin:0 0 0.5em;
	min-width:3rem;
	max-width:calc(100% - 26rem);	
	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;
}

/* 横幅960px以下 */
@media screen and (max-width: 960px) { /* 文字navを消す */
	header .box-nav div.general-nav {
		display:none;
	}
}
/* 横幅640px以下 */
@media screen and (max-width: 640px) {
	header div.logo {
		margin:1.5em auto;
	}
	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:#7b7b7b;
	font-size:0.8em;
	font-weight:normal;
}

/*** footer ***/
footer {
	background:#ddd;
}
footer div.logo {
	float:left;
	width:calc(100% - 4rem);
	max-width:24rem;
	margin:0 0.5em 0.7em 0;
}
footer nav.desktop {
	padding:0;
	min-width:3rem;
	max-width:calc(100% - 26rem);	
}
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;
}
/* 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;
}
/* 横幅960px以下 */
@media screen and (max-width: 960px) { /* 文字navを消す */
	footer nav.desktop {
		display:none;
	}
}

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

/* fullImage */
section.fullImage  {
	position:relative;
	aspect-ratio: 4 / 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%;
	}
}

/* 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://xs334779.xsrv.jp/test/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;
}

/* 横幅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 ***/
/**************/
/* the_content */
.the_content p {
	margin:0 0 1em 0.2em;
}
.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;
}



/***************/
/*** 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%;
	}	
}