@charset "UTF-8";

/*******************************************************************************
 * テーマカラーの設定
 *******************************************************************************/
:root{
	--main-header-color:		#E40001;		/* ヘッダー背景色 */
/*	--main-header-color:		#1f2c5b;		*//*ヘッダー背景色 */
	--main-header-font:			#000000;		/* ヘッダー文字色 */
	--main-header-line:			#19448e;		/* ユーザー情報表示エリアの背景色 */
	--main-header-border:		#919191;		/* ヘッダー境界線色 */
	--main-user-info-font:		#ffffff;		/* ユーザー情報表示エリアの文字色 */
	--main-contact-color:		#316745;		/* お問い合わせ背景色 */
	--main-contact-font:		#ffffff;		/* お問い合わせ文字色 */
	--main-logout-color:		#1f2c5b;		/* ログアウト背景色 */
	--main-logout-font:			#ffffff;		/* ログアウト文字色 */
	--main-bg-color:			#f3f3f3;			/* 本文領域の背景色 */
	--main-bg-stripe:			#fafafa;		/* 本文領域の背景(ストライプ)色(ログイン画面のみ利用) */
	--main-font-color:			#333;			/* 本文領域の基本文字色 */

	--main-menu-bar-color:		#19448e;		/* メニューバーの背景色 */
	--main-menu-color:			#1e50a2;		/* メニューの背景色 */
	--main-menu-hover-color:	#1e50a2;		/* メニューのHover背景色 */
	--main-menu-font:			#ffffff;		/* メニューの文字色 */
	--main-menu-active-color:	#eaf2eb;		/* アクティブなメニューの背景色 */
	--main-menu-active-font:	#15bbde;		/* アクティブなメニューの背景色 */
	--main-sub-menu-hover-font:	#ededed;		/* 階層メニューのHover文字色 */

	--main-coution-line-color:	#e25a5a;		/* 注意文言枠の境界線色 */
	--main-coution-color:		#f9a7a4;		/* 注意文言枠の背景色 */
	--main-coution-stripe:		#e06464;		/* 注意文言枠の背景(ストライプ)色 */

	--main-table-header-color:	#E40001;		/* テーブルヘッダー背景色 */
/*	--main-table-header-color:	#1c305c;		*//* テーブルヘッダー背景色 */

	--main-table-odd-color:		#ffffff;		/* テーブル奇数行背景色 */
	--main-table-even-color:	#ededed;		/* テーブル偶数行背景色 */
	--main-table-line:			#d9d9d9;		/* テーブルの罫線 */
}

/*******************************************************************************
 * 設定のリセット
 *******************************************************************************/
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, em, img, small, strong, var, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin:						0;
	padding:					0;
	border:						0;
	outline:					0;
	font-size:					100%;
	font-style:					normal;
	font-weight:				normal;
	vertical-align:				baseline;
	background:					transparent;
}

/*********************************************************************
 * IE対応
 *********************************************************************/
html {
	display:					-webkit-box;
	display:					-ms-flexbox;
	display:					-webkit-flex;
	display:					flex;
	flex-direction:				column;
}

/*********************************************************************
 * セクション
 *********************************************************************/
article, aside, figcaption, figure, footer, header,  menu, nav, section {
	display:					block;
}

/*********************************************************************
 * リスト
 *********************************************************************/
ul {
	list-style:					none;
}

/*********************************************************************
 * リンク
 *********************************************************************/
a {
	margin:						0;
	padding:					0;
	font-size:					100%;
	vertical-align:				baseline;
	background:					transparent;
}
a:link,a:visited {
	color:						#333;
	text-decoration:			none;
}
a:hover,a:active {
	text-decoration:			none;
}

/*********************************************************************
 * テーブル
 *********************************************************************/
table {
	border-collapse:			collapse;
	border-spacing:				0;
}

/*********************************************************************
 * 入力系
 *********************************************************************/
input, select, textarea {
	vertical-align:				middle;
	margin:						0;
	padding:					0;
	background:					none;
	border:						none;
	border-radius:				0;
	outline:					none;
	-webkit-appearance:			none;
	-moz-appearance:			none;
	appearance:					none;
	font-size:					12px;
}
select::-ms-expand {
    display:					none;
}
input::-ms-clear {
    visibility:					hidden
}

/*********************************************************************
 * 画像
 *********************************************************************/
img {
/*	max-width: 					100%; */
	height:						auto;
	border:						none;
	vertical-align:				middle;
}

/*********************************************************************
 * フォント設定
 *********************************************************************/
@font-face {
  font-family:					"Yu Gothic";
  src:							local("Yu Gothic Medium");
  font-weight:					100;
}
@font-face {
  font-family:					"Yu Gothic";
  src:							local("Yu Gothic Medium");
  font-weight:					200;
}
@font-face {
  font-family:					"Yu Gothic";
  src:							local("Yu Gothic Medium");
  font-weight:					300;
}
@font-face {
  font-family:					"Yu Gothic";
  src:							local("Yu Gothic Medium");
  font-weight:					400;
}
@font-face {
  font-family:					"Yu Gothic";
  src:							local("Yu Gothic Bold");
  font-weight:					bold;
}

/*******************************************************************************
 * サイト設定
 *******************************************************************************/
/*********************************************************************
 * ヘッダー
 *********************************************************************/
header {
	background:					var( --main-header-color );
/*	background:					#1c2c59; */

	padding:					20px;
	text-align:					center;
}
.header-logo{
	padding:					0px 20px 0px 0px;
}
/*
header img{
	width:						300px;
	height:						33px;
}
@media only screen and (max-width:800px) {
	header{
		display:				none;
	}
}
*/
/*********************************************************************
 * 本文
 *********************************************************************/
body {
	width:						100%;
	min-height:					110vh;
	display:					-webkit-box;
    display:					-ms-flexbox;
    display:					-webkit-flex;
    display:					flex;
	flex-direction:				column;
	background:					var( --main-bg-color );
/* 	background-image:			repeating-linear-gradient( -45deg, var( --main-bg-stripe ), var( --main-bg-stripe ) 7px, transparent 0, transparent 14px ); */
	font-size:					16px;
	font-family:				"Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	line-height:				1.6;
	color:						var( --main-font-color );
}
@media all and (-ms-high-contrast:none) {
	body {
		font-family:			"メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
}
@media only screen and (max-width: 800px) {
	body{
		min-width:				0px;
	}
}

/*******************************************************************************
 * コンテンツ
 *******************************************************************************/
.contents {
	position:					relative;
	display:					-webkit-box;
    display:					-ms-flexbox;
    display:					-webkit-flex;
    display:					flex;
    -webkit-box-pack:			justify;
    -ms-flex-pack:				justify;
    -webkit-justify-content:	space-between;
    justify-content:			space-between;
    flex-grow:					1;
}

.container {
	width:						1024px;
	margin:						0 auto;
	padding:					20px 0;
}

/*******************************************************************************
 * 進捗情報表示エリア
 *******************************************************************************/
.step-info {
	width:						100%;
	display:					flex;
	margin-bottom:				30px;
}
.step-info li {
	position:					relative;
	width:						calc(100% / 3);
	height:						40px;
	line-height:				40px;
	background:					#3498db;
	font-size:					16px;
	color:						#fff;
	text-align:					center;
	margin-left:				5px; 
	padding:					0 20px;
}
.step-info li::before {
	content:					"";  
	border-top:					20px solid transparent;
	border-bottom:				20px solid transparent;
	border-left:				20px solid #f3f3f3;
	position:					absolute;
	left:						0;
	top:						0;
}
.step-info li::after {
	content:					"";
	border-top:					20px solid transparent;
	border-bottom:				20px solid transparent;
	position:					absolute;
	right:						-20px;
	top:						0;
	z-index:					1;
}
.step-info li:nth-of-type(1) {
	background:					#2ac278;
}
.step-info li:nth-of-type(1)::after {
	border-left:				20px solid #2ac278;
}
.step-info li:nth-of-type(2) {
	background:					#ed697c;
}
.step-info li:nth-of-type(2)::after {
	border-left:				20px solid #ed697c;
}
.step-info li:nth-of-type(3) {
	background:					#15bbde;
}
.step-info li:nth-of-type(3)::after {
	border-left:				20px solid #15bbde;
}
.step-info li:nth-of-type(1)::before,
.step-info li:nth-of-type(3)::after {
	display:					none; 
}

/*******************************************************************************
 * 入力エリア
 *******************************************************************************/
.area-input,
.area-result {
	background:					#fff;
	border-radius:				10px;
	padding:					0px 30px;
}
.area-input dl {
	padding:					20px 0;
}
.area-input dl:first-of-type {
	border-bottom:				dotted 1px #d9d9d9;
}
.area-input dl {
	display:					table;
	width:						100%;
}
.area-input dl dt,
.area-input dl dd {
	display:					table-cell;
	vertical-align:				top;
}
.area-input dl dt {
	width:						15%;
}
.area-input dl dd {
	width:						85%;
}
.area-input dl dd input {
	-webkit-appearance:			none;
	-moz-appearance:			none;
	appearance:					none;
	border:						none;
	border:						solid 1px #ccc;
	border-radius:				3px;
	padding:					6px 10px;
}
.area-input dl dd ul li {
	margin-bottom:				20px;
}
.area-input dl dd ul {
	display:					flex;
	flex-wrap:					wrap;
	justify-content:			space-between;
	width:						100%;
}
.area-input dl dd ul li {
	width:						48%;
}
.area-input dl dd ul li input {
	width:						100%;
	box-sizing:					border-box;
}

/*******************************************************************************
 * ページタイトル
 *******************************************************************************/
.page-header {
	display:					-webkit-box;
    display:					-ms-flexbox;
    display:					-webkit-flex;
    display:					flex;
    -webkit-box-align:			center;
    -ms-flex-align:				center;
    -webkit-align-items:		center;
    align-items:				center;
    -webkit-box-pack:			justify;
    -ms-flex-pack:				justify;
    -webkit-justify-content:	space-between;
    justify-content:			space-between;
}

/*********************************************************************
 * タブ
 *********************************************************************/
label.panel-label {
	-webkit-user-select:		none;
	-moz-user-select:			none;
	-ms-user-select:			none;
	user-select:				none;
	display:					block;
	width:						100%;
/*	color:						#1f2c5b; */
	color:						var( --main-table-header-color );
	cursor:						pointer;
}
#panels section main {
	box-sizing:					border-box;
	max-height:					0;
	opacity:					0;
	overflow-y:					hidden;
}
#panel-ctrl01:checked ~ #panels #panel-inner01 main,
#panel-ctrl02:checked ~ #panels #panel-inner02 main,
#panel-ctrl03:checked ~ #panels #panel-inner03 main,
#panel-ctrl04:checked ~ #panels #panel-inner04 main,
#panel-ctrl05:checked ~ #panels #panel-inner05 main,
#panel-ctrl06:checked ~ #panels #panel-inner06 main,
#panel-ctrl07:checked ~ #panels #panel-inner07 main,
#panel-ctrl08:checked ~ #panels #panel-inner08 main,
#panel-ctrl09:checked ~ #panels #panel-inner09 main {
	max-height:					initial;
	opacity:					1;
	padding:					30px 0 0;
}

#panel-ctrl01:checked ~ .tabs-list #li-for-panel-inner01 label.panel-label,
#panel-ctrl02:checked ~ .tabs-list #li-for-panel-inner02 label.panel-label,
#panel-ctrl03:checked ~ .tabs-list #li-for-panel-inner03 label.panel-label,
#panel-ctrl04:checked ~ .tabs-list #li-for-panel-inner04 label.panel-label,
#panel-ctrl05:checked ~ .tabs-list #li-for-panel-inner05 label.panel-label,
#panel-ctrl06:checked ~ .tabs-list #li-for-panel-inner06 label.panel-label,
#panel-ctrl07:checked ~ .tabs-list #li-for-panel-inner07 label.panel-label,
#panel-ctrl08:checked ~ .tabs-list #li-for-panel-inner08 label.panel-label,
#panel-ctrl09:checked ~ .tabs-list #li-for-panel-inner09 label.panel-label {
/*	background-color:			#1f2c5b; */
	background-color:			var( --main-table-header-color );
	color:						#fff;
}

.tabs-list {
	display:					table;
	width:						100%;
	list-style:					none;
	font-size:					18px;
	margin:						0;
	padding:					0;
	text-align:					center;
}
.tabs-list li {
	display:					inline-table;
	width:						150px;
	height:						40px;
	line-height:				40px;
/*	border:						solid #1f2c5b; */
	border:						solid var( --main-table-header-color );
	background:					#fff;
	border-width:				2px 0 2px 2px;
	text-align:					center;
}
.tabs-list li:first-of-type {
	border-radius:				5px 0 0 5px;
}
.tabs-list li:last-of-type {
	border-radius:				0 5px 5px 0;
	border-width:				2px;
}
.panel-radios {
	display:					none;
}
.panel-height{
	min-height:					100px;
}

/*********************************************************************
 * 見出し
 *********************************************************************/
h2, h3, h4, h5 {
	font-weight:				bold;
}
.bottom-line {
	border-bottom:				solid 1px #ccc;
	font-size:					30px;
	padding-bottom:				8px;
}

/***********************************************************
 * 入力エリアの見出し
 ***********************************************************/
.ttl-belt {
	display:					-webkit-box;
    display:					-ms-flexbox;
    display:					-webkit-flex;
    display:					flex;
    -webkit-box-align:			center;
    -ms-flex-align:				center;
    -webkit-align-items:		center;
    align-items:				center;
    -webkit-box-pack:			justify;
    -ms-flex-pack:				justify;
    -webkit-justify-content:	space-between;
    justify-content:			space-between;
	font-size:					22px;
	background:					#e0e0e0;
	border-radius:				5px;
	color:						#666;
	padding:					8px 15px;
}

/*********************************************************************
 * フォントアイコン
 *********************************************************************/
.fo-header {
	font-size:					26px;
	font-weight:				normal;
 }

.fo-header > i::before {
	width:						40px;
	height:						40px;
	line-height:				40px;
	display:					inline-block;
	background:					#2ac278;
	border-radius:				50%;
	font-size:					20px;
	color:						#fff;
	text-align:					center;
	margin-right:				10px;
	position:					relative;
}

/*******************************************************************************
 * メニュー
 *******************************************************************************/
.navi {
	display:					flex;
	justify-content:			flex-start;
	flex-wrap:					wrap;
	margin:						10px auto;
}
.menu-type01-item {
	display:					block;
	width:						calc( ( 100% / 8 ) - 10px );
	background:					#ffffff;
    border-width:				20px 1px 1px 1px;
	border-style:				solid;
	border-radius:				20px 20px 20px 20px;
	padding:					15px;
	margin-left:				20px;
	margin-bottom:				14px;
	overflow:					hidden;
	transition:					.3s;
	text-align:					center;
	font-size:					16px;
	font-weight:				bold;
}

.menu-type01-item > figure {
	flex-shrink:				0;
	text-align:					center;
	margin-bottom:				10px;
}
.menu-type01-item > figure > img {
	width:						93px;
	height:						80px;
}
.menu-type01-item > figure > figcaption{
	font-size:					18px;
}
.menu-type02-item {
	display:					block;
	width:						calc( ( 100% / 7 ) - 10px );
	background:					#ffffff;
    border-width:				5px 0 0 5px;
	border-style:				solid;
	border-radius:				20px 0 20px 0;
	box-shadow:					0px 0px 6px -1px rgb( 0 0 0 / 20% );
	padding:					15px;
	margin-left:				20px;
	margin-bottom:				14px;
	overflow:					hidden;
	transition:					.3s;
	text-align:					center;
	font-size:					16px;
	font-weight:				bold;
}

.menu-type02-item > figure {
	flex-shrink:				0;
	text-align:					center;
	margin-bottom:				10px;
}
.menu-type02-item > figure > img {
	width:						93px;
	height:						80px;
}
.menu-type02-item > figure > figcaption{
	font-size:					18px;
}

.fig-sky {
	border-color:				rgba( 63, 154, 184, 0.6 );
	color:						rgba( 63, 154, 184 ) !important;
}
.fig-green {
	border-color:				rgba( 90, 186, 92, 0.6 );
	color:						rgba( 90, 186, 92 ) !important;
}
.fig-orange {
	border-color:				rgba( 234, 155, 28, 0.6 );
	color:						rgba( 234, 155, 28 ) !important;
}
.fig-pink {
	border-color:				rgba( 232, 94, 94, 0.6 );
	color:						rgba( 232, 94, 94 ) !important;
}
.fig-yellow {
	border-color:				rgba( 211, 205, 36, 0.6 );
	color:						rgba( 211, 205, 36 ) !important;
}
.fig-purple {
	border-color:				#9400d3;
	color:						#9400d3 !important;
}

@media only screen and (max-width:800px) {
	.menu-item {
		display:				block;
		width:					calc( 100% - 10px );
		background:				#ffffff;
		border-style:			solid;
		border-radius:			20px 0 20px 0;
		padding:				15px;
		margin-bottom:			14px;
		overflow:				hidden;
		transition:				.3s;
	}
}

/*******************************************************************************
 * 序文
 *******************************************************************************/
.inner-common{
	display:					block;
	background:					#ffffff;
	border-radius:				5px;
	padding:					15px 15px;
	font-size:					16px;
}

.coution{
	display:					block;
	border:						solid 5px var( --main-coution-line-color );
	background:					var( --main-coution-color );
	border-radius:				10px;
	padding:					20px 20px;
	font-size:					16px;
}

.inquire{
	display:					block;
	border:						solid 5px #4c4c4c;
	background:					#ffffff;
	border-radius:				10px;
	padding:					20px 20px;
	font-size:					16px;
}

/*******************************************************************************
 * 注意事項
 *******************************************************************************/

/*********************************************************************
 * 横並びエリア
 *********************************************************************/
.floatbox-left {
	float:						left;
}
.floatbox-right {
	float:						right;
}
.floatbox-type01 {
	display:					table;
	width:						100%;
}
.floatbox-type01 dt,
.floatbox-type01 dd {
	display:					table-cell;
}
.floatbox-type01 dt {
	width:						15%;
	min-width:					230px;
}
.floatbox-type01 dd {
	width:						85%;
}

.floatbox-type02 {
	display:					table;
	width:						100%;
	border:						solid 2px #8e8e8e;
	border-radius:				10px;
}
.floatbox-type02 dt,
.floatbox-type02 dd {
	display:					table-cell;
	padding:					20px;
}
.floatbox-type02 dt {
	width:						25%;
	min-width:					230px;
	border-right:				solid 2px #8e8e8e;
}
.floatbox-type02 dd {
	width:						75%;
}

/*********************************************************************
 * テーブル
 *********************************************************************/
/**
 * table-type01:		通常の表(カラー：標準色)
 * table-type02:		詳細画面用の表（左に項目名、右に値を表示するタイプ）
 * table-type03:		通常の表(カラー：グレー)
 * table-type04:		行内に見出しと項目が混在するパターンの表
 * table-borderless:	罫線なしの表
 **/
.table-type01,
.table-type03 {
	border-collapse:			collapse;
	width:						100%;
	border:						solid var( --main-table-line );
	border-width:				0 1px 1px 1px;
}
.table-type04 {
	border-collapse:			collapse;
	width:						100%;
	border-width:				0 1px 1px 1px;
}
.table-borderless {
	border-collapse:			collapse;
	width:						100%;
}
.table-type01 tr:not(:last-of-type) {
	border-bottom:				solid 1px #e1e1e1;
}
.table-type01 th, .table-type01 td,
.table-type03 th, .table-type03 td,
.table-type04 th, .table-type04 td {
	text-align:					left;
	padding:					10px 20px;
	vertical-align:				middle;
}
.table-search th, .table-search td {
	padding:					3px 5px !important;
}
.table-type01 th {
	background:					var( --main-table-header-color );
	border-right:				solid 1px #fff;
	color:						#fff;
}
.table-type01 th a {
	position:					relative;
	display:					block;
	color:						#fff;
}
.table-type01 th a::after {
	position:					absolute;
	top:						50%;
	right:						-10px;
	transform:					translateY(-50%);
	display:					block;
	content:					'';
	width:						4px;
	height:						12px;
	background:					url( '../../images/icon-sort_default.png' );
	background-size:			contain;
}
.table-type01 th a.desc::after {
	position:					absolute;
	top:						50%;
	right:						-10px;
	transform:					translateY(-50%);
	display:					block;
	content:					'';
	width:						4px;
	height:						12px;
	background:					url( '../../images/icon-sort_desc.png' );
	background-size:			contain;
}
.table-type01 th a.asc::after {
	position:					absolute;
	top:						50%;
	right:						-10px;
	transform:					translateY(-50%);
	display:					block;
	content:					'';
	width:						4px;
	height:						12px;
	background:					url( '../../images/icon-sort_asc.png' );
	background-size:			contain;
}
.table-type01 td,
.table-type03 td {
	background:					#fff;
	border-top:					solid 1px var( --main-table-line );
	border-right:				solid 1px var( --main-table-line );
}
.table-type01 tr th:first-child {
	border-left:				solid 1px var( --main-table-header-color );
}
.table-type01 tr th:last-child {
	border-right:				solid 1px var( --main-table-header-color );
}
.table-type01 tr:nth-child(odd) td {
	background:					var( --main-table-odd-color );
}
.table-type01 tr:nth-child(even) td {
	background:					var( --main-table-even-color );
}
.table-type01 .btn-col {
	width:						115px;
}
.input-table tr th,
.input-table tr td{
	padding:					4px 0 4px;
}
.input-condition tr th,
.input-condition tr td{
	padding:					4px 0 4px;
}

.table-type04 th,
.table-type04 td {
	border-top:					solid 1px var( --main-table-line );
	border-bottom:				solid 1px var( --main-table-line );
	border-right:				solid 1px var( --main-table-line );
	border-left:				solid 1px var( --main-table-line );
}

.table-type02 {
	border-collapse:			separate;
    border-spacing:				0 15px;
	width:						100%;
	text-align:					left;
}
.table-type02 th {
	position:					relative;
	width:						15%;
	min-width:					170px;
	background:					#e0e0e0;
	color:						#666;
	padding:					15px;
}
.table-type02 td {
	background:					#f3f3f3;
	padding:					15px 30px;
}
.table-type03 th {
	background:					#666;
	border-right:				solid 1px #fff;
	color:						#fff;
}
.table-type03 th:last-of-type {
	border-right:				none;
}
.table-type03 th:first-of-type {
	width:						50px;
}
.table-type03 th:last-of-type {
	width:						100px;
	text-align:					center;
}
.table-type03 td {
	border-bottom:				solid 1px var( --main-table-line );
}

.table-type04 {
	border-collapse:			separate;
	width:						100%;
	text-align:					left;
}
.table-type04 th {
	background:					#3d3d3d;
	color:						#fff;
}
.table-type04 td {
	background:					#fff;
}
.table-type04 th,
.table-type04 td {
	border-top:					solid 1px var( --main-table-line );
	border-bottom:				solid 1px var( --main-table-line );
	border-right:				solid 1px var( --main-table-line );
	border-left:				solid 1px var( --main-table-line );
}

.table-fixed {
	border-collapse:			collapse;
	border-spacing:				0;
	width:						720px;
	border:						solid #d9d9d9;
	border-width:				0 1px 1px 1px;
	background:					#fff;
	margin:						0 auto 55px auto;
	overflow-x:					hidden;
	overflow-y:					scroll;
}
.table-fixed thead,
.table-fixed tbody {
	display:					block;
}
.table-fixed tbody {
	height:						300px;
	overflow-y:					scroll;
}
.table-fixed th,
.table-fixed td {
	table-layout:				fixed;
	padding:					10px 20px;
}
.table-fixed th {
	width:						144px;
	background:					#666;
	color:						#fff;
}
.table-fixed th:not(:last-of-type) {
	border-right:				solid 1px #fff;
}
.table-fixed td {
	width:						144px;
}
.table-fixed td:not(:last-of-type) {
	border-right:				solid 1px #d9d9d9;
}
.table-fixed tbody::-webkit-scrollbar {
	display:					none;
}
.scroll{
	width:						98%;
	overflow:					scroll;
}
.table-scroll{
	border-collapse:			collapse;
	white-space:				nowrap;
	border:						solid #d9d9d9;
	border-width:				0 1px 1px 1px;
	font-size:					10px;
}
.table-scroll tr {
	border-bottom:				solid 1px #e1e1e1;
}
.table-scroll th, .table-scroll td {
	text-align:					left;
	padding:					10px 20px;
	vertical-align:				middle;
}
.table-scroll th{
	background:					#39436a;
	border-right:				solid 1px #fff;
	color:						#fff;
}
.table-scroll td{
	background:					#fff;
	border-right:				solid 1px #d9d9d9;
}
.table-scroll tr th:first-child {
	border-left:				solid 1px #39436a;
}
.table-scroll tr th:last-child {
	border-right:				solid 1px #39436a;
}
.table-scroll tr:nth-child(even) td {
	background:					#ededed;
}
.table-scroll .last-col01 {
	width:						115px;
}
.td-pad-bottom-0{
	padding:					10px 0px 0px 0px !important;
	vertical-align:				bottom !important;
}
.no-line {
	border-top:					none !important;
	border-bottom:				none !important;
}
.table-border-right {
	border-right:				solid 1px var( --main-table-line ) !important;
}

/*******************************************************************************
 * 枠線
 *******************************************************************************/
.frame-border {
	border:						solid 2pt #000;
}

/*******************************************************************************
 * 条件指定
 *******************************************************************************/
.condition-entry .inner {
	width:						100%;
	background:					#f3f3f3;
	font-size:					0;
	padding:					20px 20px;
}
.condition-content {
	clear:						both !important;
}

.status-area {
	background:					#f3f3f3;
	padding:					10px 10px;
}

.btn-condition-entry {
	float:						right;
	display:					block;
	width:						126px;
	background:					#ed697c;
	border-radius:				50px;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	padding:					5px;
	text-align:					center;
	cursor:						pointer;
    margin-bottom:				25px;
}
.btn-condition-entry::before {
	display:					inline-block;
	content:					'\f002';
	font-family:				"Font Awesome 5 Free";
	font-weight:				900;
	margin-right:				3px;
}
.btn-condition-fix input {
	display:					block;
	width:						100%;
	background:					#2ac278;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					18px;
	font-weight:				bold;
	padding:					15px;
	cursor:						pointer;
}
.btn-condition-fix-red input {
	background:					#c23c2a !important;
}

.btn-condition-search input {
	display:					table-cell;
	width:						50%;
	background:					#2ac278;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					18px;
	font-weight:				bold;
	padding:					15px;
	float:						left;
	cursor:						pointer;
}
.btn-condition-export input {
	display:					table-cell;
	width:						50%;
	background:					#c23c2a;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					18px;
	font-weight:				bold;
	padding:					15px;
	cursor:						pointer;
}

/*******************************************************************************
 * 検索用
 *******************************************************************************/
.highlight{
	background-color:			yellow;
}
.hide{
	display:					none;
}

/*******************************************************************************
 * 入力フォーム
 *******************************************************************************/
.pos-rel{
	position:					relative !important;
}

/*********************************************************************
 * バッチ
 *********************************************************************/
.label-required {
	position:					absolute;
	top:						7px;
	right:						30px;
	margin:						auto;
	display:					block;
	width:						50px;
	height:						22px;
	background:					rgba(237, 105, 124, .4);
	border:						solid 1px #e30b20;
	border-radius:				22px;
	font-size:					12px;
	color:						#e30b20;
	text-align:					center;
}

.label-category{
	display:					block;
	text-align:					center;
	padding:					5px 10px;
	border:						solid 2px #000;
	border-radius:				10px;
	width:						150px;
}
.label-news {
	display:					inline-block;
	vertical-align:				middle;
	background:					#fff;
	border:						solid 2px #dc143c;
	border-radius:				30px;
	color:						#fff;
	padding:					0px 18px;
	text-align:					center;
}

/*********************************************************************
 * 装飾ラベル
 *********************************************************************/
.label-glay {
	display:					inline-block;
	vertical-align:				middle;
	background:					#afafaf;
	border:						solid 2px #696969;
	border-radius:				10px;
	color:						#696969;
	padding:					3px 18px;
	text-align:					center;
	cursor:						not-allowed;
}
.label-orange {
	display:					inline-block;
	vertical-align:				middle;
	background:					#f8b500;
	border:						solid 2px #f8b500;
	border-radius:				10px;
	color:						#fff;
	padding:					3px 18px;
	text-align:					center;
}
.label-green {
	display:					inline-block;
	vertical-align:				middle;
	background:					#006400;
	border:						solid 2px #006400;
	border-radius:				10px;
	color:						#fff;
	padding:					3px 18px;
	text-align:					center;
}
.label-blue {
	display:					inline-block;
	vertical-align:				middle;
	background:					#000080;
	border:						solid 2px #000080;
	border-radius:				10px;
	color:						#fff;
	padding:					3px 18px;
	text-align:					center;
}
.label-red {
	display:					inline-block;
	vertical-align:				middle;
	background:					#dc143c;
	border:						solid 2px #dc143c;
	border-radius:				10px;
	color:						#fff;
	padding:					3px 18px;
	text-align:					center;
}

/*********************************************************************
 * DatePicker(日付切り替え用)
 *********************************************************************/
.select-date {
	display:					table;
	min-width:					270px;
	border:						solid 2px #39436a;
	border-radius:				3px;
}
.select-date > dt,
.select-date > dd {
	display:					table-cell;
	vertical-align:				middle;
}
.select-date > dt {
/*	width:						70px; */
	background:					#39436a;
	color:						#fff;
	text-align:					center;
	padding:					5px;
}
.select-date > dd input {
	width:						100%;
	height:						100%;
	background:					url( '../images/ico-calender.png' ) 93% 50% no-repeat;
	background-size:			20px 20px;
	padding:					5px;
}

/*********************************************************************
 * テキストボックス、テキストエリア
 *********************************************************************/
.input-common{
	width:						100%;
	padding:					12px 10px !important;
	border-radius:				3px;
	border:						solid 1px #ccc;
}

.input-small{
	width:						100%;
	padding:					5px 5px !important;
	border-radius:				3px;
	border:						solid 1px #ccc;
}

.input-bordered input {
	width:						100%;
	padding:					8px 10px;
    border-radius:				3px;
    border:						solid 1px #ccc;
}

.input-disabled {
	background:					#dcdcdc !important;
}

.flatpickr {
	width:						100%;
	height:						100%;
	background:					url( ../../images/ico-calender.png ) 96% 50% no-repeat;
	background-size:			20px 20px;
	background-color:			#fff;
	padding:					5px;
}

.icon-time {
	background:					url( ../../images/ico-time.png ) 96% 50% no-repeat;
	background-size:			20px 20px;
	background-color:			#fff;
}

/*********************************************************************
 * セレクトボックス
 *********************************************************************/
.select select{
	-webkit-appearance:			none;
	-moz-appearance:			none;
	appearance:					none;
	position:					relative;
	width:						200px;
/*
	border:						solid 1px #ccc;
	border-radius:				3px;
 */
	padding:					8px 10px;
}
.select label {
	position:					relative;
}
.select label::after {
	position:					absolute;
	top:						0;
	right:						15px;
	bottom:						0;
	margin:						auto;
	display:					inline-block;
	font-family:				"Font Awesome 5 Free";
	font-weight:				900;
	content:					"\f107";
	pointer-events:				none;
}

/*********************************************************************
 * セレクトボックス(非活性)
 *********************************************************************/
.disable {
	background:					#f8f8f8;
	color:						#ccc;
}
.disable select {
	color:						#ccc;
}

/*********************************************************************
 * ラジオボタン
 *********************************************************************/
.radio-type01 {
	display:					none;
}
.radio-parts01 {
	padding-left:				30px;
	position:					relative;
	margin-right:				30px;
}
.radio-parts01::before {
	content:					"";
	display:					inline-block;
	position:					absolute;
	top:						0;
	left:						0;
	width:						24px;
	height:						24px;
	background:					#e8e8e8;
	border-radius:				50%;
}
.radio-type01:checked + .radio-parts01::after {
	content:					"";
	display:					inline-block;
	position:					absolute;
	top:						3px;
	left:						6px;
	bottom:						0;
	margin:						auto;
	width:						13px;
	height:						13px;
	background:					#2ac278;
	border-radius:				50%;
}

/*********************************************************************
 * チェックボックス
 *********************************************************************/
input[type=checkbox] {
    display:					none;
}

/***** 文字ありのチェックボックス *****/
.check-type01 {
    box-sizing:					border-box;
    cursor:						pointer;
    display:					inline-block;
    padding:					5px 30px;
    position:					relative;
    width:						auto;
}
.check-type01::before {
	background:					#fff;
	border:						solid 1px rgba( 0, 0, 0, .2 );
	border-radius:				20%;
	content:					'';
	font-size:					20px;
	display:					block;
	position:					absolute;
	height:						26px;
	width:						26px;
	top:						50%;
	left:						10px;
	-webkit-transform:			translate( -50%, -50% );
	transform:					translate( -50%, -50% );
	margin:						0 auto;
}
.check-type01::after {
    border-right:				3px solid #ed7a9c;
    border-bottom:				3px solid #ed7a9c;
    content:					'';
    display:					block;
	font-size:					20px;
    height:						20px;
    left:						5px;
    margin-top:					-10px;
    opacity:					0;
    position:					absolute;
    top:						50%;
    transform:					rotate( 45deg );
    width:						8px;
}
input[type=checkbox]:checked + .check-type01::after {
    opacity:					1;
}

/***** 文字なしのチェックボックス *****/
.check-type02 {
    box-sizing:					border-box;
    cursor:						pointer;
    display:					inline-block;
    padding:					5px 5px;
    position:					relative;
    width:						auto;
}
.check-type02::before {
	background:					#fff;
	border:						solid 1px rgba( 0, 0, 0, .2 );
	border-radius:				20%;
	content:					'';
	font-size:					20px;
	display:					block;
	position:					absolute;
	height:						26px;
	width:						26px;
	top:						50%;
	left:						10px;
	-webkit-transform:			translate( -50%, -50% );
	transform:					translate( -50%, -50% );
	margin:						0 auto;
}
.check-type02::after {
    border-right:				3px solid #ed7a9c;
    border-bottom:				3px solid #ed7a9c;
    content:					'';
    display:					block;
	font-size:					20px;
    height:						20px;
    left:						5px;
    margin-top:					-10px;
    opacity:					0;
    position:					absolute;
    top:						50%;
    transform:					rotate( 45deg );
    width:						8px;
}
input[type=checkbox]:checked + .check-type02::after {
    opacity:					1;
}

/*********************************************************************
 * トグルスイッチ
 *********************************************************************/
.toggle input {
	display:					none;
}
.toggle input+label,
.toggle input+label::before,
.toggle input+label::after {
	-webkit-transition:			.2s;
	transition:					.2s;
}
.toggle input+label {
	display:					block;
	position:					relative;
	width:						60px;
	height:						30px;
	border-radius:				3px;
	vertical-align:				middle;
	margin:						0 auto;
	cursor:						pointer;
}
.toggle input+label::before {
	display:					block;
	font-family:				"Font Awesome 5 Free";
	content:					'\f00c';
	position:					absolute;
	top:						50%;
	left:						50%;
	-webkit-transform:			translate(-50%, -50%);
	transform:					translate(-50%, -50%);
	color:						#fff;
	font-size:					12px;
	margin:						0 auto;
}
.toggle-select+label {
	background:					#eee;
}
.toggle-select:checked+label {
	background:					#2cba00;
}
.toggle-select:checked+label::before {
	color:						#fff;
}

/*********************************************************************
 * ファイル選択
 *********************************************************************/
.select-files {
	display:					table;
}
.select-files input,
.select-files label {
	display:					table-cell;
	vertical-align:				middle;
}
.select-files label {
    background:					#decd15;
	color:						#fff;
	padding:					0 15px;
	border-radius:				0 5px 5px 0;
}
.select-files label::before {
	font-family:				"Font Awesome 5 Free";
	content:					'\f07c';
}
.select-files label input {
	display:					none;
}
.select-files input {
	border:						solid #efefef;
	border-width:				1px 0 1px 1px;
	border-radius:				5px 0 0 5px;
	padding:					10px;
}


/*********************************************************************
 * ボタン
 *********************************************************************/
.btn-common a,
.btn-common input[type="submit"]{
	display:					inline-block;
	background:					#ffffff;
	border-radius:				50px;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	font-weight:				bold;
	padding:					5px 30px;
	text-align:					center;
	vertical-align:				middle;
}

.btn-small a,
.btn-small input[type="submit"]{
	padding:					5px 20px !important;
	font-size:					10pt;
}

.btn-square a,
.btn-square input[type="submit"]{
	border-radius:				5px !important;
	font-size:					12pt;
}

.icon-plus a::before {
	display:					inline-block;
	content:					'\f055';
    font-family:				"Font Awesome 5 Free";
    font-weight:				900;
	margin-right:				3px;
}

.btn-menu, .btn-menu a {
    font-size:					10px;
    padding:					7px 15px;
	background-color:			transparent;
    color:						#fff;
    border-style:				none;
    width:						120px;
}

/*************************************************
 * 暖色系
 *************************************************/
.btn-red a,
.btn-red input[type="submit"]{
	background:					rgb(255, 197, 130);
	border:						solid 2px #ee5a44;
	color:						#ee5a44 !important;
}

.btn-akane a,
.btn-akane input[type="submit"]{
	background:					#b7282e;
	border:						solid 2px #b7282e;
	color:						#ffffff !important;
}

.btn-pink a,
.btn-pink input[type="submit"]{
	background:					#ed697c;
	color:						#fff;
}


.btn-syoujouhi a,
.btn-syoujouhi input[type="submit"]{
	background:					#e2041b;
	border:						solid 2px #e2041b;
	color:						#ffffff !important;
}

.btn-orange a,
.btn-orange input[type="submit"]{
	border:						solid 2px rgba( 234, 155, 28 );
	background:					rgba( 234, 155, 28 );
	color:						#ffffff !important;
}

.btn-yellow a,
.btn-yellow input[type="submit"]{
	border:						solid 2px #8d852e;
	background:					#decd15;
	color:						#8d852e !important;
}

/*************************************************
 * 寒色系
 *************************************************/
.btn-blue a,
.btn-blue input[type="submit"]{
	background:					#b2bdff;
	border:						solid 2px #1c3eff;
	color:						#1c3eff !important;
}

.btn-base-navy a,
.btn-base-navy input[type="submit"]{
	background:					#0f2350;
	color:						#fff !important;
}

.btn-sky a,
.btn-sky input[type="submit"]{
	background:					#a1e4f2;
	border:						solid 2px #15bbde;
	color:						#15bbde !important;
}

.btn-green a,
.btn-green input[type="submit"]{
	background:					#aae7c9;
	border:						solid 2px #2ac278;
	color:						#2ac278 !important;
}

.btn-gray a,
.btn-gray input[type="submit"]{
	background:					#f5f5f5;
	border:						solid 2px #696969;
	color:						#696969 !important;
}

/*************************************************
 * 検索エリア用ボタン
 *************************************************/
.btn-condition-fix input {
	display:					block;
	width:						100%;
	background:					#2ac278;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					18px;
	font-weight:				bold;
	padding:					15px;
	cursor:						pointer;
}

.btn-bottom-fix {
}
.btn-bottom-fix a {
	display:					block;
	width:						100%;
	background:					#2ac278;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					12px;
	font-weight:				bold;
	padding:					5px;
	margin:						0px;
	cursor:						pointer;
}

.btn-bottom-half {
}
.btn-bottom-half input {
	display:					table-cell;
	width:						50%;
	background:					#2ac278;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					18px;
	font-weight:				bold;
	padding:					15px;
	float:						left;
	cursor:						pointer;
}
.btn-bottom-half a {
	display:					table-cell;
	width:						50%;
	background:					#2ac278;
	font-family:				"Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
	color:						#fff;
	font-size:					12px;
	font-weight:				bold;
	padding:					5px;
	margin:						0px;
	cursor:						pointer;
}

/*********************************************************************
 * 横並び
 *********************************************************************/
.cell-area{
	display:					flex;
}
.cell-box{
	padding:					0px 10px;
}
.btn-flex{
	display:					inline-block;
}

/*********************************************************************
 * Full-CalendarのCSS上書き
 *********************************************************************/
.fc .fc-button .fc-icon {
	vertical-align:				top !important;
}
