/* -------------------------------- */
/*ヘッダー
/* -------------------------------- */

#header {
    position: relative;
    top     : 0;
    left    : 0;
    width   : 100%;
    z-index : 100;
}

#header_cont {
    position  : absolute;
    top       : 0;
    left      : 0;
    width     : 100%;
    padding   : 35px 60px 30px 50px;
    box-sizing: border-box;
}


.header_inner {
    display    : flex;
    max-width  : 1800px;
    align-items: center;
    margin     : 0 auto;
}



/* -------------------------------- */
/* ヘッダーロゴ
/* -------------------------------- */


.header_inner h1 a {
    font-family: 'EB Garamond', serif;
    display    : block;
    font-size  : 1.8rem;
}



/* -------------------------------- */
/* ナビメニュー
/* -------------------------------- */


#nav-menu {
    display    : flex;
    margin-left: auto;
    align-items: center;
}

#nav-menu li {
    display       : inline-block;
    letter-spacing: 1px;
    padding-left  : 20px;
    padding-left  : clamp(20px, 1.5vw, 28px);
}

#nav-menu li:first-child {
    padding-left: 0;
}


#nav-menu li a {
    font-weight   : normal;
    font-size     : clamp(13px, 1.1vw, 1.5rem);
    letter-spacing: 0;
    font-family   : 'EB Garamond', serif;
    display       : flex;
    flex-direction: column;
    align-items   : center;
}


#nav-menu li a span {
    display   : block;
    margin-top: 10px;
    font-size : 1rem;
}



@media (max-width: 1200px) {
    #nav-menu {
        display: none;
    }
}



/* -------------------------------- */
/*header_cont-メディアクエリ
/* -------------------------------- */



@media (max-width: 1024px) {
    #header_cont {
        padding: 35px 30px 30px 30px;
    }
}

@media (max-width: 768px) {
    .nav-menu {
        display: none;
    }
}


@media (max-width: 599px) {
    #header_cont {
        padding: 27px 20px 20px;
    }
}

/* -------------------------------- */
/* kv
/* -------------------------------- */


.kv_wrapper {
    position: relative;
    height  : 100vh;
    z-index : -1;
    overflow: hidden;
}

.kv_area img {
    position  : absolute;
    z-index   : -1;
    top       : 50%;
    left      : 50%;
    transform : translate(-50%, -50%);
    width     : 177.77777778vh;
    height    : 56.25vw;
    min-height: 100%;
    min-width : 100%;
}


.main-ttl_area {
    z-index       : 2;
    position      : absolute;
    top           : 63vh;
    font-weight   : 300;
    letter-spacing: 5px;
    left          : 8.5%;
    left          : 15.34722vw;
}


.main-ttl {
    font-size     : clamp(36px, 2.8vw, 5.6rem);
    color         : #fff;
    letter-spacing: 1px;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
}


.main-ttl span {
    font-family   : serif;
    font-size     : clamp(36px, 2.8vw, 4.2rem);
    display       : block;
    font-weight   : bold;
    letter-spacing: 3px;
    margin-bottom : 20px;
}

.sub-ttl {
    font-size   : 1.5rem;
    margin-top  : 20px;
    padding-left: 60px;
    position    : relative;
    color       : #B3905E;
}


.sub-ttl::before {
    position        : absolute;
    content         : "";
    top             : 50%;
    left            : 5px;
    height          : 1px;
    width           : 40px;
    display         : block;
    background-color: #B3905E;
}

.sub-ttl span {
    margin-right: 30px;
}

/* -------------------------------- */
/*kv-メディアクエリ
/* -------------------------------- */

@media (max-width: 1200px) {

    .main-ttl_area {
        left: 8%;
    }


    .main-ttl {
        font-size: clamp(30px, 4.2vw, 42px);
    }

    .main-ttl span {
        font-size: 3rem;
    }
}

@media (max-width: 768px) {
    .kv_area img {
        left: 68%;
    }
}


@media (max-width: 599px) {
    .main-ttl_area {
        left: 25px;
        top : 60vh;
    }

    .main-ttl {
        font-size: 24px;
    }

    .main-ttl span {
        font-size    : 20px;
        margin-bottom: 10px;
    }

    .sub-ttl {
        font-size   : 1.4rem;
        padding-left: 36px;
    }

    .sub-ttl::before {
        width: 25px;
    }

    .sub-ttl span {
        margin-right: 15px;
    }

}



/* -------------------------------- */
/* productsセクション
/* -------------------------------- */


#products-sec {
    padding: 120px 0 120px;
}


.products-sec_cont {
    max-width: 1920px;
    margin   : 0 auto;
    position : relative;
}



.products-main-ttl-en {
    font-size     : clamp(68px, 12.8vw, 180px);
    color         : #242322;
    line-height   : 1;
    position      : relative;
    z-index       : -1;
    top           : 54px;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
    margin-left   : 8.5%;
}


.products-main-ttl {
    margin-left   : 8.5%;
    font-size     : clamp(26px, 2.8vw, 3.8rem);
    line-height   : 2;
    letter-spacing: 2px;
    margin-bottom : 60px;
    white-space   : nowrap;
    margin-left   : 15.34722vw;
}

.products-main-ttl-read {
    font-size   : 1.6rem;
    padding-left: 8.5%;
    line-height : 2;
    padding-left: 15.34722vw;
}

.products-list_wrapper {
    padding-top: 7.8%;
    position   : relative;
}


.products-list_wrapper li {
    width   : 38%;
    position: relative;
}

.products-list_wrapper li:nth-of-type(1) {
    right      : 10%;
    margin-left: auto;
}



.products-list_wrapper li:nth-of-type(2) {
    width: 28%;
    left : 8.2%;
    top  : -60px;
}

.products-list_wrapper li:nth-of-type(3) {
    width: 24%;
    left : 55%;
    top  : -100px;
}

.products-list_wrapper li:nth-of-type(4) {
    width: 32%;
    left : 5.8%;
}

.products-list_wrapper li:nth-of-type(5) {
    width      : 36%;
    margin-left: auto;
    right      : 12%;
    top        : -120px;
}

.products-list_wrapper li:nth-of-type(6) {
    width: 25%;
    left : 9.2%;
}


.products-list_wrapper li:nth-of-type(7) {
    width: 25%;
    left : 56.8%;
    top  : -150px;
}




.products-list_wrapper li div {
    position: relative;
}

.products-label {
    position                  : absolute;
    font-family               : 'EB Garamond', serif;
    font-weight               : 400;
    top                       : 0px;
    display                   : inline-block;
    font-size                 : 1.8rem;
    letter-spacing            : 0.1em;
    transform-origin          : left top;
    transform                 : rotate(90deg) translate3d(0, -34px, 0);
    transition                : opacity 700ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transition-delay          : 1100ms;
}

.products-list-caption {
    font-size  : 1.6rem;
    line-height: 2;
    margin-top : -3vw;
}

.products-list-caption span {
    display    : inline-block;
    margin-left: 10px;
}



.price_area {
    margin-left: calc(80px + 15.34722vw);
}


.price_area .price-heading {
    font-size     : 1.6rem;
    margin-bottom : 40px;
    font-family   : 'EB Garamond', serif;
    display       : block;
    color         : #7E7777;
    letter-spacing: 3px;
}


.price_area dl {
    display    : flex;
    align-items: center;
}

.price_area dl:last-child {
    margin-top: 40px;
}


.price_area dl dt {
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    font-size     : 2rem;
    margin-right  : 30px;
    color         : #7E7777;
    letter-spacing: 4px;
}

.price_area dl .price-en {
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    font-size     : clamp(16px, 2vw, 3rem);
    margin-right  : 30px;
    color         : #7E7777;
    letter-spacing: 4px;
}

.price_area dl .price-en span {
    font-weight   : 400;
    font-size     : 1.6rem;
    margin-left   : 20px;
    color         : #7E7777;
    letter-spacing: 1px;
}


.price_area dl .price-ja {
    font-weight   : 400;
    font-size     : clamp(14px, 1.5vw, 22px);
    margin-left   : 30px;
    color         : #7E7777;
    letter-spacing: 1px;
}

.common_area {
    padding-right: 2%;
}

.question {
    margin-left  : calc(80px + 15.34722vw);
    margin-left  : 15.34722vw;
    margin       : 160px auto 0;
    border-bottom: 1px solid rgb(112, 100, 78);
    border-bottom: 2px solid rgba(88, 87, 84, .8);
    max-width    : 1080px;
}

.question h3 {
    font-size     : 2rem;
    color         : #B3905E;
    letter-spacing: 1px;
    padding       : 20px 160px 25px 20px;
    display       : inline-block;
    position      : relative;
    cursor        : pointer;
    font-weight   : 400;
    width         : 100%;
}


.question h3::before {
    width           : 25px;
    position        : absolute;
    right           : 0;
    border-radius   : 10px;
    background-color: #B3905E;
    content         : "";
    transition      : transform .3s;
    height          : 2px;
    top             : 50%;
    transform       : translateY(-50%) rotate(90deg);
}

.question h3::after {
    width           : 25px;
    position        : absolute;
    right           : 0;
    border-radius   : 10px;
    background-color: #B3905E;
    content         : "";
    transition      : transform .3s;
    height          : 2px;
    top             : 50%;
    transform       : translateY(-50%);
}



.question h3.close::before {
    transform: translateY(0) rotate(180deg);
}


.question h3.close::after {
    display: none;
}

.question-answer {
    display: none;
    padding: 30px 0 0 20px;
}

.question-answer p {
    display      : inline-block;
    font-size    : 1.6rem;
    line-height  : 1.8;
    color        : #fff;
    margin-bottom: 20px;
}

.question-answer p span {
    font-size    : 2.2rem;
    color        : #B3905E;
    margin-top   : 60px;
    margin-bottom: 20px;
    display      : block;
}


.form-btn {
    max-width: 1360px;
    width    : 100%;
    margin   : 100px auto;
    padding  : 0 80px;
}

.form-btn a {
    font-size     : clamp(16px, 2vw, 27px);
    position      : relative;
    letter-spacing: 1px;
    font-weight   : bold;
    padding       : 50px 60px;
    border        : 1px solid rgb(250, 250, 250);
    border        : 1px solid #FEAF38;
    color         : #FEAF38;
    display       : block;
    text-align    : center;
    font-family   : 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
}

.form-btn a::before {
    content          : "";
    width            : 20px;
    background-image : url(/assets/img/arrow-up-right.svg);
    top              : 42%;
    right            : 12%;
    display          : block;
    height           : 18px;
    position         : absolute;
    background-repeat: no-repeat;
}



.form-btn span {
    font-size  : 1.5rem;
    display    : block;
    margin-top : 30px;
    line-height: 1.6;
    color      : #B3905E;
    color      : #fafafa;
}

.btnshine {
    position       : relative;
    display        : inline-block;
    font-size      : clamp(16px, 2vw, 27px);
    background     : #000;
    border         : solid 1px #fff;
    border         : solid 1px #FEAF38;
    color          : #FEAF38;
    padding        : 50px 60px;
    font-family    : 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
    text-align     : center;
    padding        : 40px 60px;
    text-decoration: none;
    outline        : none;
    overflow       : hidden;
    left           : 50%;
    transform      : translateX(-50%);
}


.btnshine::before {
    content   : '';
    position  : absolute;
    top       : 0;
    left      : -75%;
    width     : 50%;
    height    : 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 100%);
    transform : skewX(-25deg);
}


.btnshine:hover::before {
    animation: shine 0.7s;
}

@keyframes shine {
    100% {
        left: 125%;
    }
}

/* -------------------------------- */
/* productsセクション-メディアクエリ
/* -------------------------------- */


@media (max-width: 1200px) {
    .products-main-ttl-en {
        margin-left: 3.5%;
    }


    .products-main-ttl {
        margin-left: 8%;
    }

    .products-main-ttl-read {
        padding-left: 8%;
    }

    .price_area {
        margin-left: 8%;
    }

    .question {
        margin-left: 8%;
    }
}

@media (max-width: 768px) {
    .products-list_wrapper {
        padding-top: 12%;
    }

    .products-list_wrapper li:nth-of-type(5) {
        right: 9%;
    }

    .products-list_wrapper li:nth-of-type(6) {
        width: 31%;
        left : 8.2%;
    }

    .products-list_wrapper li:nth-of-type(7) {
        width: 31%;
        left : 56.8%;
        top  : -120px;
    }

    .products-list-caption {
        font-size: 1.4rem;
    }

    .products-label {
        font-size: 1.2rem;
    }

    #products-sec {
        padding: 120px 0;
    }

    .form-btn a {
        padding   : 40px 60px;
        text-align: left;
        font-size : 1.6rem;
    }

    .form-btn a::before {
        top  : 39%;
        right: 9%;
    }

    .form-btn {
        padding: 0 8%;
    }

    .form-btn span {
        font-size: 1.4rem;
    }
}


@media (max-width: 750px) {
    #products-sec {
        padding: 60px 25px 0 0;
    }

    .products-main-ttl-en {
        margin-left: 15px;
        top        : 25px;
    }

    .products-main-ttl {
        margin-left  : 25px;
        margin-bottom: 30px;
        font-size    : 2rem;
    }

    .products-main-ttl-read {
        padding-left: 25px;
        font-size   : 1.4rem;
    }

    .products-list_wrapper {
        padding-top: 20%;
    }


    .products-list_wrapper li:nth-of-type(1) {
        width: 74%;
        right: 14%;
    }

    .products-list_wrapper li:nth-of-type(2) {
        width     : 72%;
        top       : 0;
        margin-top: 120px;
    }

    .products-list_wrapper li:nth-of-type(3) {
        width     : 60%;
        left      : 30%;
        top       : 0;
        margin-top: 100px;
    }

    .products-list_wrapper li:nth-of-type(4) {
        width     : 72%;
        left      : 20.8%;
        margin-top: 100px;
    }

    .products-list_wrapper li:nth-of-type(5) {
        right: 19%;
        width: 76%;
        top  : 100px;
    }

    .products-list_wrapper li:nth-of-type(6) {
        width     : 60%;
        left      : 8.2%;
        margin-top: 200px;
    }

    .products-list_wrapper li:nth-of-type(7) {
        width     : 60%;
        left      : 30%;
        top       : 0;
        margin-top: 120px;
    }

    .products-list-caption {
        font-size  : 1.3rem;
        line-height: 1.6;
    }

    .price_area .price-heading {
        margin-bottom: 20px;
    }


    .price_area {
        margin-left: 25px;
        margin-top : 60px;
    }

    .price_area dl {
        flex-wrap: wrap;
    }

    .price_area dl dt {
        font-size    : 1.5rem;
        margin-bottom: 5px;
    }

    .price_area dl .price-en {
        font-size  : 2.4rem;
        margin-left: 0;
    }

    .common_area {
        padding-right: 0;
    }

    .price_area dl .price-ja {
        margin-left: 0;
        margin-top : 10px;
        font-size  : 1.3rem;
    }

    .question {
        margin-left: 25px;
        margin-top : 80px;
    }

    .question h3 {
        font-size  : 1.4rem;
        padding    : 0 40px 15px 0;
        line-height: 1.3;
    }

    .question-answer {
        padding: 30px 0 0 0;
    }



    .question-answer p {
        font-size: 1.2rem;
    }

    .question-answer p span {
        font-size: 1.4rem;
    }

    .form-btn {
        margin-top   : 60px;
        padding      : 0 0 0 25px;
        margin-bottom: 60px;
    }

    .form-btn a {
        padding    : 23px 40px 23px 31px;
        text-align : left;
        font-size  : 1.5rem;
        line-height: 1.3;
    }

    .form-btn a::before {
        top  : 39%;
        right: 6%;
        width: 20px;
    }

    .form-btn span {
        font-size: 1.3rem;
    }

    .question h3::before {
        width: 17px;
        top  : 35%;
    }

    .question h3::after {
        width: 17px;
        top  : 35%;
    }

    .btnshine {
        margin-top : 30px;
        font-size  : 1.4rem;
        padding    : 23px 15px;
        width      : 84%;
        line-height: 1.2;
    }


}




/* -------------------------------- */
/* serviceセクション
/* -------------------------------- */

#service-sec {
    background-image   : url(../img/service_bg.png);
    background-position: right;
    background-size    : cover;
    background-repeat  : no-repeat;
}



.service-sec_cont {
    padding  : 0 0px 120px;
    max-width: 1920px;
    margin   : 0 auto;
    position : relative;
}


.service-main-ttl-en {
    font-size     : clamp(68px, 12.8vw, 180px);
    color         : #242322;
    line-height   : 1;
    position      : relative;
    top           : 54px;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
    margin-left   : 8.5%;
}


.service-main-ttl {
    font-size     : clamp(26px, 2.8vw, 3.8rem);
    line-height   : 2;
    letter-spacing: 2px;
    margin-bottom : 60px;
    white-space   : nowrap;
    margin-left   : 15.34722vw;
    position      : relative;
}



.service-main-ttl-read {
    font-size   : 2rem;
    line-height : 2;
    margin-left : 15.34722vw;
    font-weight : bold;
    position    : relative;
    padding-left: 80px;
    color       : #fafafa;
}


.service-main-ttl-read::before {
    position        : absolute;
    content         : "";
    height          : 0.5px;
    width           : 60px;
    left            : 0;
    top             : 50%;
    background-color: #fafafa;
}


.service-detail_wrapper {
    padding-left : 15.34722vw;
    padding-top  : 120px;
    padding-right: 30px;
}

.service-detail_inner {
    max-width      : 960px;
    width          : 100%;
    justify-content: space-between;
    display        : flex;
    flex-wrap      : wrap;
}

.service-detail_inner li {
    width        : 42%;
    padding      : 30px 0 20px;
    border-bottom: solid 0.5px #B3905E;
    border-bottom: 2px solid rgba(88, 87, 84, .8);
    margin-bottom: 60px;
}

.service-detail_inner h3 {
    font-size  : 1.8rem;
    color      : #B3905E;
    cursor     : pointer;
    position   : relative;
    font-weight: 400;
}

.service-detail_inner h3::before {
    width           : 25px;
    position        : absolute;
    right           : 0;
    border-radius   : 10px;
    background-color: #B3905E;
    content         : "";
    transition      : transform .3s;
    height          : 2px;
    top             : 50%;
    transform       : translateY(-50%) rotate(90deg);
}

.service-detail_inner h3::after {
    width           : 25px;
    position        : absolute;
    right           : 0;
    border-radius   : 10px;
    background-color: #B3905E;
    content         : "";
    transition      : transform .3s;
    height          : 2px;
    top             : 50%;
    transform       : translateY(-50%);
}

.service-detail_inner h3.close::before {
    transform: translateY(0) rotate(180deg);
}

.service-detail_inner h3.close::after {
    display: none;
}


.service-detail_inner .question-answer {
    display: none;
    padding: 30px 0 20px;
}

.service-detail_inner .question-answer p {
    display    : inline-block;
    font-size  : 1.5rem;
    line-height: 1.6;
    color      : #fff;
}

.service-detail_inner .question-answer p span {
    font-size    : 1.2rem;
    margin-top   : 30px;
    margin-bottom: 20px;
    display      : block;
    color        : #fff;
}

/* -------------------------------- */
/* serviceセクション-メディアクエリ
/* -------------------------------- */

@media(max-width: 1200px) {

    .service-main-ttl-en {
        margin-left: 3.5%;
    }


    .service-main-ttl {
        margin-left: 8%;
    }

    .service-detail_wrapper {
        padding-left: 8%;
        padding-top : 60px;
    }

    .service-main-ttl-read {
        margin-left: 8%;
    }
}

@media(max-width: 1080px) {
    .service-main-ttl-en {
        top: 40px;
    }

    .service-detail_inner h3::before {
        width: 20px;
    }

    .service-detail_inner h3::after {
        width: 20px;
    }

}

@media(max-width: 768px) {
    .service-sec_cont {
        padding: 0 0px 60px;
    }

    .service-detail_inner {
        display: block;
    }

    .service-detail_inner li {
        width: 100%;
    }

}

@media(max-width: 750px) {

    #service-sec {
        background-color     : rgba(0, 0, 0, 0.2);
        background-blend-mode: overlay;
    }

    .service-sec_cont {
        padding-top: 20px;
    }


    .service-main-ttl {
        margin-left  : 25px;
        margin-bottom: 30px;
        font-size    : 2rem;
    }

    .service-main-ttl-en {
        margin-left: 15px;
        top        : 25px;
    }

    .service-main-ttl-read {
        margin-left : 25px;
        font-size   : 1.6rem;
        padding-left: 40px;
    }


    .service-main-ttl-read::before {
        width: 30px;
    }

    .service-detail_wrapper {
        padding-right: 25px;
        padding-left : 25px;
        padding-top  : 30px;
    }

    .service-detail_inner h3 {
        font-size: 1.5rem;
    }

    .service-detail_inner li {
        margin-bottom : 20px;
        padding-bottom: 15px;
    }

    .service-detail_inner .question-answer p {
        font-size: 1.4rem;
    }

}



/* -------------------------------- */
/* worksセクション
/* -------------------------------- */

.works-sec_cont {
    padding  : 0 0px 150px;
    max-width: 1920px;
    margin   : 0 auto;
    position : relative;
}


.works-main-ttl-en {
    font-size     : clamp(68px, 12.8vw, 180px);
    color         : #242322;
    line-height   : 1;
    position      : relative;
    top           : 54px;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
    margin-left   : 8.5%;
}



.works-main-ttl {
    font-size     : clamp(26px, 2.8vw, 3.8rem);
    line-height   : 2;
    letter-spacing: 2px;
    margin-bottom : 60px;
    white-space   : nowrap;
    margin-left   : 15.34722vw;
    position      : relative;
}


.accordion_inner {
    margin-left  : calc(80px + 15.3472vw);
    max-width    : 1080px;
    margin-top   : 60px;
    border-bottom: solid 2px #B3905E;
    border-bottom: 2px solid rgba(88, 87, 84, .8);
}



.common-main-ttl-read {
    font-size   : 2rem;
    line-height : 2;
    position    : relative;
    color       : #B3905E;
    padding     : 0 160px 25px 20px;
    cursor      : pointer;
    font-weight : 400;
    padding-left: 0;
}


.common-main-ttl-read::before {
    width           : 25px;
    position        : absolute;
    right           : 0;
    border-radius   : 10px;
    background-color: #B3905E;
    content         : "";
    transition      : transform .3s;
    height          : 2px;
    top             : 50%;
    transform       : translateY(-50%) rotate(90deg);
}

.common-main-ttl-read::after {
    width           : 25px;
    position        : absolute;
    right           : 0;
    border-radius   : 10px;
    background-color: #B3905E;
    content         : "";
    transition      : transform .3s;
    height          : 2px;
    top             : 50%;
    transform       : translateY(-50%);
}

.common-main-ttl-read.close::before {
    transform: translateY(0) rotate(180deg);
}

.common-main-ttl-read.close::after {
    display: none;
}


.accordion_inner .question-answer p span {
    font-size    : 2.2rem;
    color        : #B3905E;
    margin-top   : 20px;
    margin-bottom: 10px;
    display      : block;
    color        : #fff;
    font-family  : 'EB Garamond', serif;
}

.accordion_inner .question-answer p span:first-child {
    margin-top: 0;
}


/* -------------------------------- */
/* スライドセクション
/* -------------------------------- */


.products-item-cont {
    width       : 100%;
    overflow    : hidden;
    padding-left: 15vw;
    margin-top  : 120px;
}


.products-item_card {
    margin-bottom: 30px;
}

.products-item_img {
    overflow: hidden;
}



.slide-img {
    padding: 30px;
}


/* -------------------------------- */
/* worksセクション-メディアクエリ
/* -------------------------------- */


@media (max-width: 1200px) {
    .works-main-ttl-en {
        margin-left: 3.5%;
    }

    .works-main-ttl {
        margin-left: 8%;
    }

    .accordion_inner {
        margin-left: 8%;
    }
}

@media (max-width: 1080px) {
    .works-main-ttl-en {
        top: 40px;
    }
}

@media (max-width: 768px) {
    .works-sec_cont {
        padding: 0 0 100px;
    }


    .products-item-cont {
        padding-left: 8%;
    }

    .slide-img {
        padding: 0 5px;
    }

    .products-item_card {
        margin-bottom: 0;
    }


    .accordion_inner .question-answer p span {
        font-size: 1.5rem;
    }

}

@media (max-width: 750px) {
    .works-main-ttl {
        margin-left: 25px;
        font-size  : 2rem;
    }

    .works-main-ttl-en {
        margin-left: 15px;
        top        : 25px;
    }

    .accordion_inner {
        margin-left: 25px;
        width      : calc(100% - 50px);
    }

    .common-main-ttl-read {
        font-size     : 1.4rem;
        padding-bottom: 15px;
        padding-right : 20px;
    }

    .common-main-ttl-read::before {
        width: 17px;
        top  : 35%;
    }

    .common-main-ttl-read::after {
        width: 17px;
        top  : 35%;
    }

    .works-sec_cont {
        padding: 0 0 60px;
    }

    .products-item-cont {
        margin-top  : 60px;
        padding-left: 25px;
    }

    .slide-img {
        padding: 0 8px 0 0;
    }
}


/* -------------------------------- */
/* messageセクション
/* -------------------------------- */


#message-sec {
    padding-bottom     : 160px;
    background-image   : url(./img/message_bg.png);
    background-position: bottom;
    background-size    : cover;
    background-repeat  : no-repeat;
}

.message-sec_cont {
    max-width: 1920px;
    margin   : 0 auto;
}

.message_wrapper {
    display        : flex;
    justify-content: space-between;
}

.message-sec-left-img {
    width   : 24%;
    margin  : 0;
    position: relative;
    left    : 0px;
    top     : 240px;
}


.message-sec-left-img div:first-child {
    position: absolute;
    z-index : 2;
    top     : 0;
    top     : 35%;
}

.message-sec-left-img div:last-child {
    position: absolute;
    z-index : 1;
    top     : 10.2%;
}


.message-sec-right-img {
    width   : 26%;
    margin  : 0;
    position: relative;
    top     : 180px;
}

.message-sec-right-img div:first-child {
    position: absolute;
    z-index : 3;
    top     : 42%;
    right   : 80px;
}

.message-sec-right-img div:last-child {
    position: absolute;
    top     : 32%;
    z-index : -1;
    width   : 80%;
    right   : 0;
}

.message-sec-center_cont {
    width   : 42.5%;
    position: relative;
    padding : 0 10px 0 8%;
}

.message-main-ttl-en {
    font-size     : clamp(68px, 10.2vw, 180px);
    color         : #242322;
    line-height   : 1.3;
    position      : relative;
    z-index       : -1;
    top           : 80px;
    left          : -34.5%;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
}

.message-main-ttl {
    font-size     : clamp(26px, 2.8vw, 3.8rem);
    line-height   : 2;
    letter-spacing: 2px;
    z-index       : 3;
    margin-bottom : 80px;
}


.message-ttl-lead {
    position: relative;
    z-index : 3;
}


.message-ttl-lead .massage-main-caption {
    display       : block;
    font-size     : 1.8rem;
    margin-bottom : 30px;
    letter-spacing: 1px;
}



.message-ttl-lead p {
    font-size    : clamp(14px, 1.1vw, 1.6rem);
    line-height  : 2.4;
    text-shadow  : 0.3px 0.3px 0.2px grey;
    margin-bottom: 20px;
}

.message-ttl-lead p span {
    margin-right: 8px;
}




.message-lead-caption {
    width        : 80%;
    cursor       : pointer;
    color        : rgba(141, 140, 140, 0.53);
    border-bottom: solid 1px;
    margin-right : 15px;
    font-size    : 1.4rem;
}


.message-sec-center_cont .question-answer p {
    font-size  : 13px;
    line-height: 2;
    color      : rgb(141 140 140 / 53%);
    text-shadow: 0.3px 0.3px 0.2px grey;
    color      : #7E7777;
}




/* -------------------------------- */
/* messageセクション-メディアクエリ
  /* -------------------------------- */



@media(max-width: 1080px) {

    #message-sec {
        padding-top: 0;
    }

    .message_wrapper {
        display: block;
    }

    .message-sec-left-img {
        top        : 200px;
        width      : 36%;
        padding    : 0 100px 0 0;
        margin-left: auto;
    }

    .message-sec-center_cont {
        margin-bottom: 120px;
        padding      : 0;
        width        : 92%;
        box-sizing   : border-box;
        margin-left  : 8%;
    }

    .message-main-ttl-en {
        font-size     : clamp(68px, 12.8vw, 180px);
        color         : #242322;
        line-height   : 1.3;
        position      : relative;
        top           : 50px;
        left          : -4.5%;
        letter-spacing: 3px;
    }

    .message-sec-right-img {
        width  : 34%;
        margin : 0 0 90px 45%;
        top    : -220px;
        z-index: -1;
    }

    .message-sec-right-img div:first-child {
        top  : 50px;
        width: 70%;
    }

    .message-sec-right-img div:last-child {
        top    : -10px;
        z-index: -1;
        width  : 67%;
        right  : -40px;
    }

}

@media(max-width: 768px) {

    .message-ttl-lead p {
        font-size: 1.5rem;
    }

    .message-sec-left-img div:first-child {
        top    : 74px;
        left   : -45px;
        opacity: 0.8;
    }
}

@media(max-width: 750px) {

    #message-sec {
        padding-bottom: 120px;
    }

    .message-sec-center_cont {
        width : calc(100% - 50px);
        margin: 0 auto;
    }

    .message-main-ttl {
        font-size: 2rem;
    }

    .message-main-ttl-en {
        top : 35px;
        left: -15px;
    }

    .message-ttl-lead p {
        font-size: 1.3rem;
    }

    .message-sec-right-img {
        top    : -80px;
        width  : 50%;
        margin : 0 0 90px 32%;
        z-index: -1;
    }


    .message-sec-right-img div:first-child {
        right: 0;
    }
}

/* -------------------------------- */
/* profileセクション
/* -------------------------------- */

#profile-sec {
    padding            : 0 80px 150px;
    background-image   : url(../img/profile_bg.png);
    background-position: bottom;
    background-size    : cover;
    background-repeat  : no-repeat;
    max-width          : 1920px;
    margin             : 0 auto;
}

.profile_wrapper {
    max-width  : 860px;
    margin-left: 34%;
}


.profile-name {
    margin: 0 0 80px 0;
}

.profile-main-ttl-en {
    font-size     : clamp(68px, 12.8vw, 180px);
    color         : #242322;
    position      : relative;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
    top           : 90px;
    left          : -19.5%;
    line-height   : 1.6;
}


.profile-name dt {
    margin   : 0 0 20px 0;
    font-size: 23px;
    position : relative;
    z-index  : 1;
}



.profile-name dd {
    font-size     : 2.6rem;
    letter-spacing: 1px;
    line-height   : 1.6;
    position      : relative;
    z-index       : 1;
}

.profile-name dd:last-child {
    font-size : 1.4rem;
    margin-top: 20px;
}


.profile-name dd .br-sp {
    display: none;
}

.profile-name dd .name {
    display    : inline-block;
    margin-left: 30px;
}

.biography {
    line-height: 3.2;
    display    : flex;
    flex-wrap  : wrap;
}

.biography dt {
    width    : 120px;
    font-size: 1.5rem;
}

.biography dd {
    width    : calc(100% - 120px);
    font-size: 1.5rem;
}

/* -------------------------------- */
/* profileセクション-メディアクエリ
/* -------------------------------- */

@media(max-width: 1080px) {
    #profile-sec {
        padding            : 0 8% 120px;
        background-position: left;
    }

    .profile_wrapper {
        margin-left: 0;
    }

    .profile-main-ttl-en {
        top        : 50px;
        left       : -4.5%;
        line-height: 1.4;
    }

}

@media(max-width: 750px) {
    #profile-sec {
        padding: 0 25px;
    }

    .profile-main-ttl-en {
        top: 25px;
    }

    .profile-name {
        margin: 0 0 60px 0;
    }

    .profile-name dt {
        font-size: 1.4rem;
    }

    .profile-name dd {
        font-size: 1.8rem;
    }

    .profile-name dd:last-child {
        margin-top: 10px;
        font-size : 1.3rem;
    }

    .biography dt {
        width    : 80px;
        font-size: 1.3rem;
    }

    .biography dd {
        width    : calc(100% - 80px);
        font-size: 1.3rem;
    }

}

@media(max-width: 599px) {
    .profile-name dd .name {
        display    : block;
        margin-left: 0;
        margin-top : 5px;
    }

}





/* -------------------------------- */
/* fqセクション
/* -------------------------------- */

.fq-sec_cont {
    padding  : 100px 0 150px 0;
    max-width: 1920px;
    margin   : 0 auto;
    position : relative;
}


.fq-main-ttl-en {
    font-size     : clamp(68px, 12.8vw, 180px);
    color         : #242322;
    line-height   : 1;
    position      : relative;
    top           : 54px;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
    margin-left   : 8.5%;
}


.fq-main-ttl {
    margin-left   : 8.5%;
    font-size     : clamp(26px, 2.8vw, 3.8rem);
    line-height   : 2;
    letter-spacing: 2px;
    margin-bottom : 120px;
    white-space   : nowrap;
    margin-left   : 15.34722vw;
    position      : relative;
}



.fq-main-ttl-read {
    font-size    : 2rem;
    line-height  : 2;
    position     : relative;
    color        : #B3905E;
    padding      : 0 160px 25px 80px;
    border-bottom: solid 1px #B3905E;
    cursor       : pointer;
    font-weight  : 400;
}


.fq-main-ttl-read::before {
    position        : absolute;
    content         : "";
    height          : 0.5px;
    width           : 60px;
    left            : 0;
    top             : calc(50% - 15px);
    background-color: #B3905E;
}

.question-answer .fq-answer-head {
    font-size    : 2.2rem;
    color        : #fafafa;
    margin-bottom: 30px;
    font-family  : 'EB Garamond', serif;
}


.question-answer p .answer-arrow {
    width        : 20px;
    display      : inline-block;
    margin-top   : 10px;
    margin-bottom: 5px;
    margin-left  : 20px;
    margin-right : 10px;
}


/* -------------------------------- */
/* middle-bgセクション
/* -------------------------------- */

@media(max-width: 1200px) {

    .fq-main-ttl-en {
        margin-left: 3.5%;
    }

    .fq-main-ttl {
        margin-left: 8%;
    }
}

@media(max-width: 768px) {

    .fq-sec_cont {
        padding: 60px 0 150px 0;
    }

    .question-answer .fq-answer-head {
        font-size: 1.5rem;
    }
}

@media(max-width: 750px) {

    .fq-sec_cont {
        padding: 40px 0 80px 0;
    }

    .fq-main-ttl-en {
        margin-left: 15px;
        top        : 25px;
    }

    .fq-main-ttl {
        margin-left  : 25px;
        margin-bottom: 60px;
    }

    .question-answer p .answer-arrow {
        width       : 15px;
        margin-left : 0;
        margin-right: 10px;
    }
}


/* -------------------------------- */
/* middle-bgセクション
/* -------------------------------- */

.middle-bg {
    background-image   : url(../img/middle_bg02.png);
    padding-top        : 38%;
    width              : 100%;
    background-position: top;
    background-size    : cover;
    background-repeat  : no-repeat;
    margin-top         : 140px;
    margin-bottom      : 120px;
}


@media(max-width: 1080px) {
    .middle-bg {
        margin-top: 60px;
    }
}

@media(max-width: 768px) {
    .middle-bg {
        margin-bottom: 0;
    }
}


/* -------------------------------- */
/* stanceセクション
/* -------------------------------- */

.stance-sec_cont {
    max-width    : 1600px;
    border-bottom: solid 1px #B3905E;
    border-bottom: 1px solid rgba(88, 87, 84, .8);
    margin       : 0 auto;
}

.stance_wrapper {
    display  : flex;
    padding  : 120px 25px 200px;
    max-width: 1080px;
    margin   : 0 auto;
}

.person-img {
    width   : 60%;
    position: relative;
}

.person-img::before {
    content         : '';
    background-color: rgba(0, 0, 0, 0.28);
    position        : absolute;
    top             : 0;
    left            : 0;
    width           : 100%;
    height          : 100%;
    display         : block;
}

.stance-message-txt {
    position: relative;
    left    : -30px;
    top     : 120px;
}


.stance-message-txt p {
    font-size    : clamp(1.4rem, 1.7vw, 1.8rem);
    line-height  : 2.2;
    margin-bottom: 20px;
}


.stance-message-txt span {
    position    : relative;
    display     : block;
    padding-left: 30px;
}

.stance-message-txt span::before {
    position        : absolute;
    content         : "";
    height          : 0.5px;
    background-color: #fff;
    width           : 20px;
    top             : 48%;
    left            : 0;
}

/* -------------------------------- */
/* stanceセクション-メディアクエリ
/* -------------------------------- */

@media(max-width: 1080px) {

    .stance-sec_cont {
        border-bottom: none;
    }

    .stance_wrapper {
        padding      : 80px 0 20%;
        width        : 92%;
        border-bottom: 1px solid rgba(88, 87, 84, .8);
    }

    .stance-message-txt p {
        font-size: 1.4rem;
    }
}

@media(max-width: 768px) {
    .stance_wrapper {
        padding: 40px 0 20%;
    }

    .person-img {
        width: 52%;
        left : 30px;
    }

    .stance-message-txt {
        left: 0;
        top : 80px;
    }
}

@media(max-width: 750px) {
    .person-img {
        width        : 60%;
        margin-bottom: 30px;
    }

    .stance_wrapper {
        padding: 40px 0 20%;
        width  : calc(100% - 50px);
        margin : 0 auto;
    }

    .stance-message-txt span {
        font-size: 1.4rem;
    }
}


@media(max-width: 620px) {

    .stance_wrapper {
        display: block;
    }

    .stance-message-txt {
        position: static;
    }

    .stance-message-txt p .br-none {
        display: none;
    }
}




/* -------------------------------- */
/* contactセクション
/* -------------------------------- */


.contact-sec_cont {
    padding  : 180px 0 240px 0;
    max-width: 1920px;
    margin   : 0 auto;
    position : relative;
}


.contact-main-ttl-en {
    font-size     : clamp(68px, 12.8vw, 180px);
    color         : #242322;
    line-height   : 1;
    position      : relative;
    top           : 54px;
    font-family   : 'EB Garamond', serif;
    font-weight   : 400;
    letter-spacing: 3px;
    margin-left   : 8.5%;
}

.contact_inner {
    display        : flex;
    align-items    : flex-end;
    justify-content: space-between;
}

.contact_area {
    margin-left: 15.34722vw;
    margin-top : 60px;
}


.tel_area,
.mail_area {
    display: flex;
}

.tel_area {
    margin-bottom: 40px;
}


.tel-icon,
.mail-icon {
    width: clamp(12%, 4.5vw, 50px);
}


.tel-text,
.mail-text {
    padding-left: 20px;
    font-family : 'EB Garamond', serif;

}


.tel-num,
.mail-num {
    font-size     : clamp(1.4rem, 2vw, 2.8rem);
    line-height   : 1;
    letter-spacing: 2px;
    white-space   : nowrap;
    position      : relative;
}

.regulation {
    display       : inline-block;
    color         : #efefef;
    font-size     : 1.6rem;
    margin-top    : 40px;
    border-bottom : solid 1px #efefef;
    padding-bottom: 3px;
}


.page-top {
    position   : relative;
    right      : 15.34722vw;
    font-family: 'EB Garamond', serif;
}


.page-top p a {
    position   : relative;
    font-family: 'EB Garamond', serif;
}



.page-top p a::before {
    content       : "";
    position      : absolute;
    display       : inline-block;
    vertical-align: middle;
    color         : #fff;
    line-height   : 1;
    width         : 1em;
    top           : -30px;
    left          : 17px;
    height        : 1em;
    border        : 0.2em solid currentColor;
    border-left   : 0;
    border-bottom : 0;
    box-sizing    : border-box;
    transform     : translateY(25%) rotate(-45deg);
}

/* -------------------------------- */
/* contactセクション-メディアクエリ
/* -------------------------------- */

@media(max-width: 1200px) {
    .contact_area {
        margin-left: 8%;
        margin-top : 50px;
    }

    .contact-main-ttl-en {
        margin-left: 3.5%;
    }
}

@media(max-width: 1080px) {
    .contact-sec_cont {
        padding: 60px 0 120px;
    }
}

@media(max-width: 768px) {

    .tel-icon,
    .mail-icon {
        width: 50px;
    }

    .tel-num a,
    .mail-num a {
        font-size: 2.8rem;
    }

    .page-top {
        right: 6%;
        top  : -30px;
    }
}

@media(max-width: 750px) {

    .contact-main-ttl-en {
        margin-left: 15px;
    }
}

@media(max-width: 620px) {

    .contact-sec_cont {
        padding: 20px 0 60px;
    }

    .contact_inner {
        display: block;
    }

    .tel-icon,
    .mail-icon {
        width: 45px;
    }

    .tel-num a,
    .mail-num a {
        font-size: 2.2rem;
    }

    .page-top {
        text-align: center;
        position  : static;
        margin-top: 120px;
    }
}



/* -------------------------------- */
/* footerセクション
/* -------------------------------- */

small {
    text-align: center;
    font-size : 1.4rem;
    display   : block;
    padding   : 30px 0;
}

@media(max-width: 768px) {

    small {
        font-size: 1.2rem;
    }
}

@media(max-width: 620px) {

    small {
        padding: 10px 0 30px;
    }
}




/* -------------------------------- */
/* 特定商取引に基づく表示ページ
/* -------------------------------- */

#regulation-sec {
    padding: 300px 80px 0;
    margin : 0 auto;
}

.regulation_wrapper {
    max-width: 990px;
    margin   : 0 auto;
}

.regulation_inner h2 {
    font-size    : 3.6rem;
    margin-bottom: 100px;
    font-family  : serif;
}


.regulation-info {
    line-height: 2.2;
    display    : flex;
    flex-wrap  : wrap;
}



.regulation-info dt {
    width         : 280px;
    font-size     : 1.6rem;
    letter-spacing: -0.8px;
    padding       : 20px 0;
    border-bottom : solid 1px #262626;
}

.regulation-info dd {
    width        : calc(100% - 280px);
    font-size    : 1.6rem;
    padding      : 20px 0;
    border-bottom: solid 1px #262626;
}

/* -------------------------------- */
/* profileセクション-メディアクエリ
/* -------------------------------- */

@media(max-width: 768px) {

    #regulation-sec {
        padding: 240px 25px 0;
    }

    .regulation_inner h2 {
        font-size    : 3rem;
        margin-bottom: 80px;
    }


    .regulation-info dt {
        width    : 180px;
        font-size: 1.4rem;
    }

    .regulation-info dd {
        width    : calc(100% - 180px);
        font-size: 1.4rem;
    }

}

@media(max-width: 599px) {

    #regulation-sec {
        padding: 160px 25px 0;
    }

    .regulation_inner h2 {
        font-size    : 2.2rem;
        margin-bottom: 60px;
    }


    .regulation-info {
        line-height: 1.8;
    }

    .regulation-info .br-none{
        display: none;
    }

    .regulation-info dt {
        width         : 100%;
        font-size     : 1.6rem;
        letter-spacing: -0.8px;
        padding       : 15px 0 5px;
        border-bottom : none;
    }

    .regulation-info dd {
        width        : 100%;
        font-size    : 1.4rem;
        padding      : 20px 0 15px;
        border-bottom: none;
        border-bottom: solid 1px #262626;
    }

}