@charset "utf-8";

#root {
    overflow: hidden;
}

.sec-intro .inner {
    padding: 120px 0 160px;
    display: grid;
    grid-template-columns: 45% 1fr;
    gap: 4%;
    align-items: flex-end;
}

.sec-intro .main {
    font-family: var(--font-main);
    font-weight: 700;
    font-size: clamp(1.5rem, 1.257rem + 1.04vw, 2.5rem);
    letter-spacing: 0.04em;
    line-height: calc(60/40);
    color: #7bb416;
}

.sec-intro .col-text {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.sec-intro .desc p {
    font-weight: 500;
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    letter-spacing: 0.03em;
    line-height: calc(36/18);
    color: #002a1d;
}

.sec-intro .col-img {
    max-width: 737px;
    width: 100%;
    position: relative;
}

.sec-intro .col-img::before {
    content: "";
    position: absolute;
    background: url(/system_panel/uploads/images/20260410010836643768.svg) no-repeat center/contain;
    max-width: 413px;
    width: 100%;
    aspect-ratio: 1/1;
    top: -175px;
    right: -192px;
}

.about .inner {
    position: relative;

}

.about .inner::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #FFF;
    border-radius: 80px;
    background: #fdfdfc;
    box-shadow: 0px 8px 40px rgba(207, 214, 192, 0.24);
    filter: blur(1px);
    z-index: -1;
}

.about .w1344 {
    padding: 80px 0 100px;
    width: min(75%, 1344px);
}

.about .sec-title {
    margin-bottom: 80px;
}

.about .title {
    font-family: var(--font-main);
    font-weight: 700;
    font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
    color: #7bb416;
    padding-top: 24px;
    border-top: 1px solid #ced6c0;
    position: relative;
}

.about .title::before {
    content: "";
    position: absolute;
    width: 56px;
    height: 3px;
    background-color: #a4cf4a;
    border-radius: 50px;
    top: -1.5px;
    left: 0;
}

.reason,
.area,
.about,
.message {
    margin-bottom: 100px;
}

.reason .title {
    margin-bottom: 80px;
}

.reason .list {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.reason .list .item {
    display: flex;
    gap: 8%;
    align-items: center;
}

.reason .list .item.reverse {
    flex-direction: row-reverse;
}

.reason .list .item .col-img {
    max-width: 440px;
    width: 40%;
}

.reason .list .item .item-tit {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}

.reason .list .item .item-tit .tit-en {
    font-family: var(--font-en);
    font-weight: 500;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    color: #767676;
}

.reason .list .item .item-tit .tit-ja {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: clamp(1.375rem, 1.223rem + 0.65vw, 2rem);
    color: #7bb416;
}

.area .title {
    margin-bottom: 30px;
}

.area .column {
    display: flex;
    align-items: flex-start;
}

.area .column .box {
    border-radius: 24px;
    background: #eff2e5;
    padding: 32px 40px;
    margin-top: 52px;
    max-width: 765px;
    width: 100%;
}

.area .column .box .main {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 24px;
    color: #002a1d;
    line-height: calc(40/24);
}

.area .column .col-img {
    max-width: 298px;
    width: 39%;
    margin-left: -57px;
}

.attempt .title {
    margin-bottom: 56px;
}

.attempt .column {
    display: flex;
    align-items: flex-end;
    gap: 10%;
}

.attempt .column .sec-img {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2%;
    margin-bottom: 40px;
}

.message .w1344 {
    width: min(75%, 1122px);
    display: flex;
    flex-direction: column;
    gap: 56px;
}

.message .column {
    display: flex;
    align-items: flex-start;
    width: 90%;
    margin: 0 auto;
}

.message .column .sec-img {
    max-width: 237px;
    width: 100%;

}

.message .column .sec-img img {
    border-radius: 24px;
}

.message .column .box {
    max-width: 820px;
    width: 100%;
    margin-top: 55px;
    padding: 48px 4% 72px 10%;
    background: #eff2e5;
    border-radius: 24px;
    margin-left: -62px;
    z-index: -1;
    position: relative;
}

.message .column .box::before {
    content: "";
    position: absolute;
    background: url(/system_panel/uploads/images/20260410010836643768.svg) no-repeat center/contain;
    max-width: 243px;
    width: 100%;
    aspect-ratio: 1/1;
    top: -124px;
    right: -86px;
}

.message .column .box .box-tit {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
}

.message .column .box .box-tit .sub {
    font-family: var(--font-main);
    font-weight: 400;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    color: #7bb416;
}

.message .column .box .box-tit .main {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: clamp(1.125rem, 1.034rem + 0.39vw, 1.5rem);
    color: #002a1d;
}

.company {
    margin-bottom: 160px;
}

.company .inner {
    display: flex;
    align-items: flex-start;
    gap: 6%;
    width: min(75%, 1122px);
}

.company .sec-body {
    margin-top: 125px;
    flex: 1;

}

.company .info {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    margin-bottom: 40px;
}

.company .info .item {
    display: grid;
    grid-template-columns: 40% 1fr;
    padding-bottom: 24px;
    border-bottom: 1px solid #ced6c0;
}

.company .info .item .ttl {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: 16px;
    color: #002a1d;
    padding-left: 60px;
}

.company .info .item .detail {
    font-family: var(--font-main);
    font-weight: 400;
    font-size: 16px;
    line-height: calc(28/16);
    color: #002a1d;
}


.company .map .innermap {
    width: 100%;
    margin-bottom: 24px;
}

.company .map iframe {
    width: 100%;
    height: 440px;
    border-radius: 24px;
}

.company .text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    width: 86%;
    margin: 0 auto;
}

.company .text .item {
    display: grid;
    grid-template-columns: max-content max-content 1fr;
    grid-template-areas: "icon ttl detail";
}

.company .text .item .icon {
    margin-right: 16px;
    grid-area: icon;
}

.company .text .item .ttl {
    font-family: var(--font-main);
    font-weight: 500;
    font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
    color: #002a1d;
    grid-area: ttl;
}

.company .text .item .detail {
    grid-area: detail;
    text-align: center;
    font-family: var(--font-main);
    font-weight: 400;
    font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);
    line-height: calc(28/16);
    color: #002a1d;
}

@media (max-width: 1200px) {
    .area .column .col-img {
        width: 36%;
        margin-left: -120px;
    }

    .message .column .box {
        margin-left: -28px;
    }

    .company .text {
        width: 100%;
    }
}

@media (max-width: 1023px) {
    .sec-intro .inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 106px;
    }

    .sec-intro .col-img::before {
        width: 49%;

    }

    .sec-intro .col-img {
        width: 85%;
    }

    .reason .list .item,
    .reason .list .item.reverse {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }

    .reason .list .item .col-img {
        width: 100%;
        max-width: none;
        height: 200px;

    }

    .reason .list .item .col-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 24px;
    }

    .reason .list {
        width: 100%;
    }

    .area .column,
    .attempt .column {
        flex-direction: column;
    }

    .area .column .box {
        padding-bottom: 168px;
    }

    .area .column .col-img {
        margin-left: auto;
        margin-right: auto;
        margin-top: -142px;
        max-width: 209px;
        width: 100%;
    }

    .attempt .column {
        gap: 24px;
    }

    .attempt .column .sec-img {
        margin-bottom: 24px;
    }

    .attempt .morebtn {
        margin-right: auto;
    }

    .about .inner::before {
        border-radius: 24px;
    }

    .message .column {
        flex-direction: column;
    }

    .message .column .box {
        margin-left: 0;
        margin-top: -40px;
        padding: 80px 28px 43px 29px;
    }

    .message .column .sec-img {
        margin: 0 auto;
        width: 60%;
    }

    .message .column .box::before {
        content: none;
    }

    .company .inner {
        flex-direction: column;
        gap: 56px;
    }

    .company .sec-body {
        margin-top: 0;
        width: 100%;
    }

    .company .map iframe {
        height: 185px;
    }

    .company .text .item {
        grid-template-areas: "icon ttl"
            ". detail";
        grid-template-columns: max-content auto;
    }

    .company .text .item .detail,
    .company .text .item .ttl {
        text-align: left;
    }

    .message .w1344,
    .company .inner {
        width: 90%;
        gap: 0;
    }

    .company .text .item .icon {
        margin-right: 0;
        width: 25px;
    }

    .company .text .item {
        gap: 0 16px;
    }

    .company .sec-title {
        margin: 0 auto 80px 0;
    }
}

@media (max-width: 767px) {
    .sec-intro .inner {
        padding: 80px 0 120px;
    }

    .sec-intro .col-text {
        gap: 40px;
    }

    .sec-intro .desc p {
        line-height: calc(24/16);
    }

    .sec-intro .col-img::before {
        max-width: 138px;
        top: -58px;
        right: -46px;
    }

    .about .w1344 {
        width: 95%;
    }

    .area .column .box {
        padding: 32px 32px 168px;
    }

    .company .info .item .ttl {
        padding-left: 8px;

    }

    .about .sec-title,
    .message .sec-title,
    .company .sec-title {
        width: 90%;
        margin: 0 auto 80px;
    }

    .company .info .item {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .company .info .item .detail {
        padding-left: 8px;
    }
}


.gjs-dashed .message .column .box {
    z-index: 50;
}