@charset "UTF-8";
@import url("http://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700&display=swap");

/*--共通部分--------------------*/
html {
    font-size: 100%;
}
body {
    font-family: Helvetica, "ロダン",  Arial, sans-serif;
}
img {
    max-width: 100%;
}

/*--HEADER---------------------*/
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fafafa;
    padding: 1rem;
}

.container {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

h1 {
    font-size: 2rem;
    color: #91aeb4;
    font-family: "ロダンM";
}

h1 a:hover {
    color: #a8c7a8;
}

.main-nav {
    display: flex;
    font-size: 1rem;
    text-transform: uppercase;
    list-style: none;
}

.main-nav li {
    margin-right:  36px;
}

.main-nav a {
    color: #91aeb4;
}

.main-nav a:hover {
    color: #a8c7a8;
}

@media screen and (max-width: 768px) {
    header  {
        height: 100px;
    }
    .container {
        flex-direction: column;
        align-items: center;
    }

    .main-nav {
        font-size: 1rem;
        margin-top: 10px;
    }
    .main-nav li {
        text-align: center;
    }
}

/*--main view-----------------*/
.view {
    width: 100%;
    height: 600px;
    object-fit: cover;
}
.box p {
    position: absolute;
    top: 35%;
    left: 10%;
    color: #ffffff;
    font-size: 5rem;
    font-family: Helvetica;
    font-weight: bold;
    letter-spacing: 0.02em;
}

@media screen and (max-width: 768px) {
    .box p {
        left: 10%;
    }
}

/*--works----------------------*/
article {
    margin: 4%;
}

.box-1 {
    background-color: #a8c7a8;
    box-shadow: 2px 2px 4px rgb(180, 180, 180);
    text-align: center;
    font-weight: bold;
    padding: 1%;
    width: 15%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    margin-top: 3rem;
    }

.box-1 p {
    font-size: 1.5rem;
    color: #ffffff;
}

h2 {
    font-size: 1.3rem;
    color: #333333;
    margin-top: 3%;
    text-align: left;
    margin-left: 15%;
}

.item-3 {
    border: solid 10px #91aeb4;
    border-radius: 10px;
    margin: 2%;
}

.container-4 {
    display: flex;
    flex-wrap: wrap;
    max-width: 80%;
    margin-left: 12%;
}

.container-4 div {
    width: 45%;
}

@media screen  and (max-width: 768px) {
    article {
        margin: 2%;
    }
    .container-4 {
        max-width: 1200px;
        margin: auto;
        padding: 1%;

        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;

        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .container-4 div {
        width: 100%;
    }
    .item-3 {
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(240px, 1fr));
        margin: 1%;
        margin-bottom: 2rem;
        padding: 1%;
    }
    .box-1 {
        width: 30%;
    }
    h2 {
        margin-left: 35%;
    }
}

/*--About------------------------------------*/
.about {
    background-color: #f6f1ee;
    padding: 1%;
}

.flex-2 {
    display: flex;
}

.pict {
    width: 20%;
    margin-left: 20%;
}

.text {
    margin-top: -45%;
    margin-left: 2rem;
    margin-bottom: 3rem;
    line-height: 1.5em;
    letter-spacing: 0.2em;
}

.container-2.text.h3{
    text-align: left;
}

h3 {
    font-weight: bold;
    font-size: 1.5rem;
    font-family: Helvetica;
    letter-spacing: 0.2em;
}

h4 {
    font-weight: lighter;
}

.container-2.text.p {
    font-size: 1rem;
    font-family: Helvetica;
}

.title  {
    color: #91aeb4;
    font-weight: bold;
    font-size: 1rem;
    letter-spacing: 0.2em;
    margin-bottom: 0.5rem;
}

.background-images-1 {
    margin-left: -60%;
    margin-top: 10%;
    width: 35%;
}

.background-images-2 {
    margin-left: 55%;
    margin-top: -70%;
    width: 55%;
}

@media screen  and (max-width: 768px) {
    .flex-2 {
        flex-direction: column;
    }
    .pict {
        margin-top: 10px;
        width: 60%;
        text-align: center;
    }
    .background-images-1, .background-images-2 {
        display: none;
    }
    .text {
        margin-top: 10%;
    }
}

/*--My Skills------------------------------*/
.title-2  {
    color: #91aeb4;
    font-weight: bold;
    font-size: 1.5rem;
    letter-spacing: 0.2em;
    text-align: center;
    padding: 2%;
}

.item {
    background-color: #f6f1ee;
    color: #333333;
    font-size: 2rem;
    font-weight: bold;
    margin: 1%;
    padding: 10%;
    width: 100%;
    height: 90%;
    border: solid 10px #91aeb4;
    text-align: center;
}

.item p{
    font-size: 1rem;
    line-height: 1.5em;
    font-weight: normal;
    padding: 15% 1% 10%;
}

.container-3 {
    display: grid;
    grid-template-columns: 35% 35% 35%;
    gap: 3%;
    margin: 1% 15%;
    text-align: center;
}

@media screen  and (max-width: 768px) {
    .container-3 {
        grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
        gap: 1%;
        text-align: center;
    }
    .title-2 {
        padding: 5%;
    }
}

/*--My motto---------------------------------------*/
.box-3 {
    background-color: #f6f1ee;
    border: solid 2px  #91aeb4;
    border-radius: 20px;
    box-shadow: 4px 6px 6px #91aeb4;
    margin: 8% 20%;
    padding: 2%;
    line-height: 1.5em;
    margin-bottom: 3%;
}

h5 {
    text-align: center;
}
.box-3 p {
    text-align: left;
    margin-left: 10%;
}

@media screen  and (max-width: 768px) {
    .box-3 {
        margin-top: 200px;
        width: 80%;
        margin-left: 10%;
        margin-bottom: 10%;
    }
    h5 {
        margin-top: 10%;
    }
    .box-3 p {
        margin-left: 1%;
        margin-bottom: 10px;
    }
}

/*--contact form-----------------------------------*/
.contact {
    background-color: #f6f1ee;
    padding: 1rem;
    margin: 0 auto;
    display: block;
    text-align: center;
}

.contact label {
    text-align: left;
    line-height: 1.5em;
}

input {
    background-color: #ffffff;
    border: solid 1px #91aeb4;
    padding: 1% 10%;
    font-size: 1rem;
}

textarea {
    background-color: #ffffff;
    border: solid 1px #91aeb4;
    padding: 10% 10%;
    resize: vertical;
    font-size: 1rem;
}

.form-box span {
    margin-left: 0.5rem;
    padding: 2px 4px;
    font-size: 0.8rem;
    color: #ffffff;
    background-color: #91aeb4;
}

.contact-text {
    margin-top: 3rem;
    margin-bottom: 3rem;
    line-height: 1.5em;
    text-align: center;
}

.button {
    cursor: pointer;
    margin-top: 0.8rem;
    margin-left: 25%;
    padding: 1% 3%;
    border: none;
    color: #ffffff;
    background-color: #91aeb4;
}

.background-image {
    text-align: left;
    width: 20%;
    height: 50%;
    margin-left: 12%;
    margin-top: -25%;
}

@media screen  and (max-width: 768px) {
    .background-image {
        display: none;
    }
    .contact {
        padding-bottom: 25%;
    }
}

/*--footer-----------------------------------*/
footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 8%;
    background-color: #91aeb4;
    padding: 1.5rem;
    font-weight: bold;
    color: #ffffff;
}