@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
    --font-size-xlarge: 40px;
    --font-size-large: 32px;
    --font-size-middle: 24px;
    --font-size-small: 20px;
    --font-size-xsmall: 16px;
    --common-margin: 80px;
    --common-margin-mini: 30px;
}

@media (max-width: 1200px) {
    :root {
        --font-size-xlarge: 3vw;
        --font-size-large: 28px;
        --font-size-middle: 20px;
        --common-margin: 60px;
    }
}

@media (max-width: 767px) {
    :root {
        --font-size-xlarge: 6vw;
        --font-size-large: 24px;
        --font-size-small: 16px;
        --common-margin: 40px;
    }
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
}

.ib {
    display: inline-block;
}

.pc_only {
    display: block;
}

.sp_only {
    display: none;
}

/* 202604改修 */
/* ページトップ箇所 */
#docu7_top {
    width: 100%;
    background: url(../images/archive_back.jpg) no-repeat top center / 100%;
    position: relative;
    padding: 9vw 0;
}

#docu7_top h1 {
    width: 60%;
    margin: 0 auto;
}

#docu7_top h1 img {
    width: 100%;
    filter: drop-shadow(2px 2px 1px black);
}

/* navi箇所css */
#navi {
    width: 100%;
    background-color: #e60012;
    font-weight: 500;
    font-size: 24px;
    text-align: center;
    padding: 1% 3%;
}

#navi:hover {
    background-color: #9a0712;
}

.navi_under {
    text-decoration: underline;
}
@media (max-width: 767px) {
    #navi {
        font-size: 18px;
        padding: 2% 3%;
    }
}

@media (max-width: 480px) {
    #navi {
        font-size: 4vw;
        padding: 3% 3%;
    }
}
/* navi箇所cssここまで */
/* ストーリーテンプレートcss */
.story_navi {
    display: flex;
    background-color: #e60012;
}
.story_navi a {
    display: inline-block;
    width: calc(100% / 2);
    text-align: center;
    padding: 1% 0;
    font-size: 24px;
}
.story_navi a:first-child {
    border-right: #fff solid 1px;
}
.story_navi a:hover {
    background-color: #9a0712;
}

#archive_wrap {
    padding: 0 3%;
}

@media (max-width: 767px) {
    .story_navi a {
        font-size: 18px;
        padding: 2% 0;
    }
}
@media (max-width: 480px) {
    .story_navi a {
        font-size: 4vw;
        padding: 3% 0;
    }

}
/* ストーリーテンプレートのcssここまで */

/* 過去の放送一覧 */

.archive_list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
}

.archive_list_item {
    width: calc(100% / 3 - 30px);
    margin-bottom: 20px;
}

.archive_list_item img {
    width: 100%;
}
.archive_list_no {
    margin-top: 5px;
}
@media (max-width: 767px) {
    .archive_list_item {
        width: calc(100% / 2 - 30px);
        margin-bottom: 20px;
        font-size: 2vw;
    }
}

@media (max-width: 480px) {
    .archive_list_item {
        font-size: 3vw;
    }
}
/* 過去の放送一覧ここまで */


/* 番組概要・次回予告箇所 */
.main_wrap {
    padding: 0 4%;
}

.wrapper {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

main {
    width: 100%;
    background: url(../images/back_pc.jpg) repeat-y fixed top center / 100%;
    padding: var(--common-margin) 0;
}

/* 番組概要 */
#page section h2 {
    display: inline-block;
    font-size: var(--font-size-large);
    margin-bottom: 3%;
    font-weight: 700;
    text-align: center;
    padding-bottom: 1%;
    border-bottom: solid 1px #fff;
}

#concept {
    margin-bottom: var(--common-margin);
}

#concept p {
    font-size: var(--font-size-small);
    line-height: 2;
}

/* 番組概要ここまで */

/* YouTube埋め込み箇所 */
.youtube_area {
    margin-bottom: var(--common-margin-mini);
}

.youtube_area iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    vertical-align: top;
}

.replace img {
    width: 100%;
    margin-bottom: var(--common-margin-mini);
}

/* YouTube埋め込み箇所ここまで */

#archive_wrap p {
    width: 100%;
    margin-bottom: 2%;
    font-weight: 700;
}

.next_no,
.next_date {
    font-size: var(--font-size-middle);
    position: relative;
}

.next_title {
    font-size: var(--font-size-xlarge);
}

.next_no::before,
.next_no::after {
    content: "";
    display: block;
    position: absolute;
    width: 5%;
    height: 1px;
    background-color: #fff;
    top: calc(50% - 0.5px);
}

.next_no::before {
    left: 40%;
}

.next_no::after {
    right: 40%;
}

.contents_txt {
    font-size: var(--font-size-small);
    line-height: 1.8;
    margin: var(--common-margin) auto;
}

#archive_wrap ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

#archive_wrap ul li {
    width: 25%;
}

#archive_wrap ul li img {
    width: 100%;
}

/* ---------------------- responsive ---------------------- */
@media (max-width: 767px) {
    .pc_only {
        display: none;
    }

    .sp_only {
        display: block;
    }

    main {
        background: url(../images/back_sp.jpg) repeat-y fixed top center / 100%;
    }

    #concept p {
        text-align: justify;
    }

    .next_no::before,
    .next_no::after {
        width: 15%;
    }

    .next_no::before {
        left: 25%;
    }

    .next_no::after {
        right: 25%;
    }

    .contents_txt {
        text-align: justify;
    }

    #archive_wrap ul li {
        width: 50%;
    }

    #tver a,
    #tver .wrapper div {
        width: 75%;
        margin: 10% auto 0 auto;
    }

}