/*
Theme Name: echigo
Author: tetrabyte
Description: 
*/


*{
	margin:0px;
	padding:0px;
	border:0px;
	font-size:15px;
	line-height:2em;
	font-weight:normal;
	box-sizing:border-box;
	background-repeat:no-repeat;
}
ul,li{
	list-style:none;
}
body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
a {
	text-decoration:none;
}
a.linkbutton1{
	background-color:#9f886e;
	color:#fff;
	padding:12px 60px;
}
a.linkbutton1:hover{
	background-color:#c5b8a8;
}
table{
	border-collapse:collapse;
}
img{
	vertical-align:top;
	width:100%;
}
html{
}

/**フォント**/
.noto_serif{
	font-family:'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.yuji_syuku{
	font-family:'Yuji Syuku', 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#loader-bg{
	position: fixed;
	top: 0;
	left: 0;
	right:0;
	bottom:0;
	background-color: #fff;
	z-index: 9000;
	overflow:none;
}

#loader{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #fff;
	z-index: 10000;
}

#loaderWrap{
	position:relative;
}
#loader-bg2{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	background-color:#fff;
	background-image:url(./img/bg_enter.jpg);
	background-size:cover;
	background-position:0% 50%;
	animation: bg_slide 30s linear both;
	z-index:9000;
	overflow:none;
	box-sizing:border-box;
	padding-top:calc(100vh / 6);
}
@keyframes bg_slide {
	  0% { background-position:0% 50%;}
	100% { background-position:100% 50%;}
}
@keyframes fadeIn {
	  0% { opacity: 0;}
	100% { opacity: 1;}
}




#loader-bg2 dl{
	max-width:600px;
	margin:30px auto;
}
#loader-bg2 dl dt{
	width:50%;
	float:left;
	text-align:center;
}
#loader-bg2 dl dd{
	margin-left:50%;
	text-align:center;
}
#loader-bg2 button{
	background-color:none;
}


/****フェードイン****/
.fadeInElementR{
	opacity:0;
	visibility:hidden;
	transition:opacity 3s, visibility 2s, transform 3s;
	transform:translateX(200px);
}
.fadeInElementL{
	opacity:0;
	visibility:hidden;
	transition:opacity 3s, visibility 2s, transform 3s;
	transform:translateX(-200px);
}
.fadeInElementT{
	opacity:0;
	visibility:hidden;
	transition:opacity 2s, visibility 1s, transform 2s;
	transform:translateY(-50px);
}
.fadeInElementB{
	opacity:0;
	visibility:hidden;
	transition:opacity 2s, visibility 1s, transform 2s;
	transform:translateY(50px);
}
.isFadein{
	opacity:1;
	visibility:visible;
	transform:translateX(0);
}





header#fixedHeader{
	position:absolute;
}
header#moveHeader{
	position:fixed;
}
header.topHeader{
	display:none;
}

header{
	width:100%;
	top:0px;
	left:0px;
	z-index:99;
	background-color:rgba(188,181,155,0.8);
}
header h1{
	text-align:center;
	padding:12px 0px;
}
header h1 img{
	height:72px;
	width:auto;
}
header dl{
}
header dl dt{
	position:relative;
	margin-left:100px;
	width:calc(100% - 200px);
	float:left;
}
header dl dd{
	margin-left:calc(100% - 100px );
	display: flex;
	padding-top:24px;
	text-align:center;
}
header dd button, #header dd button span{
	display:inline-block;
	transition:all .4s;
	box-sizing:border-box;
}
header dd button{
	position:relative;
	width:38px;
	height:22px;
	background:none;
	border:none;
	appearance:none;
	cursor:pointer;
}
header dd button span{
	position: absolute;
	left:0;
	width:100%;
	height:2px;
	background-color:#fff;
	border-radius:2px;
}
header dd button span:nth-of-type(1) {
	top:0;
}
header dd button span:nth-of-type(2) {
	top:10px;
}
header dd button span:nth-of-type(3) {
	bottom:0;
}
header dd button::after{
	position:absolute;
	left:0;
	bottom:-30px;
	content:'MENU';
	display:block;
	width:100%;
	color:#fff;
	font-size:11px;
	letter-spacing:1px;
	text-decoration:none;
	text-align:center;
	white-space:nowrap;
	transition:all .4s;
	font-family:Noto Serif JP, "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
header dd button.active::after {
	content: 'CLOSE';
	bottom: -25px;
}
header dd button.active span:nth-of-type(1) {
	transform: translateY(20px) rotate(-45deg);
}
header dd button.active span:nth-of-type(2) {
	opacity: 0;
}
header dd button.active span:nth-of-type(3) {
	transform: translateY(-20px) rotate(45deg);
}
@media screen and (max-width : 800px) {
	header h1{
		text-align:center;
		padding:12px 0px;
	}
	header h1 img{
		height:40px;
		width:auto;
	}

}



#footerWrap{
	background-color:#fff;
	width:100%;
	height:calc(100vh - 85px);
	position:relative;
	overflow:hidden;
    z-index:1;
}
footer{
	position:relative;
	height:100%;
    z-index:999;
}
footer dl{
	width:1000px;
	height:calc( 100% - 100px);
	overflow:hidden;
	margin:0px auto;
	display:flex;
}
footer dl dt{
	width:30%;
	background-position:50%;
	background-size:auto calc(100vh / 2);
}
footer dl dd{
	width:70%;
	padding-top:20%;
	position:relative;
    z-index:9999;
}
.footerMenu{
	overflow:hidden;
	margin-bottom:50px;
}
.footerMenu li{
	float:right;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	border-left:1px solid #ccc;
}
.footerMenu li a{
	display:block;
	color:#444;
	font-size:23px;
	margin:0px 10px;
	padding:10px 0px;
}
.footerMenu li span{
	color:#777;
	display:block;
	letter-spacing:2px;
	line-height:1;
}
.footerMenu2{
	text-align:right;
}
.footerMenu2 li{
	display:inline-block;
	padding:4px 8px;
}
.footerMenu2 li a{
	color:#444;
	font-size:13px;
}

.footerSNS{
	overflow:hidden;
	margin-bottom:20px;
}
.footerSNS li{
	width:60px;
	height:60px;
	float:right;
}
.footerSNS li a{
	display:block;
	margin:10px;
}

.associateLink{
	overflow:hidden;
}
.associateLink li{
	width:100px;
	height:100px;
	float:right;
}
.associateLink li a{
	display:block;
	height:80px;
	border-radius:50%;
	overflow:hidden;
	margin:0px 10px;
	pointer-events:auto;
}
.associateLink li a img{
	width:80px;
	border-radius:50%;
}
.copyright{
	font-size:13px;
	color:#444;
	text-align:center;
	line-height:1.5;
}
.shiawaseProject{
	background-color:#e3c42d;
}
.shiawaseProject img{
	height:50px;
	width:auto;
}
@media screen and (max-width : 800px) {
	#footerWrap{
		height:70vh;
	}
	footer dl{
		width:100%;
	}
	footer dl dt{
		width:25%;
		background-size:90% auto;
		background-position:50% 20%;
	}
	footer dl dd{
		margin-left:25%;
		padding-top:10%;
	}
	.footerMenu {
		margin:0px 10px 20px 0px;
	}
	.footerMenu li a{
		font-size:15px;
		margin:0px 4px;
		padding:10px 0px;
	}
	.footerMenu li span{
		display:none;
	}
	.footerMenu2 li{
		padding:2px 20px 2px 0px;
		display:block;
		text-align:right;
		line-height:1.2em;
	}
	.footerMenu2 li a{
		color:#444;
		font-size:11px;
	}
	.associateLink li{
		width:60px;
		height:60px;
		float:right;
	}
	.associateLink li a{
		display:block;
		height:50px;
		border-radius:50%;
		overflow:hidden;
		margin:0px 5px;
		pointer-events:auto;
	}
	.associateLink li a img{
		width:50px;
		border-radius:50%;
	}
	.copyright{
		font-size:9px;
		line-height:1.2;
	}

}


/****パンくず***/
.breadcrumb ul{
	text-align:right;
	padding:8px 40px;
}
.breadcrumb li{
	display:inline-block;
}
.breadcrumb li::after{
	content:'＞';
}
.breadcrumb li:last-child::after{
	content:'';
}
.breadcrumb li a{
	margin:0px 10px;
	color:#444;
	font-size:13px;
	line-height:19px;
	position:relative;
}
.breadcrumb li img{
	width:auto;
	height:15px;
	position:absolute;
    top: 2px;
    left: -20px;
}
@media screen and (max-width : 800px) {
	.breadcrumb ul{
		padding:4px 4px 4px 0px;
		overflow:scroll;
		word-break: keep-all;
		white-space: nowrap;
	}
	.breadcrumb li::after{
		font-size:11px;
	}
	.breadcrumb li a{
		margin:0px 4px;
		font-size:10px;
	}
	.breadcrumb li img{
		height:11px;
	    top: 0px;
	    left: -10px;
	}
}





#mainContents{
	position:relative;
	z-index:1;
	padding-top:100px;
	background-color:#fff;
}



/****アーカイブ****/
.archive{
	text-align:center;
}
.archive h2{
	height:500px;
	display:inline-block;
	box-sizing:border-box;
	padding-top:100px;
	font-size:33px;
	text-align:left;
	color:#fff;
	letter-spacing:4px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-shadow:1px 1px 1px #444;
}
.archiveList{
	max-width:1200px;
	margin:0px auto;
	text-align:left;
}
.archiveList ul{
	overflow:hidden;
}
.archiveList ul li{
	width:50%;
	float:left;
	padding:10px;
}
.archiveList ul li dl{
	width:100%;
}
.archiveList ul li dt{
	width:40%;
	float:left;
	overflow:hidden;
}
.archiveList ul li dt img{
	transition:1s all;
	object-fit: cover;
}
.archiveList ul li dt img:hover{
	transform:scale(1.1,1.1);
	transition:1s all;
}
.archiveList ul li dd{
	margin-left:45%;
	padding-top:8%;
}
.archiveList li time{
	display:block;
	color:#aaa;
	font-size:13px;
}
.archiveList li h5{
	font-size:15px;
	color:#444;
}
.archiveList li p{
	font-size:13px;
	color:#777;
}
@media screen and (max-width : 800px) {
	.archiveList ul li{
		padding:0px;
	}
	.archiveList ul li dt{
		width:100%;
		float:none;
	}
	.archiveList ul li dd{
		margin-left:0px;
		padding-top:0%;
	}
	.archiveList li time{
		font-size:11px;
	}
	.archiveList li h5{
		font-size:13px;
	}

}



/****記事ページ****/
.single-custom_wrap{
	overflow:hidden;
	max-width:1200px;
	margin:20px auto 0px auto;
	position:relative;
}
.articleWrap{
	box-sizing:border-box;
	width:calc(100% - 300px);
	border-right:1px solid #ccc;
	padding-right:20px;
	float:left;
	text-align:left;
}
.articleWrap h3 a{
	font-size:32px;
	color:#000;
}
.articleWrap time{
	display:block;
	color:#aaa;
	font-size:13px;
	margin-bottom:30px;
}
.articleWrap .eyecatch{
	margin-bottom:30px;
}
.articleWrap .eyecatch img{
	width:100%;
}
.articleBody{
	line-height:2em;
}
.articleBody img{
	width:400px;
	display:block;
	margin:20px 0px;
}
.articleBody .youtube{
	width:100%;
	padding-top:50.25%;
	position:relative;
}
.articleBody .youtube iframe{
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
}
.articleSide{
	width:300px;
	padding-top:20px;
	float:right;
}
.articleSide dl{
	margin-left:20px;
}
.articleSide dl dt{
	font-weight:bold;
	color:rgba(188,181,155,1);
	text-align:center;
}

.articleSide dl dd li{
	margin-bottom:20px;
}
.articleSide dl dd li time{
	display:block;
	color:#aaa;
	font-size:13px;
}
.articleSide dl dd li h5 a{
	font-size:15px;
	color:#444;
}
.articleSide dl dd li p{
	font-size:13px;
	color:#777;
}
@media screen and (max-width : 800px) {
	.articleWrap{
		box-sizing:border-box;
		width:100%;
		border-right:0px;
		padding:0px;
		text-align:left;
		float:none;
	}
	.articleWrap h3 a{
		font-size:17px;
	}
	.articleBody{
		padding:0px 20px;
		line-height:1.5em;
		font-size:13px;
		margin-bottom:40px;
	}
	.articleBody img{
		max-width:100%;
	}
	.articleSide{
		border-top:1px solid #ccc;
		margin-top:40px;
		width:100%;
		float:none;
	}
	.articleSide dl{
		margin-left:0px;
	}
	.articleSide dl dd ul{
		overflow:hidden;
	}
	.articleSide dl dd li{
		float:left;
		width:50%;
	}
	.articleSide dl dd li h5 a{
		font-size:11px;
		text-align:left;
	}
}


/****問い合わせ****/
.contact h2{
	font-size:33px;
	text-align:center;
	color:#444;
	letter-spacing:4px;
}
.contactWrap{
	max-width:1000px;
	margin:0px auto;
}
.contactWrap table{
	width:100%;
	margin-bottom:30px;
}
.contactWrap table th, .contactWrap table td{
	padding:12px 20px;
}
.contactWrap table th{
	border-bottom:1px solid #b3a983;
	width:200px;
}
.contactWrap table th b{
	font-size:13px;
	background-color:#ff8c8c;
	color:#fff;
	padding:2px 4px;
	margin-left:4px;
}

.contactWrap table td{
	border-bottom:1px solid #cdc7b2;
}
.contactWrap table td input[type="text"],
.contactWrap table td input[type="email"],
.contactWrap table td textarea{
	border:1px solid #ccc;
	padding:4px 8px;
	margin-right:4px;
	border-radius:4px;
	width:120px;
}
.contactWrap table td input[name="your-company1"],
.contactWrap table td input[name="your-company2"],
.contactWrap table td input[name="your-subject"],
.contactWrap table td input[type="email"]{
	width:100%;
	max-width:400px;
}
.contactWrap table td textarea{
	width:100%;
	height:20em;
}
.contactWrap table td input::placeholder{
	color:#aaa;
}
.contactWrap table td input:focus,
.contactWrap table td textarea:focus{
	outline:1px solid #77c3ee;
	border:1px solid #77c3ee;
}
.contactWrap table td input:focus::placeholder{
	color:transparent;
}
.contactWrap table td span.wpcf7-not-valid-tip{
	font-size:13px;
	color:#f00;
}
.contactWrap p.formButton{
	text-align:center;
}
.contactWrap p.formButton input[type="submit"]{
	background-color:#9f886e;
	color:#fff;
	padding:8px 20px;
}
.contactWrap .screen-reader-response p,
.wpcf7-response-output{
	text-align:center;
	color:#f00;
}
.contactWrap .screen-reader-response ul{
	display:none;
}
@media screen and (max-width : 800px) {
	.contactWrap table th{
		display:block;
		width:100%;
		text-align:left;
	}
	.contactWrap table td{
		display:block;
		border:0px;
		margin-bottom:20px;
	}


}










.sachikoMessage{
	text-align:center;
}
.sachikoMessage h2{
	height:500px;
	display:inline-block;
	box-sizing:border-box;
	padding-top:100px;
	font-size:33px;
	text-align:left;
	color:#fff;
	letter-spacing:4px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-shadow:1px 1px 1px #444;
}
#sachikoMessage{
	max-width:1200px;
	margin:0px auto;
	background-size:auto 100%;
	background-position:50% 100%;
}
#sachikoMessage::before{
	display:block;
	content:'';
	padding-top:80%;
}
.sachikoBodyWrap{
	background-color:#1d1e1e;
	padding:20px 0px;
}
.sachikoBody{
	color:#fff;
	max-width:1000px;
	margin:10px auto;
	padding:20px 0px 50px 0px;
	background-position:right 20px bottom 20px;
	background-size:200px auto;
}
.sachikoBody p{
	font-size:17px;
	line-height:2.5em;
	letter-spacing:2px;
	margin:40px;
	text-align:left;
}
@media screen and (max-width : 800px) {
	#sachikoMessage{
		background-size:120%;
		background-position:50% 100%;
	}
	#sachikoMessage::before{
		padding-top:calc(100vw * 0.8 * 1.2);
	}
	.sachikoBody{
		margin:10px auto;
		padding:20px 0px 50px 0px;
	}
	.sachikoBody p{
		font-size:15px;
		line-height:1.8em;
		letter-spacing:2px;
		margin:40px;
		text-align:left;
	}

}


/****会社概要****/
.company h2{
	font-size:33px;
	text-align:center;
	color:#444;
	letter-spacing:4px;
}
.company table{
	max-width:1000px;
	width:100%;
	margin:0px auto;
}
.company table th{
	width:30%;
	border-bottom:1px solid #ccc;
	vertical-align:top;
	padding:20px 0px;
}
.company table td{
	border-bottom:1px solid #ccc;
	padding:20px 0px;
}
.company table td a{
	color:#000;
}


.privacy{
}
.privacy h2, .law h2{
	text-align:center;
	font-size:23px;
	margin-bottom:20px;
}
.privacy p, .law p{
	max-width:800px;
	margin:0px auto;
	font-size:13px;
}






