/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed&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;
}

/* デスクトップ & タブレット */

/* 
    他のCSSファイルにも共通

    フォントの場合、
        font-familiyは'Kosugi Maru', sans-serif
        サイズは基本1.8vw
            空間に余裕がないときは少し小さめに
            空間に余裕があるときは少し大きめに
            状態によって変える

    border-radiusは、
        平たいところには5vw
        大きいボックス（div）には3vw

    最も外側のdivのwidthは80vw、
        marginは　0 auto
*/

@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: 5vw;
        width: 100vw;
        z-index: 0;
    }
    
    #photo-div {
        float: left;
        width: 50vw;
        height: 32vw;
        background-color: azure;
    }

    #photo-1 {
        padding: 0;
        width: 50vw;
        height: 32vw;
    }

    #current {
        float: left;
        box-sizing: border-box;
        margin: 0;
        padding: 3vw 0;
        width: 50vw;
        height: 32vw;
        background-color: azure;
    }

    #current-content {
        box-sizing: border-box;
        margin: 0;
        margin-bottom: 2vw;
        width: 50vw;
        height: 20vw;
    }

    #content-title {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 50vw;
        height: 5vw;
        line-height: vw;
        font-size: 2vw;
        font-weight: bold;
    }

    .content-inform {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        /* 
        width: 50vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 1.5vw;
        display: -webkit-inline-flex;
        */
        width: 50vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 1.8vw;
        
    }

    #content-message {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 3vw;
        text-align: center;
        width: 50vw;
        height: 5vw;
        line-height: 3vw;
        font-size: 1.8vw;
    }

    #button-div {
        box-sizing: border-box;
        margin: 0 auto;
        width: 50vw;
        height: 4vw;
    }

    #entry-button,
    #about-button {
        float: left;
        box-sizing: border-box;
        margin: 0;
        text-align: center;
        width: 12vw;
        height: 4vw;
        line-height: 4vw;
        border-radius: 3vw;
        background-color: #00A0B0;
        cursor: pointer;
    }

    #entry-button {
        margin: 0 calc(26vw / 3);
    }

    #about-button {
        margin-right: calc(26vw / 3);
    }

    #entry-button:hover > p,
    #about-button:hover > p {
        color: black;
        transition-duration: 1s;
    }

    #entry-button > p,
    #about-button > p {
        margin: 0;
        padding: 0;
        width: 12vw;
        height: 4vw;
        line-height: 4vw;
        font-size: 1.7vw;
        font-weight: bold;
        color: white;
    }

    #about-lab-div {
        clear: both;
        float: right;
        box-sizing: border-box;
        margin: 0;
        padding: 3vw 0;
        width: 50vw;
        height: 32vw;
        background-color: #00A0B0;
    }

    #about-lab-title {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 50vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 2vw;
        font-weight: bold;
        color: white;
    }

    #about-lab-inform {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 3vw;
        text-align: left;
        width: 50vw;
        height: 21vw;
        line-height: 3vw;
        font-size: 1.8vw;
    }

    #access-div {
        float: right;
        box-sizing: border-box;
        margin: 0;
        padding: 3vw 0;
        width: 50vw;
        height: 32vw;
        background-color: azure;
    }

    #access-title {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 50vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 2vw;
        font-weight: bold;
    }

    #access-inform {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0 3vw;
        text-align: left;
        width: 50vw;
        height: 17vw;
        line-height: 3.2vw;
        font-size: 1.8vw;
    }
    
    #access-button {
        float: left;
        box-sizing: border-box;
        margin: 0 19vw;
        padding: 0;
        text-align: center;
        width: 12vw;
        height: 4vw;
        line-height: 4vw;
        border-radius: 3vw;
        background-color: #00A0B0;
        cursor: pointer;
    }
    
    #access-button > a {
        margin: 0;
        padding: 0;
        width: 12vw;
        height: 4vw;
        line-height: 4vw;
        font-size: 1.7vw;
        font-weight: bold;
        text-decoration: none;
        color: white;
    }

    #access-button:hover > a {
        color: black;
        transition-duration: 1s;
    }

    #news-div {
        clear: both;
        box-sizing: border-box;
        margin: 0;
        padding: 3vw;
        width: 100vw;
        height: 26vw;
        background-color: rgb(217, 248, 248);
    }

    #news-title {
        margin: 0;
        padding: 0;
        width: 94vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 2vw;
        font-weight: bold;
        color: #00A0B0;
    }

    #news-ul {
        margin: 0;
        padding-left: 2vw;
    }

    .news-li {
        margin: 0;
        padding: 0;
        width: 94vw;
        height: 5vw;
        line-height: 5vw;
        font-size: 2vw;
    }
    
    footer {
        clear: both;
        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 {
        width: 100vw;
    }

    #photo-div {
        width: 100vw;
        height: 60vw;
    }

    #photo-1 {
        width: 100%;
        height: 100%;
    }

    #current {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        padding: 5vw;
        width: 100vw;
        height: 55vw;
        background-color: azure;
    }

    #current-content {
        box-sizing: border-box;
        margin: 0;
        width: 90vw;
        height: 32vw;
    }

    #content-title {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        width: 90vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 4vw;
        font-weight: bold;
        color: #00A0B0;
    }

    .content-inform {
        margin: 0;
        padding: 0;
        text-align: center;
        width: 90vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 3.4vw;
    }

    #button-div {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        padding: 0;
        width: 90vw;
        height: 8vw;
    }

    #entry-button,
    #about-button {
        float: left;
        box-sizing: border-box;
        margin: 0;
        text-align: center;
        width: 25vw;
        height: 8vw;
        line-height: 8vw;
        border-radius: 3vw;
        background-color: #00A0B0;
        cursor: pointer;
    }

    @media screen and (min-width:500px) {
        #entry-button:hover > p,
        #about-button:hover > p {
            color: black;
            transition-duration: 1s;
        }
    }

    #entry-button {
        margin: 0 calc(40vw / 3);
    }

    #about-button {
        margin-right: calc(40vw / 3);
    }

    #entry-button > p,
    #about-button > p {
        margin: 0;
        padding: 0;
        width: 25vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 3vw;
        color: white;
    }

    #about-lab-div {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        padding: 5vw;
        width: 100vw;
        height: 66vw;
        background-color: azure;
    }

    #about-lab-title {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        width: 90vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 4vw;
        font-weight: bold;
        color: #00A0B0;
    }

    #about-lab-inform {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        text-align: left;
        width: 90vw;
        height: 48vw;
        line-height: 8vw;
        font-size: 3.4vw;
    }

    #access-div {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        padding: 5vw;
        width: 100vw;
        height: 65vw;
        background-color: azure;
    }

    #access-title {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        width: 90vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 4vw;
        font-weight: bold;
        color: #00A0B0;
    }

    #access-inform {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        text-align: left;
        width: 90vw;
        height: 34vw;
        line-height: 8vw;
        font-size: 3.4vw;
    }
    
    #access-button {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        text-align: center;
        width: 25vw;
        height: 8vw;
        line-height: 8vw;
        border-radius: 3vw;
        background-color: #00A0B0;
        cursor: pointer;
    }

    #access-button > a {
        display: inline-block;
        width: 25vw;
        height: 7vw;
        color: white;
        text-decoration: none;
    }
    
    #news-div {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        padding: 5vw;
        width: 100vw;
        height: 50vw;
        background-color: azure;
    }

    #news-title {
        box-sizing: border-box;
        margin: 0 auto;
        padding: 0;
        text-align: center;
        width: 90vw;
        height: 8vw;
        line-height: 8vw;
        font-size: 4vw;
        font-weight: bold;
        color: #00A0B0;
    }

    #news-ul {
        margin: 0;
        padding: 0;
        padding-left: 2vw;
    }

    .news-li {
        margin: 0 auto;
        padding: 0;
        height: 8vw;
        line-height: 8vw;
        font-size: 3.5vw;
    }

    .news-li:first-child {
        height: 16vw;
    }

    footer {
        box-sizing: border-box;
        margin: 0 auto;
        margin-top: 5vw;
        text-align: center;
        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.
*/