body {
  background-image: url(../img/jichitai/lg-back-b.jpg);
  background-repeat: repeat;
  background-size: 80%;
}

.top-c-title--01 {
  background: #000;
  color: #fff;
  border-radius: 50px;
  text-align: center;
  padding: 20px;
  font-size: 38px;
}
@media screen and (max-width: 1000px) {
  .top-c-title--01 {
    border-radius: 5vw;
    padding: 1.6666666667vw;
    font-size: 5vw;
    word-break: keep-all;
    white-space: nowrap;
  }
}

.top-text-normal {
  font-family: "Yu Gothic", sans-serif;
  font-weight: bold;
  font-size: 16px;
}
@media screen and (max-width: 1000px) {
  .top-text-normal {
    font-size: 12px;
  }
}

.top-mt-50 {
  margin-top: 50px;
}

.top-header {
  position: relative;
}
.top-header__text02 {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 47%;
  margin-top: 2.5rem;
}
.top-header__banner {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin-top: 2.5rem;
}
.top-header__banner a {
  display: block;
  width: 40%;
}
@media screen and (max-width: 1000px) {
  .top-header__text02 {
  }
}

.top-fv {
  margin-top: 5.3125vw;
}
@media screen and (max-width: 1000px) {
  .top-fv {
    margin-top: 5.1rem;
  }
}

@media screen and (max-width: 1000px) {
  .top-cards {
    margin-top: 5vw;
  }
}
.top-cards__header {
  position: relative;  
}
.top-cards__bg {
  display: block;
  margin: 0 auto;
  width: 100%;
  position: relative;
  top: 0;
  margin-top: 2.4rem;
}
.top-cards__text01 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 8%;
  width: 56%;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .top-cards__text01 {
    top: 6%;
    width: 51%;
  }
}

.top-cards__slider {
  margin-top: -65px;
}
@media screen and (max-width: 1000px) {
  .top-cards__slider {
    margin-top: -9.5vw;
  }
}
.top-cards__slider .slick-slide {
  margin: 0 35px;
}
@media screen and (max-width: 1000px) {
  .top-cards__slider .slick-slide {
    margin: 0 2.9166666667vw;
  }
}

.top-map {
  position: relative;
  width: 1080px;
  height: 910px;
  margin: 0 auto;
  top: -30px;
}
@media screen and (max-width: 1000px) {
  .top-map {
    width: 100%;
    height: auto;
    top: 0;
  }
}
.top-map__text {
  position: relative;
  top: 75px;
  width: 590px;
  left: 110px;
  margin-top: 70px;
}
@media screen and (max-width: 1000px) {
  .top-map__text {
    position: absolute;
    width: 73%;
    margin-right: auto;
    margin-left: 0;
    margin-top: 0;
    top: 5vw;
    left: 0vw;
  }
}
.top-map__text img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .top-map__text img {
    width: 85%;
  }
}
.top-map__img01 {
  margin-top: 15px;
}
@media screen and (max-width: 1000px) {
  .top-map__img01-2 {
    width: 80% !important;
  }
}
.top-map__img02 {
  margin-top: 20px;
}
@media screen and (max-width: 1000px) {
  .top-map__img02 {
    margin-top: 2vw;
  }
}
.top-map__img03 {
  width: 62% !important;
  margin-top: 10px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .top-map__img03 {
    margin-top: 2vw;
  }
}
.top-map__img04 {
  margin-top: 12px;
}
@media screen and (max-width: 1000px) {
  .top-map__img04 {
    margin-top: 2vw;  
  }
}
.top-map__map {
  position: absolute;
  right: 150px;
  top: 0;
}
@media screen and (max-width: 1000px) {
  .top-map__map {
    position: static;
    right: 0;
    left: 0;
    width: 99vw;
    margin: 0 auto;
  }
}
.top-map__map__line-okinawa {
  position: absolute;
  width: 180px;
  height: 100px;
  max-width: 300px;
  top: -15px;
  left: -38px;
}
@media screen and (max-width: 1000px) {
  .top-map__map__line-okinawa {
    width: 18vw;
    height: 10vw;
    top: 0;
    left: -4vw;
  }
}
.top-map__grid {
  display: grid;
  grid-template: "... ... ... ... ... ... ... ... ... ... ... ... p01 p01 p01 p01" 3fr "... ... ... ... ... ... ... ... ... ... ... ... ... p02 p02 p49" 0.5fr "... ... ... ... ... ... ... ... ... ... ... ... ... p05 p03 ..." 0.5fr "... ... ... ... ... ... ... ... ... ... ... ... ... p06 p04 ..." 0.5fr "... ... ... ... ... ... ... ... ... ... ... ... p15 p07 p07 ..." 0.5fr "... ... p47 ... ... ... ... ... ... ... p17 p16 p15 p10 p09 ..." 0.5fr "... ... ... ... ... ... ... ... ... ... p18 p21 p20 p11 p08 ..." 0.5fr "... ... ... ... ... p35 p32 p31 p28 p26 p25 p21 p20 p13 p12 ..." 0.5fr "... p41 p40 p44 p48 p35 p34 p33 p27 p29 p24 p23 p19 p14 p12 ..." 0.5fr "... p42 p43 p45 ... ... ... ... p30 p30 ... ... p22 ... ... ..." 0.5fr "... p46 p46 p45 ... p38 p37 ... ... ... ... ... ... ... ... ..." 0.5fr "... ... ... ... ... p39 p36 ... ... ... ... ... ... ... ... ..." 0.5fr/1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 2px;
  grid-gap: 5px;
  width: 875px;
  height: 858px;
  margin: 0 0 4em 0;
  padding: 0;
  position: relative;
  /* top: 30px; */
  left: 50px;
}
@media screen and (max-width: 1000px) {
  .top-map__grid {
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    margin: 7vw 0 10vw 0;
    overflow: hidden;
    grid-gap: 1vw;
  }
}
.top-map__grid li {
  margin: 0;
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: al2 0.2s ease;
  background-color: #fff;
  color: #000;
  font-size: 16px;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li {
    font-size: 1.9vw;
    word-break: keep-all;
    padding: 0.5vw;
  }
}
.top-map__grid li.state--have-link {
  background-color: #d0b86f;
}
.top-map__grid li.state--have-link:hover {
  filter: brightness(110%);
  font-weight: 700;
  cursor: pointer;
}
.top-map__grid li.state--have-link:hover .top-map__balloon li {
  font-weight: 500;
}
.top-map__grid li.state--have-link a:hover {
  cursor: pointer;
}
.top-map__grid li.state--preparing {
  background-color: #eae1c4;
  padding-top: 8px;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.state--preparing {
    padding-top: 0.5vw;
  }
}
.top-map__grid li.state--preparing a {
  display: block;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.state--preparing a {
    margin-top: -0.5vw;
  }
}
.top-map__grid li.state--preparing a .prepare-text {
  background-color: #000;
  color: #fff;
  border-radius: 20px;
  display: inline-block;
  font-size: 9px;
  padding: 0 8px;
  margin-bottom: 5px;
  line-height: 1.3;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.state--preparing a .prepare-text {
    font-size: 1vw;
    margin-bottom: 0.7vw;
    padding: 0 0.5vw;
  }
}
.top-map__grid li.state--active {
  background-color: #c3ba9e;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.state--active {
    padding-top: 0.5vw;
  }
}
.top-map__grid li.state--active a {
  display: flex;
  text-align: center;
  line-height: 1;
  flex-direction: column;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.state--active a {
    margin-top: -0.5vw;
  }
}
.top-map__grid li.state--active a .active-text {
  background-color: #fff;
  color: #000;
  border-radius: 20px;
  display: inline-block;
  font-size: 9px;
  padding: 0 8px;
  margin-bottom: 5px;
  line-height: 1.3;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.state--active a .active-text {
    font-size: 1vw;
    margin-bottom: 0.7vw;
    padding: 0 0.5vw;
  }
}
.top-map__grid li a {
  width: 100%;
  height: 100%;
  text-decoration: none;
  cursor: default;
  border-radius: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-map__grid li.s-w1h1 {
  width: 3rem;
  height: 3rem;
}
.top-map__grid li.s-w2h1 {
  width: 6rem;
  height: 3rem;
  border-radius: 3rem;
}
.top-map__grid li.s-w1h2 {
  width: 3rem;
  height: 6rem;
  border-radius: 3rem;
}
.top-map__grid li.s-w4h4 {
  width: 10rem;
  height: 10rem;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.s-w1h1 {
    width: 5.9vw;
    height: 5.9vw;
  }
  .top-map__grid li.s-w2h1 {
    width: 12.7833333333vw;
    height: 5.9vw;
    border-radius: 5.9vw;
  }
  .top-map__grid li.s-w1h2 {
    width: 5.9vw;
    height: 12.7833333333vw;
    border-radius: 5.9vw;
  }
  .top-map__grid li.s-w4h4 {
    width: 19.6666666667vw;
    height: 19.6666666667vw;
  }
}
.top-map__grid li:nth-of-type(1) {
  grid-area: p01;
}
.top-map__grid li:nth-of-type(2) {
  grid-area: p02;
}
.top-map__grid li:nth-of-type(3) {
  grid-area: p03;
}
.top-map__grid li:nth-of-type(4) {
  grid-area: p04;
}
.top-map__grid li:nth-of-type(5) {
  grid-area: p05;
}
.top-map__grid li:nth-of-type(6) {
  grid-area: p06;
}
.top-map__grid li:nth-of-type(7) {
  grid-area: p07;
}
.top-map__grid li:nth-of-type(8) {
  grid-area: p08;
}
.top-map__grid li:nth-of-type(9) {
  grid-area: p09;
}
.top-map__grid li:nth-of-type(10) {
  grid-area: p10;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(11) {
  grid-area: p11;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(12) {
  grid-area: p12;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(13) {
  grid-area: p13;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(14) {
  grid-area: p14;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(15) {
  grid-area: p15;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(16) {
  grid-area: p16;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(17) {
  grid-area: p17;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(18) {
  grid-area: p18;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(19) {
  grid-area: p19;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(20) {
  grid-area: p20;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(21) {
  grid-area: p21;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(22) {
  grid-area: p22;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(23) {
  grid-area: p23;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(24) {
  grid-area: p24;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(25) {
  grid-area: p25;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(26) {
  grid-area: p26;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(27) {
  grid-area: p27;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(28) {
  grid-area: p28;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(29) {
  grid-area: p29;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(30) {
  grid-area: p30;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(31) {
  grid-area: p31;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(32) {
  grid-area: p32;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(33) {
  grid-area: p33;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(34) {
  grid-area: p34;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(35) {
  grid-area: p35;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(36) {
  grid-area: p36;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(37) {
  grid-area: p37;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(38) {
  grid-area: p38;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(39) {
  grid-area: p39;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(40) {
  grid-area: p40;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(41) {
  grid-area: p41;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(42) {
  grid-area: p42;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(43) {
  grid-area: p43;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(44) {
  grid-area: p44;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(45) {
  grid-area: p45;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(46) {
  grid-area: p46;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(47) {
  grid-area: p47;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(48) {
  grid-area: p48;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(49) {
  grid-area: p49;
  word-break: keep-all;
}
.top-map__grid li:nth-of-type(48), .top-map__grid li:nth-of-type(49) {
  background: none;
}
.top-map__grid li.hokkaido {
  position: relative;
  left: 1.3rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.hokkaido {
    left: 3vw;
  }
}
.top-map__grid li.shikoku {
  position: relative;
  top: -1.5rem;
  left: 2.5rem;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.shikoku {
    top: -5.5vw;
    left: 3.5vw;
  }
}
.top-map__grid li.okinawa {
  position: relative;
}
.top-map__grid li.okinawa > div {
  position: relative;
  z-index: 1;
}
.top-map__grid li.okinawa.state--preparing {
  padding-top: 0;
}
@media screen and (max-width: 1000px) {
  .top-map__grid li.okinawa.state--preparing a .prepare-text {
    margin-bottom: 0.2vw;
  }
}
.top-map__balloon__wrap {
  position: relative;
}
.top-map__balloon {
  position: absolute;
  top: 60px;
  right: 0;
  background: #000;
  padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  border: 3px solid #fff;
  visibility: hidden;
  opacity: 0;
  transition: all 0.2s;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .top-map__balloon {
    top: 11vw;
    right: -2.2vw;
    padding: 0.7rem 1.5rem 0.7rem 0.7rem;
  }
}
.top-map__balloon::before {
  content: "";
  position: absolute;
  top: -31px;
  right: 10.8%;
  border: 11px solid transparent;
  border-bottom: 29px solid #000;
  z-index: 2;
}
@media screen and (max-width: 1000px) {
  .top-map__balloon::before {
    top: -9vw;
    right: 1.6vw;
    border: 3vw solid transparent;
    border-bottom: 7vw solid #000;
  }
}
.top-map__balloon::after {
  content: "";
  position: absolute;
  top: -37px;
  right: 11.5%;
  border: 10px solid transparent;
  border-bottom: 27px solid #fff;
  z-index: 1;
}
@media screen and (max-width: 1000px) {
  .top-map__balloon::after {
    top: -10.2vw;
    right: 1.4vw;
    border: 3.2vw solid transparent;
    border-bottom: 7vw solid #fff;
  }
}
.top-map__balloon ul {
  line-height: 1.3;
}
.top-map__balloon ul li {
  background: none;
  color: #fff;
}
.top-map__balloon ul li span {
  font-size: 0.8rem;
  padding-right: 0.3rem;
  background: #ffffff;
  height: calc(tan(60deg) * 15px / 2);
  width: 10px;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  margin-right: 8px;
}
@media screen and (max-width: 1000px) {
  .top-map__balloon ul li span {
    height: calc(tan(60deg) * 3.5vw / 2);
    width: 2.5vw;
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
            clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
}
.top-map__balloon ul li a {
  text-decoration: underline;
  justify-content: flex-start;
  word-break: keep-all;
}
.top-map__balloon ul li a:hover {
  font-weight: 700;
}
@media screen and (max-width: 1000px) {
  .top-map__balloon ul li a {
    font-size: 4vw;
  }
}
.top-map__balloon.show {
  visibility: visible;
  opacity: 1;
}

.top-press {
  margin: 6rem 0 4rem;
}
@media screen and (max-width: 1000px) {
  .top-press {
    margin-top: 5rem;
    margin-bottom: 3rem;
  }
}

.top-banner {
  background: #fff;
  padding: 3rem 0 4rem 0;
}
.top-banner__inner {
  width: 950px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  .top-banner__inner {
    width: 90%;
    height: auto;
  }
}
.top-banner__inner + .top-banner__inner {
  margin-top: 2rem;
}
.top-banner__inner a {
  display: block;
}
.top-banner__inner a:first-of-type {
  margin-right: 2rem;
}

.top-about {
  background: #fff;
}
.top-about .inner {
  width: 950px;
  margin: 0 auto -1px;
  padding: 3rem 0;
}
@media screen and (max-width: 1000px) {
  .top-about .inner {
    width: 90%;
  }
}
.top-about .inner h2 {
  margin-bottom: 2rem;
}
.top-about-title {
  margin-bottom: 1.5rem;
}
.top-about-flex {
  display: flex;
  justify-content: space-between;
  margin: 2.5rem auto 0;
}
@media screen and (max-width: 1000px) {
  .top-about-flex {
    display: block;
  }
}
.top-about-flex > div {
  /* background-image: url(../img/top/01-img-007.png); */
  background-size: contain;
  width: 48%;
  padding: 1rem .25rem 0;
}
@media screen and (max-width: 1000px) {
  .top-about-flex > div {
    background-size: 100% 100%;
    width: 100%;
    margin-top: 1rem;
  }
}
.top-about-flex > div h3 {
  background-color: #fff;
  font-size: 18px;
  border-radius: 25px;
  text-align: center;
  padding: 2px;
}
@media screen and (max-width: 1000px) {
  .top-about-flex > div h3 {
    font-size: 3vw;
  }
}
.top-about-flex__titleimg {
  text-align: center;
  margin: 1.5rem auto 1rem auto;
}
.top-about-flex__titleimg img {
  width: 85%;
}
.top-about-flex__titleimg-sub {
  margin-top: 1.5rem;
}
.top-about-flex__text-01 {
  margin-top: 1rem;
}
.top-about-flex__text-02 {
  margin-top: 1.5rem;
}

.home-news::before {
  border-color: #fff transparent transparent transparent;
}
.home-news .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.home-news .list li {
  width: 22%;
}
@media screen and (max-width: 1000px) {
  .home-news .list li {
    width: 48%;
  }
}
.home-news .list .cat {
  margin-top: 0.5rem;
}
.home-news .list .list-txt {
  height: 5em;
}

footer {
  background-color: #000;
  margin-top: 100px;
}
@media screen and (max-width: 1000px) {
  footer {
    margin-top: 8.3333333333vw;
  }
}