﻿@charset "utf-8";

/*
============================================================
□ 基本レイアウト設定
■ デフォルトリセット
■ floatクリア
■ 音声ブラウザ用ナビゲーション
■ アクセシビリティ対応
■ テキストリンク
■ レイアウトベース
■ ヘッダー
■ フッター
■ コンテンツ
■ 左メニュー

□ ページ共通
■ 見出し
■ 段落
■ 箇条書きリスト
■ テーブル
■ その他

============================================================
*/

/* ---------------------------------------------------------
□ 基本レイアウト設定
--------------------------------------------------------- */
/* ---------------------------------------------------------
■ デフォルトリセット
--------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-style: normal;
	font-size: 100%;
	line-height: 1.4;
	border: none;
	list-style-type: none;
}

/* ---------------------------------------------------------
■ floatクリア
--------------------------------------------------------- */
span.clear {
	height: 1px;
	margin: 0;
	padding: 0;
	font-size: 1px;
	line-height: 1px;
	display: block;
	clear: both;
}

/* ---------------------------------------------------------
■ 音声ブラウザ用ナビゲーション
--------------------------------------------------------- */
.hidden_navi {
	position: absolute;
	z-index: 100;
	top: 0px;
	right: 0px;
	display:inline;
	width: 1px;
	height: 1px;
	border-style: none;
	margin: 0px;
	padding: 0px;
	overflow: hidden;
}

/* ---------------------------------------------------------
■ アクセシビリティ対応
--------------------------------------------------------- */
div#accessibility_css {
	display: none;
}

div#accessibility_js {
	width: 950px;
	margin: 0 auto;
	text-align: center;
}

div#accessibility_js p {
	text-align: left;
}

/* ---------------------------------------------------------
■ テキストリンク
--------------------------------------------------------- */
a:link    { color: #666666; text-decoration: underline; }
a:visited { color: #666666; text-decoration: underline; }
a:hover   { color: #999999; text-decoration: underline; }
a:active  { color: #999999; text-decoration: underline; }
a:focus { outline:none;}


/* ---------------------------------------------------------
■ レイアウトベース
--------------------------------------------------------- */
body {
	margin: 0;
	padding: 0;
	text-align: center; /* 中央レイアウト */
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #333333;
	font-size: 12px;
	-webkit-text-size-adjust: 100%;
}

div#content_base {
	width: 950px;
	margin: 0 auto 50px; /* 中央レイアウト */
	text-align: left; /* テキスト左寄せ */
	overflow: hidden;
}

@media screen and (max-width:700px){	
	body {
		font-size: 12px;
	}
	
	div#content_base {
		width: 100%;
		margin: 0 auto 4%; /* 中央レイアウト */
	}
}

.pc { display: block; }
.sp { display: none; }

@media screen and (max-width:700px){	
	.pc { display: none; }
	.sp { display: block; }
	.spbr { display: block; }
}


/* ---------------------------------------------------------
■ フッター
--------------------------------------------------------- */
div#footer {
	width: 100%;
	padding: 20px 0;
	position: fixed;
	bottom: 0px;
	z-index: 2;
	text-align: center;
	background: #ffffff;
}

div#footer div#footMenu {
	width: 950px;
	margin: 0 auto; /* 中央レイアウト */
	text-align: left; /* テキスト左寄せ */
}

@media screen and (max-width:700px){	
	div#footer {
		position: static;
	}
	
	div#footer div#footMenu {
		width: 100%;
	}
}

/* コピーライト
------------------------------------ */
div#footer p {
	font-size: 10px;
	color: #7e7e7e;
	text-align: right;
}

@media screen and (max-width:700px){	
	div#footer p {
		font-size: 10px;
		text-align: center;
	}
}

/* ---------------------------------------------------------
■ コンテンツ
--------------------------------------------------------- */
div#content {
	width: 950px;
}

div#wrapper div#content {
	width: 630px;
	float: right;
	padding: 50px 0 0 0;
}

@media screen and (max-width:700px){	
	div#content {
		width: 100%;
	}
	
	div#wrapper div#content {
		width: 96%;
		float: none;
		margin: 0 auto;
		padding: 70px 0 0 0 !important;
	}
}

/* ---------------------------------------------------------
■ 左メニュー (2016/6/9 数値修正)(2016/11/21 数値修正)
--------------------------------------------------------- */
#sidenavi {
	width: 220px;

/*---
2016/6/9 215px -> 220px
---*/

	position: fixed;
	top: 50px;
	z-index: 3;
	background: #ffffff;
}

#sidenavi p.logo {
	margin: 0 0 50px 0px;
}

#sidenavi p.logo span {
	display: none;
}

#sidenavi ul li {
	margin: 0 0 10px 0;
	font-size: 14px;
}

#sidenavi ul.navi_content {
	float: left;
	margin: 0 0 80px 10px;
	display: inline;
}

#sidenavi ul.navi_content ul {
	margin: 0 0 0 20px;
	display: none;
}

#sidenavi ul.navi_content li {
	margin: 0;
}

#sidenavi ul.navi_content li a {
	display: block;
	overflow: hidden;
	float: left;
	clear: both;
	border-left: 5px solid #dbdbdb;
	padding: 0 0 0 15px;
	margin: 0 0 12px 0;
	text-decoration: none;
	height: 1.00em;

/*---
2016/11/21 0.85em -> 1.00em
---*/

	line-height: 0.85em;
}

#sidenavi ul.navi_content li:first-child a {
	border-left: 5px solid #ff0000;
}

#sidenavi ul.navi_content li a:hover {
	border-left: 5px solid #ff0000;
}

#sidenavi #lang {
	overflow: hidden;
}

#sidenavi #lang li {
	font-size: 14px;
	overflow: hidden;
	float: left;
}

#sidenavi #lang li:first-child:after {
	content: '/';
	margin: 0 10px;
}

@media screen and (max-width:700px){	
	#modal.on {
		top: 0;
		left: 0;
		position: fixed;
		width: 100%;
		height: 100vh;
		background: rgba(0,0,0,0.5);
	}

	#sidenavi {
		width: 100%;
		top: 0 !important;
		margin: 0 !important;
		background: transparent;
		position: fixed !important;
	}
	
	#sidenavi p.logo {
		padding: 2%;
		margin: 0;
		background: #FFFFFF;
		border-bottom: 1px solid #000000;
	}
	
	#sidenavi p.logo span {
		display: inline-block;
		float: left;
		width: 30px;
		height: 30px;
		margin: 5px 10px 5px 0;
		cursor: pointer;
	}
	
	#sidenavi p.logo span img {
		width: 100%;
		height: auto;
	}
	
	#sidenavi p.logo a {
		width: auto;
		height: 40px;
		display: inline-block;
	}
	
	#sidenavi p.logo a img {
		width: auto;
		height: 100%;
	}
	
	#sidenavi ul {
		position: absolute;
		top: 10px;
		right: 10px;
	}
	
	#sidenavi ul li {
		margin: 0 0 0 10px;
		float: right;
	}
		
	#sidenavi ul.navi_content {
		float: left;
		margin: 0;
		width: 100%;
		position: static;
		*background: #FFFFFF;
		background: rgba(255,255,255,0.9);
		overflow: hidden;
		display: none;
		box-shadow: 0px 5px 10px #555555;
	}
	
	#sidenavi ul.navi_content.open {
		display: block;
		max-height: 350px;
		overflow: auto;
	}
	
	
	#sidenavi ul.navi_content ul {
		margin: 0;
		display: none;
		position: static;
	}
	
	#sidenavi ul.navi_content li {
		padding: 0 20px;
		margin: 0;
		float: none;
		width: 100%;
		overflow: hidden;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	#sidenavi ul.navi_content li a {
		display: block;
		height: 20px;
		overflow: hidden;
		float: left;
		clear: both;
		width: 100%;
		border-left: 5px solid #dbdbdb;
		padding: 0 20px;
		margin: 10px 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		line-height: 20px;
		color: #333333;
	}
	
	#sidenavi #lang {
		position: absolute;
		right: 100px;
		top: 20px;
	}
	
	#sidenavi #lang li {
		font-size: 12px;
		overflow: hidden;
		float: left;
		margin: 0
	}
	
	#sidenavi #lang li:first-child:after {
		content: '/';
		margin: 0 5px;
	}
	
	#sidenavi #shop a {
		display: block;
		min-width: 35px;
		min-height: 35px;
		background: url(../../img/common/bt_sp_onlineshop.gif) center no-repeat;
		background-size: contain;
	}
	
	#sidenavi #shop img {
		display: none;
	}
	
	#sidenavi #facebook a {
		display: block;
		min-width: 35px;
		min-height: 35px;
		background: url(../../img/common/bt_sp_facebook.gif) center no-repeat;
		background-size: contain;
	}
	
	#sidenavi #facebook img {
		display: none;
	}
}

/* ---------------------------------------------------------
□ ページ共通
--------------------------------------------------------- */
/* ---------------------------------------------------------
■ 見出し
--------------------------------------------------------- */
div#content h1 {
	margin: 0 0 25px 0;
}

div#content h2 {
	margin: 10px 0 25px 0;
}

/* ---------------------------------------------------------
■ 段落
--------------------------------------------------------- */
div#content p {
	margin: 0 0 25px 0;
}

/* ---------------------------------------------------------
■ 箇条書きリスト
--------------------------------------------------------- */
/* 通常の丸リスト
----------------------------------------- */
div#content ul.type_disc {
	margin: 0 0 25px 0; 
}

div#content ul.type_disc li {
	margin: 2px 0 0 20px;
	list-style-type: disc;
}

/* ---------------------------------------------------------
■ テーブル
--------------------------------------------------------- */
/* 共通 
----------------------------------------- */
div#content table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 25px 0;
	border: 1px solid #ffffff;
	background: #FFFFFF;
}

/* キャプション（テーブルタイトル） */
div#content table caption {
	text-align: left;
	font-weight: bold;
	padding-bottom: 5px;
}

/* th 上部 */
div#content table thead th {
	padding: 5px 10px;
	text-align: left;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	background: #dfdfdf;
	font-weight: bold;
}

/* th 通常 */
div#content table th {
	padding: 5px 10px;
	text-align: left;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	background: #dfdfdf;
	font-weight: bold;
	vertical-align: top;
}

/* td 通常 */
div#content table td {
	padding: 5px 10px;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	background: #f7f7f7;
}

@media screen and (max-width:700px){	
	div#content table {
		margin: 0 0 4% 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	/* キャプション（テーブルタイトル） */
	div#content table caption {
		text-align: left;
		font-weight: bold;
		padding-bottom: 5px;
	}
	
	/* th 上部 */
	div#content table thead th {
		display: block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	/* th 通常 */
	div#content table th {
		display: block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	/* td 通常 */
	div#content table td {
		display: block;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}

/* ---------------------------------------------------------
■ その他
--------------------------------------------------------- */
/* 共通 
----------------------------------------- */

/* pの中に入れるときなど */
div#content img.img_right { margin-left: 15px; margin-bottom:15px; float: right; }
div#content img.img_left  { margin-right: 15px; margin-bottom:15px; float: left; }
div#content img.img_center  { margin-bottom:15px; }

.f_l { float: left; }
.f_r { float: right; }

.mB10{ margin-bottom: 10px !important;}
.mB40{ margin-bottom: 40px !important;}


/* テキスト配置
----------------------------------------- */
div#content p.tx_right {
	text-align: right;
}

div#content p.tx_center {
	text-align: center;
}

/* 文字装飾汎用
----------------------------------------- */
div#content .bold { font-weight: bold; }
div#content .red { color: #ff3333; }
div#content .blue { color: #004568; }
div#content .orange { color: #ff6600; }
div#content .brown { color: #421800; }
div#content .blue_s { color: #004568; font-size: 12px; }

div#content .font_small { font-size: 10px; }
div#content .font_big { font-size: 14px; }
