*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "M PLUS Rounded 1c";
}

html {
    scroll-behavior: smooth;
}

.hero{
    min-height: 50vh;
    width: 100%;
    /* background-color: #101010; */

}

.header {
    background: #191919;
    padding: 1rem 1rem;
    position:flex;
    width: 100%;
    z-index: 1;
}

nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 45px 8% 0 8%;
}

.portfolioInfo p {
    /* color:white; */
}

.logo{
    color: white;
    font-size: 35px;
    letter-spacing: 1px;    /*文字の間隔*/
    cursor: pointer;    /*カーソルがポインタに*/
}

span{
    color: lightgreen;
}

.face {
    font-size:70px;
    color:grey;
    display: flex;
    justify-content: center;
    align-items: center;
}

.face:hover {
    color:lightgreen;

}

nav ul li {
    display:inline-block;   /*ブロック要素(たて)⇒インライン要素(よこ)へ*/
    padding: 10px 25px;
}

nav ul li a{
    color: white;
    text-decoration: none;
    font-weight: bold;      /*太さ*/
    transition: all 0.4s;
}

nav ul li a:hover {
    color:lightgreen;   /*カーソル当て、色変化*/
}

.btn{
    background-color: lightgreen;
    /* color: white; */
    padding: 10px 25px;
    text-decoration: none;
    font-weight: bold;
    transition: all 0.4s;
}
.btn:hover{
    transform: scale(1.2);
    border-radius: 20px;
}

.content{
    padding-top: 40px;
    
}

.content .body {
    display: flex;
    justify-content: space-evenly;      /*外側も含めてスペースを均一に*/
    /* align-items: center; */
    padding-right: 50px;
    padding-left: auto;
    min-height:700px;
}

/* .content .body img{
    width: 1080px;
    height: 720px;
    margin-top: -150px;
} */

h1{
    color: grey;
    margin: 20px 0 20px;
    font-size: 75px;
}

h3{
    color:grey;
    font-size:25px;
    margin-bottom: 50px;
}

h4{
    color:grey;
    letter-spacing: 2px;
    font-size: 20px;
}

.newslatter form{
    width: 380px;
    position: relative;

}

.newslatter form input:first-child{
    width: 100%;
    padding: 15px 130px 15px 15px;
    outline:none;   /*クリックした時の内側の黒枠をなくす*/
    border: 2px solid lightgreen;
    border-radius: 30px;
}
.newslatter form input:last-child{
    position: absolute;
    border: none;
    top: 5px;
    right: 6px;
    padding: 10px 30px;
    background-color: lightgreen;
    border-radius:30px;
    cursor: pointer;
    box-shadow: 1px 1px 10px black;
}


.about {
    min-height:700px;
    width: 100%;
    padding: 70px 0;
    margin-top:30px 0;
    background-color: gray;
}

.about img {
    width: 430px;
}

.about-text {
    max-width: 550px;
}

.main {
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-around;
}

.about-text h2 {
    color: white;
    /* font-size: 40px; */
    margin-bottom: 20px;
}

.about-text h5 {
    color: white;
    letter-spacing: 1px;
    font-size: 22px;
    margin-bottom: 25px;
}

.about-text p {
    color: white;
    letter-spacing: 1px;
    line-height: 28px;      /*行の間隔(上下)*/
    margin-bottom: 45px;
    font-size: 16px;

}

.button {
    background-color: lightgreen;
    padding: 13px 30px;
    border-radius: 30px;
    font-weight: bold;
    letter-spacing: 1px;

    transition: all 0.4s;
}

.button:hover {
    background-color: transparent;  /*透明に！*/
    color: white;
    cursor: pointer;
    border: 2px solid green;
}

.portfolio {
    /* background-color: #101010; */
    /* color: white; */
    width: 100%;
    padding: 100px 0;
}

.title h2 {
    /* color: white; */
    font-size: 75px;
    margin: 30px auto;
    text-align: center;
}

.box {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 400px;
}

.card {
    width: 365px;
    height: 390px;
    background-color: grey;
    padding: 20px 35px;
    margin: 20px;
    border-radius: 20px;
    overflow: hidden;
    text-align: center;
    /* display:flex; */
    flex-wrap: wrap;
}

.card i {
    color:lightgreen
    font-size: 50px;
    /* margin:25px 0; */
} 

h5 {
    font-size: 25px;
    color: white;
    margin-bottom: 30px;
}

.pragraph  p {
    color: white;
    font-size 16px;
    line-height: 25px;
    margin-bottom: 30px;
}

.card .button  {
    background-color: lightgreen;
    padding: 13px 30px;
    border-radius: 30px;
    font-weight: bold;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.4s;
}

.card .button:hover {
    background-color: transparent;  /*透明に！*/
    color: white;
    cursor: pointer;
    border: 2px solid green;
}

.contact {
    width: 100%;
    height: 290px;
    display: flex;   /*jccを当てれるようにするため*/
    flex-direction: column;    
    justify-content: center;    /*縦軸に対してセンター*/
    align-items: center;        /*横軸に対してセンター*/
    background-color: #191919;
}

.contact p {
    color: white;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 25px;

}



footer {
    width:100%;
    height: 200px;
    background: grey;
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
}


footer p:nth-child(1) {
    font-size: 30px;
    color: white;
    margin-bottom: 20px;
    font-weight: bold;
}

footer p:nth-child(2) {
    color:white;
    font-size: 15px;
    width: 500px;
    text-align: center;
}

.social {
    display: flex;
}

.social a {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: lightgreen;
    align-items: center;
    justify-content: center;
    display: flex;
    text-decoration: none;
    margin: 20px 10px;
    transition: all 0.4s;
}

.social a:hover {
    transform: scale(1.3);
}

.footer-end{
    background-color: #191919;
    padding-top:15px;
}

.end {
    text-align:center;
    color: white;
    font-size: 13px;
    padding-bottom:15px;
}


/*------------------------------- 
モバイル版 
--------------------------------*/

@media (max-width: 600px) {
    .body{
        flex-direction: column;
        align-items: center;
        justify-content: center;

    }
    .face{
        font-size:40px;
    }
    .portfolioInfo h3{
        font-size:18px;
    }

    .about{

        margin-top:70px 0;
        color:lightgreen;
    }

    .main {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .box {
        display:flex;
    flex-wrap: wrap;
    }

}