@charset "utf-8";
@import url(sp-common.css);

/* 全体 */
html {
	font-size: 62.5%;
}
body {
	min-width: 320px;
	word-break: normal;
	font-size: 1.4rem;
	line-height: 1.5;
}

#container {
	min-width: 320px;
}

/* 足あと・ブックマーク機能 */
#footstep_wrap, #keep_page {
	display: none !important;
}

/* 印刷 */
#print_mode_link {
	display: none;
}

/* ページ内目次 */
#sp_page_index_link_wrap, #main_body #sp_page_index_link_wrap {
	display: block;
	width: auto;
	padding: 10px;
}

#sp_page_index_link_toggle {
	width: 100%;
	height: auto;
	margin: 0px;
	padding: 1rem;
	font-size: 1.8rem;
	border: 1px solid #333;
	background: url(/img/sp/acc_open.png) no-repeat 97% center #EEEEEE;
	background-size: 20px;
	border-radius: 10px;
}
#sp_page_index_link_toggle.open {
	background-image: url(/img/sp/acc_close.png);
}
#sp_page_index_link_toggle:focus {
	outline: none;
}

#main #main_a ul#sp_page_index_link {
	list-style: none;
	margin: 0px;
	padding: 0px;
}
#main #main_a ul#sp_page_index_link li {
	border-bottom: 1px solid #CCCCCC;
}
#main #main_a ul#sp_page_index_link li a {
	display: block;
	padding: 12px;
	padding-right: 24px;
	background: url(/img/sp/arrow_r.png) no-repeat 97% center;
	background-size: 9px 14px;
	text-decoration: none;
}
#main #main_a ul#sp_page_index_link li a.sp_headtype_h2 {padding-left: 10px; font-size: 2.0rem; line-height: 1.2em;}
#main #main_a ul#sp_page_index_link li a.sp_headtype_h3 {padding-left: 20px; font-size: 1.8rem; line-height: 1.2em;}
#main #main_a ul#sp_page_index_link li a.sp_headtype_h4 {padding-left: 30px; font-size: 1.6rem; line-height: 1.2em;}
#main #main_a ul#sp_page_index_link li a.sp_headtype_h5 {padding-left: 40px; font-size: 1.4rem; line-height: 1.2em;}
#main #main_a ul#sp_page_index_link li a.sp_headtype_h6 {padding-left: 50px; font-size: 1.2rem; line-height: 1.2em;}

/* スマホメニュー */
#spm_wrap {
	display: block;
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 100;
	width: 50px;
	height: 50px;
	margin: 0px;
	padding: 0px;
}
button#spm_menu {
	background: none;
	border: none;
	margin: 0px;
	padding: 0px;
	width: 50px;
	height: 50px;
}
button#spm_menu img {
	width: 100%;
	height: auto;
}
button#spm_menu.acc_open {
	background: url(/img/sp/sp_btn_menu_close.png) no-repeat center center;
	background-size: 100% auto;
}
button#spm_menu.acc_open img {
	opacity: 0;
}

/* ヘッダ */
#header {
	width: auto;
	height: auto;
	margin: 0px;
	padding: 0px;
	position: relative;
}

#header2 {
	display: block;
	width: auto;
	margin: 0px;
	padding: 0px;
}

#he_left {
	display: block;
	width: 147px;
	margin: 0px;
	padding: 6px 0px 7px 20px;
}
#he_left h1 img, #he_left p img {
	width: 100%;
	height: auto;
}

#he_right {
	display: none;
	margin: 0px;
	padding: 0px;
	text-align: center;
	background: #666633;
}
#he_right.acc_open {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}

#he_right_a {
	display: none;
}
#he_right_b {
	-webkit-order: 20;
	order: 20;
	padding-bottom: 20px;
}
#top_search {
	-webkit-order: 10;
	order: 10;
	padding-left: 0px;
}

ul#header_link2 {
	padding: 0px 0px 10px;
}
ul#header_link2 > li#header_link2_1 {
	display: none;
}
ul#header_link2 > li#header_link2_2 {
	display: block;
	margin: 0px;
}
ul#header_link2 > li#header_link2_2 #acc_search_open {
	display: none;
}
ul#header_link2 > li#header_link2_3,
ul#header_link2 > li#header_link2_4,
ul#header_link2 > li#header_link2_5 {
	display: inline-block;
	width: calc(32% - 6px);
	margin: 0px 3px;
}
ul#header_link2 > li#header_link2_3 a,
ul#header_link2 > li#header_link2_4 a,
ul#header_link2 > li#header_link2_5 a {
	padding: 7px 0px 5px;
}

ul#header_link2 > li#header_link2_2_2 {
	display: none;
}
.top-index ul#header_link2 > li#header_link2_2 {
	display: none;
}

#header_search_wrap {
	display: block;
	background: none;
	position: static;
}
#header_search {
	display: block;
	width: auto;
}
#header_search > div#header_search_ttl {
	display: none;
}
#header_search > div#header_search_box {
	display: block;
}
#header_search > div#header_search_btn {
	display: none;
}

#top_search_keyword {
	padding: 10px;
}

#tmp_query {
	width: calc(100% - 52px);
}
#submit {
	width: 50px;
	height: 40px;
}
#cse_filetype {
	display: block;
	text-align: right;
	margin-top: 5px;
}
#cse_filetype span label {
	font-size: 1.3rem;
}

#header_search_link {
	padding: 0px 10px 10px;
}
#header_search_link ul {
	width: 100%;
	display: table;
}
#header_search_link ul li {
	display: table-cell;
	vertical-align: top;
	margin: 0px;
	padding: 0px 1px;
}
#header_search_link ul li a,
#header_search_link ul li a:hover {
	white-space: normal;
	font-size: 1.1rem;
	line-height: 1.5;
	padding: 15px 0px;
	text-align: center;
	background: #333333;
	color: #FFFFFF;
}
#header_search_link ul li a span {
	display: block;
	white-space: nowrap;
}

ul#gnav {
	display: block;
	width: auto;
	padding: 18px 8px 8px;
}
ul#gnav li {
	display: inline-block;
	vertical-align: top;
	width: 50%;
	margin: 0px;
	padding: 0px;
}
ul#gnav li#gnav0 {
	display: none;
}
ul#gnav li a {
	margin: 2px;
	padding: 15px 0px;
	text-align: center;
	background: #3F321D;
	border: none;
	color: #FFFFFF;
}

#spm_menu_close {
	display: inline-block;
	background: url(/img/common/icon_clear_footstep.png) no-repeat left center;
	color: #FFFFFF;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	padding: 5px 5px 5px 25px;
}

/* フッタ */
#footer_box {
	width: auto;
}

ul#footer_link1 {
	padding: 20px 10px 10px;
}
ul#footer_link1 li {
	padding: 0px 10px;
}

#author_info {
	padding: 0px 10px 10px;
}
#author_info p {
	margin-bottom: 5px;
}
#author_info p.f_author {
	font-size: 2.4rem;
	font-weight: bold;
}
#author_info p.f_number {
	font-weight: normal;
}

ul#footer_link2 {
	display: block;
	width: auto;
	padding: 8px 8px 18px;
}
ul#footer_link2 li {
	display: inline-block;
	vertical-align: top;
	width: 50%;
	margin: 0px;
	padding: 0px;
}
ul#footer_link2 li a {
	margin: 2px;
	padding: 10px 0px;
}
ul#footer_link2 li a span {
	background-size: 15px auto;
	padding: 0px 0px 0px 20px;
	font-size: 1.2rem;
	white-space: nowrap;
}

#copyright {
	padding: 20px 80px 40px;
}
#copyright p {
	font-size: 1.1rem;
	line-height: 1.5;
}

#back_or_pagetop {
	width: 60px;
	height: 60px;
}
#back_or_pagetop img {
	width: 60px;
	height: 60px;
}

/* パンくず */
#pankuzu_wrap {
	background: #FBF8E8;
	padding: 10px;
}
.pankuzu,
.pankuzu:first-child {
	background: none;
	padding: 5px;
	font-size: 1.2rem;
	line-height: 1.5;
}

/* メイン */
#mymainback {
	clear: both;
	float: none;
	width: auto;
	margin: 0px;
	padding: 0px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	overflow: hidden;
}

#main {
	-webkit-order: 10;
	order: 10;
	clear: both;
	float: none;
	width: auto;
	margin: 0px;
	padding: 0px;
}

#sidebar1 {
	-webkit-order: 20;
	order: 20;
	clear: both;
	float: none;
	width: auto;
	margin: 0px;
	padding: 0px;
}

#sidebar2 {
	-webkit-order: 30;
	order: 30;
	clear: both;
	float: none;
	width: auto;
	margin: 0px;
	padding: 0px;
}

#footer {
	-webkit-order: 40;
	order: 40;
	clear: both;
	float: none;
	width: auto;
	margin: 20px 0px 0px;
	padding: 0px;
}

/* サイド */
.side1 #main,
.side2 #main,
.side1 #main_a,
.side2 #main_a {
	margin: 0px;
	padding: 0px;
}