@charset "UTF-8";
@font-face {
    font-style: normal;
    font-weight: normal;
    font-family: "mPlusRounded";

    src: url("../font/MPLUSRounded1c-Regular.woff") format("woff");
}
@font-face {
    font-style: normal;
    font-weight: bold;
    font-family: "mPlusRounded";

    src: url("../font/MPLUSRounded1c-Bold.woff") format("woff");
}
@font-face {
    font-style: normal;
    font-weight: normal;
    font-family: "yusei";

    src: url("../font/YuseiMagic-Regular.woff") format("woff");
}

/* base */
html {
    font-size: min(3vw, 20px);
    font-family: mPlusRounded;

    scroll-behavior: smooth;
}

.ctvTab {
    font-size: unset;
    font-family: unset;
}

body {
    background-image: url(../img/bg.webp);
    background-position: center center;
    background-size: 500px auto;
}

main *, main ::after, main ::before {
    box-sizing: border-box;
}

main {
    position: relative;
    z-index: 0;
    overflow: clip;
}

a {
    color: unset;
}

main a:hover {
    -webkit-filter: brightness(1.5);
            filter: brightness(1.5);
}

/* common */
.pc {
    display: none;
}

.relative {
    position: relative;
}

/* title */
.title-logo {
    position: relative;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    padding: 5rem 2rem;
}

.title-logo img {
    width: 100%;
    box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, .3);
}

.edition {
    position: absolute;
    top: 2rem;
    right: 0;
    z-index: 1;
    transform: rotateZ(10deg);
    width: 6em;
    border-radius: 5rem;
    box-shadow: .5rem .5rem .5rem rgba(0, 0, 0, .3);
    background-color: #008442;
    color: #ffffff;
    font-weight: bold;
    font-size: 2rem;
    line-height: 2;
    letter-spacing: .2em;
    text-align: center;
}

/* onari */
#onair {
    margin-bottom: 5rem;
    padding: 1rem;
    box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, .3);
    background-color: #ffd400;
    color: #333333;
    font-size: 2rem;
    text-align: center;
}

/* webcast */
.webcast {
    position: relative;
    width: calc(100% - 2rem);
    max-width: 600px;
    margin: 0 auto 3rem;
    background-image: url(../img/base-locipo.webp);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;

    aspect-ratio: 2 / 1;
}
.webcast a {
    display: inline-block;
    width: 70%;
    margin: 17% auto 0;
}
.webcast a img {
    width: 100%;
}
.webcast a:hover {
    filter: brightness(1.1);
}
/* mov */
#mov .iframe-wrap {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 1rem;
    border: solid 1rem #ffffff;
    box-shadow: 1rem 1rem 1rem rgba(0, 0, 0, .3);
    background-color: #ffffff;

    aspect-ratio: 16 / 9;
}

#mov .iframe-wrap iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* picture */
.picture {
    width: 100%;
    max-width: 2000px;
    margin: 0 auto;
    padding: 0 1rem;
}

.picture img {
    width: 100%;
}

/* about */


.about-txt {
    width: calc(100% - 2rem);
    max-width: 1000px;
    margin: 5rem auto;
    padding: 3rem;
    border: solid .5rem #ffe487;
    background-color: #ffffff;
}

.about-txt p {
    margin: 0 auto 2rem;
    font-weight: bold;
    font-size: 2rem;
    line-height: 2;
    letter-spacing: .05em;
    text-align: center;
}

.about-txt p img {
    height: 1.5em;
    margin: 0 .25em;
    vertical-align: middle;
}

/* cast */
.prof-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.prof {
    position: relative;
    width: calc(100% / 2 - 2rem);
    margin: 1rem;
    padding: 2rem 1rem;
}

img.prof-pin {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 2rem;
    margin: auto;
}

.prof p {
    background-image: linear-gradient(180deg,
    transparent 0%,
    transparent 97%,
    rgba(0, 0, 0, .5) 97%,
    rgba(0, 0, 0, .5) 100%);
    background-size: auto 2.5em;
    font-weight: bold;
    font-size: .8rem;
    line-height: 2.5em;
}

/* news */
#news {
    margin: 1rem auto;
}

.news-wrap {
    width: calc(100% - 2rem);
    max-width: 1000px;
    margin: 5rem auto;
    padding: 3rem;
    border: solid .5rem #a3dcff;
    background-color: #ffffff;
}

.twitter-timeline {
    width: 100%;
}

/* backnumber */

.backnumber-flex {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 4rem);
    max-width: 1200px;
    margin: 5rem auto;
}

.backnumber-item {
    width: 100%;
    margin: 1rem auto;
}

.backnumber-item img {
    width: 100%;
    box-shadow: .5rem .5rem .5rem rgba(0, 0, 0, .3);
}

/* sns */
.sns-archive {
    background-color: transparent;
}

.snstitle {
    width: 20rem;
    margin: 0 auto;
    border-radius: 5rem;
    background-color: #000000;
    color: #ffffff;
    line-height: 3;
}

.copy-link, .copy {
    background-color: #ffd400;
    font-weight: bold;
    line-height: 2;
    text-align: center;
}

.copy-link {
    padding-top: 1rem;
    font-size: .8em;
}

.copy {
    padding-bottom: 1rem;
}


/* deco */

.underLine {
    text-decoration: underline;

    text-underline-offset: .2em;
    text-decoration-thickness: .1em;
}

.underLineBold {
    text-decoration: underline;

    text-underline-offset: -1.1em;
    text-decoration-thickness: 1.5em;
}

.line-black {
            text-decoration-color: #000000;

    -webkit-text-decoration-color: #000000;
}

.line-darkblue {
            text-decoration-color: darkblue;

    -webkit-text-decoration-color: darkblue;
}

.line-gray {
            text-decoration-color: #cccccc;

    -webkit-text-decoration-color: #cccccc;
}

.line-yellow {
            text-decoration-color: #ffd400;

    -webkit-text-decoration-color: #ffd400;
}

.line-red {
            text-decoration-color: #ff0000;

    -webkit-text-decoration-color: #ff0000;
}

.line-white {
            text-decoration-color: #ffffff;

    -webkit-text-decoration-color: #ffffff;
}

.pin {
    position: absolute;
    width: 3rem;
}

.pin-lt {
    top: 0;
    left: 0;
}

.pin-rt {
    top: 0;
    right: 0;
    transform: rotateY(180deg);
}

.pin-rb {
    right: 0;
    bottom: .5rem;
    transform: rotateY(180deg);
}

.pin-lb {
    bottom: .5rem;
    left: 0;
}

/* color */
.smoke {
    color: #443344;
}
.blue {
    color: #2660ac;
}
.skyblue {
    color: #0db8d9;
}

.darkblue {
    color: darkblue;
}

.yellow {
    color: #f8b800;
}
.pink {
    color: #c84283;
}
.green {
    color: #008442;
}
.orange {
    color: #ea5419;
}
.red {
    color: #dd1026;;
}

.white {
    color: #ffffff;
}

/* bg */
.bg-01 {
    background-image: url(../img/bg-01.jpg);
    background-size: 20px auto;
    background-repeat: repeat;
}

.bg-02 {
    background-image: url(../img/bg-02.jpg);
    background-size: 20px auto;
    background-repeat: repeat;
}

.bg-03 {
    background-image: url(../img/bg-03.jpg);
    background-size: 20px auto;
    background-repeat: repeat;
}

/* font */
.f-pen {
    display: inline-block;
    transform: skewX(-5deg);
    font-family: yusei;
}
.fs-06 {
    font-size: .6em;
}

.fs-12 {
    font-size: 1.2em;
}

/* trigger */
.a-trigger.opa {
    opacity: 0;
    transition: 1s;
}

.a-trigger-on.opa {
    opacity: unset;
}

/* animation */
.title-logo img {
            animation: zoomDown 1s .5s both;

    -webkit-animation: zoomDown 1s .5s both;
}

.title-logo .edition {
            animation: fade 1s 1s both;

    -webkit-animation: fade 1s 1s both;
}

#onair {
            animation: fade 1s 1s both;

    -webkit-animation: fade 1s 1s both;
}

@-webkit-keyframes zoomDown {
    0% {
        opacity: 0;
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: unset;
    }
}

@keyframes zoomDown {
    0% {
        opacity: 0;
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: unset;
    }
}

@-webkit-keyframes fade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@-webkit-keyframes fadeUp {
    0% {
        opacity: 0;
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: unset;
    }
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: scale(1.2);
    }

    100% {
        opacity: 1;
        transform: unset;
    }
}

@media screen and (min-width: 1000px) {
    .pc {
        display: unset;
    }

    .sp {
        display: none;
    }

    /* title */
    .edition {
        font-size: 1.5rem;
    }

    /* about */
    .about-txt p {
        font-size: 1.8rem;
    }

    /* cast */
    .prof {
        width: calc(100% / 4 - 1rem);
        margin: .5rem;
    }

    /* backnumber */
    .backnumber-item {
        width: calc(100% / 2 - 1rem);
        margin: .5rem;
    }
}