.elementor-2623 .elementor-element.elementor-element-705ecab5{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2%;--padding-bottom:2%;--padding-left:5%;--padding-right:5%;--z-index:1000;}.elementor-2623 .elementor-element.elementor-element-2ba74b71{--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;--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-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-2623 .elementor-element.elementor-element-1d0e64ed{width:var( --container-widget-width, 7% );max-width:7%;--container-widget-width:7%;--container-widget-flex-grow:0;text-align:left;}.elementor-2623 .elementor-element.elementor-element-1d0e64ed > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2623 .elementor-element.elementor-element-1d0e64ed img{width:100%;}.elementor-2623 .elementor-element.elementor-element-607cc37{width:var( --container-widget-width, 7% );max-width:7%;--container-widget-width:7%;--container-widget-flex-grow:0;text-align:left;}.elementor-2623 .elementor-element.elementor-element-607cc37 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2623 .elementor-element.elementor-element-607cc37 img{width:100%;border-radius:0px 0px 0px 0px;}.elementor-2623 .elementor-element.elementor-element-bdb9ee5{--display:flex;--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--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-2623 .elementor-element.elementor-element-bdb9ee5.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2623 .elementor-element.elementor-element-ba241c9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-2623 .elementor-element.elementor-element-705ecab5{--width:100%;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:2%;--padding-bottom:2%;--padding-left:5%;--padding-right:5%;}.elementor-2623 .elementor-element.elementor-element-2ba74b71{--width:80%;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2623 .elementor-element.elementor-element-1d0e64ed > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2623 .elementor-element.elementor-element-1d0e64ed{--container-widget-width:40px;--container-widget-flex-grow:0;width:var( --container-widget-width, 40px );max-width:40px;}.elementor-2623 .elementor-element.elementor-element-1d0e64ed img{width:100%;}.elementor-2623 .elementor-element.elementor-element-607cc37 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2623 .elementor-element.elementor-element-607cc37{--container-widget-width:40px;--container-widget-flex-grow:0;width:var( --container-widget-width, 40px );max-width:40px;}.elementor-2623 .elementor-element.elementor-element-bdb9ee5{--width:20%;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2623 .elementor-element.elementor-element-ba241c9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-2623 .elementor-element.elementor-element-705ecab5{--width:100%;}.elementor-2623 .elementor-element.elementor-element-2ba74b71{--width:85%;}.elementor-2623 .elementor-element.elementor-element-bdb9ee5{--width:15%;}}/* Start custom CSS for html, class: .elementor-element-ba241c9 *//* ======= ベース ======= */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  width: 100vw;
  height: 100vh;
  background: #fff;
}

/* ======= ハンバーガーボタン ======= */
#overlay-button {
  position: absolute;
  right: 0em;
  top: 0em;
  padding: 26px 11px;
  z-index: 5;
  cursor: pointer;
}

#overlay-button span,
#overlay-button span::before,
#overlay-button span::after {
  display: block;
  background-color: #000;
  height: 3px;
  width: 30px;
  border-radius: 2px;
  position: absolute;
  transition: all 0.3s ease-in-out;
}

#overlay-button span::before {
  content: "";
  top: -10px;
  position: absolute;
}

#overlay-button span::after {
  content: "";
  top: 10px;
  position: absolute;
}

/* ======= チェックボックス 非表示 ======= */
input[type=checkbox] {
  display: none;
}

/* ======= オーバーレイ ======= */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #fff;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 3em;
  box-sizing: border-box;
}

input[type=checkbox]:checked ~ #overlay {
  visibility: visible;
  opacity: 1;
}
/* ======= ボタン → × に変化 ======= */
input[type=checkbox]:checked ~ #overlay-button span {
  background: transparent;
}

input[type=checkbox]:checked ~ #overlay-button span::before {
  transform: rotate(45deg);
  top: 0;
}

input[type=checkbox]:checked ~ #overlay-button span::after {
  transform: rotate(-45deg);
  top: 0;
}

/* ======= 左側ロゴ ======= */
.menu-left {
  flex: 1;
  align-self: flex-start;
}

.menu-left h1 {
  font-size: 1.5em;
  margin: 0;
}

.menu-left p {
  margin: 0;
  font-size: 0.9em;
}

/* ======= 中央メニュー ======= */
.menu-center {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.menu-center li {
  margin: 0.5em 0;
}

.menu-center li a {
  text-decoration: none;
  color: #000;
  font-size: 1.5em;
  position: relative;
}

.menu-center li a:hover {
  border-bottom: 1px solid #dcb4ff; /* CONTACTの紫のボーダー */
}

/* ======= 右下リンク ======= */
.menu-right-bottom {
  position: absolute;
  bottom: 2em;
  right: 2em;
  text-align: right;
}

.menu-right-bottom a {
  text-decoration: none;
  color: #999;
  font-size: 0.9em;
}

.menu-right-bottom a:hover {
  color: #000;
}

/* ======= スマホ用スタイル ======= */
@media screen and (max-width: 768px) {
  #overlay {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;  /* ← メニューを上に寄せる */
    padding: 2em;
  }

  .menu-left {
    align-self: flex-start;
    margin-bottom: 0em; /* 少し下に余白 */
  }

  .menu-left h1 {
    font-size: 1.2em;
  }

  .menu-left p {
    font-size: 0.8em;
  }

  .menu-center {
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    margin-top: 0em; /* メニューとロゴの間に余白 */
  }

  .menu-center li {
    margin: 0.4em 0; /* 各メニューの上下の余白 */
  }

  .menu-center li a {
    font-size: 1.2em;
  }

  .menu-right-bottom {
    position: absolute; /* ← 固定位置に変更 */
    bottom: 1.5em;      /* 画面の下に固定 */
    right: 1em;         /* 右寄せ */
    text-align: right;
    font-size: 0.8em;
  }
}/* End custom CSS */