.elementor-140 .elementor-element.elementor-element-712e1f2f{--display:flex;--min-height:410px;--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-between;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--overlay-opacity:0.5;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:var( --e-global-color-728df1b );--border-color:var( --e-global-color-728df1b );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;--z-index:999;}.elementor-140 .elementor-element.elementor-element-712e1f2f:not(.elementor-motion-effects-element-type-background), .elementor-140 .elementor-element.elementor-element-712e1f2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-e51634a );}.elementor-140 .elementor-element.elementor-element-712e1f2f::before, .elementor-140 .elementor-element.elementor-element-712e1f2f > .elementor-background-video-container::before, .elementor-140 .elementor-element.elementor-element-712e1f2f > .e-con-inner > .elementor-background-video-container::before, .elementor-140 .elementor-element.elementor-element-712e1f2f > .elementor-background-slideshow::before, .elementor-140 .elementor-element.elementor-element-712e1f2f > .e-con-inner > .elementor-background-slideshow::before, .elementor-140 .elementor-element.elementor-element-712e1f2f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-140 .elementor-element.elementor-element-712e1f2f.e-con{--flex-grow:1;--flex-shrink:0;}.elementor-140 .elementor-element.elementor-element-42272544{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-140 .elementor-element.elementor-element-42272544.e-con{--flex-grow:0;--flex-shrink:0;}.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-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-140 .elementor-element.elementor-element-41846543{width:var( --container-widget-width, 88.12% );max-width:88.12%;--container-widget-width:88.12%;--container-widget-flex-grow:0;text-align:center;}.elementor-140 .elementor-element.elementor-element-41846543.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-140 .elementor-element.elementor-element-41846543 img{width:314px;max-width:100%;opacity:1;}.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-140 .elementor-element.elementor-element-d839004 .elementor-heading-title{font-family:"Murecho", Sans-serif;font-size:15px;font-weight:600;letter-spacing:1.3px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-140 .elementor-element.elementor-element-712e1f2f{--width:100%;}.elementor-140 .elementor-element.elementor-element-42272544{--width:100%;}}@media(max-width:1024px) and (min-width:768px){.elementor-140 .elementor-element.elementor-element-712e1f2f{--width:100%;}.elementor-140 .elementor-element.elementor-element-42272544{--width:90%;}}@media(max-width:1024px){.elementor-140 .elementor-element.elementor-element-712e1f2f{--min-height:80px;--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:flex-start;--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:30px;--padding-right:30px;}.elementor-140 .elementor-element.elementor-element-42272544{--justify-content:center;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-140 .elementor-element.elementor-element-41846543{width:100%;max-width:100%;}.elementor-140 .elementor-element.elementor-element-41846543 img{width:50%;}.elementor-140 .elementor-element.elementor-element-d839004 .elementor-heading-title{font-size:16px;}}@media(max-width:767px){.elementor-140 .elementor-element.elementor-element-712e1f2f{--min-height:60px;--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:10px;--padding-left:0px;--padding-right:0px;--z-index:1000;}.elementor-140 .elementor-element.elementor-element-712e1f2f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-140 .elementor-element.elementor-element-42272544{--width:69%;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:0px;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-140 .elementor-element.elementor-element-41846543{width:auto;max-width:auto;padding:0px 0px 0px 10px;}.elementor-140 .elementor-element.elementor-element-41846543 img{width:100%;}.elementor-140 .elementor-element.elementor-element-d839004 .elementor-heading-title{font-size:11px;line-height:2em;}}/* Start custom CSS for container, class: .elementor-element-712e1f2f */header.sticky-header {
    /* スクロール前（通常時）のヘッダー設定 */
    --header-height: 70px;
    --opacity: 1;
    --shrink-me: 0.9;
    --sticky-background-color: #fff;
    --transition: .8s ease-in-out;

    /* スクロール時のアニメーションを滑らかにするための設定 */
    transition: background-color var(--transition),
                background-image var(--transition),
                backdrop-filter var(--transition),
                opacity var(--transition),
                padding var(--transition),
                min-height var(--transition);
}

header.sticky-header.elementor-sticky--effects {
    /* スクロール後のヘッダー設定 */
    background-color: var(--sticky-background-color) !important;
    background-image: none !important;
    opacity: var(--opacity) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    
    /* ヘッダーの高さのみを縮小 */
    min-height: calc(var(--header-height) * var(--shrink-me)) !important;
    height: calc(var(--header-height) * var(--shrink-me));
}

header.sticky-header.elementor-sticky--effects .elementor-container {
    /* コンテナの上下パディングを維持 */
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* ロゴと特定のテキストの設定 */
header.sticky-header .logo img,
header.sticky-header .text-item {
    transition: transform var(--transition);
}

header.sticky-header.elementor-sticky--effects .logo img,
header.sticky-header.elementor-sticky--effects .text-item {
    /* スクロール後にロゴとテキストを個別に縮小する */
    transform: scale(var(--shrink-me));
}



/* ===============================================
   モーダルメニュー スタイル (clip-path版)
=============================================== */

/* モーダルメニューの基本スタイル（閉じた状態） */
.modal-menu {
  position: fixed;
  top: 0;
  left: auto;
  right: 0;
/* Elementorで調整 */
  /*width: 100%;
  height: 100vh;*/
  /* ビューポートの高さ一杯に */
/* 参考サイトの背景色 */
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  z-index: 999;

  /* アニメーションの定義 */
  transition: clip-path 0.7s cubic-bezier(0.31, -0.01, 0.18, 0.97), opacity 0.4s;
  
  /* 初期状態のマスク（下部に閉じた状態） */
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}

/* メニュー表示時のスタイル */
.modal-menu.is-active {
  opacity: 1;
  /* 開いた状態のマスク（全体表示） */
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}




/* ===============================================
   トグルボタン スタイル
=============================================== */

.toggle-button {
position: fixed;
top: 15px;
right: 30px;
width: 60px;
height: 42px;
cursor: pointer;
z-index: 9999;
background: none;
border: none;
padding: 0;
  /* ↓ この一行を追加 */
mix-blend-mode: difference;
}

.toggle-button span {
display: block;
position: absolute;
left: 6px;
width: 50px;
height: 1px;
  /* ↓ 色を #fff (白) に変更 */
background-color: #fff;
transition: transform 0.5s, opacity 0.5s, background-color 0.5s;
}

/* is-active 時の色も白のままにするか、必要に応じて調整します */
/* mix-blend-mode を使う場合、ここは特に変更しなくても反転します */
.toggle-button.is-active span {
  /* background-color の指定は親から継承されるので、削除してもOKです */
}

.toggle-button span:nth-child(1) { top: 10px; }
.toggle-button span:nth-child(2) { top: 20px; }
.toggle-button span:nth-child(3) { top: 30px; }

.toggle-button.is-active span:nth-child(1) {
top: 20px;
transform: rotate(45deg);
}
.toggle-button.is-active span:nth-child(2) {
opacity: 0;
}
.toggle-button.is-active span:nth-child(3) {
top: 20px;
transform: rotate(-45deg);
}

/* トグルボタンのホバー・フォーカス時の背景色を無効化 */
.toggle-button:hover,
.toggle-button:focus {
  background-color: transparent !important; /* 背景色を強制的に透明にする */
  outline: none; /* フォーカス時の青い枠線も消す場合 */
}


/* ===============================================
   機能性スタイル
=============================================== */
@media screen and (max-width: 768px) {
  .toggle-button {
    top: 15px;
    right: 0px;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .toggle-button span {
width: 40px;
}
}
body.no-scroll {
  overflow: hidden;
}/* End custom CSS */