@charset "UTF-8";

/* main */
#section {
  margin-top: -90px;
  padding-top: 90px;
}
.main {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
}

/* swiper */
.swiper-container {
  width: 100%;
  height: 100%;
}
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px 10px;
}
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 100%;
  background: transparent;
  opacity: 1;
  border: 2px solid #fff;
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background: #7dc3f0;
  border: 2px solid #fff;
}
.swiper-slide video {
  width: 100%;
  height: 100%;
}
.slide-magazine {
  background-image: url(../img/top/top-magazine-17-pc.jpg);
  background-size: cover;
  background-position: center;
}
.logo-magazine {
  width: 400px;
  height: auto;
  box-sizing: border-box;
  border-radius: 5px;
  margin: 90px 0 0 0;
  padding: 8px;
  background: rgba(255,255,255,0.7);
}
.slide-soon {
  background-image: url(../img/top/soon.png);
  background-size: cover;
  background-position: center;
}
.slide-coupon {
  background-image: url(../img/top/coupon.png?var=250701);
  background-size: cover;
  background-position: center;
}
.slide-coupon-sp {
  background-image: url(../img/top/coupon-sp.png?var=250701);
  background-size: cover;
  background-position: center;
}
.slide-zxy {
  background-image: url(../img/top/zxy.png?var=250519);
  background-size: cover;
  background-position: center;
}
.slide-47pref {
  background-image: url(../img/top/47pref.png?var=250519);
  background-size: cover;
  background-position: center;
}
.logo-kokubunji {
  width: 256px;
  height: auto;
  box-sizing: border-box;
  margin: 80px 0 0 0;
}
.slide-kokubunji {
  background-image: url(../img/top/top-kokubunji.jpg);
  background-size: cover;
  background-position: center;
}
.logo-hakata2f {
  width: 264px;
  height: auto;
  box-sizing: border-box;
  margin: 80px 0 0 0;
}
.slide-hakata2f {
  background-image: url(../img/top/top-hakata2f.jpg);
  background-size: cover;
  background-position: center;
}
.logo-fukushima {
  width: 264px;
  height: auto;
  box-sizing: border-box;
  margin: 80px 0 0 0;
}
.slide-fukushima {
  background-image: url(../img/top/top-fukushima.jpg);
  background-size: cover;
  background-position: center;
}
.logo-kochi {
  width: 212px;
  height: auto;
  box-sizing: border-box;
  margin: 80px 0 0 0;
}
.slide-kochi {
  background-image: url(../img/top/top-kochi.jpg);
  background-size: cover;
  background-position: center;
}
.top-press {
  width: 90%;
  max-width: 900px;
  height: auto;
  margin: 80px 0 0 0;
}
.press {
  margin: 110px 0 0 0;
}
.press-logo {
  width: 170px;
  margin: 0 auto 30px auto;
}

/* PLACE */
.place {
  width: 100%;
  padding: 60px 0;
}
.swiper-news-wrap {
  position: relative;
  margin: 60px auto 0 auto;
}
.swiper-news {
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.swiper-button-prev {
  position: absolute;
  color: #7dc3f0;
  padding: 0;
  left: calc(2.5% - 15px);
}
.swiper-button-prev::after {
  font-size: 30px;
}
.swiper-button-next {
  position: absolute;
  color: #7dc3f0;
  padding: 0;
  right: calc(2.5% - 15px);
}
.swiper-button-next::after {
  font-size: 30px;
}
.place-logo {
  width: 80%;
  max-width: 480px;
  margin: 80px auto 0 auto;
}
.place-btn-sub-wrap {
  width: 530px;
  text-align: center;
  margin: 40px auto 80px auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.place-btn-sub {
  display: flex;
  align-items: center;
  text-align: center;
  width: 250px;
  height: auto;
  margin: 0;
}
.place-btn-sub a {
  background-color: #7dc3f0;
  display: block;
  width: 100%;
  color: #1e1e1e;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 6px;
  padding: 15px 0;
  position: relative;
}
.place-btn-sub a:after {
  content: "";
  border-top: 2px solid #1e1e1e;
  border-right: 2px solid #1e1e1e;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}
.place-wrap {
  width: 90%;
  margin: 30px auto 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mymap-wrap {
  width: 60%;
  margin: 0;
  padding: 0;
  position: relative;
}
.mymap {
  width: 100%;
  position: relative;
  margin: 0;
  padding-top: 56.25%;
}
.mymap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.place-r {
  width: 37%;
  margin: 0 0 0 auto;
}
.place-ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.place-ul li.place-btn {
  display: flex;
  align-items: center;
  text-align: center;
}
.place-ul li.place-btn a {
  background-color: #7dc3f0;
  display: block;
  width: 100%;
  color: #1e1e1e;
  font-weight: bold;
  border-radius: 6px;
  padding: 15px 0;
  position: relative;
  box-sizing: border-box;
}
.place-ul a:after {
  content: "";
  border-top: 2px solid #1e1e1e;
  border-right: 2px solid #1e1e1e;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}
.place-ul li.place-btn a span {
  display: inline-block;
  font-weight: bold;
}
.place-ul li.place-btn a img {
  width: auto;
  height: 24px;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -12px;
}
.w100 {
  font-size: 1.3em;
  width: 100%;
  height: auto;
  margin: 0 0 4% 0;
}
.w48 {
  font-size: 1.2em;
  width: 48%;
  height: auto;
  margin: 4% 0 0 0;
}
.place-hr {
  width: 100%;
  border-top: 1px solid #d9dee3;
  border-right: none;
  border-bottom: none;
  border-left: none;
  margin: 2% 0;
}

/* NEWS */
.news {
  background-color: #d9dee3;
  width: 100%;
  padding: 60px 0;
}
.news_table_pc {
  display: table;
  max-width: 700px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.news_table_pc td {
  line-height: 1.5;
  padding: 20px 0 0;
  max-height: 999999px;
}
.news_table_pc .td01 {
  font-size: 1.4em;
  width: 70px;
}
.news_table_pc .td02 {
  font-size: 1.3em;
  width: 135px;
  text-align: center;
  box-sizing: border-box;
  padding: 3px 10px;
}
.news_table_pc .td02 span {
  color: #fff;
  padding: 0;
  display: block;
}
.news_table_pc .td02.gray span {
  background-color: #939393;
  border: 1px solid #939393;
  border-radius: 10px !important;
}
.news_table_pc .td02.white span {
  background-color: #fff;
  color: #1e1e1e;
  border: 1px solid #fff;
  border-radius: 10px !important;
}
.news_table_pc .td02.blue span {
  background-color: #7dc3f0;
  border: 1px solid #7dc3f0;
  border-radius: 10px !important;
}
.news_table_pc .td02.gold span {
  background-color: #ccb079;
  border: 1px solid #ccb079;
  border-radius: 10px !important;
}
.news_table_pc .td02.green span {
  background-color: #9dc800;
  border: 1px solid #9dc800;
  border-radius: 10px !important;
}
.news_table_pc .td03 a {
  font-size: 1.4em;
}
.news_table_pc .td03 a {
  color: #1e1e1e;
  text-decoration: none;
}
.news_table_pc .td03 a:hover {
  color: #7dc3f0;
  text-decoration: underline;
  text-decoration-color: #7dc3f0;
}
.news-btn {
  display: flex;
  align-items: center;
  text-align: center;
  width: 250px;
  height: auto;
  margin: 50px auto 0 auto;
}
.news-btn a {
  background-color: #7dc3f0;
  display: block;
  width: 100%;
  color: #1e1e1e;
  font-size: 1.3em;
  font-weight: bold;
  border-radius: 6px;
  padding: 15px 0;
  position: relative;
}
.news-btn a:after {
  content: "";
  border-top: 2px solid #1e1e1e;
  border-right: 2px solid #1e1e1e;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
}
.news_table_sp {
  display: none;
}
.news_btn_box {
  width: 142px;
  margin: 40px auto 0;
}
.news_btn {
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  padding: 3px 10px;
  box-sizing: border-box;
}
.news_btn:hover {
  border-bottom: none;
  color: #7dc3f0;
}
.news-ul {
  width: 90%;
  max-width: 700px;
  box-sizing: border-box;
  letter-spacing: -0.4em;
  margin: 40px auto 0;
  text-align: center;
}
.news-ul li {
  width: 21%;
  height: auto;
  box-sizing: border-box;
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  margin: 0 2%;
}
.back_btn_top {
  width: 50px;
  height: 50px;
  z-index: 20;
  position: fixed;
  bottom: 80px;
  right: 0;
}

@media screen and (max-width: 1260px) {
  .mymap-wrap {
    width: 70%;
  }
  .place-r {
    width: 27%;
  }
  .w100 {
    font-size: 1.2em;
  }
  .w48 {
    width: 100%;
    font-size: 1.2em;
  }
}

@media screen and (max-width: 920px) {
  /* PLACE */
  .swiper-button-prev::after {
    font-size: 15px;
  }
  .swiper-button-next::after {
    font-size: 15px;
  }
  .place-wrap {
    display: block;
  }
  .mymap-wrap {
    width: 100%;
  }
  .place-r {
    width: 100%;
    margin: 30px 0 0 0;
  }
  .place-ul {
    width: 100%;
  }
  .w100 {
    width: 32%;
    font-size: 1.2em;
    margin: 0 0 30px 0;
  }
  .w48 {
    width: 49%;
    font-size: 1.2em;
    margin: 30px 0 0 0;
  }
  .place-hr {
    margin: 0;
  }
  /* NEWS */
  .news_table_pc {
    display: none;
  }
  .news_table_sp {
    max-width: 90%;
    display: table;
    margin: 20px auto 0;
  }
  .news_table_sp td {
    font-size: 1.3em;
    line-height: 1.8;
    padding: 5px 0;
    max-height: 999999px;
  }
  .news_table_sp .td01 {
    padding-top: 30px;
  }
  .news_table_sp .td01 span {
    color: #fff;
    padding: 5px 10px;
  }
  .news_table_sp .td01 span.gray {
    background-color: #939393;
    border-radius: 10px;
  }
  .news_table_sp .td01 span.white {
    background-color: #fff;
    color: #1e1e1e;
    border-radius: 10px;
  }
  .news_table_sp .td01 span.blue {
    background-color: #7dc3f0;
    border-radius: 10px;
  }
  .news_table_sp .td01 span.gold {
    background-color: #ccb079;
    border-radius: 10px;
  }
  .news_table_sp .td01 span.green {
    background-color: #9dc800;
    border-radius: 10px;
  }
  .news_table_sp .td02 a {
    color: #1e1e1e;
    text-decoration: none;
  }
  .news_table_sp .td02 a:hover {
    color: #7dc3f0;
    text-decoration: underline;
    text-decoration-color: #7dc3f0;
  }
  .news-btn a {
    font-size: 1.2em;
  }
}

@media screen and (max-width: 767px) {
  .place-r {
    width: 100%;
    margin: 30px 0 0 0;
  }
  .place-ul {
    width: 100%;
  }
  .w100 {
    width: 100%;
    font-size: 1.2em;
    margin: 0 0 20px 0;
  }
  .w48 {
    width: 100%;
    margin: 20px 0 0 0;
  }
  .place-hr {
    margin: 0;
  }
  .news-btn {
    width: 90%;
  }
}

@media screen and (max-width: 640px) {
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px 70px;
  }
  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border: 1px solid #fff;
  }
  .swiper-pagination-bullet-active {
    border: 1px solid #fff;
  }
  .slide-magazine {
    background-image: url(../img/top/top-magazine-17-sp.jpg);
  }
  .logo-magazine {
    width: 80%;
    margin: 20px 0 0 0;
  }
  .top-txt {
    font-size: 1.8em;
    line-height: 26px;
  }
  .logo-kokubunji {
    width: 128px;
    margin: 20px 0 0 0;
  }
  .logo-hakata2f {
    width: 132px;
    margin: 20px 0 0 0;
  }
  .logo-fukushima {
    width: 132px;
    margin: 20px 0 0 0;
  }
  .logo-kochi {
    width: 106px;
    margin: 20px 0 0 0;
  }
  .top-press {
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
  }
  .press {
    margin: 30px 0 0 0;
  }
  .press-logo {
    width: 120px;
    margin: 0 auto 20px 0 auto;
  }
  .title-top {
    width: 250px;
    height: auto;
    margin: 0 auto;
  }
  .place-logo {
    width: 84%;
  }
  .place-btn-sub-wrap {
    width: 100%;
    margin: 40px auto 80px auto;
    display: block;
  }
  .place-btn-sub {
    display: flex;
    align-items: center;
    text-align: center;
    width: 250px;
    height: auto;
    margin: 25px auto 0 auto;
  }
  .btn {
    width: 230px;
  }
  .news_table_sp {
    margin: 0 auto;
  }
  .news-ul {
    width: 92%;
    margin: 30px auto 0;
  }
  .news-ul li {
    width: 23%;
    margin: 0 1%;
  }
  .mymap {
    height: 300px;
  }
}
