/* 右側の基準 */
.image-base {
  position: relative;
  min-height: 420px;
}

/* 画像を自由に配置 */
.service-image {
  position: absolute;
  top: 50%;
  left: -60px;        /* ベージュ側にしっかり被せる */
  transform: translateY(-50%);
  width: 520px;        /* ← ここが重要！ */
  max-width: none;     /* WPの縮小制御を解除 */
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
  border-radius: 6px;
}



.right-area {
  min-height: 400px;
}

@media screen and (max-width: 768px) {
  .overlap-image {
    position: static;
    transform: none;
    max-width: 100%;
    margin-top: 24px;
  }
}

.breadcrumb,
.breadcrumbs,
.pankuzu,
#breadcrumb {
  display: none;
}


.about-text {
  font-family: "Noto Serif JP", "游明朝", YuMincho, serif;
}

.map-fullwidth{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.map-fullwidth iframe{
  display: block;
  width: 100%;
  height: 600px;
  border: 0;
}

/* はみ出しで横スクロールが出る場合の保険 */
body{ overflow-x:hidden; }

/* お知らせ全体 */
.news-area{
  display:flex;
  gap:40px;
  align-items:flex-start;
}

/* 左見出し */
.news-area .news-head{
  min-width:220px;
}
.news-area .news-head .jp{
  font-size:28px;
  font-weight:700;
  line-height:1.2;
}
.news-area .news-head .en{
  margin-top:6px;
  letter-spacing:0.08em;
  opacity:.7;
}

/* 右リスト */
.news-area .news-list{
  width:100%;
  border-top:1px solid #e6e6e6;
}
.news-area .news-item{
  display:flex;
  gap:28px;
  padding:18px 0;
  border-bottom:1px solid #e6e6e6;
}
.news-area .news-date{
  min-width:120px;
  letter-spacing:0.03em;
}
.news-area .news-title a{
  text-decoration:none;
}
.news-area .news-title a:hover{
  text-decoration:underline;
}

/* ボタン */
.news-area .news-btn{
  margin-top:28px;
}
.news-area .news-btn a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:320px;
  padding:16px 22px;
  border:1px solid #222;
  text-decoration:none;
}

/* スマホ */
@media (max-width: 768px){
  .news-area{ flex-direction:column; gap:14px; }
  .news-area .news-head{ min-width:auto; }
  .news-area .news-item{ flex-direction:column; gap:6px; }
  .news-area .news-date{ min-width:auto; }
  .news-area .news-btn a{ min-width:100%; }
}

/* お知らせ：1件ごとに線を入れる（クエリループ想定） */
.news-area .wp-block-post-template > li,
.news-area .wp-block-post{
  border-bottom: 1px solid #e6e6e6;
  padding: 18px 0;
  margin: 0;
}

/* 一番上にも線が欲しい場合 */
.news-area .wp-block-post-template{
  border-top: 1px solid #e6e6e6;
}

/* アクセス：2カラムの間に縦線（1枚目みたいに） */
.access-area .wp-block-columns{
  align-items: center;      /* 縦位置を中央に */
  gap: 60px;                /* 左右の距離 */
}

/* 右側カラムに縦線を作る */
.access-area .wp-block-column:last-child{
  position: relative;
  padding-left: 60px;       /* 縦線と文字の間隔 */
}

/* 縦線本体 */
.access-area .wp-block-column:last-child::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 80px;             /* 縦線の長さ：好みで調整 */
  background: rgba(255,255,255,.7); /* 白っぽい線 */
}

/* スマホでは縦線を消す（縦並びになるため） */
@media (max-width: 768px){
  .access-area .wp-block-column:last-child{
    padding-left: 0;
  }
  .access-area .wp-block-column:last-child::before{
    display: none;
  }
}

/* アクセスのカラム間を強制的に詰める */
.access-area .wp-block-columns{
  display: flex !important;
  justify-content: center !important;  /* ←ここをflex-start→centerに */
  column-gap: 20px !important;
  gap: 20px !important;

  max-width: 1000px;                  /* ←中身の横幅を決める */
  margin-left: auto !important;       /* ←中央寄せ */
  margin-right: auto !important;      /* ←中央寄せ */
}

/* 右カラムの余白をリセット（ここが犯人のこと多い） */
.access-area .wp-block-column{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 縦線を入れてる場合：右カラムだけ必要な分だけ余白 */
.access-area .wp-block-column:last-child{
  padding-left: 24px !important;
}

/* 縦線の位置（文字に近い/遠いの調整） */
.access-area .wp-block-column:last-child::before{
  left: 0 !important;
}

.page-id-17 .footer-widget-area{
  display: none !important;
}

.page-id-17 .footer-widget-area{
  display: none !important;
}

.page-header,
.vk-page-header,
header.entry-header {
  display: none !important;
}

/* Lightning フッターの Powered by を消す */
.powered-by,
.site-footer .powered-by,
.site-footer-copyright p:last-child {
  display: none !important;
}

/* 文字を白にする */
.site-footer-copyright,
.site-footer-copyright a,
.site-footer .copyright,
.site-footer .copyright a {
  color: #fff !important;
}

/* 余計な余白を整える（段落の上下） */
.site-footer-copyright p,
.site-footer .copyright p {
  margin: 0 !important;
}

  /* “親の中央”を基準に画面いっぱいへ */
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 18px 0 !important;
  text-align: center !important;
  position: relative !important;
  left: 0 !important;
  transform: none !important;
}

/* 中の container が幅を絞ってるのを解除 */
.site-footer-copyright .container,
.site-footer-copyright .site-footer-copyright-inner,
.site-footer-copyright .site-footer-copyright__inner{
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}

/* 文字の余白リセット */
.site-footer-copyright p{
  margin: 0 !important;
  color: #fff !important;
}

/* 横スクロール防止（保険） */
body{ overflow-x: hidden; }
ul.fixed-bottom-menu li {
  width: 33.3% !important;
}
/* AOS適用要素の初期状態を自然に */
[data-aos] {
  will-change: transform, opacity;
}

/* スマホで動きが強すぎる場合に軽くする */
@media (max-width: 767px) {
  [data-aos] {
    transition-duration: 0.5s !important;
  }
}

/* スマホ表示時にトップへ戻るボタンを非表示 */
@media screen and (max-width: 767px) {
  #page_top.page_top_btn {
    display: none !important;
  }
}
