@charset "utf-8";
@charset "utf-8";
/* ==================================
パンくず
===================================== */
#locator ol {
    padding: 0;
}

/* ==================================
改行
===================================== */
.br-pc {
    display: inline;
}
.br-sp {
    display: none;
}

/* ==================================
アンカーリンク
===================================== */
html {
scroll-behavior: smooth;
scroll-padding-top: 70px;
}
/* ==================================
グラデーション
===================================== */
.grad-color {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* ==================================
テキストシャドウ
===================================== */
.text-shadow {
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}

/* ==================================
aタグの遅延
===================================== */
a, .t-default a {
    margin: 0;
    padding: 0;
    text-decoration: none;
    transition: all .3s ease 0s;
}

/* ==================================
背景画像を設定したい時
===================================== */
.bg_image {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* ==================================
黒透過
===================================== */
.bg-black-shadow {
    position: relative;
}
.bg-black-shadow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

/* ==================================
白透過
===================================== */
.bg-white-shadow {
    position: relative;
}
.bg-white-shadow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
}

/* ==================================
table要素のborder-right
===================================== */
.main_table th {
    border-right: 1px solid #dee2e6;
}

/* ==================================
フローコンテンツの矢印の色（デフォルトはグレー）
===================================== */
.dlb_flow-5 .dlb_flow-item+.dlb_flow-item::before {
    border-color: #E2CB58 transparent transparent transparent !important;
}

/* ==================================
 横100% BGとテキストの背景画像の設定（コンテンツ31）
===================================== */
.dlb_contents_wrap-wide {
    background-size: cover;
}

/* ==================================
横並びコンテンツの崩れ修正（コンテンツ66/67）
===================================== */
.dlb_contents_overflow .dlb_contents_overflow-right:before, .dlb_contents_overflow .dlb_contents_overflow-left:before {
    top: 50% !important;
}
.dlb_contents_overflow .dlb_contents_overflow-right, .dlb_contents_overflow .dlb_contents_overflow-left {
    position: relative;
}


/* ==================================
アコーディオンの矢印の調整
===================================== */
.dlb_list_accordion .btn::before {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background-color: #fff;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
}
.dlb_list_accordion .btn.collapsed::after {
    margin-top: -6px !important;
    right: 11px !important;
}
.dlb_list_accordion .btn::after {
    margin-top: -3px  !important;
    right: 11px !important;
}

/* ==================================
アコーディオンの中のボタンの矢印を消す
===================================== */
.accordion-in-btn .btn::after, .accordion-in-btn .btn::before {
    display: none !important;
}
.accordion-in-btn .btn {
    padding-right: 0 !important;
}


/* ==================================
ブログの見た目調整
===================================== */
.dlb_blog_column-4 .dlb_blog-data p {
    max-height: none !important;
}


/* ==================================
お知らせの見た目調整
===================================== */
.dlb_news-list dl {
    border-top: 1px solid #F5F5F5;
    padding: 16px 0;
}
.dlb_news-list dl:last-child {
    border-bottom: 1px solid #F5F5F5;
    padding: 16px 0;
}


@media only screen and (max-width: 820px) {
/* ==================================
table-responsive
===================================== */
    .table-responsive table {
        min-width: 1000px;
    }
}
@media only screen and (max-width: 767.98px) {
/* ==================================
table-responsive
===================================== */
    .dlb_table_stack table th, .dlb_table_stack table td {
        width: 100% !important;
    }
}
@media only screen and (max-width: 690px) {
    /* ==================================
    table-responsive
    ===================================== */
    .table-responsive table {
        min-width: 800px;
    }
    /* ==================================
    改行
    ===================================== */
    .br-sp {
        display: inline;
    }
    .br-pc {
        display: none;
    }
    /* ==================================
    アンカーリンク
    ===================================== */
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 70px;
    }
    .btn.btn-anchor-link {
        padding-left: 0 !important;
    }
    /* ==================================
    パンくず
    ===================================== */
    #locator ol {
        padding: 0;
    }
    /* ==================================
    お知らせ
    ===================================== */
    .dlb_news .rss_date {
        padding-left: 0;
    }

    /* ==================================
    サイトマップ
    ===================================== */
    #sitemap {
        padding-left: 0 !important;
    }
}
/* ==================================
common
===================================== */
#locator, #dcms_layoutPageBlockPasteArea, footer, .dlb_contact_column {
    width: 80%;
    margin-left: auto;
}
.container {
    width: 92%;
}
.lato-font {
    font-family: "Lato", sans-serif !important;
}
.share_top-link .top-link {
    top: auto;
    bottom: 20px;
    right: 20px;
}

@media only screen and (min-width: 1500px) {
    #locator, #dcms_layoutPageBlockPasteArea, footer, .dlb_contact_column {
        width: 85%;
    }
}
@media only screen and (max-width: 991px) {
    #locator, #dcms_layoutPageBlockPasteArea, footer, .dlb_contact_column {
        width: 100%;
    }    
}
@media only screen and (max-width: 690px) {
    .share_top-link .top-link {
        bottom: 10px;
        right: 10px;
    }
}


/* ==================================
header
===================================== */
header nav.navbar {
    height: 100vh;
    width: 20%;
    display: block;
    padding-top: 60px;
}
header .bs_header-01.bs_header-01-drop+.bs_header-spacer {
    height: 0;
}
.bs_header-01.bs_header-01-drop .navbar-nav {
    width: 100%;
}
header .bs_header-01.bs_header-01-drop.navbar-light .navbar-nav a.nav-link {
    position: relative;
    padding-left: 30px;
    width: 100%;
}
.page_index header .bs_header-01.bs_header-01-drop.navbar-light .navbar-nav .nav-item:first-child .nav-link::after, header .bs_header-01.bs_header-01-drop.navbar-light .navbar-nav .nav-item.is-main_current a.nav-link::after, header .bs_header-01.bs_header-01-drop.navbar-light .navbar-nav .nav-item.dropdown:hover a.nav-link::after {
    position: absolute;
    content: "▶";
    font-size: 14px;
    color: #011278;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
header .bs_header-01.bs_header-01-drop.navbar-light .navbar-nav .nav-item.dropdown:hover a.nav-link::after {
    left: auto;
    right: 10px;
}
.recruit-btn a {
    position: relative;
    transition: all .3s ease 0s;
}
.recruit-btn a::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    background: url(/dcms_media/image/recruit-icon.png) 100% / contain no-repeat;
}
.recruit-btn:hover, .recruit-btn a:hover {
    background-color: #01A4CF !important;
    border-color: #01A4CF !important;
    color: #fff !important;
    transition: all .3s ease 0s;
}
.contact-btn a {
    position: relative;
    padding-left: 50px !important;
    transition: all .3s ease 0s;
}
.contact-btn a::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    background: #fff url(/dcms_media/image/mail-icon.png) center / 20px no-repeat;
    border-radius: 100px;
}
.contact-btn:hover {
    background-color: #707070 !important;
    border-color: #707070 !important;
    color: #fff !important;
    transition: all .3s ease 0s;
}
.contact-btn a:hover:before {
    background: #fff url(/dcms_media/image/mail-icon.png) center / 20px no-repeat;
}
.tel-btn a {
    position: relative;
    font-size: 20px;
    padding: 20px 24px;
    padding-left: 35px;
    display: block;
    text-decoration: none;
    transition: all .3s ease 0s;
}
.tel-btn a::before {
    position: absolute;
    content: "";
    width: 35px;
    height: 35px;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    background: url(/dcms_media/image/tel-icon.png) 100% / contain no-repeat;
}
.tel-btn a:hover {
    color: #01A4CF !important;
    transition: all .3s ease 0s;
}
.tel-btn a:hover:before {
    background: url(/dcms_media/image/tel-icon-on.png) 100% / contain no-repeat;
}
.h-logo {
    text-decoration: none;
}
.h-logo img {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
header .openbtn {
    display: none;
}
.dlb_contact_column .tel-btn a {
  font-size: 30px;
  padding-left: 45px;
}
@media only screen and (min-width: 1500px) {
    header nav.navbar {
        width: 15%;
    }
}
@media only screen and (min-width: 992px) {
    .dropdown:hover>.dropdown-menu {
        top: 0;
        left: 100%;
    }
}
@media only screen and (max-width: 1200px) {
  .recruit-btn a::before, .contact-btn a::before, .tel-btn a::before {
    left: 20px;
  }
}
@media only screen and (min-width: 992px) {
    header .navbar-expand-lg .navbar-collapse {
        display: block;
    }
    header .bs_header-01.bs_header-01-drop.navbar-light .navbar-nav a.nav-link {
        height: 60px;
    }
}
@media only screen and (max-width: 991px) {
    header nav.navbar {
        height: auto;
        width: 100%;
        padding: 0;
    }
    header .bs_header-01.bs_header-01-drop+.bs_header-spacer {
        height: 50px;
    }
    .h-logo p {
        font-size: 70%;
    }
    .h-logo img {
        height: 30px;
        width: auto;
    }
    /* ==================================
    header
    ===================================== */
    header .openbtn {
        display: block;
        position: relative;
        cursor: pointer;
        width: 50px;
        height: 50px;
        background-color: #011278;
    }
    header .openbtn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 13px;
        height: 2px;
        background: #fff;
        width: 50%;
    }
    header .openbtn span:nth-of-type(1) {
        top: 17px;
    }
    header .openbtn span:nth-of-type(2) {
        top: 25px;
    }
    header .openbtn span:nth-of-type(3) {
        top: 33px;
    }
    header .openbtn.active span:nth-of-type(1) {
        transform: translateY(7px) rotate(-45deg);
    }
    header .openbtn.active span:nth-of-type(2) {
        display: none;
    }
    header .openbtn.active span:nth-of-type(3) {
        transform: translateY(-9px) rotate(45deg);
    }
    .bs_header-01 .nav-item {
        border-bottom: 1px solid #ccc;
    }
    .bs_header-01.navbar-light .navbar-nav a.nav-link {
        position: relative;
        padding-left: 20px;
        padding-right: 20px;
    }
    .bs_header-01.navbar-light .navbar-nav a.nav-link::before {
        content: "";
        position: relative;
        top: 50%;
        margin-top: -4px;
        display: inline-block;
        width: 8px;
        height: 8px;
        min-width: 8px;
        margin-right: 0.5rem;
        border-top: 2px solid #011278;
        border-right: 2px solid #011278;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        margin-right: -0.5rem;
        position: absolute;
        right: 24px;
    }
    .bs_header-01.navbar-light .navbar-nav .dropdown a.nav-link::before{
        display: none;
    }
    .mm_btn {
        position: absolute;
        width: 40px;
        height: 40px;
        top: 0;
        right: 0;
        -webkit-transition: all .3s ease 0s;
        -o-transition: all .3s ease 0s;
        transition: all .3s ease 0s;
      }
      .mm_btn.active::after {
        -webkit-transform: translate(-50%, -50%) rotate(-45deg);
        transform: translate(-50%, -50%) rotate(-45deg);
        -webkit-transition: all .3s ease 0s;
        -o-transition: all .3s ease 0s;
        transition: all .3s ease 0s;
      }
      .mm_btn::after {
        content: "";
        position: relative;
        top: 50%;
        left: 50%;
        width: 8px;
        height: 8px;
        border-top: 2px solid #011278;
        border-right: 2px solid #011278;
        -webkit-transform: translate(-50%, -50%) rotate(135deg);
        transform: translate(-50%, -50%) rotate(135deg);
        position: absolute;
        -webkit-transition: all .3s ease 0s;
        -o-transition: all .3s ease 0s;
        transition: all .3s ease 0s;
       }
       .navbar-nav .dropdown-menu.shadow {
        box-shadow: none !important;
        border: none !important;
       }
       .navbar-nav .dropdown-menu a {
        padding: .5rem 1rem !important;
    }
    .dropdown-menu .btn+.btn {
        border-top-color: #ccc;
    }
    .bs_header-01 .nav-item {
        max-width: 100%;
    }
    .dlb_contact_column .tel-btn a {
      font-size: 25px;
      padding: 10px;
      padding-left: 40px;
    }
    .dlb_contact_column .tel-btn a::before {
      left: 0;
    }
}
@media only screen and (max-width: 767px) { 
  .dlb_contact_column h2 .lato-font {
    font-size: 30px;
  }
}