@charset "utf-8";
/* CSS Document */

main {
    background-color: #FCFCFC;
}

@media print, screen and (max-width: 768px) {
    main {
    }
}




/* ==============================
 content-title
============================== */
.content_title-wrap {
    min-height: 33.722vw;
}
.content_title-wrap .title-item {
    width: 36.3%; /* 655px */
}
.content_title-wrap .title-item .lead {
    margin-top: 13.43%; /* 88px */
    width: 100%; /* 655px */
}
.content_title-wrap .title-img {
    width: 34.889%; /* 628px */
    top: 31.13px; /* 31.13px */
    right: 31.13px; /* 29.72px */
}

.content_title-wrap .title-img::after {
    width: 90.28%; /* 567px */
    height: 98.7%; /* 522px */
    top: -31.13px; /* 31.13px */
    right: -31.13px; /* 29.72px */
}

@media print, screen and (max-width: 768px) {
    .content_title-wrap {
        min-height: auto;
    }
    .content_title-wrap .title-item {
        width: 94.667vw;
        margin: 6.8vw auto 0;
    }
    .content_title-wrap .title-item h2 {
        font-size: 3.2vw;
    }
    .content_title-wrap .title-item h3 {
        font-size: 13.333vw;
        line-height: 1.03;
        margin-top: 2.667vw;
    }
    .content_title-wrap .title-item .lead {
        font-size: 3.733vw;
        font-weight: 500;
        line-height: 2;
        margin-top: 5.067vw;
        width: 100%;
    }
    .content_title-wrap .title-img {
        width: 80.547vw;
        position: relative;
        top: 0;
        right: 0;
        margin-top: 13.467vw;
        margin-right: 3.045vw;
        margin-left: auto;
    }
    .content_title-wrap .title-img::after {
        width: 72.8vw;
        height: 66.933vw;
        top: -3.045vw;
        right: -3.045vw;
    }
}


/* ==============================
  代表メッセージ
============================== */
#message {
    margin-top: 5vw; /* 230px */
}
#message .sec-content {
    max-width: 1280px;
    margin: 0 auto;
}
.column-wrap {
    display: grid;
    grid-template-columns: 47.58% 37.66%; /* 609px 482px */
    grid-column-gap: 8.87%; /* 113.5px */
}

.column-wrap .img-wrap {
    position: relative;
    z-index: 0;
}
.column-wrap .img-wrap::after {
    content: "";
    display: block;
    background: #0053FF;
    width: 104%; /* 609px */
    height: 97.6%; /* 815px */
    position: absolute;
    right: -4.11%; /* 25px */
    bottom: -3.35%; /* 28px */
    z-index: -1;
}
.column-wrap .sec-title span {
    font-size: min(2.5vw,3.2rem);
    font-weight: bold;
    line-height: 1;
    color: #0153FF;
}

.column-wrap .sec-title .title {
    font-size: min(3.906vw,5.0rem);
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-top: 2.07%; /* 10px */
}

.column-wrap .column-item .text-wrap {
    margin-top: 10.37%; /* 50px */
}

.column-wrap .column-item .text-wrap .text {
    font-size: min(1.406vw,1.8rem);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.8;
}
.column-wrap .column-item .name-wrap {
    margin-top: 17.01%; /* 82px */
    display: flex;
    grid-column-gap: 8.3%; /* 40px */
}
.column-wrap .column-item .name-wrap .name-item .post {
    font-size: min(1.094vw,1.4rem);
    font-weight: 500;
    line-height: 1;
}
.column-wrap .column-item .name-wrap .name-item .name {
    font-size: min(1.563vw, 2rem);
    font-weight: 600;
    line-height: 1;
    margin-top: 10.2%; /* 5px */
}
@media print, screen and (max-width: 1799px) {
    #message {
        margin-top: 15%; /* 230px */
    }
}
@media print, screen and (max-width: 768px) {
    #message {
        width: 94.667vw;
        margin: 23.147vw auto 0;
    }
    #message .sec-content {
        max-width: none;
    }
    .column-wrap {
        display: flex;
        flex-direction: column-reverse;
        grid-column-gap: 17.067vw;
    }
    .column-wrap .img-wrap {
        width: 77.973vw;
        margin: 17.067vw auto 0;
    }
    .column-wrap .img-wrap::after {
        width: 80.8vw;
        height: 107.733vw;
        right: -2.952vw;
        bottom: -2.933vw;
    }
    .column-wrap .sec-title span {
        font-size: 5.333vw;
    }

    .column-wrap .sec-title .title {
        font-size: 7.467vw;
        line-height: 1.5;
        margin-top: 3.2vw;
    }

    .column-wrap .column-item .text-wrap {
        margin-top: 7.867vw;
    }

    .column-wrap .column-item .text-wrap .text {
        font-size: 3.467vw;
        font-weight: 400;
        line-height: 2;
    }
    .column-wrap .column-item .name-wrap {
        margin-top: 7.867vw;
        display: flex;
        justify-content: flex-end;
        grid-column-gap: 7.867vw;
    }
    .column-wrap .column-item .name-wrap .name-item .post {
        font-size: 3.2vw;
    }
    .column-wrap .column-item .name-wrap .name-item .name {
        font-size: 4.267vw;
        margin-top: 0.667vw;
    }
}

/* ==============================
 会社概要
============================== */
#about {
    background: #F3F3F3;
    margin-top: 12.89%; /* 165px */
    padding: 6.25% 0 4.48%; /* 80px 0 57.3px */
}
#about .sec-content {
    width: 88.91%;
    max-width: 1138px;
    margin: 0 auto;
}

#about .sec-title .title {
    font-size: min(1.797vw,2.3rem);
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.05em;
}

#about .detail-wrap {
    margin-top: 3.91%; /* 50px */
}

#about .detail-wrap dl {
    border-top: 1px solid #CECECE;
    display: grid;
    grid-template-columns: 19.95% 1fr; /* 227px */
    padding: 2.64% 0; /* 30px 0 */
}

#about .detail-wrap dl dt {
    font-size: min(1.25vw, 1.6rem);
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.05em;
}
#about .detail-wrap dl dd {
    font-size: min(1.25vw, 1.6rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;

}
#about .detail-wrap dl dd .map-wrap {
    margin-top: 15px;
    width: 100%;
    height: 444px;
}
#about .detail-wrap dl dd iframe {
    width: 100%;
    height: 100%;
}

@media print, screen and (max-width: 768px) {
    #about {
        margin-top: 26.133vw;
        padding: 12.267vw 0 8.533vw;
    }
    #about .sec-content {
        width: 94.667vw;
        max-width: none;
    }
    #about .sec-title .title {
        font-size: 3.733vw;
        line-height: 1;
        letter-spacing: 0;
    }

    #about .detail-wrap {
        margin-top: 5.467vw;
    }

    #about .detail-wrap dl {
        border-color: #626262;
        display: grid;
        grid-template-columns: 23.867vw 1fr;
        padding: 3.733vw 0;
    }

    #about .detail-wrap dl dt {
        font-size: 3.2vw;
        line-height: 1.57;
    }
    #about .detail-wrap dl dd {
        font-size: 3.2vw;
        font-weight: 500;
        line-height: 1.57;

    }
    #about .detail-wrap dl dd .map-wrap {
        margin-top: 3.733vw;
        width: auto;
        height: 46.133vw;
        margin-left: -23.867vw;
    }
}