@charset "UTF-8";
/* ===================================================================
CSS information

file name  : copy.css
author     : Abilive
style info : コピー
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
@keyframes FadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes FadeUp {
  0% {
    transform: translateY(-200%);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.25);
  }
}
.con_intro {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_intro {
    width: calc(1260 / 1440 * 100%);
    max-width: calc(1260px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_intro {
    max-width: calc(1260px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_intro {
    max-width: calc(1260px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_intro {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_intro {
    width: calc(330 / 375 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_intro .txt {
    margin-top: 0.71rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_intro .txt {
    margin-top: 1em;
  }
}
@media only screen and (min-width: 768px) {
  .con_intro .txt {
    text-align: center;
  }
}

.con_hagi {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_hagi {
    width: calc(1160 / 1440 * 100%);
    max-width: calc(1160px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_hagi {
    max-width: calc(1160px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_hagi {
    max-width: calc(1160px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_hagi {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_hagi {
    width: calc(330 / 375 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .con_hagi .box_header {
    text-align: center;
  }
}
.con_hagi .box_header .txt_hagi {
  margin-top: 1.42rem;
}
.con_hagi .box_header .img_hagi_map {
  background-color: #fff;
  padding-top: calc(45 / 1160 * 100%);
  padding-bottom: calc(45 / 1160 * 100%);
  justify-content: center;
  margin-top: 4.28rem;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .con_hagi .box_header .img_hagi_map {
    margin-top: 2em;
    overflow: scroll;
    display: block;
  }
}
.con_hagi .box_header .img_hagi_map img {
  width: calc(1048 / 1160 * 100%);
}
@media only screen and (max-width: 767px) {
  .con_hagi .box_header .img_hagi_map img {
    max-width: 1048px;
    width: 937.5px;
    margin-left: 1.5em;
    margin-right: 1.5em;
    margin-top: 1.4em;
    margin-bottom: 1.4em;
  }
}
.con_hagi .box_header .u-scrollable-text {
  display: block;
  margin-top: .5em;
}
.con_hagi .tmp_tab_btn {
  margin-top: 4.28rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .con_hagi .tmp_tab_btn {
    margin-top: 3em;
  }
}
.con_hagi .tmp_tab_btn ul {
  width: 92%;
  max-width: 64.28rem;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .con_hagi .tmp_tab_btn ul {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .con_hagi .tmp_tab_btn li {
    width: calc(300 / 920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_hagi .tmp_tab_btn li {
    width: 32% !important;
  }
}
@media only screen and (min-width: 768px) {
  .con_hagi .tmp_tab_btn li:not(:nth-child(3n+1)) {
    margin-left: calc(10 / 920 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_hagi .tmp_tab_btn li:not(:nth-child(3n+1)) {
    margin-left: 2%;
  }
}
.con_hagi .tmp_tab_btn button {
  position: relative;
}
.con_hagi .tmp_tab_btn button[aria-selected="true"]::before {
  content: "";
  display: block;
  height: 1px;
  width: 3000px;
  background-color: var(--color-gray04);
  bottom: 0;
  position: absolute;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
}
.con_hagi .tmp_tab_btn.is-bottom ul {
  padding-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .con_hagi .tmp_tab_btn.is-bottom ul {
    padding-top: 1.78rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_hagi .tmp_tab_btn.is-bottom ul > li {
    padding-bottom: 0;
    padding-top: 1.25em;
  }
}
.con_hagi .tmp_tab_btn.is-bottom ul > li .a, .con_hagi .tmp_tab_btn.is-bottom ul > li button {
  border-bottom-width: 1px;
  border-top-width: 0;
}
.con_hagi .tmp_tab_btn.is-bottom ul > li .a::after, .con_hagi .tmp_tab_btn.is-bottom ul > li button::after {
  transform: rotate(180deg);
  bottom: auto;
  top: var(--size-btm);
}
.con_hagi .tmp_tab_btn.is-bottom ul > li .a[aria-selected="true"]::before, .con_hagi .tmp_tab_btn.is-bottom ul > li button[aria-selected="true"]::before {
  bottom: auto;
  top: 0;
}

@media only screen and (min-width: 768px) {
  .con_spot {
    margin-top: 5.71rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_spot {
    margin-top: 4em;
  }
}
.con_spot .area_title {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
@media only screen and (min-width: 1025px) {
  .con_spot .area_title {
    width: calc(1260 / 1440 * 100%);
    max-width: calc(1260px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_spot .area_title {
    max-width: calc(1260px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_spot .area_title {
    max-width: calc(1260px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_spot .area_title {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_spot .area_title {
    width: calc(330 / 375 * 100%);
  }
}
.con_spot .box_spot .box_item {
  display: flex;
  max-width: 64.28rem;
}
@media only screen and (min-width: 768px) {
  .con_spot .box_spot .box_item {
    width: 92%;
    margin-top: 4.28rem;
    margin-left: auto;
    margin-right: auto;
  }
  .con_spot .box_spot .box_item:not(:first-child) {
    margin-top: 2.85rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_spot .box_spot .box_item {
    flex-direction: column;
    margin-top: 2em;
  }
  .con_spot .box_spot .box_item:not(:first-child) {
    margin-top: 4em;
  }
}
.con_spot .box_spot .box_item .box_text {
  display: flex;
  width: 100%;
}
@media only screen and (min-width: 1025px) {
  .con_spot .box_spot .box_item .box_text {
    align-items: center;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  .con_spot .box_spot .box_item .box_text {
    align-items: flex-start;
  }
}
.con_spot .box_spot .box_item .box_text > .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
.con_spot .box_spot .box_item .box_text .title {
  margin-right: 0.71rem;
}
.con_spot .box_spot .box_item .box_text .way {
  font-size: 0.79rem;
  background-color: #f5f5f5;
  width: auto;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  padding-left: 1rem;
  padding-right: 1rem;
  margin-top: .25em;
  height: 1.28rem;
  line-height: 1;
  margin-bottom: .25em;
}
.con_spot .box_spot .box_item .box_text .way svg {
  width: 0.6rem;
  margin-right: .25em;
}
.con_spot .box_spot .box_item .box_text .txt {
  line-height: 1.5;
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  .con_spot .box_spot .box_item .box_text .txt {
    line-height: 1.75;
  }
}
.con_spot .box_spot .box_item .box_text .btns {
  margin-top: 1.78rem;
  display: flex;
  margin-left: auto;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .con_spot .box_spot .box_item .box_text .btns {
    width: 100%;
    margin-right: auto;
  }
}
.con_spot .box_spot .box_item .box_text .btns a {
  margin-left: 0.53rem;
  margin-right: 0.53rem;
  width: 8.57rem;
}
@media only screen and (min-width: 768px) {
  .con_spot .box_spot .box_item .box_text .btns a {
    font-size: 0.79rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_spot .box_spot .box_item .box_text .btns a {
    width: calc((100% - 1em) / 2);
    margin-right: 0;
    margin-left: 0;
  }
  .con_spot .box_spot .box_item .box_text .btns a:nth-child(even) {
    margin-left: auto;
  }
}
.con_spot .box_spot .box_item .box_text .btns a svg {
  margin-right: 0;
  margin-left: auto;
}
.con_spot .box_spot .box_item .img {
  order: -1;
}
@media only screen and (min-width: 768px) {
  .con_spot .box_spot .box_item .img {
    width: calc(345 / 900 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_spot .box_spot .box_item .img {
    margin-bottom: 1.25em;
  }
}
.con_spot .box_spot .box_item .img span {
  display: block;
  width: 100%;
  position: relative;
}
.con_spot .box_spot .box_item .img span img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.con_spot .box_spot .box_item .img span::after {
  content: "";
  width: 100%;
  display: block;
}
.con_spot .box_spot .box_item .img span::after {
  padding-bottom: calc(240 / 360 * 100%);
}
@media only screen and (min-width: 768px) {
  .con_spot .box_spot .box_item:has(> .img):not(:first-child) {
    margin-top: 2.14rem;
  }
  .con_spot .box_spot .box_item:has(> .img) .box_text {
    width: calc(520 / 900 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}

@media only screen and (min-width: 768px) {
  .con_spot_explain {
    margin-top: 3.57rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_spot_explain {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 768px) {
  .con_spot_explain .txt {
    margin-top: 1.07rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_spot_explain .txt {
    margin-top: 0.75em;
  }
}
@media only screen and (min-width: 768px) {
  .con_spot_explain .txt {
    text-align: center;
  }
}

.con_lower_links {
  margin-right: auto;
  margin-left: auto;
  border-top: 1px solid var(--color-gray05);
}
@media only screen and (min-width: 1025px) {
  .con_lower_links {
    width: calc(900 / 1440 * 100%);
    max-width: calc(900px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_lower_links {
    max-width: calc(900px * ((16 + 3) / 14));
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) and (max-width: 1600px) {
  .con_lower_links {
    max-width: calc(900px * ((16 + 2) / 14));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_lower_links {
    width: calc(1160 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_lower_links {
    width: calc(300 / 375 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_lower_links {
    margin-top: 7.14rem;
    padding-top: 4.28rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_lower_links {
    padding-top: 4em;
    margin-top: 8em;
  }
}
@media only screen and (min-width: 768px) {
  .con_lower_links ul {
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .con_lower_links ul {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .con_lower_links li {
    width: calc(286 / 900 * 100%);
  }
  .con_lower_links li:not(:first-child) {
    margin-left: calc(21 / 900 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_lower_links li:not(:first-child) {
    margin-top: 2rem;
  }
}
.con_lower_links a {
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  align-items: center;
}
.mouse .con_lower_links a {
  -moz-transition: opacity 0.3s ease-in;
  -o-transition: opacity 0.3s ease-in;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.mouse .con_lower_links a:hover, .touch .con_lower_links a.touchstart {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.touch .con_lower_links a {
  -webkit-tap-highlight-color: transparent;
}
.touch .con_lower_links a.touchend {
  -moz-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}
.con_lower_links .img {
  width: 100%;
  display: block;
  padding-bottom: .75em;
}
.con_lower_links .ic_arrow {
  margin-right: 0;
  margin-left: auto;
}
