@charset "utf-8";
/*
 * サイト共通装飾に関する共通のCSS
 */

/* ヘッダlayout */

#c_header,
.c_header02{
	background-color: #041666;
}
.c_header-area{
	position: relative;
	background-image: url(../img/header-footer/header_bg.jpg);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 20px 2%: 20px 0;
}

.c_header-logo{
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: white;
	border-radius: 0 0 100px 0;
	-webkit-border-radius: 0 0 100px 0;
	-moz-border-radius: 0 0 100px 0;
	padding: 0px 80px 0px 2%;
	z-index: 3;
}

.c_header-menu{
	display: -webkit-flex;
	display: flex;
	justify-content: flex-end;
	padding: 20px 2% 20px 0;
}
.c_header-menu li{
	position: relative;
	padding-right: 50px;
	text-shadow: 1px 2px 3px #303030;
}
.c_header-menu li:last-child{
	padding-right: 0px;
}
.c_header-menu li::before{
	content: '';
	position: absolute;
	top: 25%;
	right: 25px;
	display: block;
	background-color: white;
	width: 1px;
	height: 50%;
}
.c_header-menu li:last-child::before{
	display: none;
}
.c_header-menu li a{
	font-size: 18px;
	font-weight: 700;
	color: white;
}
.c_header-menu li a:hover{
	color: white;
	text-decoration: none;
}
.c_header-menu li a{
	overflow: hidden;
	display: block;
	position: relative;
	background: transparent;
	z-index: 1;
	transition: .3s;
}
.c_header-menu li a::before{
	content: "";
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	background: white;
	width: 100%;
	height: 1px;
	z-index: -1;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .3s;
}
.c_header-menu li a:hover::before{
	transform-origin: 0% 50%;
	transform: scaleX(1);
}
.c_header-menu li .active::before{
	transform: scaleX(1);
}

.c_header-bt{
	padding: 0 2% 20px 0;
	text-align: right;
}
.c_header-bt a{
	overflow: hidden;
	display: inline-block;
	position: relative;
	background: transparent;
	border: white solid 2px;
	background-color: #046629;
	padding: 4px 10px 6px 10px;
	font-weight: 700;
	color: white;
	z-index: 1;
	transition: .3s;
}
.c_header-bt a i{
	position: relative;
	top: 2px;
	font-size: 26px;
}
.c_header-bt a:hover{
	color: white;
	text-decoration: none;
}
.c_header-bt a::before{
	content: "";
	top: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	background: #003916;
	width: 100%;
	height: 100%;
	z-index: -1;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .3s;
}
.c_header-bt a:hover::before{
	transform-origin: 0% 50%;
	transform: scaleX(1);
}
@media screen and (min-width: 1000px) and (max-width: 1280px) {
	.c_header-logo{
		width: 25%;
		padding: 0px 40px 0px 2%;
	}
	.c_header-logo img{
		position: relative;
		top: -5px;
	}
	
	.c_header-menu{
		padding: 20px 2% 20px 0;
	}
	.c_header-menu li{
		padding-right: 30px;
	}
	.c_header-menu li::before{
		right: 15px;
	}
	.c_header-menu li a{
		font-size: 17px;
	}

	.c_header-bt{
		padding: 0 2% 20px 0;
	}
	.c_header-bt a{
		font-size: 15px;
	}
	.c_header-bt a i{
		top: 2px;
		font-size: 22px;
	}
}
@media screen and (min-width: 768px) and (max-width: 999px) {
	.c_header-logo{
		width: 20%;
		padding: 0px 30px 0px 1%;
	}
	.c_header-logo img{
		position: relative;
		top: -7px;
	}
	
	.c_header-menu{
		padding: 15px 2% 20px 0;
	}
	.c_header-menu li{
		padding-right: 20px;
	}
	.c_header-menu li::before{
		right: 10px;
	}
	.c_header-menu li a{
		font-size: 14px;
	}

	.c_header-bt{
		padding: 0 2% 15px 0;
	}
	.c_header-bt a{
		font-size: 15px;
	}
	.c_header-bt a i{
		top: 2px;
		font-size: 22px;
	}
}
@media print{
	.c_header-logo{
		width: 19%;
		padding: 0px 20px 0px 1%;
	}
	.c_header-logo img{
		position: relative;
		top: -7px;
	}
	
	.c_header-menu{
		padding: 15px 2% 20px 0;
	}
	.c_header-menu li{
		padding-right: 14px;
	}
	.c_header-menu li::before{
		right: 7px;
	}
	.c_header-menu li a{
		font-size: 12px;
	}

	.c_header-bt{
		padding: 0 2% 15px 0;
	}
	.c_header-bt a{
		font-size: 13px;
	}
	.c_header-bt a i{
		top: 2px;
		font-size: 18px;
	}
}
@media screen and (max-width: 767px) {
	#c_header,
	.c_header02{
		display: none;
	}
}


/* 下層ページヘッダlayout */
.c_promo{
	box-sizing: padding-box;
	position: relative;
	padding: 0;
	height: 320px;
}
.c_promo-text{
	position: absolute;
	top: 80px;
	left: 0;
	padding: 30px 0;
	width: 100%;
	font-size: 26px;
	font-weight: 700;
	color: white;
	text-shadow:0 0 10px #0c0c0c;
	z-index: 1;
}
.c_promo-text h2{
	font-size: 26px;
}
.c_promo-text::before{
	content: "";
	top: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	background: linear-gradient(90deg, rgba(104,115,163,1) 80%,rgba(104,115,163,0));
	margin-left: -1800px;
	width: 3000px;
	height: 100%;
	z-index: -1;
}

.c_promo-bg{
	margin: 0;
	width: 100%;
	height: 320px;
}
.c_promo-bg img{
	width: 100%;
	height: 320px;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_promo{
		height: 260px;
	}
	.c_promo-text{
		top: 80px;
		padding: 24px 0;
	}
	.c_promo-text h2{
		font-size: 22px;
	}
	.c_promo-text::before{
		margin-left: 0px;
		width: 86%;
	}
	
	.c_promo-bg{
		height: 260px;
	}
	.c_promo-bg img{
		height: 260px;
	}
}
@media print{
	.c_promo{
		height: 220px;
	}
	.c_promo-text{
		top: 70px;
		padding: 20px 0;
	}
	.c_promo-text h2{
		font-size: 19px;
	}
	.c_promo-text::before{
		margin-left: 0px;
		width: 86%;
	}
	
	.c_promo-bg{
		height: 220px;
	}
	.c_promo-bg img{
		height: 220px;
	}
}
@media screen and (max-width: 767px) {
	.c_promo{
		height: 220px;
	}
	.c_promo-text{
		position: absolute;
		top: 110px;
		left: 0;
		padding: 10px 0;
		width: 100%;
		font-size: 16px;
	}
	.c_promo-text h2{
		font-size: 16px;
	}
	.c_promo-text::before{
		margin-left: 0px;
		width: 100%;
	}
	
	.c_promo-bg{
		height: 220px;
	}
	.c_promo-bg img{
		height: 220px;
	}
}


/* フッタlayout */
.c_footer-con01{
	display: table;
	padding: 80px 0;
	color: white;
}
.c_footer-con01 .con01_left{
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
.c_footer-con01 .con01_right{
	overflow: hidden;
	display: table-cell;
	width: 50%;
	vertical-align: top;
}

.c_footer-list01{
	float: left;
	width: 50%;
}
.c_footer-list01 li{
	padding-bottom: 10px;
}
.c_footer-list01 li:last-child{
	padding-bottom: 0px;
}
.c_footer-list01 li a{
	position: relative;
	padding-left: 24px;
	color: white;
}
.c_footer-list01 li a::before{
	content: '';
	position: absolute;
	top: 50%;
	left:  0px;
	display: block;
	background-color: white;
	width: 16px;
	height: 1px;
	z-index: 3;
}

.c_copy{
	padding-bottom: 60px;
	margin: 0;
	font-size: 14px;
	color: white;
	text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_footer-con01{
		padding: 60px 0;
	}
	.c_footer-con01 .con01_left{
		width: 46%;
	}
	.c_footer-con01 .con01_right{
		width: 54%;
	}
	
	.c_footer-list01{
		float: left;
		width: 50%;
	}
	.c_footer-list01 li{
		padding-bottom: 10px;
	}
	.c_footer-list01 li a{
		padding-left: 22px;
		font-size: 14px;
		line-height: 1.4;
	}
	.c_footer-list01 li a::before{
		width: 14px;
	}
	
	.c_copy{
		padding-bottom: 40px;
		font-size: 13px;
	}
}
@media print{
	.c_footer-con01{
		padding: 60px 0;
	}
	.c_footer-con01 .con01_left{
		width: 46%;
	}
	.c_footer-con01 .con01_right{
		width: 54%;
	}
	
	.c_footer-list01{
		float: left;
		width: 50%;
	}
	.c_footer-list01 li{
		padding-bottom: 10px;
	}
	.c_footer-list01 li a{
		padding-left: 20px;
		font-size: 12px;
		line-height: 1.4;
	}
	.c_footer-list01 li a::before{
		width: 12px;
	}
	
	.c_copy{
		padding-bottom: 40px;
		font-size: 11px;
	}
}
@media screen and (max-width: 767px) {
	.c_footer-con01{
		display: block;
		padding: 40px 0;
	}
	.c_footer-con01 .con01_left{
		display: block;
		padding: 0 4%;
		margin-bottom: 20px;
		width: auto;
	}
	.c_footer-con01 .con01_right{
		display: block;
		width: auto;
	}
	
	.c_footer-list01{
		float: none;
		width: auto;
	}
	.c_footer-list01 li{
		float: left;
		padding-bottom: 0px;
		width: 50%;
	}
	.c_footer-list01 .list01_home{
		border-top: white solid 1px;
		width: 100%;
	}
	.c_footer-list01 li:last-child{
		padding-bottom: 0px;
	}
	.c_footer-list01 li a{
		display: block;
		border-bottom: white solid 1px;
		padding: 8px 0;
		font-size: 14px;
		text-align: center;
	}
	.c_footer-list01 li:nth-child(2n) a{
		border-right: white solid 1px;
	}
	.c_footer-list01 li a::before{
		display: none;
	}
	
	.c_copy{
		padding-bottom: 40px;
	}
}


/* ポリシーlayout */
.c_policy{
	overflow: hidden;
	overflow-y: scroll;
	padding: 15px;
	height: 420px;
}
.c_policy.no_scroll{
	overflow-y: hidden;
	height: auto;
}
.c_policy .policy_tit{
	text-align: center;
}
.c_policy .policy_tit span{
	display: inline-block;
	background-image: url(../img/common/line_dot01.png);
	background-position: center bottom;
	background-repeat: repeat-x;
	padding: 0 20px 10px 20px;
	font-size: 20px;
}

.c_policy .policy_txt{
	overflow: hidden;
}
.c_policy .policy_txt dt{
	display: inline-block;
	border: #333333 solid 1px;
	border-radius: 100px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	padding: 0 30px;
	margin-bottom: 10px;
}
.c_policy .policy_txt dd{
	display: block;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.c_policy{
		overflow: hidden;
		overflow-y: scroll;
		padding: 15px;
		height: 360px;
	}
	.c_policy .policy_tit span{
		font-size: 18px;
	}

	.c_policy .policy_txt dt{
		padding: 0 20px;
	}
}
@media print{
	.c_policy{
		overflow-y: inherit;
		padding: 10px;
		height: auto;
	}
	.c_policy .policy_tit span{
		font-size: 16px;
	}

	.c_policy .policy_txt dt{
		padding: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.c_policy{
		padding: 10px;
		height: 280px;
	}
	.c_policy .policy_tit span{
		font-size: 16px;
	}

	.c_policy .policy_txt dt{
		padding: 0 16px;
	}
}


/* テーブルlayout */
.vertic_top{vertical-align: top;}
.vertic_mid{vertical-align: middle;}
.vertic_bot{vertical-align: bottom;}

.table_nor{/* 通常テーブル */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  border-top: #06286c solid 1px !important;
  border-left: #06286c solid 1px !important;
	width: 100%;
}
.table_nor tbody tr th{
	background-color: #214b9f;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	padding: 12px 15px;
	color: white;
}
.table_nor tbody tr td{
	background-color: white;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	padding: 12px 15px;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.table_nor tbody tr th{
		font-size: 14px;
	}
	.table_nor tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_nor tbody tr th{
		font-size: 12px;
	}
	.table_nor tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_nor tbody tr th{
		display: block;
		width: auto;
		font-size: 14px;
	}
	.table_nor tbody tr td{
		display: block;
		width: auto;
		font-size: 14px;
	}
}

.table_bg{/* 背景色のみ構成 */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
	width: 100%;
}
.table_bg tbody tr th{
	background-color: #041666;
	border-right: white solid 5px;
	border-bottom: white solid 5px;
	font-weight: normal;
	padding: 14px 15px;
	color: white;
	vertical-align: top;
}
.table_bg tbody tr td{
	background-color: #f2f4ff;
	border-bottom: white solid 5px;
	padding: 14px 15px;
	vertical-align: top;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.table_bg tbody tr th{
		font-size: 14px;
	}
	.table_bg tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_bg tbody tr th{
		font-size: 12px;
	}
	.table_bg tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_bg tbody tr th{
		display: block;
		border-right: white solid 0px;
		border-bottom: white solid 0px;
		width: auto;
		font-size: 14px;
	}
	.table_bg tbody tr td{
		display: block;
		width: auto;
		font-size: 14px;
	}
}

.table_ubar{/* 下線のみ構成 */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
	width: 100%;
}
.table_ubar tbody tr th{
	position: relative;
	overflow: hidden;
	font-weight: normal;
	padding: 14px 15px;
	vertical-align: top;
}
.table_ubar tbody tr th::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0px;
	display: block;
	background-color: #d65a25;
	width: 96%;
	height: 2px;
}
.table_ubar tbody tr td{
	position: relative;
	overflow: hidden;
	padding: 14px 15px;
	vertical-align: top;
}
.table_ubar tbody tr td::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0px;
	display: block;
	background-color: #f0c3af;
	width: 100%;
	height: 2px;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.table_ubar tbody tr th{
		font-size: 14px;
	}
	.table_ubar tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_ubar tbody tr th{
		font-size: 12px;
	}
	.table_ubar tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_ubar tbody tr th{
		display: block;
		background-color: #d65a25;
		width: auto;
		font-size: 14px;
		color: white;
	}
	.table_ubar tbody tr th::before{
		display: none;
	}
	.table_ubar tbody tr td{
		display: block;
		width: auto;
		font-size: 14px;
	}
	.table_ubar tbody tr td::before{
		display: none;
	}
}

.table_nor-sp{/* 通常テーブル */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  border-top: #06286c solid 1px !important;
  border-left: #06286c solid 1px !important;
	width: 100%;
}
.table_nor-sp thead tr th{
	background-color: #214b9f;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	padding: 16px 15px;
	color: white;
}
.table_nor-sp tbody tr th{
	background-color: #4e73be;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	color: white;
}
.table_nor-sp tbody tr td{
	background-color: white;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
}
.table_nor-sp tbody tr th .pc_txt,
.table_nor-sp tbody tr td .pc_txt{
	display: block;
	padding: 12px 15px;
}
.table_nor-sp tbody tr th .sp_txt,
.table_nor-sp tbody tr td .sp_txt{
	display: none;
}
@media screen and (min-width: 768px) and (max-width: 1139px) {
	.table_nor-sp thead tr th{
		font-size: 15px;
	}
	.table_nor-sp tbody tr th{
		font-size: 14px;
	}
	.table_nor-sp tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_nor-sp thead tr th{
		font-size: 13px;
	}
	.table_nor-sp tbody tr th{
		font-size: 12px;
	}
	.table_nor-sp tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_nor-sp thead tr th{
		display: none;
	}
	.table_nor-sp tbody tr th{
		overflow: hidden;
		display: block;
		background: linear-gradient(90deg, #4e73be 0%, #4e73be 28%, white 28%, white 100%);
		width: auto;
		font-size: 14px;
	}
	.table_nor-sp tbody tr td{
		overflow: hidden;
		display: block;
		background: linear-gradient(90deg, #4e73be 0%, #4e73be 28%, white 28%, white 100%);
		width: auto;
	}
	.table_nor-sp tbody tr:nth-child(2n) th,
	.table_nor-sp tbody tr:nth-child(2n) td{/* 交互に背景色変更 */
		background: linear-gradient(90deg, #4fbf70 28%, #4fbf70 0%, white 28%, white 100%);
	}
	.table_nor-sp tbody tr th .pc_txt,
	.table_nor-sp tbody tr td .pc_txt{
		display: inline-block;
		float: right;
		padding: 10px 5px;
		width: 70%;
		font-size: 12px;
		color: #171717;
	}
	.table_nor-sp tbody tr th .sp_txt,
	.table_nor-sp tbody tr td .sp_txt{
		display: inline-block;
		float: left;
		padding: 10px 5px;
		width: 28%;
		font-size: 11px;
		color: white;
	}
}

/* SP時にスクロールバーを出す場合 */
.table_nor-ns{/* 通常テーブル */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  border-top: #06286c solid 1px !important;
  border-left: #06286c solid 1px !important;
	width: 100%;
}
.table_nor-ns thead tr th{
	background-color: #214b9f;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	padding: 16px 15px;
	color: white;
}
.table_nor-ns tbody tr th{
	background-color: #4e73be;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	padding: 12px 15px;
	font-weight: normal;
	color: white;
}
.table_nor-ns tbody tr td{
	background-color: white;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	padding: 12px 15px;
}
@media screen and (max-width: 767px) {
	.scroll_table{
	  overflow: auto;
	  white-space: nowrap;
	}
	.scroll_table::-webkit-scrollbar{　　
	 height: 5px;
	}

	.scroll_table .table_nor-ns{
		width: 800px;
	}
	.scroll_table .table_nor-ns thead tr th{
		width: auto !important;
	}
}

