/* global */
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
body {
	font: normal 14px/22px "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Helvetica,Arial,Sans-Serif;
	color: #333;
}
h1, h3, h4, h5, h6, figure, p {
	margin: 0;
}
a {
	color: #004190;
}
a:hover,
a:focus {
	color: #000;
}
figure img {
	width: 100%;
	max-width: 100%;
}
iframe,
img {
	vertical-align: top;
}

.list-unstyled {
	margin: 0;
	padding: 0;
	list-style: none
}
.list-unstyled.inline >li {
	display: inline-block;
}
/*
* Icon
*/
.expand:after {
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	border-right: 2px solid #004190;
	border-bottom: 2px solid #004190;
	/*margin-left: 10px;*/
	-webkit-transform: rotate(45deg) translateY(-5px);
	   -moz-transform: rotate(45deg) translateY(-5px);
	    -ms-transform: rotate(45deg) translateY(-5px);
	     -o-transform: rotate(45deg) translateY(-5px);
	        transform: rotate(45deg) translateY(-5px);
}
/*
* Button
*/
.btn {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	line-height: 60px;
	height: 60px;
	min-width: 240px;
	padding-top: 0;
	padding-bottom: 0;
	color: #fff;
	border: 1px solid transparent;
	border-radius: 5px;
}
.btn:focus {
	outline: none;
}
.btn-a {
	border-color: #004190;
	background-color: #004190;
}
.btn-a:hover,
.btn-a:focus {
	border-color: #000055;
	background-color: #000055;
}
.btn-b {
	border-color: #5588bb;
	background-color: #5588bb;
}
.btn-b:hover,
.btn-b:focus {
	border-color: #004190;
	background-color: #004190;
}
.btn-c {
	border-color: #aac3dd;
	background-color: #aac3dd;
}
.btn-c:hover,
.btn-c:focus {
	border-color: #5588bb;
	background-color: #5588bb;
}
.btn-d {
	color: #004190;
	border-color: #aac3dd;
	background-color: transparent;
}

.btn-d:hover,
.btn-d:focus {
	color: #000;
	border-color: #000;
	background-color: transparent;
}
.btn.disable,
.btn.disable:hover,
.btn.disable:focus {
	color: #fff;
	border-color: #ddd;
	background-color: #ddd;
	pointer-events: none;
}
.btn.block {
	display: block;
	width: 100%;
}
.btn.expand {
	color: #004190;
	border-color: #bbccdd;
	background-color: #bbccdd;
}
.btn.expand:hover,
.btn.expand:focus {
	color: #002266;
	border-color: #aac3dd;
	background-color: #aac3dd;
}
.btn.expand:hover:after,
.btn.expand:focus:after {
	border-color: #002266;
}
/* button size */
.btn.sm {
	font-size: 14px;
	line-height: 40px;
	height: 40px;
	min-width: 140px;
}

.btn img {
	vertical-align: middle;
	margin-bottom: 2px;
	margin-left: 2px;
}
.btn:hover img {
	filter: grayscale(100%);
} 
/*
* Panel
*/
.panel {
	border: 1px solid #aac3dd;
	border-radius: 3px;
	overflow: hidden;
}
.panel-heading {
	font-size: 18px;
	line-height: 34px;
	letter-spacing: 0.05em;
	padding: 7px 20px;
	border-bottom: 1px solid #aac3dd;
	margin-bottom: -1px;
	color: #004190;

	cursor: pointer;
}
.panel-body {
	padding: 15px 20px;
}
.panel-footer {
	text-align: center;
	line-height: 34px;
	padding: 7px 20px;
	letter-spacing: 0.05em;
}
/* dropdown panel */
.panel.dropdown .expand {
	float: right;
	color: #004190;
	font-size: 13px;
}
.panel.dropdown .expand span:last-child {
	display: none;
}
.panel.dropdown.active .expand span:first-child {
	display: none;
}
.panel.dropdown.active .expand span:last-child {
	display: inline;
}
.panel.dropdown:hover,
.panel.dropdown:hover .panel-heading,
.panel.dropdown:hover .expand,
.panel.dropdown:hover .expand:after {
	color: #000;
	border-color: #000;
}
.panel.dropdown.active {
	border-color: #666;
}
.panel.dropdown.active .panel-heading {
	color: #000;
	border-color: #ccc;
}
.panel.dropdown.active .expand {
	color: #004190;
}
.panel.dropdown.active:hover .panel-heading {
	color: #004190;
}
.panel.dropdown.active .expand:after {
	border-color: #004190;
	margin-right: -1px;
	margin-left: 3px;
	-webkit-transform: rotate(-135deg) translateX(-3px);
	   -moz-transform: rotate(-135deg) translateX(-3px);
	    -ms-transform: rotate(-135deg) translateX(-3px);
	     -o-transform: rotate(-135deg) translateX(-3px);
	        transform: rotate(-135deg) translateX(-3px);
}
.page-head-container {
	padding-top: 80px;
}
.page-heading {
	border: 1px solid #cccccc;
	background-color: #ffffff;
	border-radius: 4px;
	font-size: 20px;
	letter-spacing: 0.1em;
	height: 60px;
	line-height: 60px;
	color: #004190;
	padding-left: 20px;
}


a.ext-link:before {
	content: '';
	display: inline-block;
	width: 9px;
	height: 8px;
	background-image: url('../images/external.png');
	margin-right: 11px;
}
a.ext-link:hover:before {
	background-position: 100% 0;
}
/* 
* .res-img use to show/hide image when responsive.
* inside this just only have two img tag (the first for PC and the last for SP)
*/
.res-img img:last-child {
	display: none;
}
.sp-only {
	display: none;
}

.container {
	width: 960px;
	max-width: 100%;
	margin: 0 auto;
}

.container .row-with-gutters:after {
	content: '';
	display: block;
	clear: both;
}

.container .row-with-gutters .col-half {
	width: 50%;
	float: left;
}
.container .row-with-gutters .col-half.odd {
	padding-right: 10px;
}
.container .row-with-gutters .col-half.even {
	padding-left: 10px;
}
a.external:before {
	content: '';
	display: inline-block;
	width: 9px;
	height: 8px;
	margin-right: 9px;
	vertical-align: middle;
	background-image: url('../images/external.png');
}
a.external:hover:before {
	background-position: 0 100%;
}
.download-card {
	display: block;
	font-weight: bold;
	border: 1px solid #aac3dd;
	border-radius: 4px;
	text-decoration: none;

	padding-top: 15px;
	padding-bottom: 19px;
	padding-left: 78px;

	background-image: url('../images/pdf_icon.png');
	background-repeat: no-repeat;
	background-position: 16px 16px;

	cursor: pointer;
}
.download-card span {
	display: block;
	font-size: 14px;
	line-height: 24.5px;
	margin-top: 1px;
	cursor: pointer;
}
.download-card .label {
	font-size: 17px;
	line-height: 29.75px;
	margin-top: 0;
	cursor: pointer;
}

.download-card:hover {
	border-color: #000;
}

.trcs-card {
	display: block;
	font-weight: bold;
	border: 1px solid #aac3dd;
	border-radius: 4px;
	text-decoration: none;

	padding-top: 15px;
	padding-bottom: 19px;
	padding-left: 78px;

	background-image: url('../images/pdf_icon.png');
	background-repeat: no-repeat;
	background-position: 16px 16px;
}
.trcs-card span {
	display: block;
	font-size: 14px;
	line-height: 24.5px;
	margin-top: 1px;
}
.trcs-card .label {
	font-size: 17px;
	line-height: 29.75px;
	margin-top: 0;
}

.trcs-card:hover {
	border-color: #000;
}