.elementor-169 .elementor-element.elementor-element-b1dbcbd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-169 .elementor-element.elementor-element-b1dbcbd:not(.elementor-motion-effects-element-type-background), .elementor-169 .elementor-element.elementor-element-b1dbcbd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-169 .elementor-element.elementor-element-4e848a4f{--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;}.elementor-169 .elementor-element.elementor-element-3bfc3c2a{--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;}.elementor-169 .elementor-element.elementor-element-6c8bc427{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-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-169 .elementor-element.elementor-element-7222f672{text-align:left;}.elementor-169 .elementor-element.elementor-element-7222f672 img{width:auto;height:60px;}.elementor-169 .elementor-element.elementor-element-606862fc{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:751px){.elementor-169 .elementor-element.elementor-element-3bfc3c2a{--width:600px;}.elementor-169 .elementor-element.elementor-element-6c8bc427{--width:auto;}.elementor-169 .elementor-element.elementor-element-606862fc{--width:calc(100% - 600px);}}@media(max-width:1201px){.elementor-169 .elementor-element.elementor-element-b1dbcbd{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:3%;--padding-right:3%;}.elementor-169 .elementor-element.elementor-element-4e848a4f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-169 .elementor-element.elementor-element-3bfc3c2a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-169 .elementor-element.elementor-element-6c8bc427{--justify-content:center;}.elementor-169 .elementor-element.elementor-element-7222f672 img{width:auto;}.elementor-169 .elementor-element.elementor-element-3b3d4927 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-169 .elementor-element.elementor-element-3b3d4927.elementor-element{--align-self:flex-end;}}@media(max-width:750px){.elementor-169 .elementor-element.elementor-element-b1dbcbd{--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:4%;--padding-right:4%;}.elementor-169 .elementor-element.elementor-element-4e848a4f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-169 .elementor-element.elementor-element-3bfc3c2a{--width:282px;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-169 .elementor-element.elementor-element-6c8bc427{--width:auto;--justify-content:center;}.elementor-169 .elementor-element.elementor-element-7222f672 img{width:auto;height:30px;}.elementor-169 .elementor-element.elementor-element-606862fc{--width:calc(100% - 282px);--justify-content:flex-end;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}/* Start custom CSS for html, class: .elementor-element-67856787 *//* メニュー全体のスタイル */
.menu-content {
    display: none; /* 初期状態で非表示 */
    position: fixed;
    top: 0; /* 画面上端に配置 */
    left: 0;
    width: 100%;
    height: 80%; /* 高さを画面の80%に設定 */
    background: white;
    z-index: 1001;
    overflow-y: auto; /* コンテンツが多い場合にスクロール可能 */
    padding: 20px;
    opacity: 0; /* 初期状態で透明 */
    animation: slideDown 0.5s ease; /* アニメーションの適用 */
}

/* 表示状態 */
.menu-content.show {
    display: block; /* 表示に切り替え */
    opacity: 1; /* 表示状態で透明度を戻す */
    animation: slideDown 0.5s ease; /* 下からスライドする動きを付加 */
}

/* メニューのアニメーション */
@keyframes slideDown {
    from {
        transform: translateY(-100%); /* 初期位置：画面外（上） */
        opacity: 0; /* 完全に透明 */
    }
    to {
        transform: translateY(0); /* 最終位置：通常位置 */
        opacity: 1; /* 表示される */
    }
}

/* 背景を暗くしてぼかしを追加 */
.overlay {
    display: none; /* 初期状態で非表示 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6); /* 背景を暗くする */
    backdrop-filter: blur(5px); /* 背景をぼかす */
    z-index: 1000;
    transition: opacity 0.5s ease; /* オーバーレイもアニメーション */
    opacity: 0;
}

/* 表示状態のオーバーレイ */
.overlay.show {
    display: block;
    opacity: 1;
    pointer-events: all; /* クリック可能にする */
}

/* トグルボタンのスタイル（≡） */
.icon-style {
    color: #5b5b5b;
    font-size: 32px;
    cursor: pointer;
    transition: color 0.3s ease;
}

/* 閉じるボタンのスタイル（×） */
.close-button {
    position: fixed; /* 画面内の固定位置 */
    top: 24px; /* 上から20px */
    padding: 8px 4px;
    right: calc(((100% - 1160px) / 2) + 0px); /* 右から20px */
    background: none;
    border: none;
    font-size: 32px;
    font-weight: bold;
    color: #5b5b5b;
    cursor: pointer;
    z-index: 1100; /* メニューの上に表示する */
    outline: none;
    transition: color 0.3s ease;
}

/* 閉じるボタンのホバー時 */
.close-button:hover {
    color: #5b5b5b; /* ホバー時の色 */
}

.sp-menu > li:last-child {
  border-bottom: none; /* 最後のアイテムのボーダーを削除 */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3b3d4927 *//*****************************************************
 * オーバーレイ（ブラー背景）
 *****************************************************/
.sp-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 背景を半透明＋ブラー */
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 1000; /* メニューの下に敷く */
}
.sp-overlay.show {
  display: block;
}

/*****************************************************
 * メニュー全体（.sp-menu-content）
 * → 画面全体を覆うが pointer-events: none でクリックを通す
 *****************************************************/
.sp-menu-content {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* 高さを100%に戻して、下部にブラー背景が見えるように */
  height: 100%;
  z-index: 1001;   
  pointer-events: none; 
}
.sp-menu-content.show {
  display: block;
}

/*****************************************************
 * メニュー本体（.menu-inner）
 * → pointer-events: auto にして中身をクリックできるように
 *****************************************************/
.menu-inner {
  pointer-events: auto; /* メニュー自体はクリックできる */
  width: 100%;
  /* heightをautoにして、メニュー分だけ表示
     下に余白があればブラー背景が見えるようになる */
  height: auto; 
  background-color: #f2f2f2; /* メニュー全体背景 */
  /* overflow-yを必要に応じて設定。要素が多い場合はスクロールさせるならautoに */
  /* overflow-y: auto; */

  animation: spSlideDown 0.7s ease;
}

/*****************************************************
 * アニメーション
 *****************************************************/
@keyframes spSlideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/*****************************************************
 * メニューのヘッダー部分 (ロゴ＋クローズボタン)
 *****************************************************/
.sp-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  padding: 10px;
}

.sp-menu-header .header-left img {
  height: 30px;
  width: auto;
}

.sp-close-button {
  background: none;
  border: none;
  font-size: 24px;
  color: #666;
  cursor: pointer;
}

/*****************************************************
 * ハンバーガーボタン
 *****************************************************/
.sp-icon-style {
  font-size: 32px;
  font-weight: 500;
  color: #5b5b5b;
  border: none;
  background: none;
  cursor: pointer;
  
}

/*****************************************************
 * メニューリスト
 *****************************************************/
.sp-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 1階層目（親メニュー） */
.sp-menu > .menu-item {
  background-color: #e8e8e8; /* 親メニューの背景色 */
  border-bottom: 1px solid #ddd;
  position: relative;
}

.sp-menu > .menu-item > a {
  display: block;
  text-decoration: none;
  padding: 15px;
  /* 親メニューの文字フォント指定 */
  font-family: 'M PLUS 1', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #333333;
}

/* 2階層目（子メニュー） */
.sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}

.sub-menu .menu-item {
  background-color: #fff;
  position: relative;
}

.sub-menu .menu-item a {
  display: block;
  text-decoration: none;
  /* 子メニューだけ左パディングを28pxなどにする場合は適宜調整 */
  padding: 15px;
  /* 子メニューの文字フォント (Medium = 500) */
  font-family: 'M PLUS 1', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #333333;
  border-left: 1px solid #DDDDDD;
  margin-left: 25px;
  border-bottom: 1px solid #DDDDDD;
}

/* ▼ 子メニュー「最後の項目」のボーダーを消す */
.sub-menu .menu-item:last-child a {
  border-bottom: none;
}

/*****************************************************
 * 右端の矢印
 *****************************************************/
.arrow {
  position: absolute;
  /* さらに左に寄せるために値を大きくする → 25pxにしてみる例 */
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  color: #666;
  /* 矢印を太く */
  font-weight: bold;
}

/*****************************************************
 * ホバー時の装飾OFF
 *****************************************************/
.sp-close-button:hover,
.sp-icon-style:hover,
.sp-menu a:hover,
.arrow:hover {
  background: none;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}/* End custom CSS */