/* p-works
----------------------------------------------------------------- */
.p-works__topText
{
    font-size: clamp(22px, 22px + .0089285714 * (100vw - 1024px), 30px);
    font-weight: 500;

    margin-bottom: 75px;

    text-align: center;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__topText
    {
        margin-bottom: 3.9244186047vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__topText
    {
        margin-bottom: 4.0540540541vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__topText
    {
        margin-bottom: 8.056640625vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__topText
    {
        margin-bottom: 10.7421875vw;
    }
}
@media screen and (max-width: 1024px)
{
    .p-works__topText
    {
        font-size: clamp(22px, 22px + .0357142857 * (100vw - 600px), 28px);
    }
}
.p-works__flex
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 70px;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    grid-gap: clamp(30px, 30px + .0167410714 * (100vw - 1024px), 45px) 2.226%;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__flex
    {
        margin-bottom: 3.6627906977vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__flex
    {
        margin-bottom: 3.7837837838vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__flex
    {
        margin-bottom: 7.51953125vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__flex
    {
        margin-bottom: 10.0260416667vw;
    }
}
.p-works__box
{
    width: 23.33%;
}
@media screen and (max-width: 1024px)
{
    .p-works__box
    {
        width: 48.887%;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__box
    {
        width: 100%;
    }
}
.p-works__box__image
{
    position: relative;

    margin-bottom: 10px;

    aspect-ratio: 35/26;
}
.p-works__box__image a
{
    display: block;

    width: 100%;
    height: 100%;
}
.p-works__box__image a::after
{
    position: absolute;
    right: 10px;
    bottom: 10px;

    display: inline-block;

    width: 25px;

    content: '';
    -webkit-transition: all .5s;
    transition: all .5s;

    background: url(../image/common/place.svg) center/68% no-repeat, #fff;

    aspect-ratio: 1/1;
}
.p-works__box__text
{
    font-size: clamp(17px, 17px + .0033482143 * (100vw - 1024px), 20px);
}
@media screen and (max-width: 1024px)
{
    .p-works__box__text
    {
        font-size: clamp(17px, 17px + .0178571429 * (100vw - 600px), 20px);
    }
}
.p-works__box__text .green
{
    font-size: clamp(17px, 17px + .0033482143 * (100vw - 1024px), 20px);

    color: #009844;
}
@media screen and (max-width: 1024px)
{
    .p-works__box__text .green
    {
        font-size: clamp(17px, 17px + .0178571429 * (100vw - 600px), 20px);
    }
}
.p-works .c-button
{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
}
@media screen and (max-width: 600px)
{
    .p-works .c-button
    {
        width: 100%;
    }
}
.p-works .c-button a
{
    padding: 2px clamp(10px, 10px + .2083333333 * (100vw - 600px), 45px) 0;
}
@media screen and (max-width: 600px)
{
    .p-works .c-button a
    {
        width: 100%;

        white-space: nowrap;
    }
}
.p-works .c-button__text
{
    font-size: clamp(18px, 18px + .0416666667 * (100vw - 600px), 25px);
}
@media screen and (max-width: 600px)
{
    .p-works .c-button__text
    {
        letter-spacing: -.05em;
    }
}
.p-works .c-button .c-button__arrow::before,
.p-works .c-button .c-button__arrow::after
{
    background-color: #009844;
}

/* p-works__detailArea
   ----------------------------------------------------------------- */
.p-works__detailArea .c-title
{
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}
.p-works__detailArea__title
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    margin-bottom: 70px;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__title
    {
        margin-bottom: 3.6627906977vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__title
    {
        margin-bottom: 3.7837837838vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__title
    {
        margin-bottom: 7.51953125vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__title
    {
        margin-bottom: 10.0260416667vw;
    }
}
.p-works__detailArea__title::after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    display: inline-block;

    width: 80%;
    max-width: 300px;
    height: 1px;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    background-color: #009844;
}
.p-works__detailArea__title__en
{
    font-size: clamp(18px, 18px + .0119047619 * (100vw - 600px), 20px);

    margin-bottom: .25em;

    color: #009844;
}
.p-works__detailArea__title__jp
{
    padding-bottom: clamp(20px, 20px + .0238095238 * (100vw - 600px), 24px);
}
.p-works__detailArea__title__jp__br
{
    font-size: clamp(36px, 36px + .0833333333 * (100vw - 600px), 50px);
    font-weight: 500;
    line-height: 1;

    display: inline-block;

    text-align: center;
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__title__jp__br
    {
        line-height: 1.25;

        display: block;
    }
}
.p-works__detailArea__about__row
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    border: 1px solid #009844;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}
.p-works__detailArea__about__box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 50%;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}
@media screen and (min-width: 1025px)
{
    .p-works__detailArea__about__box:nth-of-type(1) .p-works__detailArea__about__box__dd
    {
        border-right: 1px solid #009844;
    }
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__about__box
    {
        width: 100%;
    }
    .p-works__detailArea__about__box:nth-of-type(1)
    {
        border-bottom: 1px solid #009844;
    }
}
.p-works__detailArea__about__box__dt
{
    font-size: clamp(17px, 17px + .0033482143 * (100vw - 1024px), 20px);

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 25.3%;
    padding: 0 .25em;

    background-color: #f6fbf4;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__about__box__dt
    {
        font-size: 20px;
    }
}
@media screen and (min-width: 768px)
{
    .p-works__detailArea__about__box__dt
    {
        border-right: 1px solid #009844;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__about__box__dt
    {
        width: 100%;
        padding: clamp(20px, 20px + .0117924528 * (100vw - 600px), 25px) clamp(17px, 17px + .0178571429 * (100vw - 600px), 20px);

        border-bottom: 1px solid #009844;
    }
}
.p-works__detailArea__about__box__dt span
{
    font-size: clamp(17px, 17px + .0033482143 * (100vw - 1024px), 20px);
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__about__box__dt span
    {
        font-size: 20px;
    }
}
.p-works__detailArea__about__box__dd
{
    font-size: 17px;

    width: 74.7%;
    padding: clamp(20px, 20px + .0117924528 * (100vw - 600px), 25px) clamp(17px, 17px + .0178571429 * (100vw - 600px), 20px);
}
@media screen and (min-width: 1025px)
{
    .p-works__detailArea__about__box__dd
    {
        font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__about__box__dd
    {
        width: 100%;
    }
}
.p-works__detailArea__detail
{
    position: relative;
    z-index: 1;

    padding-bottom: 70px;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__detail
    {
        padding-bottom: 3.6627906977vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__detail
    {
        padding-bottom: 3.7837837838vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__detail
    {
        padding-bottom: 7.51953125vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__detail
    {
        padding-bottom: 10.0260416667vw;
    }
}
.p-works__detailArea__detail::after
{
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;

    display: inline-block;

    width: 100%;

    content: '';

    background-color: #f6fbf4;
}
@media all and (min-width: 1480px)
{
    .p-works__detailArea__detail::after
    {
        height: calc(100% - clamp(40px, 40px + .0223214286 * (100vw - 1024px), 60px) - 70px - min(90vw, 1500px) * .32 * .375);
    }
}
@media all and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__detail::after
    {
        height: calc(100% - clamp(40px, 40px + .0223214286 * (100vw - 1024px), 60px) - 3.6627906977vw - min(90vw, 1500px) * .32 * .375);
    }
}
@media all and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__detail::after
    {
        height: calc(100% - clamp(40px, 40px + .0223214286 * (100vw - 1024px), 60px) - 3.7837837838vw - min(90vw, 1500px) * .32 * .375);
    }
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__detail::after
    {
        height: calc(100% - clamp(40px, 40px + .0223214286 * (100vw - 1024px), 60px) - 7.51953125vw - min(90vw, 1500px) * .49 * .375);
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__detail::after
    {
        height: calc(100% - clamp(40px, 40px + .0223214286 * (100vw - 1024px), 60px) - 10.0260416667vw - min(90vw, 1500px) * .375);
    }
}
.p-works__detailArea__detail__imageFlex
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: clamp(24px, 24px + .0357142857 * (100vw - 600px), 30px);

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    grid-gap: 30px 2%;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__detail__imageFlex
    {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        grid-gap: 1.8vw 2%;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__detail__imageFlex
    {
        grid-gap: 5vw 2%;
    }
}
.p-works__detailArea__detail__image
{
    width: 32%;

    aspect-ratio: 4/3;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__detail__image
    {
        width: 49%;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__detail__image
    {
        width: 100%;
    }
}
.p-works__detailArea__detail__image.main
{
    width: 49%;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__detail__image.main
    {
        width: 100%;
    }
}
.p-works__detailArea__detail__text
{
    font-size: 17px;
    width: 100%;
}
@media screen and (min-width: 1025px)
{
    .p-works__detailArea__detail__text
    {
        font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    }
}
.p-works__detailArea__detail.partway::after
{
    background-color: #f6f6f6;
}
.p-works__detailArea__customer .c-title
{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
@media screen and (max-width: 600px)
{
    .p-works__detailArea__customer .c-title .c-title__en::before
    {
        top: unset;
        right: unset;
        bottom: 0;
        left: 0;

        -webkit-transform: translate(0, 5px);

                transform: translate(0, 5px);
    }
}
.p-works__detailArea__customer__inner
{
    position: relative;
    z-index: 1;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;

    margin-bottom: 70px;

    -webkit-box-align: stretch;

        -ms-flex-align: stretch;

            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__inner
    {
        margin-bottom: 3.6627906977vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__inner
    {
        margin-bottom: 3.7837837838vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__inner
    {
        margin-bottom: 7.51953125vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__customer__inner
    {
        margin-bottom: 10.0260416667vw;
    }
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__customer__inner
    {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;

        padding-top: 50px;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__inner
    {
        padding-top: 2.6162790698vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__inner
    {
        padding-top: 2.7027027027vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__inner
    {
        padding-top: 5.37109375vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 767px)
{
    .p-works__detailArea__customer__inner
    {
        padding-top: 7.1614583333vw;
    }
}
.p-works__detailArea__customer__inner::after
{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;

    display: inline-block;

    width: 120vw;
    height: 100%;

    content: '';
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);

    background: linear-gradient(22deg, #6fb92c 0%, #009844 83.3%, #6fb92c 100%);
}
.p-works__detailArea__customer__message
{
    width: 50%;
    padding-top: 60px;
    padding-bottom: 70px;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 3.1395348837vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 3.2432432432vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 6.4453125vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 8.59375vw;
    }
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__message
    {
        padding-bottom: 3.6627906977vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__message
    {
        padding-bottom: 3.7837837838vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__message
    {
        padding-bottom: 7.51953125vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__customer__message
    {
        padding-bottom: 10.0260416667vw;
    }
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__customer__message
    {
        width: 100%;
        padding-top: 70px;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 3.6627906977vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 3.7837837838vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 7.51953125vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 767px)
{
    .p-works__detailArea__customer__message
    {
        padding-top: 10.0260416667vw;
    }
}
.p-works__detailArea__customer__message__en
{
    font-size: 30px;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    margin-bottom: 20px;

    color: #fff;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    grid-gap: 10px;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 1.0465116279vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 1.0810810811vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 2.1484375vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 2.8645833333vw;
    }
}
.p-works__detailArea__customer__message__en::after
{
    display: inline-block;

    width: 100%;
    max-width: 400px;
    height: 1px;

    content: '';

    background-color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 2.0930232558vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 2.1621621622vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 4.296875vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 767px)
{
    .p-works__detailArea__customer__message__en
    {
        margin-bottom: 5.7291666667vw;
    }
}
.p-works__detailArea__customer__message__catch
{
    margin-bottom: 20px;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-works__detailArea__customer__message__catch
    {
        margin-bottom: 1.0465116279vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-works__detailArea__customer__message__catch
    {
        margin-bottom: 1.0810810811vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-works__detailArea__customer__message__catch
    {
        margin-bottom: 2.1484375vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-works__detailArea__customer__message__catch
    {
        margin-bottom: 2.8645833333vw;
    }
}
.p-works__detailArea__customer__message__catch__br
{
    font-size: clamp(22px, 22px + .0089285714 * (100vw - 1024px), 30px);

    display: block;

    color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__customer__message__catch__br
    {
        font-size: clamp(26px, 26px + .0357142857 * (100vw - 600px), 32px);
    }
}
.p-works__detailArea__customer__message__text
{
    font-size: 17px;

    color: #fff;
}
@media screen and (min-width: 1025px)
{
    .p-works__detailArea__customer__message__text
    {
        font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    }
}
.p-works__detailArea__customer__image
{
    width: 45.33%;

    aspect-ratio: 68/50;
}
@media screen and (max-width: 1024px)
{
    .p-works__detailArea__customer__image
    {
        width: 100%;
        height: 100%;
    }
}
.p-works__detailArea__customer .c-button
{
    width: 90%;
    max-width: 550px;
    margin: 0 auto;
}
.p-works__detailArea__customer .c-button a
{
    width: 100%;
    padding: 2px clamp(10px, 10px + .2083333333 * (100vw - 600px), 45px) 0;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
}
.p-works__detailArea__customer .c-button__text
{
    font-size: clamp(20px, 20px + .0297619048 * (100vw - 600px), 25px);
}
.p-works__detailArea__customer .c-button .c-button__arrow::before,
.p-works__detailArea__customer .c-button .c-button__arrow::after
{
    background-color: #009844;
}
