@charset "utf-8";

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

/*
************************************************************************
 フォント
************************************************************************
*/
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold; }

.ff-amiko
{
	font-family: 'Amiko', -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
.ff-roboto
{
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
.ff-mplus
{
	font-family: 'M PLUS Rounded 1c', -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.ff-caveat
{
	font-family: 'Caveat', -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}


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

	font-size:1.4rem;
	font-weight:normal;
	line-height:1.8;
	letter-spacing:0.05em;

	font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
}
a
{
	color:#000000;
}
/*
************************************************************************
 繁体字版 基本
************************************************************************
*/
#tc body {
    font-family: -apple-system, BlinkMacSystemFont, "Noto Sans TC", "Noto Sans SC", sans-serif;
}
/*
************************************************************************
 簡体字版 基本
************************************************************************
*/
#cn body {
    font-family: -apple-system, BlinkMacSystemFont, "Noto Sans SC", "Noto Sans TC", sans-serif;
}
/*
************************************************************************
 ページラッパー
************************************************************************
*/
#wrapper
{
	z-index:0;
	overflow:hidden;
}
#wrapper.hidden
{
	visibility:hidden;
}
/*
************************************************************************
 ヘッダー
************************************************************************
*/
#header
{
	width: 100%;
    height: 70px;
    background: #fff;
}
#header .logo {
	display: block;
	width: 220px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#header-contents
{
	z-index:0;
}

/*
************************************************************************
 ボディ（コンテンツ部）
************************************************************************
*/
#body
{
	z-index:-1;
	/*margin-left:230px;*/
}
#body-contents
{
	z-index:0;
}


/*
************************************************************************
 フッター
************************************************************************
*/
#footer
{
	z-index:-2;
	/*margin-left:230px;*/
    /* margin-top: 30px; */
}
#footer-contents
{
	z-index:0;
}

/*
************************************************************************
 TOPへ戻る
************************************************************************
*/
#toTop
{
	display:block;
	position:fixed;
	bottom:30px;
	right:30px;
	
	width:60px;
	height:60px;
}
#toTop.hide
{
	display:none;
	animation-name:toTopHide;
	animation-duration:0.3s;
	animation-timing-function:ease-out;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
@keyframes toTopHide {
	0% {
		display:block;
		opacity:1.0;
	}
	99% {
		display:block;
		opacity:0.0;
	}
	100% {
		display:none;
		opacity:0.0;
	}
}
#toTop.show
{
	animation-name:toTopShow;
	animation-duration:0.3s;
	animation-timing-function:ease-out;
	animation-iteration-count:1;
	animation-fill-mode:forwards;
}
@keyframes toTopShow {
	0% {
		opacity:0;
		margin-bottom:-0.5em;
	}
	1% {
		display:block;
		opacity:0;
	}
	100% {
		display:block;
		opacity:1.0;
		margin-bottom:-0.0em;
	}
}
/*
************************************************************************
 段落
************************************************************************
*/
.section
{
	display:block;
	width:100%;

	border-bottom:1px solid #e3e3e3;
}
.section:last-child
{
	border-bottom:0px solid transparent;
}
.section:before,
.section:after
{
	content: ".";
	display: block;
	clear: both;
	float: none;
	height: 0px;
	width: 100%;
	visibility: hidden;
	overflow:hidden;
}
.row
{
	max-width:1210px;
	margin-left:auto;
	margin-right:auto;

	padding-left:30px;
	padding-right:30px;
}
.row.fill
{
	max-width:none;
	width:100%;

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

hr
{
	height:0px;
	line-height:0px;
	font-size:0px;

	max-width:1210px;
	margin-left:auto;
	margin-right:auto;

	border-bottom:1px solid #e3e3e3;
}

.row > hr {
	margin-top: 45px;
}

/*
************************************************************************
 その他
************************************************************************
*/
.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:767px) {
	/*
	************************************************************************
	 基本
	************************************************************************
	*/
	body
	{
		min-width:300px;
		font-size:2.4rem;
	}

	#header
	{
		/*display:block;
		display: none;*/
		
		z-index:0;
		overflow:visible;
		position:relative;
		width:100%;
		height: 50px;
		border-right:0px solid transparent;
	}
	#header .logo{
		width: 180px;
	}
	#body
	{
		z-index:-1;
		margin-left:0px;
	}
	#footer
	{
		z-index:-2;
		margin-left:0px;
	    /*margin-top: 4vw;*/
	}
	#toTop
	{
		bottom:4vw;
		right:4vw;
		width:10.666vw;
		height:10.666vw;
	}
	/*
	************************************************************************
	 段落
	************************************************************************
	*/
	.row
	{
		width:100%;
		padding-left:4vw;
		padding-right:4vw;
	}
	.row.blog
	{
		padding-left:6.6vw;
		padding-right:6.6vw;
	}
	.row.fill
	{
		width:100%;
		padding-left:0vw;
		padding-right:0vw;
	}
	.row > hr {
		margin-top: 4vw;
	}
	.sheild
	{
		background-color:rgba(255,255,255,0.7);
	}
	.fixed
	{
		position:fixed;

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

		width:100vw;
		height:100vh;

		margin:0;
		padding:0;

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