/* ==========================================================================
   toppage
   ========================================================================== */
/* p-mv
   ----------------------------------------------------------------- */
.p-mv
{
    position: relative;
    z-index: 1;

    overflow: hidden;

    width: 100%;
}
.p-mv__mainCatch
{
    position: absolute;
    z-index: 10;
    bottom: clamp(80px, 80px + .0334821429 * (100vw - 1024px), 110px);
    left: clamp(80px, 80px + .0558035714 * (100vw - 1024px), 130px);
}
@media screen and (max-width: 1024px)
{
    .p-mv__mainCatch
    {
        bottom: clamp(40px, 40px + .2380952381 * (100vw - 600px), 80px);
        left: 5%;

        width: 90%;
    }
}
@media screen and (max-width: 767px)
{
    .p-mv__mainCatch
    {
        left: 5%;

        width: 90%;
    }
}
.p-mv__mainCatch__en
{
    font-size: clamp(20px, 20px + .0078125 * (100vw - 1024px), 27px);
    font-weight: 400;

    color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-mv__mainCatch__en
    {
        font-size: clamp(25px, 25px + .0078125 * (100vw - 768px), 27px);
    }
}
@media screen and (max-width: 767px)
{
    .p-mv__mainCatch__en
    {
        font-size: clamp(16px, 16px + .0535714286 * (100vw - 600px), 25px);
    }
}
.p-mv__mainCatch__jp
{
    font-size: clamp(80px, 80px + .0535714286 * (100vw - 1024px), 128px);
    font-weight: 500;
    line-height: 1.2;

    margin-bottom: clamp(15px, 15px + .0078125 * (100vw - 1024px), 22px);

    color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-mv__mainCatch__jp
    {
        font-size: 98px;

        margin-bottom: clamp(15px, 15px + .0416666667 * (100vw - 600px), 22px);

        white-space: nowrap;
    }
}
@media screen and (max-width: 767px)
{
    .p-mv__mainCatch__jp
    {
        font-size: clamp(52px, 52px + .2738095238 * (100vw - 600px), 98px);
        font-weight: 600;
    }
}
.p-mv__mainCatch__sub
{
    font-size: clamp(22px, 22px + .0089285714 * (100vw - 1024px), 30px);
    font-weight: 500;
    line-height: 1.2;

    color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-mv__mainCatch__sub
    {
        font-size: 28px;
    }
}
@media screen and (max-width: 767px)
{
    .p-mv__mainCatch__sub
    {
        font-size: clamp(17px, 17px + .0476190476 * (100vw - 600px), 25px);
        font-weight: 600;
    }
}
.p-mv__sliderArea
{
    width: 100%;
    height: 100%;
}
.p-mv__slider
{
    width: 100%;
    height: 100%;
}
.p-mv__slide
{
    position: relative;

    width: 100%;
    height: 100%;

    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.p-mv__slide::before
{
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .3;
    background: #009844;
}
.p-mv__slide--01
{
    background-image: url(../image/top/slider01.jpg);
    background-position: center bottom 16%;
}
@media screen and (max-width: 1024px)
{
    .p-mv__slide--01
    {
        background-position: left center;
    }
}
@media screen and (max-width: 600px)
{
    .p-mv__slide--01
    {
        background-position: left 8% center;
    }
}
.p-mv__slide--02
{
    background-image: url(../image/top/slider02.jpg);
    background-position: center bottom 27%;
}
@media screen and (max-width: 1024px)
{
    .p-mv__slide--02
    {
        background-position: right center;
    }
}
.p-mv__slide--02::before
{
    opacity: .15;
    background: #004800;
}
.p-mv__slide--03
{
    background-image: url(../image/top/slider03.jpg);
    background-position: center bottom 7.5%;
}
@media screen and (max-width: 1024px)
{
    .p-mv__slide--03
    {
        background-position: center;
    }
}
.p-mv__slide--03::before
{
    opacity: .25;
    background: #004800;
}
.p-mv__slide--04
{
    background-image: url(../image/top/slider04.jpg);
    background-position: center top 45%;
}
@media screen and (max-width: 1024px)
{
    .p-mv__slide--04
    {
        background-position: center;
    }
}
.p-mv__slide--04::before
{
    opacity: .25;
    background: #002400;
}
.p-mv__slide--05
{
    background-image: url(../image/top/slider05.jpg);
    background-position: center bottom 0;
}
@media screen and (max-width: 1024px)
{
    .p-mv__slide--05
    {
        background-position: center;
    }
}
@media screen and (max-width: 767px)
{
    .p-mv__slide--05
    {
        background-position: center left 44%;
    }
}
.p-mv__slide--05::before
{
    opacity: .25;
    background: #004800;
}

/* p-business
   ----------------------------------------------------------------- */
.p-business
{
    position: relative;
    z-index: 1;
}
.p-business__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}
.p-business__box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 25%;
    padding: clamp(50px, 50px + .0669642857 * (100vw - 1024px), 110px) 0;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    grid-gap: clamp(12px, 12px + .0060606061 * (100vw - 600px), 20px);
    aspect-ratio: 6/5;
}
@media screen and (max-width: 1024px)
{
    .p-business__box
    {
        width: 50%;
        padding: 0;

        aspect-ratio: 6/5;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
@media screen and (max-width: 767px)
{
    .p-business__box
    {
        width: 100%;
    }
}
.p-business__box.mowing
{
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(35, 95, 0, .55)), to(rgba(35, 95, 0, .55))), url(../image/top/bussiness01.jpg) center/cover no-repeat;
    background: linear-gradient(to bottom, rgba(35, 95, 0, .55) 0%, rgba(35, 95, 0, .55) 100%), url(../image/top/bussiness01.jpg) center/cover no-repeat;
}
.p-business__box.felling
{
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 72, 0, .55)), to(rgba(0, 72, 0, .55))), url(../image/top/bussiness02.jpg) center/cover no-repeat;
    background: linear-gradient(to bottom, rgba(0, 72, 0, .55) 0%, rgba(0, 72, 0, .55) 100%), url(../image/top/bussiness02.jpg) center/cover no-repeat;
}
.p-business__box.pruning
{
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(35, 95, 0, .55)), to(rgba(35, 95, 0, .55))), url(../image/top/bussiness03.jpg) center/cover no-repeat;
    background: linear-gradient(to bottom, rgba(35, 95, 0, .55) 0%, rgba(35, 95, 0, .55) 100%), url(../image/top/bussiness03.jpg) center/cover no-repeat;
}
.p-business__box.planting
{
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 72, 0, .55)), to(rgba(0, 72, 0, .55))), url(../image/top/bussiness04.jpg) center/cover no-repeat;
    background: linear-gradient(to bottom, rgba(0, 72, 0, .55) 0%, rgba(0, 72, 0, .55) 100%), url(../image/top/bussiness04.jpg) center/cover no-repeat;
}
.p-business__box:nth-of-type(odd) .p-business__box__title__en
{
    color: #235f00;
    background-color: rgba(255, 255, 255, .7);
}
.p-business__box:nth-of-type(even) .p-business__box__title__en
{
    color: #004800;
    background-color: rgba(255, 255, 255, .85);
}
.p-business__box__title
{
    width: 100%;
}
.p-business__box__title__en
{
    font-size: clamp(17px, 17px + .0033482143 * (100vw - 1024px), 20px);
    font-weight: 400;
    line-height: 1;

    width: 100%;
    margin-bottom: clamp(18px, 18px + .0212264151 * (100vw - 600px), 27px);
    padding: .35em 0 .2em;

    text-align: center;
}
@media screen and (max-width: 1024px)
{
    .p-business__box__title__en
    {
        font-size: clamp(18px, 18px + .0119047619 * (100vw - 600px), 20px);
    }
}
.p-business__box__title__jp
{
    font-size: clamp(40px, 40px + .0223214286 * (100vw - 1024px), 60px);
    font-weight: 500;
    line-height: 1;

    text-align: center;

    color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-business__box__title__jp
    {
        font-size: clamp(50px, 50px + .0595238095 * (100vw - 600px), 60px);
    }
}
@media screen and (max-width: 767px)
{
    .p-business__box__title__jp
    {
        font-weight: 600;
    }
}
.p-business__box__text
{
    font-size: 17px;

    width: 75%;
    margin: 0 auto;

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

/* p-achievements,p-advantage
   ----------------------------------------------------------------- */
.p-achievements,
.p-advantage
{
    position: relative;
    z-index: 1;

    width: 47%;
    padding-top: 50px;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 2.6162790698vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 2.7027027027vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 5.37109375vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 7.1614583333vw;
    }
}
@media screen and (max-width: 1024px)
{
    .p-achievements,
    .p-advantage
    {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
        padding-top: 0;
    }
    .p-achievements .p-achievements__text,
    .p-achievements .p-advantage__text,
    .p-advantage .p-achievements__text,
    .p-advantage .p-advantage__text
    {
        text-shadow: 3px 3px 5px rgba(255, 255, 255, .5);
    }
}
@media screen and (max-width: 767px)
{
    .p-achievements,
    .p-advantage
    {
        width: 100%;
        padding-top: 30px;
    }
}
@media screen and (max-width: 767px) and (max-width: 1479px) and (min-width: 1280px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 1.5697674419vw;
    }
}
@media screen and (max-width: 767px) and (max-width: 1279px) and (min-width: 1024px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 1.6216216216vw;
    }
}
@media screen and (max-width: 767px) and (max-width: 1023px) and (min-width: 768px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 3.22265625vw;
    }
}
@media screen and (max-width: 767px) and (max-width: 767px)
{
    .p-achievements,
    .p-advantage
    {
        padding-top: 4.296875vw;
    }
}
.p-achievements .c-button,
.p-advantage .c-button
{
    margin-bottom: 30px;
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-achievements .c-button,
    .p-advantage .c-button
    {
        margin-bottom: 1.5697674419vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-achievements .c-button,
    .p-advantage .c-button
    {
        margin-bottom: 1.6216216216vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-achievements .c-button,
    .p-advantage .c-button
    {
        margin-bottom: 3.22265625vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-achievements .c-button,
    .p-advantage .c-button
    {
        margin-bottom: 4.296875vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-achievements .c-button__text,
    .p-advantage .c-button__text
    {
        font-size: 17px;
    }
}
.p-achievements::before,
.p-achievements::after,
.p-advantage::before,
.p-advantage::after
{
    position: absolute;
    z-index: -1;
    right: 0;

    display: inline-block;

    content: '';
}
.p-achievements::before,
.p-advantage::before
{
    top: 0;
    right: clamp(40px, 40px + .0172991071 * (100vw - 1024px), 55.5px);

    width: clamp(240px, 240px + .1227678571 * (100vw - 1024px), 350px);

    aspect-ratio: 351/241;
}
@media screen and (max-width: 1024px)
{
    .p-achievements::before,
    .p-advantage::before
    {
        top: unset;
        bottom: clamp(25px, 25px + .0892857143 * (100vw - 600px), 40px);

        width: 45.73%;
    }
}
@media screen and (max-width: 767px)
{
    .p-achievements::before,
    .p-advantage::before
    {
        top: 0;
        right: clamp(25px, 25px + .0892857143 * (100vw - 600px), 40px);
        bottom: unset;
    }
}
.p-achievements::after,
.p-advantage::after
{
    bottom: clamp(5px, 5px + .0055803571 * (100vw - 1024px), 10px);

    width: clamp(80px, 80px + .0345982143 * (100vw - 1024px), 111px);

    opacity: .8;

    aspect-ratio: 1/1;
}
@media screen and (max-width: 1024px)
{
    .p-achievements::after,
    .p-advantage::after
    {
        width: 14.7%;
    }
}
@media screen and (max-width: 767px)
{
    .p-achievements::after,
    .p-advantage::after
    {
        top: 37%;
        bottom: unset;
    }
}

#achievements::before
{
    background: linear-gradient(-240deg, #96c8e2 0%, #004da0 50%, #100964 70%, #004da0 100%);
}
#achievements::after
{
    background: linear-gradient(60deg, #96c8e2 0%, #004da0 35%, #100964 70%, #004da0 100%);
}
#achievements .c-button__arrow::before,
#achievements .c-button__arrow::after
{
    background-color: #004da0;
}

#advantage::before
{
    background: linear-gradient(-240deg, #b6cd50 0%, #6fb92c 50%, #009844 70%, #6fb92c 100%);
}
#advantage::after
{
    background: linear-gradient(60deg, #b6cd50 0%, #6fb92c 35%, #009844 70%, #6fb92c 100%);
}
#advantage .c-button__arrow::before,
#advantage .c-button__arrow::after
{
    background-color: #009844;
}

/* p-greeting
----------------------------------------------------------------- */
.p-greeting__flex
{
    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;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    grid-gap: clamp(30px, 30px + .119047619 * (100vw - 600px), 50px) 3.125%;
}
.p-greeting__flex::after
{
    position: absolute;
    z-index: -1;
    top: 50%;
    right: -3.854vw;

    display: inline-block;

    width: 35.41vw;

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

    background: url(../image/common/logo_only.svg) center/100% no-repeat;

    aspect-ratio: 680/626;
}
@media screen and (max-width: 1024px)
{
    .p-greeting__flex::after
    {
        top: 0;

        width: 80%;

        -webkit-transform: translateY(5%);

                transform: translateY(5%);
    }
}
.p-greeting__textArea
{
    z-index: 1;

    width: 47.925%;
    padding-right: 5vw;
}
@media all and (min-width: 1660px)
{
    .p-greeting__textArea
    {
        max-width: 710px;
        margin-right: auto;
        padding-right: 0;
    }
}
@media screen and (max-width: 1024px)
{
    .p-greeting__textArea
    {
        width: 90% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0;

        -ms-flex-wrap: wrap;

            flex-wrap: wrap;
    }
    .p-greeting__textArea .c-title
    {
        margin-right: auto;
        margin-left: auto;
    }
}
.p-greeting__textArea__catch
{
    font-size: clamp(28px, 28px + .0133928571 * (100vw - 1024px), 40px);
    font-weight: 500;

    margin-bottom: clamp(24px, 24px + .0178571429 * (100vw - 1024px), 40px);
}
@media screen and (max-width: 1024px)
{
    .p-greeting__textArea__catch
    {
        font-size: clamp(28px, 28px + .0714285714 * (100vw - 600px), 40px);
    }
}
.p-greeting__textArea__text
{
    margin-bottom: clamp(30px, 30px + .0235849057 * (100vw - 600px), 40px);
    padding: clamp(30px, 30px + .0892857143 * (100vw - 600px), 45px) 0;

    border-top: #0068b6 1px solid;
    border-bottom: #0068b6 1px solid;
}
.p-greeting__textArea__text__br
{
    font-size: 17px;
    font-weight: 400;

    display: block;
}
@media screen and (min-width: 1025px)
{
    .p-greeting__textArea__text__br
    {
        font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    }
}
.p-greeting__textArea__name
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    grid-gap: clamp(8px, 8px + .0476190476 * (100vw - 600px), 16px) clamp(12px, 12px + .0476190476 * (100vw - 600px), 20px);
}
.p-greeting__textArea__name__positon
{
    font-size: clamp(20px, 20px + .0044642857 * (100vw - 1024px), 24px);
    font-weight: 500;
}
@media screen and (max-width: 1024px)
{
    .p-greeting__textArea__name__positon
    {
        font-size: clamp(20px, 20px + .0238095238 * (100vw - 600px), 24px);
    }
}
.p-greeting__textArea__name__jp
{
    font-size: clamp(24px, 24px + .0066964286 * (100vw - 1024px), 30px);
    font-weight: 500;
}
@media screen and (max-width: 1024px)
{
    .p-greeting__textArea__name__jp
    {
        font-size: clamp(24px, 24px + .0357142857 * (100vw - 600px), 30px);
    }
}
.p-greeting__textArea__name__en
{
    font-size: clamp(18px, 18px + .0022321429 * (100vw - 1024px), 20px);
    font-weight: 400;
}
@media screen and (max-width: 1024px)
{
    .p-greeting__textArea__name__en
    {
        font-size: clamp(18px, 18px + .0119047619 * (100vw - 600px), 20px);
    }
}
@media screen and (max-width: 600px)
{
    .p-greeting__textArea__name__en
    {
        width: 100%;

        text-align: right;
    }
}
.p-greeting__image
{
    position: relative;
    z-index: 1;

    width: 48.95%;
}
@media screen and (max-width: 1024px)
{
    .p-greeting__image
    {
        width: calc(100% - clamp(10px, 10px + .0235849057 * (100vw - 600px), 20px));
        margin-right: auto;
        margin-bottom: 10px;
    }
}
.p-greeting__image__inner
{
    overflow: hidden;

    aspect-ratio: 94/55;
}
@media screen and (max-width: 767px)
{
    .p-greeting__image__inner
    {
        aspect-ratio: 94/80;
    }
}
.p-greeting__image__inner img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 600px)
{
    .p-greeting__image__inner img
    {
        -webkit-transform: scale(1.25);
                transform: scale(1.25);
    }
}
.p-greeting__image::after
{
    position: absolute;
    z-index: -1;
    top: clamp(10px, 10px + .0235849057 * (100vw - 600px), 20px);
    left: clamp(10px, 10px + .0235849057 * (100vw - 600px), 20px);

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    opacity: .2;
    background: linear-gradient(45deg, #858585 0%, #080808 38.04%, #c2c2c2 71.43%, #454545 92.62%);
}

/* p-staff
----------------------------------------------------------------- */
.p-staff__flex
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    grid-gap: clamp(30px, 30px + .119047619 * (100vw - 600px), 50px) 6%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}
@media screen and (max-width: 1024px)
{
    .p-staff__flex
    {
        grid-gap: clamp(50px, 50px + .119047619 * (100vw - 600px), 70px) 6%;
    }
}
@media screen and (max-width: 767px)
{
    .p-staff__flex
    {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
.p-staff__box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;

    width: 29.333%;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
}
@media screen and (min-width: 1025px)
{
    .p-staff__box
    {
        max-width: 360px;
    }
}
@media screen and (max-width: 1024px)
{
    .p-staff__box
    {
        width: 47%;
    }
}
@media screen and (max-width: 767px)
{
    .p-staff__box
    {
        width: 80%;
    }
}
.p-staff__box__textArea__position
{
    font-size: clamp(18px, 18px + .0044642857 * (100vw - 1024px), 22px);
    font-weight: 500;

    margin-bottom: 1.25rem;

    text-align: center;
}
@media screen and (max-width: 1024px)
{
    .p-staff__box__textArea__position
    {
        font-size: clamp(18px, 18px + .0238095238 * (100vw - 600px), 22px);
    }
}
.p-staff__box__textArea__position span
{
    font-size: clamp(18px, 18px + .0044642857 * (100vw - 1024px), 22px);
    font-weight: 500;

    color: #009844;
}
@media screen and (max-width: 1024px)
{
    .p-staff__box__textArea__position span
    {
        font-size: clamp(18px, 18px + .0238095238 * (100vw - 600px), 22px);
    }
}
.p-staff__box__textArea__name
{
    font-size: clamp(22px, 22px + .0055803571 * (100vw - 1024px), 27px);
    font-weight: 500;

    margin-bottom: .25em;

    text-align: center;
}
@media screen and (max-width: 1024px)
{
    .p-staff__box__textArea__name
    {
        font-size: clamp(22px, 22px + .0297619048 * (100vw - 600px), 27px);
    }
}
.p-staff__box__textArea__name__en
{
    font-size: 17px;

    color: #009844;
}
.p-staff__box__textArea__text
{
    font-size: 17px;
}
@media screen and (min-width: 1025px)
{
    .p-staff__box__textArea__text
    {
        font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    }
}
.p-staff__box__image
{
    position: relative;
    z-index: 1;

    width: 100%;
    margin-bottom: clamp(24px, 24px + .0121212121 * (100vw - 600px), 40px);
}
.p-staff__box__image::after
{
    position: absolute;
    z-index: -1;
    top: 10px;
    left: 10px;

    display: inline-block;

    width: 100%;
    height: 100%;

    content: '';

    border-radius: 100%;
}
.p-staff__box__image__inner
{
    overflow: hidden;

    width: 100%;

    border-radius: 100%;

    aspect-ratio: 1/1;
}
.p-staff__box__image__inner img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-staff__box:nth-of-type(odd) .p-staff__box__image::after
{
    opacity: .2;
    background: linear-gradient(-45deg, #858585 0%, #080808 38.404%, #c2c2c2 71.43%, #454545 92.62%);
}
.p-staff__box:nth-of-type(even) .p-staff__box__image::after
{
    opacity: .4;
    background: linear-gradient(30deg, #b6cd50 0%, #6fb92c 50%, #009844 70%, #6fb92c 100%);
}

/* p-company
----------------------------------------------------------------- */
.p-company__inner
{
    padding-top: 90px;
    padding-bottom: 110px;

    background: linear-gradient(45deg, #6fb92c 0%, #009844 83.29%, #6fb92c 100%);
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-company__inner
    {
        padding-top: 4.7093023256vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-company__inner
    {
        padding-top: 4.8648648649vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-company__inner
    {
        padding-top: 9.66796875vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-company__inner
    {
        padding-top: 12.890625vw;
    }
}
@media screen and (max-width: 1479px) and (min-width: 1280px)
{
    .p-company__inner
    {
        padding-bottom: 5.7558139535vw;
    }
}
@media screen and (max-width: 1279px) and (min-width: 1024px)
{
    .p-company__inner
    {
        padding-bottom: 5.9459459459vw;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .p-company__inner
    {
        padding-bottom: 11.81640625vw;
    }
}
@media screen and (max-width: 767px)
{
    .p-company__inner
    {
        padding-bottom: 15.7552083333vw;
    }
}
.p-company__inner .p-indexBlock__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    grid-gap: clamp(60px, 60px + .0223214286 * (100vw - 1024px), 80px) 6%;
}
@media screen and (max-width: 767px)
{
    .p-company__inner .p-indexBlock__inner
    {
        grid-gap: clamp(40px, 40px + .119047619 * (100vw - 600px), 60px) 6%;
    }
}
.p-company__box
{
    width: 29.3%;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}
@media screen and (max-width: 1024px)
{
    .p-company__box
    {
        width: 80%;
    }
}
@media screen and (max-width: 767px)
{
    .p-company__box
    {
        width: 100%;
    }
}
.p-company__box__title
{
    margin-bottom: clamp(16px, 16px + .0238095238 * (100vw - 600px), 20px);
}
.p-company__box__title__en
{
    font-size: clamp(30px, 30px + .0223214286 * (100vw - 1024px), 50px);
    font-weight: 400;
    line-height: 1;

    margin-bottom: clamp(14px, 14px + .005952381 * (100vw - 600px), 15px);
    padding: clamp(10px, 10px + .0297619048 * (100vw - 600px), 15px);

    text-align: center;

    color: #fff;
    border-bottom: 1px solid #fff;
}
@media screen and (max-width: 1024px)
{
    .p-company__box__title__en
    {
        font-size: clamp(36px, 36px + .0833333333 * (100vw - 600px), 50px);
    }
}
.p-company__box__title__jp
{
    font-size: clamp(24px, 24px + .0100446429 * (100vw - 1024px), 33px);
    font-weight: 500;

    text-align: center;

    color: #fff;
}
@media screen and (max-width: 1024px)
{
    .p-company__box__title__jp
    {
        font-size: clamp(24px, 24px + .0535714286 * (100vw - 600px), 33px);
    }
}
@media screen and (max-width: 767px)
{
    .p-company__box__title__jp
    {
        font-weight: 600;
    }
}
.p-company__box__text
{
    font-size: 17px;

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

/* p-outline
----------------------------------------------------------------- */
.p-outline
{
    width: 46.66%;
}
@media screen and (max-width: 1024px)
{
    .p-outline
    {
        width: 100%;
        margin-bottom: 160px;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1479px) and (min-width: 1280px)
{
    .p-outline
    {
        margin-bottom: 8.3720930233vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1279px) and (min-width: 1024px)
{
    .p-outline
    {
        margin-bottom: 8.6486486486vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 1023px) and (min-width: 768px)
{
    .p-outline
    {
        margin-bottom: 15.625vw;
    }
}
@media screen and (max-width: 1024px) and (max-width: 767px)
{
    .p-outline
    {
        margin-bottom: 20.8333333333vw;
    }
}
@media screen and (min-width: 1025px)
{
    .p-outline .c-title
    {
        margin-left: 0;

        -webkit-box-pack: start;

            -ms-flex-pack: start;

                justify-content: flex-start;
    }
}
.p-outline__list
{
    border-top: 1px solid #009844;
    border-bottom: 1px solid #009844;
}
@media screen and (max-width: 1024px)
{
    .p-outline__list
    {
        width: 100%;
    }
}
.p-outline__list__row
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: clamp(15px, 15px + .0015151515 * (100vw - 600px), 17px) 0;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
@media screen and (max-width: 1024px)
{
    .p-outline__list__row
    {
        padding: clamp(18px, 18px + .0238095238 * (100vw - 600px), 22px) 0;
    }
}
.p-outline__list__row:nth-of-type(odd)
{
    background-color: #f6fbf4;
}
.p-outline__list__dt
{
    font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    font-weight: 300;

    width: 21.42%;
    padding-left: clamp(30px, 30px + .0334821429 * (100vw - 1024px), 60px);
}
@media screen and (max-width: 1024px)
{
    .p-outline__list__dt
    {
        font-size: 17px;

        padding-left: 60px;
    }
}
@media screen and (max-width: 600px)
{
    .p-outline__list__dt
    {
        font-weight: 500;

        width: 100%;
        margin-bottom: .75em;
        padding-left: 0;

        text-align: center;
    }
}
.p-outline__list__dd
{
    font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    font-weight: 300;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 78.54%;
    padding-left: clamp(20px, 20px + .0334821429 * (100vw - 1024px), 50px);

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
}
@media screen and (max-width: 1024px)
{
    .p-outline__list__dd
    {
        font-size: 17px;

        padding-left: calc(5% + 2em);
    }
}
@media screen and (max-width: 767px)
{
    .p-outline__list__dd
    {
        width: 100%;
        padding: 0 .5em 0 1.5em;
    }
}
.p-outline__list__dd span
{
    display: inline-block;
}
@media screen and (max-width: 1024px)
{
    .p-outline__list__dd span:not(:last-of-type)
    {
        width: 100%;
        margin-bottom: .75em;
    }
}
.p-outline__list__dd a:not([href^='tel:'])
{
    font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
    font-weight: 500;
}
@media screen and (max-width: 1024px)
{
    .p-outline__list__dd a:not([href^='tel:'])
    {
        font-size: 17px;
    }
}
@media screen and (min-width: 1025px)
{
    .p-outline__list__dd .indent
    {
        display: block;

        padding-left: 3.5em;

        text-indent: -3.5em;
    }
}
.p-outline__list__dd:has(.indent)
{
    line-height: 1.75;
}

/* p-access
----------------------------------------------------------------- */
.p-access
{
    width: 46.66%;
}
@media screen and (max-width: 1024px)
{
    .p-access
    {
        width: 100%;
    }
}
@media screen and (min-width: 1025px)
{
    .p-access .c-title
    {
        margin-left: 0;

        -webkit-box-pack: start;

            -ms-flex-pack: start;

                justify-content: flex-start;
    }
}
.p-access__mapArea
{
    margin-bottom: .75rem;

    aspect-ratio: 70/79;
}
@media screen and (max-width: 1024px)
{
    .p-access__mapArea
    {
        aspect-ratio: 1/1;
    }
}
@media screen and (max-width: 767px)
{
    .p-access__mapArea
    {
        aspect-ratio: 1/1.5;
    }
}
.p-access__text
{
    font-size: clamp(15px, 15px + .0022321429 * (100vw - 1024px), 17px);
}
@media screen and (max-width: 1024px)
{
    .p-access__text
    {
        font-size: 17px;
    }
}
.p-access__text .green
{
    display: inline-block;

    margin-right: .25em;

    color: #009844;
}

/* 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;
}
