:root{
    --logo-height: 70px;
    --header-height: calc(var(--logo-height) + 4px + 1rem);
    --footer-height: calc(250px + 1rem);
    --header-color: #000999cc;
    --footer-color: #014;
    --news-img-width: 300px;
    --news-max-article: 2;
    --news-max-height: calc(var(--news-max-article)*(var(--news-img-width)*(9/16) + 1rem) - 1rem);
    --bg-color-main: #74dafe;
    --bg-color-sub: rgba(255, 160, 200, 1) ;
    --bg-color-cs: #ddf;
    --ba-color: #74dafe;
    --ba-color-txt: #142036;
}
@media (prefers-color-scheme: dark) {
    /* :root{
        --bg-color-main: #014;
        --bg-color-cs: #0b1027;
        --bg-color-sub: rgb(125, 70, 95) ;
    } */
}
html,p{
    font-family: 'Noto Sans';
}
h2{
    text-align: center;
    font-family: 'SourceHan';
    font-size: 4rem;
}
.news-outline h2{
    font-family: 'BebasNeue';
    font-size: 8rem;
}
body{
    overflow-x: hidden;
    height: 100%;
    min-height: 100vh;
    background-color: #f8fbff;
}
header{
    position: sticky;
    z-index: 500;
    top: 0;
    width: 100%;
    height: var(--header-height);
    background-color: var(--header-color);
    box-shadow: 0 0.25rem 0.5rem 0.5rem var(--header-color);
}
footer{
    height: var(--footer-height);
    padding: 0 5% 1rem;
    background-color: var(--footer-color);
}
#copyright{
    color: #fff;
}
.bg{
    z-index: -1;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    bottom: 0;
    background-image: radial-gradient(at 51% 75%, var(--bg-color-cs), #00000000), conic-gradient(at 50% 100%, rgba(255, 255, 255, 0) 0deg, var(--bg-color-sub) 140deg 220deg, rgba(255, 255, 255, 0) 360deg), linear-gradient(0deg, rgba(255, 255, 255, 0.92), var(--bg-color-main) 85%);
    filter: blur(5px)
}
.bg::after{
    content: '';
    display: block;
    background-image: url('/com/assets/img/bg.svg');
    width: 100%;
    height: 100%;
    background-size: 100% auto;
    background-repeat: repeat-y;
}
.header-outline,.footer-outline{
    display: flex;
    align-items: center;
    flex-flow: wrap;
    justify-content: stretch;
    width: 90%;
    height: 100%;
    padding: 0 5%;

    gap: 1rem;
}
.footer-outline{
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    height: calc(var(--footer-height) - 4rem);
}
.header-inline,.footer-inline{
    padding: 0.5rem;
    white-space: nowrap;
    color: #fff;
    font-size: 1.25rem;
}
.header-inline:not(.header-logo):hover{
    border-bottom: 2px solid #fff;
}
.header-logo{
    height: var(--logo-height);
    margin-right: auto;

    aspect-ratio: 3;
}
.contents-outline{
    z-index: 200;
    height: 100%;
    min-height: calc(100vh - var(--header-height) - var(--footer-height));
}
.contents-inline{
    width: 80%;
    max-width: calc(90vh * 16/9);
    margin: 0 auto;
}
.popup {
    position: fixed;
    z-index: 1000;
    top: 50vh;
    left: 50vw;
    display: none;
    overflow: hidden;
    min-width: 25rem;
    min-height: 10rem;
    padding: 4rem 20px;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var( --ba-color-txt);
    border-radius: 1rem;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);

    --pupup-translateY: calc(-50% - var(--header-height));
    background-position: right -40px bottom;
    background-repeat: no-repeat;
    background-image: url(/com/assets/img/popup.svg);
    background-size: 150px;
}
.popup > p:first-child {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 3rem;
    transform: translateX(-50%);
    text-align: center;
    font-size: 1.5rem;
    line-height: 2rem;
    background-position: left -20px bottom;
    background-repeat: no-repeat;
    background-image: url(/com/assets/img/popup.svg);
    box-shadow: 0 0 10px #00000055;
}
.popup > p:first-child::after {
    position: absolute;
    top: 50%;
    right: 0;
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    content: '';
    transform: translate(-50%,-50%);
    background-color: var( --ba-color-txt);

    clip-path: polygon(10% 0,50% 40%,90% 0,100% 10%,60% 50%,100% 90%,90% 100%,50% 60%,10% 100%,0% 90%,40% 50%,0% 10%);
}
.popup > p:first-child span{
    position: absolute;
    bottom: 0;
    left: 50%;
    padding: 2px;
    transform: translate(-50%,0);
    border-bottom: 3px solid #ffe300;
}
.popup > .msg{
    position: absolute;
    top: 45%;
    left: 50%;
    min-width: 20rem;
    transform: translate(-50%,-50%);
}
.btns {
    position: absolute;
    bottom:0;
    left: 50%;
    display: flex;
    transform:translate(-50%,0);
}
.btns > button{
    width: 10rem;
    margin: 1rem 0.5rem;
    padding: 0.5rem 1rem;
    transform:skewX(-12deg);
    text-align: center;
    color: var( --ba-color-txt);
    border: none;
    border-radius: 0.4rem;
    background-color: var(--ba-color);
    box-shadow: 3px 3px 3px #00000044;
    font-size: 1.5rem;
}
.overlay {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
}
.imgFrame{
    position: relative;
    width: 100%;
    max-height: 90vh;
    margin-bottom: calc(-1 * var(--header-height) + 1rem);
    transform: translateY(calc(-1 * var(--header-height)));
    aspect-ratio: calc(16/9);
}
#logo{
    height: var(--logo-height);

    aspect-ratio: 3;
}
#bgmovie,#bgmovie-cover {
    position: absolute;
    z-index: 299;
    left: 50%;
    overflow: hidden;
    height: 100%;
    max-height: 90vh;
    transform: translateX(-50%);
    border: none;

    aspect-ratio: calc(16/9);
}
#bgmovie-cover {
    z-index: 300;
    box-shadow: 0 0 10px #00000088;
}
#playVideo{
    position: relative;
    height: 2rem;
}
#videoIndicator{
    text-align: center;
    font-size: 1.2rem;
}
#volume{
    border-radius: 1rem;
    background-color: #888;
}
#volumeContainer::before{
    content: ' volume:';
    font-size: 0.8em;
}
.news{
    overflow: hidden;
    height: fit-content;
    padding: 0.5rem;
}
.news-img{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-height: var(--news-max-height);

    gap:  1rem;
}
.news-child > a{
    z-index: 250;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
}
.news-child > a time {
    width: 6rem;
}
.news-child > a .news-title {
    flex-grow: 1;
}
.news-child-img{
    position: relative;
    overflow: hidden;
    flex: 0 1 auto;
    width: calc(var(--news-img-width)*1.5);
    border-radius: 1rem;
    box-shadow: #000 2px 2px 8px;

    aspect-ratio: calc(16/9/1.2);
}
.news-child-img > a{
    display: block;
    width: 100%;
    height: 100%;
    background-color: #014;
}
.news-child-img > a img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;

    aspect-ratio: calc(16/9);
}
.news-child-img > a time{
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    width: calc(9/16*100%);
    height: 37%;
    padding: 0.5rem;
    transform: rotateZ(90deg) translate(-0.5rem,-88%);
    transform-origin: top left;
    text-align: center;
    color: #fff;
    text-shadow: #000 1px 0 10px;
    font-family: 'BebasNeue';
    font-size: calc(60px * 1.4);
}
.news-child-img > a h4 {
    position: absolute;
    top: 84%;
    left: 5%;
    width: 90%;
    color: white;
    text-shadow: #000 1px 0 10px;
    font-size: 1rem;
}
.news-child-img > a .news-disc{
    position: absolute;
    bottom: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: #ffffff77;
}
.news-child-img > a .news-disc p{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    transform: translate(-50%,-50%);
    text-shadow: #fff 5px 0 5px;
}
.news-child-img:hover .news-disc {
    display: block;
    animation: fadein 0.5s forwards;
}
.topimg{
    position: relative;
    width: 100%;
    max-height: 90vh;
    margin-bottom: calc(-1 * var(--header-height) + 1rem);
    transform: translateY(calc(-1 * var(--header-height)));
    background-color: #88888888;

    aspect-ratio: calc(16/9);
}
.topimg img{
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    max-height: 90vh;
    transform: translateX(-50%);

    aspect-ratio: calc(16/9);
}
.applink-outline {
    position: relative;
    width: 100%;
    height: fit-content;
    margin: 0.6rem auto;
}
.applink {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    padding-top: 1rem;
}

.applink > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    height: 6rem;
    margin: 0 0.6rem;
}

.applink > a img {
    width: auto;
    height: 5rem;

    object-fit: contain;
}
.applink > a:last-child img {
    height: 6rem;
}
.section{
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height:  auto;
    margin: 2rem 0;
    padding: calc(20px + 3rem) 20px 20px;
    border-right: 1px #888 solid;
    border-bottom: 1px #888 solid;
    background-color: #fff;

    clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 2rem, 8rem 2rem, 7rem 0);
}
.section-in{
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: calc(20px + 3rem) 20px 20px;
    border: 1px solid #000;
    background-color: #fff;

    clip-path: polygon(0 0, 0 100%, calc(100% - 3rem - 2px) 100% ,100% calc(100% - 3rem - 2px), 100% 0);
}
.section::before,.section::after,.section-in::before,.section-in::after{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
}
.section::before{
    padding: 0.5rem 1rem;
    content: "〇＋×△";
    color: #08f;
    background-image: linear-gradient(-50deg, #00000000 3rem, #0088ff33 3rem 8rem, #00000000 5rem, calc(100% - 8rem), #0088ff33 calc(100% - 8rem) calc(100% - 3rem), #00000000 calc(100% - 3rem));
    font-size: 1.2rem;
}
.section::after{
    z-index: 1;
    width: 3.5rem;
    height: 1rem;
    transform: translate(2rem,4rem) rotateZ(60deg);
    border: 0.3rem solid #08f;
    border-radius: 1rem;

    clip-path: polygon(0 0,0 100%,0.99rem 100%,1.16rem 80%,1.5rem 80%,1.5rem 100%,100% 100%,100% 0);
}
.section-in::before{
    box-sizing: border-box;
    padding: calc(30px + 3rem) 30px 30px;
    content: '';
}
.section-in::after{
    background-color: #888;

    clip-path: polygon(calc(100% - 3rem) 100%, 100% calc(100% - 3rem), calc(100% - 3rem) calc(100% - 3rem));
}
.section-cont-out > h2 {
    position: relative;
    width: fit-content;
    margin: 0 auto;
    transform: rotateZ(-5deg);
    white-space: nowrap;
    font-size: 3rem;
}
.section-cont-out > h2 span {
    position: relative;
    padding: 1rem;
    background-color: #ffe300;
}
.section-cont-out > h2 span::before{
    position: absolute;
    z-index: -1;
    right: 0.5rem;
    bottom: -0.2rem;
    width: 80%;
    height: 50%;
    content: "";
    transform: rotateZ(5deg);
    background-color: #888;

    filter: blur(4px);
}
.section-cont-out{
    position: relative;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 5px #00000033;
}
.section-cont{
    box-sizing: border-box;
    height: calc(100% - 6rem);
    margin-top: 2rem;
    padding: 1rem;
}
.x::after{
    display: inline-block;
    content: "\1D54F";

    aspect-ratio: 1;
}
#humBtn{
    display: none;
}
@keyframes fadein {
    0% {
        background-color: #ffffff00;
    }
    100%{
        background-color: #ffffff88;
    }
    
}

@media screen and (max-width: 900px) {
    .header-logo{
        margin: 0;
        transition: transform 0.5s ease;  transform: translateY(100vh);
        }
    .header-outline{
        position: absolute;
        top: 0;
        left: 0;
        flex-direction: column;
        width: 100vw;
        height: 100vh;
        padding: 0;
        transition: transform 0.5s ease;  transform: translateY(0);
        background-color: var(--header-color);
        }
    .header-outline:not(.header-out) > .header-logo{
        transition: transform 0.5s ease;  transform: translateY(0);
        }
    .header-out{
        transform: translateY(-100vh);
    }
    .header-inline:not(.header-logo) {
        width: 60%;
        min-width: fit-content;
        padding: 0.5rem 4rem;
        text-align: center;
        color: #fff;
        border-bottom: 1px solid #fff;
        font-size: 2rem;
    }
    .header-outline:last-child {
        margin-bottom: auto;
    }
    #humBtn{
        position: absolute;
        top: calc(var(--header-height)/2);
        right: 0;
        display: flex;
        flex-direction: column;
        width: 2.5rem;
        height: 2rem;
        padding: 0.5rem;
        transform: translateY(-50%);
    }
    #humBtn > span{
        width: calc(100% - 0.4rem);
        height: 0.4rem;
        margin: 0.2rem;
        transition: transform 0.5s ease;
        background-color: #fff;
    }
    #humBtn:not(.on) > span{
        transform: rotateX(90deg)
    }
    #humBtn:not(.on) > span:first-child{
        transform: translateY(0.65rem) rotateZ(45deg);
        transform-origin: center;
    }
    #humBtn:not(.on) > span:last-child{
        transform: translateY(-0.65rem) rotateZ(-45deg);
        transform-origin: center;
    }
}
@media screen and (max-width: 600px) {
    html{
        font-size: 62.5%;
    }
    .section::after{
        transform: translate(3rem,4.8rem) rotateZ(60deg);
    }
}