/*
======================================
headerPc
======================================
*/

.headerPc {
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0px 3px 6px #00000029;
  height: 64px;
  margin: 16px auto 0;
  padding:  12px 28px;
  width: 97%;
  max-width: 1326px;
  position: fixed;
  inset: 0;
  margin: 15px auto auto;
  z-index: 500;
}

.header__column {
  gap: 0px;
}

.header__logo {
  display: flex;
  align-items: center;
  width: 100%;
}


.header-nav {
  align-items: center;
}

.header-nav ul {
  height: 40px;
  width: 100%;
}

.header-nav__menu {
  align-items: center;
  display: flex;
  /* gap: 20px; */
  justify-content: space-evenly;
  text-align: center;
}

.header-nav__menu li {
  display: inline-block;
  font-family: var(--font-family-base);
  font-size: 14px;
  text-align: center;
}

/* リンク自体に相対配置を指定 */
.header-nav__menu li a {
  position: relative;
  display: inline-block; /* 疑似要素の幅をテキスト幅に合わせる */
  color: #000;           /* 通常時の文字色 */
  text-decoration: none; /* デフォルトの下線を消す */
}

/* 疑似要素は絶対配置で下側に敷設、初期は scaleX(0) で非表示 */
.header-nav__menu li a::after {
  content: '';
  position: absolute;
  bottom: -3px;                     /* テキスト下端に合わせる */
  left: 0;                       /* transform-origin で中央寄せするので left:0  */
  width: 100%;
  height: 2px;
  background-color: #ED7626;
  transform: scaleX(0);
  transform-origin: center center;
  transition: transform 0.3s ease;
}

/* ホバー時に scaleX(1) で中央から左右に展開 */
.header-nav__menu li a:hover::after {
  transform: scaleX(1);
}

/* （お好みで）ホバー時の文字色変更 */
/* .header-nav__menu li a:hover {
  color: #ED7626;
} */


.header__link--gap div {
  display: flex;
  gap: 4%;
  width: 100%;
}

.header__left--link {
  width: 46%;
}

.header__right--link {
  width: 50%;
}

.header__left--link a::before {
  font-family: var(--icon-font-family);
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}

.header__right--link a::before {
  font-family: var(--icon-font-family);
  content: "\f095";
  font-weight: 900;
  margin-right: 10px;
}

.header__link a {
  background-color: #ED7626;
  border: 1px solid #ED7626;
  border-radius: 8px;
  height: 40px;
  opacity: 1;
  padding: 10px 14px;
  transition: color 0.3s ease;
  transition: background-color 0.3s ease;
}

.header__left--link a {
  opacity: 1;
  padding: 10px 16px;
  width: 100%;
}

.header__right--link a {
  border-radius: 8px;
  padding: 10px 16px;
  width: 100%;
}

.header__link p {
  color: #fff;
  display: block;
  font-family: var(--font-family-base);
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  text-decoration: none;
}

.header__link a:hover {
  background-color: #fff;
  color: #ED7626;
}

/* .headerPc .wp-block-columns > .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow:nth-child(4) {
  display: none;
} */

.viewT{
  display: none !important;
}

.hamburger__menu-Tablet {
  display: none;
}
.hamburger-Tablet {
  display: none;
}

@media screen and (min-width: 600px) {
  .hamburger__menu {
    display: none;
  }
  .hamburger {
    display: none;
  }
}
/*
======================================
headerタブレット版css
======================================
*/

@media screen and (max-width: 1170px) and (min-width: 600px) {
  /* .headerPc .wp-block-columns > .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow:nth-child(2) {
    display: none !important;
  } */

  /* .headerPc{
    width: calc(100% - 32px);
    max-width: 1170px;
    margin-left:auto;
    margin-right:auto;
  } */

  .header__tab {
    display: none !important;
  }
  /* .is-layout-flex {
    display: flex;
    justify-content: space-between;
  } */

  /* .wp-block-column[style*="flex-basis:29%"] {
    flex-basis: auto !important;
  }

  .wp-block-column[style*="flex-basis:18%"] {
    flex-basis: auto !important;
  } */

  .header__link--gap div{
    display:flex;
    gap:16px;          /* 横の余白 */
  }

  .header__left--link {
  display: inline-block;
  margin-right:0;    /* ← これが崩れの原因だった */
  flex:1 1 0;        /* 余った幅を均等配分 */
  min-width:148px;   /* ボタン内テキストが折り返さない程度の最小幅 */
  }
  .header__right--link {
    display: inline-block;
    /* min-width: 164px; */
    margin-right: 48px; /* 画面幅が1171pxを超えた場合の余白調整 */
    /* margin-right:0;    ← これが崩れの原因だった */
    flex:1 1 0;        /* 余った幅を均等配分 */
    min-width:164px;   /* ボタン内テキストが折り返さない程度の最小幅 */
  }

  @media screen and (max-width: 1090px) and (min-width: 781px){

    /* .header__left--link {
      margin-left: calc((100vw / 1170)*20);
    } */
  }

  /* .wp-image-198 {
    width: 180px;
  } */

  /* .headerPc .wp-block-columns > .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow:nth-child(4) {
    display: block !important;
  } */
  .viewT{
    display: block !important;
  }

  .headerSp {
    display: block !important;
  }

  .popup-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
}

.contact__popup {
  z-index: 1111;
}

.hamburger-Tablet {
  display: block;
  background-color: #fff;
  border-radius: 100%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 48px;
  justify-content: space-between;
  padding: 17px 12px;
  position: fixed;
  right: 16px;
  top: 16px;
  width: 48px;
  margin-top: 8px;
  margin-right: calc((100vw / 1170)*20);
  z-index: 501;
}

.hamburger-Tablet span {
  background-color: #707070;
  border-radius: 2px;
  display: block;
  height: 2px;
  width: 24px;
  margin-bottom: 4px;
}

.hamburger__close--button-Tablet {
  background-color: #fff;
  border-radius: 100%;
  cursor: pointer;
  height: 48px;
  padding: 14px 7.5px;
  position: fixed;
  right: 16px;
  right: -100px;
  top: 16px;
  width: 48px;
  z-index: 999;
  transition: right 0.3s ease;
}

.hamburger__close--button-Tablet span {
  background-color: #707070;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  width: 70%;
  height: 3px;
  transform-origin: center;
  transition: transform 0.3s ease;
}

.hamburger__close--button-Tablet span:first-child {
  transform: rotate(30deg);
}

.hamburger__close--button-Tablet span:last-child {
  transform: rotate(-30deg);
}

.hamburger__menu-Tablet {
  display: block;
  background-color: #ED7626;
  height: 100%;
  padding: 100px 27px 0;
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  z-index: 888;
  transition: right 0.3s ease;
}

.headerPC-nav__menu {
  display: block;
  color: #fff;
}

.headerPC-nav__menu li {
  align-items: center;
  border-bottom: 1px solid #fff;
  display: block;
  font-size: 20px;
  height: 48px;
  line-height: 48px;
  text-align: start;
  transition: background-color 0.3s ease;
}

.headerPC-nav__menu li:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.headerPC-nav__menu li a {
  display: block;
  color: #fff;
  width: 100%;
  height: 100%;
  padding: 0 16px;             /* 必要に応じて左右の余白を調整 */
  line-height: 48px;           /* li の高さと揃える */
  transition: background-color 0.3s ease;
}

.headerSp__left--link {
  margin: 24px 0 8px;
}

.headerSp__link a::before {
  font-family: var(--icon-font-family);
  font-weight: 900;
  margin-right: 18px;
  font-size: 36px;
  vertical-align: middle;
}

.headerSp__left--link a::before {
  content: "\f0e0";
}

.headerSp__right--link a::before {
  content: "\f095";
}

.headerSp__link a {
  background-color: #fff;
  border-radius: 64px;
  color: #ED7626;
  display: flex;              /* ← 追加 */
  align-items: center;        /* ← 追加：縦中央揃え */
  font-size: 24px;
  font-weight: 700;
  height: 72px;
  opacity: 1;
  padding: 18px 40px;
  width: 100%;
}

.headerSp__link a::after {
  font-family: var(--icon-font-family);
  content: "\f105";
  font-weight: 900;
}

.headerSp__link a:hover {
  opacity: 0.8;
}

.headerSp__left--link a::after {
  margin-left: 36px;
}

.headerSp__right--link a::after {
  margin-left: 12px;
}

  br.viewPc{
    display:none;
}

  /* または強制的に 1 行にする */
  .headerSp-nav__menu a{
    white-space: nowrap;
  }

  .header__column {
    flex-wrap: nowrap !important;
  }
  /* .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-wrap: nowrap !important;
  } */

  @media screen and (max-width: 1170px) and (min-width: 781px) {
    .header__image img {
      width: 180px;
      margin-right: calc((100vw / 781)*300);
    }
    @media screen and (max-width: 1040px) and (min-width: 781px){
      .header__image img {
        margin-right: calc((100vw / 781)*250);
      }
    }
    @media screen and (max-width: 940px) and (min-width: 781px) {
      .header__image img {
        margin-right: calc((100vw / 781)*200);
      }
    }
    @media screen and (max-width: 850px) and (min-width: 781px) {
      .header__image img {
        margin-right: calc((100vw / 781)*150);
      }
    }
  }
  .header__logo {
    flex-basis: unset !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .header__link__column {
    flex-basis: unset !important;
    /* width: auto !important; */
    min-width: 0 !important;
    max-width: 100% !important;
  }



}

@media screen and (max-width: 781px) and (min-width: 600px){
  .headerPc .wp-block-columns.header__column > .wp-block-column {
    flex: 0 0 auto !important;    /* flex-basis: auto + grow/shrink リセット */
    width: auto !important;
    max-width: none !important;
  }
  /* .header__image .wp-image-198 {
    width: 140px;
  } */

  .header__image {
    width: 140px;
  }


  /* .header__right--link {
    margin-right: calc((1170px - 100vw) * 0.75);
  } */

  .header__left--link {
    margin-left: calc((100vw / 781)*150);
  }

  @media screen and (max-width: 720px) and (min-width: 600px) {
    .header__left--link {
      margin-left: calc((100vw / 781)*100);
    }
  }


  @media screen and (max-width: 670px) and (min-width: 600px){
    .header__left--link {
      margin-left: calc((100vw / 781)*50);
    }
  }



  .hamburger {
    margin-right: calc((100vw / 1170)*14);
  }

  @media screen and (max-width: 620px) and (min-width: 600px){
    .header__right--link {
      margin-right: 490px;
    }

    .header__left--link {
    margin-left: calc((100vw / 781)*20);
  }
  }
}


/*
======================================
headerSp
======================================
*/

/*
======================================
headerSp
======================================
*/


.headerSp {
  background-color: #D50015;
  border-radius: 16px;
  box-shadow: 0px 3px 6px #00000029;
  height: 64px;
  margin: 16px auto 0;
  width: 97%;
}

.headerSp__logo {
  background-color: #fff;
  width: 200px;
  border-radius: 8px;
}

.headerSp__logo img {
  background-color: #fff;
  left: 32px;
  position: fixed;
  top: 24px;
  width: 176px;
  z-index: 999;
}

.headerSp__logo--background div {
  background-color: #fff;
  border-radius: 8px;
  height: 48px;
  left: 16px;
  position: fixed;
  top: 16px;
  width: 208px;
  z-index: 999;
}

.popup-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
}

.contact__popup {
  z-index: 1111;
}

.hamburger {
  background-color: #fff;
  border-radius: 100%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  height: 48px;
  justify-content: space-between;
  padding: 17px 12px;
  position: fixed;
  right: 16px;
  top: 16px;
  width: 48px;
  z-index: 100;
}

.hamburger span {
  background-color: #707070;
  border-radius: 2px;
  display: block;
  height: 2px;
  width: 24px;
}

.hamburger__close--button {
  background-color: #fff;
  border-radius: 100%;
  cursor: pointer;
  height: 48px;
  padding: 14px 7.5px;
  position: fixed;
  right: 16px;
  right: -100px;
  top: 16px;
  width: 48px;
  z-index: 999;
  transition: right 0.3s ease;
}

.hamburger__close--button span {
  background-color: #707070;
  border-radius: 2px;
  position: absolute;
  top: 50%;
  width: 70%;
  height: 3px;
  transform-origin: center;
  transition: transform 0.3s ease;
}

.hamburger__close--button span:first-child {
  transform: rotate(30deg);
}

.hamburger__close--button span:last-child {
  transform: rotate(-30deg);
}

.hamburger__menu {
  background-color: #ED7626;
  height: 100%;
  padding: 100px 27px 0;
  position: fixed;
  top: 0;
  right: -100vw;
  width: 100vw;
  z-index: 888;
  transition: right 0.3s ease;
}

.headerSp-nav__menu {
  display: block;
  color: #fff;
}

.headerSp-nav__menu li {
  align-items: center;
  border-bottom: 1px solid #fff;
  display: block;
  font-size: 20px;
  height: 48px;
  line-height: 48px;
  text-align: start;
  transition: background-color 0.3s ease;
}

.headerSp-nav__menu li:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.headerSp-nav__menu li a {
  display: block;
  color: #fff;
  font-weight: bold;
  width: 100%;
  height: 100%;
  padding: 0 16px 0 0;             /* 必要に応じて左右の余白を調整 */
  line-height: 48px;           /* li の高さと揃える */
  transition: background-color 0.3s ease;
}

.headerSp__left--link {
  margin: 24px 0 8px;
}

.headerSp__link a::before {
  font-family: var(--icon-font-family);
  font-weight: 900;
  margin-right: 18px;
  font-size: 36px;
  vertical-align: middle;
}

.headerSp__left--link a::before {
  content: "\f0e0";
}

.headerSp__right--link a::before {
  content: "\f095";
}

.headerSp__link a {
  background-color: #fff;
  border-radius: 64px;
  color: #ED7626;
  display: flex;              /* ← 追加 */
  align-items: center;        /* ← 追加：縦中央揃え */
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  height: 72px;
  opacity: 1;
  padding: 18px 40px;
  width: 100%;
  transition: all 0.3s ease;
}

.headerSp__link a::after {
  font-family: var(--icon-font-family);
  content: "\f105";
  font-weight: 900;
}

.headerSp__link a:hover {
  opacity: 0.8;
}

.headerSp__left--link a::after {
  margin-left: 36px;
}

.headerSp__right--link a::after {
  margin-left: 12px;
}

@media screen and (max-width: 382px) {
  .headerSp__left--link a::after {
    margin-left: 24px;
  }

  .headerSp__right--link a::after {
    margin-left: 4px;
  }
}

@media screen and (max-width: 599px){
  .hamburger__menu-Tablet {
    display: none;
  }
  .hamburger-Tablet {
    display: none;
  }
}

/*20251028追加*/
.fix_nav{
position: fixed;
z-index: 300;
bottom: 0;
left: 0;
right: 0;
margin: 0 auto;
}
.fix_nav .kotei-menu{
width: 25%;
padding: .5rem;
border-right: 1px solid white;
}
.fix_nav .kotei-menu:last-child{
border-right:none
}
.fix_nav div div{
    gap: 0;
}
@media screen and (min-width: 600px) {
.fix_nav{
    display: none !important;
}
}