/* --------------------------------------------------------------------------
  HEADER
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .l-header {
    background-color: var(--color-white);
    width: 100%;
    position: sticky;
    z-index: 5000;
    top: 0;
    left: 0;
    box-shadow: 0 calc(1 / var(--font-size) * 1rem) 0 var(--color-gray_300);
  }
  .l-header__inner {
    padding: calc(12 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem);
    position: relative;
  }

  /* -----------------------------
    HEADERーロゴ
  ----------------------------- */
  .header__logo {
    width: calc(112 / var(--font-size) * 1rem);
    height: calc(116 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: calc(26 / var(--font-size) * 1rem);
    left: calc(62 / var(--font-size) * 1rem);
  }
  .header__logo__object svg {
    width: calc(112 / var(--font-size) * 1rem);
    height: calc(116 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  .header__logo__object.--mado svg,
  .header__logo__object.--mado img {
    width: calc(112 / var(--font-size) * 1rem);
    height: calc(116 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  .header__logo__object.--kyuto svg,
  .header__logo__object.--kyuto img {
    width: calc(82 / var(--font-size) * 1rem);
    height: calc(118 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  .header__logo__object.--chintai svg,
  .header__logo__object.--chintai img {
    width: calc(120 / var(--font-size) * 1rem);
    height: calc(118 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  /* -----------------------------
    HEADERーコメント
  ----------------------------- */
  .header__comment {
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    margin-left: calc(220 / var(--font-size) * 1rem);
    margin-right: auto;
  }
  /* -----------------------------
    HEADERーサイトグローバルナビ
  ----------------------------- */
  .header__global-navi {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
  }
  .header__global-navi__item {
    margin-right: calc(20 / var(--font-size) * 1rem);
  }
  .header__global-navi__item a {
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
    top: calc(-5 / var(--font-size) * 1rem);
    padding-bottom: calc(5 / var(--font-size) * 1rem);
    position: relative;
    transition: 0.3s ease;
  }

  .header__global-navi__item.is-current {
    position: relative;
    top: calc(18 / var(--font-size) * 1rem);
  }

  .header__global-navi__item.is-current a {
    background-image: url(/assets/img/common/bg_global_menu_current.svg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    color: #fff;
    display: block;
    padding: calc(12 / var(--font-size) * 1rem)
      calc(30 / var(--font-size) * 1rem) calc(17 / var(--font-size) * 1rem)
      calc(30 / var(--font-size) * 1rem);
    pointer-events: none;
  }
  .header__global-navi__item.is-current a:before,
  .header__global-navi__item:not(.is-current) a:hover:before {
    width: 100%;
  }

  .header__global-navi__item.--portal a:hover {
    color: var(--main-color-jigyo01);
  }
  .header__global-navi__item.--portal a:before {
  }
  .header__global-navi__item.--eco a:hover {
  }
  .header__global-navi__item.--eco a:before {
  }
  .header__global-navi__item.--mado a:hover {
    color: var(--main-color-jigyo03);
  }
  .header__global-navi__item.--mado a:before {
  }
  .header__global-navi__item.--kyuto a:hover {
    color: var(--main-color-jigyo04);
  }
  .header__global-navi__item.--kyuto a:before {
  }
  .header__global-navi__item.--jaws a:hover {
    color: var(--main-color-jigyo05);
  }
  .header__global-navi__item.--jaws a:before {
  }

  /* -----------------------------
    HEADERーお問い合わせ
  ----------------------------- */
  .header__contact-button {
    height: 100%;
  }
  .header__contact-button__link {
    background-color: var(--color-sub);
    font-size: calc(12 / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--color-white);
    width: calc(128 / var(--font-size) * 1rem);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: 0.3s ease;
  }
  .header__contact-button__link:hover {
    opacity: 0.7;
  }
  .header__contact-button__icon {
    width: calc(13 / var(--font-size) * 1rem);
    height: calc(17 / var(--font-size) * 1rem);
    margin-bottom: calc(5 / var(--font-size) * 1rem);
  }
  .header__contact-button__icon svg {
    width: calc(13 / var(--font-size) * 1rem);
    height: calc(17 / var(--font-size) * 1rem);
    fill: var(--color-white);
  }
  /* -----------------------------
    HEADERーサイトローカルナビ
  ----------------------------- */
  .header__local-navi {
    background-color: var(--bg-main-color);
    padding: 0 calc(12 / var(--font-size) * 1rem) 0
      calc(40 / var(--font-size) * 1rem);
    border-radius: calc(15 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    margin-left: calc(220 / var(--font-size) * 1rem);
  }
  .header__local-navi__item {
    margin-left: calc(40 / var(--font-size) * 1rem);
    height: calc(32 / var(--font-size) * 1rem);
    position: relative;
  }
  .header__local-navi__item:before {
    content: "";
    background-color: var(--main-border-color);
    display: block;
    width: calc(1 / var(--font-size) * 1rem);
    height: calc(32 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    left: 0;
    display: none;
  }
  .header__local-navi__item__link {
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    transition: 0.3s ease;
  }
  .header__local-navi__item__link:before {
    content: "";
    background-color: var(--color-white);
    display: block;
    width: 0;
    height: calc(3 / var(--font-size) * 1rem);
    position: absolute;
    left: calc(3 / var(--font-size) * 1rem);
    bottom: 0;
    transition: 0.3s ease;
  }
  .header__local-navi__item:hover {
    color: var(--main-color);
  }
  .header__local-navi__item__link:hover:before {
    width: 100%;
  }
  .header__local-navi__item:first-child {
    padding-left: 0;
    margin-left: 0;
  }
  .header__local-navi__item:first-child:before {
    content: none;
  }
  .header__local-navi__item__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__local-navi__item__icon:before {
  }
  .header__local-navi__item__icon svg {
    fill: url(#main-grade) var(--main-color);
    width: 18px;
    height: 18px;
  }

  .header__local-navi__item.--top .header__local-navi__item__icon svg {
    width: 17px;
    height: 19px;
  }
  .header__local-navi__item.--campaign .header__local-navi__item__icon svg {
    width: 17px;
    height: 21px;
  }
  .header__local-navi__item.--faq .header__local-navi__item__icon svg {
    width: 21px;
    height: 21px;
  }
  .header__local-navi__item.--business .header__local-navi__item__icon svg {
    width: 16px;
    height: 21px;
  }
  .header__local-navi__item.--contact {
    height: calc(40 / var(--font-size) * 1rem);
    margin-left: auto;
  }
  .header__local-navi__item.--contact .header__local-navi__item__link {
    background-color: var(--color-white);
    padding: calc(11 / var(--font-size) * 1rem)
      calc(47 / var(--font-size) * 1rem) calc(11 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    border-radius: calc(10 / var(--font-size) * 1rem);
    color: #3c3c3c;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease;
  }
  .header__local-navi__item.--contact .header__local-navi__item__link:hover {
    opacity: 0.7;
  }
  .header__local-navi__item.--contact .header__local-navi__item__link:before {
    display: none;
  }
  .header__local-navi__item.--contact
    .header__local-navi__item__contact-cursor {
    display: block;
    width: calc(28 / var(--font-size) * 1rem);
    height: calc(28 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    right: calc(8 / var(--font-size) * 1rem);
    bottom: 0;
    margin: auto 0;
  }
  .header__local-navi__item.--contact
    .header__local-navi__item__contact-cursor
    svg {
    width: calc(28 / var(--font-size) * 1rem);
    height: calc(28 / var(--font-size) * 1rem);
  }
  .header__local-navi__item__label {
    font-size: calc(14 / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1;
    margin-left: calc(7 / var(--font-size) * 1rem);
  }
  .header__local-navi__item__cursor {
    border: calc(3 / var(--font-size) * 1rem) solid var(--text-color);
    border-top: 0px;
    border-left: 0px;
    display: block;
    width: calc(10 / var(--font-size) * 1rem);
    height: calc(10 / var(--font-size) * 1rem);
    transform: rotate(45deg);
    margin-left: calc(10 / var(--font-size) * 1rem);
  }
  /* -----------------------------
    HEADERーサイトローカルナビーホバーメニュー
  ----------------------------- */
  .header__local-navi__item__button {
    height: 100%;
    transition: 0.3s ease;
    cursor: pointer;
  }
  .header__local-navi-menu {
    padding-top: calc(30 / var(--font-size) * 1rem);
    position: absolute;
    width: calc(392 / var(--font-size) * 1rem);
    height: calc(172 + 30 / var(--font-size) * 1rem);
    bottom: calc(-149 / var(--font-size) * 1rem);
    left: 50%;
    transform: translate(-50%, 0);
    z-index: -1000;
    transition: 0.3s ease;
    opacity: 0;
  }
  .js-drop-menu.is-opened .header__local-navi-menu {
    z-index: 5000;
    opacity: 1;
    bottom: calc(-159 / var(--font-size) * 1rem);
  }
  .header__local-navi-menu__column {
    display: flex;
  }
  .header__local-navi-menu__body {
    padding: calc(20 / var(--font-size) * 1rem)
      calc(30 / var(--font-size) * 1rem);
    background-color: var(--sub-color-02);
  }
  .header__local-navi-menu__title {
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--main-color);
    min-width: calc(106 / var(--font-size) * 1rem);
  }
  .header__local-navi-menu__contents {
    padding-left: calc(24 / var(--font-size) * 1rem);
    margin-left: calc(24 / var(--font-size) * 1rem);
    width: calc(100% - calc(95 / var(--font-size) * 1rem));
    position: relative;
  }
  .header__local-navi-menu__contents:before {
    content: "";
    background-color: var(--main-border-color);
    display: block;
    width: calc(1 / var(--font-size) * 1rem);
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .header__local-navi-menu-list {
    margin-top: calc(-12 / var(--font-size) * 1rem);
  }
  .header__local-navi-menu-list__item {
    padding-left: calc(15 / var(--font-size) * 1rem);
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: left;
    position: relative;
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .header__local-navi-menu-list__item:before {
    content: "";
    border: calc(1 / var(--font-size) * 1rem) solid var(--main-color);
    border-left: 0;
    border-bottom: 0;
    display: block;
    width: calc(7 / var(--font-size) * 1rem);
    height: calc(7 / var(--font-size) * 1rem);
    transform: rotate(45deg);
    position: absolute;
    top: calc(6 / var(--font-size) * 1rem);
    left: 0;
  }

  /* -----------------------------
    HEADERーハンバーガー
  ----------------------------- */
  .header__menu-button {
    display: none !important;
  }
  /* -----------------------------
    HEADERーSP MENU
  ----------------------------- */
  .sp-header-menu,
  .sp-gsidebar-menu-list,
  .sp-float-menu {
    display: none !important;
  }

  html.is-pc-header-menu-opened .overlay {
    content: "";
    background-color: #000;
    opacity: 0.4;
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4000;
  }

  html.is-pc-drop-menu-opened.is-sidebar-drop-menu-opened .overlay {
    content:"";
    background-color: #000;
    opacity:0.15;
    display: block;
    width:100%;
    height:100%;
    position: fixed;
    top:0;
    left:0;
    z-index:4000;
  }

  /** 20241223 **/
  .l-header__frametop {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .js-drop-menu.is-opened .gsidebar-menu-list__item__button {
    background-color: #f3fde7;
  }
  /** 20250306 **/
  .header-menu {
    display: none;
  }
}

@media all and (max-width: 767px) {
  .l-header {
    position: relative;
    z-index: 10001;
  }
  .l-header__inner {
  }

  /* -----------------------------
    HEADERーロゴ
  ----------------------------- */
  .header__logo {
  }
  .header-menu .header__logo {
    width: fit-content;
    text-align: center;
  }
  .header__logo__object svg,
  .header__logo__object img {
    height: calc(32 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  .header__logo__object.--mado svg,
  .header__logo__object.--mado img {
    height: calc(39 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  .header__logo__object.--kyuto svg,
  .header__logo__object.--kyuto img {
    height: calc(39 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  .header__logo__object.--chintai svg,
  .header__logo__object.--chintai img {
    height: calc(39 / var(--font-size) * 1rem);
    fill: var(--main-color);
  }
  /* -----------------------------
    HEADERーコメント
  ----------------------------- */
  .header__comment {
    display: none;
  }
  /* -----------------------------
    HEADERーサイトグローバルナビ
  ----------------------------- */
  .header__global-navi-wrap {
    background-color: var(--color-white);
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .header__global-navi {
    padding: calc(16 / var(--font-size) * 1rem)
      calc(24 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    width: calc(560 / var(--font-size) * 1rem);
    height: 100%;
    position: relative;
    z-index: 3000;
  }
  .header__global-navi__item {
    font-size: calc(12 / var(--font-size) * 1rem);
    font-weight: 700;
    flex-shrink: 0;
    margin-right: calc(20 / var(--font-size) * 1rem);
  }
  .header__global-navi__item a {
    top: calc(-5 / var(--font-size) * 1rem);
    padding-bottom: calc(5 / var(--font-size) * 1rem);
    position: relative;
  }
  .header__global-navi__item a:before {
    content: "";
    display: block;
    width: 0;
    height: calc(3 / var(--font-size) * 1rem);
    position: absolute;
    left: 0;
    bottom: 0;
    transition: 0.3s ease;
  }
  .header__global-navi__item.is-current a {
    pointer-events: none;
  }
  .header__global-navi__item.is-current a:before,
  .header__global-navi__item:not(.is-current) a:hover:before {
    width: 100%;
  }

  .header__global-navi__item.--portal a {
    color: var(--main-color-jigyo01);
  }
  .header__global-navi__item.--portal a:before {
    background-color: var(--main-color-jigyo01);
  }
  .header__global-navi__item.--eco a {
    color: var(--main-color-jigyo02);
  }
  .header__global-navi__item.--eco a:before {
    background-color: var(--main-color-jigyo02);
  }
  .header__global-navi__item.--mado a {
    color: var(--main-color-jigyo03);
  }
  .header__global-navi__item.--mado a:before {
    background-color: var(--main-color-jigyo03);
  }
  .header__global-navi__item.--kyuto a {
    color: var(--main-color-jigyo04);
  }
  .header__global-navi__item.--kyuto a:before {
    background-color: var(--main-color-jigyo04);
  }
  .header__global-navi__item.--jaws a {
    color: var(--main-color-jigyo05);
  }
  .header__global-navi__item.--jaws a:before {
    background-color: var(--main-color-jigyo05);
  }
  /* -----------------------------
    HEADERーお問い合わせ
  ----------------------------- */
  .header__contact-button {
    display: none;
  }

  /* -----------------------------
    HEADERーハンバーガー
  ----------------------------- */
  .header__menu-button {
    position: fixed;
    top: 0;
    right: 0;
    width: calc(72 / var(--font-size) * 1rem);
    height: calc(72 / var(--font-size) * 1rem);
    border-radius: 0 0 0 calc(15 / var(--font-size) * 1rem);
    background-color: var(--color-white);
    overflow: hidden;
    z-index: 10000;
  }
  .header__menu-button .header__menu-button__link {
    background-color: var(--bg-main-color);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header__menu-button .header__menu-button__link i {
    display: block;
    width: calc(27 / var(--font-size) * 1rem);
    height: calc(1.8 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(14 / var(--font-size) * 1rem);
    left: 0;
    right: 0;
    background-color: var(--color-white);
    margin: 0 auto;
  }
  .header__menu-button .header__menu-button__link i:first-child {
    top: calc(20 / var(--font-size) * 1rem);
  }
  .header__menu-button .header__menu-button__link i:nth-child(2) {
    top: calc(28 / var(--font-size) * 1rem);
  }
  .header__menu-button .header__menu-button__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    color: var(--color-white);
    display: block;
    position: absolute;
    top: calc(35 / var(--font-size) * 1rem);
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  /* -----------------------------
    HEADERーSP MENU
  ----------------------------- */
  .sp-header-menu {
    width: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    padding-top: calc(15 / var(--font-size) * 1rem);
    position: fixed;
    bottom: 0;
    z-index: 10000;
    overflow-y: scroll;
    opacity: 0;
    transform: translate3d(0, 100%, 0);
    transition: 0.6s ease;
  }
  html[data-label="navi02"] .sp-header-menu {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  .sp-header-menu__inner {
    position: relative;
    padding: calc(47 / var(--font-size) * 1rem)
      calc(32 / var(--font-size) * 1rem) calc(42 / var(--font-size) * 1rem);
    border-radius: calc(20 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem) 0 0;
    background-color: var(--color-gray_100);
    overflow: hidden;
  }
  .sp-header-menu__heading {
    text-align: center;
    font-size: calc(17 / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--text-color);
  }
  .sp-header-menu__body {
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .sp-header-menu__body:first-child {
    margin-top: 0;
  }
  .sp-header-menu__list {
    padding: calc(12 / var(--font-size) * 1rem)
      calc(15.5 / var(--font-size) * 1rem);
    border: calc(2 / var(--font-size) * 1rem) solid var(--color-gray_200);
    border-radius: calc(10 / var(--font-size) * 1rem);
    background-color: var(--color-white);
    overflow: hidden;
  }
  .sp-header-menu__list__item {
    border-top: calc(1 / var(--font-size) * 1rem) solid
      var(--sub-color-jigyo01-03);
  }
  .sp-header-menu__list__item:first-child {
    border-top: none;
  }
  .sp-header-menu__list__link {
    position: relative;
    padding: calc(15 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
  }
  .sp-header-menu__list__link:before {
    content: "";
    background-color: var(--main-color);
    mask-image: url(/assets/img/common/ico_circle_cursor_02.svg);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(15 / var(--font-size) * 1rem);
    margin: auto 0;
  }

  .sp-header-menu__list__item.--portal .sp-header-menu__list__link:before {
    background-color: var(--main-color-jigyo01);
  }
  .sp-header-menu__list__item.--kosodate .sp-header-menu__list__link:before {
    background-color: var(--main-color-jigyo02);
  }
  .sp-header-menu__list__item.--mado .sp-header-menu__list__link:before {
    background-color: var(--main-color-jigyo03);
  }
  .sp-header-menu__list__item.--kyutou .sp-header-menu__list__link:before {
    background-color: var(--main-color-jigyo04);
  }
  .sp-header-menu__list__item.--chintai .sp-header-menu__list__link:before {
    background-color: var(--main-color-jigyo05);
  }
  .sp-header-menu__list__item.--gx .sp-header-menu__list__link:before {
  }
  .sp-header-menu__list__icon {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: calc(34 / var(--font-size) * 1rem);
    height: calc(30 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sp-header-menu__list__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0;
    margin-left: calc(13 / var(--font-size) * 1rem);
  }

  .sp-header-menu__list__item.--portal .sp-header-menu__list__icon {
    background-image: url(/assets/img/common/ico_portal.png);
  }
  .sp-header-menu__list__item.--kosodate .sp-header-menu__list__icon {
    background-image: url(/assets/img/common/ico_mirai.png);
  }
  .sp-header-menu__list__item.--mado .sp-header-menu__list__icon {
    background-image: url(/assets/img/common/ico_mado.png);
  }
  .sp-header-menu__list__item.--kyutou .sp-header-menu__list__icon {
    background-image: url(/assets/img/common/ico_kyutou.png);
  }
  .sp-header-menu__list__item.--chintai .sp-header-menu__list__icon {
    background-image: url(/assets/img/common/ico_chintai.png);
  }
  .sp-header-menu__list__item.--gx .sp-header-menu__list__icon {
    background-image: url(/assets/img/common/ico_gx.svg);
  }

  .sp-header-menu__close {
    background-color: var(--color-white);
    border-radius: calc(5 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - calc(31 / var(--font-size) * 1rem));
    height: calc(40 / var(--font-size) * 1rem);
    margin: 0 auto;
    margin-top: calc(24 / var(--font-size) * 1rem);
  }
  .sp-header-menu__close:first-child {
    margin-top: 0;
  }
  .sp-header-menu__close i {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: calc(18 / var(--font-size) * 1rem);
    height: calc(18 / var(--font-size) * 1rem);
    margin-right: calc(22 / var(--font-size) * 1rem);
  }
  .sp-header-menu__close i::before {
    content: "";
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(2 / var(--font-size) * 1rem);
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--text-color);
    margin: 0 auto;
    transform: translate3d(-50%, -50%, 0) rotate(45deg);
  }
  .sp-header-menu__close i::after {
    content: "";
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(2 / var(--font-size) * 1rem);
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--text-color);
    margin: 0 auto;
    transform: translate3d(-50%, -50%, 0) rotate(-45deg);
  }
  .sp-header-menu__close__label {
    display: inline-block;
    vertical-align: top;
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--text-color);
  }

  .sp-header-menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(32 / var(--font-size) * 1rem);
    height: calc(32 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 auto;
    margin-top: calc(17 / var(--font-size) * 1rem);
    margin-right: calc(17 / var(--font-size) * 1rem);
  }
  .sp-header-menu-button i {
    display: block;
    width: calc(40 / var(--font-size) * 1rem);
    height: calc(3 / var(--font-size) * 1rem);
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--main-color);
    margin: 0 auto;
  }
  .sp-header-menu-button i:first-child {
    transform: translate3d(-50%, -50%, 0) rotate(30deg);
  }
  .sp-header-menu-button i:nth-child(2) {
    transform: translate3d(-50%, -50%, 0) rotate(-30deg);
  }
  .sp-header-menu.--portal .sp-header-menu__close {
    color: var(--main-color-jigyo01);
  }
  .sp-header-menu.--eco .sp-header-menu__close {
    color: var(--main-color-jigyo02);
  }
  .sp-header-menu.--mado .sp-header-menu__close {
    color: var(--main-color-jigyo03);
  }
  .sp-header-menu.--kyuto .sp-header-menu__close {
    color: var(--main-color-jigyo04);
  }
  .sp-header-menu.--jaws .sp-header-menu__close {
    color: var(--main-color-jigyo05);
  }

  /* -----------------------------
    HEADERーSP TAB
  ----------------------------- */
  .sp-header-menu-tab {
  }
  .sp-header-menu-tab__list {
    display: flex;
    margin-top: calc(25 / var(--font-size) * 1rem);
  }
  .sp-header-menu-tab__list__item {
    border-left: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
    display: flex;
    align-items: flex-end;
    width: calc(100% / 5);
    height: calc(70 / var(--font-size) * 1rem);
  }
  .sp-header-menu-tab__list__link {
    background-color: var(--main-color-jigyo01);
    padding: calc(8 / var(--font-size) * 1rem) calc(5 / var(--font-size) * 1rem)
      calc(8 / var(--font-size) * 1rem) calc(5 / var(--font-size) * 1rem);
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    color: var(--color-white);
    width: 100%;
    height: calc(100% - calc(10 / var(--font-size) * 1rem));
    transition: height 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .sp-header-menu-tab__list__icon svg {
    width: calc(20 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    fill: var(--color-white);
  }
  .sp-header-menu-tab__list__label {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(16 / var(--font-size) * 1rem);
    margin-top: calc(5 / var(--font-size) * 1rem);
  }
  .sp-header-menu-tab__list__item:first-child {
    border-left: 0;
  }
  .sp-header-menu-tab__list__link[aria-selected="true"] {
    height: 100%;
  }

  .sp-header-menu-tab__list__item.--portal .sp-header-menu-tab__list__link {
    background-color: var(--main-color-jigyo01);
  }
  .sp-header-menu-tab__list__item.--eco .sp-header-menu-tab__list__link {
    background-color: var(--main-color-jigyo02);
  }
  .sp-header-menu-tab__list__item.--mado .sp-header-menu-tab__list__link {
    background-color: var(--main-color-jigyo03);
  }
  .sp-header-menu-tab__list__item.--kyuto .sp-header-menu-tab__list__link {
    background-color: var(--main-color-jigyo04);
  }
  .sp-header-menu-tab__list__item.--jaws .sp-header-menu-tab__list__link {
    background-color: var(--main-color-jigyo05);
  }

  /* -----------------------------
    HEADERーSP TAB PANEL
  ----------------------------- */
  .sp-header-menu-tab__panel {
  }
  .sp-header-menu-tab__panel__container {
    padding: calc(15 / var(--font-size) * 1rem);
    display: none;
    border-top: calc(4 / var(--font-size) * 1rem) solid
      var(--main-color-jigyo01);
    height: 100%;
  }
  .sp-header-menu-tab__panel__container[aria-hidden="false"] {
    display: block;
  }
  /* -----------------------------
    HEADERーSP ACCORDION
  ----------------------------- */
  .sp-header-menu-tab__menu-list__panel {
    padding-left: calc(24 / var(--font-size) * 1rem);
    transition: 0.3s ease;
    overflow: hidden;
  }
  .sp-header-menu-tab__menu-list__panel[aria-hidden="false"] {
    padding-bottom: calc(25 / var(--font-size) * 1rem);
  }
  .sp-header-menu-tab__menu-list__item {
    border-bottom: calc(1 / var(--font-size) * 1rem) solid
      var(--sub-border-color);
  }
  .sp-header-menu-tab__menu-list__item:last-child {
    border-bottom: 0;
  }
  .sp-header-menu-tab__menu-list__button,
  .sp-header-menu-tab__menu-list__link {
    padding: calc(24 / var(--font-size) * 1rem) 0;
    font-size: calc(var(--text-size-m) / var(--font-size) * 1rem);
    font-weight: 700;
    display: block;
    position: relative;
  }
  .sp-header-menu-tab__menu-list__link:before {
    content: "";
    border: calc(2 / var(--font-size) * 1rem) solid var(--main-color);
    border-radius: 100%;
    display: block;
    width: calc(20 / var(--font-size) * 1rem);
    height: calc(20 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
  }
  .sp-header-menu-tab__menu-list__link:after {
    content: "";
    border: calc(2 / var(--font-size) * 1rem) solid var(--main-color);
    border-left: 0;
    border-bottom: 0;
    width: calc(6 / var(--font-size) * 1rem);
    min-width: calc(6 / var(--font-size) * 1rem);
    height: calc(6 / var(--font-size) * 1rem);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(8 / var(--font-size) * 1rem);
    margin: auto 0;
  }
  .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__menu-list__button:after {
    content: "";
    display: block;
    width: calc(14 / var(--font-size) * 1rem);
    height: calc(2 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(3 / var(--font-size) * 1rem);
    margin: auto 0;
    transition: 0.3s ease;
  }
  .sp-header-menu-tab__menu-list__button:after {
    transform: rotate(90deg);
  }
  .sp-header-menu-tab__menu-list__button[aria-expanded="true"]:after {
    transform: rotate(180deg);
  }

  .sp-header-menu-tab__menu-list__panel li + li {
    margin-top: calc(8 / var(--font-size) * 1rem);
  }

  /* 総合カラー */
  .sp-header-menu-tab__panel__container.--portal {
    background-color: var(--sub-color-jigyo01-02);
    border-color: var(--main-color-jigyo01);
  }
  .sp-header-menu-tab__panel__container.--portal
    .sp-header-menu-tab__menu-list__button[aria-expanded="true"] {
    color: var(--main-color-jigyo01);
  }
  .sp-header-menu-tab__panel__container.--portal
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--portal
    .sp-header-menu-tab__menu-list__button:after {
    background-color: var(--main-color-jigyo01);
  }
  .sp-header-menu-tab__panel__container.--portal .u-text-link:before,
  .sp-header-menu-tab__panel__container.--portal .u-text-link:after,
  .sp-header-menu-tab__panel__container.--portal
    .sp-header-menu-tab__menu-list__link:before,
  .sp-header-menu-tab__panel__container.--portal
    .sp-header-menu-tab__menu-list__link:after {
    border-color: var(--main-color-jigyo01);
  }

  /* 子育てエコカラー */
  .sp-header-menu-tab__panel__container.--eco {
    background-color: var(--sub-color-jigyo02-02);
    border-color: var(--main-color-jigyo02);
  }
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__button[aria-expanded="true"] {
    color: var(--main-color-jigyo02);
  }
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__button:after {
    background-color: var(--main-color-jigyo02);
  }
  .sp-header-menu-tab__panel__container.--eco .u-text-link:before,
  .sp-header-menu-tab__panel__container.--eco .u-text-link:after,
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__button:after,
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__link:before,
  .sp-header-menu-tab__panel__container.--eco
    .sp-header-menu-tab__menu-list__link:after {
    border-color: var(--main-color-jigyo02);
  }

  /* 窓リノベカラー */
  .sp-header-menu-tab__panel__container.--mado {
    background-color: var(--sub-color-jigyo03-02);
    border-color: var(--main-color-jigyo03);
  }
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__button[aria-expanded="true"] {
    color: var(--main-color-jigyo03);
  }
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__button:after {
    background-color: var(--main-color-jigyo03);
  }
  .sp-header-menu-tab__panel__container.--mado .u-text-link:before,
  .sp-header-menu-tab__panel__container.--mado .u-text-link:after,
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__button:after,
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__link:before,
  .sp-header-menu-tab__panel__container.--mado
    .sp-header-menu-tab__menu-list__link:after {
    border-color: var(--main-color-jigyo03);
  }

  /* 給湯省エネカラー */
  .sp-header-menu-tab__panel__container.--kyuto {
    background-color: var(--sub-color-jigyo04-02);
    border-color: var(--main-color-jigyo04);
  }
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__button[aria-expanded="true"] {
    color: var(--main-color-jigyo04);
  }
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__button:after {
    background-color: var(--main-color-jigyo04);
  }
  .sp-header-menu-tab__panel__container.--kyuto .u-text-link:before,
  .sp-header-menu-tab__panel__container.--kyuto .u-text-link:after,
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__button:after,
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__link:before,
  .sp-header-menu-tab__panel__container.--kyuto
    .sp-header-menu-tab__menu-list__link:after {
    border-color: var(--main-color-jigyo04);
  }

  /* 賃貸集合給湯省エネカラー */
  .sp-header-menu-tab__panel__container.--jaws {
    background-color: var(--sub-color-jigyo05-02);
    border-color: var(--main-color-jigyo05);
  }
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__button[aria-expanded="true"] {
    color: var(--main-color-jigyo05);
  }
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__button:after {
    background-color: var(--main-color-jigyo05);
  }
  .sp-header-menu-tab__panel__container.--jaws .u-text-link:before,
  .sp-header-menu-tab__panel__container.--jaws .u-text-link:after,
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__button:before,
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__button:after,
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__link:before,
  .sp-header-menu-tab__panel__container.--jaws
    .sp-header-menu-tab__menu-list__link:after {
    border-color: var(--main-color-jigyo05);
  }
  /************************************************/
  html.is-sp-header-menu-opened {
    overflow: hidden;
    position: relative;
  }
  .header-menu {
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    height: 100%;
    position: fixed;
    bottom: 0;
    z-index: 10001;
    overflow-y: hidden;
    opacity: 0;
    transform: translate3d(0, -100%, 0);
    transition: 0.6s ease;
  }
  html[data-label="navi01"] .header-menu {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  .overlay {
    z-index: -1;
    opacity: 0;
    transition: 0.3s ease;
  }
  html.is-sp-header-menu-opened .overlay,
  html.is-sp-drop-menu-opened .overlay {
    content: "";
    background-color: #000;
    opacity: 0.4;
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 4000;
  }
}

/* --------------------------------------------------------------------------
  footer
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .footer-area {
    background-color: #ccc;
  }
  .footer-area__inner {
  }
}

@media all and (max-width: 767px) {
}

/* --------------------------------------------------------------------------
  FAQ PDF
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .faq-pdf {
    background-color: var(--sub-color-02);
    padding-top: calc(64 / var(--font-size) * 1rem);
    padding-bottom: calc(80 / var(--font-size) * 1rem);
  }
  .faq-pdf__body {
    max-width: calc((960 + 40) / var(--font-size) * 1rem);
    margin: 0 auto;
    padding: 0 calc(20 / var(--font-size) * 1rem);
  }
}

@media all and (max-width: 767px) {
}

/* --------------------------------------------------------------------------
  BANNER AREA
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .banner-area {
    background-color: var(--color-white);
    padding-top: calc(64 / var(--font-size) * 1rem);
    padding-bottom: calc(64 / var(--font-size) * 1rem);
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
  }
  .banner-area__body {
    max-width: calc(1160 / var(--font-size) * 1rem);
    margin: 0 auto;
    padding: 0 calc(20 / var(--font-size) * 1rem);
  }
}

@media all and (max-width: 767px) {
  .banner-area {
    background-color: var(--color-white);
    margin-top: calc(40 / var(--font-size) * 1rem);
    padding-top: calc(40 / var(--font-size) * 1rem);
    padding-bottom: calc(48 / var(--font-size) * 1rem);
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
  }
  .banner-area__body {
    margin: 0 auto;
    padding: 0 calc(15 / var(--font-size) * 1rem);
  }
}

/* --------------------------------------------------------------------------
  GLOBAL SIDE NAVI
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .sidenavi {
    border-radius: calc(12 / var(--font-size) * 1rem) 0 0
      calc(12 / var(--font-size) * 1rem);
    width: calc(64 / var(--font-size) * 1rem);
    height: calc(384 / var(--font-size) * 1rem);
    overflow: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 6000;
  }
  .sidenavi__list {
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
  }
  .sidenavi__list:first-child {
    border-top: 0;
  }
  .sidenavi__list__item__link {
    font-size: calc(9 / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1.2;
    display: block;
    position: relative;
    transition: 0.3s ease;
  }
  .sidenavi__list__item__link:hover {
    opacity: 0.7;
  }
  .sidenavi__list__item__icon {
    display: block;
    width: calc(28 / var(--font-size) * 1rem);
    height: calc(28 / var(--font-size) * 1rem);
  }
  .sidenavi__list__item__icon svg {
    width: calc(28 / var(--font-size) * 1rem);
    height: calc(28 / var(--font-size) * 1rem);
    fill: var(--color-white);
  }
  .sidenavi__list__item.--contact .sidenavi__list__item__icon,
  .sidenavi__list__item.--contact .sidenavi__list__item__icon svg {
    width: calc(16 / var(--font-size) * 1rem);
    height: calc(22 / var(--font-size) * 1rem);
  }
  /****************************************************/
  .sidenavi__list__item.--color-grade-jigyo01 {
    background: var(--main-grade-color-jigyo01);
  }
  .sidenavi__list__item.--color-grade-jigyo02 {
    background: var(--main-grade-color-jigyo02);
  }
  .sidenavi__list__item.--color-grade-jigyo03 {
    background: var(--main-grade-color-jigyo03);
  }
  .sidenavi__list__item.--color-grade-jigyo04 {
    background: var(--main-grade-color-jigyo04);
  }
  .sidenavi__list__item.--color-grade-jigyo05 {
    background: var(--main-grade-color-jigyo05);
  }
  /****************************************************/
  .sidenavi__list.--basic,
  .sidenavi__list.--basic:first-child .sidenavi__list__item:first-child {
    border-top: 0;
  }
  .sidenavi__list.--basic .sidenavi__list__item {
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
    height: calc(64 / var(--font-size) * 1rem);
  }
  .sidenavi__list.--basic .sidenavi__list__item__link {
    padding: calc(8 / var(--font-size) * 1rem) calc(0 / var(--font-size) * 1rem)
      calc(8 / var(--font-size) * 1rem) calc(0 / var(--font-size) * 1rem);
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .sidenavi__list.--basic .sidenavi__list__item__icon {
    margin-bottom: calc(3 / var(--font-size) * 1rem);
  }
  /****************************************************/
  .sidenavi__list.--col1 .sidenavi__list__item__link {
    padding: calc(20 / var(--font-size) * 1rem)
      calc(5 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem)
      calc(13 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sidenavi__list.--col1 .sidenavi__list__item__icon {
    margin-right: calc(8 / var(--font-size) * 1rem);
  }
  /****************************************************/
  .sidenavi__list.--col2 {
    display: flex;
    flex-wrap: wrap;
  }
  .sidenavi__list.--col2 .sidenavi__list__item {
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
    border-left: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
    width: 50%;
  }
  .sidenavi__list.--col2 .sidenavi__list__item__link {
    padding: calc(8 / var(--font-size) * 1rem) calc(5 / var(--font-size) * 1rem)
      calc(8 / var(--font-size) * 1rem) calc(5 / var(--font-size) * 1rem);
    text-align: center;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .sidenavi__list.--col2 .sidenavi__list__item__icon {
    margin-bottom: calc(5 / var(--font-size) * 1rem);
  }
  .sidenavi__list.--col2 .sidenavi__list__item:first-child,
  .sidenavi__list.--col2 .sidenavi__list__item:nth-child(2) {
    border-top: 0;
  }
  .sidenavi__list.--col2 .sidenavi__list__item:first-child,
  .sidenavi__list.--col2 .sidenavi__list__item:nth-child(2n + 1) {
    border-left: 0;
  }
  /****************************************************/
}

@media all and (max-width: 767px) {
  .sidenavi {
    width: 100%;
    height: 12vw;
    position: fixed;
    left: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 6000;

    display: none;
  }
  .sidenavi__body {
    width: 100%;
    height: 100%;
    display: flex;
  }
  .sidenavi__list {
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
    display: flex;
  }
  .sidenavi__list__item {
    border-left: calc(2 / var(--font-size) * 1rem) solid var(--color-white);
    width: calc(100vw / 6);
    height: 100%;
  }
  .sidenavi__list__item__link {
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    letter-spacing: -0.015em;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 100%;
    transition: 0.3s ease;
  }
  .sidenavi__list__item__link:hover {
    opacity: 0.7;
  }
  .sidenavi__list__item__icon {
    display: none;
    width: calc(20 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
  }
  .sidenavi__list__item__icon svg {
    width: calc(20 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    fill: var(--color-white);
  }

  .sidenavi__list:first-child .sidenavi__list__item:first-child {
    border-left: 0;
  }
  /****************************************************/
  .sidenavi__list__item.--color-grade-jigyo01 {
    background: var(--main-grade-color-jigyo01);
  }
  .sidenavi__list__item.--color-grade-jigyo02 {
    background: var(--main-grade-color-jigyo02);
  }
  .sidenavi__list__item.--color-grade-jigyo03 {
    background: var(--main-grade-color-jigyo03);
  }
  .sidenavi__list__item.--color-grade-jigyo04 {
    background: var(--main-grade-color-jigyo04);
  }
  .sidenavi__list__item.--color-grade-jigyo05 {
    background: var(--main-grade-color-jigyo05);
  }
  /****************************************************/
}

/* --------------------------------------------------------------------------
  FOOTER CONTACT AREA
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .l-contact {
  }
  main:not(:has(.breadcrumb-area)) + .l-contact {
    margin-top: calc(20 / var(--font-size) * 1rem);
  }
  .l-contact__inner{
    padding-block: calc(75 / var(--font-size) * 1rem);
    padding-inline: calc(50 / var(--font-size) * 1rem);
    background: url("/assets/img/common/bg_contact01_tl.png") no-repeat top left / calc(396 / var(--font-size) * 1rem) calc(193 / var(--font-size) * 1rem),
                url("/assets/img/common/bg_contact01_br.png") no-repeat bottom right / calc(370 / var(--font-size) * 1rem) calc(155 / var(--font-size) * 1rem),
                url("/assets/img/common/bg_contact01_tr.png") no-repeat top right / calc(332 / var(--font-size) * 1rem) calc(230 / var(--font-size) * 1rem),
                url("/assets/img/common/bg_contact01_bl.png") no-repeat bottom left / calc(270 / var(--font-size) * 1rem) calc(256 / var(--font-size) * 1rem);
  }
  .l-contact-wrap {
    margin-top: calc(38 / var(--font-size) * 1rem);
  }
  .l-contact__body {
    padding: 0 calc(70 / var(--font-size) * 1rem);
  }
  .l-contact__title {
    font-size: calc(21 / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.3333333333;
    margin-bottom: calc(21 / var(--font-size) * 1rem);
    letter-spacing: 0.07em;
  }
  .l-contact__title__label {
    font-size: calc(28 / var(--font-size) * 1rem);
    display: block;
  }
  .l-contact-wrap {
    display: flex;
    gap: calc(33 / var(--font-size) * 1rem);
    width: 100%;
    --col: 1;
  }
  .l-contact-wrap--2col {
    --col: 2;
  }
  .l-contact-wrap--2col .l-contact-box {
    width: calc(
      (100% - ((33 / var(--font-size) * 1rem) * (var(--col) - 1))) / var(--col)
    );
  }
  .l-contact-box {
    width: 100%;
  }
  .l-contact-box__inner {
    background: var(--color-white);
    border-radius: calc(10 / var(--font-size) * 1rem);
  }
  .l-contact-box__body {
    padding: calc(28 / var(--font-size) * 1rem) 0
      calc(25 / var(--font-size) * 1rem);
  }
  .l-contact-box__contents {
  }
  .l-contact-box-title {
    text-align: center;
  }
  .l-contact-box-title__label {
    color: var(--color-attention_1000);
    font-size: calc(20 / var(--font-size) * 1rem);
    font-weight: bold;
    line-height: 2.38;
  }
  .l-contact__bottom {
    padding-top: calc(40 / var(--font-size) * 1rem);
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-gray_300);
    margin-top: calc(37 / var(--font-size) * 1rem);
  }
  .l-contact__bottom__text {
    margin-bottom: calc(24 / var(--font-size) * 1rem);
  }

  /** **/
  .contact-counter {
  }
  .contact-counter__address {
  }
  .contact-counter__tel__item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contact-counter__tel__item + .contact-counter__tel__item {
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .contact-counter__tel__item.--navidial {
    text-indent: -1em;
    margin-bottom: calc(6 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-navi__tel {
    display: flex;
    align-items: center;
    margin-left: calc(10 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-navi__ico + .contact-counter__tel-navi__tel {
    margin-left: calc(15 / var(--font-size) * 1rem);
    text-indent: 0;
  }
  .contact-counter__tel-navi__tel-num {
    font-size: calc(46 / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: calc(-6 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-navi__ico {
    max-width: calc(60 / var(--font-size) * 1rem);
    width: 100%;
    flex-shrink: 0;
    text-indent: 0;
  }
  .contact-counter__tel-ip__ico {
    padding: calc(4.5 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    background-color: var(--sub-color-03);
    border-radius: calc(5 / var(--font-size) * 1rem);
    font-size: calc(13 / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--main-color);
    flex-shrink: 0;
  }
  .contact-counter__tel-ip__tel {
    display: flex;
    align-items: center;
    margin-left: calc(9 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-ip__tel-num {
    font-size: calc(30 / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: calc(-2 / var(--font-size) * 1rem);
  }
  .contact-counter__time {
    text-align: center;
    font-size: calc(var(--text-size-m) / var(--font-size) * 1rem);
    font-weight: 700;
  }
  .contact-counter__confirm-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-top: calc(21 / var(--font-size) * 1rem);
  }
  .contact-counter__list {
    margin-top: calc(9 / var(--font-size) * 1rem);
  }
  .contact-counter__list__item {
    padding-left: 1.5em;
    text-indent: -1.5em;
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
  }
  .contact-counter__list__item:before {
    content: "※";
    display: inline-block;
    width: 1.5em;
    text-indent: 0;
  }
  .contact-counter__list__item > * {
    text-indent: 0;
  }
}

@media all and (max-width: 767px) {
  .l-contact {
  }
  main:not(:has(.breadcrumb-area)) + .l-contact {
    margin-top: calc(20 / var(--font-size) * 1rem);
  }
  .l-contact__inner{
    padding-block: calc(58 / var(--font-size) * 1rem);
    padding-inline: calc(10 / var(--font-size) * 1rem);
    background: url("/assets/img/common/bg_contact01_sp_tl.png") no-repeat top left / calc(238 / var(--font-size) * 1rem) calc(116 / var(--font-size) * 1rem),
                url("/assets/img/common/bg_contact01_sp_br.png") no-repeat bottom right / calc(223 / var(--font-size) * 1rem) calc(93 / var(--font-size) * 1rem),
                url("/assets/img/common/bg_contact01_sp_tr.png") no-repeat top right / calc(200 / var(--font-size) * 1rem) calc(139 / var(--font-size) * 1rem),
                url("/assets/img/common/bg_contact01_sp_bl.png") no-repeat bottom left / calc(162 / var(--font-size) * 1rem) calc(154 / var(--font-size) * 1rem);
  }
  .l-contact-wrap {
  }
  .l-contact__body {
  }
  .l-contact__title {
    font-size: calc(var(--title-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    line-height: 1.3333333333;
    margin-bottom: calc(24 / var(--font-size) * 1rem);
  }
  .l-contact__title__label {
    font-size: calc(26 / var(--font-size) * 1rem);
    margin-top: calc(8 / var(--font-size) * 1rem);
    display: block;
  }
  .l-contact-box {
    width: 100%;
  }
  .l-contact-box__inner {
    background: var(--color-white);
    border-radius: calc(10 / var(--font-size) * 1rem);
  }
  .l-contact-box__body {
    padding: calc(8 / var(--font-size) * 1rem) 0
      calc(14 / var(--font-size) * 1rem);
  }
  .l-contact-box__contents {
  }
  .l-contact-box-title {
    text-align: center;
  }
  .l-contact-box-title__label {
    color: var(--color-attention_1000);
    font-size: calc(20 / var(--font-size) * 1rem);
    font-weight: bold;
    line-height: 2.38;
  }
  .l-contact__bottom {
    padding-top: calc(40 / var(--font-size) * 1rem);
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-gray_300);
    margin-top: calc(37 / var(--font-size) * 1rem);
  }
  .l-contact__bottom__text {
    margin-bottom: calc(24 / var(--font-size) * 1rem);
  }

  /** **/
  .contact-counter {
  }
  .contact-counter__address {
  }
  .contact-counter__tel {
    padding: 0 calc(12 / var(--font-size) * 1rem);
  }
  .contact-counter__tel__item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .contact-counter__tel__item + .contact-counter__tel__item {
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .contact-counter__tel__item.--navidial {
    justify-content: center;
    margin-bottom: calc(6 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-navi__tel {
  }
  .contact-counter__tel-navi__tel-num {
    font-size: calc(33 / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: calc(-4 / var(--font-size) * 1rem);
    white-space: nowrap;
  }
  .contact-counter__tel-navi__ico {
    max-width: calc(40 / var(--font-size) * 1rem);
    width: 100%;
    flex-shrink: 0;
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-ip__ico {
    padding: calc(4 / var(--font-size) * 1rem) calc(6 / var(--font-size) * 1rem);
    background-color: var(--sub-color-03);
    border-radius: calc(5 / var(--font-size) * 1rem);
    font-size: calc(10 / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--main-color);
    flex-shrink: 0;
  }
  .contact-counter__tel-ip__tel {
    display: flex;
    align-items: center;
    margin-left: calc(9 / var(--font-size) * 1rem);
  }
  .contact-counter__tel-ip__tel-num {
    font-size: calc(16 / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: calc(-2 / var(--font-size) * 1rem);
    white-space: nowrap;
  }
  .contact-counter__time {
    text-align: center;
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
  }
  .contact-counter__confirm-box {
    margin-top: calc(21 / var(--font-size) * 1rem);
  }
  .contact-counter__list {
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .contact-counter__list__item {
    padding-left: 1.5em;
    text-indent: -1.5em;
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
  }
  .contact-counter__list__item:before {
    content: "※";
    display: inline-block;
    width: 1.5em;
    text-indent: 0;
  }
  .contact-counter__list__item > * {
    text-indent: 0;
  }
}

/* --------------------------------------------------------------------------
  FOOTER
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  #pagetop {
    border-radius: 100%;
    width: calc(40 / var(--font-size) * 1rem);
    height: calc(40 / var(--font-size) * 1rem);
    overflow: hidden;
    position: fixed;
    right: calc(40 / var(--font-size) * 1rem);
    bottom: calc(21 / var(--font-size) * 1rem);
    z-index: 10000;
  }
  #pagetop a {
    background-color: var(--main-accent-color);

    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    transition: 0.3s ease;
  }
  #pagetop a:before {
    content: "";
    background: url("/assets/img/common/ico_arrow_toTop.svg") no-repeat center /
      contain;
    width: calc(13 / var(--font-size) * 1rem);
    height: calc(13 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(7 / var(--font-size) * 1rem);
    left: 0;
    right: 0;
    margin: auto;
  }
  .pagetop-txt {
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto auto calc(2 / var(--font-size) * 1rem);
  }
  .pagetop-txt__label {
    color: var(--color-white);
    font-size: calc(12 / var(--font-size) * 1rem);
    font-weight: bold;
    line-height: calc(22.4 / 12);
  }
  #pagetop a:hover {
    opacity: 0.7;
  }
  .l-footer {
    background-color: var(--color-white);
    position: relative;
  }
  .l-footer__body {
    max-width: calc(1000 / var(--font-size) * 1rem);
    margin: 0 auto;
    padding: calc(34 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem) calc(40 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem);
  }
  /*****************************************/
  .footer-site-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(24 / var(--font-size) * 1rem) calc(48 / var(--font-size) * 1rem);
  }
  .footer-site-list__item {
    width: calc(175 / var(--font-size) * 1rem);
  }
  .footer-site-list__item a {
    transition: 0.3s ease;
  }
  .footer-site-list__item a:hover {
    opacity: 0.7;
  }
  /*****************************************/
  .footer-site-text-link-list {
    display: flex;
    justify-content: end;
  }
  .footer-site-text-link-list__item {
    padding-left: calc(24 / var(--font-size) * 1rem);
    margin-left: calc(24 / var(--font-size) * 1rem);
    position: relative;
  }
  .footer-site-text-link-list__item:before {
    content: "";
    background-color: var(--color-gray_500);
    display: block;
    width: calc(1 / var(--font-size) * 1rem);
    height: calc(16 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(2 / var(--font-size) * 1rem);
    left: 0;
    bottom: 0;
    margin: auto 0;
  }
  .footer-site-text-link-list__item:first-child:before {
    content: none;
  }
  .footer-site-text-link-list__item a {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 400;
    line-height: 1.6;
    transition: 0.3s ease;
  }
  .footer-site-text-link-list__item a:hover {
    opacity: 0.7;
  }
  .footer-site-text-link-list__item:first-child {
    margin-left: 0;
  }
  /*****************************************/
  #copyright {
    background: var(--color-gray_100);
    padding: calc(16 / var(--font-size) * 1rem)
      calc(70 / var(--font-size) * 1rem);
    padding-right: calc(160 / var(--font-size) * 1rem);
    color: var(--text-color);
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
  }
  .l-copyright__body {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .footer-copyright {
    flex-shrink: 0;
  }
  .footer-site-text-link-list {
    flex-grow: 1;
  }
}

@media all and (max-width: 767px) {
  #pagetop {
    border-radius: 100%;
    width: calc(40 / var(--font-size) * 1rem);
    height: calc(40 / var(--font-size) * 1rem);
    overflow: hidden;
    position: fixed;
    right: calc(16 / var(--font-size) * 1rem);
    bottom: calc(73 / var(--font-size) * 1rem);
    z-index: 10000;
  }
  #pagetop a {
    background-color: var(--main-accent-color);

    display: block;
    width: 100%;
    height: 100%;
    position: relative;
  }
  #pagetop a:before {
    content: "";
    background: url("/assets/img/common/ico_arrow_toTop.svg") no-repeat center /
      contain;
    width: calc(13 / var(--font-size) * 1rem);
    height: calc(13 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(7 / var(--font-size) * 1rem);
    left: 0;
    right: 0;
    margin: auto;
  }
  .pagetop-txt {
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto auto calc(2 / var(--font-size) * 1rem);
  }
  .pagetop-txt__label {
    color: var(--color-white);
    font-size: calc(12 / var(--font-size) * 1rem);
    font-weight: bold;
    line-height: calc(22.4 / 12);
  }
  .l-footer {
    background-color: var(--color-white);
    display: grid;
  }
  .l-footer__body {
    width: 100%;
    margin: 0 auto;
    padding: calc(12 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
    grid-row: 2;
  }
  .l-footer__body--sitemap {
    padding: calc(24 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem) 0;
  }
  .l-footer__body--sitemap .footer-site-list {
    border-top: 1px solid var(--color-gray_300);
    border-bottom: 1px solid var(--color-gray_300);
    padding: calc(24 / var(--font-size) * 1rem) 0;
  }
  /*****************************************/
  .footer-site-list {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: calc(12 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
  }
  .footer-site-list__item {
    width: calc(145 / var(--font-size) * 1rem);
  }
  /*****************************************/
  .footer-site-text-link-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: solid calc(1 / var(--font-size) * 1rem)
      var(--sub-border-color);
    padding-bottom: calc(24 / var(--font-size) * 1rem);
  }
  .footer-site-text-link-list__item {
    margin-bottom: calc(8 / var(--font-size) * 1rem);
    position: relative;
  }
  .footer-site-text-link-list__item:first-child:before {
    content: none;
  }
  .footer-site-text-link-list__item a {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    line-height: calc(19.2 / 12);
  }
  .footer-site-text-link-list__item:first-child {
    margin-left: 0;
  }
  /*****************************************/
  #copyright {
    background: var(--color-white);
    padding: calc(23 / var(--font-size) * 1rem)
      calc(15 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem);
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
  }
  .footer-copyright-sp {
    background-color: var(--color-gray_100);
    padding: calc(16 / var(--font-size) * 1rem)
      calc(15 / var(--font-size) * 1rem);
  }
  .footer-copyright-sp .footer-right__object {
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    text-align: center;
  }
}

/* --------------------------------------------------------------------------
  SIDEBAR
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .l-gsidebar {
    background-color: var(--color-white);
    max-width: calc(248 / var(--font-size) * 1rem);
    width: 100%;
    height: 100svh;
    position: sticky;
    top: 0;
    left: 0;
    border-right: var(--sub-border-color) solid
      calc(1 / var(--font-size) * 1rem);
    z-index: 6000;
  }
  .l-gsidebar__body {
  }
  .gsidebar-logo {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    height: calc(195 / var(--font-size) * 1rem);
    padding-top: calc(25 / var(--font-size) * 1rem);
  }
  .gsidebar-logo__object {
    max-width: calc(154 / var(--font-size) * 1rem);
    width: 100%;
  }
  .gsidebar-menu-list {
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
    padding: calc(17 / var(--font-size) * 1rem)
      calc(11 / var(--font-size) * 1rem) calc(16 / var(--font-size) * 1rem)
      calc(8 / var(--font-size) * 1rem);
  }
  /* 背景色付きメニューリスト */
  .gsidebar-menu-list--main-color,
  .gsidebar-menu-list--accent-color {
    border-top: none;
  }
  .gsidebar-menu-list--main-color {
    background-color: var(--bg-color-jigyo02);
  }
  .gsidebar-menu-list--accent-color {
    background-color: var(--sub-accent-color-02);
  }
  .gsidebar-menu-list--main-color .gsidebar-menu-list__item,
  .gsidebar-menu-list--accent-color .gsidebar-menu-list__item {
    padding: 0;
    margin-top: calc(6 / var(--font-size) * 1rem);
    border-bottom: none;
    border-top: none;
  }
  .gsidebar-menu-list--main-color .gsidebar-menu-list__item:first-child,
  .gsidebar-menu-list--accent-color .gsidebar-menu-list__item:first-child {
    margin-top: 0;
    border-top: none;
  }
  .gsidebar-menu-list--main-color
    .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon {
    padding: 0;
    border: none;
  }
  .gsidebar-menu-list--main-color
    .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    + .gsidebar-menu-list__item {
  }
  /* 背景色付きメニューリスト内のパネル位置調整（padding 8px分を補正） */
  .gsidebar-menu-list--main-color
    .gsidebar-menu-list__item
    .gsidebar-menu-list__panel,
  .gsidebar-menu-list--accent-color
    .gsidebar-menu-list__item
    .gsidebar-menu-list__panel {
    left: calc(-290 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list--main-color
    .gsidebar-menu-list__item.is-opened
    > .gsidebar-menu-list__panel,
  .gsidebar-menu-list--accent-color
    .gsidebar-menu-list__item.is-opened
    > .gsidebar-menu-list__panel {
    left: calc(247 / var(--font-size) * 1rem - 8 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__panel {
    background-color: var(--sub-color-03);
    width: calc(290 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(-88 / var(--font-size) * 1rem);
    left: calc(-290 / var(--font-size) * 1rem);
    border-radius: 0 calc(10 / var(--font-size) * 1rem)
      calc(10 / var(--font-size) * 1rem) 0;
    z-index: 5000;
    padding: calc(18 / var(--font-size) * 1rem) 0
      calc(18 / var(--font-size) * 1rem);
  }
  .--kosodate .gsidebar-menu-list:nth-of-type(3) .gsidebar-menu-list__panel{
    top: calc(-20 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__panel li {
    margin-top: 0;
  }
  .gsidebar-menu-list__panel > * {
    padding: 0 calc(30 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__panel p {
    color: var(--main-color);
    padding-left: calc(12 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__unit{
    position: relative;
  }
  .gsidebar-menu-list__unit + .gsidebar-menu-list__unit{
    margin-top: calc(18 / var(--font-size)* 1rem);
    padding-top: calc(18 / var(--font-size)* 1rem);
  }
  .gsidebar-menu-list__unit + .gsidebar-menu-list__unit::before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: calc(1 / var(--font-size)* 1rem);
    width: calc(100% - calc(60 / var(--font-size)* 1rem));
    background-color: var(--color-white);
  }
  .gsidebar-menu-list__panel a {
    padding: calc(10 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__item {
    border-bottom: calc(1 / var(--font-size) * 1rem) solid
      var(--sub-border-color);
    position: relative;
  }
  .gsidebar-menu-list__item.--disable .gsidebar-menu-list__item__button,
  .gsidebar-menu-list__item.--disable .gsidebar-menu-list__item__link {
    cursor: default;
  }
  .gsidebar-menu-list__item:first-child {
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
  }
  .gsidebar-menu-list__item:last-child {
  }
  .gsidebar-menu-list__item__button,
  .gsidebar-menu-list__item__link {
    padding: calc(12 / var(--font-size) * 1rem)
      calc(37 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem);
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
    display: block;
    position: relative;
    transition: 0.3s ease;
    cursor: pointer;
  }
  .gsidebar-menu-list__item__button > .gsidebar-menu-list__item__link {
    padding: 0;
  }
  .gsidebar-menu-list__item__button:before {
    content: "";
    background-color: var(--main-color);
    mask-image: url(/assets/img/common/ico_circle_cursor_02.svg);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(15 / var(--font-size) * 1rem);
    margin: auto 0;
    transition: 0.3s ease;
  }
  .gsidebar-menu-list__panel li span {
    display: block;
    width: 100%;
  }
  .gsidebar-menu-list__panel .u-text-link-icon {
    padding-left: calc(14 / var(--font-size) * 1rem);
    border-radius: calc(5 / var(--font-size) * 1rem);
    line-height: 1.5;
    width: 100%;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    transition: 0.3s ease;
    position: relative;
  }
  .gsidebar-menu-list__panel .u-text-link-icon:before {
    width: calc(12 / var(--font-size) * 1rem);
    height: calc(12 / var(--font-size) * 1rem);
    margin-top: 0;
  }
  .gsidebar-menu-list__panel .u-text-link-icon:hover {
    background-color: var(--color-white);
    color: var(--main-color);
    opacity: 1;
  }
  .gsidebar-menu-list__panel .u-text-link-icon.--disable {
    color: var(--color-gray_300) !important;
    pointer-events: none;
  }
  .gsidebar-menu-list__panel .u-text-link-icon.--disable:before {
    background: var(--color-gray_300) !important;
  }
  .gsidebar-menu-list__item.is-opened > .gsidebar-menu-list__panel {
    left: calc(247 / var(--font-size) * 1rem - 8 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__sub-item {
    position: relative;
  }
  .gsidebar-menu-list__item.is-opened
    > .gsidebar-menu-list__panel
    .gsidebar-menu-list__sub-item
    > .gsidebar-menu-list__panel {
    left: calc(-290 / var(--font-size) * 1rem - 247 / var(--font-size) * 1rem - 8 / var(--font-size) * 4rem);
  }
  .gsidebar-menu-list__item.is-opened
    > .gsidebar-menu-list__panel
    .gsidebar-menu-list__sub-item.is-opened
    > .gsidebar-menu-list__panel {
    left: calc(247 / var(--font-size) * 1rem + 8 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__panel .gsidebar-menu-list__panel__list__label {
    border-radius: calc(3 / var(--font-size) * 1rem);
    color: var(--color-white);
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: calc(-20 / var(--font-size) * 1rem);
    bottom: 0;
    margin: auto 0;
    max-width: calc(24 / var(--font-size) * 1rem);
    height: calc(24 / var(--font-size) * 1rem);
    line-height: calc(24 / var(--font-size) * 1rem);
  }

  .gsidebar-footer {
    margin-top: calc(19 / var(--font-size) * 1rem);
    border-top: calc(1 / var(--font-size) * 1rem) solid #e0e0e0;
    padding: calc(11 / var(--font-size) * 1rem)
      calc(16 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item + .gsidebar-footer-item {
    margin-top: calc(16 / var(--font-size) * 1rem);
  }
  .gsidebar-textlink + .gsidebar-textlink {
    margin-top: calc(15 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item .gsidebar-footer-btn {
    margin-left: calc(-8 / var(--font-size) * 1rem);
    width: calc(100% + (8 / var(--font-size) * 1rem));
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__link {
    background-color: var(--sub-color-03);
    border-color: var(--sub-color-03);
    color: var(--main-color);
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__link:hover {
    opacity: .7;
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__inner {
    min-height: calc(40 / var(--font-size) * 1rem);
    padding-left: calc(34 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__inner {
    padding-left: calc(13 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__text {
    text-align: left;
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__text__label {
    font-size: calc(15 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__arrow__icon {
    width: calc(13 / var(--font-size) * 1rem);
    height: calc(13 / var(--font-size) * 1rem);
    background-color: var(--color-white);
    border-radius: 50%;
  }
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__arrow__icon {
    background-color: var(--main-color);
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__arrow__icon svg,
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__arrow__icon img {
    fill: var(--main-color);
  }

  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__img {
    width: calc(32 / var(--font-size) * 1rem);
    height: calc(32 / var(--font-size) * 1rem);
    margin-left: calc(4 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__img svg,
  .gsidebar-footer-item .gsidebar-footer-btn .c-btn__img img {
    fill: var(--main-color);
  }

  /** **/
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__link {
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: var(--color-white);
  }
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__img {
    width: calc(16 / var(--font-size) * 1rem);
    height: calc(16 / var(--font-size) * 1rem);
    margin-left: calc(12 / var(--font-size) * 1rem);
  }
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__arrow__icon svg,
  .gsidebar-footer-item
    .gsidebar-footer-btn.--consumer
    .c-btn__arrow__icon
    img {
    fill: var(--color-white);
  }
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__img svg,
  .gsidebar-footer-item .gsidebar-footer-btn.--consumer .c-btn__img img {
    width: 100%;
    height: 100%;
    fill: var(--color-white);
  }
  /** **/

  .gsidebar-footer-item .gsidebar-footer-btn.--color-accent .c-btn__link {
    background-color: var(--main-accent-color);
    border-color: var(--main-accent-color);
    color: var(--color-white);
  }
  .gsidebar-footer-item
    .gsidebar-footer-btn.--color-accent
    .c-btn__arrow__icon
    svg,
  .gsidebar-footer-item
    .gsidebar-footer-btn.--color-accent
    .c-btn__arrow__icon
    img {
    fill: var(--color-white);
  }
  .gsidebar-footer-item .gsidebar-footer-btn.--color-accent .c-btn__img svg,
  .gsidebar-footer-item .gsidebar-footer-btn.--color-accent .c-btn__img img {
    fill: var(--color-white);
  }
  .gsidebar-menu-list__panel:has(.gsidebar-menu-list__sub-item) {
    padding: 0;
  }
  .gsidebar-menu-list__panel:has(.gsidebar-menu-list__sub-item)
    > .c-list
    > li:first-child {
    padding-top: calc(40 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__panel:has(.gsidebar-menu-list__sub-item)
    > .c-list
    > li:last-child {
    padding-bottom: calc(40 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color {
    position: relative;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color::before {
    content: "";
    width: calc(4 / var(--font-size) * 1rem);
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--main-accent-color);
    z-index: 1;
  }
  .gsidebar-menu-list__item--accent-color .gsidebar-menu-list__panel {
    background-color: var(--bg-accent-color);
  }
  .gsidebar-menu-list--accent-color .gsidebar-menu-list__panel {
    background-color: var(--sub-accent-color-02);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color {
    position: relative;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color::before {
    content: "";
    width: calc(4 / var(--font-size) * 1rem);
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--main-color);
    z-index: 1;
  }
  .gsidebar-menu-list__item--main-color .gsidebar-menu-list__panel {
    background-color: var(--sub-color-03);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color
    .gsidebar-menu-list__item__button:before {
    background-color: var(--main-accent-color);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color
    .u-text-link-icon:before {
    background-color: var(--main-accent-color);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color
    .gsidebar-menu-list__panel
    .u-text-link-icon:hover {
    color: var(--main-accent-color);
  }
  .js-drop-menu.is-opened.gsidebar-menu-list__item--accent-color
    .gsidebar-menu-list__item__button {
    background-color: var(--bg-accent-color);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon {
    border-top: none;
    border-bottom: none;
    margin-top: calc(14 / var(--font-size) * 1rem);
    padding: 0 calc(9 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon::before {
    content: none;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__label {
    color: var(--text-color);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__link,
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__button {
    background-color: var(--sub-color-jigyo02-02);
    border-radius: calc(5 / var(--font-size) * 1rem);
    padding: calc(8 / var(--font-size) * 1rem)
      calc(10 / var(--font-size) * 1rem);
    padding-right: calc(39 / var(--font-size) * 1rem);
    text-align: left;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__button:before {
    content: none;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__arrow {
    position: absolute;
    right: calc(10 / var(--font-size) * 1rem);
    top: 0;
    bottom: 0;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    margin: auto 0;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__arrow__icon {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__arrow__icon:before {
    content: "";
    /* 背景がアイコンからはみ出さないため-20% */
    width: 80%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--main-strong-color-jigyo02);
    border-radius: 50%;
    transition: 0.3s ease;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__arrow__icon
    svg {
    width: 100%;
    height: 100%;
    fill: var(--sub-color-jigyo02-02);
    position: relative;
    z-index: 1;
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    .gsidebar-menu-list__item__button:hover {
    background-color: var(--bg-color-jigyo02);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color-icon {
    margin-top: calc(18 / var(--font-size) * 1rem);
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
    border-bottom: none;
    color: var(--main-accent-color);
  }
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color-icon
    .gsidebar-menu-list__item__link,
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color-icon
    .gsidebar-menu-list__item__button {
    padding-top: calc(14 / var(--font-size) * 1rem);
    padding-bottom: calc(10 / var(--font-size) * 1rem);
    text-align: center;
  }
  /* セクション見出し直後のメニュー項目 */
  .gsidebar-menu-list__item.gsidebar-menu-list__item--main-color-icon
    + .gsidebar-menu-list__item,
  .gsidebar-menu-list__item.gsidebar-menu-list__item--accent-color-icon
    + .gsidebar-menu-list__item {
  }
  .gsidebar-menu-list__item
    .gsidebar-menu-list__panel.gsidebar-menu-list__panel--main-color {
    background-color: #f3fde7;
  }
  .gsidebar-menu-list__item
    .gsidebar-menu-list__panel.gsidebar-menu-list__panel--main-color
    .u-text-link-icon:before {
    background-color: var(--main-color);
  }
  .gsidebar-menu-list__item
    .gsidebar-menu-list__panel.gsidebar-menu-list__panel--main-color
    .u-text-link-icon:hover {
    color: var(--main-color);
  }
  .gsidebar-textlink__object {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    display: flex;
    align-items: center;
    transition: 0.3s ease;
  }
  .gsidebar-textlink__object__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(12 / var(--font-size) * 1rem);
    height: calc(12 / var(--font-size) * 1rem);
    position: relative;
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .gsidebar-textlink__object__icon:before {
    content: "";
    /* 背景がアイコンからはみ出さないため-20% */
    width: 80%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--color-white);
    border-radius: 50%;
  }
  .gsidebar-textlink__object__icon svg {
    width: 100%;
    height: 100%;
    fill: var(--main-color);
    position: relative;
    z-index: 1;
  }
  .gsidebar-textlink__object:hover {
    opacity: 0.7;
  }
  /* メニューボタン（--construction）共通スタイル */
  .gsidebar-menu-list__item.--construction {
    border: none;
    pa
  }
  .gsidebar-menu-list__item.--construction .gsidebar-menu-list__item__button {
    background-color: var(--color-gray_50);
    border-radius: calc(5 / var(--font-size) * 1rem);
    padding: calc(8 / var(--font-size) * 1rem)
      calc(10 / var(--font-size) * 1rem);
    padding-right: calc(39 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__item.--construction
    .gsidebar-menu-list__item__button:before {
    content: none;
  }
  .gsidebar-menu-list__item.--construction .gsidebar-menu-list__item__arrow {
    position: absolute;
    right: calc(10 / var(--font-size) * 1rem);
    top: 0;
    bottom: 0;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    margin: auto 0;
  }
  .gsidebar-menu-list__item.--construction
    .gsidebar-menu-list__item__arrow__icon {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .gsidebar-menu-list__item.--construction
    .gsidebar-menu-list__item__arrow__icon:before {
    content: "";
    /* 背景がアイコンからはみ出さないため-20% */
    width: 80%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--main-strong-color-jigyo02);
    border-radius: 50%;
    transition: 0.3s ease;
  }
  .gsidebar-menu-list__item.--construction
    .gsidebar-menu-list__item__arrow__icon
    svg {
    width: 100%;
    height: 100%;
    fill: #CFF473;
    position: relative;
    z-index: 1;
  }
  .gsidebar-menu-list__item.--construction
    .gsidebar-menu-list__item__button:hover {
    background-color: var(--sub-color-03);
  }
  /* メニューボタン（--shinchiku, --new-house, --housing-purchase, --housing-lease）共通スタイル */
  .gsidebar-menu-list__item.--shinchiku,
  .gsidebar-menu-list__item.--new-house,
  .gsidebar-menu-list__item.--housing-purchase,
  .gsidebar-menu-list__item.--housing-lease {
    border-bottom: none;
    margin-top: calc(14 / var(--font-size) * 1rem);
    padding: 0;
  }
  .gsidebar-menu-list__item.--shinchiku::before,
  .gsidebar-menu-list__item.--new-house::before,
  .gsidebar-menu-list__item.--housing-purchase::before,
  .gsidebar-menu-list__item.--housing-lease::before {
    content: none;
  }
  .gsidebar-menu-list__item.--shinchiku .gsidebar-menu-list__item__button,
  .gsidebar-menu-list__item.--new-house .gsidebar-menu-list__item__button,
  .gsidebar-menu-list__item.--housing-purchase
    .gsidebar-menu-list__item__button,
  .gsidebar-menu-list__item.--housing-lease .gsidebar-menu-list__item__button {
    background-color: var(--color-white);
    border-radius: calc(5 / var(--font-size) * 1rem);
    padding: calc(8 / var(--font-size) * 1rem)
      calc(10 / var(--font-size) * 1rem);
    padding-right: calc(39 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__item.--shinchiku
    .gsidebar-menu-list__item__button:before,
  .gsidebar-menu-list__item.--new-house
    .gsidebar-menu-list__item__button:before,
  .gsidebar-menu-list__item.--housing-purchase
    .gsidebar-menu-list__item__button:before,
  .gsidebar-menu-list__item.--housing-lease
    .gsidebar-menu-list__item__button:before {
    content: none;
  }
  .gsidebar-menu-list__item.--shinchiku .gsidebar-menu-list__item__arrow,
  .gsidebar-menu-list__item.--new-house .gsidebar-menu-list__item__arrow,
  .gsidebar-menu-list__item.--housing-purchase .gsidebar-menu-list__item__arrow,
  .gsidebar-menu-list__item.--housing-lease .gsidebar-menu-list__item__arrow {
    position: absolute;
    right: calc(10 / var(--font-size) * 1rem);
    top: 0;
    bottom: 0;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    margin: auto 0;
  }
  .gsidebar-menu-list__item.--shinchiku .gsidebar-menu-list__item__arrow__icon,
  .gsidebar-menu-list__item.--new-house .gsidebar-menu-list__item__arrow__icon,
  .gsidebar-menu-list__item.--housing-purchase
    .gsidebar-menu-list__item__arrow__icon,
  .gsidebar-menu-list__item.--housing-lease
    .gsidebar-menu-list__item__arrow__icon {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .gsidebar-menu-list__item.--shinchiku
    .gsidebar-menu-list__item__arrow__icon:before,
  .gsidebar-menu-list__item.--new-house
    .gsidebar-menu-list__item__arrow__icon:before,
  .gsidebar-menu-list__item.--housing-purchase
    .gsidebar-menu-list__item__arrow__icon:before,
  .gsidebar-menu-list__item.--housing-lease
    .gsidebar-menu-list__item__arrow__icon:before {
    content: "";
    /* 背景がアイコンからはみ出さないため-20% */
    width: 80%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--main-strong-color-jigyo02);
    border-radius: 50%;
    transition: 0.3s ease;
  }
  .gsidebar-menu-list__item.--shinchiku
    .gsidebar-menu-list__item__arrow__icon
    svg {
    width: 100%;
    height: 100%;
    fill: #CFF473;
    position: relative;
    z-index: 1;
  }
  .gsidebar-menu-list__item.--new-house
    .gsidebar-menu-list__item__arrow__icon
    svg,
  .gsidebar-menu-list__item.--housing-purchase
    .gsidebar-menu-list__item__arrow__icon
    svg,
  .gsidebar-menu-list__item.--housing-lease
    .gsidebar-menu-list__item__arrow__icon
    svg {
    width: 100%;
    height: 100%;
    fill: var(--sub-color-jigyo02-02);
    position: relative;
    z-index: 1;
  }
  .gsidebar-menu-list__item.--shinchiku .gsidebar-menu-list__item__button:hover,
  .gsidebar-menu-list__item.--new-house .gsidebar-menu-list__item__button:hover,
  .gsidebar-menu-list__item.--housing-purchase
    .gsidebar-menu-list__item__button:hover,
  .gsidebar-menu-list__item.--housing-lease
    .gsidebar-menu-list__item__button:hover {
    background-color: var(--sub-color-03);
  }
  /* メニューボタン（--reform）スタイル */
  .gsidebar-menu-list__item.--reform {
    border: none;
    margin: 0;
    padding: 0;
  }
  .gsidebar-menu-list__item.--reform::before {
    content: none;
  }
  .gsidebar-menu-list__item.--reform .gsidebar-menu-list__item__button {
    background-color: var(--sub-color-jigyo02-02);
    border-radius: calc(5 / var(--font-size) * 1rem);
    padding: calc(8 / var(--font-size) * 1rem)
      calc(10 / var(--font-size) * 1rem);
    padding-right: calc(39 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list__item.--reform .gsidebar-menu-list__item__button:before {
    content: none;
  }
  .gsidebar-menu-list__item.--reform .gsidebar-menu-list__item__arrow {
    position: absolute;
    right: calc(10 / var(--font-size) * 1rem);
    top: 0;
    bottom: 0;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    margin: auto 0;
  }
  .gsidebar-menu-list__item.--reform .gsidebar-menu-list__item__arrow__icon {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .gsidebar-menu-list__item.--reform
    .gsidebar-menu-list__item__arrow__icon:before {
    content: "";
    /* 背景がアイコンからはみ出さないため-20% */
    width: 80%;
    height: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: var(--main-strong-color-jigyo02);
    border-radius: 50%;
    transition: 0.3s ease;
  }
  .gsidebar-menu-list__item.--reform
    .gsidebar-menu-list__item__arrow__icon
    svg {
    width: 100%;
    height: 100%;
    fill: var(--sub-color-jigyo02-02);
    position: relative;
    z-index: 1;
  }
  .gsidebar-menu-list__item.--reform .gsidebar-menu-list__item__button:hover {
    background-color: var(--bg-color-jigyo02);
  }
  /* メニューボタン（--accent-color配下の--reform：リフォーム）スタイル */
  .gsidebar-menu-list--accent-color
    .gsidebar-menu-list__item.--reform
    .gsidebar-menu-list__item__button {
    background-color: var(--color-white);
  }
  .gsidebar-menu-list--accent-color
    .gsidebar-menu-list__item.--reform
    .gsidebar-menu-list__item__arrow__icon:before {
    background-color: var(--main-strong-color-jigyo01);
  }
  .gsidebar-menu-list--accent-color
    .gsidebar-menu-list__item.--reform
    .gsidebar-menu-list__item__arrow__icon
    svg {
    fill: var(--sub-color-jigyo01-02);
  }
  .gsidebar-menu-list--accent-color
    .gsidebar-menu-list__item.--reform
    .gsidebar-menu-list__item__button:hover {
    background-color: var(--sub-accent-color-02);
  }
  /* メニューラベルのletter-spacing調整 */
  .gsidebar-menu-list__item__label {
    letter-spacing: -0.01em;
  }
  /* disabledスタイル */
  .gsidebar-menu-list__item.--disabled {
    pointer-events: none;
  }
  .gsidebar-menu-list .gsidebar-menu-list__item.--disabled .gsidebar-menu-list__item__button {
    background-color: var(--color-gray_300);
    color: var(--color-white);
  }
  .gsidebar-menu-list .gsidebar-menu-list__item.--disabled .gsidebar-menu-list__item__label {
    color: var(--color-white);
  }
  .gsidebar-menu-list .gsidebar-menu-list__item.--disabled
    .gsidebar-menu-list__item__arrow__icon:before {
    background-color: var(--color-gray_300);
  }
  .gsidebar-menu-list .gsidebar-menu-list__item.--disabled
    .gsidebar-menu-list__item__arrow__icon
    svg {
    fill: var(--color-white);
  }
  .gsidebar-menu-list__item.--other .gsidebar-menu-list__panel {
    top: calc(-38 / var(--font-size) * 1rem);
  }

  .business-menu-list {
  }
  .business-menu-list__panel {
    background-color: var(--color-white);
    padding: calc(30 / var(--font-size) * 1rem)
      calc(9 / var(--font-size) * 1rem) calc(30 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    border-radius: calc(4 / var(--font-size) * 1rem);
    width: calc(250 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(-1000 / var(--font-size) * 1rem);
    right: calc(67 / var(--font-size) * 1rem);
    z-index: 5000;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0px 8px 0px;
  }
  .business-menu-list__head {
    padding: 0 calc(18 / var(--font-size) * 1rem)
      calc(5 / var(--font-size) * 1rem);
    margin-top: calc(21 / var(--font-size) * 1rem);
  }
  .business-menu-list__head:first-of-type {
    margin-top: 0;
  }
  .business-menu-list__panel li {
    margin-top: 0;
  }
  .business-menu-list__panel a {
    padding: calc(8 / var(--font-size) * 1rem) calc(6 / var(--font-size) * 1rem)
      calc(8 / var(--font-size) * 1rem) calc(17 / var(--font-size) * 1rem);
    border-radius: calc(5 / var(--font-size) * 1rem);
  }
  .business-menu-list__item {
  }
  .business-menu-list__item:first-child {
  }
  .business-menu-list__item:last-child {
  }
  .business-menu-list__item__button,
  .business-menu-list__item__link {
    display: block;
    position: relative;
    transition: 0.3s ease;
    cursor: pointer;
  }
  .business-menu-list__panel li + li {
    margin-top: calc(0 / var(--font-size) * 1rem);
  }
  .business-menu-list__panel li span {
    display: block;
    width: 100%;
  }
  .business-menu-list__panel .u-text-link-icon {
    border-radius: calc(5 / var(--font-size) * 1rem);
    line-height: 1.7;
    width: 100%;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    transition: 0.3s ease;
  }
  .business-menu-list__panel .u-text-link-icon:before {
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(15 / var(--font-size) * 1rem);
    margin-top: calc(4 / var(--font-size) * 1rem);
  }
  .business-menu-list__panel .u-text-link-icon:hover {
    background-color: var(--color-gray_100);
    color: var(--main-color);
    font-weight: bold;
  }
  .business-menu-list__item.is-opened .business-menu-list__panel {
    top: calc(60 / var(--font-size) * 1rem);
  }
  .business-footer {
    padding: calc(20 / var(--font-size) * 1rem)
      calc(32 / var(--font-size) * 1rem) calc(20 / var(--font-size) * 1rem)
      calc(20 / var(--font-size) * 1rem);
  }
  .business-textlink + .business-textlink {
    margin-top: calc(15 / var(--font-size) * 1rem);
  }
  .business-textlink__object {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    display: flex;
    align-items: center;
    transition: 0.3s ease;
  }
  .business-textlink__object__icon {
    background-color: var(--main-color);
    mask-image: url(/assets/img/common/ico_circle_cursor.svg);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(15 / var(--font-size) * 1rem);
    position: relative;
    top: calc(2 / var(--font-size) * 1rem);
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .business-textlink__object:hover {
    opacity: 0.7;
  }
  .business-menu-list__item.--other .business-menu-list__panel {
    top: calc(-38 / var(--font-size) * 1rem);
  }

  .l-gsidebar__inner.--kyutou .gsidebar-logo__object {
    max-width: calc(105 / var(--font-size) * 1rem);
  }
  .l-gsidebar__inner.--kyutou .gsidebar-menu-list__panel {
    background-color: var(--sub-color);
  }
  .l-gsidebar__inner.--kyutou
    .js-drop-menu.is-opened
    .gsidebar-menu-list__item__button {
    background-color: var(--sub-color);
  }
  /** **/
  .l-gsidebar__inner.--chintai .gsidebar-logo__object {
    max-width: calc(189 / var(--font-size) * 1rem);
  }
  .l-gsidebar__inner.--chintai .gsidebar-menu-list__panel {
    background-color: var(--sub-color);
  }
  .l-gsidebar__inner.--chintai
    .js-drop-menu.is-opened
    .gsidebar-menu-list__item__button {
    background-color: var(--sub-color);
  }

  .gsidebar-search {
    max-width: calc(320 / var(--font-size) * 1rem);
    width: 100%;
    margin-left: calc(8 / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_items_wrapper {
  }
  .gsidebar-search .mf_finder_searchBox_items {
    padding: 0;
    border: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
    border-radius: calc(5 / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_query_input {
    padding: 0
      calc(
        calc(16 / var(--font-size) * 1rem) + calc(53 / var(--font-size) * 1rem)
      )
      0 calc(16 / var(--font-size) * 1rem);
    border: 0;
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 500;
    background: transparent;
    cursor: auto;
  }
  .gsidebar-search .mf_finder_searchBox_query_input:focus {
    border-radius: calc(5 / var(--font-size) * 1rem);
    outline-color: var(--main-color);
  }
  .gsidebar-search .mf_finder_searchBox_query_input::placeholder {
    color: var(--color-gray_400);
    background: transparent;
  }
  .gsidebar-search .mf_finder_searchBox_submit {
    background-color: transparent;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: block;
    height: 100%;
    width: calc(53 / var(--font-size) * 1rem);
    background-color: var(--main-color);
    padding: 0;
    transition: all 0.3s ease;
  }
  .gsidebar-search .mf_finder_searchBox_submit:before {
    content: "";
    background-color: var(--color-white);
    mask-image: url(/assets/img/common/ico_zoom.svg);
    mask-size: cover;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .gsidebar-search .mf_finder_searchBox_submit span {
    display: none;
  }
  .gsidebar-search .mf_finder_searchBox_submit:hover {
    opacity: 0.7;
  }

  .gsidebar-convertion {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(16 / var(--font-size) * 1rem);
    margin-top: calc(24 / var(--font-size) * 1rem);
  }
  .gsidebar-button {
    max-width: calc(100% / 2 - calc(4.5 / var(--font-size) * 1rem));
    width: 100%;
    height: calc(91 / var(--font-size) * 1rem);
  }
  .gsidebar-button__link {
    border-radius: calc(5 / var(--font-size) * 1rem);
    text-align: center;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: 0.3s ease;
  }
  .gsidebar-button__link:hover {
    opacity: 0.8;
  }
  .gsidebar-button__icon {
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    max-width: calc(40 / var(--font-size) * 1rem);
    width: 100%;
    height: calc(40 / var(--font-size) * 1rem);
    display: block;
  }
  .gsidebar-button__label {
    color: var(--color-white);
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 600;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(34 / var(--font-size) * 1rem);
    margin-top: calc(1 / var(--font-size) * 1rem);
  }

  .gsidebar-button.--download {
  }
  .gsidebar-button.--download .gsidebar-button__link {
    background-color: var(--sub-color-02);
    border: calc(1 / var(--font-size) * 1rem) solid transparent;
  }
  .gsidebar-button.--download .gsidebar-button__link:hover {
    background-color: var(--sub-color-03);
    border-color: var(--main-color);
    opacity: 1;
  }
  .gsidebar-button.--download .gsidebar-button__icon {
    mask-image: url(/assets/img/common/ico_document-download.svg);
    background: var(--main-color);
  }
  .gsidebar-button.--download .gsidebar-button__label {
    color: var(--main-color);
  }
  .gsidebar-button.--login {
    margin-left: calc(9 / var(--font-size) * 1rem);
  }
  .gsidebar-button.--login .gsidebar-button__link {
    background-color: var(--main-accent-color);
  }
  .gsidebar-button.--login .gsidebar-button__icon {
    mask-image: url(/assets/img/common/ico_login.svg);
    background: var(--color-white);
  }
  .gsidebar-button.--contact {
    max-width: none;
    height: calc(56 / var(--font-size) * 1rem);
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .gsidebar-button.--contact .gsidebar-button__link {
    background-color: var(--sub-color-02);
    flex-direction: row;
  }
  .gsidebar-button.--contact .gsidebar-button__icon {
    mask-image: url(/assets/img/common/ico_contact.svg);
    background: var(--main-color);
    max-width: calc(14 / var(--font-size) * 1rem);
    height: calc(16 / var(--font-size) * 1rem);
  }
  .gsidebar-button.--contact .gsidebar-button__label {
    color: var(--main-color);
    font-size: calc(var(--text-size-m) / var(--font-size) * 1rem);
    margin-left: calc(8 / var(--font-size) * 1rem);
  }

  .header-menubutton {
    padding: calc(10 / var(--font-size) * 1rem);
    border-radius: calc(2 / var(--font-size) * 1rem);
    cursor: pointer;
    transition: 0.3s ease;
  }
  .header-menubutton__inner {
    width: calc(24 / var(--font-size) * 1rem);
    display: flex;
    flex-wrap: wrap;
  }
  .header-menubutton__inner i {
    background-color: var(--color-gray_400);
    border-radius: 100%;
    display: block;
    width: calc(4 / var(--font-size) * 1rem);
    height: calc(4 / var(--font-size) * 1rem);
    margin-top: calc(5 / var(--font-size) * 1rem);
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .header-menubutton__inner i:first-child,
  .header-menubutton__inner i:nth-child(2),
  .header-menubutton__inner i:nth-child(3) {
    margin-top: 0;
  }
  .header-menubutton__inner i:first-child,
  .header-menubutton__inner i:nth-child(4),
  .header-menubutton__inner i:nth-child(7) {
    margin-left: 0;
  }

  .header-menu__inner {
    padding-top: calc(20 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(-471 / var(--font-size) * 1rem);
    left: calc(20 / var(--font-size) * 1rem);
  }
  .header-menu__body {
    background-color: var(--color-white);
    padding: calc(18 / var(--font-size) * 1rem)
      calc(16 / var(--font-size) * 1rem);
    border-radius: calc(4 / var(--font-size) * 1rem);
    width: calc(495 / var(--font-size) * 1rem);
    height: calc(200 / var(--font-size) * 1rem);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    box-shadow: 0px 0px calc(17 / var(--font-size) * 1rem)
      calc(-2 / var(--font-size) * 1rem) rgba(0, 0, 0, 0.28);
    transform: translateY(calc(-15 / var(--font-size) * 1rem));
    transition: transform 0.3s ease;
  }
  .header-menu__list + .header-menu__list {
    margin-top: calc(52 / var(--font-size) * 1rem);
    margin-left: calc(10 / var(--font-size) * 1rem);
  }
  .header-menu__list__link {
    padding: calc(12 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    border-radius: calc(5 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    transition: 0.3s ease;
  }
  .header-menu__list__icon {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    min-width: calc(34 / var(--font-size) * 1rem);
    height: calc(30 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-menu__list__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0;
    margin-left: calc(13 / var(--font-size) * 1rem);
  }
  .header-menu__list__link:hover {
    background-color: var(--color-gray_100);
  }

  .header-menu__list__item.--portal .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_portal.png);
  }
  .header-menu__list__item.--kosodate .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_mirai.png);
  }
  .header-menu__list__item.--mado .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_mado.png);
  }
  .header-menu__list__item.--kyutou .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_kyutou.png);
  }
  .header-menu__list__item.--chintai .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_chintai.png);
  }
  .header-menu__list__item.--gx .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_gx.svg);
  }

  .header-menubutton.is-opened {
    background-color: var(--color-gray_200);
  }
  .header-menubutton.is-opened i {
    background-color: var(--main-color);
  }
  .header-menubutton.is-opened .header-menu__inner {
    top: calc(42 / var(--font-size) * 1rem);
  }
  .header-menubutton.is-opened .header-menu__body {
    transform: translateY(calc(0 / var(--font-size) * 1rem));
  }

  .header-menu__list.--list-01 {
    width: 100%;
    height: 100%;
  }
  .header-menu__list.--list-01 .header-menu__list__item {
    display: inline-block;
    width: calc((100% - calc(20 / var(--font-size) * 1rem)) / 2);
  }
  .header-menu__list.--list-01 .header-menu__list__item.--portal {
    display: block;
  }

  .header-convertion {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
  }
  .header-button {
    border-left: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
    max-width: calc(81 / var(--font-size) * 1rem);
    width: 100%;
    position: relative;
  }
  .header-convertion:not(:has(.header-jigyo)) .header-button {
    max-width: calc(143 / var(--font-size) * 1rem);
  }
  .header-button + .header-button {
  }
  .header-button__link {
    padding-top: calc(2 / var(--font-size) * 1rem);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: 0.3s ease;
    height: calc(64 / var(--font-size) * 1rem);
  }
  .header-button__link:hover {
    opacity: 0.8;
  }
  .header-convertion:not(:has(.header-jigyo)) .header-button__link {
    flex-direction: row;
  }
  .header-button__icon {
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    max-width: calc(40 / var(--font-size) * 1rem);
    width: 100%;
    height: calc(40 / var(--font-size) * 1rem);
    display: block;
    position: relative;
    z-index: 50;
  }
  .header-button__label {
    color: var(--text-color);
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(30 / var(--font-size) * 1rem);
    position: relative;
    z-index: 50;
  }
  .header-convertion:not(:has(.header-jigyo)) .header-button__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    margin-top: 0 !important;
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .header-convertion:not(:has(.header-jigyo)) .header-button__label br {
    display: none;
  }

  .header-button.--faq {
  }
  .header-button.--faq .header-button__link {
  }
  .header-button.--faq .header-button__icon {
    mask-image: url(/assets/img/common/ico_faq.svg);
    background: var(--text-color);
    max-width: calc(18 / var(--font-size) * 1rem);
    height: calc(22 / var(--font-size) * 1rem);
  }
  .header-button.--faq .header-button__label {
  }

  .header-button.--contact {
  }
  .header-button.--contact .header-button__link {
  }
  .header-button.--contact .header-button__icon {
    mask-image: url(/assets/img/common/ico_contact.svg);
    background: var(--text-color);
    max-width: calc(14 / var(--font-size) * 1rem);
    height: calc(16 / var(--font-size) * 1rem);
  }
  .header-button.--contact .header-button__label {
    margin-top: calc(5 / var(--font-size) * 1rem);
  }
  .header-button.--business {
  }
  .header-button.--business .header-button__link {
    padding: calc(10 / var(--font-size) * 1rem)
      calc(18 / var(--font-size) * 1rem);
    background-color: var(--color-gray_100);
    border-radius: calc(5 / var(--font-size) * 1rem);
  }
  .header-button.--business .header-button__icon {
    mask-image: url(/assets/img/common/ico_business.svg);
    background: var(--main-color);
    max-width: calc(24 / var(--font-size) * 1rem);
    height: calc(22 / var(--font-size) * 1rem);
  }
  .header-button.--business .header-button__label {
    color: var(--main-color);
    font-size: calc(15 / var(--font-size) * 1rem);
    margin-left: calc(6 / var(--font-size) * 1rem);
  }
  .header-button.--business .header-button__link:hover {
    background-color: var(--main-color);
  }
  .header-button.--business .header-button__link:hover .header-button__icon {
    background: var(--color-white);
  }
  .header-button.--business .header-button__link:hover .header-button__label {
    color: var(--color-white);
  }
  .header-button.--login {
  }
  .header-button.--login .header-button__link {
  }
  .header-button.--login .header-button__icon {
    position: relative;
    top: calc(6 / var(--font-size) * 1rem);
    left: calc(-2 / var(--font-size) * 1rem);
    mask-image: url(/assets/img/common/ico_header_login.svg);
    background: var(--text-color);
    max-width: calc(21 / var(--font-size) * 1rem);
    height: calc(17 / var(--font-size) * 1rem);
  }
  .header-button.--login .header-button__label {
    margin-top: calc(5 / var(--font-size) * 1rem);
  }

  .header-button.js-drop-menu .header-button__link:before {
    content: "";
    background-color: #f8f8f8;
    display: block;
    width: calc(51 / var(--font-size) * 1rem);
    height: calc(48 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    z-index: 10;
    opacity: 0;
    transition: 0.3s;
  }
  .header-button.js-drop-menu:hover .header-button__link:before {
    opacity: 1;
  }
  .header-button.js-drop-menu:hover .header-button__link .header-button__icon {
    background-color: var(--main-color);
  }
  .header-button.js-drop-menu:hover .header-button__link .header-button__label {
    color: var(--main-color);
  }
  .header-button.js-drop-menu:hover .header-menu-lower {
    top: calc(62 / var(--font-size) * 1rem);
  }

  /** hover menu **/
  .header-menu-lower {
    width: calc(330 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(-1000 / var(--font-size) * 1rem);
    left: calc(-140 / var(--font-size) * 1rem);
    z-index: 10;
  }
  .header-menu-lower__inner {
    background-color: var(--color-white);
    padding: calc(10 / var(--font-size) * 1rem)
      calc(10 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem)
      calc(0 / var(--font-size) * 1rem);
    border-radius: calc(4 / var(--font-size) * 1rem);
    box-shadow: calc(2 / var(--font-size) * 1rem)
      calc(2 / var(--font-size) * 1rem) calc(10 / var(--font-size) * 1rem)
      rgba(0, 0, 0, 0.2);
  }
  .header-menu-lower__body {
    display: flex;
  }
  .header-menu-lower__title {
    text-align: center;
    max-width: calc(88 / var(--font-size) * 1rem);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-menu-lower__title__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--main-color);
  }
  .header-menu-lower__menu {
    padding: calc(12 / var(--font-size) * 1rem)
      calc(0 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem)
      calc(16 / var(--font-size) * 1rem);
    border-left: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
    width: 100%;
  }
  .header-menu-lower__menu__list__item__link {
    padding: calc(10 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    border-radius: calc(5 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    transition: 0.3s ease;
    position: relative;
  }
  .header-menu-lower__menu__list__item__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
  }
  .header-menu-lower__menu__list__item__icon {
    content: "";
    background-color: var(--main-color);
    mask-image: url(/assets/img/common/ico_circle_cursor.svg);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(15 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(11 / var(--font-size) * 1rem);
    right: calc(5 / var(--font-size) * 1rem);
    transition: 0.3s ease;
  }
  .header-menu-lower__menu__list__item__link:hover {
    background-color: #f8f8f8;
    color: var(--main-color);
  }
  /** **/
}

@media all and (max-width: 767px) {
  .l-gsidebar {
  }
  .l-gsidebar__body {
  }
  .gsidebar-logo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: calc(48 / var(--font-size) * 1rem);
    padding: 0 calc(15 / var(--font-size) * 1rem);
  }
  .gsidebar-logo__object {
    width: calc(232 / var(--font-size) * 1rem);
  }
  .l-gsidebar__inner.--window .gsidebar-logo__object {
    width: calc(135.58 / var(--font-size) * 1rem);
  }
  .l-gsidebar__inner.--kyutou .gsidebar-logo__object {
    width: calc(113.84 / var(--font-size) * 1rem);
  }
  .l-gsidebar__inner.--chintai .gsidebar-logo__object {
    width: calc(148 / var(--font-size) * 1rem);
  }
  .gsidebar-menu-list {
    display: flex;
    justify-content: center;
  }
  .gsidebar-menu-list__panel {
    text-align: center;
  }
  .gsidebar-menu-list__panel li {
  }
  .gsidebar-menu-list__panel a {
  }
  .gsidebar-menu-list__item {
    flex-grow: 1;
    width: calc(1 / 3 * 100%);
  }
  .gsidebar-menu-list__item__button,
  .gsidebar-menu-list__item__link {
    height: 100%;
    padding: calc(9 / var(--font-size) * 1rem) 0;
    font-size: calc(11 / var(--font-size) * 1rem);
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    text-align: center;
    color: var(--main-color);
  }
  .gsidebar-footer {
  }

  .header-menubutton {
  }
  .header-menubutton__inner {
    width: calc(24 / var(--font-size) * 1rem);
    display: flex;
    flex-wrap: wrap;
  }
  .header-menubutton__inner i {
    background-color: var(--color-gray_400);
    border-radius: 100%;
    display: block;
    width: calc(4 / var(--font-size) * 1rem);
    height: calc(4 / var(--font-size) * 1rem);
    margin-top: calc(5 / var(--font-size) * 1rem);
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .header-menubutton__inner i:first-child,
  .header-menubutton__inner i:nth-child(2),
  .header-menubutton__inner i:nth-child(3) {
    margin-top: 0;
  }
  .header-menubutton__inner i:first-child,
  .header-menubutton__inner i:nth-child(4),
  .header-menubutton__inner i:nth-child(7) {
    margin-left: 0;
  }

  .sp-float-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: calc(58 / var(--font-size) * 1rem);
    background-color: var(--color-white);
    overflow: hidden;
    z-index: 10000;
  }
  .sp-float-menu-link {
    flex-grow: 1;
    width: calc(1 / 5 * 100%);
    height: 100%;
  }
  .sp-float-menu-link .header__menu-button__link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .sp-float-menu-link .header__menu-button__label {
    display: inline-block;
    vertical-align: top;
    line-height: calc(15 / 12 * 1);
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    color: var(--main-color);
  }

  .header-menu__inner {
    position: relative;
    padding: calc(32 / var(--font-size) * 1rem)
      calc(15 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem);
    background-color: var(--color-gray_100);
    min-height: 100%;
  }
  .header-menu__body {
    margin-top: calc(32 / var(--font-size) * 1rem);
  }
  .header-menu__body:first-child {
    margin-top: 0;
  }
  .sp-gsidebar-menu-list {
    overflow: hidden;
  }
  .sp-gsidebar-menu-list__item__block + .sp-gsidebar-menu-list__item__block {
    margin-top: calc(24 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__block--b {
    padding-top: calc(24 / var(--font-size) * 1rem);
    border-top: calc(2 / var(--font-size) * 1rem) solid var(--color-gray_300);
  }
  .sp-gsidebar-menu-list__item {
    border: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_200);
    border-radius: calc(10 / var(--font-size) * 1rem);
    background-color: var(--color-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .sp-gsidebar-menu-list__item:first-child {
    border-top: none;
  }
  .sp-gsidebar-menu-list__item:first-child .sp-gsidebar-menu-list__item__button,
  .sp-gsidebar-menu-list__item:first-child .sp-gsidebar-menu-list__item__link {
  }
  .sp-gsidebar-menu-list__item:first-child
    .sp-gsidebar-menu-list__item__link:before {
  }

  .sp-gsidebar-menu-list__item:last-child .sp-gsidebar-menu-list__item__button,
  .sp-gsidebar-menu-list__item:last-child .sp-gsidebar-menu-list__item__link {
  }
  .sp-gsidebar-menu-list__item:last-child
    .sp-gsidebar-menu-list__item__link::before {
    top: calc(10 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__button {
    padding: calc(19 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem) 0;
    display: flex;
    align-items: center;
  }
  .sp-gsidebar-menu-list__item + .sp-gsidebar-menu-list__title {
    padding-top: calc(20 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__panel {
  }
  .sp-gsidebar-menu-list__panel li {
    display: flex;
    align-items: flex-start;
  }
  .sp-gsidebar-menu-list__panel li + li {
    margin-top: calc(8 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__panel li > span {
    display: block;
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    font-weight: 400 !important;
    line-height: calc(30 / 14 * 1);
  }
  .sp-gsidebar-menu-list__panel li .c-list__ico {
    padding-right: calc(16 / var(--font-size) * 1rem);
    position: relative;
  }
  .sp-gsidebar-menu-list__panel li .c-list__ico::before {
    content: "";
    position: absolute;
    top: calc(10 / var(--font-size) * 1rem);
    display: inline-block;
    width: calc(8 / var(--font-size) * 1rem);
    height: calc(1 / var(--font-size) * 1rem);
    background-color: var(--color-black-sub);
  }
  .sp-gsidebar-menu-list__panel .c-list--dot .c-list__ico::before {
    content: "";
    position: absolute;
    top: calc(8 / var(--font-size) * 1rem);
    display: inline-block;
    width: calc(6 / var(--font-size) * 1rem);
    height: calc(6 / var(--font-size) * 1rem);
    background-color: var(--main-color);
    border-radius: 100%;
  }
  .sp-gsidebar-menu-list__panel p,
  .sp-gsidebar-menu-list__panel li a {
    display: block;
    line-height: calc(22.4 / 14 * 1);
  }
  .sp-gsidebar-menu-list__panel li .u-text-bold a {
    font-weight: bold !important;
  }
  .sp-gsidebar-menu-list__panel li a::before,
  .sp-gsidebar-menu-list__panel li a::after {
    content: none;
  }
  .sp-gsidebar-menu-list__item
    .sp-gsidebar-menu-list__item__box--main-color
    .sp-gsidebar-menu-list__item__button {
    color: var(--main-color);
  }
  .sp-gsidebar-menu-list__item
    .sp-gsidebar-menu-list__item__box--main-color
    .sp-gsidebar-menu-list__panel
    > p {
    position: relative;
  }
  .sp-gsidebar-menu-list__item
    .sp-gsidebar-menu-list__item__box--main-color
    .sp-gsidebar-menu-list__panel
    > p::before {
    content: "";
    width: calc(4 / var(--font-size) * 1rem);
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--main-color);
    z-index: 1;
  }
  .sp-gsidebar-menu-list__item
    .sp-gsidebar-menu-list__item__box--accent-color
    .sp-gsidebar-menu-list__item__button {
    color: var(--main-accent-color);
  }
  .sp-gsidebar-menu-list__item
    .sp-gsidebar-menu-list__item__box--main-color
    .sp-gsidebar-menu-list__panel
    > p {
    position: relative;
  }
  .sp-gsidebar-menu-list__item
    .sp-gsidebar-menu-list__item__box--main-color
    .sp-gsidebar-menu-list__panel
    > p::before {
    content: "";
    width: calc(4 / var(--font-size) * 1rem);
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--main-accent-color);
    z-index: 1;
  }
  .sp-gsidebar-menu-list__item__box--accent-color
    .sp-gsidebar-menu-list__item__link:before {
    background-color: var(--main-accent-color);
  }
  .sp-gsidebar-menu-list__panel .c-list > li > .sp-gsidebar-menu-list__panel {
    padding-left: calc(14 / var(--font-size) * 1rem);
    padding-bottom: 0;
  }
  .sp-gsidebar-menu-list__panel .u-text-link-icon.--disable {
    color: var(--color-gray_300) !important;
    pointer-events: none;
  }
  .sp-gsidebar-menu-list__panel .u-text-link-icon.--disable:before {
    background: var(--color-gray_300) !important;
  }
  .sp-gsidebar-menu-list__item__box {
    padding: calc(24 / var(--font-size) * 1rem)
      calc(23 / var(--font-size) * 1rem) calc(24 / var(--font-size) * 1rem)
      calc(32 / var(--font-size) * 1rem);
    position: relative;
  }
  .sp-gsidebar-menu-list__item__box:has(.sp-gsidebar-menu-list__item__icon) {
    padding: calc(16 / var(--font-size) * 1rem)
      calc(24 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__box::before {
    content: "";
    position: absolute;
    width: calc(100% - calc(48 / var(--font-size) * 1rem));
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
  }
  .sp-gsidebar-menu-list__item__box:first-child::before {
    display: none;
  }
  .sp-gsidebar-menu-list__item__box .sp-gsidebar-menu-list__item__link {
    padding: 0;
    width: 100%;
  }
  .sp-gsidebar-menu-list__item__box .c-list.u-text-indent {
    text-indent: 0;
    padding-left: 1.6em;
  }
  .sp-gsidebar-menu-list__item__box .c-list .u-text-indent--s {
    text-indent: 0;
    padding-left: 1.3em;
  }
  .sp-gsidebar-menu-list__item__box .c-list .c-list {
    padding-top: calc(10 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__title {
    font-weight: 700;
    font-size: calc(15 / var(--font-size) * 1rem);
    text-align: center;
    padding-bottom: calc(16 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__link {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: calc(16 / var(--font-size) * 1rem)
      calc(24 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__link.--disable{
    color: var(--color-gray_300) !important;
    pointer-events: none;
  }
  .sp-gsidebar-menu-list__item__label {
    font-size: calc(14 / var(--font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0;
  }
  .sp-gsidebar-menu-list__item__label--icon {
    content: "";
    display: inline-block;
  }
  .sp-gsidebar-menu-list__item__title {
    position: relative;
    padding: calc(16 / var(--font-size) * 1rem)
      calc(24 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__title::after {
    content: "";
    position: absolute;
    width: calc(100% - calc(48 / var(--font-size) * 1rem));
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
  }
  .sp-gsidebar-menu-list__item__arrow {
    position: relative;
    display: inline-block;
    width: calc(21 / var(--font-size) * 1rem);
    height: calc(21 / var(--font-size) * 1rem);
    flex-shrink: 0;
    margin-left: calc(12 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__arrow::before {
    content: "";
    background-color: var(--main-color);
    mask-image: url(/assets/img/common/ico_arrow_normal.svg);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 100%;
    height: 100%;
    transform: scale(1.2);
  }
  .sp-gsidebar-menu-list__item__arrow::after {
    content: "";
    border: calc(2 / var(--font-size) * 1rem) solid var(--main-color);
    border-radius: 100%;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 100%;
    height: 100%;
  }
  .sp-gsidebar-menu-list__item__box--accent-color
    .sp-gsidebar-menu-list__item__arrow::before {
    background-color: var(--main-accent-color);
  }
  .sp-gsidebar-menu-list__item__box--accent-color
    .sp-gsidebar-menu-list__item__arrow::after {
    border: calc(2 / var(--font-size) * 1rem) solid var(--main-accent-color);
  }
  .sp-gsidebar-menu-list__item__title__box {
    display: flex !important;
    align-items: center;
  }
  .sp-gsidebar-menu-list__item__icon {
    flex-shrink: 0;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: calc(50 / var(--font-size) * 1rem);
    height: calc(50 / var(--font-size) * 1rem);
    margin-right: calc(14 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--top {
    background-image: url(/assets/img/common/ico_menu_top.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--new-house {
    background-image: url(/assets/img/common/ico_menu_new-house.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--reform {
    background-image: url(/assets/img/common/ico_menu_reform.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--login {
    background-image: url(/assets/img/common/ico_menu_login.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--download {
    background-image: url(/assets/img/common/ico_menu_download.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--master-acct {
    background-image: url(/assets/img/common/ico_menu_building.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--staff-acct {
    background-image: url(/assets/img/common/ico_menu_user.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--gx-acct {
    background-image: url(/assets/img/common/ico_menu_gx.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--reform-registration {
    background-image: url(/assets/img/common/ico_menu_box.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--reform-search {
    background-image: url(/assets/img/common/ico_menu_box-search.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--business-search {
    background-image: url(/assets/img/common/ico_menu_building-search.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--gx-search {
    background-image: url(/assets/img/common/ico_menu_gx-search.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--wagaya {
    background-image: url(/assets/img/common/ico_menu_mado-search.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--search-for-housing {
    background-image: url(/assets/img/common/ico_menu_search-for-housing.svg);
  }
  .sp-gsidebar-menu-list__item__icon.sp-gsidebar-menu-list__item__icon--search-for-rental-housing {
    background-image: url(/assets/img/common/ico_menu_search-for-rental-housing.svg);
  }
  .header-menu__list__link {
    padding: calc(10 / var(--font-size) * 1rem)
      calc(14 / var(--font-size) * 1rem);
    border-radius: calc(5 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
  }
  .header-menu__list__icon {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: calc(34 / var(--font-size) * 1rem);
    height: calc(30 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-menu__list__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0;
    margin-left: calc(13 / var(--font-size) * 1rem);
  }
  .header-menu__list__link:hover,
  .header-menu__list__link:active {
    background-color: var(--color-white);
  }

  .header-menu__list__item.--portal .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_portal.png);
  }
  .header-menu__list__item.--kosodate .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_mirai.png);
  }
  .header-menu__list__item.--mado .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_mado.png);
  }
  .header-menu__list__item.--kyutou .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_kyutou.png);
  }
  .header-menu__list__item.--chintai .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_chintai.png);
  }
  .header-menu__list__item.--gx .header-menu__list__icon {
    background-image: url(/assets/img/common/ico_gx.svg);
  }

  .header-menubutton.is-opened {
  }
  .header-menubutton.is-opened i {
  }
  .header-menubutton.is-opened .header-menu__inner {
  }
  .header-menubutton.is-opened .header-menu__body {
  }

  .header-menu__list {
    width: calc(100% - calc(31 / var(--font-size) * 1rem));
    margin: 0 auto;
    margin-top: calc(27 / var(--font-size) * 1rem);
  }
  .header-menu__list + .header-menu__list {
    margin-top: 0;
  }

  .header-menu__close {
    background-color: var(--color-white);
    border-radius: calc(5 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - calc(31 / var(--font-size) * 1rem));
    height: calc(40 / var(--font-size) * 1rem);
    cursor: pointer;
    margin: 0 auto;
    margin-top: calc(14 / var(--font-size) * 1rem);
  }
  .header-menu__close:first-child {
    margin-top: 0;
  }
  .header-menu__close i {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: calc(18 / var(--font-size) * 1rem);
    height: calc(18 / var(--font-size) * 1rem);
    margin-right: calc(22 / var(--font-size) * 1rem);
  }
  .header-menu__close i::before {
    content: "";
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(2 / var(--font-size) * 1rem);
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--text-color);
    margin: 0 auto;
    transform: translate3d(-50%, -50%, 0) rotate(45deg);
  }
  .header-menu__close i::after {
    content: "";
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(2 / var(--font-size) * 1rem);
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: var(--text-color);
    margin: 0 auto;
    transform: translate3d(-50%, -50%, 0) rotate(-45deg);
  }
  .header-menu__close__label {
    display: inline-block;
    vertical-align: top;
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 700;
    color: var(--text-color);
  }

  .header-menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(72 / var(--font-size) * 1rem);
    height: calc(72 / var(--font-size) * 1rem);
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 auto;
    border-radius: 0 0 0 calc(15 / var(--font-size) * 1rem);
    background-color: var(--main-color);
  }
  .header-menu-button i {
    display: block;
    width: calc(31 / var(--font-size) * 1rem);
    height: calc(2 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(26 / var(--font-size) * 1rem);
    left: 50%;
    background-color: var(--color-white);
    margin: 0 auto;
  }
  .header-menu-button .header-menu-button__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    color: var(--color-white);
    display: block;
    position: absolute;
    top: calc(36 / var(--font-size) * 1rem);
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .header-menu-button i:first-child {
    transform: translate3d(-50%, -50%, 0) rotate(30deg);
  }
  .header-menu-button i:nth-child(2) {
    transform: translate3d(-50%, -50%, 0) rotate(-30deg);
  }
  .header-menu.--portal .sp-header-menu__close {
    color: var(--main-color-jigyo01);
  }
  .header-menu.--eco .sp-header-menu__close {
    color: var(--main-color-jigyo02);
  }
  .header-menu.--mado .sp-header-menu__close {
    color: var(--main-color-jigyo03);
  }
  .header-menu.--kyuto .sp-header-menu__close {
    color: var(--main-color-jigyo04);
  }
  .header-menu.--jaws .sp-header-menu__close {
    color: var(--main-color-jigyo05);
  }

  .header-convertion {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: calc(10 / var(--font-size) * 1rem);
  }
  .header-convertion:first-child {
    margin-top: 0;
  }
  .sp-float-menu .header-button {
    flex-grow: 1;
    width: calc(1 / 5 * 100%);
    height: calc(58 / var(--font-size) * 1rem);
    position: relative;
  }
  .sp-float-menu .header-button + .header-button::after {
    content: "";
    position: absolute;
    display: inline-block;
    left: calc(-0.5 / var(--font-size) * 1rem);
    top: 50%;
    transform: translateY(-50%);
    border-left: solid calc(1.5 / var(--font-size) * 1rem) var(--sub-color);
    height: calc(46 / var(--font-size) * 1rem);
  }
  .header-convertion .header-button {
    width: 100%;
    max-width: calc(130 / var(--font-size) * 1rem);
  }
  .header-convertion .header-button + .header-button {
  }
  .sp-float-menu .header-button::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 100%;
    top: 0;
    border-top: solid calc(2 / var(--font-size) * 1rem) var(--sub-color);
  }
  .sp-float-menu .header-button.--current::before {
    border-top: solid calc(3 / var(--font-size) * 1rem) var(--main-color);
  }
  .sp-float-menu .header-button.--contact.--current::before {
    border-top: solid calc(3 / var(--font-size) * 1rem) var(--main-accent-color) !important;
  }
  .sp-float-menu .header-button.--contact.--current .header-button__label {
    color: var(--main-accent-color);
  }
  .sp-float-menu .header-button.--contact.--current .header-button__link {
    background-color: var(--bg-sub-color-jigyo01);
  }
  .sp-float-menu:has(.--contact.--current) .header-button::before {
    border-top: solid calc(2 / var(--font-size) * 1rem)
      var(--accent-sub-color-jigyo01);
  }
  .sp-float-menu:has(.--contact.--current)
    .header-button
    + .header-button::after {
    border-left: solid calc(1.5 / var(--font-size) * 1rem)
      var(--accent-sub-color-jigyo01);
  }
  .sp-float-menu .header-button__link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .sp-float-menu .header-button:has(.header-button__icon) .header-button__link {
    flex-direction: column;
    row-gap: calc(4 / var(--font-size) * 1rem);
  }
  .sp-float-menu .header-button:has(.header-button__icon) .header-button__icon {
    height: 50%;
  }
  .sp-float-menu:not(:has(.header-button.--portal)) .header-button.--contact .header-button__link {
    flex-direction: row;
  }
  .sp-float-menu
    .header-button:has(.header-button__icon)
    .header-button__label {
    height: 50%;
    display: flex;
    align-items: center;
    padding-bottom: calc(6 / var(--font-size) * 1rem);
  }
  .sp-float-menu .header-button.--portal .header-button__label {
    height: fit-content;
  }
  .sp-float-menu .header-button.--faq .header-button__link {
    background-color: var(--main-accent-color);
  }
  .sp-float-menu .header-button.--current .header-button__link {
    background-color: var(--sub-color-03);
  }
  .header-convertion .header-button__link {
    padding: calc(15 / var(--font-size) * 1rem) 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sp-float-menu .header-button.--faq .header-button__icon {
    flex-shrink: 0;
    mask-image: url(/assets/img/common/ico_faq.svg);
    mask-size: contain;
    background: var(--color-white);
    width: calc(18 / var(--font-size) * 1rem);
    height: calc(20 / var(--font-size) * 1rem);
  }
  .sp-float-menu .header-button.--contact .header-button__icon {
    flex-shrink: 0;
    mask-image: url(/assets/img/common/ico_contact.svg);
    mask-size: calc(16 / var(--font-size) * 1rem);
    mask-repeat: no-repeat;
    mask-position: bottom;
    background: var(--color-gray_600);
    width: 100%;
  }
  .sp-float-menu:not(:has(.header-button.--portal)) .header-button.--contact .header-button__icon {
    width: calc(16 / var(--font-size) * 1rem);
    mask-position: center;
  }
  .sp-float-menu .header-button.--portal .header-button__icon {
    flex-shrink: 0;
    background: url(/assets/img/common/ico_portal.png) no-repeat bottom /
      calc(28 / var(--font-size) * 1rem);
    width: 100%;
  }
  .sp-float-menu .header-button.--eco .header-button__icon {
    flex-shrink: 0;
    background: url(/assets/img/common/ico_mirai.png) no-repeat bottom /
      calc(24 / var(--font-size) * 1rem);
    width: 100%;
  }
  .sp-float-menu .header-button.--mado .header-button__icon {
    flex-shrink: 0;
    background: url(/assets/img/common/ico_mado.png) no-repeat bottom /
      calc(24 / var(--font-size) * 1rem);
    width: 100%;
  }
  .sp-float-menu .header-button.--kyuto .header-button__icon {
    flex-shrink: 0;
    background: url(/assets/img/common/ico_kyutou.png) no-repeat bottom /
      calc(24 / var(--font-size) * 1rem);
    width: 100%;
  }
  .sp-float-menu .header-button.--jaws .header-button__icon {
    flex-shrink: 0;
    background: url(/assets/img/common/ico_chintai.png) no-repeat bottom /
      calc(24 / var(--font-size) * 1rem);
    width: 100%;
  }
  .sp-float-menu .header-button__label {
    display: inline-block;
    vertical-align: top;
    line-height: calc(15 / 12 * 1);
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem);
    font-weight: 700;
    text-align: center;
    color: var(--color-gray_600);
  }
  .sp-float-menu .header-button.--current .header-button__label {
    color: var(--main-color);
  }
  .sp-float-menu:not(:has(.header-button.--portal)) .header-button.--contact .header-button__label {
    margin-left: calc(5 / var(--font-size) * 1rem);
    padding-bottom: 0;
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
  }
  .sp-float-menu:not(:has(.header-button.--portal)) .header-button.--contact .header-button__label br {
    display: none;
  }
  .header-convertion .header-button {
    width: 100%;
  }
  .header-convertion .header-button .header-button__link {
  }
  .header-convertion .header-button:first-child .header-button__link {
    border-top: 0;
  }
  .header-convertion .header-button__label {
    color: var(--text-color);
    font-size: calc(15 / var(--font-size) * 1rem);
    margin-left: calc(6 / var(--font-size) * 1rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .header-convertion .header-button.--faq {
  }
  .header-convertion .header-button.--faq .header-button__link {
  }
  .header-convertion .header-button.--faq .header-button__icon {
    flex-shrink: 0;
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-image: url(/assets/img/common/ico_faq.svg);
    background: var(--text-color);
    width: calc(18 / var(--font-size) * 1rem);
    height: calc(20 / var(--font-size) * 1rem);
  }
  .header-convertion .header-button.--faq .header-button__label {
    color: var(--text-color);
    font-size: calc(13 / var(--font-size) * 1rem);
    margin-left: calc(6 / var(--font-size) * 1rem);
  }

  .header-convertion .header-button.--contact {
  }
  .header-convertion .header-button.--contact .header-button__link {
  }
  .header-convertion .header-button.--contact .header-button__icon {
    flex-shrink: 0;
    mask-image: url(/assets/img/common/ico_contact.svg);
    mask-size: contain;
    background: var(--text-color);
    width: calc(14 / var(--font-size) * 1rem);
    height: calc(16 / var(--font-size) * 1rem);
  }
  .header-convertion .header-button.--contact .header-button__label {
    color: var(--text-color);
    font-size: calc(13 / var(--font-size) * 1rem);
    margin-left: calc(8 / var(--font-size) * 1rem);
  }

  .header-convertion .header-button.--login {
  }
  .header-convertion .header-button.--login .header-button__link {
  }
  .header-convertion .header-button.--login .header-button__icon {
    flex-shrink: 0;
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-image: url(/assets/img/common/ico_header_login.svg);
    background: var(--text-color);
    width: calc(22 / var(--font-size) * 1rem);
    height: calc(18 / var(--font-size) * 1rem);
  }
  .header-convertion .header-button.--login .header-button__label {
    color: var(--text-color);
    font-size: calc(13 / var(--font-size) * 1rem);
    margin-left: calc(10 / var(--font-size) * 1rem);
  }

  .gsidebar-search {
    max-width: calc(100% / var(--font-size) * 1rem);
    padding: 0 calc(16 / var(--font-size) * 1rem);
    margin-top: calc(20 / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_items_wrapper {
  }
  .gsidebar-search .mf_finder_searchBox {
    margin-left: 0;
    margin-right: 0;
  }
  .gsidebar-search .mf_finder_searchBox_items {
    padding: 0;
    background-color: var(--color-white);
    border: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
    border-radius: calc(5 / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_query_input {
    padding: 0
      calc(
        calc(16 / var(--font-size) * 1rem) + calc(53 / var(--font-size) * 1rem)
      )
      0 calc(16 / var(--font-size) * 1rem);
    border: 0;
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem);
    font-weight: 500;
    background: transparent;
    min-height: calc(40 / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_query_input:focus {
    border-radius: calc(5 / var(--font-size) * 1rem);
    outline-color: var(--main-accent-color);
  }
  .gsidebar-search .mf_finder_searchBox_query_input::placeholder {
    color: var(--color-gray_400);
    background: transparent;
  }
  .gsidebar-search .mf_finder_searchBox_submit {
    background-color: transparent;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: block;
    width: calc(53 / var(--font-size) * 1rem);
    height: 100%;
    background-color: var(--main-accent-color);
    padding: 0;
  }
  .gsidebar-search .mf_finder_searchBox_submit:before {
    content: "";
    background-color: var(--color-white);
    mask-image: url(/assets/img/common/ico_zoom.svg);
    mask-size: cover;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(19 / var(--font-size) * 1rem);
    height: calc(19 / var(--font-size) * 1rem);
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .gsidebar-search .mf_finder_searchBox_submit span {
    display: none;
  }

  /** hover menu **/
  .header-menu-lower {
  }
  .header-menu-lower__inner {
    padding: calc(12 / var(--font-size) * 1rem) 0;
  }
  .header-menu-lower__body {
    display: flex;
  }
  .header-menu-lower__title {
    max-width: calc(88 / var(--font-size) * 1rem);
    width: 100%;
    display: flex;
    align-items: center;
  }
  .header-menu-lower__title__icon {
    flex-shrink: 0;
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-image: url(/assets/img/common/ico_header_login.svg);
    background: var(--text-color);
    width: calc(18 / var(--font-size) * 1rem);
    height: calc(14 / var(--font-size) * 1rem);
  }
  .header-menu-lower__title__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
    margin-left: calc(5 / var(--font-size) * 1rem);
  }
  .header-menu-lower__menu {
    padding: calc(12 / var(--font-size) * 1rem)
      calc(0 / var(--font-size) * 1rem) calc(12 / var(--font-size) * 1rem)
      calc(16 / var(--font-size) * 1rem);
    border-left: calc(1 / var(--font-size) * 1rem) solid var(--sub-border-color);
    width: 100%;
  }
  .header-menu-lower__menu__list__item__link {
    padding: calc(10 / var(--font-size) * 1rem)
      calc(0 / var(--font-size) * 1rem);
    border-radius: calc(5 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    transition: 0.3s ease;
    position: relative;
  }
  .header-menu-lower__menu__list__item__label {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
    font-weight: 700;
  }
  .header-menu-lower__menu__list__item__icon {
    content: "";
    background-color: var(--main-color);
    mask-image: url(/assets/img/common/ico_circle_cursor.svg);
    mask-size: contain;
    mask-position: center center;
    mask-repeat: no-repeat;
    display: block;
    width: calc(15 / var(--font-size) * 1rem);
    height: calc(15 / var(--font-size) * 1rem);
    position: absolute;
    top: calc(11 / var(--font-size) * 1rem);
    right: calc(5 / var(--font-size) * 1rem);
    transition: 0.3s ease;
  }

  /** tab **/
  .sp-gsidebar-menu-list .c-tab__btn {
    width: calc(100% / 3);
    margin: 0;
  }
  .sp-gsidebar-menu-list .c-tab__contents {
  }
  .sp-gsidebar-menu-list .c-tab__contents__container {
    padding-top: calc(24 / var(--font-size) * 1rem);
    overflow-y: auto;
    height: 68vh;
    padding-bottom: calc(80 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list .c-tab__btn-list {
    padding: 0;
  }
  .sp-gsidebar-menu-list .c-tab__btn-list__inner {
    margin-top: 0;
    flex-wrap: nowrap;
    gap: calc(10 / var(--font-size) * 1rem) calc(4 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list
    .c-tab__button[aria-selected="true"]
    .c-tab__btn__inner {
    border: 0;
  }
  .sp-gsidebar-menu-list .c-tab__btn__inner {
    min-height: calc(42 / var(--font-size) * 1rem);
    padding: 0;
  }
  .sp-gsidebar-menu-list .c-tab__btn__inner::before {
    display: none;
  }
  .sp-gsidebar-menu-list .c-tab__btn-list::before {
    border-bottom: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
  }
  .sp-gsidebar-menu-list .c-tab__btn__inner::after {
    border-bottom: calc(2 / var(--font-size) * 1rem) solid var(--main-color);
  }
  .sp-gsidebar-menu-list .c-tab__btn__text__label {
    font-size: calc(14 / var(--font-size) * 1rem) !important;
  }

  /* アコーディオン */
  .sp-gsidebar-menu-list__item .c-accordion-box {
    background-color: var(--color-white);
    border: 0;
    width: 100%;
  }
  .sp-gsidebar-menu-list__item .c-accordion-box + .c-accordion-box {
    background-color: var(--color-white);
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_200);
    margin: 0;
  }
  .sp-gsidebar-menu-list__item .sp-gsidebar-menu-list__panel {
  }
  .sp-gsidebar-menu-list__item__title + .sp-gsidebar-menu-list__panel {
    position: relative;
  }
  .sp-gsidebar-menu-list__item__title
    + .sp-gsidebar-menu-list__panel
    .c-accordion-box__contents[aria-hidden="false"] {
    border-top: 0;
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__title[aria-expanded="true"] {
    padding-bottom: calc(12 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item
    .c-accordion-box__contents.c-accordion-box__contents--b[aria-hidden="false"] {
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__contents[aria-hidden="false"] {
    padding: calc(12 / var(--font-size) * 1rem) 0 0 0;
  }
  .sp-gsidebar-menu-list__item
    .c-accordion-box__contents.--line[aria-hidden="false"] {
    padding: calc(24 / var(--font-size) * 1rem) 0 0 0;
    border-top: calc(1 / var(--font-size) * 1rem) solid var(--color-gray_300);
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__title {
    color: var(--color-black-sub);
  }
  .sp-gsidebar-menu-list__item .u-text--s {
    font-size: calc(13 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item__title__box {
    position: relative;
  }
  .sp-gsidebar-menu-list__item__title__box:has(
      .sp-gsidebar-menu-list__item__icon
    )
    .c-accordion-box__title__icon {
    margin-top: calc(12 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__title__icon {
    width: calc(21 / var(--font-size) * 1rem);
    height: calc(21 / var(--font-size) * 1rem);
    background-color: var(--color-white);
    border: calc(2 / var(--font-size) * 1rem) solid var(--main-color);
    top: calc(4 / var(--font-size) * 1rem);
    right: 0;
  }
  .sp-gsidebar-menu-list__item.sp-gsidebar-menu-list__item--accent-color
    .c-accordion-box__title__icon {
    border: calc(2 / var(--font-size) * 1rem) solid var(--main-accent-color);
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__title__icon:before,
  .sp-gsidebar-menu-list__item .c-accordion-box__title__icon:after {
    width: calc(10 / var(--font-size) * 1rem);
    position: absolute;
    background-color: var(--main-color);
    right: calc(4 / var(--font-size) * 1rem);
  }
  .sp-gsidebar-menu-list__item.sp-gsidebar-menu-list__item--accent-color
    .c-accordion-box__title__icon:before,
  .sp-gsidebar-menu-list__item.sp-gsidebar-menu-list__item--accent-color
    .c-accordion-box__title__icon:after {
    background-color: var(--main-accent-color);
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__title {
    padding: 0;
  }
  .sp-gsidebar-menu-list__item .c-accordion-box__contents .u-text--s {
    font-size: calc(13 / var(--font-size) * 1rem) !important;
  }
  /** **/
}

/* --------------------------------------------------------------------------
  HEADER TYPE02 UPDATE（上書き用）
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .l-header__inner {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: calc(12 / var(--font-size) * 1rem);
    padding-right: calc(0 / var(--font-size) * 1rem);
  }
  .header-menubutton {
    padding: 0;
  }
  .gsidebar-search {
    max-width: calc(235 / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_query_input {
    padding: 0
      calc(
        calc(12 / var(--font-size) * 1rem) + calc(38 / var(--font-size) * 1rem)
      )
      0 calc(12 / var(--font-size) * 1rem);
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem);
  }
  .gsidebar-search .mf_finder_searchBox_submit {
    width: calc(38 / var(--font-size) * 1rem);
  }
  .header-jigyo:last-child {
    margin-right: calc(17 / var(--font-size) * 1rem);
  }
  .header-jigyo:last-child {
    margin-right: calc(17 / var(--font-size) * 1rem);
  }
  .header-jigyo + .header-button {
    margin-left: calc(17 / var(--font-size) * 1rem);
  }
  .header-jigyo + .header-button:before {
  }
  .header-button + .header-button {
  }
  /** **/
  .header-jigyo-list {
    display: flex;
  }
  .header-jigyo-list__item {
    height: calc(64 / var(--font-size) * 1rem);
  }
  .header-jigyo-list__item.--current .header-jigyo-list__link {
    pointer-events: none;
  }
  .header-jigyo-list__link {
    padding-left: calc(12 / var(--font-size) * 1rem);
    padding-right: calc(12 / var(--font-size) * 1rem);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: 0.3s ease;
    height: 100%;
  }
  .header-jigyo-list__link:before {
    content: "";
    display: block;
    width: 0;
    height: calc(3 / var(--font-size) * 1rem);
    position: absolute;
    left: 0;
    bottom: calc(-1 / var(--font-size) * 1rem);
    transition: 0.3s ease;
    border-radius: calc(2 / var(--font-size) * 1rem);
  }
  .header-jigyo-list__item.--current .header-jigyo-list__link:before,
  .header-jigyo-list__item .header-jigyo-list__link:hover:before {
    width: 100%;
  }
  .header-jigyo-list__item__icon{
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    width: calc(16 / var(--font-size) * 1rem);
    height: calc(14 / var(--font-size) * 1rem);
    flex-shrink: 0;
    position: relative;
    top: calc(0 / var(--font-size) * 1rem);
  }
  .header-jigyo-list__item__label{
    font-size: calc(13 / var(--font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0;
    margin-left: calc(5 / var(--font-size) * 1rem);
    flex-shrink: 0;
  }

  .header-jigyo-list__item.--portal .header-jigyo-list__item__icon{
    background-image: url(/assets/img/common/ico_portal.png);
  }
  .header-jigyo-list__item.--kosodate .header-jigyo-list__item__icon{
    background-image: url(/assets/img/common/ico_mirai.png);
  }
  .header-jigyo-list__item.--mado .header-jigyo-list__item__icon{
    background-image: url(/assets/img/common/ico_mado.png);
  }
  .header-jigyo-list__item.--kyutou .header-jigyo-list__item__icon{
    background-image: url(/assets/img/common/ico_kyutou.png);
  }
  .header-jigyo-list__item.--chintai .header-jigyo-list__item__icon{
    background-image: url(/assets/img/common/ico_chintai.png);
  }

  .header-jigyo-list__item.--portal.--current .header-jigyo-list__item__label{
    color: var(--main-color-jigyo01);
  }
  .header-jigyo-list__item.--kosodate.--current .header-jigyo-list__item__label{
    color: var(--main-color-jigyo02);
  }
  .header-jigyo-list__item.--mado.--current .header-jigyo-list__item__label{
    color: var(--main-color-jigyo03);
  }
  .header-jigyo-list__item.--kyutou.--current .header-jigyo-list__item__label{
    color: var(--main-color-jigyo04);
  }
  .header-jigyo-list__item.--chintai.--current .header-jigyo-list__item__label{
    color: var(--main-color-jigyo05);
  }

  .header-jigyo-list__item.--portal .header-jigyo-list__link:before{
    background-color: var(--main-color-jigyo01);
  }
  .header-jigyo-list__item.--kosodate .header-jigyo-list__link:before{
    background-color: var(--main-color-jigyo02);
  }
  .header-jigyo-list__item.--mado .header-jigyo-list__link:before{
    background-color: var(--main-color-jigyo03);
  }
  .header-jigyo-list__item.--kyutou .header-jigyo-list__link:before{
    background-color: var(--main-color-jigyo04);
  }
  .header-jigyo-list__item.--chintai .header-jigyo-list__link:before{
    background-color: var(--main-color-jigyo05);
  }
}

@media all and (min-width: 1365px) and (max-width: 1440px) {
  .header-jigyo-list__link {
    padding-left: calc(5 / var(--font-size) * 1rem);
    padding-right: calc(5 / var(--font-size) * 1rem);
  }
  .header-jigyo + .header-button {
    position: relative;
    margin-left: calc(8 / var(--font-size) * 1rem);
  }
  .header-button.--faq {
  }
  .header-button.--contact {
  }
}

@media all and (max-width: 767px) {
}
