@charset "UTF-8";
h2 {
  font-size: 16px;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 6px solid #2a3853;
  background-size: auto auto;
  background-color: #fff;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, #f1f1f1 2px, #f1f1f1 10px);
  margin-bottom: 30px;
}

.section01 {
  max-width: 80%;
  margin: 0 auto 60px auto;
}
@media (max-width: 600px) {
  .section01 {
    max-width: 100%;
    padding: 0 3%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 30px auto 60px auto;
  }
}
.section01 h2 {
  margin-bottom: 30px;
}
.section01 .access_wrap {
  /* チェックボックスがチェックされた時のスタイル */
}
.section01 .access_wrap .access-toggle {
  display: none;
}
.section01 .access_wrap .ac_menu {
  display: block;
  cursor: pointer;
  padding: 10px;
  background-color: #2a3853;
  color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
.section01 .access_wrap .ac_menu i {
  color: #fff;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  margin-right: 10px;
}
.section01 .access_wrap .ac_menu:hover {
  background-color: #fff;
  color: #2a3853;
  border: 1px solid #2a3853;
}
.section01 .access_wrap .ac_menu:hover i {
  color: #2a3853;
}
.section01 .access_wrap .acc-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}
.section01 .access_wrap .access-toggle:checked + .ac_menu {
  background-color: #2a3853;
  color: #fff;
  border-radius: 5px 5px 0 0;
}
.section01 .access_wrap .access-toggle:checked + .ac_menu i {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.section01 .access_wrap .access-toggle:checked ~ .acc-content {
  max-height: 1000px; /* 十分な高さを設定 */
}

.section02 {
  max-width: 80%;
  margin: 0 auto 60px auto;
}
@media (max-width: 600px) {
  .section02 {
    max-width: 100%;
    padding: 0 3%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.section02 .cs-map {
  height: 450px;
}
.section02 .cs-map .gm-style {
  font: 400 11px Roboto, Arial, sans-serif;
  text-decoration: none;
}
.section02 .cs-map .info-image {
  width: 150px;
  margin-right: 20px;
}
@media (max-width: 600px) {
  .section02 .cs-map .info-image {
    width: 100%;
    margin-right: 0;
  }
}
.section02 .cs-map .info-detail {
  width: 55%;
}
.section02 .cs-map .info-detail .info-category-label {
  font-size: 13px;
  background-color: #2a3853;
  color: #fff;
  display: inline-block;
  padding: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: 5px;
}
@media (max-width: 600px) {
  .section02 .cs-map .info-detail {
    width: 100%;
  }
}
.section02 .top-screen {
  display: none;
}

.section03 {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 60px;
}
@media (max-width: 600px) {
  .section03 {
    max-width: 100%;
    padding: 0 3%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.section03 h2 {
  margin-bottom: 60px;
}
.section03 .list {
  gap: 20px 20px;
}
.section03 .list > * {
  width: calc((100% - 20px * (4 - 1)) / 4);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media (max-width: 600px) {
  .section03 .list {
    gap: 10px 10px;
  }
  .section03 .list > * {
    width: calc((100% - 10px * (2 - 1)) / 2);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.section03 .list .item a .image {
  width: 100%;
  height: 160px;
  margin-bottom: 10px;
}
.section03 .list .item a .image img {
  -o-object-fit: cover;
     object-fit: cover;
}

.section04 {
  max-width: 80%;
  margin: 0 auto;
  margin-bottom: 60px;
}
@media (max-width: 600px) {
  .section04 {
    max-width: 100%;
    padding: 0 3%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.section04 h2 {
  margin-bottom: 60px;
}
.section04 .cat-list {
  gap: 20px;
  margin-bottom: 30px;
}
@media (max-width: 600px) {
  .section04 .cat-list .cat-item {
    width: 100%;
    border-bottom: 1px solid #333;
  }
}
.section04 .cat-list .cat-item a {
  border: 1px solid #f1f1f1;
  padding: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 7px;
  display: block;
  color: #333;
  font-size: 12px;
}
@media (max-width: 600px) {
  .section04 .cat-list .cat-item a {
    border: none;
  }
}
.section04 .list {
  margin-bottom: 30px;
  gap: 20px 20px;
}
.section04 .list > * {
  width: calc((100% - 20px * (4 - 1)) / 4);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
@media (max-width: 600px) {
  .section04 .list {
    gap: 10px 10px;
  }
  .section04 .list > * {
    width: calc((100% - 10px * (2 - 1)) / 2);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}
.section04 .list .item a .image {
  width: 100%;
  height: 200px;
  margin-bottom: 10px;
}
@media (max-width: 600px) {
  .section04 .list .item a .image {
    height: 160px;
  }
}
.section04 .list .item a .image img {
  -o-object-fit: cover;
     object-fit: cover;
}
.section04 .list .item a .info .title {
  font-weight: 700;
  color: #333;
}
.section04 .list .item a .info .subtitle {
  color: #333;
  font-size: 14px;
}
.section04 .pagination {
  margin-bottom: 60px;
}
.section04 .pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  list-style: none;
}
.section04 .pagination .page-numbers li {
  border: 1px solid #222;
}
.section04 .pagination .page-numbers li span,
.section04 .pagination .page-numbers li a {
  display: block;
  padding: 5px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #222;
  text-align: center;
  text-decoration: none;
}
.section04 .pagination .page-numbers li a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.section04 .pagination .page-numbers li a:hover {
  background-color: #222;
  color: #fff;
}
.section04 .pagination .page-numbers li span {
  background-color: #222;
  color: #fff;
}