     /* ---------- header ---------- */
     .hed {
       background: url(/public/image/up_line.gif) repeat-x;
       background-size: contain;
       height: 60px;
     }

     .img1 {
       padding-right: 0.25em;
     }

     .img_item img {
       height: 20vh;
       width: 100%;
       object-fit: cover;
     }

     @media all and (min-width: 992px) {
      .navbar .nav-item .dropdown-menu{ display: none; }
      .navbar .nav-item:hover .nav-link{   }
      .navbar .nav-item:hover .dropdown-menu{ display: block; }
      .navbar .nav-item .dropdown-menu{ margin-top:0; }
      }

    

     /* ---------- slick ---------- */
     .slick-prev {
       left: 0;
       z-index: 1;
       width: 20px;
       height: 20px;
     }

     .slick-next {
       right: 0;
       width: 20px;
       height: 20px;
     }

     .slick-prev:before, .slick-next:before {
       color: #000;
       font-size: 20px;
     }

     /* ---------- font ---------- */
     .h1-te {
       font-size: 1.25em;
       padding: 0.5rem 0.5rem 0.5rem 1rem;
       border-left: solid 5px #191918;
       font-weight: bold;
     }

     .h2-te {
       font-size: 1.25em;
       font-weight: bold;
     }

     .h2-th {
       font-size: 1.25em;
       padding: 0.5rem 0.5rem 0.5rem 1rem;
       border-left: solid 5px #191918;
       font-weight: bold;
     }

     .h2-tm {
       font-size: 1em;
       font-weight: bold;
       margin: 1em 0 0 0;
       border-bottom: 1px solid #000;
     }

     .h3-tm {
       font-size: 1em;
       font-weight: bold;
       margin: 1em 0 0 0;
       border-bottom: 1px solid #000;
     }
     
     .h3-te {
       font-size: 1em;
       font-weight: bold;
       margin: 0.5em 0 0 0;
       padding: 0.5rem 0.5rem 0.5rem 0.5rem;
     }

     .em-font1 {
       font-weight: bold;
       color: blue;
     }

     .sm-font {
       font-size: .875rem;
     }

     .ss-font {
       font-size: .875rem;
     }

     .mk-font {
       background: linear-gradient(to top, #F7DB7E 0% 40%, rgba(0,0,0,0) 40% 100%);
     }

     .sub-text {
       font-size: 0.8rem;
     }

     .indent1 {
       text-indent: 1rem;
     }

     .indent2 {
       text-indent: 2rem;
     }
     
     .nobr{
       white-space: nowrap;
      }
      
      .text { 
        display: inline-block; 
       }
       
      .responsive-text {
         font-size: 4vw;
        }
        
      .em-red {
         font-weight: bold;
         color: red;
        }
          
      .hang {
         list-style-position:inside;
         padding-left: 2em;
        text-indent: -1.5em; 
        }
        
		.responsive-text {
           font-size: clamp(12px, 1vw, 16px); /* 最大16pxに制限 */
           line-height: 1.2;
           margin: 0;
         }

     /* ---------- badge ---------- */
     .badge-others, .badge-new, .badge-progress {
       display: inline-block;
       width: 50px;
       text-align: center;
       padding: 3px 6px;
       margin-right: 8px;
       margin-left: 1px;
       border-radius: 6px;
       box-shadow: 0 0 3px #ddd;
       font-size: 75%;
       color: white;
       white-space: nowrap;
     }

     .badge-adca-news {
       display: inline-block;
       width: 50px;
       text-align: center;
       padding: 1px 2px 1px 2px;
       margin-right: 8px;
       margin-left: 1px;
       border-radius: 6px;
       box-shadow: 0 0 3px #ddd;
       font-size: 80%;
       color: white;
       white-space: nowrap;
     }

     .badge-others {
       background-color: #72706F;
     }

     .badge-new {
       background-color: #E54045;
     }

     .badge-progress {
       background-color: #0CAAAA;
     }

     .badge-adca-news {
       background-color: #E54045;
     }

     /* ---------- img icon ---------- */
     .icon-img-box {
       position: relative;
     }

     .icon-bottom-right {
       position: absolute;
       bottom: 15px;
       right: 20px;
     }

     /* ---------- footer ---------- */
     .footer {
       bottom: 0;
       width: 100%;
       height: auto;
       background-color: #343a40;
     }

     .iframe-wrp iframe {
       width: 100%;
       aspect-ratio: 16/9;
     }

     /* ---------- card ---------- */
     .card-frame {
       border-top: thick double #5BACE5;
       border-bottom: thick double #5BACE5;
     }

     .card-img-top {
       width: 100%;
       height: 15vw;
       object-fit: cover;
     }

     @media (min-width: 300px) and (max-width: 849px) {
       .card-img-top {
         width: 100%;
         height: 35vw;
         object-fit: cover;
       }
       .ss-font {
         font-size: .675rem;
       }
     }

     /* ---------- scroll button ---------- */
     #page-top {
       position: fixed;
       bottom: 20px;
       right: 20px;
       line-height: 1;
       z-index: 99;
     }

     #page-top a {
       background: #0087E8;
       text-decoration: none;
       color: #fff;
       width: 44px;
       padding: 5px 5px;
       text-align: center;
       display: block;
       border-radius: 30px;
       opacity: 0.9;
       transition: all .3s ease;
     }

     #page-top a:hover {
       text-decoration: none;
       opacity: 0.5;
     }

