@charset "utf-8";
/*==================================================================================================
|
|基本設定
|
|■ベースカラー：#009ce5 , #e7f5fd
|■コンテンツ横幅：1000px(padding-left:16px;含む)
|■見出し（h2,h3,h4）に連番で番号を付けたい場合、該当要素の外枠にclass（.counter_increment）を付ける
|■リスト表示（ul li）ページ共通スタイル
|	1.右向き くの字---
|	[ul.angle_right li]
|		class名：main#style ul.angle_right li
|		Font Awesome名：fa-angle-right（Unicode: f105）
|		使い所：文章のリスト表示など
|
|	2.右向き 三角---
|	[ul.caret_right li]
|		class名：main#style ul.caret_right li
|		Font Awesome名：fa-caret-right（Unicode: f0da）
|		使い所：リンクのリスト表示など
|
|■side_column内リスト表示
|	---右向き 三角---
|		Font Awesome名：fa-caret-right（Unicode: f0da）
|		使い所：サイドメニュー
|
|■hover時のopacity設定：0.6とする
|
==================================================================================================*/
/* ブラウザのデフォルトスタイルをリセットする */
@import url('html5reset-1.6.1.css');
/* 共通class */
@import url('/vc/base/usr/docs/css/common.css');
/* Google Fonts読み込み */
@import url('/vc/base/usr/docs/fonts/notosans_cjk/css/font.css');
/* Icon Fonts読み込み */
@import url('/vc/base/usr/docs/css/fontawesome_ver4.css');
@import url('/vc/base/usr/docs/css/fontawesome_ver5.css');
@import url('/vc/base/usr/docs/css/fontawesome_ver6.css');
/* スクロールヒント読み込み */
@import url('/vc/base/usr/docs/css/scroll-hint.css');
/* CSS変数設定 */
:root {
	--base_color: #009ce5;
	--base_width: 1200px;
}
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
html {
	font-size: 62.5%; /* sets the base font to 10px for eaiser math */
}
body {
	background: #fff;
	color: #535353;
	font-size: 16px;
	font-size: 1.6rem;
	font-family: "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.6;
	/*min-width: 1000px; /* スマホ画面表示の場合にコンテンツが2重縮尺（Viewportの影響）となり期待する表示にならない事の回避のため、最少表示サイズを設定 */
	-webkit-text-size-adjust: 100%;
	padding-top: 80px; /* #header の height */
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
br {
	letter-spacing: normal;
}
a {
	color: #03c;
	outline: none;
	text-decoration: none;
}
a:hover {
	color: orangered;
	text-decoration: underline;
}
label {
	cursor: pointer;
}
/*
a:hover img { opacity設定は親要素の設定を強制的に引き継ぐため、広範囲にわたる設定としては使わないこと
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	opacity: 0.6;
}
*/
p {
	margin-bottom: 1em;
}
img {
	vertical-align: bottom;
	max-width: 100%;
}
/*==================================================================================================
▼サイトの構造
#header
	┗.container
		┗<h1>
		┗.header_navi
main#main_top
main#main
	┗.breadcrumbs
	┗#one_column
	┗#one_column.narrow
	┗#two_column
		┗.main_column
		┗.side_column
#footer
	┗.footer_menu
		┗.container
			┗<h1>
			┗<nav>
	┗<small>
.page_top
==================================================================================================*/
/*----------------------------
コンテンツの横幅
----------------------------------------------------------*/
.container,
#one_column,
#two_column {
	margin: 0 auto;
	padding-left: 16px;
	width: 1000px;
}
#one_column.narrow {
	width: calc(1000px * .75); /* 2カラムの時のmain_column幅 */
	width: calc(1000px * .80);
}

/*########################################################################################
|
|ヘッダー
|#header
|
########################################################################################*/
#header {
	background-color: #fff;
	opacity: .9;
	position: fixed;
		top: 0;
		left: 0;
	width: 100%;
	height: 80px;
	z-index: 102;
}
#header.add_shadow::after {/* 影 */
	background: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, 0));
	content: "";
	display: block;
	position: absolute;
		top: 100%;
		left: 0;
	width: 100%;
	height: 4px;
}
#header .container {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
	height: 100%;
}
#header a {
	color: #535353;
}
#header a:hover {
	opacity: .6;
	text-decoration: none;
}
/*----------------------------
ヘッダーとフッターのロゴを共通指定
----------------------------------------------------------*/
#header h1.hd_ft_h1 a,
#footer h1.hd_ft_h1 {
	background-image: url(/vc/g812/admin/images/logo.svg); /* 企業ごとに変更できるように */
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
		align-items: flex-end;
		justify-content: flex-end;
	line-height: 1;
	width: 354px; /* ロゴ＋管理者マークのサイズ */
	height: 30px; /* ロゴのサイズ */
}
h1.hd_ft_h1 .service_name {
	display: none;
}
h1.hd_ft_h1 .mk_admin {
	background: #009ce5;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	font-size: 1.3rem;
	padding: 3px 6px;
}
#header h1.hd_ft_h1 a:hover {
	opacity: 1;
}
#header h1.hd_ft_h1 a.h1_nolink {/* ログイン、ログアウト、パスワード取得ページ用 */
	cursor: default;
}
/*----------------------------
メニュー
----------------------------------------------------------*/
#header .header_navi {
	display: flex;
		align-items: center;
		justify-content: flex-end;
 /* 	width: calc(100% - 312px);「100%」-「.hd_ft_h1の幅」 */
	width: calc(100% - 354px); /* 「100%」-「.hd_ft_h1の幅」 */
}
#header .header_navi > ul {
	border-right: 1px solid #535353;
	display: flex;
		justify-content: flex-end;
		gap: 0 16px;
	font-size: 14px;
	font-size: 1.4rem;
	margin-right: 8px;
	padding: 0 24px;
}
#header .header_navi > ul > li {
	position: relative;
}
#header .header_navi > ul > li a {
	color: #535353;/* 黄色ver.*/
	color: #fff;
	display: inline-block;
	background: #fcdd2e;/* 黄色ver.*/
	background: #009CE5;
	border-radius: 40px;
/*	border: 1px solid #009ce5;*/
	padding: 6px;
	text-align: center;
	width: 184px;
}
#header .header_navi > ul > li a.about::before,
#header .header_navi > ul > li a.faq::before {
	color: #535353;/* 黄色ver.*/
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
}
#header .header_navi > ul > li a.about::before {
	content: '\f518'; /* book-open */
}
#header .header_navi > ul > li a.faq::before {
	content: '\f059';/* question-circle */
}
#header .header_navi a:before {
	font-family: FontAwesome,'Noto Sans Japanese', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: normal;
	margin-right: 4px;
}
#header .header_navi > a {
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 16px;
}
#header .header_navi a.logout:before,
#header .header_navi a.chgpwd:before {
	color: #535353;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
}
#header .header_navi a.logout:before {
	content: '\f08b'; /* sign-out */
}
#header .header_navi a.chgpwd:before {
	content: '\f023';
}

#header .header_navi ul.nest1 {
	background-color: #fff;
	border: 1px solid #efefef;
	display: none;
	padding: 8px;
	position: absolute;
		top: 100%;
		left: 0;
	white-space: nowrap;
	z-index: 5;
}
#header .header_navi ul.nest1 li {
	z-index: 100;
}
#header .header_navi ul.nest1 li a {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	padding: 8px;
	position: relative;
	z-index: 100;
}
#header .header_navi ul.nest1 li a:before {
	color: darkgray;
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 10px;
	font-size: 1.0rem;
	margin-right: 6px;
}
#header .header_navi ul.nest1 li a:hover:before {
		left: 1px;
}

/*########################################################################################
|
|フッター
|#footer
|
########################################################################################*/
#footer {
	margin-top: 88px;
}
#footer .footer_menu {
	background-color: #f8f8f8;
	padding: 64px 0 40px;
}
#footer .footer_menu .container {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
}
#footer a {
	color: #535353;
}
#footer a:hover {
	opacity: .6;
}
#footer .footer_menu nav {
	margin-top: -6px;
	width: calc(100% - 312px - 64px); /* 「100%」-「.hd_ft_h1の幅」-「マージン」 */
}
#footer .footer_menu nav > ul {
	display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 4px 32px;
}
#footer .footer_menu nav > ul > li {
	flex-shrink: 1;
	margin-bottom: 8px;
	white-space: nowrap;
}
#footer .footer_menu nav .nest1 {
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 24px;
}
#footer .footer_menu nav .nest1 > li {
	margin-bottom: 8px;
}
#footer small {
	background-color: #009ce5;
	color: #fff;
	display: block;
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: 200;
	padding: 8px;
	text-align: center;
	width: 100%;
}
#footer small span {
	display: block;
}
/*-----------------------------------------------------------------------------
|
|■┓ページのトップへ
|┗┛
-----------------------------------------------------------------------------*/
.page_top {
	position: fixed;
	bottom: 16px;
	right: 16px;
}
.page_top a {
	background: #009ce5;
	border-radius: 50%;
	box-shadow: 0 0 0 2px #fff;
	color: #fff;
	display: inline-block;
	font-size: 12px; /* 固定 */
	line-height: 50px; /* 固定 */
	position: relative;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 50px;
	height: 50px;
}
.page_top a:hover {
	opacity: .6;
	text-decoration: none;
}

/*==================================================================================================
|
|トップページ（#main_top）
|
==================================================================================================*/
#main_top {
	padding-top: 16px;
	z-index: 1;
}
#main_top .wrap_btn_menu {
	display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 16px;
	margin-top: 40px;
	margin-right: -16px; /* 右コンテンツgap16px分調整用（追って修正します） */
}
#main_top a.btn_menu {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 0 8px 1px rgba(0, 0, 0, .2);
	color: #545454;
	display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	font-size: 24px;
	font-size: 2.4rem;
	position: relative;
	text-decoration: none;
	transition: all 0.3s;
	width: calc(33.33% - 16px);
}
#main_top a.btn_menu:hover {
	opacity: .6;
}
#main_top a.btn_menu > div {
	width: 100%;
	/*padding: 40px;*/
	padding: 24px;
}
#main_top a.btn_menu > div:nth-of-type(1) {
	display: flex;
		align-items: flex-end;
		justify-content: center;
	padding: 0;
	height: 102px;
}
#main_top a.btn_menu > div:nth-of-type(2) {
	background: #009ce5;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content:center;
	/*padding: 24px 40px;*/
	text-align: center;
	width: 100%;
	height: 88px;
	line-height: 1.4;
}
#main_top a.btn_menu > div:nth-of-type(3) {
	background: #fff;
	font-size: 13px;
}
#main_top a.btn_menu > div.line_two {
	font-size: 20px;
	font-size: 2.0rem;
}
/*----------------------------
トップモーダルバナー・デフォルトcss上書き用 ※必須
----------------------------------------------------------*/
#modal_bnr_area .modal_bnr_box {
	border-radius: 8px;
	width: 80%;
	max-width: 740px;
	height: 640px;
}
#modal_bnr_area .modal_bnr_box .modal_bnr_contents {
	padding: 40px;
	height: 100%;
	overflow: auto;
}
.modal_bnr_contents > div > div:nth-child(1) {
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: 500;
	margin-bottom: 32px;
	text-align: center;
}
.modal_bnr_contents > div > div:nth-child(1) > i {
	color: orangered;
	font-size: 22px;
	font-size: 2.2rem;
	margin-right: 4px;
}
.modal_bnr_contents > div > div:nth-child(2) {
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.4;
	margin-bottom: 24px;
}
.modal_bnr_contents > div > div.attention {
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	font-size: 16px;
	font-size: 1.6rem;
	margin: 16px 0;
	padding: 24px;
}
.modal_bnr_contents > div > p {
	font-size: 14px;
	font-size: 1.4rem;
}
/*----------------------------
長方形ボタン・レイアウト
----------------------------------------------------------*/
.btn_rect_wrap {
	margin-top: 40px;
	display: flex;
		align-items: center;
		justify-content: center;
	width: 100%;
	padding: 8px;
}
.btn_rect {
	background: #009ce5;
	color: #fff;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.4;
	padding: 24px 48px;
	text-align: center;
	width: 80%;
}
.btn_rect:hover {
	color: #fff;
	cursor: pointer;
	opacity: .6;
	text-decoration: none;
	transition: all 0.3s;
}
/*----------------------------
トップメニュー・非活性ボタンスタイル
----------------------------------------------------------*/
#main_top a.btn_menu.disable {
	opacity: .2;
}
#main_top a.btn_menu.disable:hover {
	cursor: not-allowed;;
}



/*########################################################################################
|
|パンくずリスト
|
########################################################################################*/
nav#breadcrumbs {
	font-size: 11px;
	font-size: 1.1rem;
	margin: auto;
	margin-bottom: .5em;
	width: 1000px;
}
nav#breadcrumbs ul {
	display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
	width: 100%;
}
nav#breadcrumbs li {
	padding: 0 1em 0 .5em;
	position: relative;
}
nav#breadcrumbs li::after {
	color: gray;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 11px;
	position: absolute;
		top: 0;
		right: 0;
}
nav#breadcrumbs li:last-child::after {
	content: "";
}
nav#breadcrumbs a {
	text-decoration: none;
	color: #333;
}
nav#breadcrumbs a:hover {
	opacity: .6;
}

/*########################################################################################
|
|サイドメニュースタイル
|
########################################################################################*/
#two_column > .side_column > .side_menu {
	background: #f4f4f4;
	border: 1px solid #ccc;
	margin-bottom: 2em;
	padding: 16px;
}
#two_column > .side_column > .side_menu > div {
	border-bottom: 1px solid #ccc;
	margin-bottom: 1em;
	padding-bottom: .5em;
	text-align: center;
}
#two_column > .side_column > .side_menu > ul > li,
#two_column > .side_column > .side_menu > ol > li {
	line-height: 1.2;
	padding: .5em 0;
}
#two_column > .side_column > .side_menu > ul > li > a ,
#two_column > .side_column > .side_menu > ol > li > a {
	color: #333;
}
#two_column > .side_column > .side_menu > ul > li > a:hover ,
#two_column > .side_column > .side_menu > ol > li > a:hover {
	opacity: .6;
	text-decoration: none;
}
#two_column > .side_column > .side_menu > ul > li a {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	padding-left: .75em;
	position: relative;
}
#two_column > .side_column > .side_menu > ul > li a::before {
	color: darkgray;
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	position: absolute;
		top: 4px;
		left: 0;
}
#two_column > .side_column > .side_menu.plink > ul > li a::before {
	color: #009ce5;
}
#two_column > .side_column > .side_menu > ol > li {
	counter-increment: number;
	list-style-type: none;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
#two_column > .side_column > .side_menu > ol > li > a::before {
	content: counter(number)".";
	padding-right: .5em;
}

/*########################################################################################
|
|メインのコンテンツ共通
|
########################################################################################*/
/*-----------------------------------------------------------------------------
|
|■┓見出し
|┗┛
-----------------------------------------------------------------------------*/
#main_style h1 {
	background-image: linear-gradient(
		-45deg,
		#fff 25%,
		#ddd 25%, #ddd 50%,
		#fff 50%, #fff 75%,
		#ddd 75%, #ddd
		);
	background-size: 4px 5px;
	background-repeat: repeat-x;
	background-position: left bottom;
	display: flex;
		align-items: center;
		justify-content: flex-start;
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.1;
	margin-bottom: .5em;
	padding: 11px 0 14px .5em;
	position: relative;
}
#main_style h1 span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style h1:before {
	content: "";
	position: absolute;
		bottom: 0;
		left: 0;
	width: 5px;
	height: 5px;
	background: #009ce5;
}
#main_style h2 {
	background-color: #009ce5;
	border-radius: 4px;
	color: #fff;
	/*
	font-size: 18px;
	font-size: 1.8rem;
	*/
	font-size: 22px;
	font-size: 2.2rem;
	margin: 80px 0 .75em;
	padding: 16px 16px;
}
#main_style h2 > .sm_txt {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style h3 {
	border-bottom: solid 3px #cce4ff;
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.2;
	margin: 64px 0 .75em;
	padding: 8px 0;
	position: relative;
}
#main_style h3:after {
	border-bottom: solid 3px #009ce5;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 20%;
}
#main_style h3 > span {
	margin: 0 8px;
}
#main_style h3 > .sm_txt {
	font-size: 16px;
	font-size: 1.6rem;
}
#main_style h4 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin: 1.5em 0 .5em;
	padding-left: 16px;
	position: relative;
}
#main_style h4::before {
	content: "\f054";
	font-family: FontAwesome;
	font-size: 12px;
	font-weight: normal;
	position: absolute;
		top: 4px;
		left: 0;
}
#main_style h1 + h2 {
	margin-top: 24px !important;
}
#main_style h1 + h3 {
	margin-top: 20px !important;
}
#main_style h2 + h3 {
	margin-top: 0 !important;
}
#main_style h3 + h4 {
	margin-top: 8px !important;
}
#main_style h2.first,
#main_style h3.first,
#main_style h4.first {
	margin-top: 0;
}
/* 見出し（h2）に連番で番号を付けたい場合、該当要素の外枠に.counter_incrementを付ける */
.counter_increment h2 {
	counter-increment: number;
}
.counter_increment h2::before {
	content: counter(number)".";
	padding-right: .5em;
}
/*-----------------------------------------------------------------------------
|
|■┓input
|┗┛
-----------------------------------------------------------------------------*/
input,
select,
textarea {
	box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	position: relative;
}
input[type="submit"],
input[type="reset"],
input[type="button"] {
	box-shadow: none;
}
input[type="button"],input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],/* inputで指定すると、radio、checkboxも変更されてしまうためtypeで指定 */
textarea,
select {
	-webkit-appearance: none;/* iPad用のデザイン初期化　selectの▼非表示 */
	-moz-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	border: 1px solid #999;
	border-radius: 0;
	box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	font-family: inherit;
	font-size: inherit;
	margin-top: 6px;
	margin-bottom: 6px;
	outline: none;
	padding: 4px 8px;
}
/* input */
input:-webkit-autofill { /* オートフィルでの背景色を上書き フォーカスが外れた時のため */
	-webkit-box-shadow: 0 0 0 1000px white inset;
}
/* input type="number" */
input[type="number"]::-webkit-inner-spin-button { /* スピンボタン非表示 */
	-webkit-appearance: none;
	margin: 0;
}
input[type="number"] { /* スピンボタン非表示 */
	-moz-appearance: textfield;
}
/* input:focus select:focus */
input:focus,
textarea:focus,
select:focus {
	background-color: #fffff0;
}
.btn_bottom input:focus,
a.btn_input:active {
	background-color: #fff;
}
/* input type="radio" */
input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	display: inline-block;
	margin-right: 0.8em;
	padding: 3px 3px 3px 22px;
	position: relative;
}
input[type="radio"] + label::before,
input[type="radio"] + label::after {
	display: block;
	font-size: 0;
	line-height: 0;
	content: "";
	position: absolute;
	transition: all .2s;
}
input[type="radio"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 14px;
	top: 9px;
	left: 0;
	width: 14px;
	height: 14px;
}
input[type="radio"] + label::after {
	border-radius: 50%;
	top: 12px;
	left: 3px;
	width: 10px;
	height: 10px;
	opacity: 0;
}
input[type="radio"] + label:hover::before {
	background: #fff;
}
input[type="radio"]:checked + label::before {
	background: #fff;
	border: 1px solid #f60;
}
input[type="radio"]:checked + label::after {
	background: #f60;
	opacity: 1;
}
/* input type="checkbox" */
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + label {
	display: inline-block;
	margin-right: 1em;
	padding: 3px 3px 3px 22px;
	position: relative;
}
/* チェックボックスのみ */
input.unlabel[type="checkbox"] + label {
	margin: 0;
	padding: 8px;
	vertical-align: middle;
}
input.unlabel[type="checkbox"] + label::before {
	top: -2px;
	left: 0;
	width: 14px;
	height: 14px;
}
input.unlabel[type="checkbox"] + label::after {
	top: 2px;
	left: 3px;
	width: 8px;
	height: 4px;
}

input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after {
	line-height: 1;
	content: "";
	position: absolute;
	transition: all .2s;
}
input[type="checkbox"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
	top: 9px;
	left: 0;
	width: 14px;
	height: 14px;
}
input[type="checkbox"] + label::after {
	border-left: 2px solid #f60;
	border-bottom: 2px solid #f60;
	top: 13px;
	left: 3px;
	width: 8px;
	height: 4px;
	opacity: 0;
	transform: rotate(-45deg) scale(.5);
}
input[type="checkbox"] + label:hover::before {
	background: #fff;
}
input[type="checkbox"]:checked + label::before {
	background: #fff;
	border: 1px solid #f60;
}
input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}
/* select */
select::-ms-expand {
	display: none;
}
select {
	background-color: #fff;
	background-image: url(../images/select_arrow.svg); /* 各グループにコピーするので相対パス */
	background-position: right 5px top 50%;
	background-repeat: no-repeat;
	background-size: 10px 7px;
	cursor: pointer;
	max-width: 100%;
	padding-right: 20px;
}
/* input:disabled select:disabled */
input[type="radio"]:disabled + label,
input[type="checkbox"]:disabled + label,
select:disabled {
	color: #999;
	cursor: default !important;
}
input[type="radio"]:disabled + label::before,
input[type="checkbox"]:disabled + label::before {
	background-color: #fff;
	border-color: #ddd;
}
input[type="text"]:disabled,
input[type="text"].cl_disabled,
select:disabled {
	background-color: #efefef;
	border-color: #bbb;
	cursor: default;
}
select:disabled {
	background-image: url(../images/select_arrow_disabled.svg); /* 各グループにコピーするので相対パス */
}
input[type="button"]:disabled {
	background-color: #efefef;
	border-color: #bbb;
	cursor: default;
}
input[type="button"]:disabled:hover {
	background-color: #efefef;
	opacity: 1;
}
/* 自動入力のため手動入力しないインプットタグの枠線を消す（input.no_frameline） */
input.no_frameline[type="text"],
input.no_frameline[type="number"],
input.no_frameline[type="email"],
input.no_frameline[type="tel"] {
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: default;
}
/* input type="button" */
input[type="button"] {
	background: #f6f6f6;
	border: 1px solid #aaa;
	border-radius: 4px;
	cursor: pointer;
	transition: .3s;
}
input[type="button"]:hover {
	background: #fff;
	opacity: .6;
	transition: .3s;
}
/* readonly */
.readonly {
	color: #333;
	background: #f7f7f7;
}
.readonly:focus {
	background: #f7f7f7;
}
/*-----------------------------------------------------------------------------
|
|■┓テーブルスタイル
|┗┛
-----------------------------------------------------------------------------*/
/*-------------------
テーブル、オーバーフローで横スクロールバー表示
--------------------------------------------------*/
#main_style .tbl_scroll {
	overflow-x: auto;
	margin-bottom: 1em;
	width: 100%;
}
#main_style .tbl_scroll > table.normal {
	margin-bottom: 0;
}
/*-------------------
スクロールヒントの影響で縦スクロールが出てしまうのを修正
--------------------------------------------------*/
#main_style .scroll-hint-icon {
	top: calc(50% - 40px);
}
/*-------------------
ノーマル（.normal）
--------------------------------------------------*/
#main_style table.normal {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1em;
	width: 10%;
	min-width: 704px; /* 2カラムでも収まるサイズ */
}
#main_style table.normal th ,
#main_style table.normal td {
	padding: 12px 16px;
	border: 1px solid #ccc;
	vertical-align: middle;
}
#main_style table.normal th {
	background: #efefef;
	white-space: nowrap;
	width: 10%;
}
#main_style table.normal thead th {
	background: #999;
	border: 1px solid #fff;
	border-top: 1px solid #999;
	color: #fff;
	width: auto;
}
#main_style table.normal thead th:nth-child(1) {
	border-left: 1px solid #999;
}
#main_style table.normal thead th:nth-last-child(1) {
	border-right: 1px solid #999;
}
#main_style table.normal tbody tr th {
	background: #efefef;
	text-align: left;
}
#main_style table.normal .delete_cell {
	border: none !important;
	background-color: #fff;
}
#main_style table .cell_vertical_write {
	line-height: 1.3;
}
#main_style table.normal .get_tblwidth {/* ページ遷移ボタンエリアの横幅を td で取得 */
	border: none !important;
	padding: 0;
	vertical-align: top;
}
/*-------------------
登録情報一覧（.tbl_registlist）
--------------------------------------------------*/
#main_style .tbl_registlist {
	width: 100%;
}
#main_style .tbl_registlist tr th,
#main_style .tbl_registlist tr td {
	border: 1px solid #ffcccc;
	border: 1px solid #b4d3e1;
	line-height: 1.4;
	padding: 12px 8px;
	vertical-align: middle;
}
#main_style .tbl_registlist thead tr th {
	background: #009ce5;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2;
	padding-top: 4px;
	padding-bottom: 5px;
	white-space: nowrap;
}
#main_style .tbl_registlist tbody tr:nth-child(odd) td {
	background: #fbf2f2;
	background: #f3fbff;
}
#main_style .tbl_registlist tbody td.cell_link {
	text-align: center;
	white-space: nowrap;
	width: 10%;
}
#main_style .tbl_registlist tbody tr.line_del td {
	background: #f0f0f0;
	color: #999;
}
/*-----------------------------------------------------------------------------
|
|■┓リスト
|┗┛
-----------------------------------------------------------------------------*/
/*-------------------
文章のリスト表示など（右向きくの字）
--------------------------------------------------*/
#main_style ul.angle_right li {
	padding-left: 1.5em;
	position: relative;
}
#main_style ul.angle_right li::after {
	color: gray;
	content: "\f105 "; /* fa-angle-right */
	font-family: FontAwesome;
	position: absolute;
		top: 0;
		left: .5em;
}
/*-------------------
リンクのリスト表示など（右向き三角）
--------------------------------------------------*/
#main_style ul.caret_right li {
	padding-left: 1.5em;
	position: relative;
}
#main_style ul.caret_right li::after {
	color: darkgray;
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	position: absolute;
		top: 4px;
		left: .75em;
}
/*-------------------
リスト表示など（輪っか）
--------------------------------------------------*/
#main_style ul.list_circle > li {
	padding-left: 1.5em;
	position: relative;
}
#main_style ul.list_circle > li::after {
	color: #0068b7;
	content: "\f192"; /* fa-caret-right */
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	position: absolute;
		top: 3px;
		left: .5em;
}
/*-------------------
olリスト表示など
--------------------------------------------------*/
#main_style ol {
	margin-left: 1.5em;
}
#main_style ol.firstline_bold > li {/* ol の番号も bold */
	font-weight: bold;
}
#main_style ol.firstline_bold > li > div {
	font-weight: normal;
}
#main_style ol.firstline_bold > li > div.img_box {/*  */
	margin: 8px 0 2em;
}
/*-----------------------------------------------------------------------------
|
|■┓アイコン
|┗┛
-----------------------------------------------------------------------------*/
/* 入力欄必須項目アイコン */
.icon_required {
	background: pink;
	border-radius: 2px;
	box-shadow: inset 1px 3px 9px -5px rgba(255, 255, 255, 0.9);
	color: #000;
	display: inline-block; /* IEで矢印がずれないように対応 */
	font-size: 12px;
	font-size: 1.2rem;
	/*font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", sans-serif;*/
	line-height: 1;
	margin-left: 1em;
	padding: 4px 6px;
	position: relative;
	white-space: nowrap;
	vertical-align: 1px;
}
.icon_required::after {
	content: '';
	border: 4px solid transparent;
	border-right: 6px solid pink;
	position: absolute;
		top: calc(50% - 4px);
		left: -9px; /* retinaディスプレイで線が出ないよう1pxずらして対応 */
	width: 0;
	height: 0;
}
.icon_required.req_left {
	margin-left: 0;
	margin-right: 1em;
}
.icon_required.req_left::after {
	border: 4px solid transparent;
	border-left: 6px solid pink;
		left: auto;
		right: -9px; /* retinaディスプレイで線が出ないよう1pxずらして対応 */

}
/*-----------------------------------------------------------------------------
|
|■┓テキストリンク
|┗┛
-----------------------------------------------------------------------------*/
#main_style a.link_txt {
	display: inline-block;
	position: relative;
	padding-left: 16px;
	position: relative;
}
#main_style a.link_txt::before {
	content: "\f054"; /* chevron-right */
	font-family: "Font Awesome 5 Free";
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
	position: absolute;
		top: 3px;
		left: 4px;
}
#main_style a.link_page {
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
	padding-left: 18px;
	position: relative;
}
#main_style a.link_page::before {
	content: "\f054"; /* chevron-right */
	font-family: "Font Awesome 5 Free";
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	position: absolute;
		top: 2px;
		left: 4px;
}
/* テキストリンク　+　アイコン */
#main_style a.link_page.ic_pdf,
#main_style a.link_page.ic_xlsx {
	padding-right: 18px;
}
#main_style a.link_page.ic_pdf::after,
#main_style a.link_page.ic_xlsx::after {
	font-family: "Font Awesome 5 Free";
	font-size: 18px;
	font-size: 1.8rem;
	position: absolute;
	top: 1px;
	right: 0;
}
#main_style a.link_page.ic_pdf::after {
	color: #ad0b00;
	content: "\f1c1";
}
#main_style a.link_page.ic_xlsx::after {
	color: #126836;
	content: "\f1c3";
}
/*-----------------------------------------------------------------------------
|
|■┓汎用ボタン
|┗┛
-----------------------------------------------------------------------------*/
#main_style a.btn_goto,
#main_style button.btn_goto {
	background: #009ce5;
	border: none;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-family: inherit;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.6;
	padding: 6px 16px 6px 32px;
	position: relative;
	text-decoration: none;
	transition: .3s;
}
#main_style a.btn_goto .sm_txt,
#main_style button.btn_goto .sm_txt {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style a.btn_goto::before,
#main_style button.btn_goto::before {
	content: "\f054"; /* fa-chevron-right */
	font-family: "Font Awesome 5 Free";
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	position: absolute;
		top: 9px;
		left: 12px;
}
#main_style a:hover.btn_goto,
#main_style button:hover.btn_goto {
	opacity: .6;
	transition: .3s;
}
#main_style a.btn_goto_ib,
#main_style button.btn_goto_ib {
	background: #f6f6f6;
	border: 1px solid #aaa;
	border-radius: 4px;
	color: #000;
	display: inline-block;
	font-family: inherit;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
	margin: 2px;
	padding: 1px 8px 2px;
	transition: .3s;
}
#main_style a:hover.btn_goto_ib,
#main_style button:hover.btn_goto_ib {
	background: #fff;
	opacity: .6;
	text-decoration: none;
	transition: .3s;
}
/*-----------------------------------------------------------------------------
|
|■┓画面遷移ボタン
|┗┛
-----------------------------------------------------------------------------*/
/* 登録 申請 他 */
#main_style a.btn_positive {
	background: #f60;
	border-radius: 4px;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.4;
	padding: 8px;
	text-align: center;
	transition: .3s;
	min-width: 200px;
	min-height: 56px;
}
/* 非活性(グレーアウト) */
#main_style a.btn_positive.btn_disabled {
	background: #e9e9e9;
	border: 1px solid #e9e9e9;
	color: #b5b5b5;
}
#main_style a:hover.btn_positive.btn_disabled {
	cursor:default;
	opacity: 1;
}
#main_style a.btn_positive.preserve,
#main_style a.btn_positive.admin_on,
#main_style a.btn_positive.admin_off,
#main_style a.btn_positive.usr_stop,
#main_style a.btn_positive.usr_stopundo,
#main_style a.btn_positive.usr_start {
	background: #f2b200;
}
#main_style a.btn_positive span {
	position: relative;
	padding-left: 30px;
}
#main_style a.btn_positive span::before {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	position: absolute;
		top: calc(50% + 1px);
		left: 0;
	transform: translateY(-50%);
}
#main_style a.btn_positive.preserve span::before {
	content: "\f382";
}
#main_style a.btn_positive.admin_on span::before {
	content: "\f505";
}
#main_style a.btn_positive.admin_off span::before {
	content: "\f007";
	font-weight: normal;
}
#main_style a.btn_positive.usr_stop span::before {
	content: "\f506";
}
#main_style a.btn_positive.usr_stopundo span::before {
	content: "\f2ea";
}
#main_style a.btn_positive.usr_start span::before {
	content: "\f234";
}
#main_style a.btn_positive.do_submit span::before {
	content: "\f061";
	font-size: 14px;
	font-size: 1.4rem;
		left: 5px;
}
#main_style a:hover.btn_positive {
	text-decoration: none;
	opacity: .6;
	transition: .3s;
}
/* 戻る 閉じる 削除 */
#main_style a.btn_negative {
	background: #ddd;
	border-radius: 4px;
	color: #000;
	display: inline-flex;
		align-items: center;
		justify-content: center;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
	min-width: 128px;
	padding: 12px;
	text-align: center;
	transition: .3s;
}
#main_style a.btn_negative span {
	padding-left: 20px;
	position: relative;
}
#main_style a.btn_negative span::before {
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	position: absolute;
	left: 0;
}
#main_style a.btn_negative.page_back span::before {
	content: "\f053";
	top: 3px;
}
#main_style a.btn_negative.page_close span::before {
	content: "\f00d";
	top: 3px;
}
#main_style a.btn_negative.info_delete span::before {
	content: "\f2ed";
	font-weight: normal;
	top: 2px;
}
#main_style a.btn_negative.info_clear span::before {
	content: "\f12d";
	top: 2px;
}
#main_style a:hover.btn_negative {
	opacity: .6;
	text-decoration: none;
	transition: .3s;
}
/*-----------------------------------------------------------------------------
|
|■┓青枠ボタン
|┗┛
-----------------------------------------------------------------------------*/
#main_style a.btn_conf {
	background: #fff;
	border: 1px solid #009ce5;
	border-radius: 4px;
	color: #009ce5;
	display: inline-block;
	font-family: inherit;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.6;
	padding: 6px 12px;
	text-align: center;
	text-decoration: none;
	transition: .3s;
	white-space: nowrap;
	min-width: 112px;
}
#main_style a:hover.btn_conf {
	opacity: .6;
	transition: .3s;
}
#main_style a.btn_conf span::before,
#main_style a.btn_conf span::after {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	line-height: 1;
}
/* 非活性(グレーアウト) */
#main_style a.btn_conf.usr_stop.btn_disabled {
	background: #e9e9e9;
	border: 1px solid #e9e9e9;
	color: #b5b5b5;
}
#main_style a:hover.btn_conf.usr_stop.btn_disabled {
	cursor:default;
	opacity: 1;
}
/* 閲覧する 書類閲覧 */
#main_style a.btn_conf.show span::before {
	content: "\f06e";
	font-size: 17px;
	font-size: 1.7rem;
	margin-right: 6px;
	vertical-align: -2px;
}
/* 削除する */
#main_style a.btn_conf.delete span::before {
	content: "\f2ed";
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 8px;
	vertical-align: -1px;
}
/* 利用を停止する */
#main_style a.btn_conf.usr_stop span::before {
	content: "\f506";
	margin-right: 6px;
}
/* 利用停止を取消す */
#main_style a.btn_conf.usr_stopundo span::before {
	content: "\f2ea";
	margin-right: 6px;
}
/* 利用を再開する */
#main_style a.btn_conf.usr_start span::before {
	content: "\f234";
	margin-right: 6px;
}
/* 付与する */
#main_style a.btn_conf.admin_on span::before {
	content: "\f505";
	margin-right: 6px;
}
/* 剥奪する */
#main_style a.btn_conf.admin_off span::before {
	content: "\f007";
	font-weight: normal;
	margin-right: 6px;
}
/* ページ遷移マーク（内部リンク） */
#main_style a.btn_conf.internal_link span::after {
	font-size: 12px;
	font-size: 1.2rem;
	content: "\f0c1";
	margin-left: 8px;
}
/* すべてチェックする/すべてチェックを外す */
#main_style a.btn_conf.checkall,
#main_style a.btn_conf.uncheckall {
/*	width: 194px;*/
}
#main_style a.btn_conf.checkall {
	margin-right: 8px;
}
#main_style a.btn_conf.checkall span::before,
#main_style a.btn_conf.uncheckall span::before {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	margin-right: 8px;
	vertical-align: -1px;
}
#main_style a.btn_conf.checkall span::before {
	content: "\f14a";
}
#main_style a.btn_conf.uncheckall span::before {
	content: "\f0c8";
}
/*-----------------------------------------------------------------------------
|
|■┓青枠ボタン（小さい）
|┗┛
-----------------------------------------------------------------------------*/
#main_style a.btn_conf_sm {
	background: #fff;
	border: 1px solid #009ce5;
	border-radius: 4px;
	color: #009ce5;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.2;
	padding: 5px 8px 7px;
	text-decoration: none;
	transition: .3s;
	white-space: nowrap;
}
#main_style a:hover.btn_conf_sm {
	opacity: .6;
	transition: .3s;
}
#main_style a.btn_conf_sm span::before,
#main_style a.btn_conf_sm span::after {
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	line-height: 0;
	margin-right: 4px;
}
/* 変更 */
#main_style a.btn_conf_sm.ic_edit span::before {
	content: "\f044";
}
/* 無効化 */
#main_style a.btn_conf_sm.ic_ban span::before {
	content: "\f05e";
}
/* 有効化 */
#main_style a.btn_conf_sm.ic_check span::before {
	content: "\f058";
	font-size: 13px;
	font-size: 1.3rem;
}
/* 選択 */
#main_style a.btn_conf_sm.ic_select span::before {
	content: "\f191";
	font-size: 13px;
	font-size: 1.3rem;
	vertical-align: -1px;
}
/* 表示 */
#main_style a.btn_conf_sm.ic_display span::before {
	content: "\f518";
	font-size: 12px;
	font-size: 1.2rem;
	vertical-align: -1px;
}
/* ポップアップマーク */
#main_style a.btn_conf_sm.popup_link span::after {
	font-size: 10px;
	font-size: 1.0rem;
	font-weight: normal;
	content: "\f2d2";
	margin-left: 8px;
	vertical-align: 1px;
}

/*-----------------------------------------------------------------------------
|
|■┓シンプルなお知らせ
|┗┛
-----------------------------------------------------------------------------*/
#main_style .info_caution { /* 暫定スタイルのため、シンプルにしました */
	/*
	background: #ffe4e1;
	background-image: linear-gradient(
-45deg, #f8efef 25%, #fff 25%, #fff 50%, #f8efef 50%, #f8f4ef 75%, #fff 75%, #fff);
	background-size: 7px 7px;
	*/
	color: red;
	display: flex;
		align-items: center;
		justify-content: flex-start;
	padding: 24px;
	width: 100%;
}
#main_style .info_caution > p {
	display: inline-block;
	font-size: 22px;
	font-size: 2.2rem;
}
/*-----------------------------------------------------------------------------
|
|■┓ご注意枠
|┗┛
-----------------------------------------------------------------------------*/
#main_style .caution_box {
	border: 2px solid #e00;
	border-radius: 4px;
	background: #fef7f7;
	display: inline-block;
	/*margin-bottom: 2.5em;*/
	margin-bottom: 16px;
	/*padding: 12px 16px;*/
	padding: 24px;
	width: 100%;
}
#main_style .caution_box .caution_ttl {
	color: #e00;
	margin-bottom: 4px;
}
#main_style .caution_box .caution_ttl::before {
	font-size: 14px;
	font-size: 1.4rem;
	font-family: FontAwesome;
	content: "\f071";
	margin-right: 4px;
}
#main_style .caution_box ul li:last-child {
	margin-bottom: 0;
}
#main_style .caution_box p {
	margin-bottom: 0;
}
/*-----------------------------------------------------------------------------
|
|■┓確認用チェックボックス(.apply_flag_area)
|┗┛
-----------------------------------------------------------------------------*/
#main_style .apply_flag_area {
	background: #f9f9f9;
	margin-top: 64px;
	padding: 12px 8px;
	text-align: center;
}
#main_style .apply_flag_area label {
	margin-right: 0;
	text-align: left;
}
/*-----------------------------------------------------------------------------
|
|■┓submitボタン格納要素(.submit_area)
|┗┛
-----------------------------------------------------------------------------*/
#main_style .submit_area {
	display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 16px;
	margin-top: 24px;
}
#main_style .submit_area.one {
		align-items: center;
		justify-content: center;
}
#main_style .submit_area.single_right {
		justify-content: flex-end;
}
#main_style .submit_area.center {
		justify-content: center;
}
#main_style .submit_area .submit_right {
	display: flex;
		gap: 16px;
}
#main_style .apply_flag_area + .submit_area {
	margin-top: 40px
}
/*-----------------------------------------------------------------------------
|
|■┓テキスト
|┗┛input、textarea の指定
-----------------------------------------------------------------------------*/
#main_style .sub_txt {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style .input_short {
	width: 128px;
}
#main_style .input_middle {
	width: 240px;
}
#main_style .input_middle_long {
	width: 400px;
}
#main_style .input_long {
	width: 480px;
}
/* textarea */
#main_style textarea {
	width: 100%;
	height: 64px;
}
#main_style textarea.w400px {
	width: 400px;
}
#main_style textarea.w560px {
	width: 560px;
}
#main_style textarea.w720px {
	width: 720px;
}
#main_style textarea.row3 {
	height: 88px;
}
#main_style textarea.row4 {
	height: 112px;
}
#main_style textarea.row5 {
	height: 136px;
}
#main_style textarea.row6 {
	height: 160px;
}

/*==================================================================================================
|
|セカンダリページ
|
==================================================================================================*/
/*-----------------------------------------------------------------------------
|
|■┓全体要素
|┗┛
-----------------------------------------------------------------------------*/
main#main {
	/*padding-top: 16px;*/
	padding-top: 40px;
	z-index: 1;
}
/*-------------------
セカンダリページ用2カラム設定
--------------------------------------------------*/
#two_column {
	display: flex;
		flex-wrap: wrap;
}
#two_column > .main_column { /* 左コンテンツ */
	margin-right: 32px;
	width: calc(75% - 32px);
}
#two_column > .side_column { /* 右コンテンツ */
	border-left: 1px solid #efefef;
	padding-left: 32px;
	width: 25%;
}
/*-------------------
ポップアップで表示されるページ
--------------------------------------------------*/
body#pop_page {
	padding-top: 0;
	min-width: auto;
}
/*-------------------
2カラム（右カラムは縮まない）
--------------------------------------------------*/
#main_style .column_2 {
	display: flex;
		justify-content: space-between;
}
#main_style .column_2 .column_right {
	flex-basis: 10%;
	flex-shrink: 0;
	margin-left: 24px;
}
/*-------------------
説明文エリア
--------------------------------------------------*/
#main_style .explanatory {
	margin-bottom: 32px;
}
/*-------------------
エラーメッセージ
--------------------------------------------------*/
#main_style .error {
	color: #f00;
	margin-bottom: 24px;
}
#main_style .error .error_sub {
	color: #999;
}
/*-------------------
テーブルの操作ボタン
--------------------------------------------------*/
#main_style .control_tbl {
	display: flex;
		align-items: center;
		justify-content: space-between;
	line-height: 1;
	margin: 24px 0 12px;
}
#main_style .control_tbl .num_all {
	margin: 0 2px;
}
#main_style .control_tbl .num_active {
	font-size: 20px;
	font-size: 2.0rem;
	margin: 0 4px;
}
/* X件表示ボタン */
#main_style button.btn_showlist {
	background: #fff;
	border: 1px solid #009ce5;
	border-radius: 4px;
	color: #009ce5;
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
	padding: 5px 8px;
	text-decoration: none;
	transition: .3s;
	white-space: nowrap;
}
#main_style button.btn_showlist:disabled,
#main_style button:hover.btn_showlist:disabled {
	opacity: .5;
	cursor: default;
}
#main_style button:hover.btn_showlist {
	opacity: .6;
	transition: .3s;
}
#main_style button.btn_showlist span::before {
	background: #009ce5;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	font-size: 9px;
	font-size: .9rem;
	font-weight: bold;
	margin-right: 6px;
	padding: 2px 2px 1px;
	vertical-align: 1px;
}
#main_style button.btn_showlist.ic_new span::before {
	content: "NEW";
}
#main_style button.btn_showlist.ic_all span::before {
	content: "ALL";
}
/*-------------------
入力フォーム関係
--------------------------------------------------*/
#main_style .sub_item {
	display: inline-block;
	color: #666;
	font-size: 14px;
	font-size: 1.4rem;
	margin-right: 4px;
	white-space: nowrap;
	min-width: 3.2em;
}
#main_style input + .sub_item {
	margin-left: 1em;
}
#main_style a.clear_code {
	color: #888;
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 8px;
	text-decoration: underline;
	vertical-align: -2px;
}
#main_style a:hover.clear_code {
	text-decoration: none;
}
#main_style .post_code {
	display: flex;
		align-items: center;
}
#main_style .post_code > div:first-child {
	white-space: nowrap;
	margin-right: 0;
	padding: 3px 0 1px;
}
/* textarea に placeholoder  */
#main_style .textarea_placeholder {
	position: relative;
}
#main_style .textarea_placeholder textarea {
	resize: none; /* 疑似 placeholder が textarea からはみ出さないように。リサイズさせない */
	background: transparent;
	z-index: 2;
}
#main_style .textarea_placeholder .placeholder_contents {
	display: none;
	margin: 6px 0;
	overflow-y: hidden;/* textarea が上に重なるのでスクロールは不可 */
	opacity: .8;
	padding: 4px 8px;
	position: absolute;
		top: 0;
		left: 0;
	width: 0;
	height: 0;
}

/*-----------------------------------------------------------------------------
|
|■┓従業員情報登録・管理・管理者設定
|┗┛
-----------------------------------------------------------------------------*/
/*-------------------
従業員一括登録
--------------------------------------------------*/
/* 登録ファイル選択 */
#main_style label.select_file {
	background: #f2b200;
	border-radius: 4px;
	color: #fff;
	display: inline-flex;
		align-items: center;
		justify-content: center;
	padding: 8px 24px;
	transition: all .3s;
}
#main_style label.select_file::before {
	content: "\f15b";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	margin-right: 12px;
}
#main_style label.select_file input[type="file"] {
	display: none;
}
#main_style label:hover.select_file {
	opacity: .6;
}
#main_style .wrap_selected_filename {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 4px 0 16px;
}
#main_style #selected_filename {
	font-size: 18px;
	font-size: 1.8rem;
	margin-top: 4px;
}
/*-------------------
従業員検索結果
--------------------------------------------------*/
#main_style .paging_tbl {
	display: flex;
		justify-content: center;
	margin: 16px 0;
}
#main_style .paging_tbl > * {
	display: block;
}
#main_style .paging_tbl > *:nth-child(1),
#main_style .paging_tbl > *:nth-child(2) {
	margin-right: 24px;
}
#main_style .paging_tbl > *:nth-last-child(1),
#main_style .paging_tbl > *:nth-last-child(2) {
	margin-left: 24px;
}
#main_style .paging_tbl .highlignt,
#main_style .paging_tbl .page {
	display: flex;
		justify-content: center;
	border: 1px solid #009ce5;
	border-radius: 4px;
	min-width: 32px;
	margin: 0 2px;
}
#main_style .paging_tbl .highlignt,
#main_style .paging_tbl .page:hover {
	background: #009ce5;
	color: #fff;
	transition: all .3s;
	text-decoration: none;
}
#main_style .paging_tbl a {
	color: #009ce5;
}
#main_style .paging_tbl a:hover {
	color: orangered;
}
#main_style .paging_tbl .grayout {
	color: #999;
	cursor: default;
}
#main_style .mk_dat {
	display: inline-block;
	position: relative;
	width: 16px;
	height: 16px;
}
#main_style .mk_dat::before,
#main_style .mk_dat::after {
	background: #e00;
	content: "";
	display: block;
	position: absolute;
		top: 8px;
		left: 0;
	width: 18px;
	height: 3px;
}
#main_style .mk_dat::before {
	transform: rotate(45deg);
}
#main_style .mk_dat::after {
	transform: rotate(-45deg);
}
#main_style .mk_dat span {
	display: none;
}
#main_style .tbl_registlist.search_result th.admin_privil {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.1;
	padding: 4px;
}
#main_style .tbl_registlist.search_result td.dad {
	text-align: center;
}
#main_style .tbl_registlist.search_result td.admin_privil {
	color: #009ce5;
	text-align: center;
}
#main_style .tbl_registlist.search_result td.admin_privil i {
	margin-right: -4px;
}
#main_style .tbl_registlist.search_result td.gender {
	white-space: nowrap;
}

/*-----------------------------------------------------------------------------
|
|■┓会社情報管理
|┗┛
-----------------------------------------------------------------------------*/
#main_style .region_item {
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
/*
	font-weight: bold;
*/
	padding-right: .5em;
	width: 9.5em;
	white-space: nowrap;
	text-align: left;
}
#main_style .region_item .icon_required {
	font-weight: normal;
}
/*-----------------------------------------------------------------------------
|
|■┓請求情報
|┗┛
-----------------------------------------------------------------------------*/
#main_style .change_ym {
	border-bottom: 1px dashed #ccc;
	margin: 24px 0;
	padding-bottom: 16px;
}
#main_style .change_ym .change_ym_ttl {
	font-size: 14px;
	font-size: 1.4rem;
}
#main_style .change_ym select {
	font-size: 18px;
	font-size: 1.8rem;
	margin-right: 8px;
	padding-left: 24px;
	padding-right: 32px;
}
#main_style .change_ym select[name="slevelM"]{
	margin-left: 8px;
}
#main_style .change_ym input[type="button"] {
	font-size: 18px;
	font-size: 1.8rem;
	margin-left: 4px;
	padding: 3px 12px 2px;
}
#main_style table.tbl_invoice tr td {
	font-size: 16px;
	font-size: 1.6rem;
}
#main_style table.tbl_invoice tr td.invoice_date {
	text-align: center;
}
#main_style table.tbl_invoice tr td.invoice_money {
	text-align: right;
}
#main_style table.tbl_invoice a.link_pdf,
#main_style table.tbl_invoice a.link_xlsx {
	display: flex;
		flex-wrap: wrap;
		justify-content: center;
	line-height: 1;
	margin: 0 auto;
	transition: all .3s;
	width: 48px;
}
#main_style table.tbl_invoice a.link_pdf::before,
#main_style table.tbl_invoice a.link_xlsx::before {
	font-family: "FontAwesome";
	font-size: 32px;
	font-size: 3.2rem;
}
#main_style table.tbl_invoice a.link_pdf::before {
	color: #ad0b00;
	content: "\f1c1";
}
#main_style table.tbl_invoice a.link_xlsx::before { 
	color: #126836;
	content: "\f1c3";
}
#main_style table.tbl_invoice a.link_pdf > div,
#main_style table.tbl_invoice a.link_xlsx > div {
	color: #333;
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 3px;
}
#main_style table.tbl_invoice a.link_pdf > div > span,
#main_style table.tbl_invoice a.link_xlsx > div > span {
	text-decoration: underline;
}
#main_style table.tbl_invoice a.link_pdf > div::before,
#main_style table.tbl_invoice a.link_xlsx > div::before {
	color: #777;
	content: "\f019";
	font-family: "FontAwesome";
	margin-right: 4px;
}
#main_style table.tbl_invoice a:hover.link_pdf,
#main_style table.tbl_invoice a:hover.link_xlsx {
	opacity: .6;
	text-decoration: none;
}
/*-----------------------------------------------------------------------------
|
|■┓給付金申請承認
|┗┛
-----------------------------------------------------------------------------*/
#main_style table.normal.tbl_calendar .calendar {
	display: inline-flex;
		align-items: center;
		gap: 4px;
}
#main_style table.normal.tbl_calendar .calendar .input_short {
	text-align: center;
	width: 104px;
}
#main_style table.normal.tbl_calendar .calendar img {
	cursor: pointer;
	transition: .3s;
	max-width: none;
}
#main_style table.normal.tbl_calendar .calendar img:hover {
	opacity: .6;
	transition: .3s;
}
#main_style .submit_area.allCheck {
		align-items: flex-end;
}
#main_style .tbl_registlist tr td.checkbox {
	min-width: 56px;
}
#main_style .tbl_registlist tr td.applicant {
	word-break: break-word;
}
#main_style .tbl_registlist tr td.aproved {
	color: #009ce5;
}
/*########################################################################################
|
|ログインページスタイル
|
########################################################################################*/
/*-----------------------------------------------------------------------------
|
|■┓ログインボックス
|┗┛
-----------------------------------------------------------------------------*/
.login_box {
	background: #fff;
	border: 1px solid #ccc;
	display: flex;
		flex-wrap: wrap;
}
.login_box > .left_container {
	border-right: 1px solid #ccc;
	padding: 48px;
	width: 55%;
}
.login_box > .left_container .ttl_login {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	margin: 0 auto .5em;
	text-align: center;
}
.login_form {
	margin-bottom: 3px;
}
.login_form input[type="text"],
.login_form input[type="password"] {
	font-family: FontAwesome, "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2;
	padding: 8px;
	width: 100%;
}
.login_form input:focus {
	padding: 8px;
}
.login_btn {
	display: flex;
		flex-direction: column;
		align-items: flex-end;
	margin: 18px 24px 8px;
}
.login_btn a.btn_login {
	background: #009ce5;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.0;
	margin-bottom: 8px;
	padding: 18px 12px;
	transition: all .2s;
	width: 100%;
}
.login_btn a:hover.btn_login {
	opacity: .6;
	text-decoration: none;
}
.login_box a.link_arrow {
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	position: relative;
	text-decoration: underline;
	text-underline-offset: .15em;
}
.login_box .get_password {
	line-height: 1.3;
	margin-top: 4px;
	text-align: right; 
}
.login_box a.link_arrow::before {
	content: "\f061";
	color: #333;
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
	padding-right: 4px;
}
.login_box a:hover.link_arrow {
	text-decoration: none;
}
.login_box > .right_container {
	width: 45%;
}
.login_box .system_requirements {
	padding: 24px 32px;
}
.login_box .sub_ttl {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	text-indent: -.5em;
	margin: .5em;
	padding-left: 1em;
}
.login_box .sub_ttl i {
	margin-right: 4px;
}
/*-----------------------------------------------------------------------------
|
|■┓ログアウト
|┗┛
-----------------------------------------------------------------------------*/
#main_style .page_transition {
	margin-top: 64px;
	text-align: center;
}
#main_style a.btn_to_top {
	border: 1px solid #009ce5;
	color: #009ce5;
	display: inline-block;
	padding: 6px 12px 8px;
}
#main_style a.btn_to_top i {
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 8px;
}
#main_style a:hover.btn_to_top {
	background-color: #009ce5;
	color: #fff;
	text-decoration: none;
}
/*-----------------------------------------------------------------------------
|
|■┓管理者用パスワード取得
|┗┛
-----------------------------------------------------------------------------*/
#main_style .reissue_pw {
	display: flex;
		flex-wrap: wrap;
}
#main_style .reissue_pw > div:first-child {
	margin: 0 8px 1em 0;
}
#main_style .reissue_pw > div:first-child.contact_send {
	width: 100%;
}
#main_style .reissue_pw input {
	margin: 0;
	width: 400px;
	height: 48px;
}
#main_style .reissue_pw a.btn_positive.do_submit {
	height: 48px;
}
/* 確認のポップアップ */
#popup_name_script .apply_flag_area {
	margin-top: 24px;
}
#popup_name_script .popup_base_contents_text_message {
	color:red;
	font-weight:bold;
	margin-top: 16px;
	text-align:center;
}
#popup_name_script a {
	text-decoration:none;
}
/*-----------------------------------------------------------------------------
|
|■┓企業福利厚生ポイント・インセンティブポイント選択フォーム
|┗┛
-----------------------------------------------------------------------------*/
.confirm_note {
	background: #f9fcff;
	border: 1px solid #ccc;
	padding: 40px;
	margin: 40px 0;
}
.caution_line {
	color: red;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
}
.caution_line span {
	background:linear-gradient(transparent 60%, #ff6 60%);
}
.confirm_note_select {
	font-size: 26px;
	font-size: 2.6rem;
	margin: 40px 40px 80px;
	text-align: center;
}
.confirm_note_select.confirm {
	margin: 0;
}
.confirm_note > .confirm:nth-of-type(1) {
	margin-bottom: 40px;
}

.confirm_note_select > div:nth-of-type(1) {
	margin-bottom: 16px;
}
.confirm_note_select > div:nth-of-type(2) select {
	background-size: 20px;
	background-position: right 16px top 50%;
	padding: 16px 48px 16px 16px;
}

.confirm_note > h4 {
	font-size: 20px !important;
	font-weight: 500 !important;
	padding-left: 20px !important;
}
.confirm_note > h4::before {
	font-size: 16px !important;
	font-weight: 300 !important;
		top: calc(50% - 10px) !important;
}

table.normal.confirm_note_tbl {
	background: #fff !important;
	min-width: 100% !important;
}
table.normal.confirm_note_tbl thead th {
	background: #009ce5 !important;
}
table.normal.confirm_note_tbl tbody th {
	background: #fbf2f2 !important;
}
table.normal.confirm_note_tbl tbody td {
	text-align: center !important;
}



/* 大きいsubmitボタン */
a.btn_positive.bigbtn {
	font-size: 30px !important;
	padding: 40px 80px !important;
}
a.btn_positive.do_submit.bigbtn span::before {
	font-size: 24px !important;
	top: calc(50% - 12px) !important;
	left: 0 !important;
}
