@charset "UTF-8";

/*///////////////////// font-face 読み込み例 ///////////////////////////*/
/*Noto Sans JP 400*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}
/*Noto Sans JP 500*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
/*Noto Sans JP 700*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}
/*ZenMaruGothic 400*/
@font-face {
    font-family: 'Zen Maru Gothic';
    src: url(/fonts/ZenMaruGothic-Regular.ttf);
    font-weight: 400;
    font-display: swap;
}
/*ZenMaruGothic 500*/
@font-face {
    font-family: 'Zen Maru Gothic';
    src: url(/fonts/ZenMaruGothic-Medium.ttf);
    font-weight: 500;
    font-display: swap;
}
/*ZenMaruGothic 700*/
@font-face {
    font-family: 'Zen Maru Gothic';
    src: url(/fonts/ZenMaruGothic-Bold.ttf);
    font-weight: 700;
    font-display: swap;
}
/*Roboto 500*/
@font-face {
    font-family: 'Roboto';
    src: url(/fonts/Roboto-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}
/*Roboto 700*/
@font-face {
    font-family: 'Roboto';
    src: url(/fonts/Roboto-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}


/*///////////////////// header ///////////////////////////*/
.l-header * {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 500;
}
.l-header {
    z-index: 5;
}
.l-contents {
    padding-top: 80px;
}
.header__logo {
    width: 245px;
}
.header__logo:hover {
    opacity: 1;
}
.header__logo img {
    max-width: 100%;
    max-height: 100%;
    width: 231px;
    height: 46px;
}
.header__inner {
    position: fixed;
    width: 100%;
    height: 80px;
    background: #fff;
}
.header_content {
    width: 1140px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: inherit;
    gap: 87px;
}
.header_nav--list {
    display: flex;
    gap: 32px;
}
.header_nav--item {
    position: relative;
}
.header_nav--item a:hover {
    opacity: .8;
}
.header_nav--item.header_nav--drop {
    margin-right: 15px;
    cursor: pointer;
}
.header_drop--content {
    display: none;
}
.header_drop--content {
    position: absolute;
    left: -55px;
    top: 53px;
}
.header_drop--item:not(:last-child) {
    margin-bottom: 1px;
}
.header_drop--item a {
    width: 196px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #fff;
    background-color: #0B2D61;
}
.header_nav--drop:before {
    content: "";
    position: absolute;
    background: url(/images/top/icon_arrow.webp) no-repeat center / contain;
    display: block;
    width: 9px;
    height: 5px;
    right: -16px;
    top: 12px;
}
.header_nav--item.header_nav--drop.js-nav-drop.open:before {
    transform: rotate(-180deg);
}

.contact-card {
    padding: 100px 0 0 !important;
}