@charset "UTF-8";

/* 全体のリセット */
body, h1, p {
    margin: 0;
    padding: 0;
}

/* ベーススタイル */
body {
    font-family: 'Arial', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', sans-serif;
    color: #333;
    line-height: 1.6;
}

/* バナーエリア */
.banner {
    display: flex;
    align-items: center; /* 縦方向の中央揃え */
    justify-content: center; /* 横方向の中央揃え */
    background-color: #6db032; /* 緑背景 */
    color: #fff;

}

/* アイコンエリア */
.icon-container {
    flex-shrink: 0;
    margin-right: 0px;
}

.icon {
    width: 190px;
    height: 190px;
    border-radius: 30%;
}

/* テキストエリア */
.text-container h1 {
    font-size: 3.0rem;
}

/* 概要テキスト */
.description {
    text-align: center;
    padding: 20px;
    background-color: #fff;
    color: #333;
    font-size: 1.8rem;
}

.description p {
    margin: 0;
    line-height: 1.8;
}








/* セクション全体のスタイル */
.pickup-section {
    border: 4px solid #88c057; /* 緑色の枠線 */
    border-radius: 20px;
    padding: 20px;
    margin: 10px auto;
    max-width: 1200px;
    background-color: #fff;
}

/* ヘッダー部分 */
.section-header {
    margin-bottom: 20px;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* アイコンとタイトルの間隔 */
    padding: 10px;
    border-radius: 10px;
}

.header-icon {
    width: 60px;
    height: 60px;
    border-radius: 40%;
}

.section-header h2 {
    font-size: 2rem;
    color: #333;
}

/* 店舗リスト */
.store-list {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 左右2列 */
    gap: 15px; /* 各ボタン間のスペース */
}

/* 各店舗ボタン */
.store-item {
    text-align: center;
}

.store-button {
    background-color: #00a651; /* 緑色背景 */
    color: #fff;
    padding: 15px 20px;
    border: 1px solid #333; /* 薄い黒の枠線 */
    border-radius: 30px; /* 丸みのあるボタン */
    font-size: 2rem;
    cursor: pointer;
    width: 98%; /* ボタンを親要素いっぱいに広げる */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
    transition: background-color 0.3s ease, transform 0.2s ease;
    margin: 1%;
}

.store-button2 {
    background-color: #00a651; /* 緑色背景 */
    color: #fff;
    padding: 15px 20px;
    border: 1px solid #333; /* 薄い黒の枠線 */
    border-radius: 30px; /* 丸みのあるボタン */
    font-size: 2rem;
    cursor: pointer;
    width: 48%; /* ボタンを親要素いっぱいに広げる */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* 軽い影を追加 */
    transition: background-color 0.3s ease, transform 0.2s ease;
    float: left;
    margin: 1%;
}

.store-button:hover {
    background-color: #00793e; /* ホバー時に濃い緑 */
    transform: translateY(-2px); /* 少し浮き上がる効果 */
}

.store-button:active {
    transform: translateY(1px); /* 押下時の効果 */
}







/* 翌日以降セクション全体 */
.future-pickup-section {
    border: 4px solid #88c057; /* 緑枠 */
    border-radius: 20px;
    padding: 20px;
    margin: 40px auto;
    max-width: 1200px;
    background-color: #fff;
}

/* ヘッダー: 同じレイアウトを使用 */
.future-pickup-section .section-header {
    margin-bottom: 20px;
}

.future-pickup-section .header-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* アイコンとタイトル間のスペース */
    padding: 10px;
    border-radius: 10px;
}

.future-pickup-section .header-icon {
    width: 60px;
    height: 60px;
}

.future-pickup-section .section-header h2 {
    font-size: 2rem;
    color: #333;
}

/* 店舗リストと地図 */
.store-list-with-map {
    display: grid;
    grid-template-rows: auto auto; /* 地図とリストの項目間隔 */
    gap: 20px; /* 上下の間隔を確保 */
}

/* 各店舗と地図の組み合わせ */
.store-item-with-map {
    display: flex;
    align-items: center;
    gap: 15px; /* 地図とボタンの間隔 */
    border-bottom: 1px solid #ccc; /* 各項目の分割線 */
    padding-bottom: 15px;
}

.store-item-with-map:last-child {
    border-bottom: none; /* 最後の項目は下線を削除 */
}

/* 地図のスタイル */
.map-image {
    width: 28%; /* 地図の幅 */
    height: auto;
    object-fit: cover; /* 地図のアスペクト比を維持 */
}

/* ボタンエリア */
.store-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px; /* ボタン同士のスペース */
    width: 70%; /* ボタンを親要素いっぱいに広げる */
}



/* ボタンのホバースタイル */
.store-button:hover {
    background-color: #00793e; /* ホバー時に濃い緑色 */
    transform: translateY(-2px); /* ボタンが少し浮き上がる */
    transition: background-color 0.3s ease, transform 0.2s ease;
}

/* ボタンのアクティブスタイル */
.store-button:active {
    transform: translateY(1px); /* 押下時に少し縮む */
}

/* 共通ボタンスタイル */
.btn {
  display: inline-flex;
  align-items: center;
  border: 2px solid #00a651;
  padding: 10px 25px;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 500;
  color: #00a651;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  user-select: none;
}

/* ボタンエリア */
.button-area {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}


/* 左矢印ボタン */
.btn-back {
  justify-content: flex-start;
  margin-left: 3%;
  margin-bottom: 10px;
}

.btn-back .btn-arrow {
  width: 18px;
  height: 18px;
  margin-right: 10px;
}

















  *{
   
}
outline: 2px red solid;  






/*フッター
---------------------------------------------------------------------------*/
footer * {margin: 0;padding: 0;}
footer ul {list-style: none;}

/*ブロック全体*/
footer {
	background: #222;	/*背景色*/
	color: #ccc;		/*文字色*/
	padding: 0 var(--content-space);
	width: 104%;
}

/* メディアクエリでレスポンシブ対応 */
@media (max-width: 750px) {
  .feature {
    flex-direction: column; /* スマホでは縦並びに変更 */
    text-align: center; /* テキストを中央寄せに */
  }

  .feature.reverse {
    flex-direction: column; /* 横並びを縦並びに変更 */
  }

  .feature-image,
  .feature-text {
    flex: none; /* 自動サイズ制御を解除 */
    padding: 10px;
  }
    /* テーブル全体の縮小対応 */
  .surface-list table {
    font-size: 0.9em; /* フォントサイズを少し縮小 */
  }

  /* テキストエリア */
.text-container h1 {
    font-size: 1.8rem;/* フォントサイズを少し縮小 */
}

.description {
    font-size: 0.9rem;/* フォントサイズを少し縮小 */
}

.btn {
  display: inline-flex;
  align-items: center;
  border: 2px solid #00a651;
  padding: 2px 5px;
  border-radius: 30px;
  font-size: 0.9rem;
  color: #00a651;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
  user-select: none;
}

.store-button {
    font-size: 0.9rem;
}

.store-button2 {
    font-size: 0.9rem;
}

.icon {
    width: 100px;
    height: 100px;
    border-radius: 30%;
}


  .surface-list td,
  .surface-list th {
    padding: 10px; /* スペースを狭くする */
  }
}