.elementor-3414 .elementor-element.elementor-element-72def5b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:40px;--margin-bottom:120px;--margin-left:0px;--margin-right:0px;}.elementor-3414 .elementor-element.elementor-element-09df137{--display:flex;--padding-top:6px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3414 .elementor-element.elementor-element-716a39b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 78px) 0px;text-align:center;}.elementor-3414 .elementor-element.elementor-element-716a39b .elementor-heading-title{font-family:"Hina Mincho", Sans-serif;font-size:48px;font-weight:400;color:#000F23;}.elementor-3414 .elementor-element.elementor-element-a171735{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-theme-post-content{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-3414 .elementor-element.elementor-element-9264448{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button{background-color:#FFFFFF;font-family:"Hina Mincho", Sans-serif;font-size:18px;font-weight:400;fill:#000F22;color:#000F22;border-style:solid;border-width:1px 1px 1px 1px;border-color:#000000;border-radius:0px 0px 0px 0px;}.elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button:hover, .elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button:focus{background-color:#000F22;color:#FFFFFF;}.elementor-3414 .elementor-element.elementor-element-ded9fac{margin:120px 0px calc(var(--kit-widget-spacing, 0px) + 120px) 0px;}.elementor-3414 .elementor-element.elementor-element-ded9fac.elementor-element{--align-self:center;}.elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button .elementor-button-content-wrapper{gap:48px;}.elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button:hover svg, .elementor-3414 .elementor-element.elementor-element-ded9fac .elementor-button:focus svg{fill:#FFFFFF;}@media(max-width:1024px){.elementor-3414 .elementor-element.elementor-element-716a39b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 38px) 0px;}.elementor-3414 .elementor-element.elementor-element-716a39b .elementor-heading-title{font-size:38px;}}@media(min-width:768px){.elementor-3414 .elementor-element.elementor-element-72def5b{--content-width:1166px;}}@media(max-width:767px){.elementor-3414 .elementor-element.elementor-element-09df137{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3414 .elementor-element.elementor-element-716a39b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-3414 .elementor-element.elementor-element-716a39b .elementor-heading-title{font-size:32px;}}/* Start custom CSS for container, class: .elementor-element-a171735 *//* ===============================
   FORCE GRID (REAL OVERRIDE)
================================ */

.wp-block-gallery.is-layout-flex {
  display: grid !important;
  grid-template-columns: repeat(96, 1fr); /* ✅ 96 columns */
  grid-auto-flow: row dense;
  gap: 2px !important;
}

/* RESET Gutenberg width control */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  width: auto !important;
  flex: unset !important;
  flex-basis: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

/* Image fit */
.wp-block-gallery figure.wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===============================
   ROW 1 → (4 + 10 + 10)
   → (16 + 40 + 40)
================================ */

.wp-block-gallery figure:nth-child(1) {
  grid-column: 1 / span 16;
  height: 310px;
}

.wp-block-gallery figure:nth-child(2) {
  grid-column: 17 / span 40;
  height: 310px;
}

.wp-block-gallery figure:nth-child(3) {
  grid-column: 57 / span 40;
  height: 310px;
}

/* ===============================
   ROW 2 → (8 + 4 + 4 + 8)
   → (32 + 15 + 15 + 32)
================================ */

.wp-block-gallery figure:nth-child(4) {
  grid-column: 1 / span 33;
  height: 260px;
}

.wp-block-gallery figure:nth-child(5) {
  grid-column: 34 / span 15;
  height: 260px;
}

.wp-block-gallery figure:nth-child(6) {
  grid-column: 49 / span 15;
  height: 260px;
}

.wp-block-gallery figure:nth-child(7) {
  grid-column: 64 / span 33;
  height: 260px;
}

/* ===============================
   ROW 3 → (8 + 8 + 4 + 4)
   → (32 + 32 + 15 + 15)
================================ */

.wp-block-gallery figure:nth-child(8) {
  grid-column: 1 / span 33;
  height: 260px;
}

.wp-block-gallery figure:nth-child(9) {
  grid-column: 34 / span 33;
  height: 260px;
}

.wp-block-gallery figure:nth-child(10) {
  grid-column: 67 / span 15;
  height: 260px;
}

.wp-block-gallery figure:nth-child(11) {
  grid-column: 82 / span 15;
  height: 260px;
}

/* ===============================
   ROW 4 → (8 + 8 + 8)
   → (32 + 32 + 32)
================================ */

.wp-block-gallery figure:nth-child(12) {
  grid-column: 1 / span 32;
  height: 260px;
}

.wp-block-gallery figure:nth-child(13) {
  grid-column: 33 / span 32;
  height: 260px;
}

.wp-block-gallery figure:nth-child(14) {
  grid-column: 65 / span 32;
  height: 260px;
}

/* ===============================
   ROW 5 → (10 + 10 + 4)
   → (40 + 40 + 16)
================================ */

.wp-block-gallery figure:nth-child(15) {
  grid-column: 1 / span 40;
  height: 310px;
}

.wp-block-gallery figure:nth-child(16) {
  grid-column: 41 / span 40;
  height: 310px;
}

.wp-block-gallery figure:nth-child(17) {
  grid-column: 81 / span 16;
  height: 310px;
}

/* ===============================
   AFTER 17 → AUTO CLEAN ROW
================================ */

.wp-block-gallery figure:nth-child(n+18) {
  grid-column: span 32; /* 96 / 3 */
  height: 260px;
}


.ast-article-single figure {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

/* Modal overlay */
#customModal {
  display: none;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000F23; /* 画像通りの深い紺色 */
}

/* メインコンテンツ（画像と矢印を中央に配置） */
.modal-main-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
  position: relative;
}

/* Modal image */
#customModal img {
  width: 998px; /* 画像の指定サイズ */
  max-width: 80%;
  max-height: 80vh;
  object-fit: contain;
}

/* Close button (右上) */
#customModal .close {
  position: absolute;
  top: 30px;
  right: 40px;
  font-size: 40px;
  color: white;
  cursor: pointer;
  font-weight: 100; /* 極細にする */
  z-index: 10001;
  line-height: 1;
}

/* Arrow buttons (極細のデザイン) */
#customModal .prev,
#customModal .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  font-size: 30px;
  font-weight: 100;
  user-select: none;
  transition: 0.3s;
  padding: 40px;
  z-index: 10001;
}

#customModal .prev { left: 20px; }
#customModal .next { right: 20px; }

/* Modal title (左下・ピンク背景ラベル) */
#modalTitle {
  position: absolute;
  bottom: 14px;
  left: 60px;
  color: #fff !important;
  padding: 2px 12px;
  font-size: 18px;
  font-weight: 400;
  display: inline-block;
}


/* Tablet (768px - 1024px) → 2 images per row */
@media (max-width: 1024px) {
  .wp-block-gallery.is-layout-flex {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .wp-block-gallery figure {
    grid-column: auto !important;
    height: auto !important; /* adjust as needed */
  }
  
  #customModal img { width: 90%; }
  #customModal .prev, #customModal .next { font-size: 40px; padding: 20px; }
  #modalTitle { left: 20px; bottom: 20px; }
}

/* Mobile (up to 767px) → 1 image per row */
@media (max-width: 767px) {
  .wp-block-gallery.is-layout-flex {
    grid-template-columns: 1fr !important;
  }
  
  .wp-block-gallery figure {
    grid-column: auto !important;
    height: auto !important;
  }
  
   #customModal img {
    max-width: 100%;
    max-height: 70vh;
  }

  #customModal .prev,
  #customModal .next {
    font-size: 36px;
    padding: 15px; 
    border-radius: 5px;
  }

  #customModal .prev { left: 5px; }
  #customModal .next { right: 5px; }

  #customModal .close {
    top: 15px;
    right: 15px;
    font-size: 40px;
  }

  #modalTitle {
    left: 15px;
    bottom: 20px;
    font-size: 12px;
  }
}/* End custom CSS */