@charset "UTF-8";
/** 基本 css */

img { max-width: 100%; vertical-align: bottom; }
.content { position: relative; }

.hid { display: none !important; }
.hidden { height: 0 !important; line-height: 0 !important; padding: 0 !important; border: 0 !important; margin: 0 !important; position: absolute; }

/* スクロールバー非表示 */
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display:none; }
/* numberのスピンボタン無し */
input[type="number"].no-spin::-webkit-outer-spin-button, input[type="number"].no-spin::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"].no-spin { -moz-appearance:textfield; }

/* 範囲選択禁止 */
.no-selected {
 -webkit-touch-callout: none;
 -webkit-user-select: none;
 -khtml-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
}

#to-top { display: none; z-index: 11; opacity: 0.7; line-height: 26px; width: 36px; min-width: 36px; height: 30px; min-height: 30px; position: fixed;
/*  right: 20px; */
/*  bottom: 20px; */
 left: calc(100vw / 2 + (1200px / 2) - 50px);
 bottom: 35px;
}
#to-top:before { content: '\f062' }
#to-top:hover { opacity: 1.0; }
@media screen and (max-width: 1000px) { #to-top { right: 10px; } }

/* ピカッと光る */
.flash { cursor: pointer; }
.flash:hover { opacity: 1; -webkit-animation: flash 1s; animation: flash 1s; }
@-webkit-keyframes flash { 0% { opacity: 0.4; } 100% { opacity: 1; } }
@keyframes flash { 0% { opacity: 0.4; } 100% { opacity: 1; } }

/* 点滅 */
.blink {
 -webkit-animation: blink 1.5s ease-in-out infinite alternate;
 -moz-animation: blink 1.5s ease-in-out infinite alternate;
 animation: blink 1.5s ease-in-out infinite alternate;
}
.blink.ival02 {
 -webkit-animation: blink 0.2s ease-in-out infinite alternate;
 -moz-animation: blink 0.2s ease-in-out infinite alternate;
 animation: blink 0.2s ease-in-out infinite alternate;
}
.blink.ival05 {
 -webkit-animation: blink 0.5s ease-in-out infinite alternate;
 -moz-animation: blink 0.5s ease-in-out infinite alternate;
 animation: blink 0.5s ease-in-out infinite alternate;
}
.blink.ival08 {
 -webkit-animation: blink 0.8s ease-in-out infinite alternate;
 -moz-animation: blink 0.8s ease-in-out infinite alternate;
 animation: blink 0.8s ease-in-out infinite alternate;
}
.blink.ival10 {
 -webkit-animation: blink 1.0s ease-in-out infinite alternate;
 -moz-animation: blink 1.0s ease-in-out infinite alternate;
 animation: blink 1.0s ease-in-out infinite alternate;
}
.blink.ival15 {
 -webkit-animation: blink 1.5s ease-in-out infinite alternate;
 -moz-animation: blink 1.5s ease-in-out infinite alternate;
 animation: blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink { 0% { opacity: 0.5; } 100% { opacity: 1.0; } }
@-moz-keyframes blink { 0% { opacity: 0.5; } 100% { opacity: 1.0; } }
@keyframes blink { 0% { opacity: 0.5; } 100% { opacity: 1.0; } }

/* 寄せ */
.ta-c { text-align: center !important; }
.ta-l { text-align: left !important; }
.ta-r { text-align: right !important; }
.ta-sbs { -moz-text-align-last: justify; text-align-last: justify; text-justify: inter-ideograph; }
.ta-yen { text-align: right !important; }
.ta-yen:before { content: '\0a5'; } /* 円マーク */
.va-t { vertical-align: top !important; } /* 基本table tdタグ内 */
.va-m { vertical-align: middle !important; }
.va-b { vertical-align: bottom !important; }

/* 文字サイズ */
.fs-0 { font-size: 0px; }
.fs-min { font-size: 11px !important; }
.fs-sml { font-size: 13px !important; }
.fs-mid { font-size: 16px !important; }
.fs-lrg { font-size: 20px !important; }

.fw-b { font-weight: bold !important; }
.fw-n { font-weight: normal !important; }

 /* はみ出す部分を「...」 ※要幅指定 */
div:not([class]),td:not([class]),.ddd { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
*[class*="content"],*[class*="box"],*[class*="outer"],*[class*="inner"] { overflow: auto; text-overflow: clip; white-space: normal; word-break: break-all; }

/* タイトルが枠線に重なるBOX */
/*
 <div class="article-box">
  <div class="title"></div>
  <div class="body"></div>
 </div>
*/
.article-box { display: block; position: relative; margin: 2em 0; padding: 0.5em 0.5em 0.1em 0.5em; border: 1px dashed #555555; border: 1px dashed #555555; border-radius: 8px; overflow: inherit; border-radius: 8px; overflow: inherit; }
.article-box .title { position: absolute; display: inline-block; top: -0.7em; padding: 0 0.3em 0 0.3em; background-color: #ffffff; }
.article-box .body { padding: 0.5em 0.7em; }

.ttl i { margin-right: 0.3em; }

/* ajaxでのバックグラウンド編集系 */
[id^="ajax-"] { font-size: 13px; font-weight: bold; position: fixed; display: none; z-index: 103; line-height: 1.1; }
#ajax-exec { }
#ajax-exec:before { content: '\f110'; margin-right: 0.3em; font-family: "Font Awesome 5 Free"; font-weight: 900; }
#ajax-success { color: var(--success); }
#ajax-success:before { content: '\f058'; margin-right: 0.3em; font-family: "Font Awesome 5 Free"; font-weight: 900; }
#ajax-failure { color: var(--danger); }
#ajax-failure:before { content: '\f06a'; margin-right: 0.3em; font-family: "Font Awesome 5 Free"; font-weight: 900; }

/* 単位 */
/*.u-min:before, .u-min:after { font-size: 10px; }*/
/*.u-sml:before, .u-sml:after { font-size: 13px; }*/
.u-rank:not(:empty):after { content: '位'; font-size: 80%; margin-left: 0.1em; }
.u-score:not(:empty):after { content: '点'; font-size: 80%; margin-left: 0.1em; }
.u-percent:not(:empty):after { content: '%'; font-size: 80%; margin-left: 0.1em; }
.u-yen-bf:not(:empty):before { content: '\0a5'; font-size: 80%; font-family: 'Font Awesome 5 Free'; /*font-weight: 900;*/ margin-right: 0.1em; }
.u-yen-af:not(:empty):after { content: '円'; font-size: 80%; margin-left: 0.1em; }
.u-dyear:after { content: '年度'; font-size: 80%; margin-left: 0.1em; }
.u-month:after { content: '月'; font-size: 80%; margin-left: 0.1em; }

/* 単位 2025-10:java_template版 */
.u-per:not(:empty)::after { content: '%'; font-size: 80%; margin-left: 0.1em; }
.u-yen:not(:empty)::before { content: '\0a5'; font-size: 80%; font-family: 'Font Awesome 5 Free'; /*font-weight: 900;*/ margin-right: 0.1em; }
.u-jyen:not(:empty)::after { content: '円'; font-size: 80%; margin-left: 0.1em; }
.u-jyen-man:not(:empty)::after { content: '万円'; font-size: 80%; margin-left: 0.1em; }
.u-jyen-milman:not(:empty)::after { content: '百万円'; font-size: 80%; margin-left: 0.1em; }

.u-year:not(:empty)::after { content: '年'; font-size: 80%; margin-left: 0.1em; }
.u-year-st:not(:empty)::after { content: '年目'; font-size: 80%; margin-left: 0.1em; }
.u-year-fi:not(:empty)::after { content: '年度'; font-size: 80%; margin-left: 0.1em; }

.u-mon:not(:empty)::after { content: '月'; font-size: 80%; margin-left: 0.1em; }
.u-day:not(:empty)::after { content: '日'; font-size: 80%; margin-left: 0.1em; }
.u-hour:not(:empty)::after { content: '時'; font-size: 80%; margin-left: 0.1em; }
.u-h:not(:empty)::after { content: 'H'; font-size: 80%; margin-left: 0.1em; }
/*.u-min:not(:empty)::after { content: '分'; font-size: 80%; margin-left: 0.1em; } マネクトでは別のスタイルに仕様している */
.u-sec:not(:empty)::after { content: '秒'; font-size: 80%; margin-left: 0.1em; }

.u-man1:not(:empty)::after { content: '人'; font-size: 80%; margin-left: 0.1em; }
.u-man2:not(:empty)::after { content: '名'; font-size: 80%; margin-left: 0.1em; }
.u-age:not(:empty)::after { content: '歳'; font-size: 80%; margin-left: 0.1em; }

.u-strlen:not(:empty)::after { content: '文字'; font-size: 80%; margin-left: 0.1em; }
.u-cnt:not(:empty)::after { content: '件'; font-size: 80%; margin-left: 0.1em; }
.u-rank:not(:empty)::after { content: '位'; font-size: 80%; margin-left: 0.1em; }
.u-score:not(:empty)::after { content: '点'; font-size: 80%; margin-left: 0.1em; }
.u-pt1:not(:empty)::after { content: 'PT'; font-size: 80%; margin-left: 0.1em; }
.u-pt2:not(:empty)::after { content: 'pt'; font-size: 80%; margin-left: 0.1em; }
[data-u-fre]:not(:empty)::after { content: attr(data-u-fre); font-size: 80%; margin-left: 0.1em; }
[data-u-fre-bf]:not(:empty)::before { content: attr(data-u-fre-bf); font-size: 80%; margin-right: 0.1em; }

/** 丸で囲う数字 */
.enclo-no { position: relative; display: inline-block; min-width: 1em; min-height: 1em; font-size: 13px; }
.enclo-no:after { content: '　'; position: absolute; border: 1px solid #aaa; border-radius: 50%; width: 12px; height: 12px; left: 1px; top: 3px; }
.enclo-no.bla:after { border-color: #000; background-color: #000; }
.enclo-no.gra:after { border-color: #555; background-color: #555; }
.enclo-no:before { position: absolute; left: 5px; font-size: 90%; z-index: 1; }
.enclo-no.bla:before { color: #fff; }
.enclo-no.gra:before { color: #fff; }
.enclo-no.no1:before { content: '1'; }
.enclo-no.no2:before { content: '2'; }
.enclo-no.no3:before { content: '3'; }
.enclo-no.no4:before { content: '4'; }
.enclo-no.no5:before { content: '5'; }
.enclo-no.no6:before { content: '6'; }
.enclo-no.no7:before { content: '7'; }
.enclo-no.no8:before { content: '8'; }
.enclo-no.no9:before { content: '9'; }
.enclo-no.no10:before { content: '10'; letter-spacing: -2px; left: 2px; }
.enclo-no.no11:before { content: '11'; letter-spacing: -2px; left: 2px; }
.enclo-no.no12:before { content: '12'; letter-spacing: -2px; left: 2px; }
.enclo-no.no13:before { content: '13'; letter-spacing: -2px; left: 2px; }
.enclo-no.no14:before { content: '14'; letter-spacing: -2px; left: 2px; }
.enclo-no.no15:before { content: '15'; letter-spacing: -2px; left: 2px; }
.enclo-no.no16:before { content: '16'; letter-spacing: -2px; left: 2px; }
.enclo-no.no17:before { content: '17'; letter-spacing: -2px; left: 2px; }
.enclo-no.no18:before { content: '18'; letter-spacing: -2px; left: 2px; }
.enclo-no.no19:before { content: '19'; letter-spacing: -2px; left: 2px; }
.enclo-no.no20:before { content: '20'; letter-spacing: -2px; left: 2px; }

.kurukuru::before { content: '\f110'; font-family: 'Font Awesome 5 Free'; font-weight: 900; transform: rotate(0deg); animation: rotate20 0.9s infinite; display: inline-block; margin-right: 0.2em; opacity: 0.5; }
/* 回転(20分割) */
@keyframes rotate20 { 0%{ rotate: 0deg; } 5%{ rotate: 18deg; } 10%{ rotate: 36deg; } 15%{ rotate: 54deg; } 20%{ rotate: 72deg; } 25%{ rotate: 90deg; } 30%{ rotate: 108deg; } 35%{ rotate: 126deg; } 40%{ rotate: 144deg; } 45%{ rotate: 162deg; } 50%{ rotate: 180deg; } 55%{ rotate: 198deg; } 60%{ rotate: 216deg; } 65%{ rotate: 234deg; } 70%{ rotate: 252deg; } 75%{ rotate: 270deg; } 80%{ rotate: 288deg; } 85%{ rotate: 306deg; } 90%{ rotate: 324deg; } 95%{ rotate: 342deg; } 100%{ rotate: 360deg; } }
@-webkit-keyframes rotate20 { 0%{ rotate: 0deg; } 5%{ rotate: 18deg; } 10%{ rotate: 36deg; } 15%{ rotate: 54deg; } 20%{ rotate: 72deg; } 25%{ rotate: 90deg; } 30%{ rotate: 108deg; } 35%{ rotate: 126deg; } 40%{ rotate: 144deg; } 45%{ rotate: 162deg; } 50%{ rotate: 180deg; } 55%{ rotate: 198deg; } 60%{ rotate: 216deg; } 65%{ rotate: 234deg; } 70%{ rotate: 252deg; } 75%{ rotate: 270deg; } 80%{ rotate: 288deg; } 85%{ rotate: 306deg; } 90%{ rotate: 324deg; } 95%{ rotate: 342deg; } 100%{ rotate: 360deg; } }
@-moz-keyframes rotate20 { 0%{ rotate: 0deg; } 5%{ rotate: 18deg; } 10%{ rotate: 36deg; } 15%{ rotate: 54deg; } 20%{ rotate: 72deg; } 25%{ rotate: 90deg; } 30%{ rotate: 108deg; } 35%{ rotate: 126deg; } 40%{ rotate: 144deg; } 45%{ rotate: 162deg; } 50%{ rotate: 180deg; } 55%{ rotate: 198deg; } 60%{ rotate: 216deg; } 65%{ rotate: 234deg; } 70%{ rotate: 252deg; } 75%{ rotate: 270deg; } 80%{ rotate: 288deg; } 85%{ rotate: 306deg; } 90%{ rotate: 324deg; } 95%{ rotate: 342deg; } 100%{ rotate: 360deg; } }



/* 2025-08:追加 */
/* ()で囲う */
.kk-wrap { display: inline-flex; align-items: center; }
.kk-wrap::before { content: '('; font-size: 80%; margin-right: 0.2em; }
.kk-wrap::after { content: ')'; font-size: 80%; margin-left: 0.2em; }

[data-ie="init"] .edit-only,
[data-ie="edit"] .init-only,
[data-ie="init"] .required_clm::after,
[data-ie="init"] .angle,
[data-ie="init"] .datepicker-here-wrap.icn-cal::after,
[data-ie="init"] .date-clear-btn,
[data-ie="init"] .fjtime-box::before,
[data-ie="init"] [type="radio"]:not(:checked) + label,
[data-ie="init"] [type="radio"] + label:not([class*="u-"])::before,
[data-ie="init"] [type="radio"] + label:not([class*="u-"])::after,
[data-ie="init"] [type="checkbox"]:not(:checked) + label
 { display: none !important; }
[data-ie="init"] input,
[data-ie="init"] textarea :not(.memo-editable),
[data-ie="init"] select,
[data-ie="init"] [type="radio"] + label,
[data-ie="init"] [type="checkbox"] + label
 { border-color: transparent; pointer-events: none; background-color: transparent; }
[data-ie="init"] [type="radio"] + label,
[data-ie="init"] [type="checkbox"] + label
 { color: #555 !important; }
[data-ie="init"] .band-rdo input[type="radio"]:checked + label
 { background-color: transparent !important; width: 100% !important; padding: 0; }
[data-ie="init"] .band-rdo input[type="checkbox"]:checked + label
 { background-color: transparent !important; padding: 0; }

/* 期間From～To */
.fromto-box { display: flex; justify-content: space-between; align-items: center; }
.fromto-box.jc-c { justify-content: center; }
.fromto-box:is(.jc-st, .jc-l) { justify-content: flex-start; }
.fromto-box:is(.jc-ed, .jc-r) { justify-content: flex-end; }
.fromto-box::after { content: '～'; display: block; order: 1; }
.fromto-box.jc-c:not(.compact)::after { margin: 0 0.5em; font-size: 80%; }
.fromto-box *:last-of-type { order: 2; }

/* yyyy年M月d日 */
[date-fmt] { display: inline-block; vertical-align: baseline; }
[date-fmt] > span { vertical-align: baseline; }
[date-fmt] > span:nth-child(odd) { display: inline-block; text-align: right; min-width: 1.1em; } /* 数字部分 */
[date-fmt="ngp"] > span:nth-child(even) { font-size: 70%; } /* 年月日部分 */
[date-fmt="ngp"] > span:nth-child(even):not(:last-of-type) { margin-right: 0.1em; }
[date-fmt="sla"] > span:nth-child(even) { margin: 0 0.1em; } /* 「/」部分 */
[date-fmt="dot"] > span:nth-child(even) { margin-right: 0.1em; font-size: 120%; } /* 「.」部分 */
/*[date-fmt="dot"] > span:nth-child(odd) { text-align: left; } 2025-07-13:ドットの場合も右寄せでよい */ /* 数字部分 */
[date-fmt] > span.d-of-w { margin: 0 0 0 0.2em; font-size: 90%; }/* 曜日部分 */
[date-fmt] > span.d-time { margin: 0 0.5em; }
.d-time.m-l { margin-left: 0.5em; }
[date-fmt] > span.d-time:last-of-type { margin-right: 0; }
:is(.compact [date-fmt], [date-fmt].compact) > span:nth-child(odd) { min-width: auto; }
