@charset "UTF-8";
/* Welcome to Compass.
 * In this file you should write your main styles. (or centralize your imports)
 * Import this file using the following  or equivalent:
 * <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
@import url(base.css);
/* Googleフォント推奨（<head>に記載） */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap");
/* line 12, ../sass/screen.scss */
body {
  /* ==============================
     Keyframes（元の位置を維持）
     ============================== */
  /* ==============================
     レイアウト・コンテナ
     ============================== */
  /* ==============================
     一覧（News/Events/Topics）
     ============================== */
  /* ==============================
     WP-Members / フォーム周辺
     ============================== */
  /* ==============================
     カテゴリ・UI パーツ
     ============================== */
  /* ==============================
     フォントユーティリティ
     ============================== */
  /* ==============================
     Elementor 配置調整（順序）
     ============================== */
  /* Menuテキスト */
  /* 02画像 */
  /* ==============================
     ユーティリティ
     ============================== */
}
@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* line 25, ../sass/screen.scss */
body #content {
  width: 100vw;
  margin: 0;
  margin-bottom: 10%;
  max-width: 100vw;
}
/* line 32, ../sass/screen.scss */
body #content ul li {
  margin-bottom: 1em;
}
/* line 38, ../sass/screen.scss */
body header.page-header {
  text-align: center;
  padding: 30px 15px;
  color: #8b1414;
}
/* line 44, ../sass/screen.scss */
body .page-content {
  margin: auto;
  width: 96%;
  max-width: 1280px;
  padding: 2%;
  background: #ffffff;
}
/* line 52, ../sass/screen.scss */
body .page-header .entry-title,
body .site-footer .footer-inner,
body .site-footer:not(.dynamic-footer),
body .site-header .header-inner,
body .site-header:not(.dynamic-header),
body body:not([class*=elementor-page-]) .site-main {
  max-width: 100% !important;
}
/* line 68, ../sass/screen.scss */
body #events-container,
body #news-container,
body #topics-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
/* line 79, ../sass/screen.scss */
body #events-container .news-item-wrap,
body #events-container .events-item-wrap,
body #news-container .news-item-wrap,
body #news-container .events-item-wrap,
body #topics-container .news-item-wrap,
body #topics-container .events-item-wrap {
  display: flex;
  width: 100%;
}
/* line 85, ../sass/screen.scss */
body #events-container .news-item-wrap .img img,
body #events-container .events-item-wrap .img img,
body #news-container .news-item-wrap .img img,
body #news-container .events-item-wrap .img img,
body #topics-container .news-item-wrap .img img,
body #topics-container .events-item-wrap .img img {
  aspect-ratio: 16/8;
  object-fit: cover;
  width: 100%;
}
/* line 90, ../sass/screen.scss */
body #events-container .news-item-wrap .img img:hover,
body #events-container .events-item-wrap .img img:hover,
body #news-container .news-item-wrap .img img:hover,
body #news-container .events-item-wrap .img img:hover,
body #topics-container .news-item-wrap .img img:hover,
body #topics-container .events-item-wrap .img img:hover {
  transition-duration: 100ms;
  transform: scale(1.005);
}
/* line 97, ../sass/screen.scss */
body #events-container .news-item-wrap .topics-title,
body #events-container .events-item-wrap .topics-title,
body #news-container .news-item-wrap .topics-title,
body #news-container .events-item-wrap .topics-title,
body #topics-container .news-item-wrap .topics-title,
body #topics-container .events-item-wrap .topics-title {
  color: #f2f2f2;
}
/* line 101, ../sass/screen.scss */
body #events-container .news-item-wrap .title,
body #events-container .events-item-wrap .title,
body #news-container .news-item-wrap .title,
body #news-container .events-item-wrap .title,
body #topics-container .news-item-wrap .title,
body #topics-container .events-item-wrap .title {
  padding: 0;
}
/* line 104, ../sass/screen.scss */
body #events-container .news-item-wrap .title a,
body #events-container .events-item-wrap .title a,
body #news-container .news-item-wrap .title a,
body #news-container .events-item-wrap .title a,
body #topics-container .news-item-wrap .title a,
body #topics-container .events-item-wrap .title a {
  text-decoration: none;
  color: #f2f2f2;
}
/* line 110, ../sass/screen.scss */
body #events-container .news-item-wrap .time,
body #events-container .events-item-wrap .time,
body #news-container .news-item-wrap .time,
body #news-container .events-item-wrap .time,
body #topics-container .news-item-wrap .time,
body #topics-container .events-item-wrap .time {
  display: flex;
  gap: 20px;
  font-size: 15px;
  padding: 0;
  color: #f2f2f2;
}
/* line 118, ../sass/screen.scss */
body #events-container .news-item-wrap .news-item,
body #events-container .events-item-wrap .news-item,
body #news-container .news-item-wrap .news-item,
body #news-container .events-item-wrap .news-item,
body #topics-container .news-item-wrap .news-item,
body #topics-container .events-item-wrap .news-item {
  display: flex;
  color: #f2f2f2;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-size: 16px;
  width: 100%;
}
/* line 134, ../sass/screen.scss */
body:not(.home) #news-container .news-item-wrap .news-item,
body:not(.home) #news-container .events-item-wrap .news-item {
  display: flex;
  align-items: center;
}
/* line 138, ../sass/screen.scss */
body:not(.home) #news-container .news-item-wrap .news-item .img,
body:not(.home) #news-container .events-item-wrap .news-item .img {
  width: 30%;
}
/* line 142, ../sass/screen.scss */
body:not(.home) #news-container .news-item-wrap .news-item .news-item-container,
body:not(.home) #news-container .events-item-wrap .news-item .news-item-container {
  flex: 1;
}
/* line 156, ../sass/screen.scss */
body.home #events-container .news-item-wrap .news-item,
body.home #events-container .events-item-wrap .news-item,
body.home #news-container .news-item-wrap .news-item,
body.home #news-container .events-item-wrap .news-item,
body.home #topics-container .news-item-wrap .news-item,
body.home #topics-container .events-item-wrap .news-item {
  /* 余白保持用：空だが階層を明示 */
}
/* line 157, ../sass/screen.scss */
body.home #events-container .news-item-wrap .time,
body.home #events-container .events-item-wrap .time,
body.home #news-container .news-item-wrap .time,
body.home #news-container .events-item-wrap .time,
body.home #topics-container .news-item-wrap .time,
body.home #topics-container .events-item-wrap .time {
  padding: 0;
}
/* line 163, ../sass/screen.scss */
body #picup-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* line 170, ../sass/screen.scss */
body .picup-block img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* line 178, ../sass/screen.scss */
body .pagination .page-numbers {
  display: flex;
  justify-content: space-around;
  list-style-type: none;
  gap: 3em;
}
/* line 189, ../sass/screen.scss */
body #wpmem_restricted_msg {
  margin-top: 3em;
}
/* line 191, ../sass/screen.scss */
body #wpmem_login,
body #wpmem_reg {
  width: 80%;
  margin: auto;
}
/* line 198, ../sass/screen.scss */
body #wpmem_reg fieldset {
  position: relative;
  padding-top: 4em;
  width: 100%;
}
/* line 204, ../sass/screen.scss */
body #wpmem_reg legend {
  display: none;
}
/* line 207, ../sass/screen.scss */
body #wpmem_reg .reg-row label {
  width: 25%;
}
/* line 208, ../sass/screen.scss */
body #wpmem_reg .reg-row .div_text,
body #wpmem_reg .reg-row .div_textarea {
  width: 75%;
}
/* line 212, ../sass/screen.scss */
body #wpmem_reg .req-text {
  position: absolute;
  top: 0;
  left: 0;
}
/* line 219, ../sass/screen.scss */
body .entry-form {
  width: 80%;
  padding: 5%;
  background: #fafafa;
  margin: auto;
  border-radius: 20px;
}
/* line 227, ../sass/screen.scss */
body .form-row {
  display: flex;
  flex-direction: column;
}
/* line 231, ../sass/screen.scss */
body .form-row .form-index {
  padding: 1.4em 0 .4em;
  font-size: 1.4em;
}
/* line 235, ../sass/screen.scss */
body .form-row .form-index label {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}
/* line 243, ../sass/screen.scss */
body .form-row .form-index label span {
  font-size: 70%;
  color: #2778be;
}
/* line 250, ../sass/screen.scss */
body .form-row [type=checkbox] {
  transform: scale(1.5);
}
/* line 254, ../sass/screen.scss */
body .form-row .file-pickup {
  padding: 0 .4em 1em;
}
/* line 257, ../sass/screen.scss */
body .form-row .file-pickup .pickup-item {
  display: flex;
  align-items: center;
}
/* line 261, ../sass/screen.scss */
body .form-row .file-pickup .pickup-item span {
  width: calc(100% - 2em);
}
/* line 264, ../sass/screen.scss */
body .form-row .file-pickup [id$=-file] {
  display: none;
  margin-top: 1em;
  margin-left: 1.4em;
}
/* line 272, ../sass/screen.scss */
body #contact-form {
  margin-top: 2%;
}
/* line 274, ../sass/screen.scss */
body #contact-form label {
  display: flex;
  align-items: center;
}
/* line 278, ../sass/screen.scss */
body #contact-form label span {
  margin-left: 20px;
  font-size: 80%;
  color: #FC3F19;
}
/* line 286, ../sass/screen.scss */
body [type=reset] {
  display: inline-block;
  font-weight: 400;
  color: #c36;
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid #c36;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  transition: all .3s;
}
/* line 302, ../sass/screen.scss */
body [type=rest]:focus,
body [type=reset]:hover {
  color: #fff;
  background-color: #c36;
  text-decoration: none;
}
/* line 309, ../sass/screen.scss */
body input[type=date],
body input[type=email],
body input[type=number],
body input[type=password],
body input[type=search],
body input[type=tel],
body input[type=text],
body input[type=url],
body select,
body textarea {
  border: 1px solid #ccc;
}
/* line 322, ../sass/screen.scss */
body .btn {
  margin-top: 2em;
  text-align: center;
}
/* line 326, ../sass/screen.scss */
body .btn span {
  display: block;
}
/* line 328, ../sass/screen.scss */
body .btn input {
  border: 3px solid #FC3F19;
  border-radius: 1.6em;
  padding: 0.6em 2em;
  font-size: 24px;
  font-weight: bold;
  color: #FC3F19;
  box-shadow: none;
}
/* line 337, ../sass/screen.scss */
body .btn input:hover, body .btn input:focus {
  background: #FC3F19;
  color: #fff;
  outline: none;
}
/* line 347, ../sass/screen.scss */
body .elementor-editor-active .entry-form {
  display: none;
}
/* line 354, ../sass/screen.scss */
body .cat-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
/* line 363, ../sass/screen.scss */
body .cat-badge a {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 0.875rem;
  line-height: 1;
  text-decoration: none;
  transition: transform 0.12s ease, filter 0.12s ease;
}
/* line 372, ../sass/screen.scss */
body .cat-badge a:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}
/* line 379, ../sass/screen.scss */
body footer a {
  color: #f2f2f2;
}
/* line 382, ../sass/screen.scss */
body footer a:hover {
  color: #fffaaa;
}
/* line 389, ../sass/screen.scss */
body .shippori-mincho-regular {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
}
/* line 394, ../sass/screen.scss */
body .shippori-mincho-medium {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 500 !important;
  font-style: normal !important;
}
/* line 399, ../sass/screen.scss */
body .shippori-mincho-semibold {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
}
/* line 404, ../sass/screen.scss */
body .shippori-mincho-bold {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 700 !important;
  font-style: normal !important;
}
/* line 409, ../sass/screen.scss */
body .shippori-mincho-extrabold {
  font-family: "Shippori Mincho", serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
}
/* line 415, ../sass/screen.scss */
body .cormorant-garamond-300 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
/* line 421, ../sass/screen.scss */
body .cormorant-garamond-400 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
/* line 427, ../sass/screen.scss */
body .cormorant-garamond-500 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
/* line 433, ../sass/screen.scss */
body .cormorant-garamond-600 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
/* line 439, ../sass/screen.scss */
body .cormorant-garamond-700 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
/* line 449, ../sass/screen.scss */
body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(1) {
  order: 1;
}
/* line 450, ../sass/screen.scss */
body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(2) {
  order: 2;
}
/* line 451, ../sass/screen.scss */
body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(3) {
  order: 3;
}
/* line 452, ../sass/screen.scss */
body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(4) {
  order: 4;
}
/* line 453, ../sass/screen.scss */
body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(5) {
  order: 5;
}
/* line 454, ../sass/screen.scss */
body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(6) {
  order: 6;
}
/* line 459, ../sass/screen.scss */
body .bd-r1 {
  border-right-style: solid !important;
}
/* line 461, ../sass/screen.scss */
body .accordion-menu {
  display: flex;
  align-items: center;
}
/* line 465, ../sass/screen.scss */
body .accordion-menu span {
  font-size: 16px;
}
/* line 469, ../sass/screen.scss */
body .post-list-mgn01 ul {
  padding-left: 1.5em;
}
/* line 472, ../sass/screen.scss */
body .post-list-mgn01 ul li::marker {
  padding: 0;
  margin: 0;
}
/* line 480, ../sass/screen.scss */
body ul.sub-menu {
  width: auto !important;
}
/* line 484, ../sass/screen.scss */
body #dinner-slide {
  position: relative;
  overflow: hidden;
}
/* line 489, ../sass/screen.scss */
body #dinner-slide .background-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.8rem 2rem;
  width: 100%;
  text-align: right;
  font-size: 14px;
  line-height: 1.6;
  color: #fff;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.25));
}
/* line 509, ../sass/screen.scss */
body .elementor-slideshow__title {
  display: none;
}
/* line 513, ../sass/screen.scss */
body .menu-eyecatch {
  height: 100%;
}
/* line 515, ../sass/screen.scss */
body .menu-eyecatch * {
  height: 100%;
}
/* line 518, ../sass/screen.scss */
body .menu-eyecatch a {
  display: block;
  height: 100%;
}
/* line 522, ../sass/screen.scss */
body .menu-eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* line 529, ../sass/screen.scss */
body .link-through {
  pointer-events: none;
}
/* line 533, ../sass/screen.scss */
body .only-mb {
  display: none;
}
/* line 538, ../sass/screen.scss */
body #menu-nav a {
  display: block;
}

/************************************************************
    1) ハンバーガー（“長い上線＋短い下線”→X）を常に表示
*************************************************************/
/* line 549, ../sass/screen.scss */
.hfe-nav-menu__toggle,
.uael-nav-menu__toggle,
.elementor-menu-toggle,
.menu-toggle {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: 35px !important;
  right: 35px !important;
  width: 60px !important;
  height: 60px !important;
  z-index: 10001 !important;
  /* オーバーレイ(9999)より前面 */
  justify-content: center;
  align-items: center;
  background-color: #590202;
  border-radius: 0;
  cursor: pointer;
}

/* アイコン本体（子span不要・2本線のみ） */
/* line 572, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon,
.uael-nav-menu__toggle .hfe-nav-menu-icon,
.elementor-menu-toggle .hfe-nav-menu-icon,
.menu-toggle .hfe-nav-menu-icon {
  position: relative;
  display: block;
  width: 40px;
  /* 基準幅 */
  height: 15px;
  /* 上下の線を収める高さ */
}

/* 2本線：上=フル、下=85%を右寄せ */
/* line 583, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon::before,
.hfe-nav-menu__toggle .hfe-nav-menu-icon::after,
.uael-nav-menu__toggle .hfe-nav-menu-icon::before,
.uael-nav-menu__toggle .hfe-nav-menu-icon::after,
.elementor-menu-toggle .hfe-nav-menu-icon::before,
.elementor-menu-toggle .hfe-nav-menu-icon::after,
.menu-toggle .hfe-nav-menu-icon::before,
.menu-toggle .hfe-nav-menu__icon::after {
  content: "";
  position: absolute;
  height: 1px;
  background: #fff;
  transition: transform .25s ease, top .25s ease, width .25s ease, right .25s ease, left .25s ease;
}

/* line 597, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon::before,
.uael-nav-menu__toggle .hfe-nav-menu-icon::before,
.elementor-menu-toggle .hfe-nav-menu-icon::before,
.menu-toggle .hfe-nav-menu-icon::before {
  top: 0;
  left: 0;
  width: 40px;
}

/* line 605, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon::after,
.uael-nav-menu__toggle .hfe-nav-menu-icon::after,
.elementor-menu-toggle .hfe-nav-menu-icon::after,
.menu-toggle .hfe-nav-menu-icon::after {
  bottom: 0;
  right: 0;
  width: 34px;
  /* 40px の 85% */
}

/* 開いた時のX化（htmlに .hfe-menu-open を付与するJS前提） */
/* line 615, ../sass/screen.scss */
html.hfe-menu-open .hfe-nav-menu__toggle .hfe-nav-menu-icon::before,
html.hfe-menu-open .uael-nav-menu__toggle .hfe-nav-menu-icon::before,
html.hfe-menu-open .elementor-menu-toggle .hfe-nav-menu-icon::before,
html.hfe-menu-open .menu-toggle .hfe-nav-menu-icon::before {
  top: 7.5px;
  left: 0;
  width: 40px;
  transform: rotate(45deg);
}

/* line 624, ../sass/screen.scss */
html.hfe-menu-open .hfe-nav-menu__toggle .hfe-nav-menu-icon::after,
html.hfe-menu-open .uael-nav-menu__toggle .hfe-nav-menu-icon::after,
html.hfe-menu-open .elementor-menu-toggle .hfe-nav-menu-icon::after,
html.hfe-menu-open .menu-toggle .hfe-nav-menu-icon::after {
  top: 7.5px;
  bottom: auto;
  left: 0;
  right: auto;
  width: 40px;
  transform: rotate(-45deg);
}

/************************************************************
    2) 全画面オーバーレイ（展開メニュー）
    - nav 全体をスクロール
    - リサイズでも横幅いっぱい
*************************************************************/
/* line 641, ../sass/screen.scss */
.hfe-nav-menu__layout-horizontal {
  display: none !important;
}

/* line 645, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal {
  display: flex !important;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  max-width: 100vw;
  height: 100dvh;
  min-height: 100svh;
  background: #590202;
  box-sizing: border-box;
  /* nav 全体がスクロール（続きが分かる） */
  overflow: auto !important;
  /* セーフエリア（Ruby Sass対応） */
  padding: 24px;
  padding-top: calc(24px + env(safe-area-inset-top, 0px));
  padding-right: calc(24px + env(safe-area-inset-right, 0px));
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  padding-left: calc(24px + env(safe-area-inset-left, 0px));
  /* パネルを中央寄せ */
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}

/* 余計な装飾は無効 */
/* line 680, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal::before,
html.nav-open .hfe-nav-menu__layout-horizontal::after {
  content: none !important;
}

/************************************************************
    3) 内側（中央配置。枠線なし）
*************************************************************/
/* line 688, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-grid {
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  display: flex;
  justify-content: center;
  align-items: stretch;
  box-sizing: border-box;
}

/* line 698, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-box {
  /* ビューポート幅に追従しつつ、中央寄せ */
  width: 100% !important;
  max-width: 460px;
  /* 中央に収めたい上限。不要なら削除可 */
  margin: 0 auto;
  height: auto !important;
  max-height: none !important;
  padding: 28px 24px 26px;
  box-sizing: border-box;
  color: #fff;
  background: transparent;
  border: none;
}

/* line 714, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-box-inner {
  display: grid;
  grid-template-rows: auto 1fr auto;
  /* 上：ロゴ / 中：メニュー / 下：フッター */
  row-gap: 18px;
  height: 100%;
}

/* ロゴ（幅100%） */
/* line 722, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-header {
  display: flex;
  align-items: center;
  justify-content: center;
  /* ロゴは中央 */
  margin: 0;
  padding: 0;
}

/* line 729, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
}

/************************************************************
    4) メニュー（中央寄せ／親リンク遷移可／サブは常時展開）
*************************************************************/
/* line 739, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-body {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  /* ULを中央寄せ */
}

/* line 746, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal ul.hfe-nav-menu {
  display: flex !important;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  width: auto;
  /* 内容幅に合わせる */
  color: #fff;
}

/* line 756, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal ul.hfe-nav-menu > li {
  margin: 14px 0;
}

/* 親リンク（見出し） */
/* line 761, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .hfe-menu-item {
  display: inline-block;
  color: #fff;
  text-decoration: none !important;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.7;
  padding: 0 !important;
  pointer-events: auto !important;
  /* クリック可能を明示 */
}

@media (min-width: 992px) {
  /* line 772, ../sass/screen.scss */
  html.nav-open .hfe-nav-menu__layout-horizontal .hfe-menu-item {
    font-size: 24px;
  }
}
/* サブメニュー：常時展開（矢印は非表示） */
/* line 778, ../sass/screen.scss */
.hfe-nav-menu .sub-arrow,
.hfe-menu-toggle.sub-arrow,
.hfe-has-submenu-container .sub-arrow {
  display: none !important;
}

/* line 783, ../sass/screen.scss */
.hfe-nav-menu__submenu-plus .sub-menu,
.parent-has-child > .sub-menu,
.hfe-nav-menu .sub-menu {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  height: auto !important;
  max-height: none !important;
  background: transparent !important;
  box-shadow: none !important;
  margin: 6px 0 0 0 !important;
  padding: 0 !important;
  list-style: none;
  transform: none !important;
  padding-left: 30px !important;
}

/* サブ項目（中央寄せでもブレない行頭ダッシュ） */
/* line 804, ../sass/screen.scss */
.hfe-nav-menu .sub-menu li {
  margin: 6px 0;
}

/* line 807, ../sass/screen.scss */
.hfe-nav-menu .sub-menu a.hfe-sub-menu-item {
  position: relative !important;
  display: inline-block !important;
  color: #fff;
  text-decoration: none !important;
  font-size: 16px;
  line-height: 1.8;
  padding-left: 1.2em !important;
  /* 行頭マーク用余白 */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  top: auto !important;
  margin-top: 0 !important;
  transform: none !important;
  transition: color .2s ease !important;
}

/* line 822, ../sass/screen.scss */
.hfe-nav-menu .sub-menu a.hfe-sub-menu-item::before {
  content: "ー";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  /* 縦中央固定 */
  opacity: .95;
  pointer-events: none;
}

/* hover 効果（色のみ） */
/* line 833, ../sass/screen.scss */
.hfe-nav-menu .hfe-menu-item:hover,
.hfe-nav-menu .sub-menu a.hfe-sub-menu-item:hover {
  color: #fff8c8;
}

/************************************************************
    5) フッター（TEL・営業時間）— 中央揃え
*************************************************************/
/* line 841, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-footer {
  color: #fff;
  margin-top: 6px;
  display: flex;
  justify-content: center;
}
/* line 847, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-footer .nav-footer-inner {
  width: auto;
  padding-bottom: 50px;
}

/* line 852, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-footer .tel {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: .03em;
  margin-bottom: 8px;
}

/* line 858, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal .nav-footer .note {
  font-size: 14px;
  line-height: 1.8;
  opacity: .95;
}

@media (min-width: 992px) {
  /* line 864, ../sass/screen.scss */
  html.nav-open .hfe-nav-menu__layout-horizontal .nav-footer .tel {
    font-size: 30px;
  }
}
/************************************************************
    6) 背面スクロール固定／折り返し
*************************************************************/
/* line 872, ../sass/screen.scss */
html.nav-open,
html.nav-open body {
  overflow: hidden !important;
}

/* line 876, ../sass/screen.scss */
html.nav-open .hfe-nav-menu__layout-horizontal,
html.nav-open .hfe-nav-menu__layout-horizontal a {
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* === オーバーレイを body 直下で“絶対に全画面”にする強制指定 === */
/* line 883, ../sass/screen.scss */
html.nav-open nav.hfe-nav-menu__layout-horizontal.nav-portal {
  position: fixed !important;
  inset: 0 !important;
  /* top/right/bottom/left 全て 0 */
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  min-height: 100svh !important;
  margin: 0 !important;
  transform: none !important;
  /* 余計な継承 transform を無効化 */
  z-index: 9999 !important;
  /* オーバーレイ自体をスクロール */
  overflow: auto !important;
  /* セーフエリア対応（Ruby Sass でも安全） */
  padding: 24px;
  padding-top: calc(80px + env(safe-area-inset-top, 0px));
  padding-right: calc(24px + env(safe-area-inset-right, 0px));
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  padding-left: calc(24px + env(safe-area-inset-left, 0px));
  display: flex !important;
  flex-direction: column;
  align-items: center;
  /* 中央寄せ */
  justify-content: flex-start;
  gap: 16px;
  background: #590202;
  box-sizing: border-box;
}

/* 内側は中央に収める。幅はページ幅に追従（最大は 460px） */
/* line 916, ../sass/screen.scss */
html.nav-open nav.hfe-nav-menu__layout-horizontal.nav-portal .nav-grid {
  width: 100% !important;
  min-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
}

/* line 923, ../sass/screen.scss */
html.nav-open nav.hfe-nav-menu__layout-horizontal.nav-portal .nav-box {
  width: 100% !important;
  max-width: 460px !important;
  /* パネルの上限。もっと広げたい場合は値を増やす */
  margin: 0 auto !important;
  border: none !important;
  background: transparent !important;
  display: flex;
  align-items: center;
}

/* line 932, ../sass/screen.scss */
html.nav-open nav.hfe-nav-menu__layout-horizontal.nav-portal .nav-header {
  display: flex !important;
  justify-content: center !important;
}

/* line 936, ../sass/screen.scss */
html.nav-open nav.hfe-nav-menu__layout-horizontal.nav-portal .nav-logo img {
  width: 100% !important;
  /* ご要望：ロゴは幅100％ */
  height: auto !important;
  max-height: none !important;
}

/* 親リンクを必ずクリックできるように（他のCSSで阻害されないための保険） */
/* line 943, ../sass/screen.scss */
html.nav-open nav.hfe-nav-menu__layout-horizontal.nav-portal .hfe-menu-item {
  pointer-events: auto !important;
}

/*******************************************************
 * FIX：開いている時にハンバーガー（×）が消える問題の強制上書き
 *  - テーマが .hfe-menu-open 状態でトグルやアイコンを非表示にするため
 *  - 最終行に追加すること（!important で上書き）
 *******************************************************/
/* line 952, ../sass/screen.scss */
html.hfe-menu-open .hfe-nav-menu__toggle,
html.hfe-menu-open .uael-nav-menu__toggle,
html.hfe-menu-open .elementor-menu-toggle,
html.hfe-menu-open .menu-toggle {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 60px !important;
  height: 60px !important;
  z-index: 10002 !important;
  /* オーバーレイより上 */
  pointer-events: auto !important;
  /* クリック可能を強制 */
  background: #590202;
  /* 念のため明示 */
}

/* アイコン本体を必ず表示（テーマの display:none を無効化） */
/* line 970, ../sass/screen.scss */
html.hfe-menu-open .hfe-nav-menu__toggle .hfe-nav-menu-icon,
html.hfe-menu-open .uael-nav-menu__toggle .hfe-nav-menu-icon,
html.hfe-menu-open .elementor-menu-toggle .hfe-nav-menu-icon,
html.hfe-menu-open .menu-toggle .hfe-nav-menu-icon {
  display: block !important;
  position: relative !important;
  width: 40px !important;
  height: 15px !important;
}

/* “2本線→×” の変形を再定義（spanでも崩れないように互換対応） */
/* line 981, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon::before,
.hfe-nav-menu__toggle .hfe-nav-menu-icon::after,
.uael-nav-menu__toggle .hfe-nav-menu-icon::before,
.uael-nav-menu__toggle .hfe-nav-menu-icon::after,
.elementor-menu-toggle .hfe-nav-menu-icon::before,
.elementor-menu-toggle .hfe-nav-menu-icon::after,
.menu-toggle .hfe-nav-menu-icon::before,
.menu-toggle .hfe-nav-menu-icon::after {
  content: "";
  position: absolute;
  left: 0;
  height: 1px;
  width: 40px;
  background: #fff;
  transition: transform .25s ease, top .25s ease, width .25s ease, right .25s ease;
}

/* line 997, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon::before,
.uael-nav-menu__toggle .hfe-nav-menu-icon::before,
.elementor-menu-toggle .hfe-nav-menu-icon::before,
.menu-toggle .hfe-nav-menu-icon::before {
  top: 0;
}

/* line 1003, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon::after,
.uael-nav-menu__toggle .hfe-nav-menu-icon::after,
.elementor-menu-toggle .hfe-nav-menu-icon::after,
.menu-toggle .hfe-nav-menu-icon::after {
  bottom: 0;
  width: 34px;
  /* 下の短い線（85%） */
  right: 0;
  margin-left: auto;
}

/* 開いた時に“×”へ */
/* line 1014, ../sass/screen.scss */
html.hfe-menu-open .hfe-nav-menu__toggle .hfe-nav-menu-icon::before,
html.hfe-menu-open .uael-nav-menu__toggle .hfe-nav-menu-icon::before,
html.hfe-menu-open .elementor-menu-toggle .hfe-nav-menu-icon::before,
html.hfe-menu-open .menu-toggle .hfe-nav-menu-icon::before {
  top: 7.5px;
  transform: rotate(45deg);
}

/* line 1021, ../sass/screen.scss */
html.hfe-menu-open .hfe-nav-menu__toggle .hfe-nav-menu-icon::after,
html.hfe-menu-open .uael-nav-menu__toggle .hfe-nav-menu-icon::after,
html.hfe-menu-open .elementor-menu-toggle .hfe-nav-menu-icon::after,
html.hfe-menu-open .menu-toggle .hfe-nav-menu-icon::after {
  top: 7.5px;
  bottom: auto;
  right: auto;
  width: 40px;
  transform: rotate(-45deg);
}

/* もし中に <span> があるテーマでも邪魔しない（消す） */
/* line 1033, ../sass/screen.scss */
.hfe-nav-menu__toggle .hfe-nav-menu-icon span,
.uael-nav-menu__toggle .hfe-nav-menu-icon span,
.elementor-menu-toggle .hfe-nav-menu-icon span,
.menu-toggle .hfe-nav-menu-icon span {
  display: none !important;
}

/* ポータル化したトグルを常に最前面＆右上固定 */
/* line 1041, ../sass/screen.scss */
.nav-tgl-portal {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 10005 !important;
  /* オーバーレイ 9999 より上 */
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  background-color: #590202;
  /* 元デザイン維持 */
  width: 60px !important;
  height: 60px !important;
  justify-content: center;
  align-items: center;
  transform: none !important;
  /* 親 transform の影響を完全に遮断 */
}

/* アイコン(2本線→×)も確実に表示 */
/* line 1059, ../sass/screen.scss */
.nav-tgl-portal .hfe-nav-menu-icon {
  position: relative !important;
  display: block !important;
  width: 40px !important;
  height: 15px !important;
}

/* ==== 最前面に固定表示されるクローズ（×）専用ボタン ==== */
/* line 1066, ../sass/screen.scss */
#nav-close-btn {
  position: fixed !important;
  top: 20px !important;
  right: 20px !important;
  width: 60px !important;
  height: 60px !important;
  z-index: 2147483647 !important;
  /* 何が来ても勝つ最大級 */
  display: none;
  /* デフォルト非表示 */
  place-content: center;
  background: #590202;
  border: 0;
  padding: 0;
  cursor: pointer;
}

/* メニューが開いた時だけ表示 */
/* line 1082, ../sass/screen.scss */
#nav-close-btn.is-visible {
  display: grid !important;
}

/* 2本線→×（長い上線＋短い下線の見た目は既存バーガーに合わせる） */
/* line 1087, ../sass/screen.scss */
#nav-close-btn .nav-close-icon {
  position: relative;
  display: block;
  width: 40px;
  height: 15px;
  /* 上下の線を収める高さ */
}

/* line 1093, ../sass/screen.scss */
#nav-close-btn .nav-close-icon::before,
#nav-close-btn .nav-close-icon::after {
  content: "";
  position: absolute;
  left: 0;
  height: 1px;
  background: #fff;
}

/* 上の線（45度） */
/* line 1102, ../sass/screen.scss */
#nav-close-btn .nav-close-icon::before {
  top: 7.5px;
  width: 40px;
  transform: rotate(45deg);
}

/* 下の短い線（-45度、85%長） */
/* line 1108, ../sass/screen.scss */
#nav-close-btn .nav-close-icon::after {
  top: 7.5px;
  right: 0;
  width: 40px;
  transform: rotate(-45deg);
}

/* 背面のオーバーレイやヘッダーの transform/z-index の影響を完全に遮断 */
/* line 1116, ../sass/screen.scss */
#nav-close-btn,
#nav-close-btn * {
  transform: none !important;
  pointer-events: auto !important;
}

/* =========================================
   メディアクエリ
   ========================================= */
@media screen and (max-width: 768px) {
  /* line 1125, ../sass/screen.scss */
  body {
    /* 一覧 */
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    /* ハンバーガー本体（SP位置調整） */
    /* Elementor 配置入替（SP） */
  }
  /* line 1128, ../sass/screen.scss */
  body #news-container,
  body #topics-container {
    row-gap: 0px;
  }
  /* line 1134, ../sass/screen.scss */
  body #news-container .elementor-widget-container .news-item-wrap, body #news-container.page-content .news-item-wrap,
  body #topics-container .elementor-widget-container .news-item-wrap,
  body #topics-container.page-content .news-item-wrap {
    width: 100%;
  }
  /* line 1138, ../sass/screen.scss */
  body #news-container.page-content,
  body #topics-container.page-content {
    row-gap: 0px;
  }
  /* line 1144, ../sass/screen.scss */
  body #news-container.page-content .elementor-widget-container .news-item-wrap, body #news-container.page-content.page-content .news-item-wrap,
  body #topics-container.page-content .elementor-widget-container .news-item-wrap,
  body #topics-container.page-content.page-content .news-item-wrap {
    width: 100%;
  }
  /* line 1150, ../sass/screen.scss */
  body:not(.home) #news-container .news-item-wrap,
  body:not(.home) #news-container .events-item-wrap {
    gap: 0;
  }
  /* line 1154, ../sass/screen.scss */
  body:not(.home) #news-container .news-item-wrap .news-item,
  body:not(.home) #news-container .events-item-wrap .news-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 3em;
  }
  /* line 1160, ../sass/screen.scss */
  body:not(.home) #news-container .news-item-wrap .news-item .img,
  body:not(.home) #news-container .events-item-wrap .news-item .img {
    width: 100%;
  }
  /* line 1161, ../sass/screen.scss */
  body:not(.home) #news-container .news-item-wrap .news-item .time,
  body:not(.home) #news-container .events-item-wrap .news-item .time {
    width: 100%;
  }
  /* line 1162, ../sass/screen.scss */
  body:not(.home) #news-container .news-item-wrap .news-item .title,
  body:not(.home) #news-container .events-item-wrap .news-item .title {
    width: 100%;
  }
  /* line 1164, ../sass/screen.scss */
  body:not(.home) #news-container .news-item-wrap .news-item .news-item-container,
  body:not(.home) #news-container .events-item-wrap .news-item .news-item-container {
    width: 100%;
    flex: 1;
    justify-content: start;
    align-items: flex-start;
  }
  /* line 1181, ../sass/screen.scss */
  body.home #events-container .news-item-wrap .news-item,
  body.home #events-container .events-item-wrap .news-item,
  body.home #news-container .news-item-wrap .news-item,
  body.home #news-container .events-item-wrap .news-item,
  body.home #topics-container .news-item-wrap .news-item,
  body.home #topics-container .events-item-wrap .news-item {
    display: flex;
    gap: 0px;
    flex-direction: column;
    padding: 20px;
    align-items: flex-start;
  }
  /* line 1188, ../sass/screen.scss */
  body.home #events-container .news-item-wrap .title,
  body.home #events-container .events-item-wrap .title,
  body.home #news-container .news-item-wrap .title,
  body.home #news-container .events-item-wrap .title,
  body.home #topics-container .news-item-wrap .title,
  body.home #topics-container .events-item-wrap .title {
    width: 100%;
    line-height: 1;
  }
  /* line 1189, ../sass/screen.scss */
  body.home #events-container .news-item-wrap .time,
  body.home #events-container .events-item-wrap .time,
  body.home #news-container .news-item-wrap .time,
  body.home #news-container .events-item-wrap .time,
  body.home #topics-container .news-item-wrap .time,
  body.home #topics-container .events-item-wrap .time {
    width: 100%;
  }
  /* line 1194, ../sass/screen.scss */
  body .elementor-widget-heading.section-title .elementor-heading-title.elementor-size-xxl {
    font-size: 140%;
    font-weight: 600;
    padding: 0 !important;
  }
  /* line 1200, ../sass/screen.scss */
  body .flex-mobile-fd-c {
    flex-direction: row;
  }
  /* line 1202, ../sass/screen.scss */
  body .entry-form {
    width: 100%;
  }
  /* line 1204, ../sass/screen.scss */
  body .btn {
    margin-top: 2em;
  }
  /* line 1207, ../sass/screen.scss */
  body .btn input {
    border: 3px solid #006097;
    border-radius: 1.6em;
    padding: 0.4em 1em;
    font-size: 18px;
    font-weight: bold;
    color: #006097;
    box-shadow: none;
  }
  /* line 1216, ../sass/screen.scss */
  body .btn input:hover, body .btn input:focus {
    background: #006097;
    color: #fff;
    outline: none;
  }
  /* line 1230, ../sass/screen.scss */
  body .hfe-nav-menu__toggle {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 20px;
    right: 20px;
    width: 60px;
    height: 60px;
    z-index: 10000;
    background-color: #590202;
    border-radius: 0;
    cursor: pointer;
  }
  /* line 1259, ../sass/screen.scss */
  body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(3) {
    order: 4;
  }
  /* line 1260, ../sass/screen.scss */
  body .elementor-element[data-id="06d2a1f"] > .elementor-element:nth-child(4) {
    order: 3;
  }
  /* line 1262, ../sass/screen.scss */
  body .only-mb {
    display: inherit;
  }
  /* line 1266, ../sass/screen.scss */
  body .not-mb {
    display: none;
  }
}
