@charset "utf-8";

/* ===== 検索ボックス ===== */
#search-box {
  max-width: 600px; /* 追加！ */
  width: 100%;      /* レスポンシブ対応 */
  margin: 0 auto 30px;
  padding: 30px 10px 0px 10px;
  display: flex;
  justify-content: center;
  gap: 5px;
}

#search-box input {
  flex: 1; /* ボタンとのバランス調整 */
  padding: 10px;
  border: 1px solid #c1d0c7;
  border-radius: 6px;
  background-color: white;
  color: #2e4d3c;
  font-size: 1em;
}

#search-box button {
  padding: 10px 16px;
  background-color: #a3c9a8;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 1em;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#search-box button:hover {
  background-color: #6da06d;
}

/* 記事リスト */
article{
    max-width: 600px;
    min-height: 950px;
    margin: auto;
    padding: 30px 0px 50px 0px;
    background-color: #e0eee0;
}
.article-link {
    display: block;
    margin-bottom: 5px;
    transition: transform 0.2s ease;
}

.article-link:hover {
    transform: scale(1.02);
}

.article-preview {
    max-width: 600px;
    min-height: 100px;
    background-color: white;
    border: 1px solid #c1d0c7;
    border-radius: 8px;
    padding: 5px 7px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    margin: 0px 5px 0px 5px;
    display: flex;
    gap: 1em;
    align-items: flex-start;
}

.preview-img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  flex-shrink: 0;
  border-radius: 8px;
  margin-top: 4px;
}

.article-preview h3 {
    padding-bottom: 10px;
    font-size: 1em;
    color: #2e4d3c;
}

.article-preview .excerpt {
    color: #2e4d3c;
}
.excerpt{
    font-size: 0.7em;
}
.day {
    font-size: 0.5em;
    color: #c1d0c7;
    padding-top: 4px;
}

.preview-text {
  flex: 1;
}

/* ページネーション */

#pagination-wrapper {
  text-align: center;
  padding-bottom: 20px;
}

#pagination {
  display: inline-block;
  background-color: #e0eee0;
  border-radius: 8px;
}

.page-number {
  display: inline-block;
  margin: 0 5px;
  padding: 6px 12px;
  color: #2e4d3c;
  text-decoration: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  transition: background-color 0.3s ease;
}

.page-number:hover {
  background-color: #88b884;
}

.page-number.active {
  background-color: #6da06d;
  color: #fff;
  font-weight: bold;
  border-color: #6da06d;
}

.dots {
  margin: 0 5px;
  color: #888;
}

/* 検索バー上の画像スライド */
#image-slider {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  width: 100%;
  height: 80px;
  border-top: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
}

.slider-track {
  display: inline-block;
  white-space: nowrap;
  animation: scroll 50s linear infinite;
}

.slider-track img {
  height: 70px;
  width: auto;
  margin-right: 10px;
  vertical-align: middle;
}

/* 映画 */
.film-slider-wrapper {
  background: #333;
  padding: 20px 0;
  border-top: 8px solid #333;
  border-bottom: 8px solid #333;
  position: relative;
  overflow: hidden;
}

.film-slider-wrapper::before,
.film-slider-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 13px;
  background: repeating-linear-gradient(
    to right,
    transparent,
    transparent 10px,
    #fff 10px,
    #fff 20px
  );
}

.film-slider-wrapper::before {
  top: 0;
}

.film-slider-wrapper::after {
  bottom: 0;
}

#image-slider {
  overflow: hidden;
  white-space: nowrap;
  height: 150px;
}

.slider-track {
  display: inline-block;
  white-space: nowrap;
  animation: scroll 20s linear infinite;
}

.slider-track img {
  height: 150px;
  border: 1px solid #ffffff;
  background: #333;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.4);
}

@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
