@charset "utf-8";
.no-gutter > [class*='col-'] {
	padding-right: 0;
	padding-left: 0;
}
.bg-lightgreen {
	background-color: #e6ede9;
}
.jumbotron {
	background-image: url('../img/top-image.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: auto;
	padding: 80px 0; /* 上下の余白はお好みで調整してください */
}
.heading {
	border-left: 6px solid #aaa;
	padding: 0 0 0 10px;
}
.breadcrumb-item + .breadcrumb-item::before {
	content: ">"
}
.footer-copyright {
	width: 100%;
	height: 60px;
	line-height: 60px;
	background-color: #f5f5f5;
}
.map iframe {
	width: 100%;
	height: 450px;
}

/* 大デバイス（デスクトップ, 992px 未満）
============================================== */
@media screen and (max-width: 991.98px) {
.footer-logo {
	width: 100%;
}
} /* END */

/* 中デバイス（タブレット, 768px 未満）
============================================== */
@media screen and (max-width: 767.98px) {
.gnav-item {
	display: block;
	width: 100%;
	border: none;
}
.gnav-item+ .gnav-item {
	border: none;
}
table th, table td {
	padding: .25rem !important;
}
table th:first-child {
	width: 25%;
}
} /* END */

/* 小デバイス（縦向きモバイル, 576px 以上 デスクトップ, 992px 未満）
============================================== */
@media screen and (min-width: 576px) and (max-width: 991.98px) {
 #sec2  {
      /* height: 500px; */ 
 } 
} /* END */

/* 小デバイス（縦向きモバイル, 576px 以上）
============================================== */
@media screen and (min-width: 576px) {
 #sec2 .message {
     /* position: absolute; */
     left: 0;
 } 
} /* END */

/* スマホ画面（768px未満）のときの調整 */
@media (max-width: 767.98px) {
  /* 1. メインビジュアルの高さ固定や重なりを防ぐ */
  .jumbotron {
    background-size: cover;
    background-position: center;
    height: auto !important;
    padding: 30px 15px !important;
  }

  /* 2. 文字が書かれているカード部分を、画像の後ろに回り込ませず、独立して下に並ばせる */
  .jumbotron .container {
    position: relative;
    z-index: 2; /* 文字を常に手前にする */
  }
  
  .jumbotron .card {
    margin-top: 0 !important;
    background-color: rgba(255, 255, 255, 0.95) !important; /* 背景を少し白くして文字を読みやすくする */
  }
}

@media screen and (min-width: 768px) {
  .jumbotron .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .jumbotron .card {
    margin-top: 0 !important;
  }
}

.card-title {
    word-break: keep-all;
    overflow-wrap: break-word;
}

/* カードの画像エリアを固定し、中身の画像をきれいに収める */
.card-img-box {
    width: 100%;
    height: 180px; /* お好みの高さに調整してください */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
}

.card-img-box img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.map {
    max-width: 800px; /* マップの最大幅を制限 */
    margin: 0 auto;   /* 中央寄せにする場合 */
}

.map iframe {
    width: 100%;
    height: 350px;    /* 高さを少しスッキリさせる（お好みで調整してください） */
}

/* イベントカードの文字視認性を上げる調整 */
.card-body .card-text {
    font-size: 15px;       /* 文字サイズを少し大きくする */
    color: #333333 !important; /* 文字の色を濃くしてハッキリさせる */
    line-height: 1.6;      /* 行間を適度に空けて読みやすくする */
}

/* タイトルもより見やすくする場合 */
.card-body .card-title {
    font-size: 1.25rem;
    font-weight: bold;
}