@charset "UTF-8";
/*=======================================
                  PC   
========================================*/
/* fonts */
/* fonts-size */
/* color */
/*=======================================
 	        common
 ========================================*/
#wrapper .description {
    margin-bottom: 4.5rem;
    text-align: center;
}

#wrapper .description p {
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.025em;
}
#wrapper .item {
    margin-bottom: 2.2rem;
    display: flex;
    justify-content: center;
}
#wrapper .item li {
    width: 16rem;
}
#wrapper .item li:nth-child(2) {
    margin: 0 2rem;
}

#wrapper h3 {
    margin-bottom: 2.4rem;
    font-size: 1.8rem;
    font-family: kinto-sans, sans-serif;
    font-weight: 500;
    font-style: normal;
    line-height: 1.888;
    letter-spacing: 0.075em;
}
#wrapper .sec {
    position: relative;
    width: 81rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
#wrapper .point {
    margin-bottom: 5.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#wrapper .point:nth-child(2) {
    margin-left: 2rem;
}
#wrapper .point li {
    position: relative;
    padding-left: 3.1rem;
    font-family: "Crimson Text", serif;
    font-size: 1.5rem;
    letter-spacing: 0.025em;
    display: inline-block;
}
#wrapper .point li:nth-child(2) {
    margin-left: 2rem;
}
#wrapper .sec02 .point li:nth-child(1)::before {
    content: "";
    position: absolute;
    width: 2.6rem;
    height: 2.6rem;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    background-image: url("../img/sustainable.png");
    background-repeat: no-repeat;
    background-size: contain;
}
#wrapper .sec02 .point li:nth-child(2)::before {
    content: "";
    position: absolute;
    width: 2.6rem;
    height: 2.6rem;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    background-image: url("../img/2way.png");
    background-repeat: no-repeat;
    background-size: contain;
}
#wrapper .sec03 .point li:nth-child(1)::before {
    content: "";
    position: absolute;
    width: 2.6rem;
    height: 2.6rem;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    background-image: url("../img/2way.png");
    background-repeat: no-repeat;
    background-size: contain;
}
#wrapper .point-all {
    display: flex;
    justify-content: center;
    align-items: center;
}

#wrapper .img01 {
    position: relative;
    width: 51rem;
    margin: 0 auto 4.2rem;
}
#wrapper .img-txt {
    position: absolute;
    top: -1rem;
    right: 3rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 1.6rem;
    letter-spacing: -0.045em;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-font-feature-settings: initial;
    font-feature-settings: initial;
    text-align: left;
    z-index: 2;
}
#wrapper .img-txt span {
    margin-top: -0.8rem;
    letter-spacing: -0.01em;
}
#wrapper .img-txt::before {
    content: "";
    position: absolute;
    width: 4.2rem;
    height: 33rem;
    margin: auto;
    top: -1rem;
    left: -0.6rem;
    right: 0;
    background-image: url("../img/txt_bg.png");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
#wrapper .variation {
    position: relative;
    font-family: "Crimson Text", serif;
}
#wrapper .variation::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.1rem;
    margin: auto;
    top: 0.95rem;
    left: 0;
    right: 0;
    background-color: #666666;
}
#wrapper .variation::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.1rem;
    margin: auto;
    bottom: 1.15rem;
    left: 0;
    right: 0;
    background-color: #666666;
}
#wrapper .variation .ttl {
    position: relative;
    margin-bottom: 2rem;
    padding: 0 1.6rem;
    position: relative;
    font-size: 2rem;
    letter-spacing: 0.025em;
    display: inline-block;
    background-color: #fff;
}
#wrapper .variation .color {
    margin-bottom: 3.3rem;
    font-size: 1.5rem;
    letter-spacing: 0.025em;
}

/* ===================
	　 firstview
=================== */
#firstview {
    text-align: center;
    position: relative;
    margin: 7rem auto 8.5rem;
}

#firstview .logo {
    width: 23rem;
    margin: 0 auto 4.9rem;
}
#firstview .ttl {
    margin-bottom: 8.8rem;
    font-family: "Noto Serif JP", serif;
}
#firstview .ttl02 {
    margin-bottom: 2.2rem;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.05em;
}
#firstview .ttl03 {
    position: relative;
    font-size: 2.6rem;
    font-weight: 600;
}
#firstview .ttl03::before {
    content: "";
    position: absolute;
    width: 29.8rem;
    height: 1rem;
    margin: auto;
    top: 2.35rem;
    left: 0;
    right: 0;
    background-image: url("../img/line.png");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
#firstview .lead {
    font-size: 1.4rem;
    line-height: 2;
}

/* ===================
	　 section01
=================== */
.sec01 {
    margin-bottom: 11.5rem;
}

/* ===================
	　 section02
=================== */
.sec02 {
    margin-bottom: 11.5rem;
}
#wrapper .sec02 .description {
    margin-bottom: 2.2rem;
}

/* ===================
	　 section03
=================== */
#wrapper .sec03 .description {
    margin-bottom: 2.2rem;
}

/* for SP */
@media screen and (max-width: 767px) {
    /*=======================================
 	        common
 ========================================*/
    #wrapper .description {
        margin-bottom: calc(80* (100vw / 750));
    }

    #wrapper .description p {
        font-size: calc(26* (100vw / 750));
    }
    #wrapper .item {
        margin-bottom: calc(47* (100vw / 750));
    }
    #wrapper .item li {
        width: calc(220* (100vw / 750));
    }
    #wrapper .item li:nth-child(2) {
        margin: 0 calc(10* (100vw / 750));
    }

    #wrapper h3 {
        margin-bottom: calc(34* (100vw / 750));
        font-size: calc(32* (100vw / 750));
        line-height: 1.9375;
        letter-spacing: 0.075em;
    }
    #wrapper .sec {
        width: 100%;
    }
    #wrapper .point {
        margin-bottom: calc(102* (100vw / 750));
    }
    #wrapper .point:nth-child(2) {
        margin-left: 2rem;
    }
    #wrapper .point li {
        padding-left: calc(61* (100vw / 750));
        font-size: calc(30* (100vw / 750));
        letter-spacing: 0.025em;
    }
    #wrapper .point li:nth-child(2) {
        margin-left: calc(40* (100vw / 750));
    }
    #wrapper .sec02 .point li:nth-child(1)::before {
        width: calc(52* (100vw / 750));
        height: calc(52* (100vw / 750));
    }
    #wrapper .sec02 .point li:nth-child(2)::before {
        width: calc(52* (100vw / 750));
        height: calc(52* (100vw / 750));
    }
    #wrapper .sec03 .point li:nth-child(1)::before {
        width: calc(52* (100vw / 750));
        height: calc(52* (100vw / 750));
    }
    #wrapper .point-all {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #wrapper .img01 {
        width: calc(684* (100vw / 750));
        margin: 0 auto calc(75* (100vw / 750));
    }
    #wrapper .img-txt {
        top: calc(-20* (100vw / 750));
        right: calc(40* (100vw / 750));
        font-size: calc(28* (100vw / 750));
        letter-spacing: 0.025em;
    }
    #wrapper .img-txt span {
        margin-top: calc(-15* (100vw / 750));
        letter-spacing: -0.01em;
    }
    #wrapper .img-txt::before {
        width: calc(82* (100vw / 750));
        height: calc(622* (100vw / 750));
        /* top: calc(-21* (100vw / 750)); */
        left: calc(-12* (100vw / 750));
        background-image: url("../img/sp_txt_bg.png");
        top: 51.5%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    #wrapper .variation {
        position: relative;
        font-family: "Crimson Text", serif;
    }
    #wrapper .variation::before {
        height: calc(2* (100vw / 750));
        top: calc(18* (100vw / 750));
    }
    #wrapper .variation::after {
        height: calc(2* (100vw / 750));
        bottom: calc(23* (100vw / 750));
    }
    #wrapper .variation .ttl {
        margin-bottom: calc(40* (100vw / 750));
        padding: 0 calc(21* (100vw / 750));
        font-size: calc(40* (100vw / 750));
        letter-spacing: 0.025em;
    }
    #wrapper .variation .color {
        margin-bottom: calc(64* (100vw / 750));
        font-size: calc(30* (100vw / 750));
        letter-spacing: 0.025em;
    }

    /* ===================
	　 firstview
=================== */
    #firstview {
        text-align: center;
        position: relative;
        margin: calc(59* (100vw / 750)) auto calc(111* (100vw / 750));
    }

    #firstview .logo {
        width: calc(345* (100vw / 750));
        margin: 0 auto calc(72* (100vw / 750));
    }
    #firstview .ttl {
        margin-bottom: calc(119* (100vw / 750));
    }
    #firstview .ttl02 {
        margin-bottom: calc(42* (100vw / 750));
        font-size: calc(32* (100vw / 750));
        letter-spacing: -0.07em;
    }
    #firstview .ttl03 {
        font-size: calc(40* (100vw / 750));
    }
    #firstview .ttl03::before {
        width: calc(460* (100vw / 750));
        height: calc(20* (100vw / 750));
        top: calc(32* (100vw / 750));
        background-image: url("../img/sp_line.png");
    }
    #firstview .lead {
        font-size: calc(28* (100vw / 750));
    }

    /* ===================
	　 section01
=================== */
    .sec01 {
        margin-bottom: calc(150* (100vw / 750));
    }
    #wrapper .sec01 .img01 {
        width: 100%;
    }

    /* ===================
	　 section02
=================== */
    .sec02 {
        margin-bottom: calc(150* (100vw / 750));
    }
    #wrapper .sec02 .description {
        margin-bottom: calc(43* (100vw / 750));
    }

    /* ===================
	　 section03
=================== */
    #wrapper .sec03 .description {
        margin-bottom: calc(43* (100vw / 750));
    }
}
/*# sourceMappingURL=style.css.map */
