/* 会社概要 */
.FV.-company {
    height: auto;
    background: url("/images/sp/FV/fv_company-bg-sp.webp") no-repeat center center / cover;
}

.FV.-company .FV__inner {
    height: 100%;
    background: none;
}

@media (min-width: 768px) {
    .FV.-company {
        height: 450px;
        background: url("/images/pc/FV/fv_company-bg.webp") no-repeat center center / cover;
    }

    .FV.-company .FV__img {
        width: 100%;
        left: 50%;
        transform: translateX(-50%);
    }
}

#company .branch__map {
    margin-top: 50px;
    text-align: center;
    max-width: 90%;
    margin-inline: auto;
}

#company .branch-map__img {
    height: auto;
    object-fit: contain;
}

/* 主要商品以外のナビゲーション */

/* ===== 基本設定 ===== */
:root {
    --z-nav: 50;
    --edge-shadow: rgba(21, 120, 193, 0.12);
    --fluid-basis-2: (100vw - 1440px) / (1800 - 1440);
}

.cdp-copy-alert-success {
    pointer-events: none;
}

/* ヘッダー */
.header.header--sub {
    background: #F5F5F5;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.header--sub .header-sub__inner {
    display: flex;
    align-items: center;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: 20px;
}

.header--sub .header-sub__logo {
    width: clamp(90px, 90px + 10 * var(--fluid-basis-2), 100px);
}

.header--sub .header-sub__logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
    aspect-ratio: 90/25;
}

.header--sub>.nav {
    margin-left: 0;
}

.header--sub .nav {
    position: relative;
}

/* ナビゲーション */
.header--sub .nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header--sub .nav__item {
    position: relative;
}

/* 各項目の幅調整 */
.header--sub .nav__item:nth-of-type(1) .nav__link {
    padding-inline: 22px;
}

.header--sub .nav__item:nth-of-type(2) .nav__link {
    padding-inline: 24px;
}

.header--sub .nav__item:nth-of-type(3) .nav__link {
    padding-inline: 19px;
}

.header--sub .nav__item:nth-of-type(4) .nav__link {
    padding-inline: 22px;
}

.header--sub .nav__item:nth-of-type(5) .nav__link {
    padding-inline: 22px;
}

.header--sub .nav__link {
    display: block;
    padding-block: clamp(13px, 13px + 2 * var(--fluid-basis-2), 15px);
    color: #666;
    font-family: "Noto Sans JP", Meiryo, sans-serif;
    font-size: clamp(12px, 12px + 1 * var(--fluid-basis-2), 13px);
    font-weight: 400;
    transition: color 0.1s ease, background 0.1s ease, font-weight 0.1s ease;
}

.header--sub .nav__link:hover {
    color: #fff;
    font-weight: 700;
    background: #1578C1;
}

/* サブメニュー */
.header--sub .nav__submenu,
.header--sub .nav__flyout {
    display: none;
}

.header--sub .nav__submenu {
    position: absolute;
    left: 0;
    top: 100%;
    width: fit-content;
    min-width: 100%;
    z-index: var(--z-nav);
}

.header--sub .nav__flyout {
    position: absolute;
    left: 100%;
    top: 0;
    z-index: calc(var(--z-nav) + 1);
    width: fit-content;
    min-width: 100%;
}

.header--sub .nav__submenu-item {
    position: relative;
}

.header--sub .nav__submenu-list,
.header--sub .nav__flyout-list {
    list-style: none;
    margin: 0;
    background: #B5D9F3;
    display: flex;
    flex-direction: column;
    gap: 1px;
    position: relative;
    overflow: visible;
}

/* 影効果 */
.header--sub .nav__submenu-list::before,
.header--sub .nav__submenu-list::after {
    content: "";
    position: absolute;
    pointer-events: none;
    filter: blur(8px);
}

.header--sub .nav__submenu-list::before {
    top: 0;
    bottom: 0;
    left: -10px;
    width: 16px;
    background: linear-gradient(to left,
            rgba(21, 120, 193, 0) 0%,
            var(--edge-shadow) 60%,
            rgba(21, 120, 193, 0) 100%);
}

.header--sub .nav__submenu-list::after {
    left: 0;
    right: 0;
    bottom: -10px;
    height: 16px;
    background: linear-gradient(to bottom,
            rgba(21, 120, 193, 0) 0%,
            var(--edge-shadow) 60%,
            rgba(21, 120, 193, 0) 100%);
}

.header--sub .nav__flyout-list::before,
.header--sub .nav__flyout-list::after {
    content: "";
    position: absolute;
    pointer-events: none;
    filter: blur(8px);
}

.header--sub .nav__flyout-list::before {
    top: 0;
    bottom: 0;
    right: -10px;
    width: 16px;
    background: linear-gradient(to right,
            rgba(21, 120, 193, 0) 0%,
            var(--edge-shadow) 60%,
            rgba(21, 120, 193, 0) 100%);
}

.header--sub .nav__flyout-list::after {
    left: 0;
    right: 0;
    bottom: -10px;
    height: 16px;
    background: linear-gradient(to bottom,
            rgba(21, 120, 193, 0) 0%,
            var(--edge-shadow) 60%,
            rgba(21, 120, 193, 0) 100%);
}

/* リンクスタイル */
.header--sub .nav__submenu-link,
.header--sub .nav__flyout-link {
    display: flex;
    align-items: center;
    padding: clamp(8.5px, 8.5px + 2 * var(--fluid-basis-2), 10.5px) 28px clamp(8.5px, 8.5px + 2 * var(--fluid-basis-2), 10.5px) 20px;
    color: #1578C1;
    font-family: "Noto Sans JP", Meiryo, sans-serif;
    font-size: clamp(12px, 12px + 1 * var(--fluid-basis-2), 13px);
    font-weight: 700;
    background: #F1F9FF;
    text-decoration: none;
    position: relative;
    transition: color 0.1s ease, background 0.1s ease;
    white-space: nowrap;
}

.header--sub .nav__submenu-link::before,
.header--sub .nav__flyout-link::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    display: inline-block;
    width: 7px;
    height: 8px;
    background: #1578c1;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    transition: background 0.1s ease;
}

.header--sub .nav__submenu-link:hover,
.header--sub .nav__flyout-link:hover {
    background: #1578C1;
    color: #fff;
    font-weight: 700;
}

.header--sub .nav__submenu-link:hover::before,
.header--sub .nav__flyout-link:hover::before {
    background: #fff;
}

.header--sub .nav__link[aria-expanded="true"],
.header--sub .nav__submenu-link[aria-expanded="true"] {
    background: #1578C1;
    color: #fff;
    font-weight: 700;
}

.header--sub .nav__link[aria-expanded="true"]::before,
.header--sub .nav__submenu-link[aria-expanded="true"]::before {
    background: #fff;
}

.header--sub .nav__flyout-link {
    white-space: nowrap;
}

/* ホバー制御 */
@media (hover:hover) {
    .header--sub .nav__item--has-children:hover>.nav__submenu {
        display: block;
    }

    .header--sub .nav__submenu-item--has-children:hover>.nav__flyout {
        display: block;
    }
}

.header--sub .nav__item.is-open>.nav__submenu {
    display: block;
}

.header--sub .nav__submenu-item.is-open>.nav__flyout {
    display: block;
}

/* 現在ページ表示 */
.header--sub .nav__current {
    padding-inline: 22px;
    margin-left: 115px;
    font-family: "Noto Sans JP", Meiryo, sans-serif;
    font-size: clamp(12px, 12px + 1 * var(--fluid-basis-2), 13px);
    font-weight: 700;
    color: #1578C1;
    white-space: nowrap;
    padding-block: clamp(13px, 13px + 2 * var(--fluid-basis-2), 15px);
}

.header--sub .nav__current:hover {
    color: #fff;
    font-weight: 700;
    background: #1578C1;
    transition: color 0.1s ease, background 0.1s ease, font-weight 0.1s ease;
}

.sub-header-spacer {
    height: clamp(44px, 44px + 5.5 * var(--fluid-basis-2), 49.5px);
}

/* 主要商品以外のフローティングボタン */

.follow.follow--product {
    background-image: none;
    width: fit-content;
    min-width: fit-content;
    height: fit-content;
    left: inherit;
    right: 15px;
    bottom: 15px;
}

.follow.follow--product .follow__btn {
    font-size: 20px;
    width: 280px;
}

/* 主要商品以外サイドバー追従調整 */
.postid-109851 #sidebar.floatNav #sidebar-inner.is_fix {
    position: fixed;
    top: 60px;
    width: 220px;
}

/* 施工事例；検索結果ページ */

#main article.projects-search__item {
    margin: 0;
}

#main article.projects-search__item:first-of-type .projects-search__title-link {
    border-top: solid 1px #9e9e9e;
}

.projects-search__title-link {
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    padding: 20px 50px 20px 10px;
    border-bottom: solid 1px #9e9e9e;
    display: block;
    position: relative;
    transition: color .3s ease;
}

.projects-search__title-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 12px;
    height: 12px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color .3s ease, right .3s ease;
}

.projects-search .pagination-wrap {
    margin-top: 30px;
}

@media (any-hover: hover) {
    .projects-search__title-link:hover {
        color: #0078c3;
    }

    .projects-search__title-link:hover::after {
        border-top: 2px solid #0078c3;
        border-right: 2px solid #0078c3;
        right: 15px;
    }
}

@media (max-width: 767px) {
    .projects-search .page-title {
        margin-bottom: 40px;
    }

    .projects-search__inner {
        padding-inline: 15px;
    }

    .projects-search__title-link {
        font-size: 14px;
        padding: 15px 30px 15px 0;
    }

    .projects-search__title-link::after {
        right: 10px;
        width: 8px;
        height: 8px;
        border-top: 1px solid #222;
        border-right: 1px solid #222;
    }

}

/* CM動画セクション */
.FV__video {
    padding-block: 30px 50px;
    background: linear-gradient(180deg, rgba(241, 249, 255, 0.00) 0%, #F1F9FF 100%);
}

.FV__video-container {
    margin-top: 20px;
    max-width: 900px;
    margin-inline: auto;
}

.FV__video-element {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.FV__video+.breadcrumb-wrap {
    margin: 0 auto;
    padding: 10px 0 0 0;
    margin-bottom: -14px;
    width: 1000px;
}

@media (max-width: 767px) {
    .FV__video.fv__video--gaswaterheater {
       margin-bottom: 40px;
    }
}