.elementor-25 .elementor-element.elementor-element-6988cf4{--display:flex;--min-height:133px;--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;--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-25 .elementor-element.elementor-element-6988cf4:not(.elementor-motion-effects-element-type-background), .elementor-25 .elementor-element.elementor-element-6988cf4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-25 .elementor-element.elementor-element-46707a6{--display:flex;--justify-content:center;--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-image .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-25 .elementor-element.elementor-element-f2c0fdf{text-align:left;}.elementor-25 .elementor-element.elementor-element-f2c0fdf img{width:440px;height:76px;}.elementor-25 .elementor-element.elementor-element-1ffe205{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--background-transition:0.3s;border-style:none;--border-style:none;--border-radius:120px 120px 120px 120px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .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-25 .elementor-element.elementor-element-feb135a .elementor-button{background-color:var( --e-global-color-7645dbe );font-family:"Noto Sans JP", Sans-serif;font-size:25px;font-weight:500;fill:#000000;color:#000000;border-style:solid;border-width:4px 4px 4px 4px;border-color:#000000;border-radius:120px 120px 120px 120px;}.elementor-25 .elementor-element.elementor-element-feb135a .elementor-button:hover, .elementor-25 .elementor-element.elementor-element-feb135a .elementor-button:focus{background-color:var( --e-global-color-199437e );}.elementor-25 .elementor-element.elementor-element-737544b{--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-25 .elementor-element.elementor-element-bb45c1e{--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;}.elementor-25 .elementor-element.elementor-element-f87d599{--display:flex;}.elementor-25 .elementor-element.elementor-element-8c932a7{text-align:left;}.elementor-25 .elementor-element.elementor-element-8c932a7 img{width:440px;height:76px;}.elementor-25 .elementor-element.elementor-element-5c5068d{--display:flex;}.elementor-25 .elementor-element.elementor-element-35aec76 .elementor-button{background-color:var( --e-global-color-7645dbe );font-family:"Noto Sans JP", Sans-serif;font-size:25px;font-weight:500;fill:#000000;color:#000000;border-style:solid;border-color:#000000;border-radius:120px 120px 120px 120px;}.elementor-25 .elementor-element.elementor-element-35aec76 .elementor-button:hover, .elementor-25 .elementor-element.elementor-element-35aec76 .elementor-button:focus{background-color:var( --e-global-color-199437e );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1201px){.elementor-25 .elementor-element.elementor-element-6988cf4{--min-height:80px;--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-25 .elementor-element.elementor-element-46707a6{--min-height:60px;}.elementor-25 .elementor-element.elementor-element-f2c0fdf img{width:300px;height:100%;}.elementor-25 .elementor-element.elementor-element-1ffe205{--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-25 .elementor-element.elementor-element-8c932a7 img{width:300px;height:100%;}.elementor-25 .elementor-element.elementor-element-d8de6ee > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-25 .elementor-element.elementor-element-d8de6ee.elementor-element{--align-self:flex-end;}}@media(max-width:750px){.elementor-25 .elementor-element.elementor-element-6988cf4{--width:100%;--min-height:50px;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-25 .elementor-element.elementor-element-46707a6{--width:50%;--min-height:50px;--justify-content:center;}.elementor-25 .elementor-element.elementor-element-f2c0fdf img{width:207px;height:36px;}.elementor-25 .elementor-element.elementor-element-1ffe205{--width:30%;--min-height:50px;--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;--justify-content:center;}.elementor-25 .elementor-element.elementor-element-feb135a .elementor-button{font-size:13px;padding:10px 15px 10px 15px;}.elementor-25 .elementor-element.elementor-element-737544b{--width:20%;--min-height:50px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-25 .elementor-element.elementor-element-bb45c1e{--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:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:0%;}.elementor-25 .elementor-element.elementor-element-f87d599{--width:207px;--justify-content:center;}.elementor-25 .elementor-element.elementor-element-8c932a7 img{width:207px;height:36px;}.elementor-25 .elementor-element.elementor-element-5c5068d{--width:calc(100% - 207px);--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:flex-end;--align-items:center;}.elementor-25 .elementor-element.elementor-element-35aec76.elementor-element{--align-self:center;}.elementor-25 .elementor-element.elementor-element-35aec76 .elementor-button{font-size:13px;border-width:3px 3px 3px 3px;padding:10px 15px 10px 15px;}.elementor-25 .elementor-element.elementor-element-d8de6ee.elementor-element{--align-self:flex-end;}}@media(min-width:751px){.elementor-25 .elementor-element.elementor-element-46707a6{--width:840px;}.elementor-25 .elementor-element.elementor-element-1ffe205{--width:200px;}.elementor-25 .elementor-element.elementor-element-737544b{--width:120px;}}@media(max-width:1201px) and (min-width:751px){.elementor-25 .elementor-element.elementor-element-46707a6{--width:400px;}.elementor-25 .elementor-element.elementor-element-737544b{--width:50px;}}/* Start custom CSS for html, class: .elementor-element-f2064fd *//* メニュー全体のスタイル */
.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-d8de6ee *//*****************************************************
 * オーバーレイ（ブラー背景）
 *****************************************************/
.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 */