@charset "utf-8";

/* コンテンツスタイル
----------------------------------------------------------- */
#contents img {
	max-width: 100%;
}

.form #contents {
	margin: 0 0 40px;
}

#contents_inner {
	margin: 0 10px 30px;
}

.underline {
	text-decoration: underline;
}


/*----- .block -----*/

.block {
	margin: 0 0 30px;
	word-break: break-all;
}

.block > p,
.block > ul,
.block > ol,
.block > dl:not(.dl_qa),
.block > .box {
	margin: 0 5px 10px;
}

.block ul li,
.block ol li {
	margin: 0 0 5px;
}

.block hr {
	margin-left: 15px;
}


/*----- title -----*/

.contents_ttl {
	margin: 0 0 15px;
	padding: 15px 0;
	border-bottom: 1px solid #d8dce0;
}

.contents_ttl h1 {
	margin: 0 15px;
	font-size: 1.6rem;
	font-weight: bold;
}

.contents_ttl h1 span {
	display: block;
	font-size: 1.2rem;
}

.ttl02 {
	margin: 0 0 15px;
	padding: 10px 15px;
	background: #fafafa;
	border: 1px solid #d8dce0;
	border-bottom: 2px solid #326eb4;
	font-size: 1.4rem;
	font-weight: bold;
}

.ttl02_link {
	margin: 0 0 15px;
	background: -moz-linear-gradient(top,  #fff 0%, #ebeff3 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#ebeff3));
	background: -webkit-linear-gradient(top,  #fff 0%,#ebeff3 100%);
	background: -o-linear-gradient(top,  #fff 0%,#ebeff3 100%);
	background: -ms-linear-gradient(top,  #fff 0%,#ebeff3 100%);
	background: linear-gradient(to bottom,  #fff 0%,#ebeff3 100%);
	border: 1px solid #d7dbdf;
	border-bottom: 2px solid #316db3;
	box-sizing: border-box;
	font-size: 1.4rem;
	font-weight: bold;
}

.ttl02_link a {
	position: relative;
	display: block;
	padding: 12px 10px 12px 30px;
	color: #222;
	font-weight: bold;
	box-sizing: border-box;
}

.ttl02_link a::before,
.ttl02_link a::after {
	position: absolute;
	top: 50%;
	left: 10px;
	display: block;
	content: "";
}

.ttl02_link a::before {
	width: 14px;
	height: 14px;
	margin: -7px 0 0;
	background: #326eb4;
	border-radius: 7px;
}

.ttl02_link a::after {
	left: 16px;
	margin: -3px 0 0;
	border: 3px solid transparent;
	border-left: 4px solid #fff;
}

.ttl03 {
	margin: 0 0 15px;
	padding: 10px 15px;
	background: #eff4f9;
	font-size: 1.4rem;
	font-weight: bold;
}

.ttl04 {
	margin: 0 5px 10px;
	padding: 0 0 0 10px;
	border-left: 3px solid #326eb4;
	font-weight: bold;
	line-height: 1.6;
}


/*----- .archive -----*/

.archive_year,
.archive_month,
.archive_page {
	margin: 0 0 10px;
	padding: 8px 0;
	background: #f0f0f0;
}

.archive_year li,
.archive_month li,
.archive_page li {
	float: left;
	padding: 0;
	border-left: 1px solid  #ccc;
	box-sizing: border-box;
	text-indent: 0;
}

.archive_year li,
.archive_page li {
	padding: 0 10px;
}

.archive_month li {
	width: 25%;
	margin: 10px 0 0;
	padding: 0 5px 0 15px;
}


.archive_year li:first-child,
.archive_month li:nth-child(4n+1),
.archive_page li:first-child,{
	border-left: none;
}

.archive_month li:nth-child(-n+4) {
	margin-top: 0;
}


/*----- .box -----*/

.box {
	padding: 8px 10px;
	background: #f0f0f0;
}


/*----- .tablexx -----*/

.table01,
.table02,
.table03,
.table04 {
	width: 100%;
	margin: 0 0 15px;
}

.table01 th,
.table01 td,
.table02 th,
.table02 td,
.table03 th,
.table03 td,
.table04 th,
.table04 td {
	border: 1px solid #d7d7d7;
	box-sizing: border-box;
	text-align: left;
	vertical-align: middle;
}

.table01 th,
.table01 td,
.table02 th,
.table02 td {
	padding: 10px;
	font-size: 1.2rem;
}

.table03 th,
.table03 td {
	padding: 10px 5px;
	font-size: 1.1rem;
}

.table04 th,
.table04 td {
	padding: 10px 5px;
	font-size: 1.0rem;
}

.table01 th,
.table02 th,
.table03 th,
.table04 th {
	background: #f0f0f0;
	line-height: 1.6;
}

.table01 th.sub_ttl,
.table02 th.sub_ttl,
.table03 th.sub_ttl,
.table04 th.sub_ttl {
	background: #fafafa;
}

.table01 caption,
.table02 caption,
.table03 caption,
.table04 caption {
	display: none;
}

@media only aural {
	.table01 caption,
	.table02 caption,
	.table03 caption,
	.table04 caption {
		display: block;
	}
}


/* .table01 */

.table01 {
	border-top: 1px solid #d7d7d7;
}

.table01 th,
.table01 td {
	display: block;
	padding: 10px 15px;
	border-top: none;
}

.table01 th {
	width: 100% !important;
}

/* .table_wrap */

.table_wrap {
	position: relative;
}

.table_wrap > div:first-child {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 1px 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.table_wrap > div:first-child::-webkit-scrollbar {
	height: 5px;
}

.table_wrap > div:first-child::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.table_wrap > div:first-child::-webkit-scrollbar-thumb {
	background: #bcbcbc;
}

.table_wrap table {
	margin-bottom: 0;
}


/*----- .img_box -----*/

.img_box img.floatL,
.img_box img.floatR {
	float: none !important;
	width: 100%;
	margin: 0 0 10px;
	box-sizing: border-box;
}


/*----- .list_disc -----*/

.list_disc:not(ul),
.list_disc:not(li) {
	list-style: disc;
}

.list_disc:not(ul) {
	list-style-position: inside;
	padding: 0 0 0 22px;
	text-indent: -16px;
}

li.list_disc > * {
	text-indent: 0;
}

.list_disc:not(li) {
	list-style: disc;
	margin: 0 0 15px 25px !important;
}


/*----- .list_circle -----*/

.list_circle01 > li,
.list_circle02 > li {
	position: relative;
	padding: 0 0 0 18px;
}

.list_circle01 > li::before,
.list_circle02 > li::before {
	position: absolute;
	top: 5px;
	left: 0;
	display: block;
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 5px;
	border: 1px solid #333;
	box-sizing: border-box;
}

.list_circle01 > li::before {
	background: #333;
}


/*----- .list_square -----*/

.list_square > li {
	position: relative;
	padding: 0 0 0 18px;
}

.list_square > li::before {
	position: absolute;
	top: 5px;
	left: 0;
	display: block;
	content: "";
	width: 9px;
	height: 9px;
	background: #333;
}


/*----- .list_note -----*/

.list_note:not(ul),
.list_note > li {
	display: table;
}

.list_note:not(ul) > *:first-child,
.list_note > li > *:first-child {
	display: table-cell;
	padding: 5px .2em 0 0;
	white-space: nowrap;
}

.list_note:not(ul):first-child > *:first-child,
.list_note > li:first-child > *:first-child {
	padding-top: 0;
}


/*----- .li_child -----*/

p.list_child,
.list_child li {
	margin: 5px 0 0;
	padding: 0 0 0 1em;
	text-indent: -1em;
}

p.list_child {
	margin-left: -1em;
}

p.list_child::before,
.list_child li::before {
	content: "－";
}


/*----- .list_number01 -----*/

.list_number01 {
	list-style: decimal;
	margin-left: 25px !important;
}


/*----- .list_number02 -----*/

.list_number02 {
	display: table;
}

.list_number02 > li {
	display: table-row;
}

.list_number02 > li > *:first-child {
	display: table-cell;
	width: 1px;
	padding: 5px .0 0 0;
	white-space: nowrap;
}

.list_number02 > li:first-child > *:first-child {
	padding: 0;
}


/*----- .dl01 / .dl02 -----*/

.dl01 > dt,
.dl02 > dt,
.dl02 > dt time {
	font-weight: bold;
}

.dl01 > dd,
.dl02 > dd {
	margin: 0 0 15px;
}

.dl01 > dd:last-child
.dl02 > dd:last-child {
	margin-bottom: 0;
}


/*----- .dl03 -----*/

.dl03 > dd {
	margin: 0 0 15px 22px;
}

.dl03 > dd ul {
	margin: 5px 0 0;
}

.dl03 dd .dl01 dt {
	float: none;
	margin: 5px 0 0;
}

.dl03 dd .dl01 dd {
	margin: 5px 0 0;
}


/*----- .dl_qa -----*/

.dl_qa {
	margin: 0;
}

.dl_qa dt::after,
.dl_qa dd::after {
	display: block;
	clear: both;
	content: "";
}

.dl_qa dt {
	margin: 0 0 10px;
}

.dl_qa dt:not(:first-child) {
	margin: 20px 0 10px;
	padding: 20px 0 0;
	border-top: 1px  dotted #999;
}

.dl_qa dt span {
	display: block;
	padding: 6px 0 0;
	font-weight: bold;
}

.dl_qa .question,
.dl_qa .answer {
	display: block;
	float: left;
	min-width: 50px;
	margin: 0 15px 0 0;
	padding: 8px 12px;
	box-sizing: border-box;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1.6;
}

.dl_qa .question {
	background: #326eb4;
	color: #fff;
}

.dl_qa .answer {
	background: #eff4f9;
}

.dl_qa dt span:last-child,
.dl_qa dd .answer_wrap {
	overflow: hidden;
}

.dl_qa dd .answer_wrap > * {
	margin: 0 0 10px;
}


/*----- .news_list -----*/

.news_list {
	margin: 20px 10px 30px;
}

.news_list > li {
	margin: 0 0 15px !important;
}

.news_list > li:last-child {
	margin-bottom: 0;
}

.news_list > li > time {
	float: left;
	margin: 0 10px 5px 0;
	line-height: 16px;
}

.news_list > li > span > span {
	float: left;
	display: block;
	width: 45px;
	height: 16px;
	margin: 0 0 10px;
	border-radius: 2px;
	color: #fff;
	font-size: 1.0rem;
	text-align: center;
	line-height: 16px;
}

.news_list li .category_safety {
	background: #2d822d;
}

.news_list li .category_food {
	background: #827823;
}

.news_list li .category_interview {
	background: #c84646;
}

.news_list li .category_display {
	background: #8c6428;
}

.news_list li .category_trading {
	background: #2d7da5;
}

.news_list li .category_other {
	background: #787878;
}

.news_list li .category_system {
	background: #b95a19;
}

.news_list li .category_accident {
	background: #378278;
}

.news_list li .category_investigation {
	background: #465f9b;
}

.news_list li .category_education {
	background: #8c648c;
}

.news_list li .category_policy {
	background: #b9537d;
}

.news_list li .category_region {
	background: #4b7337;
}

.news_list li .category_prices {
	background: #8c4646;
}

.news_list li .category_info {
	background: #5f5587;
}

.news_list > li > *:last-child {
	clear: left;
	margin: 0 !important;
	padding-top: 5px;
	border-top: 1px dotted #999;
}

.news_list > li > p.link_arrow02 > a::before {
	top: 12px;
}

.news_list > li > p.link_arrow01 > a::before,
.news_list > li > p.link_pdf > a::before,
.news_list > li > p.link_word > a::before,
.news_list > li > p.link_excel > a::before,
.news_list > li > p.link_powerpoint > a::before,
.news_list > li > p.link_movie > a::before,
.news_list > li > p.link_window > a::before {
	top: 10px;
}


/*----- .index_list -----*/

.index_list {
	display: table;
	width: 100%;
	margin: 0 !important;
}

.index_list > li {
	display: table-row;
}

.index_list > li > * {
	display: table-cell;
	padding: 0 0 15px;
	vertical-align: top;
}

.index_list > li:last-child > * {
	padding-bottom: 0;
}

.index_list .index_word {
	width: 1%;
	padding: 0 10px 15px 0;
}

.index_list .index_word span {
	display: block;
	min-width: 50px;
	padding: 8px 5px;
	background: #326eb4;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
	line-height: 1.6;
}


/*----- .label_new / .label_update -----*/

.label_new,
.label_update {
	display: inline-block;
	width: 40px;
	margin: 0 0 0 5px;
	border-radius: 3px;
	color: #fff;
	font-size: 1.0rem;
	text-align: center;
	text-indent: 0;
	line-height: 1.5;
}

.label_new { background: #2d822d; }
.label_update { background: #2d7da5; }

.label_big {
	width: 60px;
	padding: 2px 0;
	font-size: 1.2rem !important;
}


/*----- .column_block -----*/

.column_block02 > ul > li,
.column_block03 > ul > li {
	width: 100%;
	margin: 15px 0 0;
	box-sizing: border-box;
}


/* .column_block_box */

.column_block_box > li {
	border: 1px solid #d7dbdf;
}

.column_block_box li .box_ttl {
	background: -moz-linear-gradient(top,  #fff 0%, #ebeff3 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#ebeff3));
	background: -webkit-linear-gradient(top,  #fff 0%,#ebeff3 100%);
	background: -o-linear-gradient(top,  #fff 0%,#ebeff3 100%);
	background: -ms-linear-gradient(top,  #fff 0%,#ebeff3 100%);
	background: linear-gradient(to bottom,  #fff 0%,#ebeff3 100%);
	border-bottom: 2px solid #316db3;
	box-sizing: border-box;
	font-size: 1.4rem;
	font-weight: bold;
}

.column_block_box li .box_ttl a,
.column_block_box li .box_ttl span {
	position: relative;
	display: block;
	padding: 12px 10px 12px 30px;
	color: #222;
	font-weight: bold;
	box-sizing: border-box;
}

.column_block_box li .box_ttl a::before,
.column_block_box li .box_ttl span::before,
.column_block_box li .box_ttl a::after,
.column_block_box li .box_ttl span::after {
	position: absolute;
	top: 50%;
	left: 10px;
	display: block;
	content: "";
}

.column_block_box li .box_ttl a::before,
.column_block_box li .box_ttl span::before {
	width: 14px;
	height: 14px;
	margin: -7px 0 0;
	background: #326eb4;
	border-radius: 7px;
}

.column_block_box li .box_ttl a::after,
.column_block_box li .box_ttl span::after {
	left: 16px;
	margin: -3px 0 0;
	border: 3px solid transparent;
	border-left: 4px solid #fff;
}

.column_block_box li .box_inner {
	padding: 15px 14px;
}

.column_block_box li .box_inner > * {
	margin: 0 0 10px;
}

.column_block_box li .box_inner > *:last-child {
	margin-bottom: 0;
}

.column_block_box li p + ul {
	padding: 10px 0 0;
	border-top: 1px solid #c8ccd0;
}

/* .no_bdr */

.column_block_box > li.no_bdr {
	border: none;
}

.column_block_box li.no_bdr .box_ttl {
	border: 1px solid #d7dbdf;
	border-bottom: 2px solid #316db3;
}

.column_block_box li.no_bdr .box_ttl + img {
	width: 100%;
}

.column_block_box li.no_bdr .box_inner {
	margin: 10px 0 0;
	padding: 0;
}

.column_block_box li.no_bdr p + ul {
	padding: 0;
	border-top: none;
}


/*----- #noticed_content / #related_sites -----*/

#noticed_content h2,
#related_sites h2 {
	position: relative;
	margin: 0 0 15px;
	padding: 10px 10px 10px 35px;
	background: #fafafa;
	border: 1px solid #c8ccd0;
	font-size: 1.4rem;
	font-weight: bold;
}

#noticed_content h2 .icon,
#related_sites h2 .icon {
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	margin: -10px 0 0;
}

#related_sites h2 .icon.icon_link {
	width: 16px;
}

#noticed_content h2 .icon::before,
#related_sites h2 .icon::before {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
}

#noticed_content h2 .icon::before {
	content: url(/shared/svg/icon_tag.svg);
}

#related_sites h2 .icon::before {
	content: url(/shared/svg/icon_relation.svg);
}

#related_sites h2 .icon.icon_link::before {
	content: url(/shared/svg/icon_link.svg);
}

#noticed_content section {
	margin: 0 10px 30px;
}

#noticed_content section h3 {
	position: relative;
	margin: 0 0 20px;
	padding: 6px 0;
	background: #326eb4;
	border-radius: 4px;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	text-align: center;
}

#noticed_content section h3::after {
	position: absolute;
	left: 50%;
	bottom: -16px;
	content: "";
	margin: 0 0 0 -8px;
	border: 8px solid transparent;
	border-top: 8px solid #326eb4;
}

#noticed_content section h3 > span {
	position: relative;
	padding: 0 0 0 20px;
}

#noticed_content section h3 .icon {
	position: absolute;
	top: 50%;
	left: 0;
	width: 13px;
	height: 16px;
	margin: -8px 0 0;
}

#noticed_content section:last-child h3 .icon {
	width: 10px;
}

#noticed_content section h3 .icon::before {
	display: block;
	width: 100%;
	height: 100%;
}

#noticed_content section.consumers h3 .icon::before {
	content: url(/shared/svg/icon_consumers_wh.svg);
}

#noticed_content section.government h3 .icon::before {
	content: url(/shared/svg/icon_counselor_wh.svg);
}

#noticed_content section.business h3 .icon::before {
	content: url(/shared/svg/icon_business_wh.svg);
}

#noticed_content section ul {
	margin: 0 10px 0 7px;
}

#noticed_content section ul li {
	position: relative;
	margin: 0 0 5px;
}

#related_sites ul {
	margin: 0 10px;
}

#related_sites ul li {
	padding: 10px 0;
	border-bottom: 1px dotted #999;
}

#related_sites ul li::after {
	display: block;
	content: "";
	clear: both;
}

#related_sites ul li:first-child {
	padding-top: 0;
}

#related_sites ul li img {
	float: left;
	width: 65px;
}

#related_sites ul li p {
	margin: 0 0 0 75px;
	padding: 0 0 0 15px;
}

#related_sites ul li p:not(.link_window):not(.link_arrow01) {
	color: #222;
}

#related_sites ul li p.link_window,
#related_sites ul li p.link_arrow01 {
	position: relative;
	text-indent: 0;
}

#related_sites ul li p.link_window::before {
	position: absolute;
	top: 6px;
	left: 0;
	display: inline-block;
	content: "";
	width: 10px;
	height: 9px;
	background: url(/shared/svg/icon_window.svg) 0 0 no-repeat;
	background-size: 10px 9px;
}

#related_sites ul li p.link_arrow01::before {
	position: absolute;
	top: 7px;
	left: 4px;
	display: inline-block;
	content: "";
	border: 3px solid transparent;
	border-left: 5px solid #666;
}


/*----- .btn_pagetop -----*/

.btn_pagetop {
	margin: 50px 0 0;
}

.btn_pagetop .btn {
	padding: 0 10px;
	height: 50px;
	border-radius: 0;
	line-height: 50px;
}

.btn_pagetop .btn_inner {
	padding: 0 0 0 20px;
}

.btn_pagetop .btn_inner::before {
	margin: -9px 0 0;
	border: 6px solid transparent;
	border-bottom: 8px solid #326eb4;
}



/* フォームスタイル
----------------------------------------------------------- */
input[type="text"] {
	padding: 0 5px;
	height: 35px;
	border: 1px solid #ccc;
	box-sizing: border-box;
	font-size: 1.6rem;
	-webkit-appearance: none;
}

input[type="radio"],
input[type="checkbox"]  {
	position: relative;
	top: -1px;
	width: 15px;
	height: 15px;
	margin: 0 6px 0 0;
	box-sizing: border-box;
}

select {
	padding: 0 0 0 5px;
	height: 35px;
	box-sizing: border-box;
	font-size: 1.6rem;
}

textarea {
	padding: 5px;
	height: 185px;
	border: 1px solid #ccc;
	box-sizing: border-box;
	font-size: 1.6rem;
	line-height: 1.8;
	-webkit-appearance: none;
}

.landscape label,
.portrait label {
	display: block;
	margin: 0 0 5px;
}

.portrait label:last-child {
	margin-bottom: 0;
}

.form table th {
	font-weight: bold;
}

.must {
	font-weight: bold;
	color: #d71414;
}

.example {
	display: block;
	font-size: 1.2rem;
}


/*----- .flow -----*/

.flow {
	margin: 0 0 20px !important;
	font-size: 0;
	text-align: center;
}

.flow li {
	display: inline-block;
	width: 33%;
	padding: 0 20px 0 0;
	box-sizing: border-box;
}

.flow li span {
	position: relative;
	display: block;
	width: 100%;
	height: 40px;
	padding: 0 0 0 5px;
	background: #fafafa;
	border: 1px solid #d8dce0;
	border-right: none;
	box-sizing: border-box;
	font-size: 1.4rem;
	line-height: 38px;
}

.flow li span::before,
.flow li span::after {
	position: absolute;
	top: -1px;
	display: block;
	content: "";
}

.flow li span::before {
	right: -34px;
	border: 20px solid transparent;
	border-left: 15px solid #d8dce0;
}

.flow li span::after {
	right: -33px;
	border: 20px solid transparent;
	border-left: 15px solid #fafafa;
}

.flow li.current span {
	background: #326eb4;
	border: 1px solid #326eb4;
	color: #fff;
}

.flow li.current span::before {
	right: -35.5px;
	border-left: 15px solid #326eb4;
}

.flow li.current span::after {
	display: none;
}


/*----- .error -----*/

div.error {
	margin: 0 0 15px;
	position: relative;
	padding: 10px 10px 10px 35px;
	background: #fbe9e9;
}

div.error p {
	color: #d71414;
	font-size: 1.3rem;
	font-weight: bold;
}

div.error i {
	position: absolute;
	top: 15px;
	left: 12px;
	font-size: 2.0rem;
}

.table01 td.error {
	background: #fbe9e9;
}

.table01 p.error {
	margin: 5px 0 0;
	color: #d71414;
	font-weight: bold;
}

.table01 p.error + p.error {
	margin-top: 0;
}


/*----- .agreement_box -----*/

.agreement_box {
	padding: 10px 15px;
	border: 1px solid #d8dce0;
}

.agreement_box p {
	margin: 0 0 15px;
}

.aAgreement_box p:last-child {
	margin-bottom: 0;
}

.agreement_box .thanks {
	padding: 10px 0;
	font-size: 1.3rem;
	text-align: center;
}


/*----- .btn_block -----*/

.form .btn_block {
	margin: 20px 15px 0;
	text-align: center;
}

.form .btn_block .btn {
	width: 100%;
	height: 50px;
	margin: 0 0 15px;
	padding: 0 10px;
	border-radius: 25px;
	font-size: 1.4rem;
	line-height: 50px;
}

.form .btn_block .btn:last-child {
	margin-bottom: 0;
}

.form .btn_block ::before {
	display: none;
}

.form .btn_block .btn span {
	position: relative;
	padding: 0 0 0 25px;
}

.form .btn_block .btn span::before,
.form .btn_block .btn span::after {
	position: absolute;
	left: 0;
	top: 50%;
	display: block;
	content: "";
}

.form .btn_block .btn span::before {
	width: 18px;
	height: 18px;
	margin: -9px 0 0;
	background: #326eb4;
	border-radius: 10px;
}

.form .btn_block .btn span::after {
	left: 7px;
	margin: -4px 0 0;
	border: 4px solid transparent;
	border-left: 5px solid #fff;
}


/* .btn[disabled] */

.form .btn_block .btn[disabled] {
	background: #ccc;
	color: #222;
	cursor: default;
}

.form .btn_block .btn[disabled] span::before {
	background: #333;
}


/* .btn_submit */

.form .btn_block .btn_submit {
	background: #326eb4;
	border: 1px solid transparent;
	color: #fff;
}

.form .btn_block .btn_submit span::before {
	background: #fff;
}

.form .btn_block .btn_submit span::after {
	border-left: 5px solid #326eb4;
}

.form .btn_block .btn_submit:hover {
	background: #164d8d;
}

.form .btn_block .btn_submit:hover span::after {
	border-left: 5px solid #164d8d;
}



/* /sitemap.html
----------------------------------------------------------- */
#sitemap .column_block_box .box_inner > ul > li {
	margin: 0 0 12px;
}

#sitemap .column_block_box .box_inner > ul > li > span {
	position: relative;
	display: block;
	padding: 0 0 5px 20px;
	border-bottom: 1px solid #d8dce0;
	font-size: 1.3rem;
}

#sitemap .column_block_box .box_inner > ul > li > span a::before,
#sitemap .column_block_box .box_inner > ul > li > span a::after {
	position: absolute;
	left: 0;
	display: block;
	content: "";
}

#sitemap .column_block_box .box_inner > ul > li > span a::before {
	top: 3px;
	width: 14px;
	height: 14px;
	background: #326eb4;
	border-radius: 7px;
}

#sitemap .column_block_box .box_inner > ul > li > span a::after {
	top: 7px;
	left: 5px;
	border: 3px solid transparent;
	border-left: 4px solid #fff;
}

#sitemap .column_block_box .box_inner > ul > li > ul {
	margin: 5px 0 0;
}

#sitemap .column_block_box .box_inner > ul > li > ul > li > ul {
	margin: 0 0 10px;
}



/* /link/index.html
----------------------------------------------------------- */
#link_index .link_list li {
	float: left;
	width: 50%;
	margin: 15px 0 0;
	box-sizing: border-box;
	text-align: center;
	line-height: 1.4;
}

#link_index .link_list li:nth-child(odd) {
	padding: 0 5px 0 0;
}

#link_index .link_list li:nth-child(even) {
	padding: 0 0 0 5px;
}

#link_index .link_list li:nth-child(-n+2) {
	margin: 0;
}

#link_index .link_list li a {
	display: block;
}

#link_index .link_list li img {
	max-width: 100%;
	margin: 0 0 8px;
}

#link_index .link_list li p {
	padding: 0 0 0 15px;
	text-align: left;
}

#link_index .link_list li p:not(.link_window):not(.link_arrow01) {
	color: #222;
}

#link_index .link_list li p.link_window,
#link_index .link_list li p.link_arrow01 {
	position: relative;
	text-indent: 0;
}

#link_index .link_list li p.link_window::before,
#link_index .link_list li p.link_arrow01::before {
	position: absolute;
	display: inline-block;
	content: "";
}

#link_index .link_list li p.link_window::before {
	top: 3px;
	left: 0;
	width: 10px;
	height: 9px;
	background: url(/shared/svg/icon_window.svg) 0 0 no-repeat;
	background-size: 10px 9px;
}

#link_index .link_list li p.link_arrow01::before {
	top: 4px;
	left: 4px;
	border: 3px solid transparent;
	border-left: 5px solid #666;
}



/* メインコンテンツ
----------------------------------------------------------- */
#main {
	margin: 0 0 35px;
	text-align: justify;
	text-justify: inter-ideograph;
}



/* サイドコンテンツ
----------------------------------------------------------- */
#side {
	margin: 0 0 30px;
}


#side .side_ttl01 {
	position: relative;
	margin: 0 0 10px;
	padding: 0 0 0 23px;
	font-size: 1.4rem;
	font-weight: bold;
}

#side .side_ttl01 .icon {
	position: absolute;
	top: 8px;
	left: 0;
	display: block;
	width: 14px;
	height: 10px;
}

#side .side_ttl01 .icon::before {
	display: block;
	width: 100%;
	height: 100%;
	content: url(/shared/svg/ttl_icon.svg);
	line-height: 0;
}


/*----- #side_nav -----*/

#side_nav {
	margin: 0 0 15px;
}

#side_nav:last-child {
	margin-bottom: 0;
}

#side_nav h2 {
	font-size: 1.4rem;
	font-weight: bold;
}

#side_nav h2::before {
	display: none;
}

#side_nav h2 a {
	position: relative;
	display: block;
	padding: 15px 15px 15px 40px;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlZGYxZjQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top, #fff 0%, #edf1f4 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(100%,#edf1f4));
	background: -webkit-linear-gradient(top, #fff 0%,#edf1f4 100%);
	background: -o-linear-gradient(top, #fff 0%,#edf1f4 100%);
	background: -ms-linear-gradient(top, #fff 0%,#edf1f4 100%);
	background: linear-gradient(to bottom, #fff 0%,#edf1f4 100%);
	border: 1px solid #d8dce0;
	box-sizing: border-box;
	color: #222;
}

#side_nav h2 a::before,
#side_nav h2 a::after {
	position: absolute;
	top: 50%;
	left: 14px;
	display: block;
	content: "";
}

#side_nav h2 a::before {
	width: 14px;
	height: 14px;
	margin: -7px 0 0;
	background: #326eb4;
	border-radius: 7px;
}

#side_nav h2 a::after {
	left: 19px;
	margin: -3px 0 0;
	border: 3px solid transparent;
	border-left: 4px solid #fff;
}


#side_nav ul li {
	display: table;
	table-layout: fixed;
	width: 100%;
	border: 1px solid #d8dce0;
	border-top: none;
	box-sizing: border-box;
}

#side_nav ul li::before {
	display: block;
	float: left;
	content: "";
	width: 0;
	min-height: 50px;
}

#side_nav ul li a {
	position: relative;
	display: table-cell;
	width: 100%;
	min-height: 50px;
	padding: 10px 10px 10px 34px;
	box-sizing: border-box;
	vertical-align: middle;
}

#side_nav ul li a::before {
	position: absolute;
	top: 50%;
	left: 22px;
	display: lock;
	content: "";
	margin: -3px 0 0;
	border: 3px solid transparent;
	border-left: 5px solid #666;
}

#side_nav h2 a:hover,
#side_nav h2.current a,
#side_nav ul li a:hover,
#side_nav ul li.current a {
	background: #eff4f9;
	text-decoration: none;
}


/*----- .side_bnr01 -----*/

.side_bnr01 li {
	margin: 0 0 10px;
	border: 1px solid #c8ccd0;
}

.side_bnr01 li h3 {
	position: relative;
	margin: 0;
	padding: 10px 10px 10px 30px;
	background: -moz-linear-gradient(top,  #ffffff 0%, #ecf0f4 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ecf0f4));
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ecf0f4 100%);
	background: -o-linear-gradient(top,  #ffffff 0%,#ecf0f4 100%);
	background: -ms-linear-gradient(top,  #ffffff 0%,#ecf0f4 100%);
	background: linear-gradient(to bottom,  #ffffff 0%,#ecf0f4 100%);
	border-bottom: 1px solid #c8ccd0;
	color: #222;
	font-size: 1.4rem;
	font-weight: bold;
	text-indent: 0;
}

.side_bnr01 li h3::before {
	left: 10px;
}

.side_bnr01 li h3::after {
	left: 16px;
}

.side_bnr01 li div {
	position: relative;
	padding: 10px 50px 10px 10px;
	box-sizing: border-box;
}

.side_bnr01 li:nth-child(2) div {
	min-height: 63px;
}

.side_bnr01 li div .icon {
	position: absolute;
	top: 10px;
	right: 10px;
	display: block;
}

.side_bnr01 li:nth-child(1) div .icon {
	width: 36px;
	height: 36px;
}

.side_bnr01 li:nth-child(2) div .icon {
	width: 34px;
	height: 43px;
}

.side_bnr01 li div .icon::before {
	display: block;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.side_bnr01 li:nth-child(1) div .icon::before {
	content: url(/shared/svg/icon_hotline.svg);
}

.side_bnr01 li:nth-child(2) div .icon::before {
	content: url(/shared/svg/icon_accident.svg);
}

.side_bnr01 li div h4 {
	margin: 0;
	padding: 0;
	border: none;
	font-size: 1.4rem;
}

.side_bnr01 li div p {
	margin: 0;
	color: #222;
}

.side_bnr01 li:nth-child(1) div p {
	font-size: 1.0rem;
}


/*----- .side_bnr02 -----*/

.side_bnr02 li {
	margin: 0 0 10px;
	padding: 0;
	border: 1px solid #c8ccd0;
	text-indent: 0;
}

.side_bnr02 li:last-child {
	margin-bottom: 0;
}

.side_bnr02 li a {
	position: relative;
	display: block;
	padding: 15px 10px 15px 30px;
	color: #222;
	font-size: 1.4rem;
	font-weight: bold;
	text-indent: 0;
}

.side_bnr02 li a::before {
	left: 10px;
}

.side_bnr02 li a::after {
	left: 16px;
}

.side_bnr02 li.contact a .icon {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 30px;
	height: 36px;
	margin: -18px 0 0;
}

.side_bnr02 li.contact a .icon::before {
	display: block;
	width: 100%;
	height: 100%;
	content: url(/shared/svg/icon_inquiry.svg);
}


/*----- #side_topics -----*/

#side_topics {
	margin: 20px 0;
}

#side_topics ul li {
	margin: 0 0 10px;
	padding: 10px;
	border: 1px solid #c8ccd0;
}

#side_topics ul li:last-child {
	margin-bottom: 0;
}

#side_topics ul li a,
#side_topics ul li > span {
	position: relative;
	display: block;
	padding: 0 0 0 15px;
}

#side_topics ul li a::before,
#side_topics ul li > span::before {
	position: absolute;
	top: 7px;
	left: 5px;
	content: "";
	border: 3px solid transparent;
	border-left: 4px solid #666;
}


/*----- #side_report -----*/

#side_report div {
	padding: 10px;
	border: 1px solid #c8ccd0;
}

#side_report div a img {
    display: block;
    margin: 0 auto 10px;
}