/*@charset "shift-jis";*/
     * { margin: 0; padding: 0; font-size: 14px; color: #1f3134; text-decoration: none; }
@media screen and (max-width: 480px) {
     * {                        font-size: 9px; } } /*←@media*/
a:hover    { text-decoration: underline; }
.n a:hover { text-decoration: none; }
a.ul       { text-decoration: none }

:focus { outline: none; }

/* html { scroll-padding-top: 100px; } */

body {
font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
/* font-family: 'メイリオ', Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ＭＳ ゴシック',sans-serif,'Arial';*/
}

/*--- ボックス定義 ---*/
#site-box { margin:   2px auto;                                      width: 100%; }
#a-box    { padding:  2px 0; min_height:30px; background: linear-gradient(to right, #1f3134, #1f3134, #1f3134, #3d5f66, #3d5f66, #3d5f66); overflow: hidden; }
#a-box a:hover { text-decoration: none; }
#b-box    { padding: 15px  5px 15px 20px;  float: left;              width:  73%; }
#bs-box   { padding: 15px  5px 15px 20px;  float: left;              width:  73%; overflow-y: scroll; height: 100%; max-height:800px; }
#b2-box   { padding: 15px 10px 15px 10px;  float: none;              width:  auto; }
#c-box    { padding: 15px 20px  0    5px;  float: right;             width:  20%; font-size: 13px; }
#cs-box   { padding: 15px  5px 15px  5px;  float: right;             width:  22%; overflow-y: scroll; height: 100%; max-height:800px; }
#e-box    { padding: 10px  5px 5px  10px;               clear: both; }
#e-box,
#e-box *  { font-size: 11px; }
#d-box    { padding:  5px 0 0 0;                        clear: both; /* position: fixed; bottom: 0; width: 100%; */
            text-align: left; font-size: 12px; color: #1f3134;     background: #f5f5f5; }

@media screen and (max-width: 480px) {
#site-box { margin:  20px auto;                                      width:  100%; }
#b-box
,#bs-box  { padding:  1px;                 float: none; clear: both; width:  auto; }
#b2-box   { padding:  1px;                 float: none; clear: both; width:  auto; }
#c-box
,#cs-box  { padding: 15px 10px 0 5px;      float: none; clear: both; width:  auto; }
#c-box *  { font-size: 11px; }
#e-box, #e-box *  { font-size: 8px; }
#d-box    { font-size: 8px; }
} /*←@media*/

.l-box    { padding: 2px;  float: left;   width:  500px; }
.r-box    { padding: 2px;  float: right;  width:  500px; }
.l2-box   { padding: 2px 2px 2px 90px;  float: left;   width:  320px; }
@media screen and (max-width: 480px) {
.l-box    { padding: 0px;  float: right;  width:  340px; }
.r-box    { padding: 0px;  float: right;  width:  340px; }
.l2-box   { padding: 0px;  float: right;  width:  340px; }
} /*←@media*/

/*--- 見出し定義 ---*/
h1        { margin:  0px 0;     padding: 6px 8px; text-align: left; font-size: 22px; color: #FFFFFF; float: left; }
h2        { margin: 10px 0;     padding: 5px 10px;
                                font-size: 17px;    background: /* #e6e5e1;*/ linear-gradient(to bottom, #e6e5e1, #e6e5e1, #f5f5f5, #f5f5f5);
                                                                /* border-left: solid 8px #1f3134; */}
h3        { margin: 10px 0;     padding:  3px 10px;
                                font-size: 15px;    background: /* #e6e5e1;*/ linear-gradient(to bottom, #e6e5e1, #e6e5e1, #e6e5e1, #f5f5f5, #f5f5f5);
                                                                /* border-left: solid 6px #708090; */}
.c0       { float: right;       padding: 0px 8px; }
.c1       { margin: 10px 0 5px 0; padding: 4.2px;
            font-weight:bold;   font-size: 14px;    background: /* #e6e5e1;*/ linear-gradient(to bottom, #e6e5e1, #e6e5e1, #e6e5e1, #f5f5f5);
                                                                /* border-top: solid 6px #708090; */}
.c2       {                     padding: 1px 5px;
                                font-size: 14px;                 border-top: solid 2px #708090; }
.c4       {                     padding: 1px 5px;
                                font-size: 14px;                 border-top: solid 2px #708090; border-bottom: solid 0.2px #708090; }
.c3       { width:  auto; text-align: right; font-weight:normal; }
ul        { margin: 0; padding: 0 0 0 0.5px; list-style-type: square; }
li        {list-style-type: none; padding-left:5px }
li::before {
    content: '';                /* 空の要素を作成 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: #1f3134;  /* 背景色指定 */
    height: 3px; width: 3px;    /* 高さ幅指定 */
    border-radius:  90%;        /* 角丸指定 */
    vertical-align:  middle;    /* 中央揃え */
    position:  relative;        /* 位置調整 */
    top: -2px; left:  -2px;     /* 位置調整 */
}

/* ul a:visited { color: #4f455c; } */
@media screen and (max-width: 480px) {
h1 { font-size: 14px; }
h2 { font-size: 13px; }
h3 { font-size: 12.5px; }
} /*←@media*/

/*--- ボタン定義 ---*/
.square_btn          { margin: 5px 0 0 3px; padding: 0.5em 0.3em; height:23px; min-width:95px; position: relative; vertical-align: top; font-family: inherit;
                       border-radius: 3px; box-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.square_btn, .crlf   { display: inline-block; text-decoration: none; 
                       font-weight:bold;   font-size: 13px; color: #FFFFFF;      background: /*#b7282e;*/ linear-gradient(to bottom, #b7282e, #b7282e, #e6323b); text-align: center; }
.square_btn:active   {                     box-shadow: 0 0   2px rgba(0,0,0,0.2); }
.square_btn br       { display: none }
@media screen and (max-width: 480px) {
.square_btn          { margin: 0px; padding:5px 1px; height:35px; min-width:40px; width:45px; vertical-align: top; }
.square_btn, .crlf   { font-size: 11px; }
.square_btn br       { display: inline }
.b_long              { min-width:80px; width:80px; }
} /*←@media*/
.ca_btn              { margin: 5px 0 0 1px; padding: 0.5em 0.3em; height:23px; min-width:95px; position: relative; vertical-align: top; font-family: inherit;
                       border-radius: 3px; box-shadow: 0 2px 4px rgba(0,0,0,0.3);
                       display: inline-block; text-decoration: none; justify-content:flex-end;
                       font-weight:bold;   font-size: 13px; color: #1f3134;      background:#FFFFFF; text-align: center; }
.ca_btn:active       {                     box-shadow: 0 0   2px rgba(0,0,0,0.2); }
@media screen and (max-width: 480px) {
.ca_btn              { min-width:48px; height:15px; width:48px; font-size: 9px; }
} /*←@media*/
.btn-border          { margin: 0.5px 0px 0px 0px; padding: 0.5em 0.1em; height:30px; width:145px; position: relative; vertical-align: top; font-family: inherit;
                       border-radius: 5px; border: 0.5px solid #c0c0c0; box-shadow: 0 2px 4px rgba(0,0,0,0.3); background:linear-gradient(to top, #f5f5f5, #f5f5f5, #FFFFFF); 
                       display: inline-block; text-decoration: none ;
                       font-size: 11px; /* background: #fbfaf5; */ text-align: left; } 
@media screen and (max-width: 480px) {
.btn-border          { font-size: 9px; height:20px; width:104px; vertical-align: top; }
} /*←@media*/
.btn-border::after   { content: ''; width: 0px; height: 0px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #7d7d7d;
                       position: absolute; top: 50%; right: 0.5em; margin-top: -4px; }
.btn-border:active   { text-decoration: none; box-shadow: 0 0   2px rgba(0,0,0,0.2); }
.btn-border:hover    { text-decoration: none; background: #FFFFFF; }

.btn-border2         { margin: 0.5px 0px 0px 0px; padding: 0.5em 0em; height:30px;  width:152px; position: relative;  vertical-align: top; font-family: inherit;
                       border-radius: 5px; border: 0.5px solid #c0c0c0; box-shadow: 0 2px 4px rgba(0,0,0,0.3); 
                       display: inline-block; text-decoration: none ;
                       font-size: 11px; background: #fbfaf5; text-align: left; }
@media screen and (max-width: 480px) {
.btn-border2         { font-size: 9px; height:20px; width:110px; vertical-align: top; }
} /*←@media*/
.btn-border2:active  { text-decoration: none; box-shadow: 0 0   2px rgba(0,0,0,0.2); }
.btn-border2:hover   { text-decoration: none; background: #FFFFFF; }
#google_btn, .google_btn           {color: #FFFFFF; background: #ff7f7f; font-size: 0.8rem; border-radius: 5px; margin: 0 0px 3px 3px; padding: 0.2em 0.2em; }
.google_btn_b2       { color: #FFFFFF; background: #7fbfff; font-size: 0.8rem; border-radius: 5px; margin: 0 0px 3px 3px; padding: 0.2em 0.2em; }
#media_btn           { color: #FFFFFF; background: #7fbfff; font-size: 0.8rem; border-radius: 5px; margin: 0 0px 3px 3px; padding: 0.2em 0.2em; }
#Anniv_btn           { color: #fff9e6; background:linear-gradient(180deg, #dcb743, #fff9e6, #dcb743, #d0a900, #d0a900, #d0a900, #d0a900, #fff9e6, #d0a900); font-size: 0.9rem; border-radius: 6px; margin: 6px 1px; padding: 0.5em 0.3em; font-weight: bold; }

/*--- テーブル定義 ---*/
table.schedule_02        { width: 100%; table-layout: fixed;
                           border-collapse: separate; border-spacing: 0; } /*②*/
table.schedule_02 caption{ font-size: 21px; font-weight: bold; caption-side: top; }
table.schedule_02 th     { padding: 1px;                                  background: #EEEEEE; border: 1px solid #b9b9b9;
                           border-left: #f9f9f9; }                         /*②*/
table.schedule_02 td     { padding: 3px 1px 1px 1px; vertical-align: top; background: #FFFFFF; border: 1px solid #b9b9b9; height:105px; word-wrap: break-all;
                           border-top:  #f9f9f9; border-left: #f9f9f9; }   /*②*/
table.schedule_02 th:first-child,
table.schedule_02 td:first-child     { border-left: 1px solid #b9b9b9; }   /*②*/
table.schedule_02 th:last-child,
table.schedule_02 td:last-child,
table.schedule_02 tr:last-child td            { box-shadow: 3px 3px 1px rgba(0,0,0,0.1); }
table.schedule_02 tr            th:first-child{ border-radius: 5px 0 0 0; }
table.schedule_02 tr            th:last-child { border-radius: 0 5px 0 0; }
table.schedule_02 tr:last-child td:first-child{ border-radius: 0 0 0 5px; }
table.schedule_02 tr:last-child td:last-child { border-radius: 0 0 5px 0; }
table.schedule_02 td.x2  { background: #fbfaf5; } /*生成り色*/
table.schedule_02 p { margin-bottom:0.5em; }
table.schedule_02 * { line-height: 135%; word-break: break-all; }
@media screen and (max-width: 480px) {
table.schedule_02 caption{ font-size: 13px; }
table.schedule_02 * { word-break: break-all; }
table.schedule_02 td{ height:50px; }
} /*←@media*/

/*-------------------*/
table.table_01           { width: 100%; 
                           border-collapse: collapse; }
table.fix                { table-layout: fixed; word-wrap:break-word; }
table.table_01    caption{ font-size: 21px; font-weight: bold; caption-side: top; }
table.table_01    th     { padding: 1px;                                  background: #EEEEEE; border: 1px solid #b9b9b9; }
table.table_01    td     { padding: 3px 2px 1px 2px; vertical-align: top; background: #FFFFFF; border: 1px solid #b9b9b9; }
table.table_01    th:last-child,
table.table_01    td:last-child,
table.table_01    tr:last-child               { box-shadow: 3px 3px 1px rgba(0,0,0,0.1); }
table.table_01    tr:last-child td:last-child { box-shadow: 3px 3px 1px rgba(255,255,255,0.1); }
table.table_01    tr            th:first-child{ border-radius: 5px 0 0 0; }
table.table_01    tr            th:last-child { border-radius: 0 5px 0 0; }
table.table_01    tr:last-child td:first-child{ border-radius: 0 0 0 5px; }
table.table_01    tr:last-child td:last-child { border-radius: 0 0 5px 0; }
table.table_01    td.xg  { background: #ebf6f7; } /*藍白*/
table.table_01    td.xl  { background: #e6e6fa; } /*lavender*/
table.table_01    td.xh  { background: #e6e5e1; } /*見出しと同色*/
table.table_01    td.xy  { background: #ffffad; } /*黄：リリース*/
table.table_01    td.xm  { background: linear-gradient(to bottom, #1f3134, #3d5f66, #3d5f66); color: #FFFFFF;} /*(見出し)*/
table.table_01    td.c00 *  { color: #FFFFFF;} /*(見出し)*/
table.table_01    tr.xb *  { background: #f4f4ff; } /*水色*/
table.table_01    tr.xr *  { background: #fff9f4; } /*ピンク*/
table.table_01    tr.xg *  { background: #f4fff4; } /*緑*/
table.table_01    tr.xp *  { background: #fff4ff; } /*薄紫*/
table.table_01    tr.xc1 * { background: #f9fff9; }
table.table_01    tr.xc2 * { background: #f9fffc; }
table.table_01    tr.xc3 * { background: #f9ffff; }
table.table_01    tr.xc4 * { background: #f9fcff; }
table.table_01    tr.xc5 * { background: #f9f9ff; }
table.table_01    tr.xc6 * { background: #fcf9ff; }
table.table_01    tr.xc7 * { background: #fff9ff; }
table.table_01    tr.xc8 * { background: #fff9fc; }
table.table_01    tr.xc9 * { background: #fffff9; }


table.table_01    p { margin-bottom:0.5em; }
table.table_01    p.bottom0 { margin-bottom:0; }
table.table_01 span.a br { display: none }
@media screen and (max-width: 480px) {
table.table_01 caption{ font-size: 13px; }
table.table_01 th, table.table_01 th *  { font-size: 9px; }
table.table_01 * { word-break: break-all; }
table.table_01 span.a br { display: inline }
table.t_scroll           { width:560px; }
} /*←@media*/
table.table_01    tr.b0  { border-top: 2px solid #FFFFFF; }
table.table_01    th.p0  { padding: 0px 0px; }


table.table_02           { border-collapse: collapse; }
table.table_02    caption{ font-size: 21px; font-weight: bold; caption-side: top; }
table.table_02    th     { padding: 1px;                                  background: #EEEEEE; border: 1px solid #b9b9b9; }
table.table_0    td     { padding: 3px 2px 1px 2px; vertical-align: top; background: #FFFFFF; border: 1px solid #b9b9b9; }

/*-------------------*/
.table_box { overflow-x: auto; display: block; }

/*-------------------*/
.tablesorter th.po{position: relative; cursor: pointer; padding: 3px 6px 3px 0px; }
.tablesorter th::before,
.tablesorter th::after { content: ''; position: absolute; z-index: 2; right: 0.5px; pointer-events: none;
                         border: 4.0px dashed; width: 0; height: 0; border-color: #1e50a2 transparent; }           /* 上下の横線を灰色、左右縦線を透明→砂時計型になる*/
.tablesorter th::before{ border-bottom-style: solid; border-top: none; top: 50%; transform: translateY(-125%); }    /* 砂時計型からtopを消す   →▲型作成 */
.tablesorter th::after { border-top-style: solid; border-bottom: none; bottom: 50%; transform: translateY(125%); } /* 砂時計型からbottomを消す→▼型作成 */
.tablesorter th.tablesorter-headerAsc:after  { border: none; }
.tablesorter th.tablesorter-headerAsc:before { top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); }
.tablesorter th.tablesorter-headerDesc:before{ border: none; }
.tablesorter th.tablesorter-headerDesc:after { top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); }
                              /*要素を親要素topから50%に配置、すると子要素のtopが親要素の中央位置にくるので、子要素を自身の高さの半分マイナス上にずらす（transform: translateY(-50%)) */
.tablesorter th.sorter-false:before,
.tablesorter th.sorter-false:after { border: none; }

/*--- 文字装飾定義 ---*/
.sb2 { background: #dbedff; } /*水色:ラジオ*/
.sb  { background: #d6d6ff; } /*青：記事*/
.sr  { background: #ffc6c6; } /*ピンク：ライブ*/
.sy  { background: #ffffad; } /*黄：リリース*/
.sf  { background: #e8ecef; } /*白花色：会員*/
.sp  { background: #dcd6d9; } /*薄梅鼠：剣道*/
.sg  { background: #d6e9ca; } /*緑：お知らせ*/
.sx  { background: #a1a1a1; } /*グレー：取り消し*/
.xb  { background: #f4f4ff; } /*水色*/
.xr  { background: #fff9f4; } /*ピンク*/
.xg  { background: #f4fff4; } /*緑*/
.xx  { background: #fffff4; } /*灰色黄色*/
.xp  { background: #fff4ff; } /*薄紫*/
.xy  { background: #ffffe0; } /*薄黄*/
.x1  { background: #ffeff7; } /*薄ピンク*/
.x2  { background: #ffffe0; } /*薄黄*/
.x3  { background: #f4fff9; } /*薄緑*/
.x4  { background: #eff7ff; } /*薄青*/
.xc1 { background: #ffeff7; }
.xc2 { background: #fff9fc; }
.xc3 { background: #fff9ff; }
.xc4 { background: #fcf9ff; }
.xc5 { background: #f9f9ff; }
.xc6 { background: #f9fcff; }
.xc7 { background: #f9ffff; }
.xc8 { background: #f9fffc; }
.xc9 { background: #f9fff9; }
.sm  { background: /*#1f3134;*/ linear-gradient(to bottom, #1f3134, #1f3134, #3d5f66);}
.fwb { font-weight:bold; }
.c00, .c00 * { color: #FFFFFF; } /*白*/
.c03, .c03 * { color: #0000ff; } /*青*/
.c04, .c04 * { color: #00ced1; } /*darkturquoise*/
.c05, .c05 * { color: #2e8b57; } /*seagreen*/
.c07, .c07 * { color: #cc00ff; } /*紫*/
.c08, .c08 * { color: #800080; } /*梅紫 aa4c8f*/
.c09, .c09 * { color: #1f3134; } /*百入茶*/
.c10, .c10 * { color: #6a51e8; } /*あおむらさき*/
.c11, .c11 * { color: #3eb370; } /*緑*/
.c14, .c14 * { color: #7d7d7d; } /*灰色*/
.c16, .c16 * { color: #ff8d3a; } /*オレンジ*/
.c19, .c19 * { color: #e95295; } /*躑躅色*/
.c20, .c20 * { color: #1e50a2; } /*瑠璃色*/
.f15n p { margin-bottom:0.8em; }
.f15n * { line-height: 1.7; }
@media screen and (max-width: 480px) {
.f15n * { font-size: 11.5px; }
} /*←@media*/
.f15o * { line-height: 0; }
.f15h * { line-height: 1.2; }
@media screen and (max-width: 480px) {
.f15h * { font-size: 10.5px; }
} /*←@media*/

.f20 { font-size: 1.2rem; font-weight:bold; }
.f15 { font-size: 1.1rem; font-weight:bold; }
.f10, .f10 * { font-size: 1.0rem; }
.f09, .f09 * { font-size: 0.95rem; }
.f08, .f08 * { font-size: 0.9rem; }
.f07, .f07 * { font-size: 0.85rem; }
.f06, .f06 * { font-size: 0.8rem; }
.f05, .f05 * { font-size: 0.75rem; }
.f04, .f04 * { font-size: 0.65rem; }
@media screen and (max-width: 480px) {
.f15 { font-size: 12.5px; font-weight:bold; }
} /*←@media*/

.dlt { text-decoration: line-through; }
/*--- 引用定義 ---*/
.f15n blockquote        { margin: 0 0 8px 0; padding: 0 5px; border-left: 3px solid #ddd; }
.f15n blockquote cite   { display: block; text-align: right; color: #888888; font-size: 0.9em; margin-bottom:0.2em; }
.f15n blockquote cite a { color: #888888;  font-size: 1em; }
.f15n blockquote p { margin-bottom:0em; }

.newP:after { margin-left: 5px; padding: 1px 2px;  content: "NEW";     font-size: 60%; font-weight:bold; color: red; background: #ffea00; }
.liveP:after{ margin-left: 5px; padding: 1px 2px;  content: "LIVE";    font-size: 60%; font-weight:bold; color: white; background: #e95295; }
.relP:after { margin-left: 5px; padding: 1px 2px;  content: "RELEASE"; font-size: 60%; font-weight:bold; color: white; background: #ffd900; }

/*--- 表示切替定義 ---*/
@media screen and (max-width: 480px) {
.disp       { margin: 0px 0px 2px 0px; display: block }
} /*←@media*/
.dispbr br       { display: none }
@media screen and (max-width: 480px) {
.dispbr          { font-size: 0.9rem }
.dispbr br       { display: inline }
} /*←@media*/

/*--- トップに戻る ---*/
#page_top  { width: 30px;  height: 30px;  position: fixed;  right: 2px;  bottom: 2px;  background: #f5b1aa;  opacity: 0.6; border-radius: 5px; }
#page_top a{ position: relative;  display: block;  width: 30px;  height: 30px;  text-decoration: none; }
#page_top a::before{ font-family: 'Font Awesome 5 Free';  font-weight: 900;  content: '\f102';  font-size: 15px;  color: #fff;
              position: absolute;  width: 15px;  height: 15px;  top: 0;  bottom: 0;  right: 0;  left: 0;  margin: auto;  text-align: center; }
