.header__inner {
  display: none;
}
@media screen and (max-width: 1024px) {
  .header__inner {
    display: block;
    max-width: 540px;
    height: auto;
    position: fixed;
    z-index: 100;
    top: 0;
  }
}

@media screen and (max-width: 1024px) {
  #top .graybg {
    width: 100%;
    height: 100vh;
    background-color: #000;
    opacity: 0.3;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
  }
}
#top .spmenu {
  position: fixed;
  top: 0;
  z-index: 3;
  overflow: scroll;
  height: 100vh;
}
#top .mainBg {
  background-color: #fff8a5;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  background-size: cover;
  background-position: bottom;
  position: relative;
}
@media print {
  #top .mainBg {
    background-image: none;
  }
}
#top .mainBg img {
  display: block;
}
#top .mainBg .wrapper {
  position: relative;
  z-index: 1;
}
#top .mainBg .wrapper #saninsen03 {
  display: block;
  position: relative;
  top: 160px;
}
@media screen and (max-width: 480px) {
  #top .mainBg .wrapper #saninsen03 {
    top: 120px;
  }
}
#top .mainBg .wrapper #saninsen04 {
  display: block;
  position: relative;
  top: 1380px;
}
@media screen and (max-width: 480px) {
  #top .mainBg .wrapper #saninsen04 {
    top: 1000px;
  }
}
#top .mainBg .wrapper .absolute01 {
  position: fixed;
  left: 5.5vw;
  top: 2.7vw;
}
@media screen and (max-width: 1750px) {
  #top .mainBg .wrapper .absolute01 {
    left: 3.4vw;
    height: auto;
  }
}
@media screen and (max-width: 1750px) and (min-width: 1570px) {
  #top .mainBg .wrapper .absolute01 {
    left: 4.4vw;
    height: auto;
  }
}
@media screen and (max-width: 1570px) and (min-width: 1470px) {
  #top .mainBg .wrapper .absolute01 {
    left: 5.5vw;
    height: auto;
  }
}
@media screen and (max-width: 1470px) and (min-width: 1290px) {
  #top .mainBg .wrapper .absolute01 {
    left: 4.4vw;
    height: auto;
  }
}
@media screen and (max-width: 1290px) {
  #top .mainBg .wrapper .absolute01 {
    left: 3.4;
    width: 12%;
    height: auto;
  }
}
@media screen and (max-width: 1024px) {
  #top .mainBg .wrapper .absolute01 {
    display: none;
  }
}
#top .mainBg .wrapper .absolute02 {
  position: fixed;
  left: 5.5vw;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 1760px) {
  #top .mainBg .wrapper .absolute02 {
    left: 3.4vw;
    width: 25%;
    height: auto;
  }
}
@media screen and (max-width: 1760px) and (min-width: 1570px) {
  #top .mainBg .wrapper .absolute02 {
    left: 4.4vw;
    width: 24%;
    height: auto;
  }
}
@media screen and (max-width: 1570px) and (min-width: 1470px) {
  #top .mainBg .wrapper .absolute02 {
    left: 5.5vw;
    width: 22%;
    height: auto;
  }
}
@media screen and (max-width: 1470px) and (min-width: 1290px) {
  #top .mainBg .wrapper .absolute02 {
    left: 4.4vw;
    width: 20%;
    height: auto;
  }
}
@media screen and (max-width: 1290px) {
  #top .mainBg .wrapper .absolute02 {
    left: 3.4;
    width: 18%;
    height: auto;
  }
}
@media screen and (max-width: 1024px) {
  #top .mainBg .wrapper .absolute02 {
    display: none;
  }
}
#top .mainBg .wrapper .absolute03 {
  position: fixed;
  left: 73.2vw;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 1750px) and (min-width: 1570px) {
  #top .mainBg .wrapper .absolute03 {
    left: 71.3vw;
    height: auto;
  }
}
@media screen and (max-width: 1570px) and (min-width: 1470px) {
  #top .mainBg .wrapper .absolute03 {
    left: 71vw;
    height: auto;
  }
}
@media screen and (max-width: 1470px) and (min-width: 1290px) {
  #top .mainBg .wrapper .absolute03 {
    left: 74.4vw;
    width: 20%;
    height: auto;
  }
}
@media screen and (max-width: 1290px) {
  #top .mainBg .wrapper .absolute03 {
    left: 79.2vw;
    width: 18%;
    height: auto;
  }
}
@media screen and (max-width: 1024px) {
  #top .mainBg .wrapper .absolute03 {
    display: none;
  }
}
#top .mainBg .wrapper .fixed {
  max-width: 100%;
  height: auto;
  display: block;
}
#top .mainBg .wrapper .relative {
  max-width: 540px;
  position: relative;
  box-shadow: 0px 10px 15px 2px rgba(0, 0, 0, 0.2);
  padding: 0 0 60px;
}
@media screen and (max-width: 1024px) {
  #top .mainBg .wrapper .relative {
    padding: 19vw 0 10vw;
  }
}

.open-default:hover {
  cursor: pointer;
}

#modal-default01,
#modal-default02,
#modal-default03 {
  height: 85vh !important;
  max-width: 660px !important;
  width: max-content;
}
@media screen and (max-width: 480px) {
  #modal-default01,
  #modal-default02,
  #modal-default03 {
    height: max-content !important;
    width: 90vw;
  }
}
@media print {
  #modal-default01,
  #modal-default02,
  #modal-default03 {
    display: none;
  }
}
#modal-default01 .close,
#modal-default02 .close,
#modal-default03 .close {
  position: fixed;
  font-size: 50px;
  line-height: 1;
  top: -55px;
  right: 0;
  font-weight: bold;
}
#modal-default01 .close:hover,
#modal-default02 .close:hover,
#modal-default03 .close:hover {
  cursor: pointer;
}
#modal-default01 .close a,
#modal-default02 .close a,
#modal-default03 .close a {
  color: #fff;
}
@media print {
  #modal-default01 .close a,
  #modal-default02 .close a,
  #modal-default03 .close a {
    color: transparent;
  }
}
#modal-default01 .modal-main,
#modal-default02 .modal-main,
#modal-default03 .modal-main {
  max-height: 85vh;
}
@media screen and (max-width: 480px) {
  #modal-default01 .modal-main,
  #modal-default02 .modal-main,
  #modal-default03 .modal-main {
    height: max-content;
    width: 90vw;
  }
}
#modal-default01 .modal-main img,
#modal-default02 .modal-main img,
#modal-default03 .modal-main img {
  width: auto;
  height: 85vh;
}
@media screen and (max-width: 480px) {
  #modal-default01 .modal-main img,
  #modal-default02 .modal-main img,
  #modal-default03 .modal-main img {
    height: max-content;
    width: 90vw;
  }
}

#modal-default04 {
  height: 90vh !important;
  width: 90%;
}
#modal-default04 .close {
  position: absolute;
  top: 36px;
  right: 35px;
  width: 70px;
  height: 70px;
  z-index: 1;
}
@media screen and (max-width: 650px) {
  #modal-default04 .close {
    top: 5.5vw;
    right: 5.2vw;
    width: 10.3vw;
    height: 10.3vw;
  }
}
#modal-default04 .close a {
  display: block;
  width: 100%;
  height: 100%;
}
#modal-default04 .modal-main {
  position: relative;
  height: 90vh;
  overflow: scroll;
}

.iziModal-overlay {
  background-color: #808080 !important;
  mix-blend-mode: multiply;
}
#datearea {
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 60px;
  background-color: #fff;
  text-align: center;
  padding-top: 350px;
  margin-top: -350px;
}
@media screen and (max-width: 1024px) {
  #datearea {
    padding-top: 450px;
    margin-top: -450px;
  }
}
@media screen and (max-width: 480px) {
  #datearea {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 320px;
    margin-top: -320px;
  }
}
#datearea h3 {
  margin-top: 0;
  font-size: 22px;
  cursor: pointer;
  background-color: #ee87b4;
  color: #fff;
  text-align: left;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  margin-bottom: 0;
}

@media screen and (max-width: 480px) {
  #datearea h3 {
    font-size: 18px;
  }
}

#datearea details.is-opened h3 .icon {
  transform: rotate(180deg);
}

#datearea summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  /* Safariで表示されるデフォルトの三角形アイコンを非表示にします */
}
#datearea summary::-webkit-details-marker {
  display: none;
}

#datearea .summary_inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border: 1px solid #000;
  font-size: 16px;
  font-weight: bold;
  color: #000;
}
#datearea details + details .summary_inner {
  margin-top: -1px;
}

#datearea .icon {
  display: block;
  position: relative;
  width: 26px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;
}


/* アイコンのバーのスタイル */
#datearea .icon::before,
#datearea .icon::after {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 1px;
  background-color: #000;
}
#datearea h3 .icon::before,
#datearea h3 .icon::after {
  background-color: #fff;
}
#datearea .icon::before {
  left: 0;
  transform: rotate(45deg);
}
#datearea .icon::after {
  right: 0;
  transform: rotate(-45deg);
}

/* is-openedクラスが付与されたときのスタイル */
#datearea .location-con.is-opened .icon {
  transform: rotate(180deg);
}

/* --------アコーディオンの中身のスタイル-------- */
#datearea .content {
  overflow: hidden;

  /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}

#datearea .content_inner {
  border: 1px solid #000;
  border-top: none;
  padding: 10px 30px;
  display: flex;
  flex-direction: column;
  text-align: left;
}
#datearea .con_area{
  padding: 20px 0;
}
#datearea .con_area + .con_area {
  border-top: 2px dotted #000;
}
#datearea .name{
  color: #00ae94;
  font-size: 16px;
}
#datearea .address_area{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
}
#datearea .date{
  color: #ee87b4;
}
@media screen and (max-width: 520px) {
  #datearea .content_inner {
    padding: 0px 20px;
  }
  #datearea .name{
    font-size: 14px;
  }
  #datearea .address_area{
    font-size: 14px;
  }
}
.banner{
  position: fixed;
  bottom: 0;
  z-index: 100;
}
.banner:hover{
  opacity: 1;
}

@media print {
  #top .mainBg img.smp__hide{
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .link_anchor{
    margin-top: -100px;
    padding-top: 100px;
  }
}

@media screen and (max-width: 540px) {
  .link_anchor{
    margin-top: -18vw;
    padding-top: 18vw;
  }
}
.govote{
  align-items: center;
  display: flex;
  overflow:hidden;
  width: 100%;
  white-space:nowrap;
  z-index: 1;
  background-color: #ee87b4;
}
.govote ul {
  animation: flowing 20s linear infinite;
  font-size: 0;
  transform:translateX(100%);
  margin: 0;
  padding: 3px 0;
}
.govote ul li{
  display: inline-block;
  margin-right: 30px;
}
.govote ul li img{
  font-size: 0;
}
@keyframes flowing {
  0% { transform:translateX(0); }
  100% { transform:translateX(-100%); }
}
