html {
  scroll-behavior: auto;
  overflow-x: hidden;
}
body {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
a {
  color: #000;
  text-decoration: none;
  display: block;
}
img {
  max-width: 100%;
  display: block;
  vertical-align: bottom;
}
.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
/* -------------
ヘッダー
-----------------*/
.header {
  background-color: #fff;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
  position: relative;
}
.header_flex--01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_logo {
  width: 250px;
  padding: 23px 48px 21px;
}
.header_flex--02 {
  display: flex;
  align-items: center;
}
.header_link ul {
  display: flex;
  padding-right: 48px;
  align-items: center;
}
.header_link ul li {
  width: 115px;
  text-align: center;
}
.header_link ul a {
  font-size: 18px;
  height: 100px;
  line-height: 100px;
  font-weight: bold;
}
.header_checked {
  background-image: linear-gradient(
    to bottom,
    #00893b 0,
    #00893b 0%,
    #a2d02c 100%
  );
  color: #fff;
  height: 100px;
  line-height: 100px;
}
.header_sns ul {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.header_sns li:nth-child(3) {
  padding-right: 24px;
}
.header_sns img {
  width: 38px;
}

@media screen and (max-width: 768px) {
  .header_logo {
    width: 156px;
    padding: 24px 8%;
  }
}
/* ----------------
コンテンツ
--------------------*/
.sp {
  display: none;
}
.wrapper {
  padding: 0 4%;
}

.banner img {
  width: 350px;
}
.banner a {
  margin-bottom: 24px;
}
.txt {
  margin:0 auto 40px;
  font-size: 16px;
  text-align: center;
}
.latest_txt {
  text-align: center;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .wrapper {
    padding: 0;
  }
  .header_checked {
    background-image: unset;
    color: #000;
  }
  .header_link ul a {
    height: auto;
    line-height: unset;
    font-size: 14px;
    font-weight: bold;
  }
  .header_link ul li {
    text-align: left;
    border-bottom: solid 1px #d2d2d2;
    width: auto;
    padding: 16px 24px;
  }
  .hamburger {
    position: absolute;
    top: 24%;
    z-index: 9999;
    cursor: pointer;
    right: 30px;
  }
  .hamburger span {
    width: 20px;
    display: block;
    background-color: #03893b;
    position: absolute;
    height: 1.5px;
    transition: all 0.4s;
    font-size: 10px;
  }
  .hamburger span:first-of-type {
    top: 10px;
  }
  .hamburger span:nth-of-type(2) {
    top: 16px;
  }
  .hamburger span:nth-of-type(3) {
    top: 21px;
  }

  .hamburger.active span:first-of-type {
    transform: translate(-50%, -50%) rotate(45deg);
    top: 20px !important;
  }

  .hamburger.active span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 20px !important;
  }
  .hamburger.active span:nth-child(3) {
    transform: translate(-50%, -50%) rotate(-45deg);
    top: 20px !important;
  }

  .hamburger.active .hamburger:hover span {
    top: 30px;
  }
  .nav_ham ul {
    display: block;
    position: relative;
    z-index: 999;
    padding: 0;
    background-color: #fff;
    padding: 22px 4% 52px;
  }
  .open {
    position: absolute;
    height: 100vh;
    width: 100%;
    left: 0; /* 変更 */
    top: 65px; /* 変更 */
    background: #ffffff;
    transition: 0.7s;
    z-index: 99;
    display: none;
  }

  .open.active {
    display: block;
  }

  .open.active::-webkit-scrollbar {
    display: none;
  }
  .txt {
    font-size: 14px;
  }
  
}
/* --------------
カレンダー
----------------*/
.calender {
  width: 350px;
}
input {
  display: none;
}
.calender p {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
.calender table {
  border: solid 3px #000;
  border-radius: 10px;
  margin-bottom: 40px;
  width: 100%;
  table-layout: fixed;
  /* display: grid; */
}
.calender td {
  text-align: center;
  padding: 5px 3.6% 45px;
  border-bottom: 1px solid #c3c3c3;
  border-right: solid 1px #c3c3c3;
}
.calender tr:nth-of-type(2) {
  border-top: unset;
}

.calender td:nth-of-type(7) {
  border-right: unset;
}
.calender th {
  font-size: 20px;
  font-weight: 600;
  padding: 10px 14px;
  background-color: #fff;
  border-bottom: solid 0.15rem #000;
}
.calender th:nth-of-type(1) {
  border-radius: 10px 0 0 0;
}
.calender th:nth-of-type(7) {
  border-radius: 0px 10px 0 0;
}
.calender tbody {
  background-color: #fff;
  border-radius: 0px 0 10px 10px;
  display: contents;
}
.calender th:nth-child(6) {
  color: #418add;
}
.calender th:nth-child(7) {
  color: #ed2222;
}
th td {
  text-align: center !important;
}
.calender td {
  font-size: 20px;
  /* background-color: #fff; */
}
.calender tbody tr:nth-of-type(5) td:nth-of-type(1) {
  border-radius: 0 0 0 6px;
}

th,
td {
  text-align: center;
  padding: 10px;
  width: 14.28%;
  position: relative;
}
.calender_caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding-top: 24px;
}

.event-bar {
  position: absolute;
  bottom: 5px;
  left: 0;
  right: 0;
  height: 15px;
  width: 102%;
  cursor: pointer;
  white-space: normal;
  word-wrap: break-word;
}
.event-text {
  position: absolute;
  bottom: 4.5px;
  left: 3px;
  font-size: 12px;
  white-space: nowrap;
  z-index: 99;
  color: #fff;
  cursor: pointer;
}
.button {
  cursor: pointer;
  font-size: 20px;
}
.week_events--txtArea span {
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
}

.week_events--tag {
  display: flex;
  align-items: start;
  justify-content: space-between;
}

.latest_event--txtArea .category-fair_event {
  background-color: #74b500;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
  width: 100px;

}
.latest_event--txtArea .category-experience_event {
  background-color: #02883b;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;

}

.latest_event--txtArea .category-collaboration_event {
  background-color: #ff8c00;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
  width: 100px;
}

.week_events--txtArea .category-fair_event {
  background-color: #74b500;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
}
.week_events--txtArea .category-experience_event {
  background-color: #02883b;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
}

.week_events--txtArea .category-collaboration_event {
  background-color: #ff8c00;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
}
.news_detail-ttl .category-fair_event {
  background-color: #74b500;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;

}
.news_detail-ttl .category-experience_event {
  background-color: #02883b;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
}

.news_detail-ttl .category-collaboration_event {
  background-color: #ff8c00;
  color: #fff;
  padding: 0 4px 3px;
  border-radius: 4px;
  font-size: 14px;
}


@media screen and (max-width: 768px) {
  .calender {
    width: auto;
  }
  .calender_bg {
    background-color: #f2f2f2;
    padding: 0 4% 24px;
  }
  .calender table {
    margin-bottom: 0;
  }

  .calender td {
    background-color: #fff;
  }
  .banner {
    margin: 24px 0 0;
    padding: 0 4%;
  }
  .banner img {
    width: auto;
  }
}
/* -----------
ボタン
--------------*/
.btn {
  margin: 0 auto;
  width: 350px;
}
.btn a {
  background-image: linear-gradient(
    to right,
    #00893b 0,
    #00893b 40%,
    #a2d02c 100%
  );
  width: 350px;
  color: #fff;
  height: 70px;
  border-radius: 35px;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .btn a {
    font-size: 14px;
  }
}
/* -----------
フッター
-------------*/
.footer_flex {
  display: flex;
  align-items: center;
  background-color: #f2f2f2;
  justify-content: space-between;
}
.footer_flex img {
  width: 250px;
  padding: 37px 0px 30px 44px;
}
.footer_flex ul {
  display: flex;
  align-items: center;
  gap: 32px;
  padding-right: 42px;
}
.footer_flex ul li {
  font-size: 14px;
}
.footer p {
  padding: 30px 0;
  text-align: center;
  color: #747474;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .footer_flex {
    display: block;
  }
  .footer_flex ul {
    display: block;
    padding: 0 4% 22px;
  }
  .footer_flex ul li {
    padding-bottom: 10px;
  }
  .footer_flex ul li a {
    color: #747474;
  }
  .footer_flex img {
    width: 156px;
    padding: 24px 4%;
  }
  .footer p {
    padding: 13px 0;
  }
}
