.elementor-385 .elementor-element.elementor-element-15a4fc07{--display:flex;--min-height:600px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-385 .elementor-element.elementor-element-82fc197{--display:flex;--justify-content:center;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-385 .elementor-element.elementor-element-82fc197:not(.elementor-motion-effects-element-type-background), .elementor-385 .elementor-element.elementor-element-82fc197 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#38302E;}.elementor-385 .elementor-element.elementor-element-880a1ed{text-align:center;}.elementor-385 .elementor-element.elementor-element-880a1ed .elementor-heading-title{font-family:"Marcellus", Sans-serif;font-size:3.5rem;font-weight:400;letter-spacing:2.1px;color:#FDFFFF;}.elementor-385 .elementor-element.elementor-element-9923c56{text-align:center;}.elementor-385 .elementor-element.elementor-element-9923c56 .elementor-heading-title{font-family:"Shippori Mincho", Sans-serif;font-size:1.7rem;font-weight:600;color:#FDFFFF;}.elementor-385 .elementor-element.elementor-element-d008a2a{--divider-border-style:solid;--divider-color:#FDFFFF;--divider-border-width:1px;}.elementor-385 .elementor-element.elementor-element-d008a2a .elementor-divider-separator{width:18%;margin:0 auto;margin-center:0;}.elementor-385 .elementor-element.elementor-element-d008a2a .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-385 .elementor-element.elementor-element-6b68c94{text-align:center;}.elementor-385 .elementor-element.elementor-element-86ee5f7.elementor-element{--align-self:center;}.elementor-385 .elementor-element.elementor-element-330ceb02{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-385 .elementor-element.elementor-element-330ceb02:not(.elementor-motion-effects-element-type-background), .elementor-385 .elementor-element.elementor-element-330ceb02 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kanpo-hospital.sai-irodori.design/wp-content/uploads/2025/09/31413199_m.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-385 .elementor-element.elementor-element-3d01972a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:5%;--padding-bottom:3%;--padding-left:5%;--padding-right:5%;--z-index:99999;}.elementor-385 .elementor-element.elementor-element-1e675fc0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-385 .elementor-element.elementor-element-46ce3f0.elementor-element{--align-self:flex-start;}.elementor-385 .elementor-element.elementor-element-46ce3f0 img{width:83%;}.elementor-385 .elementor-element.elementor-element-4fab245f{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;border-style:solid;--border-style:solid;border-width:0px 0px 0px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:1px;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:0px;}.elementor-385 .elementor-element.elementor-element-1313998b{width:100%;max-width:100%;--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu .elementor-item{font-family:"Noto Sans JP", Sans-serif;font-size:14px;font-weight:400;letter-spacing:0.8px;}.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;padding-left:15px;padding-right:15px;padding-top:10px;padding-bottom:10px;}.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main .elementor-item:hover,
					.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main .elementor-item:focus{color:#626060;fill:#626060;}.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#000000;}.elementor-385 .elementor-element.elementor-element-1313998b .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-385 .elementor-element.elementor-element-5f138ecb{--display:flex;--min-height:50px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-385 .elementor-element.elementor-element-1f06682b{text-align:center;}.elementor-385 .elementor-element.elementor-element-1f06682b .elementor-heading-title{font-family:"Shippori Mincho", Sans-serif;font-weight:400;color:#000000;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-385 .elementor-element.elementor-element-880a1ed .elementor-heading-title{font-size:2.4rem;}.elementor-385 .elementor-element.elementor-element-9923c56 .elementor-heading-title{font-size:1.4rem;}.elementor-385 .elementor-element.elementor-element-3d01972a{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--flex-wrap:wrap;}.elementor-385 .elementor-element.elementor-element-1e675fc0{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-385 .elementor-element.elementor-element-1e675fc0.e-con{--align-self:flex-start;}.elementor-385 .elementor-element.elementor-element-46ce3f0.elementor-element{--align-self:center;}.elementor-385 .elementor-element.elementor-element-4fab245f{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}}@media(min-width:768px){.elementor-385 .elementor-element.elementor-element-82fc197{--width:55%;}.elementor-385 .elementor-element.elementor-element-330ceb02{--width:45%;}.elementor-385 .elementor-element.elementor-element-3d01972a{--content-width:1300px;}.elementor-385 .elementor-element.elementor-element-1e675fc0{--width:30%;}.elementor-385 .elementor-element.elementor-element-4fab245f{--width:70%;}}@media(max-width:1024px) and (min-width:768px){.elementor-385 .elementor-element.elementor-element-82fc197{--width:55%;}.elementor-385 .elementor-element.elementor-element-330ceb02{--width:45%;}.elementor-385 .elementor-element.elementor-element-1e675fc0{--width:100%;}.elementor-385 .elementor-element.elementor-element-4fab245f{--width:100%;}}@media(max-width:767px){.elementor-385 .elementor-element.elementor-element-15a4fc07{--min-height:565px;}.elementor-385 .elementor-element.elementor-element-880a1ed .elementor-heading-title{font-size:2rem;}.elementor-385 .elementor-element.elementor-element-9923c56 .elementor-heading-title{font-size:1rem;}.elementor-385 .elementor-element.elementor-element-d008a2a .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-385 .elementor-element.elementor-element-330ceb02{--min-height:186px;}.elementor-385 .elementor-element.elementor-element-3d01972a{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:15%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-385 .elementor-element.elementor-element-46ce3f0 img{width:65%;}.elementor-385 .elementor-element.elementor-element-4fab245f{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-385 .elementor-element.elementor-element-1f06682b .elementor-heading-title{font-size:13px;}}/* Start custom CSS for html, class: .elementor-element-cfce098 *//* ------------------------------
   Popup 基本
------------------------------ */
.popup-menu {
  position: fixed;
  inset: 0;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center; /* 縦中央配置 */
  opacity: 0;
  visibility: hidden;
  transform: scale(1.05);
  transition: all 0.4s ease;
  z-index: 9999;
}

/* 表示時 */
.popup-menu.open {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

/* 中身 */
.popup-inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* 左=ロゴ, 中央=メニュー, 右=メニュー */
  gap: 80px;
  align-items: center; /* 縦中央 */
  max-width: 1400px;
  width: 90%;
  margin: auto;
  justify-items: center;
}

/* ------------------------------
   ロゴ部分
------------------------------ */
.popup-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.popup-logo {
  max-width: 180px;
  margin-bottom: 16px;
}
.brand-copy {
  font-family: "Shippori Mincho", sans-serif;
  font-size: 14px;
  color: #333;
}

/* ------------------------------
   閉じるボタン
------------------------------ */
.popup-close {
  font-size: 0 !important; /* テキストは強制的に非表示 */
  line-height: 0 !important;
  color: transparent !important;

  position: absolute;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url('https://kanpo-hospital.sai-irodori.design/wp-content/uploads/2025/09/close.svg') no-repeat center;
  background-size: contain;
  border: none;
  cursor: pointer;
  padding: 0;

  display: inline-block;           /* transformを効かせる */
  transition: transform 0.4s ease; /* アニメーション */
}
.popup-close:hover {
  transform: translateY(-50%) rotate(180deg); /* 180°回転 */
}
.popup-close:hover,
.popup-close:focus {
  background: url('https://kanpo-hospital.sai-irodori.design/wp-content/uploads/2025/09/close.svg') no-repeat center !important;
  background-size: contain !important;
  outline: none;
  box-shadow: none;
}

/* ------------------------------
   メニューリスト
------------------------------ */
.menu-list {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 320px;
}
.menu-list li {
  margin-bottom: 24px;
}

/* Titles (EN + JP) */
.menu-list .en {
  display: block;
  font-family: "Marcellus", Sans-serif;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #000;
}
.menu-list .jp {
  display: block;
  font-family: "Shippori Mincho", Sans-serif;
  font-size: 14px;
  margin-top: 4px;
  color: #333;
}

/* Links */
.menu-list a {
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.3s ease;
}
.menu-list a:hover {
  opacity: 0.7;
}

/* ------------------------------
   アコーディオン
------------------------------ */
.accordion-toggle {
  background: none !important;
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
  cursor: pointer;
  display: block;
  color: #000;
  text-align: left;
}

/* 英字＋矢印 */
.toggle-header {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}

/* 英字タイトル */
.accordion-toggle .en {
  font-family: "Marcellus", Sans-serif;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #000;
}

/* 日本語タイトル */
.accordion-toggle .jp {
  display: block;
  font-family: "Shippori Mincho", Sans-serif;
  font-size: 14px;
  margin-top: 4px;
  color: #333;
  text-align: left;
}

/* 矢印 */
.accordion-toggle .arrow {
  font-size: 1.2rem;
  flex-shrink: 0;
  color: #000;
  transition: transform 0.3s ease;
}
.has-sub.open .accordion-toggle .arrow {
  transform: rotate(90deg);
}

/* サブメニュー */
.submenu {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 600px;
}
.has-sub.open .submenu {
  max-height: 1000px;
  max-width: 800px;
}

.submenu-row {
  display: grid;
  gap: 8px 20px;
}
.submenu-row.row-3 {
  grid-template-columns: repeat(3, 1fr);
}
.submenu-row.row-4 {
  grid-template-columns: repeat(4, 1fr);
}
.submenu li {
  margin: 0;
}
.submenu a {
  font-family: "Shippori Mincho", Sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: #333;
  text-decoration: none;
}
.submenu a:hover {
  opacity: 0.7;
}

/* ------------------------------
   768px以下（MB）
------------------------------ */
@media (max-width: 768px) {
  .popup-inner {
    grid-template-columns: 1fr;
    gap: 20px;
    justify-items: center;
  }
  .menu-list {
    min-width: auto;
    text-align: center;
  }
  .menu-list a {
    display: inline-block;
    text-align: center;
  }
  .menu-list .en,
  .menu-list .jp {
    text-align: center;
  }
  .accordion-toggle {
    text-align: center;
  }
  .toggle-header {
    justify-content: center;
  }
  .popup-brand {
    order: -1;
    text-align: center;
  }
}

/* ------------------------------
   1000px以下（TB + MB）
------------------------------ */
@media (max-width: 1000px) {
  .popup-menu {
    align-items: flex-start;
    overflow-y: auto;
    padding: 40px 20px;
  }
  .popup-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0; /* gapを消す */
  }
  .popup-brand {
    order: -1;
    text-align: center;
    margin-bottom: 40px;
  }
  .popup-logo {
    max-width: 150px !important;
  }
  .brand-copy {
    font-size: 13px;
  }
  .menu-list {
    text-align: center;
    min-width: auto;
    margin: 0;
    padding: 0;
  }
  .menu-list a {
    display: inline-block;
    text-align: center;
  }
  .menu-list .en,
  .menu-list .jp {
    text-align: center;
  }
  .accordion-toggle {
    text-align: center;
  }
  .toggle-header {
    justify-content: center;
  }
  .popup-close {
    left: 20px;
  }
  .submenu {
    gap: 0;
  }
  .menu-list li {
    margin-bottom: 24px;
  }
}

/* ------------------------------
   500px以下（SP）
------------------------------ */
@media (max-width: 500px) {
  .popup-menu {
    padding: 40px 0;
  }
  .popup-logo {
    max-width: 120px !important;
    margin-bottom: 12px;
  }
  .brand-copy {
    font-size: 12px;
  }
  .menu-list li {
    margin-bottom: 18px;
  }
  .menu-list .en,
  .accordion-toggle .en {
    font-size: 1.4rem;
  }
}/* End custom CSS */