/* ==============================================
   BASE
   ============================================== */

a {
  text-decoration-thickness: 1px !important;
  text-underline-offset: .1em;
}

:where(.wp-site-blocks :focus) {
  outline-width: 2px;
  outline-style: solid;
}

a:focus,
a:focus-visible,
button:focus,
button:focus-visible {
  outline: none;
}

blockquote,
caption,
figcaption,
h1, h2, h3, h4, h5, h6,
p {
  text-wrap: pretty;
  margin: 0;
  padding: 0;
}

:where(pre) {
  overflow-x: auto;
}

.more-link {
  display: block;
}

.body {
  font-family: "Zen Maru Gothic";
}


/* ==============================================
   UTILITY
   ============================================== */

.color-pink { color: #E39595; }
.color-blue  { color: #81CAF6; }
.color-gray  { color: #6D6B6B; }

.caption { font-size: 14px; }

/* 改行制御 */
.br-pc     { display: block; }
.br-tablet { display: none; }
.br-sp     { display: none; }

@media (max-width: 1024px) {
  .br-pc     { display: none; }
  .br-tablet { display: block; }
}

@media (max-width: 768px) {
  .br-tablet { display: none; }
  .br-sp     { display: block; }
}


/* ==============================================
   HEADER
   ============================================== */

.site-header {
  position: fixed;
  width: 100%;
  height: 100px;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  z-index: 1001;
}

@media (max-width: 768px) {
  .site-header {
    height: 92px;
    padding: 0 16px;
  }
}

.header-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 36px;
}

@media (max-width: 768px) {
  .header-left {
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .footer-logo .header-left {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* 基本（Chrome, Android等）は8px */
    text-align: center;
  }
  /* WebKit (Safari / iOS Chrome) だけgapを16pxにする */
  @supports (-webkit-touch-callout: none) {
    .footer-logo .header-left {
      gap: 16px;
    }
  }
}
.header-right {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* ロゴ */
.logo {
  width: 154px;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .logo {
    width: 110px;
  }
}
@media (max-width: 768px) {
  /* 基本設定（Chrome, Androidなど） */
  .footer-logo .header-left .logo {
    width: 90px;
    height:48px;
  }

  /* WebKit (Safari / iOSブラウザ全般) 専用の上書き */
  @supports (-webkit-touch-callout: none) {
    .footer-logo .header-left .logo {
      width: 110px;
      height:48px;
    }
  }
}
/* 姫路バッジ */
.badge-himeji {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.badge-icon {
  width: 36px;
}

.badge-himeji__text {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: 0.6px;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .badge-icon {
    width: 28px;
  }

  .badge-himeji__text {
    font-size: 11px;
  }
}

/* 電話ボタン（アイコンのみ） */
.btn-phone svg {
  width: 60px;
  height: 60px;
}

@media (max-width: 768px) {
  .btn-phone svg {
    width: 44px;
    height: 44px;
  }
}

/* 電話情報ブロック */
.phone-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

@media (max-width: 1024px) {
  .phone-info {
    display: none;
  }
}

.phone-info__hours {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: 0.56px;
}

.phone-info__number {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: 1.12px;
}

.phone-paragraph {
  text-align: center;
}

/* LINEヘッダーボタン */
.btn-header__line {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 1.135px;
  border-radius: 999px;
  background: #06C654;
  display: flex;
  width: 234px;
  height: 60px;
  padding: 4px;
  flex-direction: column;
  align-items: center;
}

@media (max-width: 1024px) {
  .btn-header__line {
    display: none;
  }
}

.btn-header__line__inner {
  position: relative;
  border-radius: 99px;
  border: 1.5px dashed #B2F6CE;
  background: #06C654;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 0;
  align-self: stretch;
  padding: 0 16px;
}

.btn-header__line__inner::before {
  content: "";
  position: absolute;
  left: 16px;
  display: block;
  width: 27px;
  height: 28px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='28' viewBox='0 0 27 28' fill='none'%3E%3Cpath d='M27 11.9236C27 5.34886 20.9451 0 13.5 0C6.05826 0 0 5.34886 0 11.9236C0 17.8173 4.80331 22.7538 11.2912 23.6852C11.7309 23.7882 12.3296 24.0018 12.4818 24.4104C12.6171 24.7822 12.5698 25.3638 12.5258 25.7393C12.5258 25.7393 12.3668 26.7774 12.333 26.9983C12.2755 27.3701 12.0624 28.4524 13.5034 27.7898C14.9444 27.1308 21.2766 22.809 24.1112 19.2603C26.063 16.9227 27 14.552 27 11.9236Z' fill='white'/%3E%3Cpath d='M10.7578 8.74707H9.81072C9.66527 8.74707 9.54688 8.87591 9.54688 9.03421V15.4359C9.54688 15.5942 9.66527 15.723 9.81072 15.723H10.7578C10.9033 15.723 11.0217 15.5942 11.0217 15.4359V9.03053C11.0217 8.87591 10.9033 8.74707 10.7578 8.74707Z' fill='%2306C654'/%3E%3Cpath d='M17.2758 8.74707H16.3287C16.1832 8.74707 16.0648 8.87591 16.0648 9.03421V12.8369L13.3689 8.87591C13.3621 8.86487 13.3553 8.85751 13.3486 8.84646C13.3486 8.84646 13.3486 8.84646 13.3452 8.84278C13.3384 8.83542 13.335 8.83174 13.3283 8.82438C13.3249 8.82438 13.3249 8.8207 13.3249 8.8207C13.3215 8.81701 13.3147 8.81333 13.3114 8.80965C13.308 8.80597 13.308 8.80597 13.3046 8.80229C13.3012 8.79861 13.2945 8.79493 13.2911 8.79124C13.2877 8.78756 13.2843 8.78756 13.2843 8.78756C13.2809 8.78388 13.2742 8.7802 13.2708 8.7802C13.2674 8.7802 13.264 8.77652 13.264 8.77652C13.2606 8.77284 13.2539 8.77284 13.2505 8.76916C13.2471 8.76916 13.2437 8.76548 13.2403 8.76548C13.2336 8.7618 13.2302 8.76179 13.2234 8.75811C13.22 8.75811 13.2167 8.75811 13.2133 8.75443C13.2065 8.75443 13.2031 8.75075 13.1997 8.75075C13.1964 8.75075 13.193 8.75075 13.1896 8.75075C13.1862 8.75075 13.1794 8.75075 13.1761 8.74707C13.1727 8.74707 13.1659 8.74707 13.1625 8.74707C13.1591 8.74707 13.1558 8.74707 13.1524 8.74707H12.2052C12.0598 8.74707 11.9414 8.87591 11.9414 9.03421V15.4359C11.9414 15.5942 12.0598 15.723 12.2052 15.723H13.1524C13.2978 15.723 13.4162 15.5942 13.4162 15.4359V11.6332L16.1155 15.6016C16.1325 15.631 16.1561 15.6531 16.1832 15.6715C16.1832 15.6715 16.1866 15.6715 16.1866 15.6752C16.1933 15.6789 16.1967 15.6825 16.2035 15.6862C16.2069 15.6862 16.2069 15.6899 16.2103 15.6899C16.2136 15.6936 16.217 15.6936 16.2238 15.6973C16.2272 15.701 16.2306 15.701 16.2373 15.7046C16.2407 15.7046 16.2441 15.7083 16.2441 15.7083C16.2509 15.712 16.2576 15.712 16.261 15.7157H16.2644C16.2847 15.723 16.3084 15.7267 16.332 15.7267H17.2792C17.4246 15.7267 17.543 15.5979 17.543 15.4396V9.03053C17.5396 8.87591 17.4212 8.74707 17.2758 8.74707Z' fill='%2306C654'/%3E%3Cpath d='M8.47477 14.1131H5.9006V9.02933C5.9006 8.87103 5.78221 8.74219 5.63676 8.74219H4.68963C4.54417 8.74219 4.42578 8.87103 4.42578 9.02933V15.431C4.42578 15.5083 4.45284 15.5783 4.5002 15.6298L4.50358 15.6335L4.50696 15.6372C4.55432 15.685 4.61859 15.7182 4.68963 15.7182H8.47138C8.61684 15.7182 8.73523 15.5893 8.73523 15.431V14.4003C8.73861 14.242 8.62022 14.1131 8.47477 14.1131Z' fill='%2306C654'/%3E%3Cpath d='M22.5065 10.3472C22.652 10.3472 22.7704 10.2184 22.7704 10.0601V9.02933C22.7704 8.87103 22.652 8.74219 22.5065 8.74219H18.7248C18.6537 8.74219 18.5895 8.77164 18.5421 8.82318L18.5387 8.82686C18.5387 8.83054 18.5354 8.83054 18.5354 8.83054C18.4914 8.88208 18.4609 8.95202 18.4609 9.02933V15.431C18.4609 15.5083 18.488 15.5783 18.5354 15.6298L18.5387 15.6335L18.5421 15.6372C18.5895 15.685 18.6537 15.7182 18.7248 15.7182H22.5065C22.652 15.7182 22.7704 15.5893 22.7704 15.431V14.4003C22.7704 14.242 22.652 14.1131 22.5065 14.1131H19.9324V13.0308H22.5065C22.652 13.0308 22.7704 12.902 22.7704 12.7437V11.713C22.7704 11.5547 22.652 11.4258 22.5065 11.4258H19.9324V10.3435H22.5065V10.3472Z' fill='%2306C654'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.btn-header__line__inner::after {
  content: "";
  position: absolute;
  right: 16px;
  display: block;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Crect width='12' height='12' rx='6' fill='white'/%3E%3Cpath d='M3 5.60508C2.78243 5.60508 2.60605 5.78145 2.60605 5.99902C2.60605 6.21659 2.78243 6.39297 3 6.39297V5.99902V5.60508ZM9.27856 6.27759C9.43241 6.12374 9.43241 5.87431 9.27856 5.72046L6.7715 3.2134C6.61765 3.05955 6.36822 3.05955 6.21437 3.2134C6.06053 3.36724 6.06053 3.61668 6.21437 3.77052L8.44287 5.99902L6.21437 8.22752C6.06053 8.38137 6.06053 8.6308 6.21437 8.78465C6.36822 8.9385 6.61765 8.9385 6.7715 8.78465L9.27856 6.27759ZM3 5.99902V6.39297L9 6.39297V5.99902V5.60508L3 5.60508V5.99902Z' fill='%2306C654'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.btn-header__line__inner p {
  margin: 0;
  text-align: center;
}


/* ==============================================
   HAMBURGER BUTTON
   ============================================== */

.btn-hamburger {
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  padding: 0;
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  position: relative;
  z-index: 100;
  -webkit-appearance: none;
  appearance: none;
}

.btn-hamburger:active { transform: none !important; }
.btn-hamburger::-moz-focus-inner { border: 0; padding: 0; }

.btn-hamburger svg {
  display: block;
  width: 60px;
  height: 60px;
}

@media (max-width: 768px) {
  .btn-hamburger,
  .btn-hamburger svg {
    width: 52px;
    height: 52px;
  }
}

/* バーアニメーション */
.bar1,
.bar2 {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .35s ease;
}

.bar1 { transform: translateY(-2.5px); }
.bar2 { transform: translateY(2.5px); }

.btn-hamburger.is-open .bar1 { transform: rotate(30deg); }
.btn-hamburger.is-open .bar2 { transform: rotate(-30deg); }


/* ==============================================
   DRAWER MENU
   ============================================== */

.drawer-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/wp-content/themes/liberte/assets/images/bg_white.jpg) repeat;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 100px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}

.drawer-menu.is-open {
  opacity: 1;
  visibility: visible;
}

.drawer-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}

.drawer-menu li {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .3s ease, transform .3s ease;
}

.drawer-menu li a::before {
  content: "";
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  background-image: url('data:image/svg+xml,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20width%3D%2214%22%20height%3D%2214%22%20rx%3D%225%22%20fill%3D%22%23E39595%22%2F%3E%0A%3C%2Fsvg%3E');
  background-size: contain;
  background-repeat: no-repeat;
  left: -24px;
  top: 30px;
}

/* 開いたときにメニュー項目を順番にフェードイン */
.drawer-menu.is-open li:nth-child(1) { opacity: 1; transform: translateY(0); transition-delay: .10s; }
.drawer-menu.is-open li:nth-child(2) { opacity: 1; transform: translateY(0); transition-delay: .18s; }
.drawer-menu.is-open li:nth-child(3) { opacity: 1; transform: translateY(0); transition-delay: .26s; }
.drawer-menu.is-open li:nth-child(4) { opacity: 1; transform: translateY(0); transition-delay: .34s; }
.drawer-menu.is-open li:nth-child(5) { opacity: 1; transform: translateY(0); transition-delay: .42s; }

.drawer-menu a {
  display: block;
  padding: 20px 0;
  color: #6D6B6B;
  font-size: 20px;
  font-weight: 500;
  text-decoration: none;
  letter-spacing: .1em;
  transition: color .2s;
  text-align: left;
}

.drawer-menu a:hover {
  color: #E39595;
}

@media (max-width: 768px) {
  .drawer-menu {
    flex-direction: column;
    gap: 0;
    align-items: center;
    justify-content: flex-start;
    padding: calc(60px + 32px) 40px 40px;
    box-sizing: border-box;
    overflow-y: auto;
  }

  .drawer-menu ul {
    width: 220px;
  }

  /* SP：中央揃えのためビュレットを非表示 */
  .drawer-menu li a::before {
    display: none;
  }

  .drawer-menu a {
    font-size: 17px;
    padding: 14px 0;
    text-align: center;
  }

  /* 2つ目のulのアニメーション遅延を1つ目の続きから */
  .drawer-menu.is-open ul:nth-of-type(2) li:nth-child(1) { transition-delay: .42s; }
  .drawer-menu.is-open ul:nth-of-type(2) li:nth-child(2) { transition-delay: .50s; }
  .drawer-menu.is-open ul:nth-of-type(2) li:nth-child(3) { transition-delay: .58s; }
  .drawer-menu.is-open ul:nth-of-type(2) li:nth-child(4) { transition-delay: .66s; }
}

@media (max-width: 390px) {
  .drawer-menu a {
    font-size: 17px;
    padding: 12px 0;
  }
}


/* ==============================================
   CTA ボタン（電話・LINE・お問い合わせ・友達追加）
   共通の疑似要素パターンをまとめて定義
   ============================================== */

/* 共通ベース */
#btn-phone,
#btn-line {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

#btn-phone { outline: 6px solid #E39595; }
#btn-line  { outline: 6px solid #06C654; }

#btn-phone::before {
  content: "";
  position: absolute;
  left: 38px;
  display: block;
  width: 48px;
  height: 48px;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMwLjgyNjQgNS4wMDA0OUgxNy45NDM5QzE0LjY2MDEgNS4wMDA0OSAxMS45OTggNy42OTg0OSAxMS45OTggMTEuMDI2NlYzNi4xMzU2QzExLjk5OCAzOS40NjM4IDE0LjY2MDEgNDIuMTYxOCAxNy45NDM5IDQyLjE2MThIMzAuODI2NEMzNC4xMTAyIDQyLjE2MTggMzYuNzcyMiAzOS40NjM4IDM2Ljc3MjIgMzYuMTM1NlYxMS4wMjY2QzM2Ljc3MjIgNy42OTg0OSAzNC4xMTAyIDUuMDAwNDkgMzAuODI2NCA1LjAwMDQ5WiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0yMi43MTQ4IDM1LjAwMDVIMjcuMDgyNCIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+');
  background-size: contain;
  background-repeat: no-repeat;
}

#btn-line::before {
  content: "";
  position: absolute;
  left: 32px;
  display: block;
  width: 48px;
  height: 48px;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPG1hc2sgaWQ9Im1hc2swXzE0MDkxXzEwODgiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+CjxyZWN0IHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgZmlsbD0iI0Q5RDlEOSIvPgo8L21hc2s+CjxnIG1hc2s9InVybCgjbWFzazBfMTQwOTFfMTA4OCkiPgo8cGF0aCBkPSJNMjQgM0MzNS4xNjc3IDMgNDQuMjUgMTEuMDIzNyA0NC4yNSAyMC44ODU3QzQ0LjI0OTkgMjQuODI4MiA0Mi44NDQ1IDI4LjM4NDMgMzkuOTE3IDMxLjg5MDZDMzUuNjY1IDM3LjIxMzcgMjYuMTY2NCA0My42OTYyIDI0LjAwNDkgNDQuNjg0NkMyMS44NDM1IDQ1LjY3ODQgMjIuMTYyOCA0NC4wNTQ4IDIyLjI0OSA0My40OTcxQzIyLjI5OTQgNDMuMTY4IDIyLjUzNSA0MS42MzYgMjIuNTM5MSA0MS42MDk0QzIyLjYwNSA0MS4wNDYxIDIyLjY3NTYgNDAuMTcyOSAyMi40NzI3IDM5LjYxNTJDMjIuMjQ0MSAzOS4wMDI1IDIxLjM0NiAzOC42ODE5IDIwLjY4NjUgMzguNTI3M0MxMC45NTUgMzcuMTMwMiAzLjc1MDIxIDI5LjcyNiAzLjc1IDIwLjg4NTdDMy43NSAxMS4wMjM3IDEyLjgzNzQgMyAyNCAzWk0yMi4wNTk2IDE2LjEyMDFDMjEuODQxNSAxNi4xMjAzIDIxLjY2NDEgMTYuMzEzNSAyMS42NjQxIDE2LjU1MDhWMjYuMTUzM0MyMS42NjQxIDI2LjM5MDcgMjEuODQxNSAyNi41ODM4IDIyLjA1OTYgMjYuNTg0SDIzLjQ4MDVDMjMuNjk4NiAyNi41ODQgMjMuODc2IDI2LjM5MDggMjMuODc2IDI2LjE1MzNWMjAuNDQ5MkwyNy45MjQ4IDI2LjQwMTRDMjcuOTUwMSAyNi40NDU1IDI3Ljk4NTkgMjYuNDc5MyAyOC4wMjY0IDI2LjUwNjhDMjguMDI2NCAyNi41MDY4IDI4LjAzMjIgMjYuNTA3MiAyOC4wMzIyIDI2LjUxMjdDMjguMDQyMSAyNi41MTgxIDI4LjA0NzYgMjYuNTIzOSAyOC4wNTc2IDI2LjUyOTNDMjguMDYyMiAyNi41Mjk2IDI4LjA2MjUgMjYuNTM0MiAyOC4wNjc0IDI2LjUzNDJDMjguMDcyNSAyNi41Mzk3IDI4LjA3NzcgMjYuNTQwNCAyOC4wODc5IDI2LjU0NTlDMjguMDkyOCAyNi41NTEgMjguMDk4NSAyNi41NTEyIDI4LjEwODQgMjYuNTU2NkMyOC4xMTI3IDI2LjU1NjkgMjguMTE3MiAyNi41NjA2IDI4LjExODIgMjYuNTYxNUMyOC4xMjgzIDI2LjU2NyAyOC4xMzg1IDI2LjU2NzcgMjguMTQzNiAyNi41NzMySDI4LjE0ODRDMjguMTc4OSAyNi41ODQzIDI4LjIxNDUgMjYuNTg5OCAyOC4yNSAyNi41ODk4SDI5LjY3MDlDMjkuODg4OSAyNi41ODk3IDMwLjA2NjMgMjYuMzk2NCAzMC4wNjY0IDI2LjE1OTJWMTYuNTQ0OUMzMC4wNjExIDE2LjMxMzMgMjkuODgzOSAxNi4xMjAzIDI5LjY2NiAxNi4xMjAxSDI4LjI0NTFDMjguMDI3IDE2LjEyMDEgMjcuODQ5NiAxNi4zMTM0IDI3Ljg0OTYgMTYuNTUwOFYyMi4yNTQ5TDIzLjgwNTcgMTYuMzEzNUMyMy43OTU1IDE2LjI5NjkgMjMuNzg0NiAxNi4yODYxIDIzLjc3NDQgMTYuMjY5NUMyMy43NzQzIDE2LjI2OTQgMjMuNzczOCAxNi4yNjgzIDIzLjc2OTUgMTYuMjYzN0MyMy43NTk1IDE2LjI1MjcgMjMuNzU0MiAxNi4yNDczIDIzLjc0NDEgMTYuMjM2M0MyMy43MzkzIDE2LjIzNjIgMjMuNzM5MyAxNi4yMzA1IDIzLjczOTMgMTYuMjMwNUMyMy43MzQyIDE2LjIyNSAyMy43MjM4IDE2LjIxOTQgMjMuNzE4OCAxNi4yMTM5QzIzLjcxMzkgMTYuMjA4NiAyMy43MTM4IDE2LjIwODQgMjMuNzA5IDE2LjIwMzFDMjMuNzAzOSAxNi4xOTc2IDIzLjY5MzYgMTYuMTkyIDIzLjY4ODUgMTYuMTg2NUMyMy42ODQxIDE2LjE4MTggMjMuNjc5OCAxNi4xODA4IDIzLjY3ODcgMTYuMTgwN0MyMy42NzM3IDE2LjE3NTIgMjMuNjYzMyAxNi4xNyAyMy42NTgyIDE2LjE2OTlDMjMuNjUzNiAxNi4xNjk5IDIzLjY0OTIgMTYuMTY0OSAyMy42NDg0IDE2LjE2NDFDMjMuNjQzNCAxNi4xNTg2IDIzLjYzMzEgMTYuMTU4NyAyMy42Mjc5IDE2LjE1MzNDMjMuNjIyOSAxNi4xNTMzIDIzLjYxNzQgMTYuMTQ3NSAyMy42MTIzIDE2LjE0NzVDMjMuNjAyMyAxNi4xNDIxIDIzLjU5NyAxNi4xNDIyIDIzLjU4NjkgMTYuMTM2N0MyMy41ODE5IDE2LjEzNjcgMjMuNTc3MyAxNi4xMzYzIDIzLjU3MjMgMTYuMTMwOUMyMy41NjIzIDE2LjEzMDkgMjMuNTU2OCAxNi4xMjYxIDIzLjU1MTggMTYuMTI2SDIzLjUzNjFDMjMuNTMxIDE2LjEyNiAyMy41MjA2IDE2LjEyNTYgMjMuNTE1NiAxNi4xMjAxSDIyLjA1OTZaTTE4LjQ2NTggMTYuMTIwMUMxOC4yNDc4IDE2LjEyMDMgMTguMDcwMyAxNi4zMTM1IDE4LjA3MDMgMTYuNTUwOFYyNi4xNTMzQzE4LjA3MDMgMjYuMzkwNyAxOC4yNDc4IDI2LjU4MzggMTguNDY1OCAyNi41ODRIMTkuODg2N0MyMC4xMDQ5IDI2LjU4NCAyMC4yODIyIDI2LjM5MDggMjAuMjgyMiAyNi4xNTMzVjE2LjU0NDlDMjAuMjgyIDE2LjMxMzIgMjAuMTA0OCAxNi4xMjAxIDE5Ljg4NjcgMTYuMTIwMUgxOC40NjU4Wk0xMC43ODYxIDE2LjExNDNDMTAuNTY4MSAxNi4xMTQ0IDEwLjM5MDYgMTYuMzA3NiAxMC4zOTA2IDE2LjU0NDlWMjYuMTQ3NUMxMC4zOTA2IDI2LjI2MzIgMTAuNDMxMSAyNi4zNjggMTAuNTAyIDI2LjQ0NTNMMTAuNTA3OCAyNi40NTEyTDEwLjUxMjcgMjYuNDU3QzEwLjU4MzYgMjYuNTI4NiAxMC42Nzk4IDI2LjU3OCAxMC43ODYxIDI2LjU3ODFIMTYuNDU5QzE2LjY3NzIgMjYuNTc4MSAxNi44NTQ1IDI2LjM4NDkgMTYuODU0NSAyNi4xNDc1VjI0LjYwMTZDMTYuODU5NiAyNC4zNjQxIDE2LjY4MiAyNC4xNzA5IDE2LjQ2MzkgMjQuMTcwOUgxMi42MDI1VjE2LjU0NDlDMTIuNjAyNSAxNi4zMDc1IDEyLjQyNTIgMTYuMTE0MyAxMi4yMDcgMTYuMTE0M0gxMC43ODYxWk0zMS44MzY5IDE2LjExNDNDMzEuNzMwNiAxNi4xMTQzIDMxLjYzNDQgMTYuMTU4MyAzMS41NjM1IDE2LjIzNTRMMzEuNTU3NiAxNi4yNDEyQzMxLjU1NzYgMTYuMjQ2NyAzMS41NTI3IDE2LjI0NzEgMzEuNTUyNyAxNi4yNDcxQzMxLjQ4NjkgMTYuMzI0MyAzMS40NDE0IDE2LjQyOTEgMzEuNDQxNCAxNi41NDQ5VjI2LjE0NzVDMzEuNDQxNCAyNi4yNjMyIDMxLjQ4MTkgMjYuMzY4IDMxLjU1MjcgMjYuNDQ1M0wzMS41NTc2IDI2LjQ1MTJMMzEuNTYzNSAyNi40NTdDMzEuNjM0NCAyNi41Mjg2IDMxLjczMDYgMjYuNTc4IDMxLjgzNjkgMjYuNTc4MUgzNy41MDk4QzM3LjcyNzkgMjYuNTc4MSAzNy45MDUzIDI2LjM4NDkgMzcuOTA1MyAyNi4xNDc1VjI0LjYwMTZDMzcuOTA1MyAyNC4zNjQxIDM3LjcyNzkgMjQuMTcwOSAzNy41MDk4IDI0LjE3MDlIMzMuNjQ4NFYyMi41NDY5SDM3LjUwOThDMzcuNzI3OSAyMi41NDY5IDM3LjkwNTMgMjIuMzUzNyAzNy45MDUzIDIyLjExNjJWMjAuNTcwM0MzNy45MDUyIDIwLjMzMjkgMzcuNzI3OSAyMC4xMzk2IDM3LjUwOTggMjAuMTM5NkgzMy42NDg0VjE4LjUxNjZIMzcuNTA5OFYxOC41MjE1QzM3LjcyNzkgMTguNTIxNSAzNy45MDUzIDE4LjMyODMgMzcuOTA1MyAxOC4wOTA4VjE2LjU0NDlDMzcuOTA1MyAxNi4zMDc1IDM3LjcyNzkgMTYuMTE0MyAzNy41MDk4IDE2LjExNDNIMzEuODM2OVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPC9zdmc+');
  background-size: contain;
  background-repeat: no-repeat;
}

/* 共通：右側矢印アイコン */
#btn-phone::after,
#btn-line::after {
  content: "";
  position: absolute;
  right: 38px;
  display: block;
  width: 24px;
  height: 24px;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDBDMTguNjI3NCA1LjE1NDA2ZS0wNyAyNCA1LjM3MjU4IDI0IDEyQzI0IDE4LjYyNzQgMTguNjI3NCAyNCAxMiAyNEM1LjM3MjU4IDI0IDUuMTU0MjJlLTA3IDE4LjYyNzQgMCAxMkMwIDUuMzcyNTggNS4zNzI1OCAwIDEyIDBaTTEzLjc1NzggNi42OTYyOUMxMy40NjQ5IDYuNDAzNCAxMi45ODkyIDYuNDAzNCAxMi42OTYzIDYuNjk2MjlDMTIuNDAzNCA2Ljk4OTE4IDEyLjQwMzQgNy40NjQ5MyAxMi42OTYzIDcuNzU3ODFMMTYuMTg5NSAxMS4yNUg2QzUuNTg1NzkgMTEuMjUgNS4yNSAxMS41ODU4IDUuMjUgMTJDNS4yNTAwMyAxMi40MTQyIDUuNTg1ODEgMTIuNzUgNiAxMi43NUgxNi4xODk1TDEyLjY5NjMgMTYuMjQyMkMxMi40MDM0IDE2LjUzNTEgMTIuNDAzNCAxNy4wMTA4IDEyLjY5NjMgMTcuMzAzN0MxMi45ODkyIDE3LjU5NjYgMTMuNDY0OSAxNy41OTY2IDEzLjc1NzggMTcuMzAzN0wxOC41MzAzIDEyLjUzMDNDMTguODIzMiAxMi4yMzc0IDE4LjgyMzEgMTEuNzYyNiAxOC41MzAzIDExLjQ2OTdMMTMuNzU3OCA2LjY5NjI5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+');
  background-size: contain;
  background-repeat: no-repeat;
}

#btn-line::after {
  right: 32px;
}

@media (max-width: 1024px) {
  #btn-phone::before { left: 24px; width: 40px; height: 40px; }
  #btn-line::before  { left: 24px; width: 40px; height: 40px; }

  #btn-phone::after,
  #btn-line::after {
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    height: 20px;
  }
}

@media (max-width: 768px) {
  #btn-phone { outline: 4px solid #E39595; }
  #btn-line  { outline: 4px solid #06C654; }

  #btn-phone::before { left: 16px; width: 32px; height: 32px; }
  #btn-line::before  { left: 16px; width: 32px; height: 32px; }

  #btn-phone::after,
  #btn-line::after {
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    height: 18px;
  }
}

/* お問い合わせ・LINE追加ボタン */
#btn-contact,
#btn-addline {
  width: 388px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}

#btn-contact { outline: 6px solid #E39595; }
#btn-addline { outline: 6px solid #06C654; }

#btn-contact::after,
#btn-addline::after {
  content: "";
  position: absolute;
  right: 38px;
  display: block;
  width: 24px;
  height: 24px;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDBDMTguNjI3NCA1LjE1NDA2ZS0wNyAyNCA1LjM3MjU4IDI0IDEyQzI0IDE4LjYyNzQgMTguNjI3NCAyNCAxMiAyNEM1LjM3MjU4IDI0IDUuMTU0MjJlLTA3IDE4LjYyNzQgMCAxMkMwIDUuMzcyNTggNS4zNzI1OCAwIDEyIDBaTTEzLjc1NzggNi42OTYyOUMxMy40NjQ5IDYuNDAzNCAxMi45ODkyIDYuNDAzNCAxMi42OTYzIDYuNjk2MjlDMTIuNDAzNCA2Ljk4OTE4IDEyLjQwMzQgNy40NjQ5MyAxMi42OTYzIDcuNzU3ODFMMTYuMTg5NSAxMS4yNUg2QzUuNTg1NzkgMTEuMjUgNS4yNSAxMS41ODU4IDUuMjUgMTJDNS4yNTAwMyAxMi40MTQyIDUuNTg1ODEgMTIuNzUgNiAxMi43NUgxNi4xODk1TDEyLjY5NjMgMTYuMjQyMkMxMi40MDM0IDE2LjUzNTEgMTIuNDAzNCAxNy4wMTA4IDEyLjY5NjMgMTcuMzAzN0MxMi45ODkyIDE3LjU5NjYgMTMuNDY0OSAxNy41OTY2IDEzLjc1NzggMTcuMzAzN0wxOC41MzAzIDEyLjUzMDNDMTguODIzMiAxMi4yMzc0IDE4LjgyMzEgMTEuNzYyNiAxOC41MzAzIDExLjQ2OTdMMTMuNzU3OCA2LjY5NjI5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+');
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 1024px) {
  #btn-contact,
  #btn-addline {
    width: 340px;
  }

  #btn-contact::after,
  #btn-addline::after {
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    height: 20px;
  }
}

@media (max-width: 768px) {
  #btn-contact,
  #btn-addline {
    width: 260px;
  }

  #btn-contact { outline: 4px solid #E39595; }
  #btn-addline { outline: 4px solid #06C654; }

  #btn-contact::after,
  #btn-addline::after {
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    height: 18px;
  }
}


/* ==============================================
   FV（ファーストビュー）
   ============================================== */

.fv {
  position: relative;
}

.fv-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 0;
  pointer-events: none;
}

/* 固定レイヤー（丘・草） */
.fixed-layer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  line-height: 0;
  pointer-events: none;
}

.layer-bg {
  z-index: 98;
  background: url('/wp-content/themes/liberte/assets/images/hill-bg.webp') repeat-x;
  height: 208px;
}

@media (max-width: 1024px) {
  .layer-bg {
    background-size: contain;
    background-position-y: bottom;
  }
}

@media (max-width: 768px) {
  .layer-bg {
    height: 140px;
    background-size: cover;
    background-position-y: bottom;
  }
}

.layer-back  { z-index: 99; }
.layer-front { z-index: 100; }

.svg-hill-back  { height: 91px; }
.svg-hill-front { height: 125px; }

@media (max-width: 768px) {
  .svg-hill-back  { height: calc(100vw * 91 / 750); }
  .svg-hill-front { height: calc(100vw * 125 / 750); }
}

/* イラスト */
.illust01 {
  position: fixed;
  right: 60px;
  bottom: 40px;
  z-index: 110;
}

.illust01 img {
  width: 249px;
}

.illust02 {
  position: fixed;
  left: 60px;
  bottom: 220px;
  z-index: 111;
}

.illust02 img {
  width: 82px;
}

@media (max-width: 768px) {
  .illust01 {
    right: 16px;
    bottom: 12px;
  }

  .illust01 img {
    width: 160px;
  }

  .illust02 {
    left: 16px;
    bottom: 140px;
  }

  .illust02 img {
    width: 64px;
  }
}

/* メインコピー（SP非表示） */
.maincopy {
  display: block;
}

@media (max-width: 768px) {
  .maincopy {
    display: none;
  }
}


/* ==============================================
   ニュースリスト
   ============================================== */

.news-list {
  background: #fff;
  border-radius: 16px;
  padding: 16px 40px;
  width: 100%;
  box-sizing: border-box;
}

.news-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px dashed #E39595;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.news-item:last-child {
  border-bottom: none;
}

.news-item::before {
  content: "";
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  background-color: #E39595;
  -webkit-mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDBDMTguNjI3NCA1LjE1NDA2ZS0wNyAyNCA1LjM3MjU4IDI0IDEyQzI0IDE4LjYyNzQgMTguNjI3NCAyNCAxMiAyNEM1LjM3MjU4IDI0IDUuMTU0MjJlLTA3IDE4LjYyNzQgMCAxMkMwIDUuMzcyNTggNS4zNzI1OCAwIDEyIDBaTTEzLjc1NzggNi42OTYyOUMxMy40NjQ5IDYuNDAzNCAxMi45ODkyIDYuNDAzNCAxMi42OTYzIDYuNjk2MjlDMTIuNDAzNCA2Ljk4OTE4IDEyLjQwMzQgNy40NjQ5MyAxMi42OTYzIDcuNzU3ODFMMTYuMTg5NSAxMS4yNUg2QzUuNTg1NzkgMTEuMjUgNS4yNSAxMS41ODU4IDUuMjUgMTJDNS4yNTAwMyAxMi40MTQyIDUuNTg1ODEgMTIuNzUgNiAxMi43NUgxNi4xODk1TDEyLjY5NjMgMTYuMjQyMkMxMi40MDM0IDE2LjUzNTEgMTIuNDAzNCAxNy4wMTA4IDEyLjY5NjMgMTcuMzAzN0MxMi45ODkyIDE3LjU5NjYgMTMuNDY0OSAxNy41OTY2IDEzLjc1NzggMTcuMzAzN0wxOC41MzAzIDEyLjUzMDNDMTguODIzMiAxMi4yMzc0IDE4LjgyMzEgMTEuNzYyNiAxOC41MzAzIDExLjQ2OTdMMTMuNzU3OCA2LjY5NjI5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+');
  mask-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDBDMTguNjI3NCA1LjE1NDA2ZS0wNyAyNCA1LjM3MjU4IDI0IDEyQzI0IDE4LjYyNzQgMTguNjI3NCAyNCAxMiAyNEM1LjM3MjU4IDI0IDUuMTU0MjJlLTA3IDE4LjYyNzQgMCAxMkMwIDUuMzcyNTggNS4zNzI1OCAwIDEyIDBaTTEzLjc1NzggNi42OTYyOUMxMy40NjQ5IDYuNDAzNCAxMi45ODkyIDYuNDAzNCAxMi42OTYzIDYuNjk2MjlDMTIuNDAzNCA2Ljk4OTE4IDEyLjQwMzQgNy40NjQ5MyAxMi42OTYzIDcuNzU3ODFMMTYuMTg5NSAxMS4yNUg2QzUuNTg1NzkgMTEuMjUgNS4yNSAxMS41ODU4IDUuMjUgMTJDNS4yNTAwMyAxMi40MTQyIDUuNTg1ODEgMTIuNzUgNiAxMi43NUgxNi4xODk1TDEyLjY5NjMgMTYuMjQyMkMxMi40MDM0IDE2LjUzNTEgMTIuNDAzNCAxNy4wMTA4IDEyLjY5NjMgMTcuMzAzN0MxMi45ODkyIDE3LjU5NjYgMTMuNDY0OSAxNy41OTY2IDEzLjc1NzggMTcuMzAzN0wxOC41MzAzIDEyLjUzMDNDMTguODIzMiAxMi4yMzc0IDE4LjgyMzEgMTEuNzYyNiAxOC41MzAzIDExLjQ2OTdMMTMuNzU3OCA2LjY5NjI5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+');
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

span.news-date {
  padding-left: 40px;
  font-size: 16px;
  color: #E39595;
  font-weight: 500;
}

.news-date {
  color: #E39595;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
  flex-shrink: 0;
}

.news-title {
  font-size: 18px;
  font-weight: 500;
  color: #6D6B6B;
}

.news-item:hover .news-title {
  color: #E39595;
}

@media (max-width: 1024px) {
  .news-item::before {
    width: 20px;
    height: 20px;
  }
}
.news-item__body {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  flex: 1;
}
@media (max-width: 768px) {
  .news-list {
    padding: 16px 28px;
  }

  .news-item {
    gap: 12px;
    padding: 16px 0;
    align-items: flex-start;
  }

  .news-item::before {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

  .news-item__body {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin-left: 40px;
  }

  span.news-date {
    padding-left: 0;
    font-size: 13px;
  }

  .news-title {
    font-size: 16px;
    line-height: 1.5;
  }
}


/* ==============================================
   6連ナビボタン
   ============================================== */

.nav-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 24px 16px;
  background: #fff;
  border-radius: 80px;
  text-decoration: none;
  width: 100%;
  box-sizing: border-box;
  outline: 6px solid #fff;
  border: 1px dashed #E39595;
  transition: transform 0.2s ease;
}

.nav-btn:hover {
  transform: scale(0.88);
}

.nav-btn__icon img {
  width: auto;
  height: 80px;
  object-fit: contain;
}

.nav-btn__label {
  color: #6D6B6B;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5em;
}

.nav-btn__sub {
  color: #E39595;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5em;
}

/* 番号デコレーション */
.img-number01::after,
.img-number02::after,
.img-number03::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 130px;
  height: 97px;
  background-size: contain;
  background-repeat: no-repeat;
}

.img-number01::after { background-image: url('/wp-content/themes/liberte/assets/images/img-number01.webp'); }
.img-number02::after { background-image: url('/wp-content/themes/liberte/assets/images/img-number02.webp'); }
.img-number03::after { background-image: url('/wp-content/themes/liberte/assets/images/img-number03.webp'); }

@media (max-width: 1024px) {
  .img-number01::after,
  .img-number02::after,
  .img-number03::after {
    width: 98px;
    height: 73px;
  }
}

@media (max-width: 768px) {
  .nav-btn {
    gap: 2px;
    padding: 16px 8px;
    outline: 4px solid #fff;
    border-radius: 40px;
  }

  .nav-btn__icon img {
    height: 60px;
  }

  .nav-btn__label {
    font-size: 16px;
  }

  .nav-btn__sub {
    font-size: 12px;
  }

  .img-number01::after,
  .img-number02::after,
  .img-number03::after {
    width: 100px;
    right: -24px;
  }
}


/* ==============================================
   投稿ウィジェット（ElementsKit）上書き
   ============================================== */

.entry-title {
  padding-bottom: 16px !important;
  border-bottom: 2px dashed #F9CACA;
  margin-bottom: 16px !important;
}

.btn-wraper {
  margin-top: 24px;
}

.ekit-wid-con img {
  border-radius: 60px 60px 0 60px;
}

.ekit-wid-con .elementskit-meta-lists {
  top: -8px !important;
  left: auto !important;
  right: 0px !important;
}

.elementskit-single-meta {
  background: #81CAF6 !important;
  border-radius: 90px 90px 90px 0 !important;
  height: 80px !important;
  width: 80px !important;
  font-size: 16px !important;
}

.elementskit-single-meta strong {
  font-size: 30px !important;
}

.elementskit-post-body {
  padding: 0 20px 20px 20px !important;
}

.entry-title a {
  padding-left: 36px !important;
  position: relative !important;
}

.entry-title a::before {
  content: "";
  position: absolute;
  display: block;
  width: 28px;
  height: 28px;
  background-image: url('/wp-content/themes/liberte/assets/images/icons-book.svg');
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 2px;
}

.ekit-wid-con .elementskit-entry-thumb > img {
  aspect-ratio: 14 / 10 !important;
  object-fit: cover !important;
}


/* ==============================================
   フッターリンク
   ============================================== */

.footer-link .elementor-icon-list-item {
  border-bottom: 2px dashed #E39595;
  margin-bottom: 16px !important;
  padding-bottom: 8px !important;
}

.footer-link .elementor-icon-list-item:last-child {
  border: none;
  margin-bottom: 8px !important;
}

@media (max-width: 768px) {
  .footer-link .elementor-icon-list-item {
  border-bottom: 1px dashed #E39595;
}
  /* 左カラム最後のliはボーダーあり */
  .footer-link .elementor-widget-icon-list:first-child .elementor-icon-list-item:last-child {
    border-bottom: 1px dashed #E39595 !important;
    margin-bottom: 16px !important;
  }

  /* 右カラム最後のliはボーダーなし */
  .footer-link .elementor-widget-icon-list:last-child .elementor-icon-list-item:last-child {
    border-bottom: none !important;
    margin-bottom: 8px !important;
  }
}


/* ==============================================
   アコーディオン（ElementsKit）
   ============================================== */

.acc-inner .e-child {
  border: none;
}

.ekit-wid-con .ekit_accordion_icon_group {
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.ekit-wid-con .elementskit-accordion .elementskit-card-header > .elementskit-btn-link .ekit_accordion_icon_left_group,
.ekit-wid-con .elementskit-accordion .elementskit-card-header > .elementskit-btn-link > .icon-left {
  padding-right: 16px !important;
}

.ekit-accordion--content p {
  font-size: 18px !important;
}

.elementor-1881 .elementor-element.elementor-element-270cfdf1 .elementskit-accordion .elementskit-card-header .elementskit-btn-link .ekit_accordion_normal_icon,
.elementor-1881 .elementor-element.elementor-element-270cfdf1 .elementskit-accordion .elementskit-card .elementskit-card-header .elementskit-btn-link .ekit_accordion_active_icon {
  line-height: 0 !important;
}

@media (max-width: 1024px) {
  .ekit-wid-con .ekit_accordion_icon_group {
    right: 24px !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767px) {
  .ekit-wid-con .ekit_accordion_icon_group {
    right: 16px !important;
  }

  .ekit-wid-con .elementskit-accordion .elementskit-card-header > .elementskit-btn-link .ekit_accordion_icon_left_group,
  .ekit-wid-con .elementskit-accordion .elementskit-card-header > .elementskit-btn-link > .icon-left {
    padding-right: 12px !important;
  }

  .ekit-accordion--content p {
    font-size: 16px !important;
  }
}


/* ==============================================
   タブ（Elementor Nested Tabs）
   ============================================== */

.elementor-widget-n-tabs {
  --n-tabs-title-background-color: #FFF !important;
  --n-tabs-title-background-color-active: #E39595 !important;
  --n-tabs-title-background-color-hover: #E39595 !important;
}

body .e-n-tab-title {
  background-color: #FFF !important;
  background-image: none !important;
  color: #E39595 !important;
}

body .e-n-tab-title[aria-selected="true"],
body .e-n-tab-title:hover {
  background-color: #E39595 !important;
  background-image: none !important;
  color: #fff !important;
}


/* ==============================================
   フローティング CTA（SP・タブレット）
   ============================================== */

.cta-float {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  transform: translateY(100%);
  transition: transform 0.4s ease;
  display: none;
}

.cta-float.is-visible {
  transform: translateY(0);
}

.cta-float__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 72px;
}

.cta-float__tel,
.cta-float__line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.03em;
  position: relative;
}

.cta-float__tel  { background-color: #E39595; }
.cta-float__line { background-color: #06C755; }

.cta-float__tel::after,
.cta-float__line::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px dashed rgba(255, 255, 255, 0.7);
  pointer-events: none;
}

.cta-float__tel svg,
.cta-float__line svg {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

@media (max-width: 1024px) {
  .cta-float {
    display: block;
  }
}

/* タブレット：LINEのみ表示（電話は非表示・1カラム） */
@media (min-width: 769px) and (max-width: 1024px) {
  .cta-float__inner {
    grid-template-columns: 1fr;
  }

  .cta-float__tel {
    display: none !important;
  }
}

/* PC：完全非表示 */
@media (min-width: 1025px) {
  .cta-float {
    display: none !important;
  }
}
