@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/bootstrap-icons.css");
html {
     font-size: 16px;
}
body {
    margin: 0;
    display: flex;
    flex-flow: column;
    min-height: 100vh;
    font-family: 'Noto Sans JP', san-serif;
    line-height: 1.5;
    letter-spacing: 1px;
    color: #222;
}

main{
    flex: 1;
}

a:hover {
    color: #000;
}

.t-c{
    text-align: center
}

.container-box{
max-width: 1500px;
    margin: auto;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}


/** header **/


#header {
    font-size: 12px;
    transition: all .4s;
}
#header.header_up {
    transform: translateY(calc(-1 * var(--header-height)));
}

#header .container-fluid > div > * {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}
#header .h1, #header .navbar-brand {
    font-size: 1rem;
}
#header a, #header a:visited {

    background: #3B591D;
}

.bg_p {
    background-color: #3B591D;
    height: 100%;
}

.title_logo{
    color: #fff !important
}

.logo_img{
    height: 45px
}

.header-utility {
    position: absolute;
    top: 2rem;
    right: 4rem; 
    display: flex;
    align-items: center;
    gap: 1rem;
    z-index: 10;
}

.title_logo{
    padding: 0 0.3rem;
}

.navbar-light .navbar-toggler {
    font-size: 1.7rem;
    border: none;
    box-shadow: none;
    transition: all .8s;
    top: 1.5rem;
    right: 0.5rem;
    padding: 0;
}

.h_nav{
padding: 1.2rem 4rem 1rem;
    border-bottom: solid 2px #4C99EE
}



/** main **/
#main {
    padding-top: var(--header-height);
    margin-top: 0;

}

.midasi{
padding-bottom: 0.5rem;
    padding-left: 1.25em;
    position: relative;
    font-weight: bold;
    font-size: 1.5rem
}

.midasi:before {
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    position: absolute;
    left: 0;
    background-color: #3e3b93;
    top: 0.2em;
}

.top-heading{
    margin: 3rem 0 0 0;
}


.tablepress>:where(thead,tfoot)>tr>* {
    background-color: #0186c9 !important;
    color: #fff !important;
}

.soft-font{
    font-size: 1.3rem;
    margin: 1rem 0 0 0;
}

#tablepress-1 thead th {
  text-align: center;
}

#tablepress-1 thead th .dt-column-header {
  justify-content: center;
}

#tablepress-1 th,
#tablepress-1 td {
  border: 1px solid #000;
}

/* 日付列 */
#tablepress-1 .column-1 {
  white-space: nowrap;
  min-width: 140px; /* 日付に合わせて調整 */
}

/* カテゴリ列 */
#tablepress-1 .column-2 {
  white-space: nowrap;
  min-width: 120px;
}

#tablepress-1 .column-2 {
  white-space: nowrap;
  min-width: 200px;
}

@media screen and (max-width: 767px) {


  #tablepress-1_wrapper .dt-layout-row.dt-layout-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* テーブル横幅 */
  #tablepress-1 {
    min-width: 900px;
    width: auto !important;
  }

  #tablepress-1 th,
  #tablepress-1 td {
    white-space: nowrap;
  }

  .container-box {
    max-width: none;
    margin: 0;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .midasi,.soft-font{
    font-size: 1.2rem;
  }

}
/** footer **/
#footer {
    background: #2c589f;
    color: #fff;
    padding: 1rem;
    margin: 4rem 0 0 0
}
#footer .menu-item a, #footer .menu-item a:visited, #footer .menu-item a[aria-current="page"] {
    color: #fff;
}
#footer .d-none.d-md-block.menu-item {
    display: none!important;
}
#footer .dropdown-menu {
    display: block;
    background-color: transparent;
    position: relative;
    border: none;
    padding-left: 1rem;
}
#footer .dropdown-menu a {
    padding: 0 0 0.5rem 1rem;
}
#footer .dropdown-menu a:before {
    content: '-';
}
#footer > .container > .row ul.menu {
    display: block;
}

/* frontpage */

.sec-m{
    margin: 0 0 4rem 0;
}


/* pages */
.w_960 {
    max-width: 960px;
    margin: 0 auto;
}

/**
メディアクエリ
*/
@media all and (max-width: 350px) { /* 調整 */
    html {
        font-size: 14px;
    }
    .navbar-light .navbar-toggler {
        top: 1.8rem;
    }
}


@media all and (max-width: 400px) { /* 調整 */
    .navbar-brand {
        font-size: 0.9rem !important;
    }
}



@media all and (min-width: 576px) {
    html {
        font-size: 16px;
    }
    #header {
        font-size: 16px;
    }
    .br {
        display: block;     /* ブロック化して改行させる */
    }

}

@media all and (max-width: 480px) {
    .h_nav {
        padding: 1.2rem 1rem 1.2rem 1rem;
    }

}


@media all and (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1140px;
    }
}

