@charset "UTF-8";

html {
    font-family: serif;
    font-size: 100%;
    color: rgb(30, 30, 30);

}

body {
    padding: 0px;
    margin: 0px;
    background-color: rgb(15, 15, 15);

}

#mainbody {
    background-color: rgba(20, 20, 20, 0.9);
    padding: 15px 10%;


    margin: 0px 5%;
}

#header {
    position: relative;
    /*h1の中央寄せ配置の起点とするためのrelative*/
    height: 100vh;
    /*高さを全画面にあわせる*/
}

.video-wrap {
    position: fixed;
    z-index: -1;
    /*最背面に設定*/
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
}

#background-video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh;
    /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw;
    /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
}

#video1 {
    width: 100%;
    min-height: 100%;
    max-width: 900px;

}

#video2 {
    width: 100%;
    min-height: 100%;
    max-width: 400px;

}

#line {
    padding: 10px;
    margin-bottom: 10px;
    border: 5px double #64386d;
    border-radius: 20px;
}




#main2 {
    padding: 0 20px;

}

/*img{
    width: 100%; min-height: 100%;

}*/

.location iframe {
    max-width: 100%;

}

article {
    width: 55%;
}

aside {
    width: 40%;
}



h1 {
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 40px;
    position: absolute;
    z-index: 1;
    height: 0px;
    margin-bottom: 40px;
    text-align: center;
    color: #FFF;
    text-shadow: 0 0 15px #000;
}

h2 {
    background-color: rgba(30, 140, 160);
    color: rgb(255, 255, 255);
    font-size: 30px;
    padding: 0px 10%;
    margin: 0px;
}

ol {
    /*olはリンク用に使う*/
    color: rgb(50, 160, 180);
    list-style: none;
    padding-left: 20px;
    font-weight: bold;
}

a {

    color: rgb(50, 160, 180);

}

a:hover {
    color: rgb(247, 51, 247);
}

h3 {
    color: rgb(50, 160, 180);
    margin: 0px;
    padding: 0px;
    font-size: 27px;
}

h4 {
    color: rgb(50, 160, 180);
}

p {
    color: rgb(220, 220, 220);
    margin: 0px;
}


#access {
    background-color: rgb(30, 30, 30);
    color: rgb(170, 170, 170);
    padding: 6px 30px;
}

footer {
    background-color: rgb(50, 160, 180);
    text-align: center;
    padding: 20px 0;
    margin: 0px;
}


*,
*:before,
*:after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}


ul {
    list-style: none;
    text-decoration: none;
    color: inherit;
}

.cp_cont {
    height: 65vh;
}

.cp_offcm01 {
    position: absolute;
    top: 50px;
    right: 70px;
    /*チェックボックス位置*/
    display: inline-block;
}

/* menu */
.cp_offcm01 .cp_menu {
    position: fixed;
    /*常に画面に居る*/
    top: 0;
    right: -100vw;
    /*メニューを隠す*/
    width: 250px;
    /*メニュー横幅*/
    height: 100%;
    /*メニュー縦幅*/
    cursor: pointer;
    -webkit-transition: 0.53s transform;
    transition: 0.53s transform;
    -webkit-transition-timing-function: cubic-bezier(.38, .52, .23, .99);
    transition-timing-function: cubic-bezier(.38, .52, .23, .99);
    background: linear-gradient(rgba(110, 200, 200, 0.9), rgba(200, 0, 200, 0.2));
    text-shadow: 0 0 15px #000;
    opacity: 0.8;
}

.cp_offcm01 .cp_menu ul {
    margin: 0;
    padding: 0;
}

.cp_offcm01 .cp_menu li {
    list-style: none;
}

.cp_offcm01 .cp_menu li a {
    /*メニュー内デザイン*/
    display: block;
    padding: 20px;
    text-decoration: none;
    font-weight: bold;
    color: #ffffff;
    border-bottom: 5px solid #8bdbe0;
}

.cp_offcm01 #cp_toggle01 {
    /*チェックボックス本体？*/
    position: fixed;
    /*常に画面に居る*/
    display: none;
    opacity: 0;
    /*不透明度？*/
    z-index: 5;
}

.cp_offcm01 #cp_toggle01:checked~.cp_menu {
    /*メニューが出てくる*/
    z-index: 5;
    -webkit-transform: translateX(-100vw);
    transform: translateX(-100vw);
}

/* menu toggle */
.cp_offcm01 #cp_toggle01~label {
    /*チェックボックスの動き、色*/
    background-image: url("https://github.com/r7740058/sotukenn/blob/main/image/menu.png?raw=true");
    background-size: 100%;
    background-repeat: no-repeat;
    position: fixed;
    /*常に画面に居る*/
    display: block;
    cursor: pointer;
    -webkit-transition: 0.5s transform;
    transition: 0.5s transform;
    -webkit-transition-timing-function: cubic-bezier(.61, -0.38, .37, 1.27);
    transition-timing-function: cubic-bezier(.61, -0.38, .37, 1.27);
    text-align: center;
    color: rgba(0, 0, 0, 0);
    z-index: 5;
    transform: scale(2);
}

.cp_offcm01 #cp_toggle01:checked~label {
    /*メニューの動き*/
    -webkit-transform: translateX(-250px);
    transform: translateX(-250px);
}

.cp_offcm01 #cp_toggle01~label::before {
    font-family: 'FontAwesome';
    content: '\f0c9';
    font-size: 2em
}

.cp_offcm01 #cp_toggle01:checked~label::before {
    content: '\f00d';
}



@media (max-width: 800px) {

    #main {
        padding: 50px 30px;
        flex-direction: column;
        width: 100%;
    }

    article {
        width: 90%;
    }

    aside {
        width: 90%;
    }

}
