        /* Header styles independent of Bootstrap and header-footer.css */
        #header {
          position: relative;
          width: 100%;
          z-index: 1000;
          font-size: 100% !important;
        }

        #header .header-fixed {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          z-index: 1000;
          background: transparent;
          transition: background-color .3s ease, box-shadow .3s ease;
        }

        #header .header-fixed.change-color {
          background: transparent;
          box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
        }

        #header .header-navbar {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 96%;
          max-width: 1320px;
          margin: 0 auto;
          padding: 0.5rem 0.5rem;
          min-height: 64px;
          box-sizing: border-box;
          background: #fff;
          margin-top: 15px;
          border-radius: 5px;
          -webkit-border-radius: 5px;
        }

        #header .header-container {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          gap: 1rem;
          flex-wrap: wrap;
        }

        #header .header-brand {
          display: inline-flex;
          align-items: center;
          text-decoration: none;
        }

        #header .header-logo-title {
          margin: 0;
          line-height: 1;
        }

        #header .header-logo-img {
          display: block;
          max-width: 100%;
          height: auto;
        }

        #header .header-toggle {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 44px;
          height: 44px;
          padding: 0;
          background: transparent;
          border: 1px solid transparent;
          border-radius: 8px;
          cursor: pointer;
        }

        #header .header-toggle-icon {
          position: relative;
          display: inline-block;
          width: 24px;
          height: 2px;
          background-color: #000;
        }

        #header .header-toggle-icon::before,
        #header .header-toggle-icon::after {
          content: "";
          position: absolute;
          left: 0;
          width: 24px;
          height: 2px;
          background-color: #000;
        }

        #header .header-toggle-icon::before {
          top: -7px;
        }

        #header .header-toggle-icon::after {
          top: 7px;
        }

        #header .header-menu {
          display: none;
          width: 100%;
          background: #fff;
          padding: 1rem 0;
          box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
          box-sizing: border-box;
        }

        #header .header-menu.show {
          display: block;
        }

        #header .header-menu-list {
          display: flex;
          flex-direction: column;
          gap: 0.5rem;
          padding: 0;
          margin: 0;
          list-style: none;
        }

        #header .header-menu-item {
          text-align: center;
        }

        #header .header-menu-link {
          display: block;
          color: #000;
          text-decoration: none;
          padding: 0.75rem 1rem;
          /*          font-size: 0.95rem;*/
          font-size: 15px;
          line-height: 1.4;
        }

        #header .header-menu-link:hover,
        #header .header-menu-link:focus {
          color: #333;
        }

        #header .header-contact {
          margin-top: 1rem;
          text-align: center;
        }

        #header .header-contact-text {
          margin: 0;
          /*          font-size: 0.875rem;*/
          font-size: 14px;
          line-height: 1.4;
        }

        #header .header-contact-link {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 0.5rem;
          color: #000;
          text-decoration: none;
          font-weight: 700;
          /*          font-size: 2rem;*/
          font-size: 24px;
          line-height: 1;
        }

        #header .header-contact-icon {
          display: inline-block;
          width: 16px;
          height: 16px;
        }

        @media (min-width: 1200px) {
          #header .header-toggle {
            display: none;
          }

          #header .header-navbar {
            padding-left: 1.5rem;
            padding-right: 1.5rem;
            width: 100%;
          }

          #header .header-menu {
            display: flex !important;
            position: static;
            width: auto;
            padding: 0;
            box-shadow: none;
            background: transparent;
            justify-content: flex-end;
            align-items: center;
            gap: 2rem;
          }

          #header .header-menu-list {
            flex-direction: row;
            gap: 0;
          }

          #header .header-menu-item {
            text-align: left;
            position: relative;
            display: flex;
            align-items: center;
            /*            padding: 0 2px;
            margin: 0 4px;*/
            /*            font-size: 18px;*/
          }

          #header .header-menu-item:not(:last-child)::after {
            content: "";
            display: inline-block;
            width: 1px;
            height: 15px;
            background-color: #111;
            margin: 0 5px;
          }

          #header .header-menu-link {
            /*            padding: 0 0.75rem;*/
            padding: 0 6px;
          }

          #header .header-contact {
            margin-top: 0;
            /*            margin-left: 1rem;*/
            margin-left: 20px;
            text-align: center;
          }
        }

        /* Custom Footer CSS (Scoped, Renamed) */
        .custom-footer {
          padding: 1rem 0;
          margin-top: 3rem;
          background-color: #164b93;
          color: #fff;
          border-top-left-radius: 3rem;
          border-top-right-radius: 3rem;
        }

        .custom-footer-p-2 {
          padding: 0.5rem !important;
        }

        .custom-footer-p-lg-5 {
          padding: 3rem !important;
        }

        .custom-footer-mt-0 {
          margin-top: 0 !important;
        }

        .custom-footer-mt-5 {
          margin-top: 3rem !important;
        }

        .custom-footer-mt-md-5 {
          margin-top: 3rem !important;
        }

        .custom-footer-mb-3 {
          margin-bottom: 1rem !important;
        }

        .custom-footer-mb-md-4 {
          margin-bottom: 1.5rem !important;
        }

        .custom-footer-mb-2 {
          margin-bottom: 0.5rem !important;
        }

        .custom-footer-mb-md-1 {
          margin-bottom: 0.25rem !important;
        }

        .custom-footer-mb-1 {
          margin-bottom: 0.25rem !important;
        }

        .custom-footer-m-0 {
          margin: 0 !important;
        }

        .custom-footer-my-3 {
          margin-top: 1rem !important;
          margin-bottom: 1rem !important;
        }

        .custom-footer-row {
          --bs-gutter-x: 1.5rem;
          --bs-gutter-y: 0;
          display: flex;
          flex-wrap: wrap;
          margin-top: calc(var(--bs-gutter-y) * -1);
          margin-right: calc(var(--bs-gutter-x) * -0.5);
          margin-left: calc(var(--bs-gutter-x) * -0.5);
        }

        .custom-footer-row>* {
          flex-shrink: 0;
          width: 100%;
          max-width: 100%;
          padding-right: calc(var(--bs-gutter-x) * 0.5);
          padding-left: calc(var(--bs-gutter-x) * 0.5);
          margin-top: var(--bs-gutter-y);
        }

        .custom-footer-col-6 {
          flex: 0 0 auto;
          width: 50%;
        }

        .custom-footer-col-lg-3 {
          flex: 0 0 auto;
          width: 100%;
        }

        @media (min-width: 992px) {
          .custom-footer-col-lg-3 {
            width: 25%;
          }
        }

        .custom-footer-d-flex {
          display: flex !important;
        }

        .custom-footer-flex-column {
          flex-direction: column !important;
        }

        .custom-footer-nav {
          display: flex;
          flex-wrap: wrap;
          padding-left: 0;
          margin-bottom: 0;
          list-style: none;
        }

        .custom-footer-nav-item {
          list-style: none;
        }

        .custom-footer-nav-link {
          display: block;
          padding: 0.5rem 1rem;
          color: #0d6efd;
          text-decoration: none;
          transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
        }

        .custom-footer-nav-link:hover,
        .custom-footer-nav-link:focus {
          color: #0a58ca;
        }

        .custom-footer-text-white {
          color: #fff !important;
        }

        .custom-footer-text-decoration-none {
          text-decoration: none !important;
        }

        .custom-footer-d-block {
          display: block !important;
        }

        .custom-footer-d-md-none {
          display: none !important;
        }

        .custom-footer-d-md-block {
          display: block !important;
        }

        @media (min-width: 768px) {
          .custom-footer-d-md-none {
            display: none !important;
          }

          .custom-footer-d-md-block {
            display: block !important;
          }
        }

        .custom-footer-hr {
          margin: 1rem 0;
          color: inherit;
          background-color: currentColor;
          border: 0;
          opacity: 0.25;
        }

        .custom-footer-hr:not([size]) {
          height: 1px;
        }

        /* ぱんくず */

        .breadcrumb {
          --bs-breadcrumb-padding-x: 0;
          --bs-breadcrumb-padding-y: 0;
          --bs-breadcrumb-margin-bottom: 1rem;
          --bs-breadcrumb-bg: ;
          --bs-breadcrumb-border-radius: ;
          --bs-breadcrumb-divider-color: var(--bs-secondary-color);
          --bs-breadcrumb-item-padding-x: 0.5rem;
          --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
          display: flex;
          flex-wrap: wrap;
          padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
          margin-bottom: var(--bs-breadcrumb-margin-bottom);
          font-size: var(--bs-breadcrumb-font-size);
          list-style: none;
          background-color: var(--bs-breadcrumb-bg);
          border-radius: var(--bs-breadcrumb-border-radius);
        }

        .ps-2 {
          padding-left: .5rem !important;
        }

        .mt-3 {
          margin-top: 1rem !important;
        }

        .breadcrumb-item+.breadcrumb-item {
          padding-left: var(--bs-breadcrumb-item-padding-x);
        }

        .breadcrumb-item.active {
          color: var(--bs-breadcrumb-item-active-color);
        }

        .breadcrumb-item+.breadcrumb-item::before {
          float: left;
          padding-right: var(--bs-breadcrumb-item-padding-x);
          color: var(--bs-breadcrumb-divider-color);
          content: var(--bs-breadcrumb-divider, "/");
        }

        .breadcrumb {
          --bs-breadcrumb-divider: ">";
        }

        .breadcrumb li a {
          color: #777777 !important;
          text-decoration: none;
        }

        .lh150 {
          line-height: 150%;
        }

        @media screen and (min-width: 992px) {
          .container {
            max-width: 1100px;
          }
        }

        .al_c {
          margin: 0 auto;
        }

        /* 既存ページ調整 */

        @media screen and (max-width: 576px) {
          .page-flow .sec01_item_text {
              background:transparent !important;
          }
      }

      .wp-pagenavi {
        margin-top: 20px;
        margin-bottom:20px;
    }

    @media screen and (min-width: 768px) {
      .wp-pagenavi {
        margin-top: 30px;
        margin-bottom:30px;
    }
  }

  .sec-works .works-list .works-item .item-data {
    font-size:11px;
}

@media screen and (min-width: 768px) {
  .sec-works .works-list .works-item .item-data {
    font-size:100%;
}
}

.single-works .article-works_ttl {
  line-height: 130%;
}

.info-shop_text {
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .info-shop_text {
    line-height: 2.25;
  }
}

.format-area .format01 {
  margin-bottom: 50px;
  margin-top: 50px;
}

.format-area iframe {
  width:94%;
}

@media screen and (min-width: 768px) {
  .format-area iframe {
    width:auto;
  }
}

.single-voice .btn-more {
  margin-right: 30px;
}

.single-voice .article-voice_ttl {
  line-height: 130%;
}

.page-reform .jumbotron_head_en {
  font-size: clamp(3rem, 7.3vw, 14rem);
}


