@charset "UTF-8";
:root {
    --main-font-color: #333;
    --sub-font-color: #fff;
    --main-color: #005bac;
    --main-thin-color: #edf4fa;
    --accent-color: #e03131;
    --gray-dark: #848484;
    --gray-medium: #e8e8e8;
    --gray-thin: #b7b7b7;
    --bg-black: #303234;
}
/*--------------------------------
 トップぺージ
---------------------------------*/
.header {
    padding: 42px 20px;
}
#navi {
    display: none;
}
.hero {
    width: calc(100vw - 20%);
}
.hero .hero-text {
    left: -20%;
}
.bg .bg-wrap .inn {
    font-size: 47px;
}
@media screen and (max-width : 880px) {
    .index-about-desc {
        right: 0%;
        align-items: center;
    }
    .index-about-desc .text-area {
        top: 85%;
        margin-top: 0px;
        top: 85%;
    }
}
.index-about hgroup {
    margin-bottom: 20px;
}
.index-flex {
    flex-wrap: wrap;
    row-gap: 20px;
}
.index-flex>div {
    margin-right: 0px;
    margin-left: auto;
}
.line-heading {
    font-size: 28px;
    margin-bottom: 0.2em;
}
.index-service-list {
    column-gap: 20px;
}
.index-service-list-item>a div {
    padding: 40px 20px;
}
@media screen and (max-width : 699px) {
    .swiper2-item figure {
        height: 160px;
    }
}
@media screen and (max-width : 650px) {
    .swiper2-item figure {
        height: 140px;
    }
}
@media screen and (max-width : 775px) {
    .index-instgram .row-heading {
        flex-direction: column-reverse;
        row-gap: 20px;
        align-items: flex-start;
    }
    .row-heading-white>p {
        line-height: auto;
    }
    .index-instgram {
        padding-top: 60px;
    }
    .index-instgram .inst-list {
        justify-content: space-evenly;
    }
}
@media screen and (max-width : 700px) {
    .index-news .news-all {
        flex-direction: column;
        row-gap: 20px;
    }
    .index-news .news-all .news-title,
    .index-news .news-all .news-main {
        width: 100%;
    }
    .index-news .news-all .news-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}
.cta-all {
    padding: 60px 50px;
}
@media screen and (max-width : 923px) {
    .tel-btn,
    .mail-btn {
        padding: 15px 30px;
    }
}
@media screen and (max-width : 760px) {
    .cta-btnlist {
        flex-direction: column;
        row-gap: 10px;
        align-items: center;
    }
    .cta-btnlist li {
        width: 100%;
    }
    .footer-site {
        flex-direction: column;
        row-gap: 20px;
    }
    .footer-site .site-map ul li:last-child {
        padding: 3px 33px;
    }
    .footer-top {
        padding-top: 130px;
        padding-bottom: 40px;
    }
    .footer-middle {
        padding-bottom: 60px;
    }
}
@media screen and (max-width : 630px) {
    .footer-site .site-map ul li:last-child,
    .footer-site .site-map ul li {
        padding: 3px 25px;
    }
}
/*--------------------------------
 下層ぺージ_共通
---------------------------------*/
.lower-section {
    margin-bottom: 80px;
}
/*--------------------------------
 お問い合わせ　contact
---------------------------------*/
@media screen and (max-width : 821px) {
    .cta-box .tel-btn {
        font-size: 24px;
    }
    .cta-box .tel-btn .tel-number::before {
        width: 22px !important;
        height: 22px !important;
    }
}
@media screen and (max-width : 698px) {
    .cta-box .tel-btn {
        font-size: 18px;
    }
    .cta-box .tel-btn .tel-number::before {
        width: 18px !important;
        height: 18px !important;
    }
    .cta-box .tel-btn .tel-hours {
        font-size: 12px;
    }
}
.form .form__text {
    width: 50%;
}
@media screen and (max-width : 750px) {
    .form .form__item {
        flex-direction: column;
        align-items: flex-start;
        column-gap: 0;
        row-gap: 12px;
    }
    .form .form__text,
    .form .wide,
    .form .form__textarea,
    .ninsho_area input[type="text"] {
        width: 100%;
    }
    .form .form__item .form__title {
        width: 100%;
    }
}
/*--------------------------------
 施工事例　case
---------------------------------*/
.grid-container {
    gap: 1rem 1rem;
}
.card .card-text .text {
    font-size: 14px;
}
.card .card-text .date {
    font-size: 13px;
}
/*--------------------------------
 事業内容　service
---------------------------------*/
@media screen and (max-width : 820px) {
    .anchor-list ul {
        flex-wrap: wrap;
        row-gap: 0.5em
    }
    .anchor-list ul li:nth-child(1) {
        width: 100%;
    }
}
@media screen and (max-width : 750px) {
    .flex {
        flex-direction: column;
        align-items: center;
        row-gap: 20px;
    }
    .service-first .flex-img img {
        aspect-ratio: 16 / 9;
        max-width: 100%;
        width: 750px;
        object-position: 100% 34%;
    }
    .service-first {
        margin-bottom: 80px;
    }
    .service-first p {
        margin-bottom: 40px;
    }
    .service-first .flex-text .btn1-white {
        margin-inline: auto;
    }
    .service-first .flex-text {
        margin-bottom: 40px;
    }
    .service-business-box .flex {
        flex-direction: column-reverse;
    }
    .service-business-box .service-item:nth-child(even){
        flex-direction: column;
    }
    .pc-only {
        display: none;
    }
    .service-business-box .flex .flex-img img {
        aspect-ratio: 16 / 9;
        max-width: 100%;
        width: 750px;
        object-fit: cover;
    }
    .service-business-box .flex .flex-text {
        width: 100%;
    }
    .individual-cta {
        padding: 55px 50px;
    }
    .service-works .flex {
        align-items: flex-start;
        flex-wrap: wrap;
        flex-direction: column;
    }
    .service-safety .safety-text, .service-quality .quality-text {
        margin-bottom: 30px;
    }
    .service-quality {
        background-position: 0% 60%;
        padding-bottom: 80px;
    }
}
/*--------------------------------
 ブライトについて　company
---------------------------------*/
.page-company-message,
.page-company-staff,
.page-company-profile,
.page-company-history {
    padding: 0 20px;
}
.company-mv {
    min-height: 800px;
}
.company-mv .flex {
    column-gap: 60px;
    row-gap: 40px;
}
@media screen and (max-width : 750px) {
    .company-mv .flex .text-area {
        width: 100%;
        padding: 0 100px;
    }
    .company-mv .flex .text-area > h3 {
        font-size: 65px;
        margin-bottom: 25px;
    }
    .page-company-staff .flex .flex-text {
        width: 100%;
    }
    .page-company-staff .flex {
        flex-direction: column-reverse;
        row-gap: 20px;
    }
}
@media screen and (max-width : 640px) {
    .company-mv .flex .text-area {
        padding: 0 80px;
    }
}
.company-parallax {
    height: 300px;
    background-position: top center;
}
.company-anchor {
    margin-bottom: 90px;
}
.page-company-profile {
    padding-top: 100px;
    padding-bottom: 220px;
    margin-bottom: 0px;
}
.profile-main {
    padding: 60px;
}
.table1 th {
    width: 31%;
    font-size: 15px;
}
.page-company-history {
    padding-bottom: 160px;
    margin-bottom: 0;
}
.page-company-recruit {
    margin-top: -40px;
    padding-top: 100px;
    background-size: 160%;
    padding-bottom: 200px;
}
.page-company-recruit .recruit-btn-list {
    flex-wrap: wrap;
    row-gap: 15px;
}
.page-company-recruit .recruit-btn-list .individual-mailbtn .mail-btn {
    max-width: 300px;
}
.partner-cta {
    padding: 0px;
}
.page-company-partner {
    padding-bottom: 100px;
    margin-right: 20px;
    margin-left: 20px;
}