@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;
    padding: 0;
}

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 #966700;
    box-shadow: 5px 5px #966700;
    color: #966700;
    font-family: serif;
    margin: 8px 5px 13px 0;
    position: relative;
}

/* -------------------------------------------- */

.heading2 {
    margin-block-start: 0;
    margin-right: 5px;
    margin-block-end: 5px;
    padding: 8px 13px;
    border: 2px solid #000;
    box-shadow: 5px 5px #000;
    background-color: #fff;
    position: relative;
    font-family: serif;
    font-size: 22px;
    color: #000;
    display: flex;
    align-items: center;
}

.heading2:first-child {
    margin-block-start: 0;
}


.heading2 .number {
    font-size: 28px;
    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;
}

.heading2 .title-group {
    flex: 1;
    line-height: 0.7;
}

.heading2 .label-group {
    font-family: sans-serif;
}

.heading2 .writer-label,
.heading2 .pref-label {
    border: none;
}


/* -------------------------------------------- */

.heading3 {
    margin: 34px 0 13px 0;
    padding: 8px 13px;
    border-left: 5px solid #966700;
    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 #966700;
    border-bottom: 3px solid #d2d2d2;
    background-color: #966700;
    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: #966700;
    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 {
    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;
}



/* -------------------------------------------- */
/* font style */

.font-day {
    font-weight: bold;
    text-align: right;
    font-size: 13px;
    margin: 0 0 1em 0;
}

/* <u> */
.fontunderline {
    text-decoration: underline;
}

.fontred {
    color: #ff0000;
}

.bold {
    font-weight: bold;
}






/*
//   @@@@ @@@@ @@@@ @@@@@ @@@ @@@@ @   @ @@@@
//   @    @  @ @  @   @    @  @  @ @@  @ @
//   @    @  @ @  @   @    @  @  @ @ @ @ @@@@
//   @    @@@@ @@@@   @    @  @  @ @  @@    @
//   @@@@ @  @ @      @   @@@ @@@@ @   @ @@@@
*/
/* ================================================================== */

/* １枚画像のパターン */
.cap-group {
    display: block;
    margin: 2em 0 1em;
}
.cap {
    flex: 1;
    font-size: 1em;
    text-align: center;
    /* font-weight: bold; */
    display: block;
    margin-top: 1em;
}
.cap-image {
    max-width: 100%;
    display: block;
    text-align: center;
    margin: 0 auto;
}

/* ２枚画像のパターン */
.cap-double{
    text-align: center;
    margin: 0 auto;
    margin-top: 1em;
}
.cap-double tr:nth-child(1) td:last-child{
    padding-left: 1em;
}

/* ３枚画像のパターン */
.cap-triple{
    display: flex;
    justify-content: space-between;
    margin-top: 1em;
}
.cap-triple div{
    display: flex;
    flex-direction: column;
}

/*特殊パターン@（一枚の画像に二つのキャプション）*/
.top-container {
    display: flex;
    flex-direction: column; /* 縦方向に並べる */
}

.top-item {
    text-align: center;
    margin: auto; /* 上部アイテムを中央寄せにする */
}

.bottom-container {
    display: flex; /* 下部要素を横に並べる */
    justify-content: center; /* 下部アイテムを中央寄せにする */
    flex-grow: 1; /* 下部のコンテナが残りのスペースを埋める */
    margin-top: 1em;
    flex-direction: row;
    white-space: nowrap;
}
.bottom-item {
    text-align: center;
    margin: auto; /* 上部アイテムを中央寄せにする */
}

/*特殊パターンA（一枚の画像の左右のどちらかに文章）*/
.parent-box{
    display: flex;
}
.parent-box p{
    width: 470px;
    margin-bottom: 0;
}
.parent-box p span{
    display: block;
    margin-top: 1em;
}
.parent-box .cap-group{
    margin: 1em 0 0 1em;
}
.parent-box+p{
    margin-top: 0;
}

/*特殊パターンB（二枚の画像が縦に連なっていて、左右のどちらかに文章）*/
.parent-box2{
    display: flex;
    justify-content: space-between;
}
.parent-box2 p{
    width: 486px;
    margin-bottom: 0;
}
.parent-box2 p span{
    display: block;
    margin-top: 1em;
}
.parent-box3{
    margin: auto;
}
.parent-box2 .parent-box3 .cap-group{
    margin: 1em auto;
}


/*
//   @@@@@ @@@@ @@@@  @    @@@@ @@@@
//     @   @  @  @  @ @    @    @
//     @   @  @  @@@  @    @@@@ @@@@
//     @   @@@@  @  @ @    @       @
//     @   @  @ @@@@  @@@@ @@@@ @@@@
*/
/* ================================================================== */

.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;
}



/* ================================================================== */
/* タイムスケジュール系の表。なお、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%;
}





/*
//   @    @@@@ @@@@  @@@@ @    @@@@
//   @    @  @  @  @ @    @    @
//   @    @  @  @@@  @@@@ @    @@@@
//   @    @@@@  @  @ @    @       @
//   @@@@ @  @ @@@@  @@@@ @@@@ @@@@
*/
/* ========================================================================== */

.writer-label {
    padding: 2px 5px;
    font-size: 10pt;
    font-weight: bold;
    border: 2px solid #fff;
    color: #fff;
    background-color: #555;
    border-radius: 8px;
    font-family: sans-serif;
}

.pref-label {
    padding: 2px 5px;
    font-size: 10pt;
    font-weight: bold;
    border: 2px solid #fff;
    color: #fff;
    background-color: #777;
    border-radius: 8px;
    font-family: sans-serif;
}


.pref-label[data-category="番号"] {
    background: #fff;
    color: #0bd;
    border: #0bd 2px solid;
}






/*
//   @@@@ @@@@ @@@@ @@@@
//   @    @  @ @  @  @  @
//   @    @  @ @@@@  @  @
//   @    @@@@ @ @   @  @
//   @@@@ @  @ @  @ @@@@
*/
/* ================================================================== */
/* 今月の一枚のリストと同じカード仕様のリスト */

.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 .pref-label {
    position: absolute;
    right: 4px;
    top: 4px;
}

.card-img {
    border-radius: 5px 5px 0 0;
    max-width: 100%;
    height: auto;
    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-number {
    font-size: 90%;
    font-weight: normal;
    color: #333;
}

.card-title {
    font-size: 15px;
    margin-bottom: 10px;
    text-align: center;
    color: #333;
    height: 3.5em;
}

.card-author {
    color: #777;
    display: block;
    font-size: 9pt;
    font-weight: normal;
}

.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;
}

/* ここから常に表示用[TOPへ戻る]の設定 */

.pagetop {
    position: fixed;
    bottom: 5px;
    right: 25px;
}

.pagetop a {
    display: block;
    text-decoration: none;
}

.pagetop:hover {
    opacity: 0.5;
}




/* NIWATORI用 */

    /* Flex */
    .flex {
        display: flex;
        justify-content: space-between;
    }

    /* txt style */
    .indent {
        padding-left: 1em;
        position: relative;
    }
    .t-right {
        text-align: right;
    }

    /* マージンなし */
    .no-marg {
        margin: 0;
    }

    /* headerのスタイル */
        .orange-bar {
            width: 800px;
            height: 2px;
            margin: 2px 0;
            background-image: url(../../../images/title/bar-or.gif);
            background-size: cover;
        }
        /* タイトル */
        .niwatori {
            font-size: large;
            padding: 22px 0 8px;
        }
        /* 第？話の文字 */
        span.dai-wa {
            position: absolute;
            top: 4px;
            left: 1.2em;
            color: #966700;
            font-weight: bold;
            font-size: small;
        }
        /* いさぼうや下のBACK */
        .a-block.orange {
            display: block;
            background-color: #ff9933;
        }
        .a-block.orange img {
            display: block;
            margin: 2px auto 0;
        }
    /* /header */

    /* プロフィール欄 */
    .profile {
        background-color: #EFEFEF;
        width: 98%;
        margin: 0 auto;
        padding: 1.5em 1em;
    }

/* NIWATORIおわり */












@media print {
    .print_none {
        display: none;
    }
    body {
        min-width: 880px;
    }
}

@media screen and (min-width: 641px) {


    .heading2-flex .writer-label,
    .heading2-flex .pref-label {
        font-size: 11pt;
        padding: 5px 8px;
    }

}