@charset "utf-8";
/* ==================================
COMMON
===================================== */
.br-pc {
    display: inline;
}
.br-sp {
    display: none;
}
body {
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif !important;
}
.main_table tr {
    border-right: 1px solid #dee2e6;
}
a, .t-default a {
    margin: 0;
    padding: 0;
    text-decoration: none;
    transition: all .2s ease 0s;
}
.dlb_flow-5 .dlb_flow-label {
    background-color: #8ED0EC !important;
}
.dlb_flow-5 .dlb_flow-label:before {
    border-color: transparent #00A7EC transparent transparent !important;
}
.dlb_flow-5 .dlb_flow-item+.dlb_flow-item::before {
    border-color: #E2CB58 transparent transparent transparent !important;
}
.accordion .card-header.btn {
    background-color: #00A7EC !important;
    color: #fff !important;
}

/* ==================================
header / footer
===================================== */
.navbar-light .navbar-nav .nav-link, #footer-01 .btn-link {
    color: #333 !important;
}
.navbar-light .navbar-nav .nav-link:hover,.navbar .navbar-nav .nav-item.is-main_current>a, #footer-01 .btn-link a:hover {
    color: #00A7EC !important;
}
.navbar-light .navbar-toggler {
    border-color: transparent !important;
}

/* ==================================
TOP
===================================== */
.top_mv {
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(/dcms_media/image/main_mv.jpg);
    height: 640px;
    position: relative;
}
.top_mv .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.top_mv h1 {
    font-size: 40px !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
    font-weight: bold;
    text-shadow: 4px 4px 4px #333;
}
.top_about .container-fluid {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url(/dcms_media/image/top01.jpg);
    position: relative;
}
.top_about .container-fluid::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
}
.top_about .btn a:hover {
    background-color: #00A7EC;
    color: #fff !important;
}
.dlb_news-list dl {
    border-top: 1px solid #F5F5F5;
    padding: 10px 0;
}
.dlb_news-list dl:last-child {
    border-bottom: 1px solid #F5F5F5;
    padding: 10px 0;
}
.recruit-block .container-fluid {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-image: url(/dcms_media/image/company01.jpg);
}
#blog-slide1 .dlb_blog-image .img-fluid {
    overflow: hidden;
}
#blog-slide1 .dlb_blog-image .img-fluid img {
    height: 160px;
}


/* ==================================
下層
===================================== */
.common a[id] {
    padding-top: 120px;
    margin-top: -120px;
}
.group-company .dlb_list_accordion .btn {
    color: #fff !important;
}
.dlb_list_accordion .btn::after {
    border-color: #00A7EC !important;
}
.group-company .col .btn a::after {
    display: none !important;
}
.dlb_list_accordion .btn::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: #fff;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
}
.dlb_list_accordion .btn.collapsed::after {
    margin-top: -6px !important;
}
.dlb_list_accordion .btn::after {
    margin-top: -3px  !important;
}
.accordion-in-btn .btn::after, .accordion-in-btn .btn::before {
    display: none !important;
}
.accordion-in-btn .btn {
    padding-right: 0 !important;
}

/* ==================================
お問い合わせ
===================================== */
#form_contact_main {
    width: 60% !important;
    margin: auto !important;
}
#form_intro p {
    width: 60% !important;
    margin: auto !important;
    margin-bottom: 40px !important;
}
#form_contact_main dd {
    width: 70% !important;
    margin-bottom: 0px !important;
}
#form_contact_main dt {
    width: 250px !important;
}
#form_contact_main dl {
    margin-bottom: 0px;
    padding: 30px 0 !important;
}
#contact-form #table_address tr td {
    padding: 8px !important;
}
#form_wrap {
    margin-bottom: 60px;
}
/* ==================================
ブログ詳細
===================================== */
#articledetail .dlb_contents_modal_column-2 .col .img-fluid {
    overflow: hidden;
    max-width: none;
    height: 100%;
}
#articledetail .dlb_contents_modal_column-2 .col .img-fluid img {
    height: 260px;
    width: auto;
}

@media only screen and (max-width: 690px) {
    #articledetail .dlb_contents_modal_column-2 .container {
        margin: 0 !important;
    }
    #articledetail .dlb_contents_modal_column-2 .col {
        margin-bottom: 20px !important;
        margin-top: 0 !important;
    }
    #articledetail .dlb_contents_modal_column-2 .col .img-fluid {
        width: 100%;
        height: auto;
    }
    #articledetail .dlb_contents_modal_column-2 .col .img-fluid img {
        height: auto;
        width: 100%;
    }
}

@media only screen and (max-width: 690px) {
    /* ==================================
    COMMON
    ===================================== */
    .br-sp {
        display: inline;
    }
    .br-pc {
        display: none;
    }
    .common a[id] {
        padding-top: 60px;
        margin-top: -60px;
    }
    .dlb_firstview-center .container {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
    /* ==================================
    header / footer
    ===================================== */
    #footer-01 .bg-color-01 .row .col {
        border-bottom: 1px solid #fff;
    }
    #locator ol {
        padding-left: 0 !important;
    }
    /* ==================================
    TOP
    ===================================== */
    .top_mv {
        height: 480px;
    }
    .top_mv h1 {
        font-size: 26px !important;
    }
    .top_news .btn {
        width: 100%;
    }
    #blog-slide1 .dlb_blog-image .img-fluid img {
        height: 190px;
    }
    /* ==================================
    下層
    ===================================== */
    .company-link .row-cols-2>* {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    #privacy_txt {
        margin-top: 40px !important;
    }
    /* ==================================
    お問い合わせ
    ===================================== */
    #form_contact_main {
        width: 90% !important;
    }
    #form_intro p {
        width: 90% !important;
        margin-bottom: 30px !important;
    }
    #form_contact_main dl {
        padding: 20px 0 !important;
    }
    #form_contact_main dd {
        width: 100% !important;
    }
    #privacy_txt {
        margin-top: 40px !important;
    }
    #form_wrap {
        margin-bottom: 40px;
    }
    #submit_button {
        display: flex;
    }
}

/* ==================================
建築屋が鮮魚売ってます
===================================== */
.fish-btn a {
position: relative;
    padding-right: 50px !important;
}
.fish-btn a::before {
    content: "";
    background: url(/dcms_media/image/icon.png) left / 23px no-repeat;
    width: 23px;
    height: 23px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.fish-btn a:hover:before {
    content: "";
    background: url(/dcms_media/image/icon-blue.png) left / 23px no-repeat;
    width: 23px;
    height: 23px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
/* ==================================
TOP-slider
===================================== */
.top-slider .swiper-container {
    height: 90vh;
}
.u-aspect img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.u-aspect.--16x9 img {
  aspect-ratio: 16 / 9;
}

/* ==================================
20251130 ST追記↓
===================================== */
.lib-flow-001.after-def .lib-flow-001__col:after {
    border-top-color: var(--DEF)
}

.lib-flow-001.after-main .lib-flow-001__col:after {
    border-top-color: var(--MAIN)
}

.lib-flow-001.after-accent .lib-flow-001__col:after {
    border-top-color: var(--ACC)
}

.lib-flow-001.after-other .lib-flow-001__col:after {
    border-top-color: var(--OTH)
}

.lib-flow-001.after-link .lib-flow-001__col:after {
    border-top-color: var(--LINK)
}

.lib-flow-001.after-gry .lib-flow-001__col:after {
    border-top-color: var(--GRY)
}

.lib-flow-001.after-dgry .lib-flow-001__col:after {
    border-top-color: var(--DGRY)
}

.lib-flow-001.after-lgry .lib-flow-001__col:after {
    border-top-color: var(--LGRY)
}

.lib-flow-001.after-wht .lib-flow-001__col:after {
    border-top-color: var(--WHT)
}

.lib-flow-001.after-lmain .lib-flow-001__col:after {
    border-top-color: var(--LMAIN)
}

.lib-flow-001.after-laccent .lib-flow-001__col:after {
    border-top-color: var(--LACC)
}

.lib-flow-001.after-lother .lib-flow-001__col:after {
    border-top-color: var(--LOTH)
}

.lib-flow-001__item {
    width: 100%;
    position: relative;
    border: 3px solid;
}

.lib-flow-001__row {
    padding-top: 30px;
}

.lib-flow-001__col {
    position: relative
}

.lib-flow-001__col:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: 20px 25px 0 25px;
    border-top-color: #c5c5c5;
}

.lib-flow-001__col:last-child:after {
    display: none
}

@media print, screen and (min-width: 768px) {
        .lib-flow-001__col:after {
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent;
        border-width: 20px 15px 0 15px;
        border-top-color: #c5c5c5;
        left: unset;
        bottom: unset;
        right: -17px;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(-90deg);
        transform: translateY(-50%) rotate(-90deg)
    }

    .lib-flow-001__col:nth-child(3n):after {
        display: none
    }
}

.lib-flow-001__title {
    font-size: 1.25rem;
    font-weight: bold;
}

.lib-flow-001__inside {
    width: 100%
}

.lib-flow-001__step {
    width: 60px;
    height: 60px;
    position: absolute;
    left: 50%;
    top: -30px;
    border-radius: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-weight: 700;
    font-size: 1.75rem
}


    .lib-flow-001__title {
        font-size: 1.75rem
    }

    .lib-flow-001__step {
        width: 70px;
        height: 70px;
        top: -35px
    }
    
    .tcenter {
        text-align: center;
    }

    .text-wht {
        color: #fff !important;
    }


.g-6,.gy-6 {
    row-gap: 4.5rem;
}

:where(.thumb),:where([class*=__thumb]) {
    line-height: 0;
    font-size: 0;
    display: inline-block
}

:where(.thumb) figcaption,:where(.thumb) p,:where([class*=__thumb]) figcaption,:where([class*=__thumb]) p {
    line-height: 1.3;
    font-size: 1rem
}

:where(.thumb) figcaption,:where([class*=__thumb]) figcaption {
    font-size: .8rem;
    margin-top: 10px
}

:where(.thumb).--default :where(img),:where(.thumb).--default:where(img),:where([class*=__thumb]).--default :where(img),:where([class*=__thumb]).--default:where(img) {
    width:auto;
    max-width: 100%
}

:where(.thumb) :where(img),:where(.thumb):where(img),:where([class*=__thumb]) :where(img),:where([class*=__thumb]):where(img) {
    max-width: none;
    width: 100%;
    height: auto
}

:where(.thumb) :where(img)[src$=".svg"],:where(.thumb):where(img)[src$=".svg"],:where([class*=__thumb]) :where(img)[src$=".svg"],:where([class*=__thumb]):where(img)[src$=".svg"] {
    display: block;
    max-width: none;
    width: 100%;
    height: auto
}

:where(.thumb) :where(img).--default,:where(.thumb):where(img).--default,:where([class*=__thumb]) :where(img).--default,:where([class*=__thumb]):where(img).--default {
    width:auto;
    max-width: 100%;
}

:where(.thumb) :where(picture),:where(.thumb):where(picture),:where([class*=__thumb]) :where(picture),:where([class*=__thumb]):where(picture) {
    display: block
}

:where(.thumb) :where(picture) img,:where(.thumb):where(picture) img,:where([class*=__thumb]) :where(picture) img,:where([class*=__thumb]):where(picture) img {
    width: 100%;
    height: auto;
    max-width: none
}

:where(.thumb) :where(a) img,:where(.thumb):where(a) img,:where([class*=__thumb]) :where(a) img,:where([class*=__thumb]):where(a) img,:where(a) :where(.thumb) img,:where(a) :where([class*=__thumb]) img {
    -webkit-transition: .3s;
    transition: .3s
}

:where(.thumb):has(a),:where(.thumb):where(a),:where([class*=__thumb]):has(a),:where([class*=__thumb]):where(a) {
    overflow: hidden
}

:where(.thumb):has([class*=object-fit]) img,:where([class*=__thumb]):has([class*=object-fit]) img {
    width: 100%;
    height: 100%;
}

:where(.thumb) {
    background-color: var(--WHT);
}

.fs-h5 {
    font-size: clamp( 1.125rem, calc( 1.0625rem + 0.25vw ), 1.25rem );
}