@charset "utf-8";

/*
************************************************************************
* 基本設定
* @copyright Revolme Inc.
*
* サイトの基本設定を行う
************************************************************************
*/

/*
************************************************************************
 基本
************************************************************************
*/
body
{
	/* 最小幅 */
	min-width:1200px;

	font-size:1.6rem;
	line-height:1.8;
	letter-spacing:0.05em;

	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
	/*
	font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	*/
	
	font-weight: normal;
	font-style: normal;
	
	color:#000000;
	background-color:#f0ebe5;
}
a
{
	color:#000000;
}
a:hover
{
	text-decoration:none;
}

/*
************************************************************************
 ページラッパー
************************************************************************
*/
#wrapper
{
	z-index:0;
	overflow:hidden;
}
#wrapper.hidden
{
	visibility:hidden;
}
/*
************************************************************************
 ヘッダー
************************************************************************
*/
#header
{
	z-index:0;

	position:absolute;

	top:0px;
	left:0px;
	
	width:100%;
}
#header-contents
{
	z-index:0;
}

/*
************************************************************************
 ボディ（コンテンツ部）
************************************************************************
*/
#body
{
	z-index:-1;
	
	display:flex;
	flex-direction:row;
	flex-wrap:nowrap;
	justify-content:flex-start;
	align-items:stretch;
	align-content:stretch;
}
#body-contents
{
	z-index:0;
	flex: 1 1 auto;
	
	min-height:100vh;
	max-width:calc(100% - 0px);
}
#body-navi
{
	width:60px;
	border-left:1px solid #948c85;
}
#body-navi .navi
{
	position:absolute;
	width:60px;
	
	/* top:50%; */
	right:0;
	
	transform:translateY(-50%);
	/*
	transition-duration:0.0s;
	transition-property:all;
	transition-timing-function:ease;
	*/
}
#body-navi .navi a
{
	display:block;
	width:1em;
	margin:0 auto;

	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
#body-navi .navi a:hover
{
	text-decoration:none;
    filter:alpha(opacity=70);
    -moz-opacity: 07;
    opacity: 0.7;
}
#body-navi .navi a .icon
{
	display:inline-block;
	
	width:1.2em;
	height:1.2em;
	
	background-image:url(../../_img/icon/list-pc.svg);
	background-position:center center;
	background-repeat:no-repeat;
	
	margin-bottom: 1em;
}
#body-navi .navi a .main
{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size:1.8rem;
	line-height:1;
	letter-spacing:0.10em;
}
#body-navi .navi a .main .first
{
	margin-bottom:0.5em;
}
#body-navi .navi a .main .second
{
}

/*
************************************************************************
 フッター
************************************************************************
*/
#footer
{
	z-index:-2;
}
#footer-contents
{
	z-index:0;
	border-top:1px solid #948c85;
}

/*
************************************************************************
 段落
************************************************************************
*/
.section
{
	display:block;
	width:100%;
}
.section:last-child
{
}
.section:before,
.section:after
{
	content: ".";
	display: block;
	clear: both;
	float: none;
	height: 0px;
	width: 100%;
	visibility: hidden;
	overflow:hidden;
}
.row
{
	max-width:1060px;
	margin-left:auto;
	margin-right:auto;
}
.row.fill
{
	max-width:none;
	width:100%;

	padding-left:0px;
	padding-right:0px;
}

hr
{
	height:0px;
	border:0px solid transparent;
	border-bottom:1px solid #8a8998;
}


/*
************************************************************************
 その他
************************************************************************
*/
.sheild
{
	display:none;

	position:fixed;

	top:0;
	bottom:0;
	left:0;
	right:0;

	width:100%;
	height:100%;

	margin:0;
	padding:0;

	background-color:rgba(0,0,0,0.4);
}
.fixed
{
	position:fixed;

	top:0;
	left:0;
	right:0;

	width:100%;
	height:100vh;

	margin:0;
	padding:0;

	background-color:rgba(0,0,0,0.0);
}

/* ################################################################################################ */
/* ## スマホサイト用スタイル ###################################################################### */
/* ################################################################################################ */
@media screen and (max-width:750px) {
	/*
	************************************************************************
	 基本
	************************************************************************
	*/
	body
	{
		min-width:300px;
		font-size:2.4rem;
	}

	#header
	{
	}
	#body
	{
		z-index:-1;
	}
	#footer
	{
		z-index:-2;
	}
	#toTop
	{
		bottom:9vw;
		right:4vw;
		width:10.666vw;
		height:10.666vw;
	}
	/*
	************************************************************************
	 段落
	************************************************************************
	*/
	.row
	{
		width:100%;
		padding-left:6.6vw;
		padding-right:6.6vw;
	}
	.row.blog
	{
		padding-left:6.6vw;
		padding-right:6.6vw;
	}
	.row.fill
	{
		width:100%;
		padding-left:0vw;
		padding-right:0vw;
	}
	
	#body
	{
		display:block;
	}
	#body-contents
	{
		max-width:calc(100%);
	}
	#body-navi
	{
		position:fixed;
		top:0;
		right:0;
		
		width:18.6vw;
		height:18.6vw;
		
		border-left:0px solid transparent;
	}
	#body-navi .navi
	{
		position:relative;
		top:0;
		right:0;
		transform:translateY(0%);
		
		width:18.6vw;
		height:18.6vw;
		background-color:#FFFFFF;
	}
	#body-navi .navi a
	{
		width:18.6vw;
		height:18.6vw;
		
		text-align:center;
		
		padding-top:4vw;
	}
	#body-navi .navi a:hover
	{
		text-decoration:none;
	}
	#body-navi .navi a .icon
	{
		width:10.66666vw;
		height:4.53333vw;
		
		background-image:none;
		margin-bottom: 0em;
	}
	#body-navi .navi a .icon span:nth-child(1)
	{
		position:absolute;
		top:0;
		left:0;
		right:0;
		
		display:block;
		width:100%;
		height:0px;
		border-bottom:1px solid #000000;
	}
	#body-navi .navi a .icon span:nth-child(2)
	{
		position:absolute;
		top:calc(50%);
		left:0;
		right:0;
		
		display:block;
		width:100%;
		height:0px;
		border-bottom:1px solid #000000;
	}
	#body-navi .navi a .icon span:nth-child(3)
	{
		position:absolute;
		bottom:0;
		left:0;
		right:0;
		
		display:block;
		width:100%;
		height:0px;
		border-top:1px solid #000000;
	}
	
	#body-navi .navi a .main
	{
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;;
		font-size:1.8rem;
		letter-spacing:0.05em;
		margin-left: 0.1em;
		display: inline-block;
	}
	#body-navi .navi a .main .first
	{
		display:block;
		margin-bottom:0.2em;
	}
	#body-navi .navi a .main .second
	{
		display:block;
	}

}
