@font-face {
    font-family: "YuGothic-M";
    font-weight: normal;
    src: local("YuGothic-Medium"),
        local("Yu Gothic Medium"),
        local("YuGothic-Regular");
}

@font-face {
    font-family: "YuGothic-M";
    font-weight: bold;
    src: local("YoGothic-Bold"),
        local("Yu Gothic");
}

/*
//   @@@@  @@@@ @@@@ @@@@ @@@@@@  @@@@ @   @ @@@@@
//    @  @ @  @ @    @    @  @  @ @    @@  @   @
//    @@@  @  @ @@@@ @@@@ @  @  @ @@@@ @ @ @   @
//    @  @ @@@@    @ @    @  @  @ @    @  @@   @
//   @@@@  @  @ @@@@ @@@@ @  @  @ @@@@ @   @   @
*/
/* ================================================================== */

*,
*:before,
*:after {
    box-sizing: border-box;
}

p {
    line-height: revert;
}

/* ================================================================== */
/* コンテナ */

.container {
    margin: 0 21px;
}

.co-list-inner {
    display: block;
    overflow: hidden;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
    border: 0px solid #bbbbbb;
    position: relative;
}


.co-list-inner-footer {
    margin: 21px auto;
    max-width: 880px;
    text-align: center;
}


/*
//   @@@@  @@@@ @@@@ @@@@ @@@@  @@@@ @@@@ @  @ @@@@@@  @@@@  @@@@
//    @  @ @  @ @    @  @  @  @ @    @  @ @  @ @  @  @  @  @ @
//    @@@  @@@@ @@@@ @  @  @  @ @    @@@@ @  @ @  @  @  @@@  @@@@
//    @  @ @ @  @    @@@@  @  @ @    @ @  @  @ @  @  @  @  @    @
//   @@@@  @  @ @@@@ @  @ @@@@  @@@@ @  @ @@@@ @  @  @ @@@@  @@@@
*/
/* ================================================================== */
/* パンくずリスト */

.breadcrumbs-list {
    display: block;
    border: 0px solid #bbbbbb;
    font-size: 0;
    /* リスト中の余計なスペースを除去する */
}

.breadcrumbs-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: block;
}

.breadcrumbs-list li {
    font-size: 12px;
    /* フォントサイズはこちらで保証する */
    list-style: none;
    display: inline-block;
}

.breadcrumbs-list li a {
    text-decoration: none;
    color: #003295;
}

.breadcrumbs-list li:after {
    content: '>';
    padding: 0 0.5em;
    color: #555;
}

.breadcrumbs-list li:last-child::after {
    content: '';
    padding: 0 0.5em;
    color: #555;
}

/*
//   @  @ @@@@ @@@@ @@@@  @@@ @   @ @@@@
//   @  @ @    @  @  @  @  @  @@  @ @
//   @@@@ @@@@ @  @  @  @  @  @ @ @ @ @@
//   @  @ @    @@@@  @  @  @  @  @@ @  @
//   @  @ @@@@ @  @ @@@@  @@@ @   @ @@@@
*/
/* ========================================================================== */

.heading {
    padding: 8px;
    border: 3px solid #339933;
    box-shadow: 5px 5px #339933;
    color: #339933;
    font-family: serif;
    margin: 8px 5px 13px 0;
    position: relative;
}

/* -------------------------------------------- */

.heading2 {
    margin-block-start: 0;
    margin-right: 5px;
    margin-block-end: 5px;
    padding: 8px 8px 5px 8px;
    border: 2px solid #000;
    box-shadow: 5px 5px #000;
    background-color: #fff;
    position: relative;
    font-family: serif;
    font-size: 20px;
    color: #000;
}

.heading2:first-child {
    margin-block-start: 0;
}


.heading2 .number {
    font-size: 24px;
    line-height: 1;
}

a .heading2:hover {
    opacity: 0.5;
}

a .heading2:after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    width: 10px;
    /* くの字を山なりに見た時、左側の長さ */
    height: 10px;
    /* くの字を山なりに見た時、右側の長さ */
    border-top: 2px solid #000;
    /* くの字を山なりに見た時、左側の太さと色 */
    border-right: 2px solid #000;
    /* くの字を山なりに見た時、右側の太さと色 */
    transform: rotate(45deg);
    /* くの字の向き */
}

.heading2 .newimg {
    position: absolute;
    top: -5px;
    left: 20px;
    right: auto;
}

/* -------------------------------------------- */

.heading3 {
    margin: 34px 0 13px 0;
    padding: 8px 13px;
    border-left: 5px solid #339933;
    border-bottom: 3px solid #d2d2d2;
    background-color: #f2f2f2;
    color: #333333;
    font-size: 20px;
}

.heading4 {
    margin: 21px 0 13px 0;
    padding: 8px 13px;
    border-left: 5px solid #339933;
    border-bottom: 3px solid #d2d2d2;
    background-color: #339933;
    color: #fff;
    font-size: 18px;
}

.heading5 {
    font-size: 18px;
    display: flex;
    align-items: center;
    padding: 8px 13px;
    margin: 13px 0;
    background-color: #f2f2f2;
    color: #333333;
}

.heading5::before {
    display: inline-block;
    width: 5px;
    height: 1.5em;
    margin-right: .5em;
    background-color: #339933;
    content: '';
}

/*
//   @@@@ @@@@ @@@@@ @@@ @@@@ @    @@@@ @@@@
//   @  @ @  @   @    @  @    @    @    @
//   @  @ @@@@   @    @  @    @    @@@@ @@@@
//   @@@@ @ @    @    @  @    @    @       @
//   @  @ @  @   @   @@@ @@@@ @@@@ @@@@ @@@@
*/
/* ========================================================================== */

.e-main {
    display: block;
    width: 100%;
    margin: 13px 0;
    border: 1px solid #bbbbbb;
    padding: 21px;
    /* 記事内に限り、適用する */
    font-family: -apple-system, blinkMacSystemFont, YuGothic-M, YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt";
}

.e-main .heading2 {
    padding: 8px 13px;
    font-size: 24px;
    margin-bottom: 18px;
}

.e-main .heading2:first-child,
.e-main .heading3:first-child {
    margin-top: 0;
}

.e-main p {
    text-align: justify;
    margin-block-start: 13px;
    margin-block-end: 13px;
}

.e-main-footer {
    margin: 21px auto;
    text-align: center;
}

/*
//   @@@@ @  @ @@@@ @@@@@ @@@@ @@@@@ @@@ @@@@ @   @
//   @  @ @  @ @  @   @   @  @   @    @  @  @ @@  @
//   @  @ @  @ @  @   @   @  @   @    @  @  @ @ @ @
//   @@@@ @  @ @  @   @   @@@@   @    @  @  @ @  @@
//      @ @@@@ @@@@   @   @  @   @   @@@ @@@@ @   @
*/
/* ========================================================================== */

.box-sansyo {
    position: relative;
    /* max-width: 800px; */
    margin: 1em auto;
    padding: 1em 1.5em;
    border: 1px solid #bbbbbb;
    border-radius: 3px;
}

/* ※特設サイト時の引用ブロック左上に出てくるタブ */
/* .box-sansyo span {
    position: absolute;
    top: -1.9em;
    left: -2px;
    padding: .2em .8em;
    border-radius: 5px 5px 0 0;
    background-color: #767670;
    color: #fff;
} */

.box-sansyo p {
    margin: 0;
    color: #333;
}

/* -------------------------------------------- */

.font-day {
    font-weight: bold;
    text-align: right;
    font-size: 13px;
    margin: 0 0 1em 0;
}

/* <u> */
.fontunderline {
    text-decoration: underline;
}

.fontred {
    color: #ff0000;
}


/*
//   @@@@@ @@@@ @@@@  @    @@@@     @@@@ @@@@     @@@@ @@@@ @   @ @@@@@ @@@@ @   @ @@@@@
//     @   @  @  @  @ @    @        @  @ @        @    @  @ @@  @   @   @    @@  @   @
//     @   @  @  @@@  @    @@@@     @  @ @@@@     @    @  @ @ @ @   @   @@@@ @ @ @   @
//     @   @@@@  @  @ @    @        @  @ @        @    @  @ @  @@   @   @    @  @@   @
//     @   @  @ @@@@  @@@@ @@@@     @@@@ @        @@@@ @@@@ @   @   @   @@@@ @   @   @
*/
/* ========================================================================== */

/* 目次設定 */
.toc-001 {
    margin: 1em 0;
    padding: 13px;
    border: 1px solid #999;
    background-color: #f7f7f7;
    color: #333333;
    position: relative;
}

.toc-001 ol {
    list-style-type: none;
    counter-reset: item;
    margin: 0;
    padding: 0;

}

.toc-001 ol>li {
    display: table;
    counter-increment: item;
}

.toc-001 ol>li:before {
    content: counters(item, "-") ". ";
    display: table-cell;
    padding-right: 0.2em;
}

/* -------------------- */

.toc-001>*:first-child {
    font-size: 120%;
}

.toc-001>ol>li {
    margin: 0 0 1em 0;
}

.toc-001 li ol>li {
    margin: 0;
}

.toc-001 a {
    color: #166c9d;
    text-decoration: none;
}

/*
//   @@@@ @@@@ @@@@ @@@@@ @@@ @@@@ @   @ @@@@
//   @    @  @ @  @   @    @  @  @ @@  @ @
//   @    @  @ @  @   @    @  @  @ @ @ @ @@@@
//   @    @@@@ @@@@   @    @  @  @ @  @@    @
//   @@@@ @  @ @      @   @@@ @@@@ @   @ @@@@
*/
/* ================================================================== */
/* 画像 */

.cap-group {
    display: block;
    margin: 1em 0;
    text-align: center;
}

/* 記事内イメージ　caption */
p.cap {
    text-align:center;
    margin:10px 0 2.5em;
}

.cap-image {
    max-width: 100%;
    display: block;
    text-align: center;
    margin: 0 auto;
}

.cap-flex {
    display: flex;
    justify-content: space-between;
    margin:10px 0 2.5em;
}
.cap-flex p.cap {
    margin: 0;
    /*flex-basisを各タグごとに指定する*/
}
/*
//   @@@@@ @@@@ @@@@  @    @@@@ @@@@
//     @   @  @  @  @ @    @    @
//     @   @  @  @@@  @    @@@@ @@@@
//     @   @@@@  @  @ @    @       @
//     @   @  @ @@@@  @@@@ @@@@ @@@@
*/
/* ================================================================== */

.table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin: 15px auto;
}

.table tr th {
    padding: 8px 10px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #c6c4c4;
    background: #e5e4e4;
    color: #000000;
}

.table tr td {
    padding: 8px 10px;
    vertical-align: middle;
    border: 1px solid #c6c4c4;
    background: #ffffff;
    color: #000000;
}

/* 半分の幅のセルが欲しいとき専用 */
.table .w50 {
    width: 50%;
}

/*
//   @@@@ @@@@@ @  @ @@@@ @@@@ @@@@
//   @  @   @   @  @ @    @  @ @
//   @  @   @   @@@@ @@@@ @@@@ @@@@
//   @  @   @   @  @ @    @ @     @
//   @@@@   @   @  @ @@@@ @  @ @@@@
*/
/* ================================================================== */

/* 参考リンク専用の見出し */
.sankolink {
    background: rgb(206, 231, 255);
    padding: 6px;
    font-weight: bold;
    margin: 1em 0;
}

/* Q&A要素の専用ヘッダー */
.heading-qu {
    display: flex;
    align-items: center;
    padding: .3em .7em;
    background-color: #f2f2f2;
    color: #333333;
    margin: 1em 0;
}

/* 今月の一枚で使用されるボックス */
.kakomi-box11 {
    position: relative;
    margin: 13px auto;
    padding: 34px 21px;
    background-color: #fff;
    border: 2px solid #008000;
    width: 90%;
}

.kakomi-box11>*:first-child {
    margin-top: 0;
}

.kakomi-box11>*:last-child {
    margin-bottom: 0;
}

.kakomi-box11-footer {
    width: 90%;
    margin: 13px auto;
    text-align: right;
}

/* 今月の一枚の見出し */

.title-box11 {
    position: absolute;
    padding: 8px 13px;
    top: -1.5em;
    margin: 0 auto;
    left: 0;
    right: 0;
    width: fit-content;
    min-width: 64%;
    max-width: 100%;
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    color: #008000;
    border: 2px solid #008000;
    background-color: #fff;
}

.kakomi-box11:has(.title-box11) {
    margin-top: 40px;
}

/* タイトルの次に画像がある場合は消す */
.kakomi-box11 .title-box11+.cap-group {
    margin-top: 0;
}

/* ================================================================== */
/* タイムスケジュール系の表。なお、No04でのみ使用 */

.box-ho {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 0 1.5em;
    flex-flow: row wrap;
}

.box-ho .time {
    width: 10%;
}

.box-ho .naiyo {
    width: 90%;
}

/*
//   @@@@ @  @ @@@@ @@@@@ @@@@     @@@@ @@@@     @@@@@@  @@@@ @   @ @@@@@ @  @
//   @  @ @  @ @  @   @   @  @     @  @ @        @  @  @ @  @ @@  @   @   @  @
//   @  @ @@@@ @  @   @   @  @     @  @ @@@@     @  @  @ @  @ @ @ @   @   @@@@
//   @@@@ @  @ @  @   @   @  @     @  @ @        @  @  @ @  @ @  @@   @   @  @
//   @    @  @ @@@@   @   @@@@     @@@@ @        @  @  @ @@@@ @   @   @   @  @
*/
/* ================================================================== */
/* 今月の一枚のリスト */

.card-list {
    display: flex;
    gap: 16px 0;
    flex-wrap: wrap;
    list-style: none;
    padding-inline-start: 0;
    margin-left: -8px;
    margin-right: -8px;
}

.card-list li {
    grid-template-rows: 1fr;
    display: grid;
    width: 25%;
    padding-left: 8px;
    padding-right: 8px;
}

.card {
    grid-area: 1/1/2/2;
    margin: 0;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px #ccc;
    grid-template-rows: 145px 1fr 32px;
    display: grid;
    text-decoration: none;
    border: 1px solid #ddd;
    position: relative;
}

.card:hover {
    opacity: 0.7;
}

.card .newimg {
    position: absolute;
    left: 16px;
    top: -4px;
}

.card-img {
    border-radius: 5px 5px 0 0;
    max-width: 100%;
    aspect-ratio: 1.5;
    width: 100%;
    max-height: 145px;
    object-fit: cover;
    grid-area: 1/1/2/2;
}

.card-content {
    padding: 8px;
    grid-area: 2/1/3/2;
    align-content: flex-start;
    text-align: center;
    font-weight: bold;
}

.card-title {
    font-size: 15px;
    margin-bottom: 10px;
    text-align: center;
    color: #333;
    height: 3.5em;
}

.card-text {
    color: #777;
    font-size: 12px;
    line-height: 1.5;
}

.card-link {
    grid-area: 3/1/4/2;
    text-align: center;
    border-top: 1px solid #eee;
    align-content: center;
    font-size: 12px;
    color: #0bd;
}

.card-link:hover {
    color: #0090aa;
}


.iframe {
    display: block;
    margin-top: 1em;
    margin: 0 auto;
}
/* ここから常に表示用[TOPへ戻る]の設定 */

.pagetop {
    position: fixed;
    bottom: 5px;
    right: 25px;
}

.pagetop a {
    display: block;
    text-decoration: none;
}

.pagetop:hover {
    opacity: 0.5;
}




@media print {
    .print_none {
        display: none;
    }
    
    body {
        min-width: 880px; /* 内容に応じて調整 */
    }
    
}

/*
//   @@@@ @@@@ @@@@@@  @@@@@@  @@@@ @   @     @@@@ @@@@@ @   @ @    @@@@ @@@@
//   @    @  @ @  @  @ @  @  @ @  @ @@  @     @      @   @   @ @    @    @
//   @    @  @ @  @  @ @  @  @ @  @ @ @ @     @@@@   @   @@@@@ @    @@@@ @@@@
//   @    @  @ @  @  @ @  @  @ @  @ @  @@        @   @     @   @    @       @
//   @@@@ @@@@ @  @  @ @  @  @ @@@@ @   @     @@@@   @     @   @@@@ @@@@ @@@@
*/
/* ========================================================================== */

.mr-10 {
    margin-right: 10px;
}

.mt-10 {
    margin-top: 10px;
}

.mt-20 {
    margin-top: 20px;
}

.mt-30 {
    margin-top: 30px;
}

.mt-e3 {
    margin-top: 3em;
}

.ml-10 {
    margin-left: 10px;
}

.ml-15 {
    margin-left: 15px;
}

.ml-25 {
    margin-left: 25px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-25 {
    margin-bottom: 25px;
}

.mb-50 {
    margin-bottom: 50px;
}

.font-s {
    font-size: 0.9em;
}