@charset "UTF-8";

body{
	height: auto;
	background-color: #e9e9e9;
}
/******************************************************************************
	overwrite
******************************************************************************/
body > footer{
	margin-top: 0;
}
/******************************************************************************
	header
******************************************************************************/
body > header{
	margin: 0 auto 60px;
	background-color: #fff;
}
body > header .inner{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 1300px;
	height: 180px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 60px;
}
body > header .inner p:first-of-type{
	width: 114px;
	margin: 0 50px 0 0;
}
body > header .inner p:last-of-type{
	width: 213px;
}
body > header .inner p a{
	transition-duration : 0.3s ;
}
body > header .inner p a:hover{
	opacity: 0.5;
}
/******************************************************************************
	common
******************************************************************************/
main{
	box-sizing: border-box;
	width: 1120px;
	max-width: calc(100% - 60px);
	background-color: #fff;
	padding: 60px 60px 0;
	font-size: 24px;
}
main a{
	color: #0a4a5d;
	text-decoration: underline;
	transition-duration : 0.3s ;
}
main a:hover{
	color: #C3002F;
}
main section{
	margin-bottom: 90px;
}
main section:last-of-type{
	margin-bottom: 0;
}
main section h1,
main section h2{
	line-height: 140%;
}
main section h1{
	margin-bottom: 45px;
	font-size: 38px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	text-align: center;
}
main section h2{
	margin-bottom: 30px;
	padding-left: 20px;
	border-left: #53768c 6px solid;
	font-family: ShinGoPro-Bold,sans-serif !important;
}
main section h3{
	margin-bottom: 15px;
	font-family: ShinGoPro-Bold,sans-serif !important;
}
main section > p{
	margin-bottom: 45px;
	line-height: 200%;
	text-indent: 1em;
}
main section > p strong{
	font-family: ShinGoPro-Bold,sans-serif !important;
}
main section > p:last-child{
	margin-bottom: 0;
}
main section > p.subtitile{
	width: fit-content;
	margin: 0 auto 15px;
	padding: 0 30px;
	background-color: #53768c;
	border-radius: 10px;
	color: #fff;
	font-size: 32px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	line-height: 180%;
	text-indent: 0;
}
main section blockquote,
main section figure,
main section ul.attention{
	margin-bottom: 45px;
}
main section p + blockquote,
main section p + figure{
	margin-top: 45px;
}
main section figure > a{
	position: relative;
	display: flex;
}
main section figure > a:hover{
	opacity: 0.5;
}
main section figure > a:after{
	content: " ";
	position: absolute;
	right: 10px;
	top: 10px;
	width: 38px;
	height: 38px;
	background: url("../IMAGES/ico_zoom.svg") center center no-repeat;
	background-size: contain;
}
main section figure figcaption{
	padding: 15px;
	background-color: #ededed;
	text-align: center;
	font-size: 20px;
	line-height: 140%;
}
main section figure figcaption span{
	display: block;
	font-size: 18px;
}
main section figure figcaption span.credits{
	text-align: right;
}
main section blockquote{
	position: relative;
	padding: 45px 60px;
	background: #eee;
}
main section blockquote:before{
	content: "”";
	position: absolute;
	left: 10px;
	top: 0;
	font-size: 120px;
	font-family: arial;
	line-height: 0;
	transform: rotate(180deg);
	opacity: 0.3;
}
main section blockquote:after{
	content: "”";
	position: absolute;
	right: 10px;
	bottom: 0;
	font-size: 120px;
	font-family: arial;
	line-height: 0;
	opacity: 0.3;
}
main section blockquote p{
	margin: 0 0 30px;
	line-height: 200%;
}
main section blockquote p:last-of-type{
	margin: 0;
}
main section ul.attention li{
	line-height: 140%;
}
main section ol.number > li{
	position: relative;
	margin: 0 0 45px;
	line-height: 200%;
	padding-left: 1em;
}
main section ol.number > li > span{
	position: absolute;
	left: 0;
}
main section ol.number > li > figure{
	margin: 45px 0 0;
}
/***** .contact *****/
main section .contact{
	margin-top: 45px;
	padding: 45px 30px;
	background-color: #ededed;
	text-align: center;
}
main section .contact p{
	font-size: 20px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	line-height: 140%:
}
main section .contact p strong,
main section .contact p b{
	font-size: 24px;
	font-family: ShinGoPro-Bold,sans-serif !important;
}
main section .contact p strong{
	color: #c3092f;
}
main section .contact p.btn{
	width: 580px;
	max-width: 100%;
	margin: 20px auto 0;
}
main section .contact p.btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	background: #c3092f url("../IMAGES/ico_arrow_btn.svg") right 30px center no-repeat;
	border-radius: 10px;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	box-shadow: 0 6px 0 0 rgba(0,0,0,0.1);
}
main section .contact p.btn a:hover{
	opacity: 0.5;
}
/***** .profile *****/
main section figure.profile{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	background-color: #ededed;
}
main section figure.profile img{
	max-width: 200px;
}
main section figure.profile figcaption{
	flex: 1;
	padding: 15px 20px;
	text-align: left;
	font-size: 18px;
	line-height: 140%;
}

main section table {
	border-spacing: 0;
	width: 100%;
	margin-bottom: 1.6em;
}
main section table th,
main section table td {
	text-align: center;
	border-top: 1px solid #707070;
	border-left: 1px solid #707070;
	padding: 0.8em 0.4em;
}
main section table th:last-child,
main section table td:last-child {
	border-right: 1px solid #707070;
}
main section table th.border-bottom,
main section table td.border-bottom {
	border-bottom: 1px solid #707070;
}
main section table th {
	font-size: 0.8em;
}
main section table td {
	font-size: 0.68em;
}
main section table th.bg-red {
	color: #fff;
	background-color: #C3002F !important;
}
main section table td.bg-red {
	background-color: #fff1f8 !important;
}
main section table th small,
main section table td small {
	font-size: 70%;
}

main section table thead th {
	background-color: #ccc;
}
main section table thead th.blank {
	background-color: transparent;
	border: none;
}

main section table tbody tr th {
	font-size: 0.7em;
}
main section table tbody tr:not(:first-child) th {
	font-size: 0.68em;
}
main section table tbody tr:first-child th {
	background-color: #EDEDED;
}
main section table tbody tr:last-child th,
main section table tbody tr:last-child td {
	border-bottom: 1px solid #707070;
}
main section .table-block {
	margin-top: 1em;
	margin-bottom: 1em;
}
main section .table-block p {
	font-size: 0.68em;
	margin-top: -1.2em;
}
/******************************************************************************
	main > footer
******************************************************************************/
main > footer{
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-flow: wrap;
	min-height: 60px;
	padding: 10px 60px;
	margin: 60px -60px 0;
	border-top: #e9e9e9 6px solid;
}
main > footer p{
	padding-left: 1em;
	font-size: 14px;
	text-indent: -1em;
	line-height: 120%;
}
/******************************************************************************
	nav.contents
******************************************************************************/
main nav.contents{
	padding: 30px;
	margin-bottom: 90px;
	border: #b4b4b4 1px solid;
}
main nav.contents ol li{
	margin: 15px 0 0 2em;
	line-height: 140%;
	list-style-type: decimal;
}
/******************************************************************************
	#floatingBNR
******************************************************************************/
main #floatingBNR{
	position: fixed;
	display: flex;
	flex-direction: column;
	align-items: center;
	left: 0;
	bottom: -200px;
	width: 100%;
	padding: 20px 0;
	background: rgba(0,0,0,0.7);
	color: #fff;
	z-index: 9999;
	transition-duration: 0.3s ;
}
main #floatingBNR p{
	font-size: 20px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	line-height: 140%:
}
main #floatingBNR p strong,
main #floatingBNR p b{
	font-size: 24px;
	font-family: ShinGoPro-Bold,sans-serif !important;
}
main #floatingBNR p strong{
	color: #f8013d;
}
main #floatingBNR p.btn{
	width: 580px;
	max-width: 100%;
	margin: 20px auto 0;
}
main #floatingBNR p.btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	background: #c3092f url("../IMAGES/ico_arrow_btn.svg") right 30px center no-repeat;
	border-radius: 10px;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	box-shadow: 0 6px 0 0 rgba(0,0,0,0.1);
	transition-duration: 0.3s ;
}
main #floatingBNR p.btn a:hover{
	opacity: 0.7;
}
main #floatingBNR.show{
	bottom: 0;
}
