@charset "utf-8";

/**************************** 
    utility
****************************/
.ls-normal{letter-spacing: normal;}
.block-shadow{
    -webkit-box-shadow: 0 0 12px 0 rgba(0, 0, 0, .25);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, .25);
}

/**************************** 
    カスタムリンク
****************************/
.block_link{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-end;
}
.block_link.--left,
.block_link.--right{justify-content: flex-end;}
@media screen and (min-width: 768px){
    .block_link.--left{justify-content: flex-start;}
}

/**************************** 
    メインビジュアル
****************************/
.top_mv{
  position: relative;
  overflow: hidden;
  height: 660px;
  background: url('/dcms_media/image/top_mv-bg-pc.webp') center / cover no-repeat;
  margin: 0 !important;
}
.top_mv__fv-txtarea{
    position: relative;
}
.top_mv__fv-outer{
    max-width: 1224px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.78%;
    gap: 30px;
    margin-top: 50px;
}
.top_mv__fv-txtarea{
    width: 562px;
}
.top_mv__fv-inside{padding: 0;}
.top_mv__card-inside{padding-bottom: 24px;}
.top_mv__title{
    font-size: clamp(40px, 3.45vw, 58px);
}
.top_mv__list{
    margin-top: 24px;
}
.top_mv__img{
    width: 632px;
}
.top_mv__img img{
    max-width: 100%;
    width: 100%;
    display: block;
}
@media print, screen and (max-width: 1230px){
    .top_mv{
        height: 600px;
    }
    .top_mv__fv-outer{
        padding-inline: 1rem;
        column-gap: 3%;
        align-items: flex-end;
    }
    /* content */
    .top_mv__fv-txtarea{width: 47%;}
    .top_mv__buttons{
        flex-direction: column;
    }
    .top_mv__caption{font-size: clamp(14px, 1.46vw, 18px);}
    .top_mv__title{font-size: clamp(28px, 4.23vw, 42px);}

    .top_mv__img{width: 50%;}
}
@media print, screen and (max-width: 950px){
    .top_mv__buttons .col{width: 100%;}
}
@media print, screen and (max-width: 610px){
    .top_mv{
        height: 740px;
        background: url('/dcms_media/image/top_mv-bg-sp.webp') center bottom / cover no-repeat;
    }
    .top_mv__fv-outer{
        flex-direction: column;
        align-items: center;
        row-gap: 20px;
    }
    .top_mv__fv-txtarea{width: 100%;}

    /* content */
    .top_mv__card-inside{
        padding-bottom: 20px !important;
        display: flex;
        flex-direction: column;
    }
    .top_mv__card-textarea{align-items: center;}
    .top_mv__list{
        margin-top: 20px;
        font-size: 0.8125rem;
    }
    .top_mv__title{
        font-size: clamp(28px, 6.88vw, 42px);
    }
    
    .top_mv__img{
        width: 100%;
        width: 327px;
    }
}

/**************************** 
    お問い合わせ
****************************/
.cta_contact{
    background: url('/dcms_media/image/cta_contact-bg.webp') no-repeat bottom center / cover;
}

/**************************** 
    ヘッダー
****************************/
.lib-header__outer.lib-header-BS02{
    -webkit-box-shadow: 0 0 12px 0 rgba(0, 0, 0, .16);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, .16);
}
.is-scroll .lib-header__outer.lib-header-BS02 .lib-induce__btn .txt{font-size:.875rem}

/**************************** 
    フッター
****************************/
.lib-footer__copyright{
    background-color: var(--MAIN);
}

@media print, screen and (min-width: 992px) {
    .lib-footer__outer.lib-footer-BS01 .lib-footer__utility{
        background-color: var(--MAIN);
    }
    .lib-footer__outer.lib-footer-BS01 .lib-footer__copyright{
        background-color: var(--MAIN);
    }
}

/**************************** 
    下層ページ用
****************************/
.lib-hero__outer{
    background: url('/dcms_media/image/child_page-header-bg.webp') no-repeat center / cover;
}
.lib-breadcrumb__outer{
    background: var(--MAIN);
    color: var(--WHT);
}
.lib-breadcrumb__list li a,
.lib-breadcrumb__list li a[aria-current=location]{
    color: var(--WHT);
}