@charset "UTF-8";

/* 変数 */
:root {
	/* 文字サイズ */
	--font-size-lll: 1.4rem; /* 22.4px */
	--font-size-ll: 1.2rem; /* 19.2px */
	--font-size-l: 1.1rem; /* 17.6px */
	--font-size-main: 1rem; /* 16px */
	--font-size-m: 0.9rem; /* 14.4px */
	--font-size-s: 0.85rem; /* 13.6px */
	--font-size-ss: 0.8rem; /* 12.8px */
	--font-size-sss: 0.75rem; /* 12px */
}

/* font */
/* 現在はCDNでの読込みとする */
/*
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../fonts/NotoSansJP-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('../fonts/NotoSansJP-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

*/

.fontSizeLLL {
	font-size: var(--font-size-lll) !important;
}

.fontSizeLL {
	font-size: var(--font-size-ll) !important;
}

.fontSizeL {
	font-size: var(--font-size-l) !important;
}

.fontSizeMain {
	font-size: var(--font-size-main) !important;
}

.fontSizeM {
	font-size: var(--font-size-m) !important;
}

.fontSizeS {
	font-size: var(--font-size-s) !important;
}

.fontSizeSS {
	font-size: var(--font-size-ss) !important;
}

.fontSizeSSS {
	font-size: var(--font-size-sss) !important;
}

/* revert */
.revertStyle * {
	font-size: revert;
	font-weight: revert;
	line-height: revert;
	padding: revert;
	margin: revert;
	display: revert;
	box-sizing: revert;
	height: revert;
	overflow: revert;
	background: revert;
	border: revert;
	text-decoration: revert;
	position: revert;
	vertical-align: revert;
	text-transform: revert;
	outline: revert;
	white-space: revert;
}

/* input-password */
.passwordEye {
	cursor: pointer;
	position: absolute;
	top: 5px;
	right: 10px;
}

input[name="password"].form-control.form-control--extend.is-invalid + .passwordEye,
input[name="password"].form-control.form-control--extend.is-valid + .passwordEye,
.was-validated input[type="password"].form-control.form-control--extend:invalid + .passwordEye,
.was-validated input[type="password"].form-control.form-control--extend:valid + .passwordEye {
	right: 35px;
}

input[name="password"].form-control.form-control--extend,
input[name="password"].form-control.form-control--extend {
	padding-right: 40px;
}

input[name="password"].form-control.form-control--extend.is-invalid,
input[name="password"].form-control.form-control--extend.is-valid,
input.was-validated input[type="password"].form-control.form-control--extend:invalid,
input.was-validated input[type="password"].form-control.form-control--extend:valid {
	padding-right: 65px;
}

/* Edge パスワード目アイコン非表示 */
input::-ms-reveal {
	display: none;
}

/* パスワード 弱中強 */
.pwWeakTxt {
	color: #ff3b30 !important;
	opacity: 1;
	filter: drop-shadow(4px 4px 4px #fff);
}

.form-control.is-valid.pwWeak {
	border-color: #ff3b30;
	box-shadow: 0 0 0 0.25rem rgba(255, 59, 48, 0.25);
}

.pwMediumTxt {
	color: #ecd02d !important;
	opacity: 1;
	filter: drop-shadow(4px 4px 4px #fff);
}

.form-control.is-valid.pwMedium {
	border-color: #ecd02d;
	box-shadow: 0 0 0 0.25rem rgba(236, 208, 45, 0.25);
}

.pwStrongTxt {
	color: #00995e !important;
	opacity: 1;
	filter: drop-shadow(4px 4px 4px #fff);
}

.form-control.is-valid.pwStrong {
	border-color: #00995e;
	box-shadow: 0 0 0 0.25rem rgba(0, 153, 94, 0.25);
}

/* パスワードバー */
.pwBar hr {
	margin-bottom: 4px;
	width: 32%;
	height: 3px;
}

/** utilityスタイル start **/

/* width */
.w40 {
	width: 40px !important;
}

.w50 {
	width: 50px !important;
}

.w60 {
	width: 60px !important;
}

.w70 {
	width: 70px !important;
}

.w80 {
	width: 80px !important;
}

.w90 {
	width: 90px !important;
}

.w100 {
	width: 100px !important;
}

.w110 {
	width: 110px !important;
}

.w120 {
	width: 120px !important;
}

.w130 {
	width: 130px !important;
}

.w140 {
	width: 140px !important;
}

.w150 {
	width: 150px !important;
}

.w160 {
	width: 160px !important;
}

.w200 {
	width: 200px !important;
}

.w250 {
	width: 250px !important;
}

.w300 {
	width: 300px !important;
}

.w450 {
	width: 450px !important;
}

/* min-width */
.mw40 {
	min-width: 40px !important;
}

.mw50 {
	min-width: 50px !important;
}

.mw60 {
	min-width: 60px !important;
}

.mw70 {
	min-width: 70px !important;
}

.mw80 {
	min-width: 80px !important;
}

.mw90 {
	min-width: 90px !important;
}

.mw100 {
	min-width: 100px !important;
}

.mw110 {
	min-width: 110px !important;
}

.mw120 {
	min-width: 120px !important;
}

.mw130 {
	min-width: 130px !important;
}

.mw140 {
	min-width: 140px !important;
}

.mw150 {
	min-width: 150px !important;
}

.mw160 {
	min-width: 160px !important;
}

.mw200 {
	min-width: 200px !important;
}

.mw250 {
	min-width: 250px !important;
}

.mw300 {
	min-width: 300px !important;
}

.mw450 {
	min-width: 450px !important;
}

/* min-height */
.mh2rem {
	min-height: 2rem !important; 
}

.mh2hrem {
	min-height: 2.5rem !important; 
}

.mh3rem {
	min-height: 3rem !important; 
}

.mh4rem {
	min-height: 4rem !important; 
}

.mh5rem {
	min-height: 5rem !important; 
}

/* max-height */
.mxh5rem {
	max-height: 5rem !important;
}

.mxh10rem {
	max-height: 10rem !important;
}

.mxh20rem {
	max-height: 20rem !important;
}

/* 省略表示（1行） */
.abbreviatedTxt1 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

/* 省略表示（2行） */
.abbreviatedTxt2 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* 省略表示（3行） */
.abbreviatedTxt3 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

/* 太字 */
.fontBold {
	font-weight: 700 !important;
}

/* ボタン字間（1/2文字スペース） */
.letterSpaceHalf {
	letter-spacing: 0.5rem;
	text-indent: 0.5rem;
}

/* ボタン字間（1/4文字スペース） */
.letterSpaceQuarter {
	letter-spacing: 0.25rem;
	text-indent: 0.25rem;
}

/* 最小の高さ（1文字分） */
.minHeight1 {
	min-height: 1rem;
}

/* 下線なし */
.noUnderline {
	text-decoration: none;
}

/* flex:1効果 */
.flex1 {
	flex: 1;
}

/* テーブルレイアウト固定 */
.fixedTable {
	table-layout: fixed !important;
}

/* 文字オーバーフロー対策 */
.breakAll {
	word-break: break-all;
}

.breakWord {
	overflow-wrap: break-word;
}

/* min-width初期化 */
.minWidth0 {
	min-width: auto !important;
}

/* d-blockの!important回避 */
.dispBlock {
	display: block;
}

/* d-flexの!important回避 */
.dispFlex {
	display: flex;
}

/* cursor初期化 */
.cursorInitial {
	cursor: initial !important;
}

/* 改行コード反映 */
.wsPreWrap {
	white-space: pre-wrap !important;
}

/* ホワイトスペース統合解除 */
.wsBreakspace {
	white-space: break-spaces;
}

/** utilityスタイル end **/

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge {
	visibility: hidden;
}

/* フォームコントロール非活性時のラベル文字色変更 */
.form-check-input:disabled + label {
	opacity: 0.5;
}

/* 画面チラつき防止 */
body {
	overflow-y: scroll;
	overflow-wrap: break-word;
	opacity: 0;
	transition: opacity 1.5s ease-in;
}

body.loaded {
	opacity: 1;
}

/* ローディングレイヤー （画面ロック用） */
@keyframes loading_fadein {
	0% {
		opacity: 0.0
	}
	75% {
		opacity: 0.0
	}
	100% {
		opacity: 1.0
	}
}

.loading {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 30100;
	background-color: rgba(127, 127, 127, 0.1);
	animation-name: loading_fadein;
	animation-duration: 1.5s;
}

.spinner {
	display: none;
	z-index: 30200;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
}

/* datatables2系の是正 */
/* 数値および日付データ列の文字揃え */
table.dataTable th.dt-type-numeric,table.dataTable th.dt-type-date,table.dataTable td.dt-type-numeric,table.dataTable td.dt-type-date {
    text-align:initial;
}

table.dataTable th.dt-type-numeric div.dt-column-header,table.dataTable th.dt-type-numeric div.dt-column-footer,table.dataTable th.dt-type-date div.dt-column-header,table.dataTable th.dt-type-date div.dt-column-footer,table.dataTable td.dt-type-numeric div.dt-column-header,table.dataTable td.dt-type-numeric div.dt-column-footer,table.dataTable td.dt-type-date div.dt-column-header,table.dataTable td.dt-type-date div.dt-column-footer {
    flex-direction: initial;
}

*[dir=rtl] table.dataTable th.dt-type-numeric,*[dir=rtl] table.dataTable th.dt-type-date,*[dir=rtl] table.dataTable td.dt-type-numeric,*[dir=rtl] table.dataTable td.dt-type-date {
    text-align: initial;
}
