/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');

/* デスクトップ & タブレット */
body {
    margin: 0;
    padding: 0;
    width: 100vw;
    font-family: 'Kosugi Maru', sans-serif;
}

@media screen and (min-width:768px) {

    header {
        position: fixed;
        top: 0;
        box-sizing: border-box;
        margin: 0 auto;
        width: 100vw;
        height: 5vw;
        background-color: #00A0B0;
        z-index: 3;
    }
    
    #menu-navi {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 10vw;
        width: 100vw;
        height: 5vw;
    }
    
    #navi-logo {
        float: left;
        width: 25vw;
        height: 5vw;
    }

    #navi-logo > a {
        width: 25vw;
        height: 5vw;
    }

    #navi-logo > a > img {
        float: left;
        width: 5vw;
        height: 5vw;
    }

    #lab-name {
        float: left;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        width: 20vw;
        height: 5vw;
    }

    #lab-name > p {
        margin: 0 1vw;
        padding: 0;
        width: 18vw;
        height: 2.5vw;
        line-height: 2.5vw;
        font-size: 1.4vw;
        font-weight: bold;
        color: white;
        text-decoration: none;
    }
    
    #insta {
        float: left;
        width: 5vw;
        height: 5vw;
    }
    
    #insta > a > img {
        margin: 1vw;
        width: 3vw;
        height: 3vw;
        filter: invert(100%) sepia(0%) saturate(7492%) hue-rotate(357deg) brightness(91%) contrast(122%);
        /* Reference : https: //codepen.io/sosuke/pen/Pjoqqp */
    }
    
    #menu-bar {
        float: left;
        margin: 0;
        padding: 0;
        width: 50vw;
        height: 5vw;
    }
    
    #sized-box {
        float: left;
        width: 2vw;
        height: 5vw;
    }

    .menu-link {
        text-align: center;
        text-decoration: none;
    }

    .menu {
        float: left;
        box-sizing: border-box;
        text-align: center;
        width: 12vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 1.8vw;
        font-weight: bold;
        color: white;
        list-style-type: none;
    }
    
    .menu-link:visited > .menu {
        color: white;
    }

    .menu-link:hover > .menu {
        color: #002631;
        transition-duration: 1s;
    }

    main {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 8vw;
        width: 100vw;
        z-index: 0;
    }

    #contact-div {
        box-sizing: border-box;
        margin: 3vw auto;
        padding: 0;
        width: 60vw;
        height: 33vw;
    }

    .title {
        box-sizing: border-box;
        margin: 0 auto;
        margin-bottom: 2vw;
        padding: 0;
        text-align: center;
        width: 40vw;
        height: 4vw;
        line-height: 4vw;
        font-size: 2vw;
        font-weight: bold;
        color: white;
        border-radius: 5vw;
        background-color: #00A0B0;
    }

    .title > p {
        margin: 0;
        padding: 0;
    }

    #contact {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 2vw;
        width: 60vw;
        height: 27vw;
        line-height: 3vw;
        font-size: 1.8vw;
        border: 0.5vw solid #00A0B0;
        border-radius: 3vw;
        background-color: azure;
    }

    #lab {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 55vw;
        height: calc(22vw / 6 * 1.5);
        line-height: calc(22vw / 6 * 1.2);
        font-size: 2.2vw;
    }
    
    .sub-title {
        clear: both;
        float: left;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        text-align: center;
        width: 10vw;
        height: calc(22vw / 6 * 4.5 / 4);
        line-height: calc(22vw / 6 * 4.5 / 4);
        font-weight: bold;
    }

    .content {
        float: left;
        box-sizing: border-box;
        text-align: center;
        margin: 0;
        padding: 0;
        padding-left: 1.5vw;
        width: 45vw;
        height: calc(22vw / 6);
        line-height: calc(22vw / 6);
    }

    .content > a {
        color: black;
        text-decoration: none;
    }

    #bug-reporting-div {
        box-sizing: border-box;
        margin: 3vw auto;
        padding: 0;
        width: 60vw;
        height: 23vw;
    }

    #bug-reporting {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 2vw;
        width: 60vw;
        height: 17vw;
        line-height: 3vw;
        font-size: 1.8vw;
        border: 0.5vw solid #00A0B0;
        border-radius: 3vw;
        background-color: azure;
    }

    #bug-reporting-inform {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        text-align: center;
        width: 55vw;
        height: 8vw;
        line-height: 4vw;
    }

    #bug-reporting-email {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 1vw;
        padding: 0;
        text-align: center;
        width: 55vw;
        height: 4vw;
        line-height: 4vw;
    }

    #bug-reporting-email > a {
        display: inline-block;
        text-align: center;
        width: 60vw;
        height: 4vw;
        color: black;
        text-decoration: none;
    }

    footer {
        box-sizing: border-box;
        margin: 0 auto;
        text-align: center;
        width: 100vw;
        height: 4vw;
        line-height: 4vw;
        background-color: #00A0B0;
    }

    footer > p {
        margin: 0;
        font-size: 1.5vw;
        color: white;
    }

}

/* モバイル */
@media screen and (max-width:767px) {

    header {
        width: 100vw;
        height: 27vw;
        background-color: #00A0B0;
    }
    
    #menu-navi {
        box-sizing: border-box;
        width: 100vw;
        height: 27vw;
    }
    
    #navi-logo {
        float: left;
        margin: 0;
        margin-right: 16vw;
        margin-bottom: 1.3vw;
        width: 70vw;
        height: 16vw;
    }
    
    #navi-logo > a {
        width: 70vw;
        height: 16vw;
    }
    
    #navi-logo > a > img {
        float: left;
        width: 16vw;
        height: 16vw;
    }
    
    #lab-name {
        box-sizing: border-box;
        float: left;
        margin: 0;
        padding: 1vw 0;
        width: 54vw;
        height: 16vw;
    }
    
    #lab-name > p {
        margin: 0;
        padding: 0;
        width: 54vw;
        height: 7vw;
        line-height: 7vw;
        font-size: 4vw;
        font-weight: bold;
        color: white;
        text-decoration: none;
    }
    
    #insta {
        float: left;
        box-sizing: border-box;
        margin: 0;
        margin-bottom: 1.3vw;
        padding: 2.5vw 0;
        width: 12vw;
        height: 16vw;
    }
    
    #insta > a > img {
        width: 11vw;
        height: 11vw;
        filter: invert(100%) sepia(0%) saturate(7492%) hue-rotate(357deg) brightness(91%) contrast(122%);
        /* Reference : https: //codepen.io/sosuke/pen/Pjoqqp */
    }
    
    #menu-bar {
        clear: both;
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        width: 100vw;
        height: 9.7vw;
    }
    
    .menu-link {
        text-align: center;
        text-decoration: none;
    }
    
    #sized-box {
        margin: 0 auto;
        margin-bottom: 1.3vw;
        padding: 0;
        width: 90vw;
        height: 0.4vw;
        background-color: white;
    }
    
    .menu {
        float: left;
        box-sizing: border-box;
        margin: 0.35vw 0 1.65vw 0;
        text-align: center;
        width: 25vw;
        height: 6vw;
        line-height: 6vw;
        font-size: 3vw;
        font-weight: bold;
        color: white;
        list-style-type: none;
    }
    
    .menu-link:visited > .menu {
        color: white;
    }
    
    .menu-link:hover > .menu {
        color: #002631;
        transition-duration: 1s;
    }

    main {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        width: 100vw;
    }

    #contact-div {
        box-sizing: border-box;
        margin: 8vw auto;
        padding: 0 5vw;
        width: 100vw;
        height: 108vw;
    }

    .title {
        box-sizing: border-box;
        margin: 0 auto;
        margin-bottom: 5vw;
        padding: 0;
        text-align: center;
        width: 80vw;
        height: 7vw;
        line-height: 7vw;
        font-size: 4vw;
        font-weight: bold;
        color: white;
        border-radius: 5vw;
        background-color: #00A0B0;
    }

    .title > p {
        margin: 0;
        padding: 0;
    }

    #contact {
        box-sizing: border-box;
        margin: 0;
        padding: 5vw;
        width: 91vw;
        height: 96vw;
        line-height: 5vw;
        border: 0.5vw solid #00A0B0;
        border-radius: 3vw;
        background-color: azure;
    }

    #lab {
        box-sizing: border-box;
        margin: 0 auto;
        margin-bottom: 5vw;
        padding: 1vw 0;
        text-align: center;
        width: 65vw;
        height: 15vw;
        line-height: 6vw;
        font-size: 5vw;
    }
    
    .sub-title {
        box-sizing: border-box;
        text-align: center;
        margin: 0 auto;
        padding: 0;
        width: 18vw;
        height: 8vw;
        line-height: 8vw;
        font-weight: bold;
        font-size: 4vw;
    }

    .content {
        text-align: center;
        margin: 0 auto;
        padding: 0;
        width: 82vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 4vw;
    }

    .content:not(:last-child) {
        border-bottom: calc(2vw / 3) solid #00A0B0;
    }

    .content > a {
        color: black;
        text-decoration: none;
    }

    #bug-reporting-div {
        box-sizing: border-box;
        margin: 8vw auto;
        padding: 0 5vw;
        width: 100vw;
        height: 53vw;
    }

    #bug-reporting {
        box-sizing: border-box;
        margin: 0;
        padding: 5vw;
        width: 91vw;
        height: 41vw;
        line-height: 5vw;
        border: 0.5vw solid #00A0B0;
        border-radius: 3vw;
        background-color: azure;
    }

    #bug-reporting-inform {
        box-sizing: border-box;
        margin: 0;
        margin-bottom: 5vw;
        padding: 0;
        text-align: center;
        width: 80vw;
        height: 18vw;
        line-height: 6vw;
        font-size: 4.2vw;
    }

    #bug-reporting-email {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        width: 80vw;
        height: 7vw;
        line-height: 7vw;
        font-size: 4.3vw;
    }

    #bug-reporting-email > a {
        display: inline-block;
        text-align: center;
        width: 80vw;
        height: 7vw;
        color: black;
        text-decoration: none;
    }
    
    footer {
        box-sizing: border-box;
        margin: 0 auto;
        text-align: center;
        line-height: 40px;
        width: 100vw;
        height: 10vw;
        line-height: 10vw;
        background-color: #00A0B0;
    }
    
    footer > p {
        margin: 0;
        font-size: 3vw;
        color: white;
    }

}

/* 
    1. position
    2. top/bottom
    3. left/right
    4. float/clear
    5. display
    6. box-sizing
    7. margin
    8. padding
    9. text-align
    10. width
    11. height
    12. line-height
    13. font-size
    14. font-weight
    15. font-family
    16. color
    17. border
    18. border-radius
    19. background-color
    20. cursor
    21. text-decoration
    22. list-style-type
    23. transition-duration
    24. z-index
    25. etc.
*/