/*
 Theme Name:   eren
 Template:     blocksy
 Description:  Blocksy child theme
 Version:      1.0.0
 Author:       giftvox
*/

/********************************************/
/* フロントページ */
/********************************************/
body.home header.ct-header,
body.home footer.ct-footer {
  display: none !important;
}


/********************************************/
/* EREN-TOP */
/********************************************/

/******** recaptchaロゴ制御 ***************/
.grecaptcha-badge { 
  visibility: hidden; 
}

.page-id-25 .grecaptcha-badge { 
  visibility: visible; 
}
/****************************************/

/*  暫定的な処理 */
.eren-about-floor-left {
  display: none !important;
}

.eren-about-floormap {
  align-items: center;
}

.eren-about-floormap img {
  max-width: 900px;
  margin: 0 auto;
}

.eren-about-floor-button-area {
  display: none !important;
}
/********************/

:root {
  --gallery-columns: 4;
}

/* ページ全体を覆うプレローダー */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #fff; /* 背景色（必要に応じて変更） */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999; /* 最前面 */
  overflow: hidden;
}

/* SVGサイズを適度に調整 */
#preloader svg {
  width: 200px;   /* 任意 */
  height: auto;
}

.wp-block-cover.zoom-in img.wp-block-cover__image-background {
  transform: scale(1.1);
  transition: transform 8s ease;
}

.wp-block-cover.zoom-in.active img.wp-block-cover__image-background {
  transform: scale(1);
}

@media (max-width: 767px) {
  .wp-block-cover.zoom-in {
  overflow: hidden;
  }

  .wp-block-cover.zoom-in img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transform: scale(1.4);
    transform: scale(1.1);
    -webkit-transition: -webkit-transform 8s ease;
    transition: transform 8s ease;
  }

  .wp-block-cover.zoom-in.active img {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.top-hero-text-area img {
  height: 55px;
}

@media (max-width: 767px) {
  .top-hero-text-area img {
    height: 40px;
  }
}

@media (max-width: 480px) {
  .top-hero-text-area img {
    height: 20px;
  }
}

.mySwiper {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body .eren-about-slider {
  width: 100%;
}

.mySwiper .swiper-slide {
  position: relative;
  width: 80%;       /* 中央スライドの幅は任意 */
  max-width: 800px;
  aspect-ratio: 16 / 9; /* アスペクト比を16:9に固定 */
  overflow: hidden;     /* はみ出す部分を隠す */
  transform-style: preserve-3d !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

.mySwiper .swiper-slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;   /* 画像をトリミングして枠いっぱいに収める */
  transform: translate(-50%, -50%); /* 中央基準に配置 */
}

.mySwiper .swiper-slide-active img {
  border: 4px solid #b6b6b6;
}

.mySwiper .swiper-button-next,
.mySwiper .swiper-button-prev {
  color: #000000;
  background-color: rgba(255, 255, 255, 0.715); /* 半透明の背景 */
  border-radius: 50%;                /* 丸ボタン */
  width: 48px;
  height: 48px;
}

.mySwiper .swiper-button-next::after,
.mySwiper .swiper-button-prev::after {
  font-size: 16px;
  font-weight: bold;
}

.acf-gallery-top {
  display: grid;
  grid-template-columns: repeat(var(--gallery-columns), 1fr);
  gap: 10px; /* 画像間の余白 */
}

.acf-gallery-top img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.floormap-img {
  display: block;
  width: 100%;
  height: auto;   /* アスペクト比を保ったまま縮小/拡大 */
  object-fit: contain; /* coverにするとトリミングされる */
}

.eren-top-floor-child {
  flex: 1;
}

@media (max-width: 480px) {
  .eren-top-floor-child {
    align-items: stretch !important;
  }
}

.wp-block-button.btn-primary .wp-block-button__link {
  transition: all 0.3s;
}

/* ホバー状態 */
.wp-block-button.btn-primary .wp-block-button__link:hover {
  background-color: #00005c !important;
  color: #fff !important;
}

/* リストマークを消す */
.top-equipment-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* liを横並びの行にする */
.top-equipment-list .equipment-item {
  display: flex;
  align-items: baseline; /* strongとspanの文字のベースラインを揃える */
  gap: 16px;             /* strong と detail の間隔 */
  margin-bottom: 8px;
  padding: 10px 0;
  border-bottom: 1px solid;
}

/* strongは見出し的に */
.top-equipment-list .product-cat {
  flex: 0 0 150px; /* 幅を固定する（例: 150px） */
  font-weight: bold;
}

/* span部分をまとめて左揃えに */
.top-equipment-list .equipment-detail {
  flex: 1;
  display: flex;
  gap: 12px;
}

.top-access-name {
  font-weight: bold;
  font-size: 1.5em;
}

.eren-top-map-button-area {
  width: 100%;
}


/* スマホ以下 */
@media (max-width: 480px) {
  :root {
    --gallery-columns: 2;
  }

  body .eren-section-top-flex {
    flex-flow: column;
  }

  body .eren-section-left-flex {
    gap: 20px;
    width: 100%;
  }

  body .eren-section-left-data {
    padding: 0 !important;
  }

  .top-access {
    font-size: 12px;
  }

  body .eren-section-map {
    margin-top: 10px;
  }

}

/********************************************/
/* ABOUT */
/********************************************/
.eren-about-equipment-table {
  width: 100%;
}

.eren-about-equipment-table th {
  text-align: left;
  background-color: #d8d8d8;
  padding: 20px 10px;
}

.eren-about-equipment-td {
  font-weight: bold;
  font-size: 20px;
}

/* about mobile */
@media (max-width: 480px) {
  .eren-about-floor-text .p1{
    margin-block-end: 2px;
  }

  .equipment-table td {
    font-size: 10px;
  }

  .equipment-table th {
    font-size: 12px;
    padding: 20px 5px;
  }
}

@media(max-width: 767px){

  .equipment-table td {
    font-size: 12px;
  }

  .equipment-table th {
    font-size: 12px;
  }
}

@media(max-width: 480px){

  .equipment-table td {
    font-size: 10px;
  }

  .equipment-table th {
    font-size: 10px;
  }
}

/********************************************/
/* ヘッダー */
/********************************************/
@media(max-width: 767px){
  .eren-header-logo img {
    height: 40px !important;
  }
}

/********************************************/
/* フッター */
/********************************************/
.eren-footer-address-area p{
  display: none;
}

.eren-footer-nav-menu-pc ul {
  display: flex;
  justify-content: space-between;
}

.eren-footer-bottom-area {
  position: relative;
}

.eren-footer-sns-icons {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.eren-footer-nav-menu-pc {
  width: 50%;
}

.eren-policy-modal {
  width: 80vw;
}

.eren-policy-modal-area {
  display: none !important;
}

@media (max-width: 767px) {
  .footer-access-mb ,
  .footer-access{
    font-size: 12px;
  }

  .eren-footer-mb-nav-area,
  .eren-mb-footer-aside {
    width: 100%;
  }

  .eren-footer-mb-nav-area ul {
    display: flex;
    justify-content: space-between;
  }

  .eren-policy-modal h2 {
    font-size: 20px;
  }

  .eren-policy-modal,
  .eren-policy-modal ol {
    padding: 10px;
  }
  .eren-policy-modal li {
    font-size: 12px;
  }

  @media (max-width:480px){
    .policy-link {
      font-size: 12px;
    }
  }
}

