@charset "UTF-8";

/***************************** 
  root
*****************************/
:root{
    --ff-en: "Raleway", sans-serif;
    --box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.16);
}

/***************************** 
  utility
*****************************/
.ls-normal{letter-spacing: normal;}
.box-shadow{box-shadow: var(--box-shadow);}
.ff-en{font-family:var(--ff-en)}

/***************************** 
  Header
*****************************/
/***** logo & navigation *****/
.lib-header__outer.lib-header-BS02 .lib-header__logo{margin-left: 0;}
@media print, screen and (min-width: 1100px){
    .is-scroll .lib-header__outer.lib-header-BS02 .lib-induce__btn{
        font-size: 0.875rem;
    }
}


/***** header drop shadow *****/
.lib-header__bar{
    box-shadow: var(--box-shadow);
}
@media print, screen and (min-width: 1100px){
    .lib-header__bar{box-shadow: unset;}
    .lib-header__outer.lib-header-BS02{
        box-shadow: var(--box-shadow);
    }
}

/***************************** 
  Footer
*****************************/
/***** sns links *****/
.lib-footer__sns>li>a{
  background-color: var(--MAIN);
  border: 2px solid var(--MAIN);
}
.lib-footer__sns>li>a:hover{
  color: var(--MAIN);
}


/***** copyright *****/
.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);
    }
}

/***************************** 
  TOPページ
*****************************/

/***** メインビジュアル *****/
.top_mv{
    position: relative;
    overflow: hidden;
    height: clamp(480px, 35.71vw, 600px);
    background: url('/dcms_media/image/top_mv-bg.webp') no-repeat center / cover;
}
/* layout */
.top_mv__container{
    max-width: 1314px;
    width: 100%;
    padding: 2em 0.75em;
    height: 100%;
}
.top_mv__fv-outer{
    display: grid;
    grid-template-columns: 44.65% 50.69%;
    align-items: center;
    justify-items: center;
    gap: clamp(2%, 3.57vw, 4.65%);
}
.top_mv__fv-txtarea{
    position: relative;
}
.top_mv__fv-inside{
    max-width: 100%;
    padding: 0;
    padding-top: 5.20%;
}
/* content */
.top_mv__card-title{
    font-size: clamp(2.5rem, 2.85vw, 3rem);
    line-height: 1.35;
}
/* img */
.top_mv__img{
    width: clamp(375px, 38.92vw, 654px);
    align-self: end;
}
@media print, screen and (max-width: 1099px){
   .top_mv{
        height: 505px;
    }
    /* content */
    .top_mv__card-title{
        font-size: clamp(1.875rem, 3.457vw, 2.375rem);
    }
}
@media print, screen and (max-width: 768px){
    .top_mv{
        height: clamp(480px, 67.05vw, 515px);
    }
    /* layout */
    .top_mv__container{
        max-width: 100%;
        padding: 2em 1.5em 1em;
    }
    .top_mv__fv-outer{
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, auto);
        gap: 0;
    }
    .top_mv__fv-inside{padding-top: 0;}
    .top_mv__fv-txtarea{grid-row: 1;}
    /* content */
    .top_mv__card-title{
        font-size: clamp(1.75rem, 5.20vw, 2.5rem);
    }
    /* img */
    .top_mv__img{
        width: clamp(250px, 39.06vw, 300px);
        grid-row: span 2;
        align-self: end;
        justify-self: end;
        transform: translateY(-50%);
    }
}
@media print, screen and (max-width: 630px){
    .top_mv{
        height: 700px;
        background: url('/dcms_media/image/top_mv-bg.webp') no-repeat bottom -250px right / cover
    }
    .top_mv__fv-outer{gap:20px}
    .top_mv__fv-txtarea{text-align: center;}
    .top_mv__btns{margin: 0 auto;}
    .top_mv__img{
        max-width: 350px;
        width: 100%;
        grid-row: 2;
        align-self: center;
        justify-self: center;
        transform: none;
    }
}


/***** Service *****/
.section_service{
    background: url('/dcms_media/image/top_service-bg.webp') no-repeat center / cover;
}


/***** Topics *****/
.section_topics{
    background: url('/dcms_media/image/top_topics-bg.webp') no-repeat center / cover;
}


/***** Quality & News 背景 *****/
.section_quality,
.section_news{
    position: relative;
    z-index: 1;
    overflow: visible;
}

.section_quality::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: calc(100% + 500px);
    background: url('/dcms_media/image/top_quality-bg.webp') no-repeat bottom right / cover;
    z-index: -1;
    pointer-events: none;
}

@media print, screen and (min-width: 1100px){
    .section_quality::after{
        background: url('/dcms_media/image/top_quality-bg.webp') no-repeat top right / cover;
    }
}

.dcms_editor .section_quality::after { 
    content: none;
}

/***** コラム *****/
.swiper-pagination-bullet{
    border: var(--MAIN) 1px solid;
}


/***************************** 
    お問い合わせ CTA
*****************************/
.cta_contact{
    background: url('/dcms_media/image/cta_contact-bg.webp') no-repeat center / cover;
}

/***************************** 
    下層
*****************************/

/***** ヘッダータイトル背景 *****/
.lib-hero__outer{
    background: url('/dcms_media/image/child_page-header-bg.webp') no-repeat top right / cover;
}
.lib-hero__title{color: var(--bs-white);}
.lib-breadcrumb__outer{
    background: var(--LGRY);
    color: var(--DEF);
}
.lib-breadcrumb__list li a,
.lib-breadcrumb__list li a[aria-current=location]{
    color: var(--DEF);
}

@media print, screen and (max-width: 600px){
    .lib-hero__outer{
        background: url('/dcms_media/image/child_page-header-bg.webp') no-repeat top right 20% / cover;
    }
}


@media print, screen and (max-width: 991.8px) {
    .lib-scroll__inside {
        width: 1000px;
    }
}

.none_box {
    display: none;
}
#tinymce .none_box {
    display: block !important;
}
.lib-footer__sns > li.idf-logo {

}
.lib-footer__sns > li.idf-logo > a {
    background: none !important;
    border:none !important;
    width: auto;
    height: 31px;
}

@media print, screen and (min-width: 576px) and (max-width: 767.8px) {
    .lib-footer__outer.lib-footer-BS01 .lib-footer__sns {
        bottom: -20px;
    }
}
