:root {
    --vw: calc(100vw / 375);
    --vw-top: calc(100vw / 400);
}
#g-nav {
    .header_each_text_anime {
        color: var(--off-white);
        letter-spacing: 0.04em;
        width: 64px;
        left: 1px;
        top: -20px;
    }
    .header_offering_icon {
        scale: 1.3;
        img {
            width: 56px;
            aspect-ratio: 1;
            height: auto;
        }
    }
}
/* ============================================================
   CROSS LINK（新築↔リノベーション 切り替えボタン）
   ============================================================ */
.c-cross-link {
    position: fixed;
    left: 0;
    top: 50%;
    transform: rotate(90deg) translate(-50%, -100%);
    transform-origin: left top;
    z-index: 1000;
    display: inline-block;
    text-align: center;
    padding: .6em 1.4em;
    background: rgba(132, 112, 102, .95);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    font-family: "Zen Kaku Gothic New", sans-serif;
    width: 17rem;
    letter-spacing: .025em;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 1rem 1rem 0 0;
    box-shadow: 3px 0 6px rgba(0, 0, 0, 0.16);
    transition: .3s;
}
.c-cross-link:hover {
    opacity: .9;
}
@media screen and (max-width: 699.98px) {
    .c-cross-link {
        display: none;
    }
}

/* トップページ 画面下部固定メニュー
-------------------------------------------------------- */
.l-header__contact-renovation {
    display: none;
}
@media screen and (max-width: 699.98px) {
    .p-front-fixed-button a {
        right: 12px !important;
        bottom: 47px!important;
        z-index: 3!important;
        box-shadow: none!important;
    }
    html:has(.hamburger_nav.is_active) {
      .p-front-fixed-button a {
        opacity: 0;
      }
    }
    .l-header {
        .l-header__contact {
            justify-content: flex-start;
            padding: 0;
            padding-right: calc(var(--vw-top) * 10);
            p a,
            ul li a {
                position: relative;
                font-size: calc(var(--vw-top) * 17);
                padding: 0 calc(var(--vw-top) * 10);
                line-height: calc(var(--vw) * 27);
                &::before {
                    content: "";
                    position: absolute;
                    inset: -1em 0;
                }
            }
        }
        .l-header__contact-contact-button {
            display: none;
        }
        .l-header__contact-renovation {
            display: block;
            flex: 1;
            margin-right: calc(var(--vw-top) * 10);
            a {
                display: block;
                font-size: calc(var(--vw-top) * 16);
                letter-spacing: .025em;
                font-family: "Zen Kaku Gothic New", sans-serif;
                line-height: 1.25;
                text-align: center;
                background: #847066;
                color: #fff;
                padding-block: calc(var(--vw-top) * 10);
                &::after {
                    position: relative;
                    top: -1px;
                    content: "";
                    display: inline-block;
                    vertical-align: middle;
                    width: calc(var(--vw-top) * 15);
                    height: auto;
                    aspect-ratio: 1;
                    background-image: url('data:image/svg+xml;utf8,%3Csvg%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%20%3Cpath%20d%3D%22M6.49976%2013.7065L12.9995%207.20682L6.49976%200.707092%22%20stroke%3D%22%23EBEBEB%22%20stroke-width%3D%222%22%2F%3E%20%3Cpath%20d%3D%22M0.489746%207.16956L12.8577%207.16956%22%20stroke%3D%22%23EBEBEB%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fsvg%3E');
                    background-repeat: no-repeat;
                    background-size: calc(var(--vw-top) * 15);
                }
            }
        }
    }
}

.nav_contents_inner {
  overflow-x: hidden;
}

.accordion_icon{
  position: absolute;
  top: -3px;
  right: 4px;
  width: 21px;
  height: 28px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  img {
    width: 100%;
    height: auto;
  }
}

.nav-item:nth-of-type(6) .accordion_plus{
  width: 100%;
  object-fit: cover;
  /* font-size: 21px; */
  display: inline-block;
  line-height: 0;
}

.accordion_icon .arrow-svg{
  display: none;
  transform: rotate(135deg);
}

.accordion_icon.active .arrow-svg{
  display: block;
}

.accordion_icon.active .accordion_plus{
  display: none;
}

.nav-item:nth-of-type(6) .nav_ham_title{
  display: inline-block;
}
