#contents {
    width: 100%;
    margin: 0 auto;
    font-family: メイリオ, Osaka, arial, helvetica, sans-serif;
    line-height: 1.6;
    font-size: 16px;
}

#contents * {
    box-sizing: border-box;
}

#contents a {
    text-decoration: none;
    transition: all .2s linear;
}

#contents a:hover {
    text-decoration: none;
    opacity: 0.6;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

hr.line{
    border:none;
    height: 2px;
    background: #e70014;
    margin:100px 0;
}

hr.line.end {
    margin: 100px 0 0;
}


/*PC---------------------------------------------------------------------------------------------------------------*/

#contents .main{
    max-width: 100%;
    width:1220px;
    margin:0 auto;
}

#contents .main .poster {
    width:100%;
}

h1{
    background: #e70014;
    color:#fff !important;
    font-size: 2em;
    font-weight: bold;
    padding:25px 0 20px;
    text-align: center;
}

#contents .read{
    max-width:1220px;
    width:90%;
    padding:0px;
    margin:50px auto 80px;
}

#contents h2 {
    font-size: 1.5em;
    color: #e70014;
    font-weight: bold;
}

.start{
    text-align: center;
}

.start h2{
    font-size: 2em !important;
    line-height: 1.3;
    border-bottom:6px double #e70014;
    display: inline-block;
    margin:60px auto 0;
}
.start h2 span{
    font-size: 1.5em !important;
    text-align: center;
    margin-top: 60px;
}

#contents .read h2,
#contents .read p{
    max-width: 1000px;
    width:100%;
    margin: 1em auto ;
}

.tv_info{
    max-width: 800px;
    width:90%;
    margin: 30px auto 0;
}

.tv_info dl{
    display: flex;
    flex-wrap: wrap;
    border: #e7bd00 2px solid;
}

.tv_info dl dt{
    width: 25%;
    background: #fcfaec;
    border-top:2px solid #e7bd00;
    border-right: 2px solid #e7bd00;
    padding:20px;
}
.tv_info dl dd{
    width: 75%;
    padding:20px;
    border-top:2px solid #e7bd00;
}

.tv_info h3{
    background: #e7bd00;
    padding: 15px 0 10px;
    font-weight: bold;
    font-size: 1.3em;
    text-align:center;
}


#contents .youtube {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.youtube li{
    width:48%;
}

.youtube li p{
    text-align: center;
    font-size: 1.2em;
    background: #e70014;
    color:#fff !important;
    padding:15px 0 10px;
    font-weight: bold;
}

#contents .youtube iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}

.photo{
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
}
.photo h2{
    font-size: 2em !important;
}
.photo li{
    width:100%;
    margin:20px 0 50px;
}
.photo li img{
    width: 100%;
    margin-bottom:5px;
}

.photo .credits{
    text-align: left;
}


#contents .link_btn {
    background: #e70014;
    color: #fff !important;
    font-weight: bold;
    margin: 20px auto;
    max-width: 400px;
    width: 90%;
    display: block;
    text-align: center;
    padding: 20px;
    border-radius: 50px;
}


/*SP---------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 767px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    #contents img {
        width: 100%;
        height: auto;
    }

    #contents .read {
        margin: 40px auto;
    }

    hr.line {
        margin: 50px 0;
    }

    h1 {
        font-size: 7vw;
    }

        .start h2 {
            font-size: 1.7em !important;
            line-height: 1.3;
            border-bottom: 4px double #e70014;
            display: inline-block;
            margin: 60px auto 0;
        }
    
        .start h2 span {
            font-size: 1.5em !important;
            text-align: center;
            margin-top: 60px;
        }

.tv_info dl {
    flex-direction: column;
}

.tv_info dl dt {
    width: 100%;
    border-right: none;
}

.tv_info dl dd {
    width: 100%;
}

    #contents .youtube {
        flex-direction: column;
        gap:20px;
    }

    .youtube li {
        width:100%;
    }

    .photo h2 {
        font-size: 6vw !important;
    }

@media print {
    @page {
        margin: 19.05mm;
    }

    body {
        width: 1500px;
        transform: scale(0.5, 0.5);
        transform-origin: left top;
        overflow: visible !important;
        -webkit-print-color-adjust: exact;
    }
}
}
