html,
body{
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
	line-height: 1.8em;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "MS PMincho", serif, "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #3f3f3f;
	scroll-behavior:smooth;
}
ul{ list-style-type:none; margin:0; padding:0; }
li{ margin:0; } 

a{ color: #000; text-decoration: none;}
a:hover { color: #999; text-decoration: none;}

img {
	max-width: 100%;
}

.mb20{
	margin-bottom: 20px;
}

.effect-fade {
　opacity : 0;
　transform : translate(0, 45px);
　transition : all 300ms;
}

.effect-fade.effect-scroll {
　opacity : 1;
　transform : translate(0, 0);
}


/* 画面外にいる状態 */
.fadein {
	opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 500ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

h2{
	font-size: 2em;
	margin-bottom: 50px;
	font-weight: normal;
}


/*   ボタンタグ設定   */
button {
	display: block;
	background: none;
	border: none;
	padding: 0;
	width: 42px;
	color: #9e810d;
	letter-spacing: 0.1em;
	cursor: pointer;
	position: fixed;
	top: 30px;
	left: 30px;
	z-index: 1001;
	text-align: center;
	outline: none;
}
/*   ハンバーガーボタン3本線   */
button span.bar {
	display: block;
	height: 2px;
	background-color: #9e810d;
	margin: 10px 0;
	transition: all 0.2s;
	transform-origin: 0 0;
}
button .close {
	letter-spacing: 0.08em;
	display: none;
}
button .menu {
	display: block;
}
/*  メニューアクティブ時  */
button.active span.bar {
	width: 49px;
}
button.active .bar1 {
	transform: rotate(30deg);
}
button.active .bar2 {
	opacity: 0;
}
button.active .bar3 {
	transform: rotate(-30deg);
}
button.active .menu {
	display: none;
}
button.active .close {
	display: block;
}
/* ナビ */
nav {
	width: 300px;
	height: 100%;
	transition: all 0.2s;
	transform: translate(-301px);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background: rgba(255,255,255,0.8);
	padding-top: 100px;
	text-align: left;
}
nav.open {
	transform: translate(0); 
}
nav ul{
	margin-top: 30px;
	margin-left: 30px;
}
nav ul li{
	margin-bottom: 15px;
	font-size: 1.2em;
}
nav ul p{
	font-size: 0.85em;
	line-height: 1.4em;
}

.logo {
	z-index: 10;
	top: 50px;
	right: 30px;
	position: absolute;
}
.box {
	width: 100vw;
	height: 100vh;
	background-position: center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bg-ttl{
	color: #fff;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	text-shadow: 1px 1px 1px #000;
}

article{
	clear: both;
	max-width: 1120px;
	width: 100%;
	margin: 100px auto 30px;
}

#consept .lcont{
	float: left;
	max-width: 630px;
	width: 56vw;
	box-sizing: border-box;
	margin-right: 4vw;
}
#consept .lcont img{
	width: 56vw;
}
#consept .rcont{
	float: right;
	max-width: 400px;
	width: 36vw;
	margin-top: 150px;
}

#menu .lcont{
	float: left;
	max-width: 590px;
	width: 52vw;
	margin-right: 4vw;
}
#menu .lcont section{
	text-align:center;
}
#menu .lcont section span{
	margin-left: 15px;
}
#menu .lcont .menutxt{
	clear: both;
	margin-top:10px;
}
#menu .rcont{
	float: right;
	max-width: 440px;
	width: 40vw;
}


@media screen and (max-width: 600px){
	#consept .lcont{
		float: none;
		width: 95vw;
		box-sizing: border-box;
	}
	#consept .rcont{
		float: none;
		width: 95vw;
		margin: 10px auto;
		box-sizing: border-box;
		text-align: center;
	}

	#menu .lcont{
		float: none;
		width: 95vw;
		margin-right: 4vw;
		box-sizing: border-box;
	}
	#menu .rcont{
		float: none;
		width: 95vw;
		box-sizing: border-box;
		margin: 10px auto;
	}

}