.container {
  display: flex;
  justify-content: space-between;
  width: 95%;
  margin: 10px auto;
}

/* メインコンテンツ */
.main {
  width: 75%;
  margin-right: 20px;
}

/* スローガン・理念 */
.slogan {
  margin-bottom: 20px;
}

.main .slogan img {
  object-fit: contain;
  width: 100%;
  position: relative;
  border: solid 1px black;
}

/* 機能3種の紹介 */
.function {
  text-align: left;
}

.function_title {
  display: flex;
  align-items: center;

  height: 60px;
  font-size: 20px;
  padding-left: 10px;
  background-color: #344354;
  color: #fff;
}

.item_list {
  display: flex;
  justify-content: space-between;
  height: 100%;
  padding: 20px 0;
}

.item_list .item {
  width: 31%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: #fff;
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}

.item_list .item .body {
  padding: 20px 20px 0;
  display: flex;
  flex-direction: column;
}

.item_list .item .function-image {
  margin: 0;
  padding: 0;
  overflow: hidden;
  position: relative;
}

.item_list .item .function-image::before {
  content: "";
  display: block;
  padding-top: 58%; /*高さ調節*/
}

.item_list .item .function-image img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.item_list .item .title {
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 20px;
}

.item_list .item .description {
  margin: 5px 0 0;
  padding: 0;
  font-size: 15px;
  line-height: 1.5;
}

.item_list .item .footer {
  margin: auto 0 0;
  padding: 20px 20px 20px;
}

.item_list .item .link {
  margin: 0;
  padding: 0;
  text-align: center;
}

.item_list .item .link a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  background: #344354;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  box-sizing: border-box;
  border-radius: 4px;
  transition: .3s;
}

.item_list .item .link a:hover {
  background-color: #0071BB;
}

/* サイドメニュー　右 */
.right_side_bar {
  width: 25%;
  height: 80vh;
  position: sticky;
  top: 10px;
}

.event_container,
.information_container {
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
  height: 50%;
  margin-bottom: 5px;
  display: flex;
  flex-direction: column;
  overflow: hidden; 
}

.event_content_box,
.information_content_box {
  height: 100%;
}

.event_title,
.information_title {
  height: 30px;
  font-size: 20px;
  background: #344354;
  padding: 5px;
  text-align: center;
  color: #FFF;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}


.event_lists,
.information_lists {
  height: 75%;
}

.news_button0, 
.news_button1, 
.news_button2, 
.news_button3, 
.news_button4, 
.news_button5, 
.news_button6, 
.news_button7,
.news_button8, 
.news_button9 {
  position: relative;
  display: none;
  text-align: left;
  border: none;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  transition: background-color 0.3s ease; /* トランジションを追加 */
}

.news_button0:hover, 
.news_button1:hover, 
.news_button2:hover, 
.news_button3:hover, 
.news_button4:hover, 
.news_button5:hover, 
.news_button6:hover, 
.news_button7:hover,
.news_button8:hover, 
.news_button9:hover {
  background-color: #f0f0f0; /* ホバー時の背景色 */
}

.news_button0.btn-active, 
.news_button1.btn-active, 
.news_button2.btn-active, 
.news_button3.btn-active, 
.news_button4.btn-active, 
.news_button5.btn-active, 
.news_button6.btn-active, 
.news_button7.btn-active,
.news_button8.btn-active, 
.news_button9.btn-active {
  background-color: #ddd; /* アクティブ時の背景色 */
}

/* .news_button0.btn-active:hover, 
.news_button1.btn-active:hover, 
.news_button2.btn-active:hover, 
.news_button3.btn-active:hover, 
.news_button4.btn-active:hover, 
.news_button5.btn-active:hover, 
.news_button6.btn-active:hover, 
.news_button7.btn-active:hover,
.news_button8.btn-active:hover, 
.news_button9.btn-active:hover {
  background-color: #e0e0e0;
} */



.event_button_title,
.update_button_title {
  font-size: 10px;
  width: 60%;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 10px;
}

.event_button_update_date,
.update_button_update_date {
  font-size: 10px;
  width: 40%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
} 


.event_content_box .box_content,
.information_content_box .box_content {
  display: grid;
  grid-template-rows: repeat(5, 1fr); 
  gap: 0;
  height: 100%;
}

.event_switch_page,
.information_switch_page {
  height: calc(100% - 75% - 30px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;background-color: #eee;

}

.event_pagenation a,
.information_pagenation a {
  text-decoration: none;
  color: black;
}


/* モーダルウィンドウ */
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  z-index: 1000;
}

.popup {
  display: none;
  position: absolute;
  width: 350px;
  padding: 10px;
  background-color: #fff;
  border: 1px solid #ccc;
  z-index: 1001;
  opacity: 0.9;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}

.card-wrapper {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  background: #fff;
  display: flex;
  flex-direction: column;
  text-align: left;
}

.popup-image {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 330px;
  height: 100%; 
  max-height: 200px;
  overflow: hidden;
  position: relative;
}

.popup-image::before {
  content: "";
  display: block;
}

.popup-image img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.popup-body {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
}

.popup-body .news_title {
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 20px;
}

.popup-body .news_text {
  margin: 5px 0 0;
  padding: 0;
  font-size: 15px;
  overflow-wrap: break-word;
}

.popup-footer {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 55px;
  margin-top: 5px;
  padding: 5px;
}

.popup-url {
  display: flex;
  align-items: center;
  width: 70%;
}

.popup-url a {
  text-decoration: none;
  color: black;
}

.popup-url a:hover {
  color: #3492d1;
}

.popup-image-qr {
  width: 100%;
  height: 100%;
  max-width: 45px;
  max-height: 45px;
}

.popup-image-qr img {
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
}