@charset "utf-8";
:root {
    --bs-body-font-size: 16px;
}

  :root {
--bg_color: #333333;
--bg_color2: #2a2a2a;
--text_color: #eee;
--border_color:#222;
--whats_new_color:#eee;
--breadcrumb_color:#31383f;
--table_cell_light:#212529;
--table_cell_dark:#2c3034;
--table_border:#222;
--link_color:#A8CEFB;

   --bs-table-border-color: #101112;
  }
  html {
    -webkit-text-size-adjust: 100%;
     scroll-behavior: smooth;
    }
    
    body {
    font-size: 14px; /* 全体の文字サイズを少し小さく */
      overflow-x: hidden;
        font-feature-settings: "palt";

 background-color: var(--bg_color);
  color: var(--text_color);
	word-wrap:break-word;
    font-family: "Arial", "Helvetica", sans-serif;
}
html, body {
    -webkit-text-size-adjust: 100%;
}
.form-control::placeholder {
    color: rgba(255, 255, 255, 0.4); /* 白っぽく */
}
 .btn-sm {
    font-size: 0.5rem;

}


  h1, h2, h3 {
    font-size: 1.2rem; /* ヘッダーのサイズを調整 */
  }

  .badge {
    font-size: 0.85rem; /* バッジの文字サイズを少し小さく */
  }

  table {
    font-size: 13px; /* テーブルのフォントを小さめに */
  }

  table th, table td {
    padding: 8px; /* セルのパディングを調整 */
  }

  .breadcrumb {
    font-size: 13px; /* パンくずリストのフォントサイズ */
  }

  .navbar-brand {
    font-size: 16px; /* ナビゲーションバーのブランド名 */
  }
  
.saturday{
color:#73B4E9;
}

.sunday{
color:#EF4D50;
}
.svg_icon{
width: 1rem;
height:1rem;
margin:0 5px;
}

.logo_icon{
height:1.2rem;
}

.modal-content,
.dropdown-menu{
background-color: var(--bg_color2);
  color: var(--text_color);
}

.dropdown-item {
    color:var(--text_color);
}

.breadcrumb,.breadcrumb-item.active {
    background-color: var(--breadcrumb_color);
  color: var(--text_color);

}
.list-group-item {
    background-color: var(--bg_color2);
	  color: var(--text_color);
    border: 1px solid rgba(0,0,0,.125);
}


.form-control,.form-control:focus{
background-color: var(--bg_color2);
  color: var(--text_color);
}


	a,button ,a > div, .touch_hover  {


color:var(--link_color);
}
a img:active ,a svg:active,a div:active,a:active {/*ボタンを押したとき*/
    transform: translateY(4px);/*下に動く*/
   }


a:hover{
opacity:0.6 !important;
transition: opacity 0.3s ease-out;
}


th{
font-weight: normal;
}
.btn {
white-space: normal;

}

.btn-primary
{
  border-bottom-color: #004DA2;
border-bottom-width:4px;
}

.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #253c54;
    border-color: #202d3a;
	opacity: 0.7;
}

.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active, .show>.btn-secondary.dropdown-toggle {
    color: #fff;
    background-color: #3f4346;
    border-color: #2b2d2e;
		opacity: 0.7;
}

.btn-info{
  border-bottom-color: #0C515A;
border-bottom-width:4px;
}

.btn-warning{
 border-bottom-color: #CA9800;
border-bottom-width:4px;
}

.btn-success{
 border-bottom-color: #145523;
border-bottom-width:4px;
}



.btn-danger{
 border-bottom-color: #990000;
border-bottom-width:4px;
}

.btn-secondary{
 border-bottom-color: #555555;
border-bottom-width:4px;
}

   .wavy-text {
      position: relative;
      display: inline-block;
      font-size: 14px;
      font-weight: bold;
    }

    /* 擬似要素で波状の赤いアンダーラインを作成 */
    .wavy-text::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 4px;
      background: linear-gradient(to right, red 50%, transparent 0);
      background-size: 20px 100%;
      animation: wave 0.1s infinite linear;
    }

    /* 波状の動きのアニメーション */
    @keyframes wave {
      0% {
        background-position: 0 100%;
      }
      100% {
        background-position: 20px 100%;
      }
    }


#main_logo{
/*-NBCNEWS logo-*/
width:200px;
}

ol.breadcrumb{
padding-left: 1rem;
font-size:0.5rem;
line-height: 1.5rem;
}


.title_container {
    display: flex;
    align-items: center; /* 縦位置を中央揃え */
    gap: 8px; /* アイコンとテキストの間隔を調整（適宜変更） */
}
.title_container svg {
    height: 1.2em; /* `h1` のフォントサイズに相対的な高さ */
    width: auto;
}



/*-FOOTER-*/
/*-FOOTER-*/
/*-FOOTER-*/
/*-FOOTER-*/
/*-FOOTER-*/
 footer {
background-color:#424242;
font-size:0.8rem;
color:#eee;
}
 footer section{
	display:inline-block;
	}
 footer h3{
	font-size:1rem;
	font-weight:bold;
	}
footer ul{
padding-left:1rem;
}
footer li{
margin-bottom:0.5rem;
}

footer a{
color:#fff;
}
td.num{
text-align:right;
}
.sunday{
color: #dc3545;
}




footer #all_links ul.bottom_links > li > a{
opacity:1;
}

.top_banner{
width:70px;
}





@media (min-width: 576px) {

footer section{
width:calc(100%/2.5);
}

}
/*--Medium devices (tablets, 768px and up)-*/

@media (min-width: 768px) {


.top_banner{
height:50px;
width:auto;
padding: 0 0.25rem;
}

  h1{
    font-size: 1.5rem; /* ヘッダーのサイズを調整 */
  }
    h2, h3 {
    font-size: 1.15rem; /* ヘッダーのサイズを調整 */
  }
  .logo_icon{
height:1.5rem;
}


}




/*--Large devices (desktops, 992px and up)-*/
@media (min-width: 992px) {


footer section{
width:calc(100%/5.1);
}

}

/*--Extra large devices (large desktops, 1200px and up)-*/


@media (min-width: 1200px) {

  h1{
    font-size: 1.75rem; /* ヘッダーのサイズを調整 */
  }
 #page_title{
   font-size: 1.75rem;

  }
    h2, h3 {
    font-size: 1.25rem; /* ヘッダーのサイズを調整 */
  }
  .logo_icon{
height:2rem;
}


 .btn-sm {
    font-size: 0.75rem;

}


footer section{
display:block;
width:25%;
}



}



#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
				z-index:1;
opacity:1;
filter:alpha(opacity=90);
-ms-filter: "alpha( opacity=90 )";
}

