@charset "UTF-8";

@font-face {
    font-family: "Original Yu Gothic";
    src: local("Yu Gothic");
    font-weight: 300;
}

@font-face {
    font-family: "Original Yu Gothic";
    src: local("Yu Gothic");
    font-weight: 500;
}

@font-face {
    font-family: "Original Yu Gothic";
    src: local("Yu Gothic");
    font-weight: bold;
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 100;
}

@font-face {
    font-family: "Helvetica Neue";
    src: local("Helvetica Neue Regular");
    font-weight: 200;
}

html {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}


/* IE10以上 */

@media all and (-ms-high-contrast: none) {
    html {
        font-family: Verdana, Meiryo, sans-serif;
    }
}

@media all and (-ms-high-contrast: active) {
    html {
        font-family: Verdana, Meiryo, sans-serif;
    }
}

body,
code {
    font: 14px/1.231;
    font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
    line-height: 1;
    -webkit-text-size-adjust: 100%;
}

html,
body,
span,
p,
h1,
h2,
h3,
h4,
h5,
h6,
dl,
dt,
dd,
ol,
ul,
li,
table,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    box-sizing: border-box;
}

footer {
    margin-top: 0.7em;
    text-align: center;
    font-size: 0.8em;
}

.backboard {
    padding: 0 0 15px;
}

.flexcont {
    margin: 10px auto;
    display: flex;
    justify-content: space-evenly;
    align-content: stretch;
    align-items: center;
}

.item_c {
    margin: 0 5px;
    flex-basis: calc(97vw / 2);
    text-align: center;
}

.item_f1 {
    margin: 1rem;
    flex-shrink: 1;
    text-align: center;
}

.item_f2 {
    flex-shrink: 1;
    text-align: center;
}

.item_f1,
.item_f2 {
    line-height: 1.2em;
    box-sizing: border-box;
    font-size: 2vw;
    color: black;
    /* text-shadow: rgba(128, 127, 127, 0.883) 1px 1px 0px; */
}

.item_f1>.sub,.item_f2>.sub {
    margin: 0 auto 0;
    width: 14rem;
}

.sub>.sub_inner {
    text-align: left;
    font-size: 1rem;
    line-height: 1.2em;
}

.flexcont h2 {
    font-size: 1em;
}

.flexcont img {
    max-width: 100%;
}

.bgblue {
    box-sizing: border-box;
    display: inline-block;
    /* padding: 10px 15px; */
    line-height: 1.2em;
    z-index: 0;
    /* border-radius: 20px; */
    border: solid #FFFFFF 1px;
    /* background-color: #1b3f63; */
    color: #FFFFFF;
    /* text-shadow: rgba(26, 25, 25, 0.8) 1px 1px 0px; */
    text-shadow: -1px -1px 0 rgba(150, 150, 150, 30);
    background: linear-gradient(#54a2fc, #004a9a);

    font-weight: bold;
    text-decoration: none;


    list-style-type: none;
    padding: 5px;
    margin: 0 3px;
    border-radius: 8px;
}

.bgred {
    box-sizing: border-box;
    display: inline-block;
    padding: 10px 15px;
    line-height: 1.2em;
    z-index: 0;
    /* border-radius: 20px; */
    border: solid #FFFFFF 1px;
    /* background-color: #ec0707; */
    background: linear-gradient(#ff5d5d, #ec0707);

    color: #FFFFFF;
    /* text-shadow: rgba(26, 25, 25, 0.8) 1px 1px 0px; */
    text-shadow: -1px -1px 0 rgba(150, 150, 150, 30);
    border-radius: 8px;

}

.bgred>a {
    color: #FFFFFF;
    text-decoration: none;
}

.bgorange {
    box-sizing: border-box;
    display: inline-block;
    padding: 10px 15px;
    line-height: 1.2em;
    z-index: 0;
    /* border-radius: 20px; */
    border: solid #FFFFFF 1px;
    /* background-color: rgba(241, 159, 5, 0.637); */
    background: linear-gradient(#fa9659, #f05e05);
    color: #FFFFFF;
    text-shadow: -1px -1px 0 rgba(150, 150, 150, 30);
    /* text-shadow: rgba(26, 25, 25, 0.8) 1px 1px 0px; */
    list-style-type: none;
    /* padding: 5px; */
    margin: 0 3px;
    border-radius: 8px;

}

.wrap1 {
    width: 70%;
    aspect-ratio: 16 / 9;
    /* width: calc(var(--ww)); */
    margin: 0 auto;
    /* height: 0; */
    height: auto;
    position: relative;
    /* padding-top:39.375% ; */
    /* padding-top: calc(var(--wh)); */
    overflow: hidden;
    border: solid 3px #004B9B;
}

.wrap2 {
    width: 20%;
    /* width: calc(var(--ww)*0.25); */
    height: auto;
    display: block;
    margin: 0 auto;
    height: 0;
    position: relative;
        flex-grow: 0;
    flex-shrink: 1;
}
.wrap2 p{
    padding:1em;
    border-radius: 1.2rem;
    background-color: rgba(255, 252, 252, 0.6);
    font-size: 1rem;
    color: black1;
    text-shadow: rgba(255, 252, 252, 0.8) 1px 1px 0px;
    line-height: 1.4;
    text-align: center;

}
.wrap {
    display: flex;
    max-width: 97%;
    justify-content:space-around;
    /* width: calc(var(--ww)); */
    margin: 0 auto;
}

.wrap1 iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

#start {
    display: none;
}

#vote {
    display: none;
}

#presub{
    display: none;
}

@media screen and (max-width: 1280px) {
    .wrap {
        flex-direction:column;
    }
    .wrap1 {
        width: 90%;
        max-width: calc((100vh - 40px) * 16 / 9);
        /* padding-top: 43.5%; */
    }
    .wrap2 {
        width: 95%;
        height: auto;
    }
    .wrap p{
        font-size: 0.9em;
    }
}

@media screen and (max-width: 810px) {
        .backboard {
        position: relative;
        background-size: contain;
    }
    .flexcont {
        flex-direction: column;
    }
    .item_c {
        order: 0;
        flex-basis: auto;
    }
    .item_f1 {
        order: 1;
        flex-basis: auto;
        font-size: 3vh;
    }
    .item_f2 {
        order: 2;
        flex-basis: auto;
        font-size: 3vh;
    }
    .item_f2>.sub {
        margin: 0;
    }
    .wrap {
        flex-direction:column-reverse;
    }
    .wrap1 {
        order: 1;
        max-width: 95%;
        width: 95%;
        /* padding-top: 53%; */
    }
    .wrap2 {
        order: 0;
        width: 95%;
        height: auto;
    }
}
 @media screen and (orientation: landscape) and (max-width: 810px) { 

    .item_f2{
        font-size: 3vw;
    }
    .wrap1 {
        order: 1;
        max-width: calc((100vh - 40px) * 16 / 9);
        width: 95%;
    }
}