/* 下線を作るパラメトリックmixin
   @rough:true で“かすれ”テクスチャを追加 */
/* 実体クラス */
.ink-underline {
  position: relative;
  display: inline-block;
  line-height: 1;
  padding-bottom: 0.18em;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
  /* かすれ追加（@rough が true のときだけ適用） */
  /* ブラウザがマスク対応なら、単色着色をよりクリアに（任意） */
}
.ink-underline::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.22em;
  height: 0.6em;
  border-radius: 0.08em;
  pointer-events: none;
  mix-blend-mode: normal;
  z-index: -1;
  /* 縦方向のにじみ（フォールバック用にRGBAで定義） */
  background: linear-gradient(to bottom, rgba(255, 195, 0, 0.95) 0%, rgba(255, 195, 0, 0.95) 25%, rgba(255, 195, 0, 0.75) 50%, rgba(255, 195, 0, 0.55) 70%, rgba(255, 195, 0, 0) 100%);
  filter: saturate(1.05);
}
@supports (-webkit-mask: none) or (mask: none) {
  .ink-underline::after {
    /* ここでSVGマスクに差し替える場合は
         -webkit-mask / mask に url(...) を指定 */
  }
}
.ink-underline--rf {
  position: relative;
  display: inline-block;
  line-height: 1;
  padding-bottom: 0.18em;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3);
  /* かすれ追加（@rough が true のときだけ適用） */
  /* ブラウザがマスク対応なら、単色着色をよりクリアに（任意） */
}
.ink-underline--rf::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.22em;
  height: 0.6em;
  border-radius: 0.08em;
  pointer-events: none;
  mix-blend-mode: normal;
  z-index: -1;
  /* 縦方向のにじみ（フォールバック用にRGBAで定義） */
  background: linear-gradient(to bottom, rgba(255, 195, 0, 0.95) 0%, rgba(255, 195, 0, 0.95) 25%, rgba(255, 195, 0, 0.75) 50%, rgba(255, 195, 0, 0.55) 70%, rgba(255, 195, 0, 0) 100%);
  filter: saturate(1.05);
}
.ink-underline--rf::after {
  background-image: radial-gradient(10px 6px at 12% 35%, rgba(0, 0, 0, 0.22) 0 55%, rgba(0, 0, 0, 0) 56%), radial-gradient(14px 8px at 38% 68%, rgba(0, 0, 0, 0.18) 0 52%, rgba(0, 0, 0, 0) 53%), radial-gradient(9px 6px at 63% 40%, rgba(0, 0, 0, 0.15) 0 58%, rgba(0, 0, 0, 0) 59%), radial-gradient(12px 7px at 82% 72%, rgba(0, 0, 0, 0.2) 0 50%, rgba(0, 0, 0, 0) 51%), linear-gradient(to bottom, rgba(255, 195, 0, 0.95) 0%, rgba(255, 195, 0, 0.95) 25%, rgba(255, 195, 0, 0.75) 50%, rgba(255, 195, 0, 0.55) 70%, rgba(255, 195, 0, 0) 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-blend-mode: multiply, multiply, multiply, multiply, normal;
  filter: blur(0.2px) contrast(1.02);
}
@supports (-webkit-mask: none) or (mask: none) {
  .ink-underline--rf::after {
    /* ここでSVGマスクに差し替える場合は
         -webkit-mask / mask に url(...) を指定 */
  }
}
/* 端末幅で少し太く */
@media (min-width: 768px) {
  .ink-underline::after,
  .ink-underline--rf::after {
    height: 0.7em;
  }
}
/*
 Theme Name: Astra Child
 Template: astra
 Text Domain: astra-child
*/
/* デスクトップのヘッダーを sticky に */
header {
  position: sticky!important;
  top: 0;
  z-index: 1000;
  /* ドロップダウン等が隠れないように */
  background: rgba(255, 255, 255, 0.8);
  /* 透過だと下の内容が透けるので任意で背景色 */
}
/* モバイルヘッダー（ハンバーガー領域）も固定したい場合 */
header {
  position: sticky!important;
  top: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.8);
}
/* 視認性を上げたいなら影を追加（任意） */
header {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.site-description {
  font-family: "Gloria Hallelujah", cursive;
  font-weight: 400;
  font-style: normal;
}
.gloria-hallelujah-regular {
  font-family: "Gloria Hallelujah", cursive;
  font-weight: 400;
  font-style: normal;
}
/******** Astra モバイルメニュー：パネル→項目の順でフェード ********/
:root {
  --panel-dur: 0.3s;
  /* パネル（背景）のフェード時間 */
  --panel-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --item-dur: 0.3s;
  /* 各項目のフェード時間 */
  --stagger: 90ms;
  /* 項目ごとの遅延 */
  --item-shift: 8px;
  /* 項目の初期オフセット */
  --panel-bg: #fff;
  --panel-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  --panel-maxh: 70vh;
}
header .ast-mobile-header-content {
  background-color: transparent!important;
}
/* 初期：見えない＆ちょい上にオフセット（パネル本体） */
.ast-mobile-header-wrap .main-header-bar-navigation .main-navigation {
  opacity: 0;
  transform: translateY(-6px);
  max-height: 0;
  overflow: hidden;
  background: var(--panel-bg);
  box-shadow: var(--panel-shadow);
}
/* 開：まずパネルをフェード＆微スライド（Astraに勝つため !important） */
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation {
  animation: menuPanelIn var(--panel-dur) var(--panel-ease) forwards !important;
  max-height: var(--panel-maxh) !important;
  /* 伸びは即時でOK */
}
@keyframes menuPanelIn {
  0% {
    opacity: 0;
    transform: translateY(-6px);
    background: rgba(255, 0, 200, 0.1);
  }
  50% {
    opacity: 0.5;
    transform: translateY(-3px);
    background: rgba(0, 150, 255, 0.1);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    background: var(--panel-bg);
  }
}
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation {
  animation: menuPanelIn var(--panel-dur) var(--panel-ease) forwards !important;
  max-height: var(--panel-maxh) !important;
}
/* 項目：最初は下にズラして透明 */
.ast-mobile-header-wrap .main-header-bar-navigation .main-navigation .menu-item {
  opacity: 0;
  transform: translateY(var(--item-shift));
}
/* 開：パネル終了後に順番にフェード（上→下） */
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item {
  animation: menuItemIn var(--item-dur) var(--panel-ease) forwards;
}
@keyframes menuItemIn {
  from {
    opacity: 0;
    transform: translateY(var(--item-shift));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 段階遅延（必要数まで増やす）—パネル時間ぶん遅らせてからスタート */
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item:nth-child(1) {
  animation-delay: calc(var(--panel-dur) + 1 * var(--stagger));
}
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item:nth-child(2) {
  animation-delay: calc(var(--panel-dur) + 2 * var(--stagger));
}
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item:nth-child(3) {
  animation-delay: calc(var(--panel-dur) + 3 * var(--stagger));
}
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item:nth-child(4) {
  animation-delay: calc(var(--panel-dur) + 4 * var(--stagger));
}
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item:nth-child(5) {
  animation-delay: calc(var(--panel-dur) + 5 * var(--stagger));
}
.ast-mobile-header-wrap .main-header-bar-navigation.toggle-on .main-navigation .menu-item:nth-child(6) {
  animation-delay: calc(var(--panel-dur) + 6 * var(--stagger));
}
/* ハンバーガー軽い演出（任意） */
.ast-mobile-menu-trigger {
  transition: transform 0.25s var(--panel-ease);
}
.ast-mobile-menu-trigger[aria-expanded="true"] {
  transform: rotate(90deg);
}
/* 配慮：動きを減らす設定の端末ではアニメ無効化 */
@media (prefers-reduced-motion: reduce) {
  .ast-mobile-header-wrap .main-header-bar-navigation .main-navigation,
  .ast-mobile-header-wrap .main-header-bar-navigation .main-navigation .menu-item,
  .ast-mobile-menu-trigger {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
  .ast-mobile-header-wrap .main-header-bar-navigation .main-navigation {
    opacity: 1 !important;
    max-height: none !important;
  }
}
.home .wp-block-cover.alignfull > .wp-block-cover__background {
  background: radial-gradient(900px 450px at 60% 35%, color-mix(in srgb, var(--ast-global-color-0) 30%, white 70%) 0%, transparent 60%), linear-gradient(130deg, color-mix(in srgb, var(--ast-global-color-0) 92%, white 8%) 0%, color-mix(in srgb, var(--ast-global-color-0) 90%, black 10%) 100%) !important;
  /* Elementor版を使うなら ↓ を上の3行と置き換え */
  /* var(--e-global-color-primary), var(--e-global-color-secondary), var(--e-global-color-accent) */
  /* WPプリセットなら ↓
       var(--wp--preset--color--primary), var(--wp--preset--color--secondary) */
}
/* 土台の積層は維持 */
.home .wp-block-cover.alignfull {
  position: relative;
  isolation: isolate;
}
.home .wp-block-cover.alignfull > .wp-block-cover__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}
/* 波レイヤー：背景の上、テキストの下 */
.hero-svg-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 1;
  /* 0.7〜1.0で調整 */
}
/* 外部SVG（SMIL）を確実にフィットさせる */
.hero-svg {
  width: 100%;
  height: 100%;
  display: block;
}
/* テキストは最前面 */
.wp-block-cover__inner-container,
.wp-block-media-text__content {
  position: relative;
  z-index: 2;
}
/* もし全体に微弱なドリフトを足したい場合（任意） */
.hero-svg-layer .hero-drift {
  animation: heroDrift 50s ease-in-out infinite;
}
@keyframes heroDrift {
  0% {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1.02);
  }
  50% {
    transform: translate3d(-1%, -0.5%, 0) rotate(0.8deg) scale(1.05);
  }
  100% {
    transform: translate3d(0, 0, 0) rotate(0deg) scale(1.02);
  }
}
.contentsTitle h2,
.contentsTitle h3,
.contentsTitle h4,
.contentsTitle h5,
.contentsTitle h6 {
  font-family: "Gloria Hallelujah", cursive !important;
  font-weight: 400 !important;
  font-style: normal !important;
  position: relative!important;
  padding: 0 10px;
  position: relative !important;
  display: inline-block !important;
  line-height: 1 !important;
  padding-bottom: 0.18em !important;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.3) !important;
  /* かすれ追加（@rough が true のときだけ適用） */
  /* ブラウザがマスク対応なら、単色着色をよりクリアに（任意） */
}
.contentsTitle h2::after,
.contentsTitle h3::after,
.contentsTitle h4::after,
.contentsTitle h5::after,
.contentsTitle h6::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -0.22em !important;
  height: 0.6em !important;
  border-radius: 0.08em !important;
  pointer-events: none !important;
  mix-blend-mode: multiply !important;
  z-index: -1 !important;
  /* 縦方向のにじみ（フォールバック用にRGBAで定義） */
  background: linear-gradient(to bottom, rgba(248, 239, 59, 0.95) 0%, rgba(248, 239, 59, 0.95) 25%, rgba(248, 239, 59, 0.75) 50%, rgba(248, 239, 59, 0.55) 70%, rgba(248, 239, 59, 0) 100%) !important;
  filter: saturate(1.05) !important;
}
@supports (-webkit-mask: none) or (mask: none) {
  .contentsTitle h2::after,
  .contentsTitle h3::after,
  .contentsTitle h4::after,
  .contentsTitle h5::after,
  .contentsTitle h6::after {
    /* ここでSVGマスクに差し替える場合は
         -webkit-mask / mask に url(...) を指定 */
  }
}
.myEdit {
  width: calc(100vw - 20px);
  max-width: 1280px;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  z-index: 1;
}
/*# sourceMappingURL=style.css.map */