    @charset "utf-8";
    body{
        margin: 0 auto;
        color: #333;
    }
    /* -----header----- */
    header{
        display: flex;
        justify-content: space-between;
        max-width: 960px; 
        margin: 0 auto;
        align-items: flex-end;   /*align-items で要素を下揃えに指定*/
        padding: 5px;
    }

    header h1{
        font-size: 24px;
        font-weight: bold;
        margin-top: 30px;
        font-family: 'Peralta', cursive;
    }

    header nav{
        width: auto;
        margin-left: 0;
        margin-right: 5px;
    }

    header nav ul{
        display: flex;
    }
    header nav ul li{
        width: auto;
        margin-left: 10px;
        text-decoration: none;
        list-style-type: none;
    }

    header nav ul li:hover{
        border-bottom:solid 2px #2e6ca5;    
    }

    header nav ul li a{
        text-decoration: none;
    }


    /* -----main----- */
    main {
        width: 100%;
        text-align: center;
    }
    #mainvisual img{
        width: 100%;
        max-width: 1920px;
        height:420px;
        object-fit: cover;
    }

    #about{
        margin: 0 auto;
        max-width: 960px;
        margin-bottom: 20px;
    }

    #about h2{
        font-weight: bold;
        text-align: left;
        padding-left: 10px;
    }

    #about dl{
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        text-align: left;
    }

    #about dl dt{
        width: 21%;
        height: 20px;
        border-bottom: solid 0.5px gray;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 2%;
        margin: 0;
    }

    #about dl dd{
        width: 75%;
        height: 20px;
        border-bottom: solid 0.5px gray;
        margin: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 2%;
    }

    #about p{
        text-align: center;
        margin-top: 10px;
    }

    #snapshot{
        max-width: 960px;
        margin: 0 auto;
        text-align: left;
    }

    #snapshot h2{
        padding-left: 10px;
        margin-bottom: 0;
        margin-top: 20px;
    }

    #snapshot ul{
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        text-align: center;
        padding: 30px;
    }

    #snapshot ul li{
        width: 300px;
        height: auto;
        list-style-type: none;
        margin: 0 auto;
    }

    #snapshot ul li a img{
        transition-duration: .5s;
    }
    #snapshot ul li a img:hover{
        transform: translateY(-5px);
    }
    

    #memo{
        max-width: 960px;
        margin: 0 auto;
        padding: 20px;
    }

    #memo h2{
        font-weight: bold;
        text-align: left;
    }

    #memo ul{
        padding: 0;

    }

    #memo ul li{
        border-left: solid 6px #333;
        border-bottom: solid 2px darkgray;
        background-color: whitesmoke;
        margin-bottom: 5px;
        line-height: 1.5;
        padding: 0.5em;
        list-style-type: none;
        text-align: left;
    }

    #contact{
        margin: 0 auto;
    }

    #contact .insta_btn{
        display: inline-block;
        text-align: center;
        color: #2e6ca5;
        font-size: 20px;
        text-decoration: none;
        text-align: center;
    }

    #contact .insta_btn:hover{
        color: #668ad8;
        transition: .5s;
    }

    #contact .insta_btn .insta{
        position: relative;
        display: inline-block;
        width: 50px;
        height: 50px;
        background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
        background: linear-gradient(135deg, #427eff 0%,#f13f79 70%) no-repeat;
        overflow: hidden;
        border-radius: 13px;
    }
    
    #contact .insta_btn .insta:before{
        content: '';
        position: absolute;
        top: 23px;
        left: -18px;
        width: 60px;
        height: 60px;
        background: -webkit-linear-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65)55%,rgba(255, 88, 96, 0)70%);
        background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
    }

    #contact .insta_btn .fa-instagram{
        color: #fff;
        position: relative;
        z-index: 2;
        font-size: 35px;
        line-height: 50px;
    }

    #contact .insta_btn .name{
        display: block;
        float: right;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 10px;
    }

    /* -----footer----- */
    footer{
       width: 100%; 
       height: 40px;
       background-color: #333;
       
    }

    footer p{
        color: #fff;
        text-align: center;
        line-height: 40px;
    }

    /* max-width480px */
@media screen and (max-width:768px){

    main {
        width: 100%;
        text-align: center;
        max-width: 650px;
        margin: 0 auto;
    }
    #about{
        margin: 0 auto;
        max-width: 650px;
        height: auto;
        margin-bottom: 20px;
    }

    #about h2{
        font-weight: bold;
        text-align: left;
        padding-left: 10px;
    }

    #about dl{
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        text-align: left;
        height: auto;
    }

    #about dl dt{
        width: 21%;
        height: auto;
        border-bottom: solid 0.5px gray;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 2%;
        margin: 0;
    }

    #about dl dd{
        width: 70%;
        height: auto;
        border-bottom: solid 0.5px gray;
        margin: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 2%;
        padding-right: 5px;
    }

    #about p{
        text-align: center;
        margin-top: 10px;
    }
}
