@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; }

 /* はみ出す部分を「...」 ※要幅指定 */
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: '位'; }
.u-score:not(:empty):after { content: '点'; }
.u-percent:not(:empty):after { content: '%'; }
.u-yen-bf:not(:empty):before { content: '¥'; }
.u-yen-af:not(:empty):after { content: '円'; }
.u-year:after { content: '年'; }
.u-dyear:after { content: '年度'; }
.u-month:after { content: '月'; }
.u-day:after { content: '日'; }

/** 丸で囲う数字 */
.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; }

/** 下半分に色付け */ /* TODO:色のバリエーション グラデーションの有無 */
.half-paint.hp-under.gradation { background-image: linear-gradient(0deg, #ffdfdf 10%, #fff 50%); }

