/* --------------------------------------------------

	common

-------------------------------------------------- */


/* - layout
---------------------------------------------------------------------- */
html, body {
	margin: 0;	/* 余白の削除 */
	padding: 0;	/* 余白の削除 */
	height: 100%;	/* 縦の高さを100% */
	width: 100%;	/* 横の幅を100% */
}

body {
	-webkit-text-size-adjust: 100%;
	font-family :"Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	color:#333;
	line-height:1.5;
	text-align: left;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
}

/* - skip menu for voice navigation - */
.u-hide {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	overflow: hidden;
	/*display: none;*/
}


#wrapper {
	position: relative;		/* フッター部の配置用に定義 */
	min-height: 100%;		/* 縦の表示領域を100% */
	height: auto;
	padding-bottom: 94px;   /* フッターの高さの分余白を取る */
	box-sizing: border-box;
}

#contents {
	height: auto;
	box-sizing: border-box;
}

#contentsBody {
	position: relative;
	box-sizing: border-box;
}


/* ------------------------------------------------------------

	960px～（PC main）

------------------------------------------------------------ */


/* - header
---------------------------------------------------------------------- */
#header {
	height: auto;
	background-color: #FFFF00;
}

#header:after { content: ''; display: block; clear: both; }

#header * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#header .container { max-width: 940px; margin: 0 auto; }
#header .container:after { content: ''; display: block; clear: both; }


/* ----- title block ----- */
#header .title_block {
	float: left;
	width: 280px;
	height: 50px;
	
	margin: 0;
	margin-top: 8px;
	height: auto;
	/*overflow: hidden;*/
}

#header .title_block:after { content: ''; display: block; clear: both; }

#header .title_block > h1 { float: none; }
#header .title_block > h1 > a { display:block; }
#header .title_block > h1 > a > img { vertical-align: top; max-width: 280px; }

#header .title_block > p {
	margin: 0;
	margin-top: 10px;
	display: block;
}

#header .title_block > p > a {
	display: block;
	line-height: 1;
}

#header .title_block > p > a img {
	width: 110px;
	height: auto;
	vertical-align: top;
	line-height: 1;
}

#header a:focus,
#header input:focus {
	/*border: 1px solid #000;*/
	/*margin: -1px;*/
	outline: solid;
}

/* - Global Menu
---------------------------------------------------------------------- */

/* ----- menu block ----- */
#header .menu_block {
	/*height: 90px;*/
	float: right;
	position: relative;
	overflow: visible;
	width: auto;
	height: auto;
	margin-top: -40px;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}

#header .menu_block .menu_wrapper { overflow: visible; }
#header .menu_block .menu_header { display: none; }


/* ----- menu header ----- */
#header .menu_block .menu_header {
	position: absolute;
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	/*padding: 4px;*/
	color: #FF0000;
	/*width: 165px;*/
	width: 120px;
	border: 1px solid #baf2c4;
	border: 1px solid #fff;
	/*top: 45px;*/
	top: 8px;
	right: 10px;
	cursor: pointer;
	display: none;
}

#header .menu_block .menu_header a {
	text-decoration: none;
	color: #baf2c4;
	color: #FF0000;
	display: block;
	padding: 4px;
}

#header .menu_block .menu_header i { margin-right: 0.5em; }


/* ----- menu_inner ----- */
#header .menu_block .menu_inner {
	/*position: relative;*/
	display: block;
	max-width: 940px;
	height: auto;
	border: none;
	padding: 0;
	height: auto;
	margin-top:0;
	overflow:visible;
}

#header .menu_block .menu_inner.open { display: block; }

#header .menu_block .menu_inner > .inner {
	margin-top: 0;
	transition: none;
	display: block;
}

#header .menu_block .menu_inner.open > .inner { margin-top: 0; display: block; }

#header .menu_block .menu_inner .close { display: none; }/* ----- menu close button (for sp) ----- */


/* ----- header utility ----- */
#header_utility {
	/*width: 470px;*/
	height: auto;
	overflow: hidden;
}

#header_utility:after { content: '';display: block;clear: both; }

/*
#header_utility > .utility_menu {
	display: block;
	position: absolute;
	right: 210px;
	right: 217px;
	top: 8px;
}
*/


div.utility_menu {
	display: block;
	position: absolute;
	right: 210px;
	right: 217px;
	/*top: -32px;*/
	top: 8px;
}

/*
#header_utility > .utility_menu > ul { overflow: hidden; }
*/

.utility_menu > ul:after { content: ''; display: block; clear: both; }

.utility_menu > ul > li {
	float: left;
	/*
	height: 20px;
	border: none;
	*/
}

.utility_menu > ul > li > a {
	display: block;
	/*
	background: url(/common_r/header/img/bg_header_utility.png) no-repeat;
	background-size: 500px 100px;
	*/
	overflow: hidden;
	/*
	text-indent: -9999px;
	border: none;
	*/
	box-sizing: border-box;
	text-decoration: none;
}

/*
#header_utility > .utility_menu > ul > li#u_menu1 { width: 67px; }
#header_utility > .utility_menu > ul > li#u_menu1 > a { background-position: -50px -20px;  }

#header_utility > .utility_menu > ul > li#u_menu2 { width: 107px; }
#header_utility > .utility_menu > ul > li#u_menu2 > a { background-position: -150px -20px;  }

#header_utility > .utility_menu > ul > li#u_menu3 { width: 72px; }
#header_utility > .utility_menu > ul > li#u_menu3 > a { background-position: -300px -20px;  }
*/

.utility_menu > ul > li > a img {
	max-height: 20px; vertical-align: top;
}

.utility_menu > ul > li > a span.sp { display: none; }

/*
#header_utility > .utility_menu > ul > li > a:focus {
	border: 2px solid #000;
	margin: -1px;
}
*/

/* ----- 検索ボックス ----- */
/*
#search_block > .search_box {
	width: auto;
	position: absolute;
	right: 0;
	top: 8px;
	overflow: hidden;
}

#search_block > .search_box:after { content: ''; display: block; clear: both; }
*/


div.search_box {
	width: auto;
	position: absolute;
	right: 0;
	top: 8px;
	overflow: hidden;
}

div.search_box:after { content: ''; display: block; clear: both; }


input#textfield {
	height: 20px;
	font-size: 1.3rem;
	/*border: none;*/
	border: 1px solid #ddd;
	float: left;
	width: 120px;
	width: 122px;
	border-radius: 0;
}

#searchBtn { margin-left: 5px; border-radius: 0; }

/*
#search_block input.submit_btn { display: none; }
*/
/*#search_block label { display: none; }*/

/*
#search_block label {
	position: absolute;
	top: -100px;
}
*/


/* ----- global menu ----- */
#global_menu {
	margin: 0;
	padding: 0;
	/*margin-top: 47px;*/
	width: 776px;
	max-width: 776px;
	border: none;
	margin-top: 40px;
	display: block;
}

#global_menu:after { content: ''; display: block; clear: both; }

#global_menu > ul {
	border: none;
	margin: 0;
	padding: 0;
	font-size: 0;
	font-size: 0rem;
	box-sizing: border-box;
	height: auto;
}

#global_menu > ul > li {
	display: inline-block;
	font-size: 1.3rem;
	float: left;
	position: relative;
	margin: 0;
	padding: 0;
	z-index: 600;
	display: block;
}

#global_menu > ul > li > dl > dt > a { display: block; }
#global_menu > ul > li > dl > dt > a img { vertical-align: top; }

#global_menu > ul > li#menu1 > dl > dt > a {
	width: 167px;
}
#global_menu > ul > li#menu2 > dl > dt > a {
	width: 150px;
}
#global_menu > ul > li#menu3 > dl > dt > a {
	width: 102px;
}
#global_menu > ul > li#menu4 > dl > dt > a,
#global_menu > ul > li#menu4 > dl > dt > a img {
	width: 110px;
}
#global_menu > ul > li#menu5 > dl > dt > a,
#global_menu > ul > li#menu5 > dl > dt > a img { width: 134px; }
#global_menu > ul > li#menu6 > dl > dt > a { width: 113px; }

#global_menu > ul > li > dl > dt > a span.sp { display: none; }


/*
#global_menu > ul > li#menu1 > dl > dt > a { width: 102px; background-position: left top; }
#global_menu > ul > li#menu1 > dl > dt > a:hover { background-position: left -60px;  }
#global_menu > ul > li#menu1.current > dl > dt > a { background-position: left -60px; }

#global_menu > ul > li#menu2 > dl > dt > a { width: 167px; background-position: -102px top; }
#global_menu > ul > li#menu2 > dl > dt > a:hover { background-position: -102px -60px; }
#global_menu > ul > li#menu2.current > dl > dt > a { background-position: -102px -60px; }

#global_menu > ul > li#menu3 > dl > dt > a { width: 110px; background-position: -269px top; }
#global_menu > ul > li#menu3 > dl > dt > a:hover { background-position: -269px -60px; }
#global_menu > ul > li#menu3.current > dl > dt > a { background-position: -269px -60px; }

#global_menu > ul > li#menu4 > dl > dt > a { width: 150px; background-position: -379px top; }
#global_menu > ul > li#menu4 > dl > dt > a:hover { background-position: -379px -60px; }
#global_menu > ul > li#menu4.current > dl > dt > a { background-position: -379px -60px; }

#global_menu > ul > li#menu5 > dl > dt > a { width: 134px; background-position: -529px top; }
#global_menu > ul > li#menu5 > dl > dt > a:hover { background-position: -529px -60px; }
#global_menu > ul > li#menu5.current > dl > dt > a { background-position: -529px -60px; }

#global_menu > ul > li#menu6 > dl > dt > a { width: 113px; background-position: -663px top; }
#global_menu > ul > li#menu6 > dl > dt > a:hover { background-position: -663px -60px; }
#global_menu > ul > li#menu6.current > dl > dt > a { background-position: -663px -60px; }
*/

#global_menu > ul > li > dl {
	border-top: none;
	display: block;
}

#global_menu > ul > li > dl > dt { display: block; }

#global_menu > ul > li > dl > dt > a {
	height: 43px;
	/*overflow: hidden;*/
	padding: 0;
	border: none;
	box-sizing: border-box;
	position: relative;
}

/*
#global_menu > ul > li > dl > dt > a {
	text-indent: -9999px;
	height: 43px;
	background-image: url(/common_r/header/img/bg_menu.png);
	background-repeat: no-repeat;
	background-size: 776px 120px;
	overflow: hidden;
	padding: 0;
	border: none;
	box-sizing: border-box;
}
*/

/* - current arrow - */
#global_menu > ul > li > dl > dt > a > div.current_arrow {
	position: absolute;
	left: 50%;
	bottom: 6px;
	margin-left: -6px;
	display: none;
	/*bottom: -8px;*/
	
	width: 12px;
	height: 5px;
}

#global_menu > ul > li.current > dl > dt > a div.current_arrow { display: block; /*bottom: -8px;*/ }

/*#global_menu > ul > li:hover > div.current_arrow { display: block; width: 12px; height: 5px; }*/

#global_menu > ul > li > dl > dt > a:focus div.current_arrow { display: block; /*bottom: -8px;*/ }
#global_menu > ul > li > dl > dt > a div.current_arrow img { max-width: 12px; }

#global_menu > ul > li > dl > dt > a > i { display: none; }



/* ----- pulldown menu open button ----- */
#global_menu > ul > li > dl > dd { display: none; }


/* ----- プルダウンメニュー ----- */
#global_menu > ul > li > ul {
	background-color: #ecf1e9;
	position: absolute;
	left: -1px;
	border-left: 1px solid #c3cabf;
	border-right: 1px solid #c3cabf;
	width: 200px;
	height: auto;
	/*overflow: hidden;*/
	/*visibility: hidden;*/
	display: none;
}


/* --- タブフォーカス時（2016.05.19追加） --- */
#global_menu > ul > li > ul.focused {
	top:43px;
	border-bottom: 1px solid #c3cabf;
	/*visibility: visible;*/
	display: block;
}

#global_menu > ul > li#menu6 > ul { left: -87px; }

#global_menu > ul > li:hover > ul {
	top:43px;
	border-bottom: 1px solid #c3cabf;
	/*visibility: visible;*/
	display: block;
	z-index: 800;
}

#global_menu > ul > li > ul > li {
	margin: 0;
	border: 0;
	width: 198px;
	font-size: 1.2rem;
	border-top: 1px dotted #c3cabf;
	background-color: #FFFF99;
	padding-left: 0;
}

#global_menu > ul > li > ul > li:first-child { border-top: none; }

#global_menu > ul > li > ul > li > a {
	margin: 0;
	display: block;
	padding: 5px 8px 5px 16px;
	background: #ecf1e9 url(/common_r/header/img/arrow_gr.png) no-repeat;
	background-position: 8px center;
	display: block;
	text-decoration: none;
	color: #555;
	line-height: 1.5;
	font-size: 1.2rem;
}

#global_menu > ul > li > ul > li > a:hover {
	text-decoration: underline;
	color: #5bd469;
	color: #017e1e;
}

/* ----- 第２階層サブメニュー ----- */
#global_menu > ul > li > ul > li.subMenu { text-indent: 10px; }
#global_menu > ul > li > ul > li.subMenu > a { background-position: 18px center; }
#global_menu > ul > li:hover > ul > li.subMenu > a { background-position: 18px center; }



/* - パンくずリスト
-------------------------------------------------- */
.bread_crumb {
	width: 100%;
	background-color: #eee;
	border-bottom: 1px solid #e3e3e3;
	box-sizing: border-box;
	padding: 0 6px;
}

.bread_crumb > .content {
	max-width: 940px;
	margin: 0 auto;
	padding: 6px 0;
}

.bread_crumb > .content > ul > li > a {
	padding: 0 0.5rem;
	font-size: 1.3rem;
}

.bread_crumb > .content > ul > li > a:hover {
	color: #1faa37;
	color: #126432;
}

.bread_crumb > .content > ul > li:first-child > a { padding-left: 0; }

.bread_crumb > .content > ul > li.current > a {
	text-decoration: none;
	font-weight: bold;
	color: #444;
}



/* - page top button
-------------------------------------------------- */
#contentsBody > #page_top_btn {
	position: fixed;
	bottom: 80px;
	cursor: pointer;
	right: auto;
	width: 44px;
	z-index: 999;
}

#contentsBody > #page_top_btn > img {
	display: block;
	width: 44px;
	height: 44px;
}


/* - 2nd global footer
-------------------------------------------------- */
#footer {
	width: 100%;
	height: 74px;
	position: absolute;
	bottom: 0;
	background-image: url(/common_r/footer/img/bg_footer_line.png);
	background-position: 0 44px;
	background-repeat: repeat-x;
	box-sizing: border-box;
}

#footer * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#footer .icon {
	width: 100%;
	height: 44px;
	background: url(/common_r/footer/img/bg_footer.png) no-repeat right top;
	background-size: 141px 44px;
	margin: 0 auto;
	max-width: 940px;
}

#footer .content {
	width: 940px;
	max-width: 940px;
	margin: 0 auto;
	padding: 6px;
	box-sizing: border-box;
}

#footer .copyright {
	text-align: right;
	color: #fff;
	font-size: 1.0rem;
	font-weight: bold;
	margin-top: 5px;
	line-height: 1;
}


/* - フッター内　表示モード
-------------------------------------------------- */
#rwd_mode {
	max-width: 940px;
	margin: 0 auto;
	text-align: center;
}

#rwd_mode > div.inner {
	background-color: #ebebeb;
	padding: 10px 8px;
	display: inline-block;
	vertical-align: bottom;
}

#rwd_mode dl { display: table; }

#rwd_mode dl > dt {
	display:table-cell;
	font-size: 1.1rem;
	line-height: 1;
	vertical-align: middle;
}

#rwd_mode dl > dd {
	display:table-cell;
	vertical-align: middle;
	padding-left: 5px;
}

#rwd_mode dl > dd > ul { display: table; }

#rwd_mode dl > dd > ul > li { display: table-cell; }

#rwd_mode dl > dd > ul > li > a {
	padding: 6px 8px;
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
	font-size: 1.1rem;
	text-decoration: none;
	line-height: 1;
	font-weight: bold;
}

#rwd_mode dl > dd > ul > li > a:hover { background-color: #f1f8e9; }

#rwd_mode dl > dd > ul > li.current > a {
	box-shadow: none;
	background-color: #333;
	background-color: #14783a;
	color: #fff;
}


/* --------------------------------------------------

	アクセシビリティ

-------------------------------------------------- */

/* - ナビゲーションスキップ
-------------------------------------------------- */
#navigation_skip {
	background-color: #222;
	color: #fff;
	display: block;
	position: relative;
}

#navigation_skip > p {
	position: absolute;
	left: 0;
	top: -10px;
	height: 1px;
	overflow:hidden;
}

#navigation_skip > p.focused {
	position: static;
	height: auto;
}

#navigation_skip > p > a {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	padding: 10px 0;
}

#navigation_skip > p > a i { margin-right: 0.4em; }



/* - 汎用クラス
---------------------------------------------------------------------- */
.mt50 { margin-top: 50px; }
.mt40 { margin-top: 40px; }
.mt30 { margin-top: 30px; }
.mt25 { margin-top: 25px; }
.mt20 { margin-top: 20px; }
.mt15 { margin-top: 15px; }
.mt10 { margin-top: 10px; }
.mt5 { margin-top: 5px; }

.clearfix { overflow: hidden; }
.clearfix:after { content: ''; display: block; clear: both; }




/* ------------------------------------------------------------

	768px～959px（タブレット／ヘッダー・フッターのみ）

------------------------------------------------------------ */

@media only screen and (min-width:768px) and (max-width: 959px) {
	
	/* - header
	---------------------------------------------------------------------- */
	#header {
		z-index: 999;/* for IE */
		height: auto;
	}
	
	#header .container {
		max-width: 100%;
		position: relative;
	}
	
	/* ----- title block ----- */
	#header .title_block {
		float: none;
		margin: 0;
		margin-left: 10px;
		width: auto;
		height: auto;
		padding: 0;
		padding-top: 8px;
	}
	
	#header .title_block > h1 {
		margin-top: 0;
		max-width: 110px;
		width: auto;
		float: left;
	}
	
	#header .title_block > p {
		margin: 0;
		display: inline-block;
		margin-left: 20px;
		vertical-align: baseline;
		margin-top: 15px;
	}
	
	
	/* ----- menu block ----- */
	#header .menu_block {
		height: auto;
		float: none;
		margin-top: 8px;
		margin-top: 6px;
		position: static;
	}
	
	#header .menu_block .menu_wrapper { overflow: visible; }
	#header .menu_block .menu_header { display: none; }
	
	
	/* ----- menu_inner ----- */
	#header .menu_block .menu_inner {
		/*position: relative;*/
		display: block;
		max-width: 940px;
		height: auto;
		background:none;
		border: none;
		padding: 0;
		height: auto;
		margin-top:0;
		overflow:visible;
		max-width: 100%;
	}
	
	#header .menu_block .menu_inner.open { display: block; }
	
	#header .menu_block .menu_inner > .inner {
		margin-top: 0;
		transition: none;
		display: block;
	}
	
	#header .menu_block .menu_inner.open > .inner {
		margin-top: 0;
		display: block;
	}
	
	/* ----- menu close button (for sp) ----- */
	#header .menu_block .menu_inner .close { display: none; }
	
	/* ----- header utility ----- */
	/*
	#header_utility > .utility_menu {
		display: block;
		position: absolute;
		right: 210px;
		top: -38px;
	}
	*/
	
	div.utility_menu {
		display: block;
		position: absolute;
		right: 217px;
		/*top: -32px;*/
		top: 8px;
		
		top: -38px;
		right: 210px;
		
		top: 15px;
		top: 20px;
	}
	
	/* ----- 検索ボックス ----- */
	/*
	#search_block > .search_box {
		width: auto;
		position: absolute;
		right: 10px;
		top: -38px;
		overflow: hidden;
	}
	*/
	
	div.search_box {
		width: auto;
		position: absolute;
		right: 0;
		top: 8px;
		/*top: -38px;*/
		right: 10px;
		/*overflow: hidden;*/
		top: 15px;
		top: 20px;
	}
	
	div.search_box:after { content: ''; display: block; clear: both; }
	
	input#textfield {
		height: 20px;
		font-size: 1.3rem;
		/*border: none;*/
		border: 1px solid #ddd;
		float: left;
		width: 120px;
	}
	
	#searchBtn { margin-left: 5px; }
	
	
	/* ----- global menu ----- */
	#global_menu {
		display: block;
		width: auto;
		max-width: 100%;
		border-top: 1px dotted #8fd59b;
		padding-top: 5px;
		margin: 0;
		padding: 0;
		text-align: center;
		
		/*padding: 0 10px;*/
	}
	
	#global_menu:after { content: ''; display: block; clear: both; }
	
	#global_menu > ul {
		border: none;
		margin: 0;
		padding: 0;
		font-size: 0;
		font-size: 0rem;
		height: auto;
		height: 43px;
		box-sizing: border-box;
		
		max-width: 100%;
		
		/*display: table;
		margin: 0 auto;
		*/
	}
	
	#global_menu > ul > li {
		display: inline-block;
		float: none;
		font-size: 1.3rem;
		text-align: left;
		
		/*display: table-cell;*/
	}
	
	#global_menu > ul > li > dl { border-top: none; display: block; }
	#global_menu > ul > li > dl > dt { display: block; }
	
	#global_menu > ul > li > dl > dt > a {
		/*text-indent: -9999px;
		height: 43px;
		background-image: url(/common_r/header/img/bg_menu.png);
		background-repeat: no-repeat;
		background-size: 776px 120px;
		overflow: hidden;
		padding: 0;
		border: none;
		box-sizing: border-box;
		*/
		height: 43px;
		padding: 0;
		box-sizing: border-box;
	}
	
	/* 0.9 */
	#global_menu > ul > li#menu1 > dl > dt > a { width: 92px; }
	#global_menu > ul > li#menu2 > dl > dt > a { width: 150px; }
	#global_menu > ul > li#menu3 > dl > dt > a { width: 99px; }
	#global_menu > ul > li#menu4 > dl > dt > a { width: 135px; }
	#global_menu > ul > li#menu5 > dl > dt > a { width: 120px; }
	#global_menu > ul > li#menu6 > dl > dt > a { width: 102px; }
	
	/*
	#global_menu > ul > li#menu1 > dl > dt > a img { max-width: 102px; }
	#global_menu > ul > li#menu2 > dl > dt > a img { max-width: 167px; }
	#global_menu > ul > li#menu3 > dl > dt > a img { max-width: 110px; }
	#global_menu > ul > li#menu4 > dl > dt > a img { max-width: 150px; }
	#global_menu > ul > li#menu5 > dl > dt > a img { max-width: 134px; }
	#global_menu > ul > li#menu6 > dl > dt > a img { max-width: 113px; }
	*/
	
	
	/*
	#global_menu > ul > li#menu1 > dl > dt > a { width: 91px; background-position: -5px top; }
	#global_menu > ul > li#menu1 > dl > dt > a:hover { background-position: -5px -60px; }
	#global_menu > ul > li#menu1.current > dl > dt > a { background-position: -5px -60px; }
	
	#global_menu > ul > li#menu2 > dl > dt > a { width: 156px; background-position: -107px top; }
	#global_menu > ul > li#menu2 > dl > dt > a:hover { background-position: -107px -60px; }
	#global_menu > ul > li#menu2.current > dl > dt > a:hover { background-position: -107px -60px; }
	
	#global_menu > ul > li#menu3 > dl > dt > a { width: 99px; background-position: -269px top; }
	#global_menu > ul > li#menu3 > dl > dt > a:hover { background-position: -269px -60px; }
	#global_menu > ul > li#menu3.current > dl > dt > a:hover { background-position: -269px -60px; }
	
	#global_menu > ul > li#menu4 > dl > dt > a { width: 139px; background-position: -379px top; }
	#global_menu > ul > li#menu4 > dl > dt > a:hover { background-position: -379px -60px; }
	#global_menu > ul > li#menu4.current > dl > dt > a:hover { background-position: -379px -60px; }
	
	#global_menu > ul > li#menu5 > dl > dt > a { width: 123px; background-position: -529px top; }
	#global_menu > ul > li#menu5 > dl > dt > a:hover { background-position: -529px -60px; }
	#global_menu > ul > li#menu5.current > dl > dt > a:hover { background-position: -529px -60px; }
	
	#global_menu > ul > li#menu6 > dl > dt > a { width: 118px; background-position: -663px top; }
	#global_menu > ul > li#menu6 > dl > dt > a:hover { background-position: -663px -60px; }
	#global_menu > ul > li#menu6.current > dl > dt > a:hover { background-position: -663px -60px; }
	*/
	
	/* ----- pulldown menu open button ----- */
	#global_menu > ul > li > dl > dd { display: none; }
	
	/* ----- プルダウンメニュー ----- */
	#global_menu > ul > li > ul {
		background-color: #ecf1e9;
		position: absolute;
		left: -1px;
		border-left: 1px solid #c3cabf;
		border-right: 1px solid #c3cabf;
		width: 200px;
		height: auto;
		/*overflow: hidden;*/
		/*visibility: hidden;*/
		display: none;
	}
	
	/*#global_menu > ul > li#menu6 > ul { left: -82px; }*/
	#global_menu > ul > li#menu6 > ul { left: -96px; }
	
	#global_menu > ul > li:hover > ul {
		top:43px;
		border-bottom: 1px solid #c3cabf;
		/*visibility: visible;*/
		display: block;
		z-index: 800;
	}
	
	#global_menu > ul > li > ul > li {
		margin: 0;
		border: 0;
		width: 198px;
		font-size: 1.2rem;
		border-top: 1px dotted #c3cabf;
		background-color: #ecf2e9;
		padding-left: 0;
	}
	
	#global_menu > ul > li > ul > li:first-child { border-top: none; }
	
	#global_menu > ul > li > ul > li > a {
		margin: 0;
		display: block;
		padding: 5px 8px 5px 16px;
		
		background: #ecf1e9 url(/common_r/header/img/arrow_gr.png) no-repeat;
		background-position: 8px center;
		
		display: block;
		text-decoration: none;
		color: #555;
		line-height: 1.5;
		font-size: 1.2rem;
	}
	
	#global_menu > ul > li:hover > ul > li > a { background-position: 8px center; }
	
	#global_menu > ul > li > ul > li > a:hover {
		text-decoration: underline;
		color: #5bd469;
		color: #017e1e;
	}
	
	/* ----- 第２階層サブメニュー ----- */
	#global_menu > ul > li > ul > li.subMenu { text-indent: 10px; }
	#global_menu > ul > li > ul > li.subMenu > a { background-position: 18px center; }
	#global_menu > ul > li:hover > ul > li.subMenu > a { background-position: 18px center; }
	
	
	/* - footer
	-------------------------------------------------- */
	#footer {
		width: 100%;
		height: 74px;
		position: absolute;
		bottom: 0;
		padding: 0 20px;
		box-sizing: border-box;
	}
	
	#footer .content { max-width: 100%; }
	#footer .copyright { text-align: right; }
	
}


/* ------------------------------------------------------------

	～767px（スマホ）

------------------------------------------------------------ */
@media only screen and (max-width: 767px) {

	/* --------------------------------------------------
		global header - mobile
	-------------------------------------------------- */
	
	/* - header
	---------------------------------------------------------------------- */
	#header {
		height: 70px;
		padding-top: 10px;
		height: auto;
		position: relative;
	}
	
	/* - title
	---------------------------------------------------------------------- */
	#header .title_block {
		margin-left: 10px;
		float: none;
		max-width: 100%;
		padding-top: 0px;
		margin-top: 0;
		width: auto;
		height: auto;
		/*overflow: hidden;*/
		
		min-height: 74px;
	}
	
	#header .title_block:after { content: ''; display: block; clear: both; }
	
	#header .title_block > h1 {
		float: none;
		width: auto;
		max-width: 110px;
	}
	
	#header .title_block > h1 > a { display: block; }
	
	#header .title_block > h1 > a > img {  }
	
	#header .title_block > p {
		margin-top: 10px;
		margin-left: 16px;
		display: none;
	}
	
	/* - menu
	---------------------------------------------------------------------- */
	#header .menu_block {
		float: none;
		height: auto;
		position: static;
		margin-top: 20px;
		margin-top: 0;
	}
	
	/* ----- menu header ----- */
	#header .menu_block .menu_header {
		position: absolute;
		
		font-size: 1.2rem;
		font-weight: bold;
		text-align: center;
		
		color: #ff0000;
		width: 120px;
		border: 1px solid #ff0000;
		border: 1px solid #ff0000;
		top: 55px;
		right: 10px;
		cursor: pointer;
		
		display: block;
		z-index: 999;
	}
	
	#header .menu_block .menu_header a {
		text-decoration: none;
		color: #f00000;
		color: #f00000;
		display: block;
		padding: 2px;
	}
	
	#header .menu_block .menu_header i { margin-right: 0.5em; }
	
	#header .menu_block .menu_wrapper { overflow: hidden; }
	
	#header .menu_block .menu_inner {
		background-color: #ffff00;
		border: 1px solid #bbb;
		padding: 10px;
		padding-top: 5px;
		overflow: hidden;
		padding-top: 0;
		display: none;
		margin-top: -1px;
	}
	
	#header .menu_block .menu_inner.open { display: block; }
	
	#header .menu_block .menu_inner > .inner { display: none; }
	
	#header .menu_block .menu_inner.open > .inner {
		margin-top: 0;
		display: block;
	}
	
	/* ----- menu close button ----- */
	#header .menu_block .menu_inner .close {
		margin-top: 10px;
		/*border-top: 1px solid #ccc;
		padding-top: 10px;*/
		padding-top: 0px;
		text-align: right;
		display: block;
		cursor: pointer;
	}
	
	#header .menu_block .menu_inner .close > .btn {
		display: inline-block;
		font-size: 1.2rem;
		line-height: 1.4;
		border: 1px solid #ccc;
		border-radius: 4px;
	}
	
	#header .menu_block .menu_inner .close > .btn a {
		text-decoration: none;
		display: block;
		color: #444;
		padding: 5px 8px;
	}
	
	#header .menu_block .menu_inner .close > .btn i { margin-right: 0.5em; }
	
	
	/* - header utility
	---------------------------------------------------------------------- */
	#header_utility { width: 100%; }
	#header_utility > .utility_menu { position: static; }
	
	#header_utility > .utility_menu > ul { text-align: center; width: 100%; }
	
	#header_utility > .utility_menu > ul > li {
		float: none;
		display: inline-block;
		border-left: 1px solid #ccc;
		height: auto;
		width: auto !important;
	}
	
	#header_utility > .utility_menu > ul > li:first-child { margin-left: 0; border: none; }
	
	#header_utility > .utility_menu > ul > li > a {
		display: block;
		padding: 5px;
		padding-left: 10px;
		/*line-height: 1.4em;*/
		line-height: 1.4;
		/*background: none;
		text-decoration: none;*/
		color: #444;
		/*text-indent: 0;*/
		font-size: 1.1rem;
		/*border-radius: 4px;*/
		width: auto;
	}
	
	#header_utility > .utility_menu > ul > li > a > img { display: none; }
	#header_utility > .utility_menu > ul > li > a span.sp { display: inline; }
	
	/*
	#header_utility > .utility_menu > ul > li > a:after {
		display: inline-block;
		content: attr(data-label);
	}
	*/
	
	/* - search
	---------------------------------------------------------------------- */
	div.search_box {
		width: auto;
		position: absolute;
		right: 10px;
		top: 12px;
		/*overflow: hidden;*/
	}
	
	div.search_box:after { content: ''; display: block; clear: both; }
	
	input#textfield {
		height: 20px;
		font-size: 1.3rem;
		border: 1px solid #ddd;
		float: left;
		width: 90px;
	}
	
	#searchBtn { margin-left: 5px; }
	
	/* - global menu
	---------------------------------------------------------------------- */
	#global_menu {
		margin: 0;
		padding: 0;
		border: none;
		width: auto;
	}
	
	#global_menu > ul {
		border-bottom: 1px solid #ccc;
		margin-bottom: 10px;
		width: auto;
	}
	
	#global_menu > ul > li {
		position: relative;
		margin: 0;
		padding: 0;
		z-index: 600;
		width: auto;
	}
	
	#global_menu > ul > li > dl {
		display: table;
		width: 100%;
		max-width: 100%;
		border-top: 1px solid #ddd;
		box-sizing: border-box;
	}
	
	#global_menu > ul > li:first-child > dl { border-top: none; }
	
	#global_menu > ul > li > dl > dt { display: table-cell; box-sizing: border-box; }
	
	#global_menu > ul > li > dl > dt > a {
		display: block;
		overflow: hidden;
		background: none;
		text-indent: 0;
		text-decoration: none;
		font-size: 1.3rem;
		height: auto;
		padding: 8px 5px;
		width: auto;
		color: #333;
		box-sizing: border-box;
		width: auto !important;
		position: static;
	}
	
	#global_menu > ul > li > p { display: none; }
	#global_menu > ul > li > a span.sp { display: inline; }

	#global_menu > ul > li > dl > dt > a img { display: none; }
	
	#global_menu > ul > li > dl > dt > a span.sp { display: inline; }
	
	/*
	#global_menu > ul > li > dl > dt > a:after {
		display: inline-block;
		content: attr(data-label);
	}
	*/
	
	/* - current arrow - */
	#global_menu > ul > li > dl > dt > a > div.current_arrow { display:none; }
	#global_menu > ul > li:hover > div.current_arrow { display: none; }
	#global_menu > ul > li > dl > dt > a:focus div.current_arrow { display: none; }
	
	#global_menu > ul > li > dl > dt > a > i {
		margin-right: 0.5em;
		color: #2aa83d;
		display: inline-block;
	}
	
	/*
	#global_menu > ul > li > dl > dt > a:hover {
		text-decoration: underline;
		color: #5bd469;
	}
	*/
	
	/* ----- pulldown menu open button ----- */
	#global_menu > ul > li > dl > dd {
		display: table-cell;
		width: 40px;
		vertical-align: middle;
		text-align: center;
		box-sizing: border-box;
		border-left: 1px dotted #bbb;
		cursor: pointer;
		display: table-cell;
		box-sizing: border-box;
	}
	
	#global_menu > ul > li > dl > dd > p > a {
		display: block;
		text-decoration: none;
		color: #444;
		/*height: 100%;*/
		/*padding: 8px 5px;*/
		width: 39px;
		height: 35px;
	}
	
	#global_menu > ul > li > dl > dd > p > a img {
		vertical-align: top;
		width: 39px;
		height: 35px;
	}
	
	#global_menu > ul > li > dl > dd > p { text-align: center; }
	#global_menu > ul > li > dl > dd > p.down { display:block; }
	#global_menu > ul > li > dl > dd.on > p.down { display: none; }
	#global_menu > ul > li > dl > dd > p.up { display: none; }
	#global_menu > ul > li > dl > dd.on > p.up { display: block; }
	
	#global_menu > ul > li {
		float: none;
		display: block;
	}
	
	/* ----- プルダウン ----- */
	#global_menu > ul > li > ul {
		display: none;
		border: none;
		width: auto;
		position: static;
		/*visibility: hidden;*/
		background: none;
	}
	
	#global_menu > ul > li > ul.open {
		display: block;
		/*visibility: visible;*/
	}
	
	#global_menu > ul > li:hover > ul {
		display: none;
		/*visibility: hidden;*/
		border-bottom: none;
	}
	
	#global_menu > ul > li:hover > ul.open {
		display: block;
		/*visibility: visible;*/
	}
	
	#global_menu > ul > li > ul > li {
		background-color: #ecf2e9;
		box-sizing: border-box;
		padding-left: 16px;
		/*border-top: 1px dotted #c3cabf;*/
		border: 1px dotted #c3cabf;
		border-bottom: none;
		margin-left: 12px;
		width: auto;
	}
	
	#global_menu > ul > li > ul > li:first-child { border-top: 1px dotted #c3cabf; }
	
	#global_menu > ul > li > ul > li > a {
		font-size: 1.2rem;
		color: #333;
		text-decoration: none;
		/*background: url(/top/_img/arrow_gr.png) no-repeat;*/
		background: url(/common_r/header/img/arrow_gr.png) no-repeat;
		background-position: left center;
		padding: 8px;
		display: block;
	}
	
	#global_menu > ul > li > ul > li > a:hover {
		text-decoration: underline;
		color: #5bd469;
		color: #017e1e;
	}
	
	
	/* ----- 第２階層サブメニュー ----- */
	#global_menu > ul > li > ul > li.subMenu { text-indent: 10px; }
	
	#global_menu > ul > li > ul > li.subMenu > a {
		background-position: 18px center;
		padding-left: 16px;
	}
	
	#global_menu > ul > li:hover > ul > li.subMenu > a { background-position: 18px center; }
	
	
	/* ----- パンくずメニュー ----- */
	.bread_crumb {  }
	.bread_crumb > .content {  }
	.bread_crumb > .content > ul > li > a { font-size: 1.2rem; }
	
	
	/* - global footer 2nd
	-------------------------------------------------- */
	#footer {
		width: 100%;
		height: 74px;
		position: absolute;
		bottom: 0;
		background-image: url(/common_r/footer/img/bg_footer_line.png);
		background-position: 0 44px;
		background-repeat: repeat-x;
		padding: 0 10px;
	}
	
	#footer .icon {
		width: 100%;
		height: 44px;
		background: url(/common_r/footer/img/bg_footer@2x.png) no-repeat right top;
		background-size: 141px 44px;
		margin: 0 auto;
	}
	
	#footer .content {
		padding: 6px;
		width: auto;
		max-width: 100%;
		box-sizing: border-box;
	}
	
	#footer .copyright {
		color: #fff;
		font-size: 1.0rem;
		font-weight: bold;
		margin-top: 2px;
		margin-top: 5px;
		text-align: center;
		line-height: 1;
	}
	
}
