.elementor-18 .elementor-element.elementor-element-a2f6f82{--display:flex;--min-height:100px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:11000;}.elementor-18 .elementor-element.elementor-element-30fa92b{--display:flex;--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:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:5px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-site-logo .hfe-site-logo-container .hfe-site-logo-img{border-color:var( --e-global-color-primary );}.elementor-widget-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-18 .elementor-element.elementor-element-cda5a60 .hfe-site-logo-container, .elementor-18 .elementor-element.elementor-element-cda5a60 .hfe-caption-width figcaption{text-align:center;}.elementor-18 .elementor-element.elementor-element-cda5a60 .hfe-site-logo .hfe-site-logo-container img{width:50px;}.elementor-18 .elementor-element.elementor-element-cda5a60 .widget-image-caption{margin-top:0px;margin-bottom:0px;}.elementor-18 .elementor-element.elementor-element-cda5a60 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-cda5a60.elementor-element{--align-self:center;}.elementor-18 .elementor-element.elementor-element-cda5a60 .hfe-site-logo-container .hfe-site-logo-img{border-style:none;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-18 .elementor-element.elementor-element-2f4cf75{width:100%;max-width:100%;text-align:start;}.elementor-18 .elementor-element.elementor-element-2f4cf75.elementor-element{--align-self:center;}.elementor-18 .elementor-element.elementor-element-2f4cf75 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:600;color:#555555;}.elementor-widget-navigation-menu .menu-item a.hfe-menu-item.elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-navigation-menu .menu-item a.hfe-menu-item.elementor-button:hover{background-color:var( --e-global-color-accent );}.elementor-widget-navigation-menu a.hfe-menu-item, .elementor-widget-navigation-menu a.hfe-sub-menu-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-navigation-menu .menu-item a.hfe-menu-item, .elementor-widget-navigation-menu .sub-menu a.hfe-sub-menu-item{color:var( --e-global-color-text );}.elementor-widget-navigation-menu .menu-item a.hfe-menu-item:hover,
								.elementor-widget-navigation-menu .sub-menu a.hfe-sub-menu-item:hover,
								.elementor-widget-navigation-menu .menu-item.current-menu-item a.hfe-menu-item,
								.elementor-widget-navigation-menu .menu-item a.hfe-menu-item.highlighted,
								.elementor-widget-navigation-menu .menu-item a.hfe-menu-item:focus{color:var( --e-global-color-accent );}.elementor-widget-navigation-menu .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:before,
								.elementor-widget-navigation-menu .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-navigation-menu .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent .sub-menu .hfe-has-submenu-container a:after{background-color:var( --e-global-color-accent );}.elementor-widget-navigation-menu .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before,
								.elementor-widget-navigation-menu .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:after{border-color:var( --e-global-color-accent );}
							.elementor-widget-navigation-menu .sub-menu li a.hfe-sub-menu-item,
							.elementor-widget-navigation-menu nav.hfe-dropdown li a.hfe-sub-menu-item,
							.elementor-widget-navigation-menu nav.hfe-dropdown li a.hfe-menu-item,
							.elementor-widget-navigation-menu nav.hfe-dropdown-expandible li a.hfe-menu-item,
							.elementor-widget-navigation-menu nav.hfe-dropdown-expandible li a.hfe-sub-menu-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-menu-item{padding-left:15px;padding-right:15px;}.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-sub-menu-item{padding-left:calc( 15px + 20px );padding-right:15px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu__layout-vertical .menu-item ul ul a.hfe-sub-menu-item{padding-left:calc( 15px + 40px );padding-right:15px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu__layout-vertical .menu-item ul ul ul a.hfe-sub-menu-item{padding-left:calc( 15px + 60px );padding-right:15px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu__layout-vertical .menu-item ul ul ul ul a.hfe-sub-menu-item{padding-left:calc( 15px + 80px );padding-right:15px;}.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-menu-item, .elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-sub-menu-item{padding-top:10px;padding-bottom:10px;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu{border-radius:18px 18px 18px 18px;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu li.menu-item:first-child{border-top-left-radius:18px;border-top-right-radius:18px;overflow:hidden;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu li.menu-item:last-child{border-bottom-right-radius:18px;border-bottom-left-radius:18px;overflow:hidden;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown{border-radius:18px 18px 18px 18px;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li.menu-item:first-child{border-top-left-radius:18px;border-top-right-radius:18px;overflow:hidden;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li.menu-item:last-child{border-bottom-right-radius:18px;border-bottom-left-radius:18px;overflow:hidden;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible{border-radius:18px 18px 18px 18px;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li.menu-item:first-child{border-top-left-radius:18px;border-top-right-radius:18px;overflow:hidden;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li.menu-item:last-child{border-bottom-right-radius:18px;border-bottom-left-radius:18px;overflow:hidden;}.elementor-18 .elementor-element.elementor-element-14ce755 ul.sub-menu{width:350px;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu li a.hfe-sub-menu-item,
						.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-menu-item,
						.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-menu-item{padding-left:18px;padding-right:18px;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible a.hfe-sub-menu-item,
						.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-sub-menu-item{padding-left:calc( 18px + 20px );padding-right:18px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown .menu-item ul ul a.hfe-sub-menu-item,
						.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown-expandible .menu-item ul ul a.hfe-sub-menu-item{padding-left:calc( 18px + 40px );padding-right:18px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown .menu-item ul ul ul a.hfe-sub-menu-item,
						.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown-expandible .menu-item ul ul ul a.hfe-sub-menu-item{padding-left:calc( 18px + 60px );padding-right:18px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown .menu-item ul ul ul ul a.hfe-sub-menu-item,
						.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown-expandible .menu-item ul ul ul ul a.hfe-sub-menu-item{padding-left:calc( 18px + 80px );padding-right:18px;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu a.hfe-sub-menu-item,
						 .elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-menu-item,
						 .elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-sub-menu-item,
						 .elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-menu-item,
						 .elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item{padding-top:15px;padding-bottom:15px;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-nav-menu__layout-horizontal:not(.hfe-dropdown) ul.sub-menu, .elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-nav-menu__layout-expandible.menu-is-active, .elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-nav-menu__layout-vertical:not(.hfe-dropdown) ul.sub-menu{margin-top:4px;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-dropdown.menu-is-active{margin-top:4px;}.elementor-18 .elementor-element.elementor-element-14ce755{width:var( --container-widget-width, 61% );max-width:61%;--container-widget-width:61%;--container-widget-flex-grow:0;}.elementor-18 .elementor-element.elementor-element-14ce755 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;border-radius:10px 10px 10px 10px;}.elementor-18 .elementor-element.elementor-element-14ce755.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu__toggle{margin:0 auto;}.elementor-18 .elementor-element.elementor-element-14ce755 a.hfe-menu-item, .elementor-18 .elementor-element.elementor-element-14ce755 a.hfe-sub-menu-item{font-family:"Noto Sans JP", Sans-serif;font-size:18px;font-weight:500;}.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-menu-item:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu a.hfe-sub-menu-item:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item.current-menu-item a.hfe-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-menu-item.highlighted,
								.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item a.hfe-menu-item:focus{color:#2F6F5E;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:before,
								.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent a.hfe-menu-item:after{background-color:#2F6F5E;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu-layout:not(.hfe-pointer__framed) .menu-item.parent .sub-menu .hfe-has-submenu-container a:after{background-color:unset;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:before,
								.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-pointer__framed .menu-item.parent a.hfe-menu-item:after{border-color:#2F6F5E;}.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item.current-menu-item a.hfe-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 .menu-item.current-menu-ancestor a.hfe-menu-item{color:#2F6F5E;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu a.hfe-sub-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 .elementor-menu-toggle,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-sub-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item{color:#59544E;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown .menu-item a.hfe-menu-item,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown .menu-item a.hfe-sub-menu-item{background-color:#FFFEFB;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu a.hfe-sub-menu-item:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 .elementor-menu-toggle:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-menu-item:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-sub-menu-item:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-menu-item:hover,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item:hover{color:#2F6F5E;}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu .menu-item.current-menu-item a.hfe-sub-menu-item.hfe-sub-menu-item-active,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown .menu-item.current-menu-item a.hfe-menu-item,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown .menu-item.current-menu-ancestor a.hfe-menu-item,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown .sub-menu .menu-item.current-menu-item a.hfe-sub-menu-item.hfe-sub-menu-item-active
							{color:#2F6F5E;}
							.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu li a.hfe-sub-menu-item,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-sub-menu-item,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li a.hfe-menu-item,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-menu-item,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:500;letter-spacing:1.5px;}.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-nav-menu__layout-horizontal .sub-menu,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav:not(.hfe-nav-menu__layout-horizontal) .sub-menu.sub-menu-open,
							.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown .hfe-nav-menu,
						 	.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible .hfe-nav-menu{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E0E8DF;}.elementor-18 .elementor-element.elementor-element-14ce755 .hfe-nav-menu .sub-menu,
								.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown,
						 		.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible{box-shadow:0px 16px 38px 0px rgba(89, 84, 78, 0.1);}.elementor-18 .elementor-element.elementor-element-14ce755 .sub-menu li.menu-item:not(:last-child),
						.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown li.menu-item:not(:last-child),
						.elementor-18 .elementor-element.elementor-element-14ce755 nav.hfe-dropdown-expandible li.menu-item:not(:last-child){border-bottom-style:solid;border-bottom-color:#2F6F5E;border-bottom-width:1px;}.elementor-18 .elementor-element.elementor-element-ba8f800{--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:space-evenly;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--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-18 .elementor-element.elementor-element-ba8f800.e-con{--flex-grow:0;--flex-shrink:0;}@media(min-width:768px){.elementor-18 .elementor-element.elementor-element-a2f6f82{--content-width:100%;}.elementor-18 .elementor-element.elementor-element-30fa92b{--width:20%;}.elementor-18 .elementor-element.elementor-element-ba8f800{--width:18%;}}/* Start custom CSS for html, class: .elementor-element-e1288b9 *//* ==========================================================
   ヘッダー統合CSS

   管理場所：
   電話番号HTMLウィジェット
   → 高度な設定
   → カスタムCSS

   外観 → 追加CSS：
   ヘッダー関連なし

   wl-main-header：
   カスタムCSSなし

   wl-header-brand：
   カスタムCSSなし

   wl-header-nav：
   カスタムCSSなし
========================================================== */


/* ==========================================================
   01. ヘッダー全体
========================================================== */

body .wl-main-header {
  position: absolute !important;

  top: 0 !important;
  right: 0 !important;
  left: 0 !important;

  z-index: 9999 !important;

  display: flex !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  max-width: none !important;

  min-height: 80px !important;

  margin: 0 !important;

  padding:
    0
    8px !important;

  box-sizing: border-box !important;

  overflow: visible !important;

  background:
    linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.86) 55%,
      rgba(255, 255, 255, 0.38) 82%,
      rgba(255, 255, 255, 0) 100%
    ) !important;

  border: 0 !important;

  box-shadow: none !important;

  filter: none !important;

  transform: none !important;

  -webkit-backdrop-filter: none !important;

  backdrop-filter: none !important;
}


/* ==========================================================
   Elementor内部
========================================================== */

body .wl-main-header > .e-con-inner {
  display: flex !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  max-width: none !important;

  min-height: 80px !important;

  margin: 0 !important;

  padding: 0 !important;

  box-sizing: border-box !important;

  overflow: visible !important;

  filter: none !important;

  transform: none !important;
}


/* ==========================================================
   02. 左側コンテナ
========================================================== */

body
.wl-main-header
.wl-header-brand {
  display: flex !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: center !important;
  justify-content: flex-start !important;

  flex:
    1
    1
    auto !important;

  width: auto !important;

  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;

  padding: 0 !important;

  overflow: visible !important;

  filter: none !important;

  transform: none !important;

  opacity: 1 !important;
}


/* ==========================================================
   03. ロゴ
========================================================== */

body
.wl-main-header
.wl-header-brand
.elementor-widget-theme-site-logo,

body
.wl-main-header
.wl-header-brand
.elementor-widget-site-logo,

body
.wl-main-header
.wl-header-brand
.elementor-widget-image {
  display: block !important;

  visibility: visible !important;

  opacity: 1 !important;

  flex:
    0
    0
    auto !important;

  width: auto !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  filter: none !important;

  transform: none !important;
}


/* ==========================================================
   ロゴリンク
========================================================== */

body
.wl-main-header
.wl-header-brand
.elementor-widget-theme-site-logo a,

body
.wl-main-header
.wl-header-brand
.elementor-widget-site-logo a,

body
.wl-main-header
.wl-header-brand
.elementor-widget-image a,

body
.wl-main-header
.wl-header-brand
.site-logo-img a {
  display: block !important;

  margin: 0 !important;

  padding: 0 !important;

  background: transparent !important;

  background-color: transparent !important;

  border: 0 !important;

  border-radius: 0 !important;

  outline: none !important;

  box-shadow: none !important;

  text-decoration: none !important;

  filter: none !important;

  transform: none !important;

  -webkit-tap-highlight-color:
    transparent !important;
}


body
.wl-main-header
.wl-header-brand
a:hover,

body
.wl-main-header
.wl-header-brand
a:focus,

body
.wl-main-header
.wl-header-brand
a:focus-visible,

body
.wl-main-header
.wl-header-brand
a:active {
  background: transparent !important;

  background-color: transparent !important;

  outline: none !important;

  box-shadow: none !important;
}


/* ==========================================================
   ロゴ画像
========================================================== */

body
.wl-main-header
.wl-header-brand
.elementor-widget-theme-site-logo img,

body
.wl-main-header
.wl-header-brand
.elementor-widget-site-logo img,

body
.wl-main-header
.wl-header-brand
.elementor-widget-image img,

body
.wl-main-header
.wl-header-brand
.site-logo-img img {
  display: block !important;

  visibility: visible !important;

  opacity: 1 !important;

  width: auto !important;

  max-width: 52px !important;

  height: auto !important;

  margin: 0 !important;

  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  outline: none !important;

  box-shadow: none !important;

  filter: none !important;

  transform: none !important;

  image-rendering: auto !important;
}


/* ==========================================================
   Elementor側のモバイル非表示対策
========================================================== */

body
.wl-main-header
.wl-header-brand
.elementor-hidden-mobile {
  display: block !important;

  visibility: visible !important;

  opacity: 1 !important;
}


/* ==========================================================
   04. 社名
========================================================== */

body
.wl-main-header
.wl-header-brand
.elementor-widget-heading {
  display: block !important;

  flex:
    0
    0
    auto !important;

  width: auto !important;

  min-width: 0 !important;
  max-width: none !important;

  margin:
    0
    0
    0
    8px !important;

  padding: 0 !important;

  overflow: visible !important;

  background: transparent !important;

  filter: none !important;

  transform: none !important;
}


body
.wl-main-header
.wl-header-brand
.elementor-widget-heading
.elementor-heading-title {
  display: block !important;

  width: max-content !important;

  min-width: max-content !important;

  max-width: none !important;

  margin: 0 !important;

  writing-mode:
    horizontal-tb !important;

  text-orientation:
    mixed !important;

  white-space:
    nowrap !important;

  word-break:
    keep-all !important;

  overflow-wrap:
    normal !important;

  color:
    #454b48 !important;

  background:
    transparent !important;

  text-shadow:
    none !important;

  filter:
    none !important;

  transform:
    none !important;

  opacity:
    1 !important;
}


/* ==========================================================
   05. ナビゲーション基本
========================================================== */

body
.wl-main-header
.wl-header-nav {
  position: relative !important;

  display: flex !important;

  flex:
    1
    1
    auto !important;

  align-items: center !important;

  justify-content: center !important;

  width: auto !important;

  min-width: 0 !important;
  max-width: none !important;

  margin:
    0
    20px
    0
    45px !important;

  padding: 0 !important;

  overflow: visible !important;

  background:
    transparent !important;

  filter: none !important;

  transform: none !important;

  opacity: 1 !important;

  z-index:
    50 !important;
}


body
.wl-main-header
.wl-header-nav
> .elementor-widget-container {
  width: 100% !important;

  margin: 0 !important;

  padding: 0 !important;

  overflow: visible !important;

  background:
    transparent !important;

  filter: none !important;

  transform: none !important;
}


/* ==========================================================
   横メニュー本体
========================================================== */

body
.wl-main-header
.wl-header-nav
nav.hfe-nav-menu__layout-horizontal {
  position: relative !important;

  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  padding: 0 !important;

  overflow: visible !important;

  background:
    transparent !important;

  filter: none !important;

  transform: none !important;
}


body
.wl-main-header
.wl-header-nav
ul.hfe-nav-menu {
  display: flex !important;

  flex-direction: row !important;

  flex-wrap: nowrap !important;

  align-items: center !important;

  justify-content: center !important;

  width: 100% !important;

  margin: 0 !important;

  padding: 0 !important;

  overflow: visible !important;

  background:
    transparent !important;

  white-space:
    nowrap !important;
}


body
.wl-main-header
.wl-header-nav
ul.hfe-nav-menu
> li {
  position: relative !important;

  flex:
    0
    0
    auto !important;

  overflow: visible !important;
}


/* ==========================================================
   PCメニュー文字
========================================================== */

body
.wl-main-header
.wl-header-nav
a.hfe-menu-item {
  white-space:
    nowrap !important;

  word-break:
    keep-all !important;

  text-shadow:
    none !important;

  filter:
    none !important;

  transform:
    none !important;

  opacity:
    1 !important;
}


body
.wl-main-header
.wl-header-nav
nav.hfe-nav-menu__layout-horizontal
> ul.hfe-nav-menu
> li
> a.hfe-menu-item,

body
.wl-main-header
.wl-header-nav
nav.hfe-nav-menu__layout-horizontal
> ul.hfe-nav-menu
> li
> .hfe-has-submenu-container
> a.hfe-menu-item {
  color:
    #555a57 !important;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    sans-serif !important;

  font-size:
    16px !important;

  font-weight:
    500 !important;

  line-height:
    1.4 !important;

  letter-spacing:
    0.015em !important;
}


/* ==========================================================
   現在ページ
========================================================== */

body
.wl-main-header
.wl-header-nav
nav.hfe-nav-menu__layout-horizontal
> ul.hfe-nav-menu
> li.current-menu-item
> a.hfe-menu-item,

body
.wl-main-header
.wl-header-nav
nav.hfe-nav-menu__layout-horizontal
> ul.hfe-nav-menu
> li.current_page_item
> a.hfe-menu-item,

body
.wl-main-header
.wl-header-nav
nav.hfe-nav-menu__layout-horizontal
> ul.hfe-nav-menu
> li.current-menu-ancestor
> .hfe-has-submenu-container
> a.hfe-menu-item {
  color:
    #2f6f5e !important;
}


/* ==========================================================
   06. 電話番号側親コンテナ
========================================================== */

body
.wl-main-header
.e-con:has(.wl-header-contact) {
  display: flex !important;

  flex:
    0
    0
    auto !important;

  align-items: center !important;

  justify-content:
    flex-end !important;

  width:
    auto !important;

  min-width:
    0 !important;

  max-width:
    none !important;

  margin:
    0
    0
    0
    auto !important;

  padding:
    0 !important;

  background:
    transparent !important;

  filter:
    none !important;

  transform:
    none !important;
}


/* ==========================================================
   電話番号HTML
========================================================== */

body
.wl-main-header
.wl-header-contact {
  position:
    relative !important;

  display:
    block !important;

  flex:
    0
    0
    auto !important;

  width:
    auto !important;

  min-width:
    0 !important;

  max-width:
    none !important;

  margin:
    0 !important;

  padding:
    0 !important;

  filter:
    none !important;

  transform:
    none !important;

  opacity:
    1 !important;

  z-index:
    40 !important;
}


/* ==========================================================
   電話番号
========================================================== */

body
.wl-main-header
.wl-header-phone {
  display:
    flex;

  flex-direction:
    column;

  align-items:
    flex-end;

  justify-content:
    center;

  width:
    max-content;

  min-width:
    255px;

  margin:
    0;

  padding:
    3px
    0;

  box-sizing:
    border-box;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    sans-serif;

  line-height:
    1;

  text-align:
    right;

  filter:
    none !important;

  transform:
    none !important;

  opacity:
    1 !important;

  text-shadow:
    none !important;
}


body
.wl-main-header
.wl-header-phone__label {
  display:
    block;

  margin-bottom:
    3px;

  color:
    #6b7470;

  font-size:
    12px;

  font-weight:
    500;

  line-height:
    1.3;

  letter-spacing:
    0.04em;

  white-space:
    nowrap;
}


body
.wl-main-header
.wl-header-phone__number {
  display:
    flex;

  align-items:
    baseline;

  justify-content:
    flex-end;

  gap:
    5px;

  margin:
    0;

  color:
    #2f8a58 !important;

  text-decoration:
    none !important;

  white-space:
    nowrap;

  background:
    transparent !important;

  text-shadow:
    none !important;

  filter:
    none !important;

  transform:
    none !important;
}


body
.wl-main-header
.wl-header-phone__tel {
  font-size:
    14px;

  font-weight:
    700;

  line-height:
    1;
}


body
.wl-main-header
.wl-header-phone__digits {
  display:
    block;

  color:
    #2f8a58 !important;

  font-size:
    27px;

  font-weight:
    700;

  line-height:
    1.05;

  letter-spacing:
    0.02em;

  white-space:
    nowrap;

  font-variant-numeric:
    tabular-nums;

  text-shadow:
    none !important;

  filter:
    none !important;

  transform:
    none !important;
}


body
.wl-main-header
.wl-header-phone__hours {
  display:
    block;

  margin-top:
    4px;

  color:
    #505a56;

  font-size:
    11px;

  font-weight:
    500;

  line-height:
    1.3;

  letter-spacing:
    0.02em;

  white-space:
    nowrap;
}


body
.wl-main-header
.wl-header-phone__separator {
  margin:
    0
    3px;

  color:
    #a4ada9;
}


/* ==========================================================
   07. 1025px以上
   PC・横メニュー

   ★原因修正版
   ★Gridは .e-con-inner に設定
   ★wl-header-brand / wl-header-nav / 電話番号を同じ1行に配置
   ★HFE子メニューの開閉処理には触れない
========================================================== */

@media screen and (min-width: 1025px) {

  /* ========================================================
     ヘッダー内部

     3列を左右同幅にすることで、
     中央列のナビゲーションを画面中央へ固定。

     左：ロゴ＋社名
     中：メニュー
     右：電話番号
  ======================================================== */

  body
  .wl-main-header
  > .e-con-inner {
    position:
      relative !important;

    display:
      grid !important;

    grid-template-columns:
      minmax(0, 1fr)
      auto
      minmax(0, 1fr) !important;

    grid-template-rows:
      80px !important;

    align-items:
      center !important;

    width:
      100% !important;

    max-width:
      none !important;

    min-height:
      80px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      visible !important;
  }


  /* ========================================================
     左：ロゴ＋社名
  ======================================================== */

  body
  .wl-main-header
  .wl-header-brand {
    grid-column:
      1 !important;

    grid-row:
      1 !important;

    justify-self:
      start !important;

    align-self:
      center !important;

    display:
      flex !important;

    flex-direction:
      row !important;

    flex-wrap:
      nowrap !important;

    align-items:
      center !important;

    justify-content:
      flex-start !important;

    width:
      auto !important;

    min-width:
      0 !important;

    max-width:
      none !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      visible !important;
  }


  /* ========================================================
     中央：ナビゲーション

     position:absoluteは使用しない。
     HFE本来のhover判定・子メニュー表示を維持。
  ======================================================== */

  body
  .wl-main-header
  .wl-header-nav {
    position:
      relative !important;

    top:
      auto !important;

    right:
      auto !important;

    bottom:
      auto !important;

    left:
      auto !important;

    grid-column:
      2 !important;

    grid-row:
      1 !important;

    justify-self:
      center !important;

    align-self:
      center !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      center !important;

    width:
      auto !important;

    min-width:
      0 !important;

    max-width:
      none !important;

    height:
      auto !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      visible !important;

    transform:
      none !important;

    filter:
      none !important;

    z-index:
      50 !important;
  }


  body
  .wl-main-header
  .wl-header-nav
  > .elementor-widget-container {
    display:
      block !important;

    width:
      auto !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      visible !important;
  }


  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal {
    position:
      relative !important;

    display:
      block !important;

    width:
      auto !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      visible !important;
  }


  body
  .wl-main-header
  .wl-header-nav
  > .elementor-widget-container
  > nav.hfe-nav-menu__layout-horizontal
  > ul.hfe-nav-menu {
    width:
      auto !important;

    margin:
      0 !important;

    padding:
      0 !important;
  }


  /* ========================================================
     PCではハンバーガー非表示
  ======================================================== */

  body
  .wl-main-header
  .wl-header-nav
  .hfe-nav-menu__toggle {
    display:
      none !important;
  }


  /* ========================================================
     右：電話番号

     Grid右列に置く。absoluteにしない。
  ======================================================== */

  body
  .wl-main-header
  .e-con:has(.wl-header-contact) {
    position:
      relative !important;

    top:
      auto !important;

    right:
      auto !important;

    bottom:
      auto !important;

    left:
      auto !important;

    grid-column:
      3 !important;

    grid-row:
      1 !important;

    justify-self:
      end !important;

    align-self:
      center !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      flex-end !important;

    width:
      auto !important;

    height:
      auto !important;

    margin:
      0
      8px
      0
      0 !important;

    padding:
      0 !important;

    z-index:
      60 !important;
  }


  /* ========================================================
     PC子メニュー

     開閉・hover・位置はHFE標準に完全に任せる。
  ======================================================== */

}


/* ==========================================================
   07-B. PC子メニュー 見た目のみ調整
   1025px以上

   ★HFE標準の開閉・位置・hover判定には触れない
   ★枠を四角く
   ★区切り線を薄く
   ★hover背景を控えめに
========================================================== */

@media screen and (min-width: 1025px) {

  /* --------------------------------------------------------
     子メニュー本体
     ※ display / position / top / visibility / opacity は触らない
  -------------------------------------------------------- */

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu {
    background:
      rgba(255, 255, 255, 0.98) !important;

    border:
      1px solid
      rgba(47, 111, 94, 0.10) !important;

    border-radius:
      0 !important;

    box-shadow:
      0
      12px
      28px
      rgba(35, 52, 46, 0.10) !important;
  }


  /* --------------------------------------------------------
     各行
     HFE側の濃い緑線を消す
  -------------------------------------------------------- */

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li {
    margin:
      0 !important;

    padding:
      0 !important;

    background:
      transparent !important;

    border:
      none !important;

    box-shadow:
      none !important;
  }


  /* --------------------------------------------------------
     2行目以降だけ薄い区切り線
  -------------------------------------------------------- */

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  + li {
    border-top:
      1px solid
      rgba(47, 111, 94, 0.11) !important;
  }


  /* --------------------------------------------------------
     子メニューリンク
  -------------------------------------------------------- */

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > a,

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > .hfe-has-submenu-container
  > a {
    margin:
      0 !important;

    padding:
      13px
      18px !important;

    color:
      #4c5753 !important;

    background:
      transparent !important;

    border:
      none !important;

    border-top:
      none !important;

    border-right:
      none !important;

    border-bottom:
      none !important;

    border-left:
      none !important;

    box-shadow:
      none !important;

    text-decoration:
      none !important;

    font-weight:
      500 !important;

    transition:
      color 0.18s ease,
      background-color 0.18s ease !important;
  }


  /* --------------------------------------------------------
     hover
     線は増やさず、背景と文字色だけ控えめに変える
  -------------------------------------------------------- */

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > a:hover,

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > .hfe-has-submenu-container
  > a:hover {
    color:
      #2f6f5e !important;

    background:
      rgba(47, 111, 94, 0.045) !important;

    border:
      none !important;

    box-shadow:
      none !important;

    text-decoration:
      none !important;
  }


  /* --------------------------------------------------------
     HFEの疑似要素による線を子メニュー内では出さない
  -------------------------------------------------------- */

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > a::before,

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > a::after,

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > .hfe-has-submenu-container
  > a::before,

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  ul.sub-menu
  > li
  > .hfe-has-submenu-container
  > a::after {
    content:
      none !important;

    display:
      none !important;
  }

}


/* ==========================================================
   08. 大きい画面
   1281px以上

   電話番号を右端から24px内側
========================================================== */

@media screen and (min-width: 1281px) {

  body
  .wl-main-header
  .e-con:has(.wl-header-contact) {
    margin:
      0
      24px
      0
      0 !important;
  }

}


/* ==========================================================
   09. 中間サイズ
   1025px ～ 1280px
========================================================== */

@media screen and (min-width: 1025px)
and (max-width: 1280px) {

  body
  .wl-main-header {
    padding:
      0
      6px !important;
  }


  body
  .wl-main-header
  .wl-header-brand
  img {
    max-width:
      44px !important;
  }


  body
  .wl-main-header
  .wl-header-brand
  .elementor-widget-heading {
    margin-left:
      6px !important;
  }


  body
  .wl-main-header
  .wl-header-brand
  .elementor-widget-heading
  .elementor-heading-title {
    font-size:
      12px !important;

    line-height:
      1.25 !important;
  }


  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  > ul.hfe-nav-menu
  > li
  > a.hfe-menu-item,

  body
  .wl-main-header
  .wl-header-nav
  nav.hfe-nav-menu__layout-horizontal
  > ul.hfe-nav-menu
  > li
  > .hfe-has-submenu-container
  > a.hfe-menu-item {
    padding-left:
      7px !important;

    padding-right:
      7px !important;

    font-size:
      14px !important;
  }


  /* 電話番号は番号のみ */

  body
  .wl-main-header
  .wl-header-phone {
    min-width:
      0;
  }


  body
  .wl-main-header
  .wl-header-phone__label,

  body
  .wl-main-header
  .wl-header-phone__hours,

  body
  .wl-main-header
  .wl-header-phone__tel {
    display:
      none !important;
  }


  body
  .wl-main-header
  .wl-header-phone__number {
    display:
      block;
  }


  body
  .wl-main-header
  .wl-header-phone__digits {
    font-size:
      16px !important;

    line-height:
      1 !important;

    letter-spacing:
      0 !important;
  }

}


/* ==========================================================
   10. 1024px以下 : モバイルヘッダーと全面メニュー

   ・HFE標準の開閉機能と子メニュー操作を使用
   ・PC (1025px以上) のレイアウト・子メニューは変更しない
   ・メニューを開くとヘッダー直下から画面いっぱいに表示
========================================================== */
@media screen and (max-width: 1024px) {

  /* ヘッダー：スマホ・タブレットとも72px */
  body .wl-main-header {
    min-height: 72px !important;
    padding: 0 10px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 1px 0 rgba(47, 111, 94, 0.10) !important;
  }

  body .wl-main-header > .e-con-inner {
    min-height: 72px !important;
  }

  body .wl-main-header .wl-header-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  /* ★元のロゴ指定と同じ詳細度で上書きし、実際に縮小する */
  body .wl-main-header .wl-header-brand .elementor-widget-theme-site-logo img,
  body .wl-main-header .wl-header-brand .elementor-widget-site-logo img,
  body .wl-main-header .wl-header-brand .elementor-widget-image img,
  body .wl-main-header .wl-header-brand .site-logo-img img {
    width: auto !important;
    max-width: 38px !important;
    max-height: 44px !important;
    object-fit: contain !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-heading {
    margin-left: 7px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-heading .elementor-heading-title {
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  /* PC向けの横メニューを閉じている時は非表示 */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal:not(.menu-is-active) {
    display: none !important;
  }

  /* ナビの場所：社名と電話番号の間 */
  body .wl-main-header .wl-header-nav {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    flex: 0 0 46px !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    margin: 0 8px 0 6px !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    z-index: 70 !important;
  }

  body .wl-main-header .wl-header-nav > .elementor-widget-container {
    width: 46px !important;
    overflow: visible !important;
  }

  /* HFE標準のハンバーガーボタン : 操作はそのまま */
  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #315d4e !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    cursor: pointer;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle::before,
  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle::after {
    content: none !important;
    display: none !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle i {
    color: #315d4e !important;
    font-size: 27px !important;
    line-height: 1 !important;
    text-shadow: none !important;
    filter: none !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle svg {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    fill: #315d4e !important;
    color: #315d4e !important;
    filter: none !important;
    transform: none !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle:focus-visible {
    outline: 2px solid #2f6f5e !important;
    outline-offset: 2px !important;
    border-radius: 3px !important;
  }

  /* 電話番号：上下の案内やTELは省略して番号を読みやすくする */
  body .wl-main-header .e-con:has(.wl-header-contact) {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body .wl-main-header .wl-header-phone {
    width: max-content;
    min-width: 0;
    padding: 0;
  }

  body .wl-main-header .wl-header-phone__label,
  body .wl-main-header .wl-header-phone__hours,
  body .wl-main-header .wl-header-phone__tel {
    display: none !important;
  }

  body .wl-main-header .wl-header-phone__number {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    min-height: 44px !important;
  }

  body .wl-main-header .wl-header-phone__digits {
    font-size: 16px !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
  }

  /* ========================================================
     11. メニューを開いた時：画面幅いっぱいのパネル
     先頭の72pxのみヘッダーを残し、残りをメニューで覆う
  ======================================================== */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active {
    position: fixed !important;
    top: 72px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: calc(100vh - 72px) !important;
    height: calc(100dvh - 72px) !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 30px clamp(26px, 7vw, 72px) 50px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #fbfcfa !important;
    border: 0 !important;
    outline: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    z-index: 999999 !important;
    animation: wl-mobile-nav-in 0.22s ease-out both;
  }

  /* 装飾は控えめに、英字見出しと細い区切り線のみ */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active::before {
    content: "MENU" !important;
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 0 20px !important;
    color: #678a7a !important;
    font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.28em !important;
    line-height: 1.5 !important;
    border-bottom: 1px solid #dce6df !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    white-space: normal !important;
  }

  /* 見やすい大きさ、各行は薄い区切り線 */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid #e3ebe5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active .hfe-has-submenu-container {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
  }

  /* 直接のメニューリンクだけ変更：下層リンクの開閉を妨げない */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > a.hfe-menu-item,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > .hfe-has-submenu-container > a.hfe-menu-item {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    min-height: 70px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px 6px !important;
    box-sizing: border-box !important;
    color: #344b41 !important;
    font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", sans-serif !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    white-space: normal !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    transform: none !important;
  }

  /* HFEの文字下線アニメーションは、この全面メニューでは使わない */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > a.hfe-menu-item::before,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > a.hfe-menu-item::after,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > .hfe-has-submenu-container > a.hfe-menu-item::before,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > .hfe-has-submenu-container > a.hfe-menu-item::after {
    content: none !important;
    display: none !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > a.hfe-menu-item:hover,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li > .hfe-has-submenu-container > a.hfe-menu-item:hover {
    color: #2f795e !important;
    background: transparent !important;
  }

  /* 現在のページだけは濃い緑で識別 */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li.current-menu-item > a.hfe-menu-item,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li.current_page_item > a.hfe-menu-item,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active > ul.hfe-nav-menu > li.current-menu-ancestor > .hfe-has-submenu-container > a.hfe-menu-item {
    color: #287557 !important;
    font-weight: 700 !important;
    background: transparent !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active a.hfe-menu-item:focus-visible {
    outline: 2px solid #2f795e !important;
    outline-offset: -2px !important;
  }

  /* 下層メニューの開閉ボタンは押しやすいサイズに */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active .sub-arrow {
    min-width: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    color: #668474 !important;
  }

  /* サブメニュー：HFEの表示/非表示は変更せず、開いた時の見た目だけ調整 */
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active ul.sub-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 0 12px !important;
    padding: 0 0 2px 16px !important;
    background: transparent !important;
    border: 0 !important;
    border-left: 1px solid #dce6df !important;
    outline: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active ul.sub-menu li {
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active ul.sub-menu li a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 8px !important;
    color: #607168 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active ul.sub-menu li a:hover,
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active ul.sub-menu li.current-menu-item > a {
    color: #287557 !important;
  }
}

/* ==========================================================
   12. スマートフォン：サイズを細かく調整
========================================================== */
@media screen and (max-width: 767px) {
  body .wl-main-header {
    padding: 0 8px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-theme-site-logo img,
  body .wl-main-header .wl-header-brand .elementor-widget-site-logo img,
  body .wl-main-header .wl-header-brand .elementor-widget-image img,
  body .wl-main-header .wl-header-brand .site-logo-img img {
    max-width: 30px !important;
    max-height: 36px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-heading {
    margin-left: 5px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-heading .elementor-heading-title {
    font-size: 11.5px !important;
    line-height: 1.3 !important;
  }

  body .wl-main-header .wl-header-nav {
    flex-basis: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    margin: 0 5px 0 4px !important;
  }

  body .wl-main-header .wl-header-nav > .elementor-widget-container {
    width: 44px !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle i {
    font-size: 27px !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle svg {
    width: 27px !important;
    height: 27px !important;
  }

  body .wl-main-header .wl-header-phone__digits {
    font-size: 14.5px !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active {
    padding: 28px 26px 55px !important;
  }
}

/* 幅の狭いスマホでも、文字が重ならないバランスにする */
@media screen and (max-width: 359px) {
  body .wl-main-header {
    padding: 0 5px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-theme-site-logo img,
  body .wl-main-header .wl-header-brand .elementor-widget-site-logo img,
  body .wl-main-header .wl-header-brand .elementor-widget-image img,
  body .wl-main-header .wl-header-brand .site-logo-img img {
    max-width: 27px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-heading {
    margin-left: 4px !important;
  }

  body .wl-main-header .wl-header-brand .elementor-widget-heading .elementor-heading-title {
    font-size: 10.5px !important;
  }

  body .wl-main-header .wl-header-nav {
    flex-basis: 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    margin: 0 3px 0 2px !important;
  }

  body .wl-main-header .wl-header-nav > .elementor-widget-container {
    width: 42px !important;
  }

  body .wl-main-header .wl-header-nav .hfe-nav-menu__toggle {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }

  body .wl-main-header .wl-header-phone__digits {
    font-size: 13.5px !important;
    letter-spacing: -0.025em !important;
  }

  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}

/* WordPress管理バーが表示されているときは、その分だけ下げる */
@media screen and (min-width: 783px) and (max-width: 1024px) {
  body.admin-bar .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active {
    top: 104px !important; /* 32px + ヘッダー72px */
    height: calc(100dvh - 104px) !important;
  }
}

@media screen and (max-width: 782px) {
  body.admin-bar .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active {
    top: 118px !important; /* 46px + ヘッダー72px */
    height: calc(100dvh - 118px) !important;
  }
}

@keyframes wl-mobile-nav-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  body .wl-main-header .wl-header-nav nav.hfe-nav-menu__layout-horizontal.menu-is-active {
    animation: none !important;
  }
}


/* ==========================================================
   13. 全ページ
   ヘッダーを画面上部へ固定

   ・ホーム画面もスクロール追従
   ・下層ページもスクロール追従
   ・ヘッダー内部レイアウトは変更しない
   ・WordPress管理バー表示時の位置だけ補正
========================================================== */

body
.wl-main-header {
  position:
    fixed !important;

  top:
    0 !important;

  right:
    0 !important;

  left:
    0 !important;

  z-index:
    9999 !important;
}


/* ==========================================================
   WordPress管理バー表示中
   PC・タブレット
========================================================== */

body.admin-bar
.wl-main-header {
  top:
    32px !important;
}


/* ==========================================================
   WordPress管理バー表示中
   782px以下では管理バーが46px
========================================================== */

@media screen and (max-width: 782px) {

  body.admin-bar
  .wl-main-header {
    top:
      46px !important;
  }

}


/* ==========================================================
   電話番号 上下テキスト
   少し大きくする
========================================================== */

body
.wl-main-header
.wl-header-phone__label {
  font-size: 14px !important;
  line-height: 1.35 !important;
}


body
.wl-main-header
.wl-header-phone__hours {
  font-size: 12px !important;
  line-height: 1.35 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ba8f800 *//* =========================================
   お問い合わせ・資料請求ボタン 親コンテナ
========================================= */

.elementor-18 .elementor-element.elementor-element-ba8f800 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;

  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.elementor-18 .elementor-element.elementor-element-ba8f800 > .elementor-element,
.elementor-18 .elementor-element.elementor-element-ba8f800 > .elementor-widget,
.elementor-18 .elementor-element.elementor-element-ba8f800 > .e-con,
.elementor-18 .elementor-element.elementor-element-ba8f800 > .e-child {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}/* End custom CSS */