@charset "utf-8";

/* --------------- section-top --------------- */

.section-top {
    margin-top: 140px;
}

.section-top h3 {
    font-size: 1.4rem;
    font-family: "EB Garamond", serif;
    font-weight: 700;
    margin-bottom: 5px;
}

.section-top h1 {
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 60px;
}

.section-top__image {
    background: linear-gradient(transparent 30%, #fefdf1 40%);
}

.section-top__image img {
    width: 100%;
    object-fit: contain;
}

.section-top__image.resize {
    display: none;
}

@media(min-width:414px) {
    .section-top__image img {
        margin-top: 0;
        margin-bottom: 0;
        /* object-fit: cover; */
        object-position: 30% 90%;
    }

    .section-top__image {
        width: 100%;
        position: relative;
    }

    .section-top__image::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: linear-gradient(transparent 85%, #fefdf1 100%);
    }
}

@media(min-width:1040px) {
    .section-top {
        margin-top: 180px;
    }

    .section-top h3 {
        font-size: 2.0rem;
        margin-bottom: 30px;
    }

    .section-top h1 {
        font-size: 4.8rem;
        margin-bottom: 100px;
    }

    .section-top__image {
        width: 100%;
        height: 700px;
    }

    .section-top__image {
        display: block;
        width: 100%;
        position: relative;
    }

    /* .section-top__image::before {
        background: linear-gradient(transparent 70%, #fefdf1 105%);
    } */

    .section-top__image img {
        height: 700px;
        object-position: 40% 35%;
    }
}

@media(min-width:1500px) {
    .section-top__image {
        display: none;
    }

    .section-top__image.resize {
        display: block;
    }

    .section-top__image.resize img {
        object-fit: cover;
        object-position: right 110%;
    }
}

@media(min-width:1610px) {
    .section-top__image.resize img {
        object-position: right 88%;
    }

    .section-top__image::before {
        background: linear-gradient(transparent 95%, #fefdf1 105%);
    }
}

/* --------------- section-consept --------------- */

.section-consept {
    padding-top: 100px;
    padding-bottom: 20%;
    /* background-color: #fefdf1; */
    background: linear-gradient(#fefdf1 85%, #f0f5f8 100%);
}

.section-consept h1 {
    color: #c2a475;
    font-size: 2.4rem;
    letter-spacing: 0.2rem;
    font-weight: 400;
    margin-bottom: 60px;
}

.description {
    max-width: 315px;
    margin: 0 auto;
}

.section-consept p {
    font-size: 1.4rem;
    line-height: 2.7rem;
    text-align: left;
}

.about__br::after {
    content: "\A";
    /*改行*/
    white-space: pre;
}

.section-consept__images {
    margin-top: 100px;
    position: relative;
}

.section-consept__img01 {
    text-align: left;
    margin-left: 5%;
}

.section-consept__img01 img {
    width: 50%;
    border-radius: 20px;
}

.section-consept__obj01 img {
    width: 40%;
    position: absolute;
    top: -10vh;
    margin-left: 6%;
}

.section-consept__obj02 {
    text-align: left;
    margin-top: 5%;
    margin-left: 9%;
}

.section-consept__obj02 img {
    width: 40%;
}

.section-consept__img02 {
    text-align: right;
    margin-top: -20%;
    margin-right: 3%;
}

.section-consept__img02 img {
    width: 50%;
    border-radius: 20px;
}

.section-consept__img03 {
    text-align: left;
    margin-top: 7%;
    margin-left: 3%;
}

.section-consept__img03 img {
    width: 45%;
    border-radius: 20px;
}

.section-consept__obj03 {
    text-align: right;
    margin-top: -35%;
    margin-right: 8%;
}

.section-consept__obj03 img {
    width: 40%;
    border-radius: 20px;
}

.section-consept__obj04 {
    text-align: left;
    margin-top: 15%;
    margin-left: 5%;
}

.section-consept__obj04 img {
    width: 35%;
}

.section-consept__img04 {
    text-align: right;
    margin-top: -20%;
    margin-right: 5%;
}

.section-consept__img04 img {
    width: 55%;
    border-radius: 20px;
}

@media(min-width:1040px) {
    .section-consept {
        padding-top: 5%;
        padding-bottom: 10%;
        background: linear-gradient(#fefdf1 88%, #f0f5f8 100%);
    }

    .section-consept h1 {
        font-size: 3.2rem;
        font-weight: 500;
        text-align: left;
        margin-left: 100px;
    }

    .description {
        max-width: 100%;
        margin: 0 100px;
    }

    .section-consept p {
        font-size: 1.6rem;
        line-height: 3.0rem;
    }

    .about__br::after {
        /* 改行なし */
        content: "";
    }

    .section-consept__images {
        padding-top: 60%;
        margin-top: 200px;
        width: 100%;
        height: 100%;
    }

    .section-consept__img01 {
        width: 50%;
        position: absolute;
        top: 8%;
        left: 5%;
        margin-left: 0;
    }

    .section-consept__img01 img {
        width: 55%;
    }

    .section-consept__obj01 img {
        width: 20%;
        top: 30px;
        left: 32%;
        margin-left: 0;
        z-index: 1;
    }

    .section-consept__img03 {
        margin-top: 0;
        margin-left: 0;
        position: absolute;
        top: 0;
        right: 20%;
        text-align: right;
        width: 50%;
    }

    .section-consept__img03 img {
        width: 50%;
    }

    .section-consept__img02 {
        text-align: left;
        margin-top: 0;
        margin-right: 0;
        position: absolute;
        top: 60%;
        left: 30%;
        width: 50%;
    }

    .section-consept__img02 img {
        width: 50%;
    }

    .section-consept__obj02 {
        text-align: right;
        margin-top: 0;
        margin-left: 0;
        position: absolute;
        top: 40%;
        right: 25%;
        width: 50%;
        z-index: 1;
    }

    .section-consept__obj02 img {
        width: 40%;
    }

    .section-consept__obj03 {
        text-align: left;
        margin-top: 0;
        margin-right: 0;
        width: 50%;
        position: absolute;
        top: 50%;
        left: 8%;
        z-index: 1;
    }

    .section-consept__obj03 img {
        width: 40%;
    }

    .section-consept__obj04 {
        display: none;
    }

    .section-consept__img04 {
        text-align: right;
        width: 50%;
        position: absolute;
        top: 85%;
        right: 0;
    }

    .section-consept__img04 img {
        width: 45%;
    }
}

@media(min-width:1200px) {
    .section-consept {
        padding-top: 10%;
    }
}

@media(min-width:1300px) {
    .section-consept {
        padding-top: 200px;
    }
}

/* --------------- section-commitment --------------- */

.section-commitment {
    padding-top: 80px;
    padding-bottom: 100px;
    /* background: linear-gradient(#fefdf1 5%, transparent 10%, #ebeef0 150%), url("../images/about_bg_hamon2x.jpg"); */
    background-image: url("../images/about_bg_hamon2x.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 70% 0%;
    width: 100%;
}

.section-commitment h1 {
    color: #c2a475;
    font-size: 2.4rem;
    letter-spacing: 0.2rem;
    font-weight: 400;
    /* padding-top: 80px; */
    margin-bottom: 60px;
}

.section-commitment p {
    font-size: 1.4rem;
    line-height: 2.7rem;
    text-align: left;
}

.br-PC {
    display: none;
}

@media(min-width:1040px) {
    .section-commitment {
        padding-top: 0;
        padding-bottom: 200px;
        background-position: 40% 0%;
    }

    .section-commitment__h1 {
        width: 85%;
        text-align: right;
    }

    .section-commitment h1 {
        display: inline-block;
        font-size: 3.2rem;
        font-weight: 500;
        padding-top: 200px;
        writing-mode: vertical-rl;
        margin-bottom: 0;
    }

    .section-commitment .description {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
        margin-top: -150px;
    }

    .section-commitment p {
        font-size: 1.6rem;
        line-height: 3.2rem;
        writing-mode: vertical-rl;
        padding-left: 40px;
    }

    .br-PC {
        display: block;
    }
}

@media(min-width:1440px) {
    .section-commitment__h1 {
        width: 75%;
    }
}

/* --------------- footer --------------- */

.footer {
    background: linear-gradient(#ecf1f4 10%, #ebeef0 30%);
    padding-top: 0;
}

.footer__top {
    border-color: #191b28;
}

.top_arrow {
    border-top: 3px solid #191b28;
    border-right: 3px solid #191b28;
}

.footer__container {
    color: #191b28;
}

.footer small {
    color: #191b28;
}

@media(min-width:960px) {
    .footer small {
        margin-bottom: 0;
    }
}