@charset "utf-8";

/*
===============================================================

    1.General Setting
    2.header
    3.main
    4.footer
    5.IE
    6.English

===============================================================
*/
@font-face {
	font-family: 'FontAwesome';
	src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
	src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

/*======================================
    1.General Setting
======================================*/

.fsz_L {
	font-size: 120%;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', Verdana, Meiryo, sans-serif;
	line-height: 1.5;
	min-width: 980px;
	margin: 0 auto;
	color: #333;
	background: url(../img/bg.png);
	-webkit-text-size-adjust: 100%;
}

a {
	font-size: 100%;
	color: #194686;
}

a:hover {
	text-decoration: none;
	color: #9b0301;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
	border-style: none;
	outline: none;
}

object,
embed,
iframe {
	max-width: 100%;
	vertical-align: top;
	outline: none;
}

sup,
sub {
	font-size: 1rem;
}

sup {
	vertical-align: super;
}

sub {
	vertical-align: sub;
}

button {
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', Verdana, Meiryo, sans-serif;
}

@media screen and (max-width: 767px) {

body {
	min-width: 320px;
	font-size: 0.8125em;
}

body.active::after {
	position: absolute;
	z-index: 10001;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: '';
	background: rgba(0, 0, 0, .6) none repeat scroll 0 0;
}
}

/*======================================
    2.header
======================================*/

#headerWrap{
	background: #fff;
}

#header {
	position: relative;
	width: 980px;
	margin: 0 auto;
	background: #fff;
}

#header iframe {
	width: 100%;
}

/*==== toolBlock ====*/

.toolBlock {
	float: right;
	font-size: 0.875rem;
	margin: 3px 10px 0 0;
	text-align: right;
}

.hdLink {
	display: inline-block;
	margin: 0 0 0 25px;
}

.hdLink li {
	display: inline-block;
	margin: 0 0 0 25px;
	list-style: none;
}

.hdLink li:first-child {
	margin: 0;
}

.hdLink li a {
	position: relative;
	display: inline-block;
	padding: 0 0 0 11px;
}

.hdLink li a::before {
	position: absolute;
	top: 0.5rem;
	left: 0;
	width: 6px;
	height: 6px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 1px solid #555;
	border-right: 1px solid #555;
}

.fszBox {
	background-color: #eeeeee;
	border: 1px solid #b5b5b5;
	border-top: none;
	display: inline-block;
	margin: 0 0 0 30px;
	padding: 4px 14px 6px;
	position: relative;
	top: -3px;
}

.fszBox dt,
.fszBox dd {
	display: inline-block;
}

.fszBox dt {
	margin: 0 1.2rem 0 0;
}

.fszBox button {
	width: 45px;
	height: 27px;
	color: #9b0301;
	background-color: #fff;
	border: 2px solid #9b0301;
	cursor: pointer;
}

.fszBox button:first-child {
	margin: 0 3px 0 0;
}

.fszBox .fsz_N {
	font-size: 14px;
}

.fszBox .fsz_L {
	font-size: 16px;
	line-height: 1;
}

.fszBox button:hover,
.fsz_N .fsz_N,
.fsz_L .fsz_L {
	color: #fff;
	background: #9b0301;
}

.searchBox {
	position: relative;
	margin: 12px 0 10px;
	width: 470px;
}

.searchBox td {
	border: none;
}

.searchBox .gsc-input-box {
	height: 43px;
}
.searchBox .gsib_a {
	height: 35px;
}

.search_btn {
	display: none;
}

.searchBox label {
	margin: 0 1.2rem 0 0;
	position: relative;
	top: 3px;
}

#searchform{
	display:-webkit-box;
 display: -webkit-flex;
	display:-ms-flexbox;
 display: flex;
	float: right;
}

#searchform input{
	display: block;
}

.searchBox input[type=text]{
	background: url(../img/icn_search.png) no-repeat 6px center;
	background-size: 13px auto;
	font-size: 0.875rem;
	border: 2px solid #c9c9c9;
	border-right: none;
	padding: 5px 8px 5px 25px;
	width: 14.5rem;
	border-radius: 0;
	-webkit-appearance: none;
}

.searchBox input[type=submit]{
	font-size: 0.875rem;
	border: none;
	color: #fff;
	cursor: pointer;
	background-image: -webkit-linear-gradient(top, #9b0301, #5f0100);
	background-image: -ms-linear-gradient(top, #9b0301, #5f0100);
	background-image: linear-gradient(to bottom, #9b0301, #5f0100);
	padding: 7px 8px;
	text-align:center;
}

#searchform input[type="submit"]::-webkit-search-decoration {
 display: none;
}
#searchform input[type="submit"]::focus {
 outline-offset: -2px;
}

/*==== ciBlock ====*/

.ciBlock {
	float: left;
	margin: 18px 0 6px 13px;
	padding: 0;
	background: none;
	ont-size: auto;
}

.ciBlock::before {
	content: none;
}

/*==== gnavBlock ====*/

.gnavBlock {
	font-weight: bold;
	position: relative;
	clear: both;
	margin: 0 auto;
	width: 980px;
}

.gnavBlock::after {
	display: table;
	clear: both;
	content: '';
}

#gNavWrap {
	border-top: 1px solid #d7d3d3;
	background-image: -webkit-linear-gradient(bottom, #d7d7d7, #fff 17%);
	background-image: linear-gradient(to top, #d7d7d7, #fff 17%);
	border-bottom: 7px solid #9b0301;
}

.gnav_btn {
	display: none;
}

.gnavBox {
	display: table;
	table-layout: fixed;
	margin: -1px 0 -7px !important;
	width: 100%;
	height: 58px;
}

.gnavBox > li {
	display: table-cell;
	vertical-align: middle;
	border-top: 1px solid #cecece;
	border-right: 1px solid #cecece;
	border-bottom: 7px solid #9b0301;
	position: relative;
	height: 100%;
	margin: 0;
	cursor: pointer;
}

.gnavBox > li:first-child {
	border-left: 1px solid #cecece;
}

.gnavBox > li > a {
	color: #333;
	position: relative;
	display:-webkit-box;
 display: -webkit-flex;
	display:-ms-flexbox;
 display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	height: 100%;
	line-height: 1.1;
	text-decoration: none;
	border: 1px solid transparent;
	border-left: 1px solid #fff;
	border-bottom: 1px solid transparent;
}

.gnavBox > li > a span{
	display: inline-block;
	text-align: center;
	padding: 5px 0 7px;
}

.gnavBox > li > a:not(:only-child)::before {
	position: absolute;
	bottom: -7px;
	left: 50%;
	margin-left: -4px;
	display: block;
	width: 0;
	height: 0;
	content: '';
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: #fff transparent transparent;
}

 @-moz-document url-prefix() {
.gnavBox > li > a:not(:only-child)::before{
		bottom: -5px;
	}
	.gnavBox > li:hover > a::after {
		background-color: #9b0301;
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
		content: '';
}
}

.gnavBox > li:first-child > a::before,
.gnavBox > li:first-child > a::after {
	content: none;
}

.gnavBox > li.current{
	border-top-color: #9b0301;
}

.gnavBox > li.current > a,
.gnavBox > li.current > a:hover{
	color: #fff;
	background: #9b0301;
	border-color: #9b0301;
}

.gnavBox > li:hover {
	border-color: #9b0301 #9b0301 #9b0301 #cecece;
}

.gnavBox > li::after{
	position: absolute;
	top: 0;
	left: 1px;
	display: none;
	width: 1px;
	height: 100%;
	content: '';
	background-color: #9b0301;
}

.gnavBox > li:hover::after{
	display: block;
}

.gnavBox > li:hover > a {
	border-color: #9b0301;
	color: #9b0301;
	background: #fff;
}

.gnavBox > li.current > a::before{
	border-top-color: #fff;
}

.gnavBox > li:hover > a::before {
	bottom: -15px;
	border-width: 8px 8px 0 8px;
	border-color: #9b0301 transparent transparent;
	z-index: 2;
}

 @-moz-document url-prefix() {
.gnavBox > li:hover > a::before {
		bottom: -11px;
	}
	}

.gnavBox > li.current > a::after{
	background: #fff;
}

.snavBox {
	position: absolute;
	z-index: 1;
	top: 100%;
	left: 0;
	margin: 6px 0 0 0;
	display: none;
	background-color: #eee;
	border: 4px solid #b5b2b2;
	padding: 3px 6px 10px;
	min-width: 395px;
	box-shadow: 0 4px 7px #000;
}

.gnavBox li:hover .snavBox {
	display: block;
}

.snavBox li {
	background: url(../img/line01.png) repeat-x left bottom;
	font-weight: normal;
	margin: 0;
}

.snavBox a {
	position: relative;
	display: block;
	padding: 9px 0 10px 20px;
	color: #2c2c2c;
}

.snavBox a:hover{
	color: #9b0301;
}

.snavBox a::before {
	position: absolute;
	top: 17px;
	left: 6px;
	width: 6px;
	height: 6px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 1px solid #9b0301;
	border-right: 1px solid #9b0301;
}

/*==== Media Queries ====*/

@media screen and (max-width: 767px) {

#header {
	width: auto;
	padding: 4px 0 3rem;
	z-index: 10002;
}

/*==== toolBlock ====*/
.toolBlock {
    float: none;
    margin: 0 14px 5px;
    text-align: center;
}

.hdLink li:first-child{
	display: none;
}

.hdLink{
	position: absolute;
	top: 8px;
	right: 52px;
}

.hdLink li a{
	border: 2px solid #d7d3d3;
	padding: 7px 0 7px 15px;
}

.hdLink li a::before{
	top: 13px;
	left: 5px;
}


.fszBox {
	display: none;
}

.searchBox {
	border-top: 1px solid #ccc;
	position: absolute;
	z-index: 10000;
	top: 55px;
	left: 0;
	width: 100%;
	margin: 0;
}
td.gsc-input {
	padding: 8px;
}

.search_btn {
	position: absolute;
	top: -52px;
	right: 82px;
	display: block;
}

.search_open,
.search_close {
	display: none;
	width: 48px;
	height: 52px;
}

.search_btn .active {
	display: block;
}

.search_open {
	font-size: 3.2rem;
	color: #194686;
}

.search_close {
	font-size: 1.1rem;
	color: #fff;
	background: #9b0301;
}

.search_func {
	width: 100%;
	padding: 3px 10px 6px;
}

.search_func label {
	display: none;
}

#searchform {
	width: 100%;
	float: none;
}

#searchform input[type="text"] {
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	box-flex: 1;
	flex-grow: 1;
	box-sizing: border-box;
	font-size: 1rem;
	padding: 8px 36px 2px 25px;
	line-height:1;
}

@-moz-document url-prefix() {
#searchform input[type="text"] {
	padding: 5px 36px 5px 25px;
}
}


#searchform input[type="submit"] {
	padding: 8px;
	margin-left: -2px;
	border-radius: 0;
}

/*==== ciBlock ====*/
.ciBlock {
    float: none;
    width: 160px;
    margin: 0 0 26px 14px;
    padding-top: 3px;
}

.ciBlock img {
	width: 100%;
}

/*==== gnavBlock ====*/
.gnavBlock {
	margin: 0;
	z-index: 10003;
	position: absolute;
	top: 72px;
	right: 0;
	width: 100%;
}

.gnav_btn {
	position: absolute;
	top: -68px;
	right: 5px;
	display: block;
	font-size: 8px;
	line-height: 1.2;
}

.gnav_open,
.gnav_close {
	display: none;
	width: 48px;
	height: 48px;
}

.gnav_btn .active {
	display: block;
}

.gnav_btn .active::before{
	font-family: 'FontAwesome';
	content: "\f0c9\A";
	color: #9b0301;
	font-size: 26px;
}
   
.gnav_close {
	color: #9b0301;
	position: relative;
	box-sizing: border-box;
	padding-top: 31px;
}

.gnav_close.active::before{
	background: #9b0301;
	border-radius: 3px;
	display: block;
	position: absolute;
	top: 6px;
	left: 14px;
	width: 20px;
	height: 20px;
	content: "";
}

.gnav_close.active::after{
	position: absolute;
	top: 2px;
	left: 0;
	content: "×\A";
	color: #fff;
	font-size: 20px;
	width: 20px;
	right: 0;
	margin: 0 auto;
	display: block;
}

@-moz-document url-prefix() {
.gnav_close {
	padding-top: 32px;
}

.gnav_close.active::before{
	top: 6px;
}
.gnav_close.active::after{
	top: 2px
}
}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
.gnav_close.active::after{
	top: 2px
}
}


#gNavWrap{
	border-bottom: none;
}

.gnavBox {
	position: absolute;
	z-index: 10000;
	top: -16px;
	display: none;
	width: 100%;
	background: #DEDDDC;
	border-bottom: none;
	height: auto;
}

.gnavBox.active {
	display: block;
}

.gnavBox > li,
.gnavBox > li:hover,
.gnavBox > li.current{
	position: relative;
	display: block;
	border: none;
	border-top: 1px solid #b3b3b3;
}

.gnavBox > li:not(.noList)::before{
	font-family: FontAwesome;
	content: "\f0fe";
	cursor: pointer;
	display: inline-block;
	margin: 0 0 0 5px;
	color: #333;
	position: absolute;
	top: 24px;
	right: 15px;
	font-size: 20px;
	margin-top: -15px;
}

@-moz-document url-prefix() {
.gnavBox > li:not(.noList)::before{
	margin-top: -16px;
	font-size: 21px;
}
}

.gnavBox > li:not(.noList).on::before{
	content: "\f146";
}

.gnavBox > li:not(.noList):after{
	background-color: transparent;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: auto;
	right: 0;
	width: 52px;
	height: 47px;
	cursor: pointer;
}


.gnavBox > li:not(.noList) > a::before,
.gnavBox > li:not(.noList).on > a::before{
	background-color: #b3b3b3;
	content: "";
	display: block;
	position: absolute;
	margin-top: -12px;
	top: 50%;
	right: 5px;
	left: auto;
	width: 1px;
	height: 24px;
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
	border: none;
}

.gnavBox > li:first-child {
	display: none;
}

.gnavBox > li > a ,
.gnavBox > li:hover > a,
.gnavBox > li.current > a {
	display: block;
	width: auto;
	height: auto;
	margin: 0 43px 0 0;
	padding: 9px 14px;
	text-align: left;
	text-decoration: underline;
	background-color: #DEDDDC;
	color: #333;
	border: none;
	position: relative;
}

.gnavBox > li.noList > a {
	margin-right: 0;
}

.gnavBox > li.noList > a::before {
	position: absolute;
	top: 50%;
	right: 22px;
	margin-top:  -4px;
	width: 8px;
	height: 8px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
}

.gnavBox > li > a br {
	display: none;
}

.gnavBox > li > a::after {
	top: 50%;
	right: -29px;
	margin-top: -4px;
	left: auto;
	pointer-events: none;
	background: #fff;
}

.gnavBox > li > a:hover {
	text-decoration: none;
}

.gnavBox li:hover .snavBox {
	display: none;
}

.gnavBox > li.on > a::before {
	top: 50%;
	margin-top: -4px;
	border-bottom-color: #fff;
}

.gnavBox > li:hover > a::after,
.gnavBox > li.on > a::after,
.gnavBox > li:hover::after {
	display: none;
}

.gnavBox > li.current > a,
.gnavBox > li.current > a:hover{
	background: none;
	color: #333;
}

.gnavBox > li.on .snavBox {
	display: block;
	margin-top: 0;
	min-width: 0;
	border: none;
	box-shadow: none;
}

.snavBox {
	position: relative;
	padding: 0;
	background: #fff;
}

.snavBox li {
	background: none;
	display: block;
	margin: 0;
}

.snavBox a {
	display: block;
	padding: 10px 36px 10px 34px;
	color: #333;
	border-top: 1px solid #b3b3b3;
}

.snavBox a::before {
	left: 17px;
	border-left-color: #9b0301;
}

}

@media screen and (min-width: 768px) {

.search_func {
	display: block !important;
}
.gnavBox {
	display: table !important;
}
    
}

/*======================================
    3.main
======================================*/

#main::after {
	display: table;
	clear: both;
	content: '';
}

/*======================================
    4.footer
======================================*/

#footer {
	margin: 20px 0 0;
}

#footer iframe {
	width: 1024px;
	margin: 0 auto;
	display: block;
}

/*==== stmpBlock ====*/

.stmpBlock {
	background-color: rgba( 0, 0, 0, 0.1);
}

.stmpBox {
	width: 980px;
	margin: 0 auto;
	padding: 10px 0;
	font-size: 0.875rem;
}

.stmpBox::after {
	display: table;
	clear: both;
	content: '';
}

.stmpBox a {
	display: inline-block;
}

.stmp_col {
	float: left;
	width: 23.5%;
	margin-left: 2%;
}

.stmp_col:first-child {
	margin-left: 0;
}

.stmpBox dt,
.stmp_link {
	font-weight: bold;
	margin: 0 0 12px;
}

.stmpBox dt a,
.stmp_link a{
	background-color: #fff;
	border: 2px solid #d1d1d1;
	display: block;
	position: relative;
	padding: 11px 25px 11px 12px;
}

.stmpBox dt:not(:first-child),
.stmp_link:not(:first-child) {
	margin-top: 12px;
}

.stmpBox dt a::before,
.stmp_link a::before{
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top:  -4px;
	width: 8px;
	height: 8px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
}

.stmpBox dt a:hover,
.stmp_link a:hover{
	background-color: #9b0301;
	color: #fff;
	text-decoration: none;
}

.stmpBox dt a:hover::before,
.stmp_link a:hover::before{
	border-color: #fff;
}

.stmpBox ul {
	margin: 0;
}

.stmpBox li {
	margin: 0 0 13px 15px;
	list-style: none;
}

.stmpBox li a {
	display: inline-block;
	line-height: 1.4;
	position: relative;
	padding: 0 0 0 11px;
}

.stmpBox li a[target=_blank]:not([href$=".pdf"])::after{
	top: -2px;
}

.stmpBox li a::before {
	position: absolute;
	top: 0.5rem;
	left: -3px;
	width: 6px;
	height: 6px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 1px solid #555;
	border-right: 1px solid #555;
}

.stmpBox .fa {
	padding-left: 1.2rem;
}

/*==== infoBlock ====*/

.infoBlock {
	width: 980px;
	margin: 0 auto;
	padding: 2.4rem 0 4.2rem;
}

.infoBlock::after {
	display: table;
	clear: both;
	content: '';
}

.snsBox {
	float: right;
	width: 25.5%;
	list-style: none;
	margin: 0;
}

.snsBox li {
	font-weight: bold;
	display: table;
	width: 100%;
	margin: 0 0 10px;
	border-radius: 3px;
	background: #fff;
}

.snsBox a {
	position: relative;
	display: table-cell;
	height: 40px;
	padding: 8px 12px 8px 58px;
	vertical-align: middle;
	text-decoration: none;
	color: #333;
}

.snsBox .fa {
	position: absolute;
	top: 50%;
	left: 12px;
	margin-top: -17px;
	width: 32px;
	height: 32px;
	text-align: center;
}

.sns_tw {
	border: 2px solid #3495d3;
}

.sns_tw .fa {
	padding: 8px;
	color: #fff;
	border-radius: 2px;
	background: #3495d3;
	font-size: 20.2px;
}

.sns_fb {
	border: 2px solid #395590;
}

.sns_fb a {
	line-height: 1.2;
}

.sns_fb .fa {
	font-size: 34px;
	color: #395590;
	background: #fff;
}

.sns_fb span {
}

.infoBox {
	float: right;
	width: 50%;
}

#footer small {
	line-height: 1.4;
	display: block;
	font-size: 0.75rem;
	text-align: center;
}

.ftLinkArea > .ftLink{
	display:-webkit-box;
 display: -webkit-flex;
	display:-ms-flexbox;
 display: flex;
	margin: 0;
	width: 100%;
}

.ftLink {
	list-style: none;
}

.ftLinkArea > .ftLink li{
	box-sizing: border-box;
	margin: 0;
	padding-left: 26px;
	width: 50%;
}

.ftLink li a {
	background: url(../img/line01.png) repeat-x left bottom;
	position: relative;
	font-size: 0.9375rem;
	display: block;
	padding: 0 0 0 21px;
	height: 100%;
	box-sizing: border-box;
}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
.ftLink li a {
	box-sizing: content-box;
}
}

@media screen and (-webkit-min-device-pixel-ratio:0)
and (min-color-index:0) {
.ftLink li a {
	box-sizing: content-box;
}
}

@-moz-document url-prefix() {
.ftLink li a {
	box-sizing: content-box;
}
}

.ftLink li a span{
	position: relative;
	top: 50%;
	display: block;
	line-height: 1.2;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	text-decoration: underline;
	padding: 10px 0;
}

.ftLink li a:hover span{
	text-decoration: none;
}

.ftLink:first-child li a {
	background: url(../img/line01.png) repeat-x 0 0, url(../img/line01.png) repeat-x left bottom;
}

.ftLink li a::before,
.addBox li a::before {
	position: absolute;
	top: 0.6rem;
	left: 0;
	width: 6px;
	height: 6px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 1px solid #555;
	border-right: 1px solid #555;
}

.ftLink li a::before{
	top: 50%;
	margin-top: -4px;
	left: 4px;
}

.addBox {
	background-color: #fff;
	border: solid 1px #e1e1e1;
	margin: 0 0 1rem;
	font-size: 0.9375rem;
	padding: 16px;
}

.addBox dt {
	font-weight: bold;
	font-size: 1.2em;
}


.addBox dd {
	line-height: 1.57;
}

.addBox ul {
	margin: .2rem 0 0 -3.2rem;
}

.addBox li {
	display: inline-block;
	margin: 0 0 0 3.2rem;
}

.addBox li a {
	position: relative;
	display: inline-block;
	padding: 0 0 0 14px;
}

.jumpBox {
	position: fixed;
	right: 10px;
	bottom: 10px;
	border: 2px solid #9b0301;
	background-color: #fff;
	z-index: 9999;
}

.jumpBox a {
	display: block;
	color: #9b0301;
	font-size: 0.75rem;
	padding: 8px 8px 8px 32px; 
}

.jumpBox a::before {
	position: absolute;
	top: 50%;
	left: 11px;
	margin-top: -2px;
	width: 8px;
	height: 8px;
	content: '';
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	border-top: 2px solid #9b0301;
	border-right: 2px solid #9b0301;
}

.jumpBox a:hover {
	background-color: #9b0301;
	color: #fff;
}

.jumpBox a:hover::before {
	border-color: #fff;
}

/*==== Media Queries ====*/

@media screen and (max-width: 767px) {

#main{
	padding: 0 10px;
}

#footer {
	margin: 20px 0 0;
	padding: 0 0 2rem;
}

/*==== stmpBlock ====*/
.stmpBox {
	border-top: 1px solid #b3b3b3;
	width: auto;
	padding: 0;
}

.stmp_col {
	float: none;
	width: 100%;
	margin: 0;
}

.stmpBox dt,
.stmpBox dt:not(:first-child),
.stmp_link {
	margin: 0 !important;
	border-bottom: 1px solid #b3b3b3;
}

.stmpBox dt a,
.stmp_link a ,
.stmpBox dt a:hover,
.stmp_link a:hover {
	background: transparent;
	border: none;
	display: block;
	padding: 12px 3.5rem 11px 1.4rem;
	color: #194686;
}

.stmpBox dt{
	position: relative;
}

.stmpBox dt:before{
	font-family: FontAwesome;
	content: "\f0fe";
	display: inline-block;
	margin: 0 0 0 5px;
	color: #333;
	position: absolute;
	top: 50%;
	right: 12px;
	font-size: 20px;
	margin-top: -15px;
}

.stmpBox dt.on:before{
	content: "\f146";
}

.stmpBox dt:after{
	background-color: transparent;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 43px;
	height: 100%;
}


.stmpBox dt a::before{
	background-color: #b3b3b3;
	content: "";
	display: block;
	position: absolute;
	margin-top: -12px;
	top: 50%;
	right: 43px;
	width: 1px;
	height: 24px;
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0);
	border: none;
}

.stmp_link a::before ,
.stmp_link a:hover::before {
	top: 50%;
	right: 20px;
	margin-top: -5px;
	left: auto;
	border-color: #333333;
}

.stmp_link a::after {
	top: 50%;
	right: 19px;
	margin-top: -5px;
	left: auto;
}

.stmpBox ul {
	display: none;
}

.stmpBox dt.on + dd ul {
	background-color: #fff;
	border-bottom: 1px solid #b3b3b3;
	display: block;
}

.stmpBox li{
	margin: 0;
}

.stmpBox li a{
	border-top: 1px solid #b3b3b3;
	display: block;
	padding: 10px 36px 10px 38px;
}

.stmpBox li:first-child a{
	border-top: none;
}

.stmpBox li a::before{
	top: 50%;
	margin-top: -3px;
	left: 23px;
}


/*==== infoBlock ====*/
.infoBlock {
	width: auto;
	padding: 0 0 20px;
	margin-top: -1px;
}

.snsBox,
.infoBox {
	float: none;
	width: auto;
}

.snsBox {
	margin: 0 0 2.5rem;
}

.snsBox li {
	width: 256px;
	margin: 0 auto 10px;
}

.ftLink {
	margin-bottom: 2rem;
}

.addBox {
	background-color: transparent;
	border: none;
	margin: 10px 0;
	font-size: 0.75rem;
	padding: 10px;
}

.addBox ul{
	margin: 10px 0 0;
}

.addBox li{
	margin: 0 10px 0 0;
}

.addBox li a::before{
	top: 0.4rem;
}

.ftLinkArea{
	border: 1px solid #b3b3b3;
	border-top: none;
}

.ftLinkArea > *{
	padding: 0;
	margin: 0;
	width: auto;
	border-top: 1px solid #b3b3b3;
	background: #fff !important;
}

.ftLinkArea > .ftLink li{
	border-top: none;
	padding: 0;
}

.ftLinkArea > .ftLink li:first-child{
	border-right: 1px solid #b3b3b3;
}

.ftLink li a{
	text-decoration: none;
	font-size: 0.75rem;
	padding-right: 5px;
	background: none !important;
 padding: 0 21px 0 10px;
	height: 100%;
}

.ftLink li a::before {
	left: auto;
	top: 50%;
	right: 8px;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
}


#footer small{
	font-size: 0.625rem;
}

}

/*======================================
    5.parts
======================================*/
/*==== Title ====*/
.title01 {
	background-color: #fff;
	border: 2px solid #c9c9c9;
	padding: 20px 14px;
	position: relative;
	line-height: 1.2;
}

.title01 * {
	font-size: 1.25rem;
}

.title01 a {
	font-size: 1rem;
}

.title01::before {
	content: "";
	display: block;
	background-color: #9b0301;
	position: absolute;
	left: -2px;
	top: 50%;
	margin-top: -15px;
	width: 2px;
	height: 30px;
}

.detail_link {
	position: absolute;
	right: 14px;
	bottom: 21px;
}

.detail_link li {
	display: inline;
	margin: 0 0 0 2.2rem;
	vertical-align: middle;
}

.detail_link a {
	position: relative;
	display: inline-block;
	padding: 0 23px 0 0;
}

.detail_link a::after {
	position: absolute;
	top: 0.4rem;
	right: 5px;
	width: 8px;
	height: 8px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
}

/*==== newsList topicsList ====*/
.topicsList dt,
.newsList dt {
	font-weight: normal;
	position: relative;
	z-index: 1;
	float: left;
	clear: left;
	padding: 19px 0 16px 16px;
}

.topicsList,
.newsList{
	border-top: 2px solid #e1e1e1;
}

.contArea.col1 .newsList{
	margin-bottom: 50px;
}

.topicsList dd,
.newsList dd {
	position: relative;
	box-sizing: border-box;
	border-bottom: 2px solid #e1e1e1;
}

.topicsList dt {
	font-size: 0.875rem;
	width: 10em;
}

.topicsList dd {
	padding: 1rem 16px 1rem 165px;
}

.newsList dt {
	font-size: 0.875rem;
	width: 16em;
}

.newsList dd {
	padding: 16px 16px 16px 16em;
}

.newsList span {
	line-height: 1;
	display: inline-block;
	min-width: 5rem;
	margin: -4px 0 -5px;
	padding: 6px 0 7px;
	text-align: center;
	float: right;
	border: 1px solid #b5b5b5;
}

.news_label01 {
	background-color: #a5bfd7;
}

.news_label02 {
	background-color: #facd89;
}

.news_label03 {
	background-color: #bbe0ff;
}

.news_label04 {
	background-color: #e2e375;
}

.news_label05 {
	background-color: #d1cdea;
}

.news_label06 {
	background-color: #d3b9ac;
}

.news_label07 {
	background-color: #cdeacd;
}

.news_label08 {
	background-color: #fff1b9;
}

.news_label09 {
	background-color: #fff;
	border: 2px solid #9b0301 !important;
	padding: 5px 0 6px;
}

.news_label10 {
	background-color: #c7c7c7;
}

a[href^='http://']::after,
a[href^='https://']::after,
a[target='_blank']::after,
a[href$='pdf']::after,
a[href$='xlsx']::after,
a[href$='xlsm']::after,
a[href$='xls']::after,
a[href$='doc']::after,
a[href$='docx']::after,
a[href$='zip']::after,
a[href$='mov']::after,
a[href$='mpeg']::after,
a[href$='mpg']::after,
a[href$='wmv']::after,
a[href^='mailto']::after {
	display: inline-block;
	overflow: hidden;
	width: 20px;
	height: 20px;
	padding-left: 10px;
	vertical-align: middle;
	white-space: nowrap;
	text-indent: 100%;
	background-size: 16px auto !important;
	position: relative;
	top: -2px;
}

a[target='_blank']::after,
a[href^='http://']::after,
a[href^='https://']::after {
	content: '別窓を開く';
	background: url(../img/icon_win.png) no-repeat center center;
}

#searchResultBox a[href^='http://']::after,
#searchResultBox a[href^='https://']::after {
	background: none;
}

a[href^='http://www.npsc.go.jp/']::after,
a[href^='https://www.npsc.go.jp/']::after {
	none;
}

a[href$='pdf']::after {
	content: 'PDFファイルを開く';
	background: url(../img/icon_pdf.png) no-repeat center center;
}

a[href$='xlsx']::after,
a[href$='xlsm']::after,
a[href$='xls']::after {
	content: 'エクセルファイルを開く';
	background: url(../img/icon_excel.png) no-repeat center center;
}

a[href$='doc']::after,
a[href$='docx']::after {
	content: 'ワードファイルを開く';
	background: url(../img/icon_word.png) no-repeat center center;
}

a[href$='zip']::after {
	content: '圧縮ファイルを開く';
	background: url(../img/icon_zip.png) no-repeat center center;
}

a[href$='mov']::after,
a[href$='mpeg']::after,
a[href$='mpg']::after,
a[href$='wmv']::after {
	content: '動画ファイルを開く';
	background: url(../img/icon_video.png) no-repeat center center;
}

a[href^='mailto']::after {
	content: 'メールを作成する';
	background: url(../img/icon_mail.png) no-repeat center center;
}

.sideBlock li.current > a[target='_blank']::after,
.sideBlock li.current > a[href^='http://']::after,
.sideBlock li.current > a[href^='https://']::after,
.sideBlock li a[target='_blank']:hover::after,
.sideBlock li a[href^='http://']:hover::after,
.sideBlock li a[href^='https://']:hover::after,
.workBox li a[target='_blank']:hover::after,
.workBox li a[href^='http://']:hover::after,
.workBox li a[href^='https://']:hover::after {
	background: url(../img/icon_win_h.png) no-repeat center center;
}
.sideBlock li.current > a[href^='http://www.npsc.go.jp/']::after,
.sideBlock li.current > a[href^='https://www.npsc.go.jp/']::after,
.sideBlock li a[href^='http://www.npsc.go.jp/']:hover::after,
.sideBlock li a[href^='https://www.npsc.go.jp/']:hover::after,
.workBox li a[href^='http://www.npsc.go.jp/']:hover::after,
.workBox li a[href^='https://www.npsc.go.jp/']:hover::after {
	background: none;
}

.sideBlock li.current > a[href$='pdf']::after,
.sideBlock li a[href$='pdf']:hover::after,
.workBox li a[href$='pdf']:hover::after {
	background: url(../img/icon_pdf_h.png) no-repeat center center;
}

.sideBlock li.current > a[href$='xlsx']::after,
.sideBlock li.current > a[href$='xlsm']::after,
.sideBlock li.current > a[href$='xls']::after,
.sideBlock li a[href$='xlsx']:hover::after,
.sideBlock li a[href$='xlsm']:hover::after,
.sideBlock li a[href$='xls']:hover::after,
.workBox li a[href$='xlsx']:hover::after,
.workBox li a[href$='xlsm']:hover::after,
.workBox li a[href$='xls']:hover::after {
	background: url(../img/icon_excel_h.png) no-repeat center center;
}

.sideBlock li.current > a[href$='doc']::after,
.sideBlock li.current > a[href$='docx']::after ,
.sideBlock li a[href$='doc']:hover::after,
.sideBlock li a[href$='docx']:hover::after ,
.workBox li a[href$='doc']:hover::after,
.workBox li a[href$='docx']:hover::after {
	background: url(../img/icon_word_h.png) no-repeat center center;
}

.sideBlock li.current > a[href$='zip']::after ,
.sideBlock li a[href$='zip']:hover::after ,
.workBox li a[href$='zip']:hover::after {
	background: url(../img/icon_zip_h.png) no-repeat center center;
}

.sideBlock li.current > a[href$='mov']::after,
.sideBlock li.current > a[href$='mpeg']::after,
.sideBlock li.current > a[href$='mpg']::after,
.sideBlock li.current > a[href$='wmv']::after ,
.sideBlock li a[href$='mov']:hover::after,
.sideBlock li a[href$='mpeg']:hover::after,
.sideBlock li a[href$='mpg']:hover::after,
.sideBlock li a[href$='wmv']:hover::after ,
.workBox li a[href$='mov']:hover::after,
.workBox li a[href$='mpeg']:hover::after,
.workBox li a[href$='mpg']:hover::after,
.workBox li a[href$='wmv']:hover::after {
	background: url(../img/icon_video_h.png) no-repeat center center;
}

.sideBlock li.current > a[href^='mailto']:hover::after ,
.sideBlock li a[href^='mailto']:hover::after ,
.workBox li a[href^='mailto']:hover::after {
	background: url(../img/icon_mail_h.png) no-repeat center center;
}


@media screen and (max-width: 767px) {

/*==== title01 ====*/
.detail_link {
	right: 7px;
 bottom: 15px;
}

/*==== newsList topicsList ====*/
.topicsList,
.newsList {
	margin: 0;
}

dl.topicsList,
dl.newsList {
	border-top: 2px solid #e1e1e1;
	margin-top: 25px;
}

section.topicsList dl,
section.newsList dl{
	border-top: 2px solid #e1e1e1;
	margin-top: 10px;
}

.topicsList dt,
.newsList dt {
	width: 100%;
	padding: 12px 16px 6px;
}

.newsList span {
	position: absolute;
	left: 11em;
	bottom: 10px;
	font-size: 0.857em;
	padding: 5px 0 4px;
	min-width: 4.5rem;
}

.topicsList dd a,
.newsList dd a {
	display: block;
	padding-right: 28px;
}

.topicsList dd a::before,
.newsList dd a::before {
	position: absolute;
	top: 50%;
	right: 14px;
	margin-top: -4px;
	width: 8px;
	height: 8px;
	content: '';
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-top: 2px solid #333333;
	border-right: 2px solid #333333;
}

.topicsList dd,
.newsList dd {
	padding: .8rem 0 0.8rem 16px;
	border-width: 2px;
}
}

/*======================================
    6.IE
======================================*/
.ie #header,
.ie #main,
.ie .mainBlock,
.ie .stmpBox,
.ie .infoBlock {
	overflow: hidden;
}

.ie .ciBlock {
	overflow: hidden;
	width: 223px;
	height: 83px;
	text-indent: 100%;
	background: url(/common/img/logo.png) no-repeat;
}

.ie #main,
.ie .mainBlock,
.ie .stmpBox,
.ie .infoBlock {
	overflow: hidden;
}

/* Clearfix
---------------------*/
#header::after,
.newsList dt::after,
.search_func:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
	font-size: 0;
}


/*Google Custom Search*/
.gssb_c {
	z-index: 10003 !important;
	margin-top: -3px;
}