@charset "utf-8";

body,p,td,li, h5,h6 {
    font-family: "Noto Sans JP", "Roboto", sans-serif;
    font-optical-sizing: auto;
	font-weight: 600;
    font-style: normal;
	font-size:1rem;
	line-height:1.8em;
}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5,.h6 {
	font-family: "Noto Sans JP", "Roboto", sans-serif;
    font-optical-sizing: auto;
	font-weight: 600;
    font-style: normal;
	line-height:1.5em;
}

.font-g {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
	font-weight: 600;
    font-style: normal;
}
.font-m {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
}
.roboto {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}
.bold {
	font-weight:900;
}
.text-blue {
    color: #6699FF;
}

.container {
	max-width: 1164px;
}
@media (max-width: 1199.98px) {
    #main .container,
    #globalFooter .container {
        padding-right: calc(var(--bs-gutter-x) * 1.5);
        padding-left: calc(var(--bs-gutter-x) * 1.5);
    }
}


/* 文字サイズ
==================================================== */
h1 { font-size:1.5rem; }

@media (min-width: 576px) {
	h1 { font-size:1.8rem;letter-spacing:2px; }
}
@media (min-width: 768px) {
	h1 { font-size:1.8rem; }
}
@media (min-width: 1200px) {
	h1 { font-size:2rem;letter-spacing:2px; }
}
@media (min-width: 1400px) {
	h1 { font-size:2.2rem;letter-spacing:2px; }
}

@media (min-width: 768px) and (max-width: 1050.98px) {
	.top_square .top_text { font-size:0.8rem; }
}
@media (max-width: 767.98px) {
	.top_text { font-size:1rem; }
}

.fs-18px {
    font-size: clamp(1rem, 0.939rem + 0.26vw, 1.125rem);
}
.fs-22px {
    font-size: clamp(1.125rem, 1.002rem + 0.52vw, 1.375rem);
}


/* マージン、パディング
==================================================== */
.mt-40, .my-40 { margin-top:40px; }
.mb-40, .my-40 { margin-bottom:40px; }
.ms-40, .mx-40 { margin-left: 40px; }
.me-40, .mx-40 { margin-right: 40px; }
.pt-40, .py-40 { padding-top:40px; }
.pb-40, .py-40 { padding-bottom:40px; }
.ps-40, .px-40 { padding-left:min(calc(40 / 1140 * 100vw), 40px); }
.pe-40, .px-40 { padding-right:min(calc(40 / 1140 * 100vw), 40px); }
.mt-80, .my-80 { margin-top:80px; }
.mb-80, .my-80 { margin-bottom:80px; }
.ms-80, .mx-80 { margin-left: 80px; }
.me-80, .mx-80 { margin-right: 80px; }
.pt-80, .py-80 { padding-top:80px; }
.pb-80, .py-80 { padding-bottom:80px; }
.ps-80, .px-80 { padding-left:min(calc(80 / 1140 * 100vw), 80px); }
.pe-80, .px-80 { padding-right:min(calc(80 / 1140 * 100vw), 80px); }
.mt-110, .my-110 { margin-top:110px; }
.mb-110, .my-110 { margin-bottom:110px; }
.pt-110, .py-110 { padding-top:110px; }
.pb-110, .py-110 { padding-bottom:110px; }
.ps-110, .px-110 { padding-left: 110px; }
.pe-110, .px-110 { padding-right: 110px; }

@media (max-width: 767.98px) {
	.mt-40, .my-40, .mt-80, .my-80 { margin-top:30px; }
	.mb-40, .my-40, .mb-80, .my-80 { margin-bottom:30px; }
	.mt-110, .my-110 { margin-top:60px; }
	.mb-110, .my-110 { margin-bottom:60px; }
    .ms-40, .mx-40, .ms-80, .mx-80 { margin-left: 30px; }
    .me-40, .mx-40, .me-80, .mx-80 { margin-right: 30px; }
	.pt-40, .py-40, .pt-80, .py-80 { padding-top:30px; }
	.pb-40, .py-40, .pb-80, .py-80 { padding-bottom:30px; }
	.ps-40, .px-40, .ps-80 { padding-left:30px; }
	.pe-40, .px-40, .pe-80 { padding-right:30px; }
	.pt-110, .py-110 { padding-top:60px; }
	.pb-110, .py-110 { padding-bottom:60px; }
	.ps-110, .px-110 { padding-left:40px; }
	.pe-110, .px-110 { padding-right:40px; }
}

.lh-1 { line-height: 1em; }
.lh-2 { line-height: 2em; }
.lh-3 { line-height: 3em; }




/* リンク
==================================================== */
a {
	color: #153373;
}
@media (min-width: 992px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}


/* Header
==================================================== */
:root {
    --header-height:45px;
}
@media (min-width: 768px) {
    :root {
        --header-height:70px;
    }
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: var(--header-height);
}
body {
    padding-top: var(--header-height);
    color: #153373;
}
#globalHeader {
	color: #FFF !important;
    height: var(--header-height);
}
.navbar .container-fluid {
    height: var(--header-height);
}
.navbar-brand {
    color: #224592 !important;
    max-width: 235px;
    width: calc(470 / 750 * 100vw);
}
.navbar-brand__logo--cretra {
    max-width: 146px;
    width: calc(292 / 470 * 100vw);
}
.navbar-brand__logo--schatz {
    max-width: 19px;
    width: calc(38 / 470 * 100vw);
}
.navbar-mail a {
    line-height: 1;
}
.icon-mail{
    display: inline-block;
	width:26px;
	height:26px;

	-webkit-mask-image: url(../img/common/icon_mail.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;

	mask-image: url(../img/common/icon_mail.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;

	/*変更したい色をここに書く*/
	background-color: #153373;
}
.navbar-toggler-icon {
    height: var(--header-height);
}
@media (min-width: 768px) {
    .navbar-brand {
        max-width: 400px;
        width: calc(360 / 1140 * 100%);
    }
    .navbar-brand__logo--cretra {
        max-width: 292px;
        width: calc(292 / 470 * 100%);
    }
    .navbar-brand__logo--schatz {
        max-width: 38px;
        width: calc(38 / 470 * 100%);
    }
    .navbar-mail a {
        line-height: 1.6;
    }
    .icon-mail {
        width:32px;
        height:24px;
    }
}
@media (max-width: 575.98px) {
    #offcanvasNavbar {
        width: 60vw;
    }
}



/* Footer
==================================================== */
#globalFooter {}


/* トップへ戻る
==================================================== */
a.page-top {
	position:fixed;
	bottom:60px;
	right:10px;
	opacity:0.5;
	color:#0064f2;
	display:block;
}
a.page-top:hover {
	opacity:0.7;
}



/* TOP page
==================================================== */
#firstview {
    background-color: #e6f1fa;
}
#firstview__logo {
    padding-top: calc(99 / 750 * 100svw);
    padding-right: calc(25 / 750 * 100svw);
}
#firstview__logo--schatz {
    width: calc(156 / 750 * 100svw);
    margin-bottom: calc(25 / 750 * 100svw);
}
#firstview__logo--adblue {
    width: calc(356 / 750 * 100svw);
}
@media (min-width: 768px) {
    #firstview__logo {
        padding-top: calc(139 / 1140 * 100%);
        padding-right: calc(170 / 1140 * 100%);
    }
    #firstview__logo--schatz {
        width: calc(185 / 1140 * 100%);
        max-width: 185px;
        margin-bottom: min(calc(26 / 1140 * 100%), 26px);
    }
    #firstview__logo--adblue {
        width: calc(356 / 1140 * 100%);
    }
}

/* 波 */
#firstview__wave {}
#firstview__wave .parallax > use {
    animation: move-forever 12s linear infinite;
}
#firstview__wave .parallax > use:nth-child(1) {
    animation-delay: -2s;
}
#firstview__wave .parallax > use:nth-child(2) {
    animation-delay: -2s;
    animation-duration: 5s;
}
@keyframes move-forever {
    0% {
        transform: translate(-90px, 0%);
    }
    100% {
        transform: translate(85px, 0%);
    }
}
#firstview__wave .editorial {
    display: block;
    width: 100%;
    height: calc(100 / 750 * 100svw);
    margin: 0;
}
@media (min-width: 768px) {
    #firstview__wave .editorial {
        height: calc(120 / 1140 * 100vw);
        max-height: 120px;
    }
}

.sectionTitle {
    text-align: center;
}
.sectionTitle__span--en {
    display: block;
    font-size: clamp(0.875rem, 0.569rem + 1.31vw, 1.5rem);
}
.sectionTitle__span--ja {
    display: block;
    font-size: clamp(1.5rem, 1.01rem + 2.09vw, 2.5rem);
}
.h3::before {
    content: '―';
    margin-right: 0.3em;
}

.btn-outline-primary {
    --bs-btn-color:#153373;
    --bs-btn-hover-bg:#153373;
    --bs-btn-border-color:#153373;
    --bs-btn-hover-border-color:#153373;
    --bs-btn-active-bg:#1c669a;
    --bs-btn-active-border-color:#1c669a;
}
.btn-lg {
    --bs-btn-font-size:1.125rem;
    --bs-btn-padding-y:0.7rem;
}

/* 製品 */
.btn-collapse {
    transition: all .5s ease;
}
.btn-collapse[aria-expanded="true"] {
    transform: rotate(-45deg);
}

/* 拠点マップ */
.top-map {
    position: relative;
}
.top-map .map-drip {
    position: absolute;
    width: 2.1%;
    opacity: 0;
}
.top-map .map-drip.is-show {
    animation: map-drip .5s ease-out 1s forwards;
}
@keyframes map-drip {
    0% {
        opacity: 0;
        margin-top: -3%;
    }
    100% {
        opacity: 1;
        margin-top: 0px;
    }
}

/* Q&A */
@media (max-width: 575.98px) {
    #accFaq {
        margin-right: calc(var(--bs-gutter-x) * -1.5);
        margin-left: calc(var(--bs-gutter-x) * -1.5);
    }
}




/* 下層ページ
==================================================== */
#pageHeader {
}
.pageTitle {
}
.pageTitle span {
}
.pageTitle__en {
}
.pageTitle__ja {
}




/* slick.js
==================================================== */
.slick-track {
    display: flex;
}
.slick-arrow {
    border: none;
    background-color: transparent;
    background: url("../img/common/next.svg") no-repeat center center/contain;
    display: block;
    text-indent: -9999px;
    overflow: hidden;
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    z-index: 100;
}
.slick-prev {
    background-image: url("../img/common/prev.svg");
    right: inherit;
    left: 10px;
}
@media (min-width: 768px) {
    .slick-arrow {
        width: 46px;
        height: 46px;
    }
}


/* inview
==================================================== */
.fadeIn {
    opacity: 0;
}
.fadeIn.is-show {
    animation-name:fadeInAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    animation-timing-function:ease;
    animation-delay: .5s;
}
@keyframes fadeInAnime{
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.fadeUp {
    opacity: 0;
}
.fadeUp.is-show {
    animation-name:fadeUpAnime;
    animation-duration:1.5s;
    animation-fill-mode:forwards;
    animation-timing-function:ease-out;
    animation-delay: .5s;
}
@keyframes fadeUpAnime{
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Q&A
==================================================== */
.accordion {
    --bs-accordion-color:#153373;
    --bs-accordion-btn-bg:transparent;
    --bs-accordion-bg:transparent;
    --bs-accordion-border-color:#153373;
    --bs-accordion-btn-color:#153373;
    --bs-accordion-btn-icon-width:2rem;
    --bs-accordion-active-bg:transparent;
    --bs-accordion-btn-padding-y:1.5rem;
}
.accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iIzE1MzM3MyIgY2xhc3M9ImJpIGJpLXBsdXMtbGciIHZpZXdCb3g9IjAgMCAxNiAxNiI+DQogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTggMmEuNS41IDAgMCAxIC41LjV2NWg1YS41LjUgMCAwIDEgMCAxaC01djVhLjUuNSAwIDAgMS0xIDB2LTVoLTVhLjUuNSAwIDAgMSAwLTFoNXYtNUEuNS41IDAgMCAxIDggMiIvPg0KPC9zdmc+");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iIzE1MzM3MyIgY2xhc3M9ImJpIGJpLWRhc2gtbGciIHZpZXdCb3g9IjAgMCAxNiAxNiI+DQogIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTIgOGEuNS41IDAgMCAxIC41LS41aDExYS41LjUgMCAwIDEgMCAxaC0xMUEuNS41IDAgMCAxIDIgOCIvPg0KPC9zdmc+");
}
.accordion-button:focus {
    box-shadow: none;
}
.accordion-button:not(.collapsed) {
    box-shadow: none;
}


/* メディアクエリ
==================================================== */
/*
// X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
*/
@media (min-width: 576px) {}

/*// Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) {}

/*// Large devices (desktops, 992px and up)*/
@media (min-width: 992px) {}

/*// X-Large devices (large desktops, 1200px and up)*/
@media (min-width: 1200px) {}

/*// XX-Large devices (larger desktops, 1400px and up)*/
@media (min-width: 1400px) {}


/*// X-Small devices (portrait phones, less than 576px)*/
@media (max-width: 575.98px) {}

/*// Small devices (landscape phones, less than 768px)*/
@media (max-width: 767.98px) {}

/*// Medium devices (tablets, less than 992px)*/
@media (max-width: 991.98px) {}

/*// Large devices (desktops, less than 1200px)*/
@media (max-width: 1199.98px) {}

/*// X-Large devices (large desktops, less than 1400px)*/
@media (max-width: 1399.98px) {}
