@charset "utf-8";

/* フォント */
body {
	color: #333;
	font-family: sans-serif;
}
input, button {
	font-family: sans-serif;
}
em {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'MS PGothic', sans-serif;
}
.mincho {
	font-family: serif;
}

/* リンク色 */
a:link {
	color: #0d59b7;
	text-decoration: underline;
}
a:visited {
	color: #660099;
	text-decoration: underline;
}
a:hover {
	color: #000000;
	text-decoration: underline;
}
a:active {
	color: #cc0000;
	text-decoration: underline;
}

/* 見出し・本文 */
#main_body {
	clear: both;
	width: 100%;
}

#main_header {
	width: 100%;
	margin: 0 0 20px;
}
#main_header h1 {
	margin: 0;
	padding: 0.7em 65px 0.6em 30px;
	background: url("/img/common/bg_h1.png") no-repeat right bottom #d7f08e;
	border-bottom: 4px solid #43992b;
	font-size: 2.4rem;
}

#main_body h2 {
	clear: both;
	margin: 20px 0;
	padding: 0.8em 0 0.8em 30px;
	background: url("/img/common/bg_h2.png") repeat-y left 7px center #d7f6fc;
	font-size: 2.0rem;
}
#main_body h3 {
	clear: both;
	margin: 20px 0;
	padding: 0.6em 0 0.6em 30px;
	background: url("/img//common/bg_h3.png") no-repeat left 10px top 0.5em #eee9ad;
	border-top: 3px solid #cbcc1a;
	font-size: 1.8rem;
}
#main_body h4 {
	clear: both;
	margin: 20px 0;
	padding: 0.4em 0 0.4em 30px;
	background: url("/img/common/bg_h4.png") no-repeat left 8px center #e7e4f4;
	font-size: 1.6rem;
}
#main_body h5 {
	clear: both;
	margin: 20px 0;
	padding: 0.2em 0 0.2em 30px;
	background: url("/img/common/bg_h5.png") no-repeat left 10px center;
	border-bottom: 2px solid #c899cd;
	font-size: 1.5rem;
}
#main_body h6 {
	clear: both;
	margin: 20px 0;
	padding: 0.1em 0 0.1em 30px;
	border-bottom: 2px solid #ccc;
	font-size: 1.4rem;
}
#main_body h2 a, #main_body h3 a, #main_body h4 a, #main_body h5 a, #main_body h6 a {
	color: inherit;
}

#main ul {
	margin: 1em 0 1em 30px;
	padding: 0;
}
#main ol {
	margin: 1em 0 1em 30px;
	padding: 0;
}
#main li {
	margin: 0;
	padding: 0;
}

/* スマートフォンのPC表示切り替えボタンを非表示に */
#viewPCMode{
	display: none;
}
#viewSPMode {
	width: 100vw;
	padding: 10px;
	background: rgba(0,0,0,0.7);
	color: #fff;
	text-align: center;
	box-sizing: border-box;
	border: none;
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 201;
}

/* float clear */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom: 1;
}

/* スマートフォン用 */
#sp_page_index_link_wrap {
	display: none;
}
#spm_wrap {
	display: none;
}
.sp_button {
	display: none;
}

/* レスポンシブアコーディオン用 */
.acc_title + input {
	display: none;
}
.acc_icon {
	display: none;
}

/* リンク色を隠す */
.img_b {
	border: none;
	vertical-align: top;
}

/* 隠す */
.hide {
	display: block;
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	clip: rect(0,0,0,0);
	overflow: hidden;
}
.hide2 {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
hr.hide {
	border: none;
}


/* 全体 */
#mymainback {
	padding-bottom: 30px;
}


/* ヘッダーここから */
#header {
	background-color: #d7f6fc;
	font-size: 1.4rem;
}
#header2 {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 0 1%;
	box-sizing: border-box;
	position: relative;
}
#he_left {
	width: 250px;
	height: 140px;
	background: url(/img/common/bg_logo.png) no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
#he_left #logo {
	margin: 0;
	padding: 0;
}
#he_left #logo a {
	display: block;
	width: 250px;
	height: 140px;
	padding: 10px 0 0 20px;
	box-sizing: border-box;
}
#he_left #logo img {
	max-width: 100%;
	height: auto;
}
#he_right {
	margin-left: 250px;
	padding: 15px 0 0;
	text-align: right;
}
ul#header_link {
	display: inline-block;
	margin: 0;
	padding: 0;
	list-style: none;
}
ul#header_link > li {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0 10px;
	text-align: left;
}
ul#header_link > li > a {
	display: block;
	padding: 5px 0;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: left center;
	color: inherit;
	line-height: 2rem;
}

/* アクセシビリティ機能 */
#hl_func {
	position: relative;
}
ul#acc_func_box {
	display: none;
	position: absolute;
	top: 100%;
	right: 0px;
	z-index: 100;
	background: #ffffff;
	-webkit-box-shadow: 0px 3px 10px -2px rgba(0, 0, 0, 0.5);
	box-shadow: 0px 3px 10px -2px rgba(0, 0, 0, 0.5);
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	min-width: 100%;
	margin: 0px;
	padding: 15px 10px;
	list-style: none;
	text-align: center;
}
ul#acc_func_box.func_menu_open {
	display: block;
}
ul#acc_func_box li {
	display: block;
	margin-bottom: 15px;
}
#acc_func_box dl {
	margin: 0px;
	padding: 0px;
	font-size: 1.4rem;
	line-height: 1.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}
#acc_func_box dl dt {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 5px 0px 0px;
	padding: 6px 0px;
	width: 7em;
	text-align: left;
}
#acc_func_box dl dd {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 0px 0px 2px;
	padding: 0px;
}
#acc_func_box dl dd a {
	display: block;
	background: #ffffff;
	border: 1px solid #cccccc;
	color: #000000;
	text-decoration: none;
	padding: 5px 7px;
}
#acc_func_box dl dd a#moji_large {
	font-size: 1.6rem;
}
#acc_func_box dl dd a#haikei_white {
	background: #ffffff !important;
	color: #000000 !important;
}
#acc_func_box dl dd a#haikei_black {
	background: #000000 !important;
	color: #ffffff !important;
	border: 1px solid #000000 !important;
}
#acc_func_box dl dd a#haikei_blue {
	background: #0000ff !important;
	color: #ffff00 !important;
	border: 1px solid #0000ff !important;
}
#func_menu_close {
	border: none;
	background: #333;
	color: #fff;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 1.4rem;
	margin: 0px;
	padding: 0px 20px;
	height: 3rem;
}

/* 検索 */
#top_search_keyword {
	display: inline-block;
	vertical-align: top;
	margin-left: 10px;
}
#cse-search-box {
	vertical-align: middle;
	width: 100%;
	max-width: 214px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#tmp_query {
	display: inline-block;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 5px 0 0 5px;
	width: calc(100% - 60px) !important;
	height: 40px !important;
	font-size: 1.3rem;
	border: 1px solid #ccc !important;
	border-right: none !important;
}
#submit {
	display: inline-block;
	vertical-align: middle;
	border: none;
	background: #333;
	color: #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0 5px 5px 0;
	width: 60px;
	height: 40px;
	margin: 0px;
	padding: 0px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 40px;
	white-space: nowrap;
}
#cse_filetype fieldset {
	border: none;
	margin: 0px;
	padding: 0px;
}
#cse_filetype fieldset legend {
	margin: 0px;
	padding: 0px;
	display: none;
}
#cse_filetype fieldset span {
	margin: 3px;
	font-size: 1.2rem;
	display: inline-block;
	vertical-align: middle;
}
#cse_filetype fieldset span input {
	margin: 3px;
	display: inline-block;
	vertical-align: middle;
}

/* グローバルナビ */
#top_search {
	padding-bottom: 10px;
}
#top_search_box {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}
ul#gnav {
	display: table;
	width: calc(100% - 280px);
	margin: 0 0 0 280px;
	padding: 0;
	list-style: none;
}
ul#gnav li {
	display: table-cell;
	vertical-align: middle;
}
ul#gnav li a {
	display: block;
	color: inherit;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	line-height: 3rem;
	padding: 10px;
	border-radius: 5px;
	transition: background-color .2s ease-in-out;
}
ul#gnav li a:hover {
	background-color: #89c4ff;
}
/* ヘッダーここまで */


/* フッターここから */
#footer {
	padding-top: 30px;
	background: url(/img/common/bg_footer.png) no-repeat center top #0c67e3;
	color: #fff;
	font-size: 1.5rem;
}

#footer_navi {
	width: 98%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 20px 0;
	border-bottom: 1px solid #fff;
}
#footer_navi ul {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}
#footer_navi ul li {
	display: inline-block;
	margin: 5px 8px;
	padding-left: 15px;
	position: relative;
}
#footer_navi ul li:before {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: center center;
	transform-origin: center center;
	position: absolute;
	left: 0;
	top: 0.45em;
}
#footer_navi a {
	color: inherit;
}

#author_info {
	width: 98%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 30px 0;
	background: url(/img/common/bg_footer-info.png) no-repeat right top;
}
#author_info p {
	margin: 2px 220px 2px 0;
	text-shadow: 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3, 0 0 2px #0c67e3;
}
#author_info p.f_author {
	font-size: 1.8rem;
	font-weight: bold;
}
#author_info p.f_contact span + span {
	margin-left: 1em;
}
#author_info p a {
	color: inherit;
}
#author_info ul {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
#author_info ul li {
	display: inline-block;
}
#author_info ul li + li {
	margin-left: 15px;
}
#author_info ul li a {
	display: block;
	padding: 6px 40px 6px 20px;
	background-color: #d2eefc;
	color: #333;
	text-decoration: none;
	border-radius: 5px;
	transition: background-color .2s;
	position: relative;
}
#author_info ul li a:hover {
	background-color: #fff;
}
#author_info ul li a:before {
	content: '';
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: center center;
	transform-origin: center center;
	position: absolute;
	right: 15px;
	top: calc(0.6em + 5px);
}

#copyright p {
	margin: 30px 0 0;
	font-size: 1.3rem;
}
/* フッターここまで */


/* サイドバー */
.sidebar1_box {
/*	float: left;*/
	width: 100%;
	margin-bottom: 10px;
}
.soshiki_back {
	border: 1px solid #CCCCCC;
	border-bottom: none;
}
.soshiki_back h2 {
	width: 318px;
	height: 38px;
	margin: 0;
	padding: 0;
	font-size: 110%;
}
.soshiki_back span {
	display: block;
	width: 278px;
	height: 38px;
	font-size: 110%;
	font-weight: bold;
}
.tit_bukyoku {
	background: url("/img/tit_bukyoku.gif") no-repeat;
}
.tit_contact {
	background: url("/img/tit_contact.gif") no-repeat;
}
.tit_gyomu {
	background: url("/img/tit_gyomu.gif") no-repeat;
}
.tit_klink {
	background: url("/img/tit_klink.gif") no-repeat;
}
.tit_map {
	background: url("/img/tit_map.gif") no-repeat;
}


/* パンくずナビ */
#pankuzu_wrap {
	clear: both;
	width: 98%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 15px 0;
	font-size: 1.5rem;
}
.pankuzu {
	clear: both;
	margin: 5px 0;
	padding-left: 70px;
	position: relative;
}
.pankuzu .icon_current {
	display: none;
}
.pankuzu:first-child .icon_current {
	display: block;
	width: 60px;
	height: 24px;
	text-indent: 60px;
	white-space: nowrap;
	overflow: hidden;
	background: url("/img/pankuzu_back.gif") no-repeat left center;
	position: absolute;
	left: 0;
	top: 0;
}


/* 印刷用アイコン */
#content_header {
	text-align: right;
}
#content_header > span {
	margin-left: 1em;
}
#print_mode_link {
	width: 12em;
	text-align: right;
	margin: 0;
	padding: 0 0 0 22px;
	background: url(/img/print-icon.jpg) no-repeat left center;
	height: 1em;
}


/* type_a */
.menu_list_a {
	border: 1px solid #CCCCCC;
	border-top: none;
	padding: 10px 0;
}


/* type_b */
.menu_list_b {
	border: 1px solid #CCCCCC;
	border-top: none;
	padding: 1px;
}
.menu_list_b ul {
	margin: 0;
	padding: 6px 1px 8px 19px;
	list-style-type: none;
}
.menu_list_b li {
	margin: 0.3em 0;
	padding: 0 0 0 16px;
	background: url("/img/icon_migi2.gif") no-repeat 0 0.5em;
}
.menu_list_b li ul {
	padding: 2px 0;
	border-left: 1px solid #809DB9;
	font-size: 90%;
}
.menu_list_b li ul li {
	padding: 0 0 0 12px;
	background: none;
}


/* type_c */
.menu_list_c {
	margin: 0;
	padding: 1px 16px 10px;
	border: 1px solid #CCCCCC;
	border-top: none;
}
.menu_list_c ul {
	margin: 6px 0 0 1px;
	padding: 0;
	list-style-type: none;
}
.menu_list_c li {
	margin: 0;
	padding: 0 0 0 18px;
	background: url("/img/icon_migi1.png") no-repeat left center;
}


/* type_d */
.menu_list_d {
	width: 173px;
	margin: 0;
	padding: 5px 0 0 0;
}
.menu_list_d ul {
	display: block;
	margin: 0 0 0 24px;
	padding: 0;
}
.menu_list_d li {
	display: block;
	height: 1em;
	margin: 0;
	padding: 0;
	list-style-type: none;
	list-style-position: outside;
}
.menu_list_d .menu_list_d_end {
	border: none;
}
.menu_list_d li a {
	display: block;
	vertical-align: 1px;
}


/* type_e */
.menu_list_e {
	width: 170px;
	margin: 0 0 0 6px;
	padding: 0;
}
.menu_list_e ul {
	margin: 0;
	padding: 0;
}
.menu_list_e li {
	width: 170px;
	margin: 5px 0 0 0;
	padding: 0;
	list-style-type: none;
	border: none;
}


/* type_e2 */
.menu_list_e2 {
	width: 176px;
	margin: 0 0 0 6px;
	padding: 0;
}
.menu_list_e2 ul {
	margin: 0;
	padding: 0;
}
.menu_list_e2 li {
	width: 176px;
	margin: 5px 0 0 0;
	padding: 0;
	list-style-type: none;
	border: none;
}


/* 新着情報リスト等（RSSロゴ付） */
.list_type_a_list {
	clear: both;
	margin: 20px 0;
	padding: 0 0 10px;
	border: 1px solid #CCCCCC;
}
.list_type_a_title {
	clear: both;
	float: left;
	width: 100%;
	background: url("/img/list_type_a_title.gif") repeat-x;
}
.list_type_a_title h2 {
	float: left;
	width: 130px;
	height: 40px;
	margin: 0;
	padding: 0;
	background: url("/img/tit_new.jpg") no-repeat;
	font-size: 110%;
}
.list_type_a_list p.no_data {
	clear: both;
	margin: 0;
	padding: 12px 8px 0 20px;
}


/* 新着情報等リスト等（RSSロゴなし） */
.list_type_b_list {
	clear: both;
	margin: 0 0 14px;
}


/* 年月日付リスト */
.list_ccc {
	clear: both;
	width: 100%;
	padding: 0 0 10px;
}
.list_type_a_list .list_ccc {
	padding: 0;
}
#main .list_ccc ul {
	margin: 0;
	padding: 0 0 0 10px;
	list-style-type: none;
}
#main .list_type_a_list ul {
	padding: 10px 10px 0 18px;
}
#main .list_ccc li {
	clear: both;
	margin: 0.3em 0;
	padding: 0;
	overflow: hidden;
}
.list_ccc .span_a {
	display: block;
	float: left;
	width: 135px;
	margin: 0 -148px 0 1px;
	padding: 0 0 0 12px;
	background: url("/img/icon_migi2.gif") no-repeat 0% 45%;
}
.list_ccc .span_b {
	display: block;
	width: auto;
	padding-left: 148px;
}
.list_ccc .span_c {
	margin: 0 0 0 1px;
	padding: 0 0 0 12px;
	background: url("/img/icon_migi2.gif") no-repeat 0% 45%;
}


/* 一覧を見る */
.text_d2 {
	clear: both;
	padding: 6px 0 0;
	text-align: right;
}
.text_d {
	margin: 0 10px;
	padding-left: 22px;
	background: url("/img/icon_list.gif") no-repeat left center;
}
.text_g4 {
	margin: 0 10px;
	padding-left: 20px;
	background: url("/img/icon_rss.gif") no-repeat left center;
}


/* 細々とした部品 */
.floatend {
	clear: both;
	line-height: 30%;
}
.text_r {
	text-align: right;
}
.hr_c {
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	visibility: hidden;
}
.box_kb {
	margin: 0 0 10px;
	padding: 0;
}
.box_g {
	margin: 0 0 10px 14px;
	padding: 0;
}
.div_k {
	margin: 0 0 10px;
	padding: 0;
}
.contact_box {
	float: right;
	width: 348px;
	margin: 0 0 20px;
	padding: 0 0 10px;
	border: 1px solid #CCCCCC;
}
#main_body .contact_box h3 {
	margin: 0;
}
#main_body .gyomu_box h3 {
	clear: none;
	margin: 0 0 10px;
	padding: 0;
	background: none;
	border: none;
}
.map_box {
	border: 1px solid #CCCCCC;
	border-top: none;
	overflow: hidden;
}


/* ナビゲーション */
.navigation {
	margin: 1em 0;
	padding: 0;
}
.clm3 .navigation {
	margin: 0;
	padding: 10px;
}
#main .navigation ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}
#main .navigation li {
	float: left;
	margin: 0 8px 0 -1px;
	padding: 0 0 0 8px;
	background: url("/img/navi_line.gif") no-repeat left center;
	white-space: nowrap;
}


/* リンクを追加 */
.detail_link, .link_l {
	margin: 1em 0 1em 10px;
	padding: 0 0 0 26px;
	background: url("/img/icon_li.gif") no-repeat 0 0.15em;
}
/* 添付ファイル */
.file_pdf {
	margin: 1em 0 1em 10px;
	padding: 0 0 0 26px;
	background: url("/img/icon_p.gif") no-repeat 0 0.15em;
}
.file_excel {
	margin: 1em 0 1em 10px;
	padding: 0 0 0 26px;
	background: url("/img/icon_x.gif") no-repeat 0 0.15em;
}
.file_word {
	margin: 1em 0 1em 10px;
	padding: 0 0 0 26px;
	background: url("/img/icon_w.gif") no-repeat 0 0.15em;
}
.file_etc {
	margin: 1em 0 1em 10px;
	padding: 0 0 0 26px;
	background: url("/img/icon_s.gif") no-repeat 0 0.15em;
}


/* 表 */
#main table {
	margin: 1em 0;
	border-collapse: collapse;
/*	border-color: #C0BFA0 !important;
	border-style: solid;
	border-width: 1px;*/
}
#main th {
	padding: 0.4em 0.8em;
	background: #F4F5E3;
	border-collapse: collapse;
	border-color: #C0BFA0 !important;
	border-style: solid;
	border-width: 1px;
}
#main td {
	padding: 0.4em 0.8em;
	background: #FFFFFF;
	border-collapse: collapse;
	border-color: #C0BFA0 !important;
	border-style: solid;
	border-width: 1px;
}
#main #cse table {
	border: none !important;
	margin: 0 !important;
}
#main #cse td {
	border: none !important;
	padding: 0 !important;
}


/* ページトップに戻る */
#back_or_pagetop {
}
#back_or_pagetop > div {
	position: fixed;
	right: 45px;
	bottom: -100px;
	transition: bottom .4s ease-in-out;
}
#back_or_pagetop > div.fixed {
	bottom: 30px;
}
#back_or_pagetop > div a {
	display: block;
}
#back_or_pagetop > div a img {
	display: block;
	width: 100%;
	height: auto;
}


/* 各課連絡先 */
.list_tel {
	margin: 0 0 0 14px;
	padding: 0;
}
.list_tel ul, #main .list_tel ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.list_tel li {
	margin: 0;
	padding: 0;
}
.list_address {
	margin: 0 0 0 14px;
	padding: 0;
}
.list_email {
	margin: 0 0 0 14px;
	padding: 0 0 0 20px;
	background: url("/img/icon_mail.gif") no-repeat left center;
}
#section_footer .list_email {
	margin-left: 0;
}
.list_fax {
	margin: 0 0 0 14px;
	padding: 0;
}
.view {
	margin: 10px 0 0;
	text-align: center;
}
.facade_text {
	font-style: italic;
}


/* 各課PR画像 */
#soshiki_pr_image {
	height: 180px;
	margin: 20px 0;
	padding: 0;
	border: 1px solid #CCCCCC;
	background-repeat: no-repeat;
	background-position: left;
}
#soshiki_pr_image a {
	display: block;
	width: 100%;
	height: 180px;
}
#soshiki_pr_image img {
	width: 100%;
	height: 180px;
	border: none;
}


/* 大分類のメイン画像 */
#main_header_img {
	width: 100%;
	max-width: 1024px;
	height: 122px;
	margin: 8px auto 20px;
}
#main_header_waku {
	border: 1px solid #CCCCCC;
}
#h1_title {
	width: 310px;
	height: 120px;
	margin: 0;
	padding: 0;
}

/* カラム */
.clm {
	clear: both;
	width: 100%;
	padding: 2px 0 0;
	overflow: hidden;
}
.clm2 {
	width: 1038px;
}
.clm2box {
	width: 505px;
	margin-right: 14px;
	margin-bottom: 10px;
}
#main_body .clm2box h2 {
	margin-top: 0;
}
.clm3 {
	width: 1044px;
}
.clm3box {
	width: 326px;
	margin-right: 20px;
	margin-bottom: 10px;
	border: 1px solid #CCCCCC;
}
#main_body .clm3box h3 {
	margin: 0;
}


/* ライフインデックス（大分類用）*/
#life_index {
	width: 100%;
	padding: 0;
	margin: 0;
}
#life_index ul {
	float: left;
	padding: 0 0 10px 0;
	margin: 0 0 0 -20px;
}
#life_index li {
	border: medium none;
	display: block;
	float: left;
	height: 66px;
	list-style-type: none;
	margin: 2px 4px 2px 0;
	padding: 0;
	width: 92px;
}


/* PDF,WMPリンク */
.pdf_download,
.wmplayer_download {
	clear: both;
	margin: 2em 0 0;
	padding: 1em 0 0;
	border-top: 1px solid #CCCCCC;
	font-size: 90%;
	overflow: hidden;
}
.pdf_download .pdf_img {
	float: left;
	width: 178px;
	margin: 0 -178px 0 0;
	text-align: center;
}
.wmplayer_download .wmplayer_img {
	float: left;
	width: 108px;
	margin: 0 -108px 0 0;
	text-align: center;
}
.pdf_download .tenpu_txt {
	float: left;
	margin: 0 0 0 178px;
}
.wmplayer_download .tenpu_txt {
	float: left;
	margin: 0 0 0 108px;
}


/* SNSボタン */
#sns_button_wrap {
	width: 98%;
	max-width: 1024px;
	margin: 40px auto;
}
a.twitter-share-button {
	display: inline-block;
	padding: 0 9px;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	text-decoration: none;
	background: #1b95e0;
	border-radius: 2px;
	vertical-align: top;
}
.fb_iframe_widget span {
	display: block !important;
}

/* レコメンド・AIレコメンド */
#recommend_wrap {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	width: 100%;
}
#recommend_wrap > div {
	width: calc(50% - 20px);
	border: 1px solid #cccccc;
}

#recommend_title,
#ai_recommend_title {
	background: url("/img/common/bg_recommend.png") no-repeat;
	text-align: left;
	padding: 15px 10px 5px 25px;
}
#recommend_title h2,
#ai_recommend_title h2 {
	display: inline-block;
	text-align: left;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 0px;
	padding: 5px 0px 5px 50px;
}
#recommend_title h2 {
	background: url(/img/common/icon_recommend.png) no-repeat left center;
}
#ai_recommend_title h2 {
	background: url(/img/common/icon_ai_recommend.png) no-repeat left center;
}
#recommend_title h2 span,
#ai_recommend_title h2 span {
	display: block;
}

#sidebar_recommend ul,
#sidebar_ai_recommend ul {
	margin: 0px;
	padding: 12px 0px;
	list-style: none;
}
#sidebar_recommend ul li,
#sidebar_ai_recommend ul li {
	display: block;
	padding: 8px 20px;
}


/* 「見つからないときは」「よくある質問」バナー */
#common_banner_link ul {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
#common_banner_link ul li {
	width: calc(50% - 20px);
	margin: 40px 0px;
}
#common_banner_link ul li a {
	display: block;
	background: #0c67e3;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	padding: 20px 10px;
	text-align: center;
	border-radius: 10px;
}
#common_banner_link ul li a span {
	display: inline-block;
	padding: 9px 0px 9px 40px;
}
#common_banner_link ul li#common_banner_mitsukaranai a span {
	background: url(/img/common/icon_mitsukaranai.png) no-repeat left center;
}
#common_banner_link ul li#common_banner_faq a span {
	background: url(/img/common/icon_faq.png) no-repeat left center;
}


/* 高さを揃える */
.heightLineParent, .life_list3 .clm3 {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
}


/* チャットボット */
#bot_toggle {
	word-wrap: normal;
}


/* タブレット */
@media screen and (max-width : 1023px) {

	/* 画像 */
	img {
		max-width: 100%;
		height: auto !important;
	}

	/* 全体 */
	body {
		font-size: 1.5rem;
	}

	/* ヘッダ */
	#header {
		font-size: 1.3rem;
	}
	#he_left {
		width: 180px;
		height: 101px;
		background-size: 100%;
		left: 1%;
	}
	#he_left #logo a {
		width: 180px;
		height: 101px;
		padding: 8px 20px 0 20px;
	}
	#he_left #logo img {
		max-width: 142px;
	}
	#he_right {
		margin-left: 180px;
		padding: 10px 0 15px;
	}
	ul#header_link {
		display: block;
	}
	#top_search_keyword {
		margin-top: 5px;
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: end;
		justify-content: flex-end;
		-webkit-box-align: center;
		align-items: center;
	}
	#top_search {
		padding: 5px;
		background-color: rgba(255,255,255,0.5);
	}
	ul#gnav {
		width: 100%;
		margin: 0;
	}
	ul#gnav li a {
		font-size: 1.4rem;
	}

	/* 横並び */
	.clm3 {
		width: auto;
	}
	.clm3box {
		width: calc(98% / 3);
		margin: 0 0 5px 1%;
		box-sizing: border-box;
	}
	div.clm3box:nth-of-type(3n + 1) {
		margin-left: 0;
	}
	.clm2 {
		width: auto;
		display: block;
	}
	.clm2box {
		width: 100%;
		margin: 0 0 20px;
		box-sizing: border-box;
	}

	/* ナビゲーション */
	#main .clm3box .navigation li {
		float: none;
		white-space: normal;
		margin: 4px 0;
		background: none;
	}

	/* フッタ */
	#footer {
		font-size: 1.4rem;
	}
	#footer_navi {
		padding-bottom: 10px;
	}
	#footer_navi ul {
		margin-right: 100px;
		text-align: left;
	}
	#footer_navi ul li {
		margin: 4px 10px 4px 0;
	}
	#author_info {
		padding: 15px 0;
		background-position: right 150px top;
	}
	#author_box {
		margin-right: 320px;
	}
	#author_info p {
		margin: 2px 0;
	}
	#author_info p.f_contact span {
		display: block;
		margin-left: 0 !important;
	}
	#author_info ul {
		margin-right: 180px;
	}
	#author_info ul li {
		margin: 0 8px 8px 0 !important;
	}
	#copyright p {
		margin: 10px 0 90px;
	}

}
/* タブレット ここまで */

/* お問い合わせフォーム */
#mail_form_message,
#cookie_err_message {
	margin: 1em 0px;
	color: #c00;
}

#main_body table#mail_form_tbl {
	width: 100%;
	margin: 0px;
	border-width: 2px;
}
#main_body table#mail_form_tbl th {
	width: 25%;
	text-align: left;
}
#main_body table#mail_form_tbl th .hidden {
	display: none;
	width: 0px;
	height: 0px;
	margin: 0px;
	padding: 0px;
	clip: rect(0,0,0,0);
	overflow: hidden;
}
#main_body table#mail_form_tbl td {
	width: 75%;
}
#main_body table#mail_form_tbl td * {
	white-space: normal;
	word-break: break-all;
}
#main_body table#mail_form_tbl td input[type="text"] {
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#main_body table#mail_form_tbl td input[type="text"].mail_to2 {
	width: 80%;
}
#main_body table#mail_form_tbl td textarea {
	width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#main_body table#mail_form_tbl td fieldset {
	padding: 0px;
}

#mail_form_btn_wrap {
	text-align: center;
	margin: 30px 0px 0px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
#mail_form_btn_wrap input[type="submit"] {
	display: inline-block;
	vertical-align: top;
	border: none;
	background: #f5f5f5;
	margin: 0px 5px;
	padding: 8px 10px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 260px;
	max-width: calc(50% - 10px);
}

#mail_form_btn_wrap p {
	width: 100%;
	margin: 1em 0px;
}