@charset "UTF-8";

body.is-modal-open {
  overflow: hidden;
}

.modal .modal-content {
  width: calc(100% - 24px);
  max-height: calc(100vh - 28px);
  padding: 1rem 1rem 1.1rem;
  border-radius: 10px;
}

.modal .modal-inner.search h2 {
  font-size: 1.15rem;
  padding-right: 40px;
}

.modal .modal-inner.language h2 {
  font-size: 1.15rem;
  padding-right: 40px;
}

.modal .modal-inner.language .language-widget a[data-gt-lang] {
  display: flex;
  width: 100%;
  margin: 0 0 0.5rem;
  min-width: 0;
  font-size: 0.92rem;
}

.modal .btn_close {
  width: 34px;
  height: 34px;
  font-size: 1.4rem;
  top: 0.55rem;
  right: 0.55rem;
}

.modal .searchform,
.modal .search-form {
  display: block;
}

.modal .searchform input[type=text],
.modal .search-form input[type=text] {
  width: 100%;
}

.modal .searchform input[type=submit],
.modal .search-form input[type=submit] {
  width: 100%;
  min-height: 44px;
  margin-top: 0.55rem;
}

@media screen and (max-width: 1279px) {
  .page-nav {
    gap: 0.45rem;
    font-size: 0.72rem;
    margin-bottom: 0.5rem;
  }

  .page-nav li::after {
    margin-left: 0.45rem;
  }

  .content h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .content h1 span {
    font-size: 0.78rem;
    padding-top: 0.4rem;
  }

  .spot-heading {
    font-size: 1.22rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
    padding-top: 2.2rem;
    padding-bottom: 0.5rem;
  }

  .content.spot .search-result {
    margin-top: 0.8rem;
    padding: 0.7rem 0.75rem;
    border-radius: 8px;
    background: #edf1f6;
    display: block;
  }

  .content.spot .search-result .count {
    font-size: 0.88rem;
  }

  .content.spot .search-result .count span {
    font-size: 1.2rem;
  }

  .content.spot .search-result .btn {
    margin-top: 0.55rem;
    font-size: 0.74rem;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
  }

  .content.spot .search-result .btn .spot-sort {
    margin-top: 0;
    display: flex;
    gap: 0.25rem;
    align-items: center;
  }

  .content.spot .search-result .btn .spot-sort-btn {
    width: 4.9rem;
    min-height: 28px;
    padding: 0.16rem 0.5rem;
    font-size: 0.68rem;
    line-height: 1.2;
  }

  .content.spot .search-item {
    margin-top: 0.55rem;
    display: block;
    border-bottom: none;
    font-size: 0.84rem;
  }

  .content.spot .search-item dt {
    width: 100%;
    padding: 0;
    font-weight: 700;
    color: #34465e;
  }

  .content.spot .search-item dd {
    width: 100%;
    padding: 0.45rem 0 0;
    border-left: none;
    gap: 0.3rem;
    align-items: flex-start;
  }

  .content.spot .search-item dd .search-tag {
    font-size: 0.72rem;
    line-height: 1.2;
    padding: 0.28rem 0.46rem;
    border-radius: 999px;
    background: #c7b299;
  }

  .content.spot .search-item dd .is-none {
    margin: 0;
    font-size: 0.78rem;
    color: #6e7b8b;
  }

  .content.spot .spot-content {
    padding-top: 0.55rem;
  }

  .content.spot .spot-content>section:first-of-type {
    margin-bottom: 0.6rem;
  }

  .content.spot .spot-content h3 {
    font-size: 1.25rem;
    line-height: 1.45;
  }

  .content.spot .spot-content p {
    padding-top: 0.65rem;
    font-size: 0.92rem;
    line-height: 1.75;
  }

  .content.spot .spot-content .spot-slider {
    width: 100%;
    padding: 1rem 0 1.8rem;
    background: #f7f9fc;
    border-radius: 10px;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
  }

  .content.spot .spot-content .spot-slider .spot-slide-img {
    aspect-ratio: 4/3;
    border-radius: 8px;
  }

  .content.spot .spot-content .spot-slider .spot-slide-text {
    padding-top: 0.65rem;
  }

  .content.spot .spot-content .spot-slider .spot-slide-text h4 {
    font-size: 1.05rem;
  }

  .content.spot .spot-content .spot-slider .spot-slide-text p {
    font-size: 0.86rem;
    line-height: 1.65;
  }

  .content.spot .spot-content .spot-info-table {
    padding-top: 1.5rem;
  }

  .content.spot .spot-content .spot-info-table table {
    font-size: 0.84rem;
    table-layout: fixed;
    border-top: none;
  }

  .content.spot .spot-content .spot-info-table table tbody,
  .content.spot .spot-content .spot-info-table table tr,
  .content.spot .spot-content .spot-info-table table th,
  .content.spot .spot-content .spot-info-table table td {
    display: block;
    width: 100%;
  }

  .content.spot .spot-content .spot-info-table table tr {
    margin-bottom: 0.65rem;
    background: #fff;
  }

  .content.spot .spot-content .spot-info-table table th,
  .content.spot .spot-content .spot-info-table table td {
    padding: 0.55rem 0.5rem;
  }

  .content.spot .spot-content .spot-info-table table th {
    width: 100%;
    font-size: 0.74rem;
    line-height: 1.45;
    font-weight: 700;
    color: #2e4767;
    background: #eef3f8;
  }

  .content.spot .spot-content .spot-info-table table td {
    line-height: 1.65;
    word-break: break-word;
    border-bottom: none;
    padding-top: 0.5rem;
  }

  .content.spot .spot-content .spot-info-table table tr:last-child {
    margin-bottom: 0;
  }

  .content.spot .spot-content .spot-coupon {
    margin-top: 1.6rem;
    padding: 1rem 0.85rem;
    display: block;
    text-align: center;
  }

  .content.spot .spot-content .spot-coupon img {
    width: 8rem;
    margin: 0 auto;
  }

  .content.spot .spot-content .spot-coupon .coupon-text {
    margin-top: 0.7rem;
    font-size: 0.88rem;
    line-height: 1.7;
    text-align: center;
  }

  .content.spot .spot-content .spot-gmap {
    padding-top: 1.6rem;
  }

  .content.spot .spot-content .spot-gmap iframe {
    height: 300px;
  }

  .event-detail-slider .event-slider {
    width: 100%;
    padding: 1rem 0 1.8rem;
    background: #f7f9fc;
    border-radius: 10px;
    padding-left: 0.55rem;
    padding-right: 0.55rem;
  }
  .event-slider .img-wrap {
    border-radius: 10px;
  }
  .event-slider .event-slider-zoom {
    right: 0.55rem;
    bottom: 0.55rem;
    padding: 0.36rem 0.62rem;
    font-size: 0.7rem;
  }
  .event-image-modal .modal-content {
    padding: 0.8rem 0.8rem 0.7rem;
  }
  .event-image-modal-figure {
    min-height: auto;
    padding: 0.7rem;
  }
  .event-image-modal-image {
    max-height: calc(100vh - 9rem);
  }

.event-detail-content .event-main-text {
  font-size: 0.92rem;
  line-height: 1.75;
}

.event-detail-content .event-main-text > * {
  margin-top: 0;
}

.event-detail-content .event-main-text > * + * {
  margin-top: 1em;
}

  .event-detail-content .event-table {
    padding: 1.5rem 0 0.8rem;
  }

  .event-detail-content .event-table table {
    border-top: none;
    font-size: 0.84rem;
  }

  .event-detail-content .event-table table tbody,
  .event-detail-content .event-table table tr,
  .event-detail-content .event-table table th,
  .event-detail-content .event-table table td {
    display: block;
    width: 100%;
  }

  .event-detail-content .event-table table tr {
    margin-bottom: 0.65rem;
  }

  .event-detail-content .event-table table th {
    padding: 0.55rem 0.5rem;
    font-size: 0.74rem;
    line-height: 1.45;
    font-weight: 700;
    color: #2e4767;
    background: #eef3f8;
    border-bottom: none;
  }

  .event-detail-content .event-table table td {
    padding: 0.55rem 0.5rem;
    border-bottom: none;
    line-height: 1.65;
    word-break: break-word;
    padding-top: 0.5rem;
  }

  .event-detail-content .event-table table tr:last-child {
    margin-bottom: 0;
  }

  .event-detail-content .event-gmap {
    padding-top: 1.2rem;
  }

  .event-detail-content .event-gmap iframe {
    height: 300px;
  }

  .event-detail-content .related-events {
    margin-top: 1.6rem;
    padding-top: 1.1rem;
    border-top: solid 1px #e6ebf2;
  }

  .event-detail-content .related-events h2 {
    padding: 0;
    border: none;
    font-size: 1.02rem;
    font-weight: 600;
    text-align: left;
  }

  .event-detail-content .related-events h2::after {
    display: none;
  }

  .event-detail-content .related-events .spot-list {
    padding-top: 0.85rem;
    gap: 0.75rem 2%;
  }

  .event-detail-content .related-events .spot-list--name {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.4;
  }

  .search-page h1 {
    font-size: 1.8rem;
  }

  .search-page-head {
    display: block;
    padding: 0.8rem;
  }

  .search-page-count {
    font-size: 0.9rem;
  }

  .search-page-count span {
    font-size: 1.15rem;
  }

  .search-page-form {
    width: 100%;
    margin-top: 0.7rem;
  }

  .search-page-form .searchform,
  .search-page-form .search-form {
    display: block;
  }

  .search-page-form input[type=text] {
    width: 100%;
  }

  .search-page-form input[type=submit] {
    width: 100%;
    margin-top: 0.45rem;
  }

  .search-page-list .type {
    font-size: 0.74rem;
  }

  .search-page-list h2 {
    font-size: 1rem;
    padding-top: 0.5rem;
  }

  .search-page-list p {
    font-size: 0.9rem;
    line-height: 1.65;
  }

  .news-single-article {
    margin-top: 1.2rem;
    padding: 1rem 0.9rem;
  }

  .news-single-article h2 {
    font-size: 1.3rem;
  }

  .news-single-body {
    padding-top: 1.1rem;
    line-height: 1.8;
    font-size: 0.94rem;
    color: #1f2b3a;
  }
  .news-single-body > * {
    margin-top: 0;
  }
  .news-single-body > * + * {
    margin-top: 1em;
  }
  .news-single-body h1,
  .news-single-body h2,
  .news-single-body h3,
  .news-single-body h4 {
    margin-top: 1.7em;
    line-height: 1.45;
    font-weight: 700;
    color: #1e3556;
  }
  .news-single-body h1 {
    font-size: 1.35rem;
    border-bottom: 2px solid #d8e3f0;
    padding-bottom: 0.3em;
  }
  .news-single-body h2 {
    font-size: 1.2rem;
    border-left: 4px solid #4473ab;
    background: #f7fbff;
    padding: 0.18em 0 0.18em 0.55em;
  }
  .news-single-body h3 {
    font-size: 1.07rem;
    border-bottom: 1px solid #dfe4ec;
    padding-bottom: 0.3em;
  }
  .news-single-body h4 {
    font-size: 1rem;
    color: #244a77;
  }
  .news-single-body p {
    margin: 1.15em 0 0;
    line-height: 1.8;
  }
  .news-single-body > p:first-child {
    margin-top: 0;
  }
  .news-single-body ul,
  .news-single-body ol {
    padding-left: 1.25em;
  }
  .news-single-body li + li {
    margin-top: 0.35em;
  }
  .news-single-body img {
    max-width: 100%;
    height: auto;
  }
  .news-single-body figure {
    margin: 1.2em 0;
  }
  .news-single-body blockquote {
    margin: 1.2em 0;
    padding: 0.75em 0.85em;
    background: #f7fafd;
    border-left: 4px solid #9fbad8;
  }
  .news-single-body hr {
    margin: 1.6em 0;
    border: 0;
    border-top: 1px solid #dfe4ec;
  }

  .member-news ul {
    padding: 1.2rem 0;
  }

  .member-news ul li a {
    display: block;
    padding: 0.72rem 0.45rem;
  }

  .member-news ul li a .news-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.24rem;
  }

  .member-news ul li a time,
.member-news ul li a .date {
  font-size: 0.8rem;
  line-height: 1.25;
  color: #667;
}

.member-news ul li a .news-meta span.info,
.member-news ul li a .news-meta span.topics,
.member-news ul li a .news-meta span.area,
.member-news ul li a .news-meta span.member,
.member-news ul li a .news-meta span.event,
.member-news ul li a .news-meta span.business,
.member-news ul li a .news-meta span.press {
  display: inline-block;
  font-size: 0.65rem;
  line-height: 1.1rem;
  border-radius: 0.55rem;
  color: #fff;
  position: relative;
}

.member-news ul li a .news-meta span.info {
  background: #b2a1a1;
  padding: 0 0.6rem 0 1.6rem;
}

.member-news ul li a .news-meta span.info::before {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-info.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news ul li a .news-meta span.area {
  background: #4aa6b5;
  padding: 0 0.6rem 0 1.6rem;
}

.member-news ul li a .news-meta span.area::before {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-info.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news ul li a .news-meta span.topics {
  background: #b9852a;
  padding: 0 0.6rem 0 1.6rem;
}

.member-news ul li a .news-meta span.topics::before {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-info.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news ul li a .news-meta span.member {
  background: #7db27f;
  padding: 0 0.6rem 0 1.6rem;
}

.member-news ul li a .news-meta span.member::before {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-member.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news ul li a .news-meta span.event {
  background: #e58a8a;
  padding: 0 0.6rem 0 1.6rem;
}

.member-news ul li a .news-meta span.event::before {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-event.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news ul li a .news-meta span.business {
  background: #97b4cb;
  padding: 0 0.6rem 0 1.3rem;
}

.member-news ul li a .news-meta span.business::before {
  content: "";
  height: 0.8rem;
  width: 1rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-business.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news ul li a .news-meta span.press {
  background: #d49073;
  padding: 0 0.6rem 0 1.3rem;
}

.member-news ul li a .news-meta span.press::before {
  content: "";
  height: 0.8rem;
  width: 1rem;
  position: absolute;
  left: 0.2rem;
  top: 0.15rem;
  background-image: url(../img/news-press.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 50%;
}

.member-news--content {
  line-height: 1.8;
}

.member-news--content > * {
  margin-top: 0;
}

.member-news--content > * + * {
  margin-top: 0.95em;
}

.special-archive-grid {
  padding: 1.2rem 0;
}

  .special-archive-grid-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .special-archive-card {
    display: block;
    color: #000;
    text-decoration: none;
    border: solid 1px #e4e4e4;
    background: #fff;
  }

  .special-archive-card-image {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f3f3f3;
  }

  .special-archive-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .special-archive-card-body {
    padding: 0.8rem 0.85rem 0.95rem;
  }

  .special-archive-card-body h2 {
    border: none;
    padding: 0;
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.45;
    text-align: left;
  }

  .special-archive-card-body h2::after {
    content: none;
  }

  .special-archive-card-body p {
    margin-top: 0.5rem;
    font-size: 0.86rem;
    line-height: 1.65;
    color: #333;
  }

  .page-404-box {
    margin-top: 1.2rem;
    padding: 1.2rem 0.9rem;
    text-align: left;
  }

  .page-404-actions {
    display: block;
  }

  .page-404-actions a {
    display: block;
    width: 100%;
    text-align: center;
  }

  .page-404-actions a+a {
    margin-top: 0.45rem;
  }

  .link-directory-section {
    margin-top: 1.2rem;
  }

  .link-directory-section h2 {
    font-size: 1.2rem;
    padding-bottom: 0.6rem;
  }

  .link-directory-list li {
    margin-top: 0.65rem;
  }

  .link-directory-list li a {
    padding: 0.8rem;
  }

  .link-directory-list li .title {
    font-size: 0.95rem;
  }

  .link-directory-list li .desc {
    font-size: 0.9rem;
    line-height: 1.65;
  }

  .access-page-section {
    margin-top: 1.2rem;
  }

  .access-page-section h2 {
    font-size: 1.2rem;
    padding-bottom: 0.6rem;
  }

  .access-page-section-about {
    max-width: none;
  }

  .access-page-grid {
    grid-template-columns: 1fr;
  }

  .access-page-grid .card {
    padding: 0.8rem;
  }

  .access-page-grid .card h3 {
    font-size: 0.96rem;
  }

  .access-page-grid .card p {
    font-size: 0.9rem;
    line-height: 1.65;
  }

  .access-page-subtitle {
    font-size: 1rem;
    margin-top: 0.8rem;
    border-left-width: 4px;
    padding: 0.45rem 0.65rem 0.45rem 0.55rem;
  }

  .access-page-note {
    font-size: 0.78rem;
  }

  .tourist-center-page .access-page-section {
    margin-top: 1.5rem;
  }

  .tourist-center-page .access-page-section h2 {
    font-size: 1.08rem;
    line-height: 1.45;
  }

  .tourist-center-page .access-page-section-about {
    padding: 0.9rem 0.75rem;
    border-radius: 10px;
  }

  .tourist-center-page .tourist-center-page-mini-heading {
    margin-top: 0.7rem;
    font-size: 0.92rem;
    line-height: 1.4;
  }

  .tourist-center-page .access-page-grid {
    margin-top: 0.7rem;
  }

  .tourist-center-page .access-page-grid .card {
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  .tourist-center-page .access-page-grid .card p+p {
    margin-top: 0.55rem;
  }

  .tourist-center-page .access-page-grid .card img {
    border-radius: 0;
  }

  .tourist-center-page .access-page-links li {
    margin-top: 0.65rem;
  }

  .tourist-center-page .access-page-links a {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 0.55rem 0.75rem 0.5rem;
    text-align: center;
    color: #fff;
    background: #35679c;
    border: solid 1px #35679c;
    border-radius: 999px;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
  }

  .about-page-section {
    margin-top: 1.2rem;
  }

  .about-page-index {
    display: block;
  }

  .about-page-index li+li {
    margin-top: 0.4rem;
  }

  .about-page-index a {
    display: block;
    text-align: center;
  }

  .about-page-section h2 {
    font-size: 1.28rem;
    padding: 0.5rem 0.65rem;
    border-left-width: 5px;
  }

  .about-page-section p {
    margin-top: 0.65rem;
    line-height: 1.7;
  }

  .about-page-card {
    padding: 0.8rem;
  }

  .about-page-image {
    margin-top: 0.85rem;
    margin-bottom: 1rem;
  }

  .about-page-subtitle {
    font-size: 1.05rem;
    margin-top: 1rem;
    margin-bottom: 0.45rem;
    padding-left: 0.5rem;
    border-left-width: 3px;
  }

  .about-page-list-numbered {
    padding-left: 1.2rem;
  }

  .about-page-list-numbered li {
    font-size: 0.9rem;
    line-height: 1.6;
  }

  .about-page-fee th,
  .about-page-fee td {
    font-size: 0.82rem;
    padding: 0.45rem 0.45rem;
  }

  .about-page-benefits h4 {
    font-size: 0.95rem;
  }

  .about-page-caption {
    font-size: 0.78rem;
  }

  .about-page-actions {
    display: block;
  }

  .about-page-actions a {
    display: block;
    width: 100%;
    text-align: center;
  }

  .about-page-actions a+a {
    margin-top: 0.45rem;
  }

  .about-page-grid {
    grid-template-columns: 1fr;
  }

  .about-page-docs .about-docs-list {
    margin-top: 0.8rem;
    gap: 0.7rem;
  }

  .about-page-docs .about-docs-basic {
    margin-top: 0.8rem;
    padding: 0;
    border-radius: 0;
  }

  .about-page-docs .about-docs-basic-title {
    font-size: 0.98rem;
    padding: 0.4rem 0.6rem 0.38rem 0.5rem;
    border-left-width: 4px;
  }

  .about-page-docs .about-docs-basic-links {
    margin-top: 0.55rem;
    grid-template-columns: none;
    gap: 0;
  }

  .about-page-docs .about-docs-basic-links a {
    font-size: 0.9rem;
    padding: 0;
  }

  .about-page-docs .about-docs-card {
    padding: 0.75rem 0.7rem 0.8rem;
    border-radius: 8px;
  }

  .about-page-docs .about-docs-year {
    font-size: 0.95rem;
  }

  .about-page-docs .about-docs-links {
    margin-top: 0.55rem;
    gap: 0.38rem;
  }

  .about-page-docs .about-docs-links a {
    display: block;
    width: 100%;
    font-size: 0.84rem;
    text-align: center;
    padding: 0.42rem 0.7rem;
  }

  .inquiry-form-section {
    margin-top: 1.2rem;
    padding: 1rem 0.8rem;
  }

  .inquiry-form-section .wpcf7 {
    margin-top: 0;
  }

  .inquiry-form-section .wpcf7-form p {
    margin-bottom: 0.85rem;
  }

  .inquiry-form-section .wpcf7-form label {
    font-size: 0.9rem;
    margin-bottom: 0.35rem;
  }

  .inquiry-form-section .wpcf7-form input[type=text],
  .inquiry-form-section .wpcf7-form input[type=email],
  .inquiry-form-section .wpcf7-form textarea {
    padding: 0.65rem 0.7rem;
    font-size: 16px;
  }

  .inquiry-form-section .wpcf7-form textarea {
    min-height: 180px;
  }

  .inquiry-form-section .wpcf7-form input[type=submit] {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .inquiry-form-section .wpcf7-spinner {
    display: block;
    margin-top: 0.35rem;
  }

  .inquiry-form-section .wpcf7 form .wpcf7-response-output {
    font-size: 0.84rem;
  }

  .privacy-page-section {
    margin-top: 1.2rem;
  }

  .privacy-page-section h2 {
    font-size: 1.24rem;
    padding: 0.5rem 0.65rem;
    border-left-width: 5px;
  }

  .privacy-page-section h3 {
    font-size: 1rem;
  }

  .privacy-page-section p {
    margin-top: 0.65rem;
    line-height: 1.7;
  }

  .privacy-page-section ul {
    padding-left: 1.05rem;
  }

  .privacy-page-section ul li {
    font-size: 0.92rem;
    line-height: 1.65;
  }

  .fortravelagency-page-section {
    margin-top: 1.2rem;
    padding: 0.95rem 0.8rem;
  }

  .fortravelagency-page-section h2 {
    font-size: 1.22rem;
    line-height: 1.45;
  }

  .fortravelagency-page-date {
    font-size: 0.82rem;
  }

  .fortravelagency-page-image {
    margin-top: 0.8rem;
  }

  .fortravelagency-page-links {
    margin-top: 0.8rem;
  }

  .fortravelagency-page-links a {
    font-size: 0.9rem;
    padding: 0.65rem 0.75rem;
  }

  /* ヘッダー */
  header .header-logo {
    padding: 8px;
  }

  header .header-logo img {
    width: auto;
    height: 56px;
  }

  header nav .nav {
    display: none;
  }

  header nav .header-login a {
    display: none;
  }

  header nav .header-language a {
    display: none;
  }

  header nav .header-search {
    display: block;
    width: 54px;
    height: 54px;
  }

  header nav .header-search a {
    display: flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    background: #4473ab;
    transition: 0.3s;
  }

  header nav .header-search a:hover {
    background: #265584;
  }

  header nav .header-search a img {
    width: 18px;
  }

  header .guide-logo {
    width: calc(100% - 62px - 0.4rem - 64px - 64px);
    max-width: none;
    padding-top: 0;
    position: absolute;
    top: 12px;
    left: 56px;
  }

  header .guide-logo img {
    display: block;
    width: auto;
    height: 48px;
    margin: 0 auto;
  }

  /* 検索ボタン */
  .btn-search {
    display: none;
  }
}

@media screen and (max-width: 1350px) {

  /* トップページ */
  .top-event {
    padding: 4rem 0;
  }

  .top-event--inner {
    display: block;
  }

  .top-event--inner .event-calendarbox {
    width: 100%;
    padding: 2%;
  }

  .top-event--inner .event-calendarbox #event-calendar {
    width: 100%;
  }

  .top-event--inner .event-list {
    padding-top: 2rem;
    width: 100%;
  }

  .top-area .area-container {
    padding-top: 3rem;
  }

  .top-area--images {
    flex-wrap: wrap;
    gap: 0.3rem 0;
  }

  .top-area--images .left {
    width: 100%;
    position: relative;
  }

  .top-area--images .right {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 0.5%;
    align-content: space-between;
  }

  .top-area--images .right .col {
    width: 24.625%;
  }

  .top-discovery {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 4rem 0;
  }

  .top-discovery .col01 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding-right: 6%;
  }

  .top-discovery .col01 .image {
    width: 64%;
  }

  .top-discovery .col01 .title {
    width: 30%;
  }

  .top-discovery .col01 .title h2 {
    width: 100%;
    padding-top: 6vw;
    font-size: 2.4vw;
  }

  .top-discovery .col01 .title h2 span {
    font-size: 1.4vw;
  }

  .top-discovery .col02 {
    width: 100%;
    padding-top: 2rem;
    padding-right: 0;
  }

  .top-discovery .col02 .feature-btn a {
    margin: 0 auto;
  }

  .top-ranking {
    padding: 7rem 0;
  }

  .top-ranking--inner {
    width: 92%;
    max-width: 1280px;
    margin: 0 auto;
    display: block;
  }

  .top-ranking--inner .col-left {
    width: 100%;
  }

  .top-ranking--inner .col-left h2 {
    text-align: center;
  }

  .top-ranking--inner .col-left p {
    text-align: center;
  }

  .top-ranking--inner .col-right {
    width: 100%;
    margin-top: 0;
    padding: 6rem 0 4rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(2) {
    margin-top: 1rem;
    margin-bottom: -1rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(3) {
    margin-top: 2rem;
    margin-bottom: -2rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(4) {
    margin-top: 3rem;
    margin-bottom: -3rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(5) {
    margin-top: 4rem;
    margin-bottom: -4rem;
  }

  .top-ranking--inner---btn {
    padding-top: 1rem;
  }

  .top-ranking--inner---btn a {
    max-width: 240px;
    margin: 0 auto;
  }

  .top-sns {
    padding: 4rem 0;
    background: none;
  }

  .top-sns h2 {
    color: #000;
  }

  .top-sns h2 span {
    display: block;
    font-size: 0.9rem;
    padding-top: 1rem;
  }

  .top-sns--inner {
    width: 100%;
    /*max-width: 1280px;*/
    display: block;
    padding-top: 1rem;
  }

  .top-sns--inner .col {
    width: 100%;
    padding: 3rem 4%;
  }

  .top-sns--inner .col.satoyama {
    background: rgb(34, 181, 115);
  }

  .top-sns--inner .col.umibe {
    background: rgb(105, 171, 196);
  }
}

@media screen and (max-width: 820px) {

  /* ヘッダー */
  header .header-logo {
    padding: 8px;
  }

  header .header-logo img {
    width: auto;
    height: 48px;
  }

  header nav {
    padding: 0.4rem;
    gap: 0.3rem;
  }

  header nav .header-search {
    width: 48px;
    height: 48px;
  }

  header nav .header-search a {
    width: 48px;
    height: 48px;
  }

  header nav .header-search a img {
    width: 16px;
  }

  header .guide-logo {
    width: calc(100% - 54px - 0.4rem - 54px - 48px);
  }

  header .guide-logo img {
    height: 40px;
  }

  .hm_wrap {
    padding: 9px;
  }

  .hm_list {
    width: 100%;
    max-width: none;
    margin-top: 54px;
    border-radius: 0;
  }

  .hm_list .hm_list-head {
    padding-top: 0.8rem;
  }

  .hm_list .hm_list-tools {
    gap: 0.4rem;
  }

  .hm_list .hm_list-tools a {
    min-height: 38px;
    font-size: 0.78rem;
    letter-spacing: 0.01em;
  }

  .hm_list ul li a {
    font-size: 0.92rem;
  }

  .spot-nav {
    width: 100%;
    max-width: none;
    gap: 0.7rem 2%;
    padding-top: 1.4rem;
  }

  .spot-nav .col {
    width: 49%;
    padding: 0.35rem 0.25rem 0.45rem;
    border: solid 1px #e2e7ef;
    border-radius: 10px;
  }

  .spot-nav .col span {
    display: block;
    font-size: 0.82rem;
    line-height: 1.3;
  }

  .spot-nav .col img {
    display: block;
    width: 100%;
    max-width: 76px;
    height: auto;
    margin: 0.25rem auto 0;
  }

  .spot-filter {
    gap: 0.55rem 1%;
    padding-top: 1.1rem;
    align-items: flex-start;
  }

  .spot-filter-clear {
    margin-top: 0.1rem;
  }

  .spot-filter-clear button {
    font-size: 0.78rem;
  }

  .spot-filter-group {
    width: 32.6666666667%;
    margin-top: 0;
  }

  .spot-filter-trigger {
    padding: 0.62rem 1.2rem 0.62rem 0.5rem;
    min-height: 44px;
    border-radius: 8px;
    font-size: 0.82rem;
    line-height: 1.3;
  }

  .spot-filter-trigger::after {
    right: 0.5rem;
    top: 0.7rem;
  }

  .spot-filter-keyword {
    width: 100%;
    margin-top: 0.5rem;
  }

  .spot-filter-keyword input {
    width: 100%;
    min-height: 52px;
    padding: 0.82rem 0.95rem;
    font-size: 1rem;
    border-radius: 10px;
  }

  .spot-filter-options {
    width: 100%;
    max-width: none;
    padding: 0.9rem 0.7rem;
  }

  .spot-filter-options button {
    min-height: 44px;
    padding: 0.56rem 0.5rem;
    font-size: 0.86rem;
    line-height: 1.25;
    text-align: center;
    border: solid 1px #e1e7f0;
    border-radius: 8px;
    background: #f8fbff;
    color: #1f3552;
  }

  .spot-filter-options button.is-selected {
    background: #ac121b;
    color: #fff;
    border-color: #ac121b;
  }

  .spot-filter-group.is-open .spot-filter-options {
    gap: 6px 2%;
  }

  .spot-filter-group.is-open .spot-filter-options li {
    width: 49%;
  }

  .spot-filter-group.is-open .spot-filter-options li.area-parent {
    width: 100%;
    margin-bottom: 0.55rem;
  }

  .spot-filter-group.is-open .spot-filter-options li.area-parent button.area-parent-btn {
    width: 100%;
  }

  .spot-filter-group.is-open .spot-filter-options li.area-parent .area-children {
    gap: 6px 2%;
    padding-left: 0;
    margin-top: 0.45rem;
  }

  .spot-filter-group.is-open .spot-filter-options li.area-parent:last-child {
    margin-bottom: 0;
  }

  .spot .genre-item .genre-btn {
    min-height: 44px;
    padding: 0.56rem 0.5rem;
    font-size: 0.86rem;
    line-height: 1.25;
    text-align: center;
    border: solid 1px #e1e7f0;
    border-radius: 8px;
  }

  .spot-filter-group[data-filter=genre].is-open .spot-filter-options.genre-list {
    max-height: 62vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 0.4rem;
  }

  .spot-filter-group[data-filter=genre].is-open .spot-filter-options.genre-list>li.genre-item.is-child-only {
    width: 49%;
  }

  .spot-filter-group[data-filter=genre].is-open .spot-filter-options.genre-list>li.genre-item.has-grandchild {
    width: 100%;
    padding: 0.7rem 0;
    margin-bottom: 0.55rem;
  }

  .spot-filter-group[data-filter=genre].is-open .spot-filter-options.genre-list>li.genre-item.has-grandchild .genre-parent {
    width: 100%;
    margin-bottom: 0.35rem;
  }

  .spot-filter-group[data-filter=genre].is-open .spot-filter-options.genre-list>li.genre-item.has-grandchild .spot-sub-genre {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 2%;
    padding-left: 0;
  }

  .spot-filter-group[data-filter=genre].is-open .spot-filter-options.genre-list>li.genre-item.has-grandchild:last-child {
    margin-bottom: 0;
  }

  .content.spot .spot-filter.event-filter .spot-filter-trigger {
    font-size: 0.76rem;
    padding: 0.58rem 1rem 0.58rem 0.42rem;
    letter-spacing: 0;
    white-space: nowrap;
    word-break: keep-all;
  }

  .content.spot .spot-list {
    gap: 1rem 2%;
    padding-top: 1.3rem;
  }

  .content.spot .spot-list .col {
    width: 49%;
  }

  .content.spot .spot-list--name {
    font-size: 1.02rem;
    line-height: 1.35;
  }

  .content.spot .spot-list--sub {
    padding-top: 0.42rem;
    font-size: 0.84rem;
    line-height: 1.35;
  }

  .content.spot .spot-list--text {
    padding-top: 0.3rem;
    font-size: 0.8rem;
    line-height: 1.5;
  }

  .content.spot .related-spots {
    margin-top: 1.6rem;
    padding-top: 1.1rem;
    border-top: solid 1px #e6ebf2;
  }

  .content.spot .related-spots h2 {
    padding: 0;
    border: none;
    font-size: 1.02rem;
    font-weight: 600;
    text-align: left;
  }

  .content.spot .related-spots h2::after {
    display: none;
  }

  .content.spot .related-spots .spot-list {
    padding-top: 0.85rem;
    gap: 0.75rem 2%;
  }

  .content.spot .related-spots .spot-list--name {
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.4;
  }

  .member-nav {
    justify-content: center;
    gap: 0.4rem;
    padding: 0.9rem 0 1.25rem;
  }

  .member-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(50% - 0.2rem);
    min-height: 2.7rem;
    padding: 0.42rem 0.72rem;
    font-size: 0.8rem;
    text-align: center;
  }

  .member-dashboard .member-forum--inner {
    padding-top: 0.65rem;
  }

  .member-dashboard .member-forum #bbpress-forums li.bbp-header .bbp-topic-voice-count,
  .member-dashboard .member-forum #bbpress-forums li.bbp-header .bbp-topic-reply-count,
  .member-dashboard .member-forum #bbpress-forums li.bbp-body .bbp-topic-voice-count,
  .member-dashboard .member-forum #bbpress-forums li.bbp-body .bbp-topic-reply-count {
    display: none;
  }

  .member-dashboard .member-forum #bbpress-forums li.bbp-header .bbp-topic-title,
  .member-dashboard .member-forum #bbpress-forums li.bbp-body .bbp-topic-title {
    width: 64%;
  }

  .member-dashboard .member-forum #bbpress-forums li.bbp-header .bbp-topic-freshness,
  .member-dashboard .member-forum #bbpress-forums li.bbp-body .bbp-topic-freshness {
    width: 36%;
  }

  .member-dashboard .member-forum #bbpress-forums .bbp-topic-title .bbp-topic-permalink {
    font-size: 0.86rem;
    line-height: 1.4;
  }

  .member-dashboard .member-forum #bbpress-forums .bbp-topic-freshness {
    font-size: 0.72rem;
  }

  .member--forum {
    padding-top: 1.1rem;
  }

  .member--forum h1 {
    font-size: 1.2rem;
    line-height: 1.4;
    padding-bottom: 0.7rem;
  }

  .member--forum #bbpress-forums {
    font-size: 0.84rem;
    overflow-x: hidden;
  }

  .member--forum #bbpress-forums ul.bbp-forums,
  .member--forum #bbpress-forums ul.bbp-topics,
  .member--forum #bbpress-forums ul.bbp-replies {
    border-radius: 8px;
  }

  .member--forum #bbpress-forums li.bbp-header,
  .member--forum #bbpress-forums li.bbp-footer {
    padding: 0.62rem 0.6rem;
    font-size: 0.7rem;
    letter-spacing: 0;
  }

  .member--forum #bbpress-forums li.bbp-body ul.forum,
  .member--forum #bbpress-forums li.bbp-body ul.topic,
  .member--forum #bbpress-forums li.bbp-body ul.reply {
    padding: 0.72rem 0.6rem;
  }

.member--forum #bbpress-forums .bbp-forum-meta,
.member--forum #bbpress-forums .bbp-topic-meta,
.member--forum #bbpress-forums .bbp-topic-started-by,
.member--forum #bbpress-forums .bbp-topic-freshness-author {
  font-size: 0.72rem;
}

.member--forum #bbpress-forums .bbp-topic-content h1,
.member--forum #bbpress-forums .bbp-topic-content h2,
.member--forum #bbpress-forums .bbp-topic-content h3,
.member--forum #bbpress-forums .bbp-topic-content h4,
.member--forum #bbpress-forums .bbp-topic-content h5,
.member--forum #bbpress-forums .bbp-topic-content h6,
.member--forum #bbpress-forums .bbp-reply-content h1,
.member--forum #bbpress-forums .bbp-reply-content h2,
.member--forum #bbpress-forums .bbp-reply-content h3,
.member--forum #bbpress-forums .bbp-reply-content h4,
.member--forum #bbpress-forums .bbp-reply-content h5,
.member--forum #bbpress-forums .bbp-reply-content h6 {
  margin: 1.2em 0 0.55em;
  line-height: 1.4;
  color: #18314d;
  font-weight: 700;
  text-align: left;
}

.member--forum #bbpress-forums .bbp-topic-content img,
.member--forum #bbpress-forums .bbp-reply-content img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
}

.member--forum #bbpress-forums .bbp-topic-content figure,
.member--forum #bbpress-forums .bbp-topic-content .wp-caption,
.member--forum #bbpress-forums .bbp-topic-content .wp-block-image,
.member--forum #bbpress-forums .bbp-reply-content figure,
.member--forum #bbpress-forums .bbp-reply-content .wp-caption,
.member--forum #bbpress-forums .bbp-reply-content .wp-block-image {
  width: auto !important;
  max-width: 100%;
}

.member--forum #bbpress-forums .bbp-topic-content h1,
.member--forum #bbpress-forums .bbp-reply-content h1 {
  font-size: 1.4rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #c9daee;
}

.member--forum #bbpress-forums .bbp-topic-content h2,
.member--forum #bbpress-forums .bbp-reply-content h2 {
  font-size: 1.2rem;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0.6rem;
  background: none;
  border-left: 4px solid #4f83b8;
  border-bottom: none;
  position: static;
}

.member--forum #bbpress-forums .bbp-topic-content h2::after,
.member--forum #bbpress-forums .bbp-reply-content h2::after {
  content: none;
}

.member--forum #bbpress-forums .bbp-topic-content h3,
.member--forum #bbpress-forums .bbp-reply-content h3 {
  font-size: 1.08rem;
  padding-bottom: 0.28rem;
  border-bottom: 1px solid #d9e5f2;
}

.member--forum #bbpress-forums .bbp-topic-content h4,
.member--forum #bbpress-forums .bbp-reply-content h4 {
  font-size: 0.98rem;
  padding-left: 0.55rem;
  border-left: 3px solid #9ab8d6;
}

.member--forum #bbpress-forums .bbp-topic-content h5,
.member--forum #bbpress-forums .bbp-reply-content h5 {
  font-size: 0.9rem;
  color: #2d4c70;
}

.member--forum #bbpress-forums .bbp-topic-content h6,
.member--forum #bbpress-forums .bbp-reply-content h6 {
  font-size: 0.82rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #5f7897;
}

.member--forum #bbpress-forums .bbp-pagination {
  margin-top: 0.75rem;
  font-size: 0.74rem;
  }

  .member--forum #bbpress-forums .bbp-pagination-links .page-numbers {
    min-width: 26px;
    height: 26px;
    font-size: 0.72rem;
  }

  .member--forum #bbpress-forums li.bbp-body div.bbp-topic-author,
  .member--forum #bbpress-forums li.bbp-body div.bbp-reply-author {
    display: none;
  }

  .member--forum #bbpress-forums li.bbp-body div.bbp-topic-content,
  .member--forum #bbpress-forums li.bbp-body div.bbp-reply-content {
    margin-left: 0 !important;
    padding-left: 0;
    float: none;
    border-left: none;
  }

  .new-member .member-card {
    margin-top: 1rem;
    display: block;
    padding: 0.95rem;
    border: solid 1px #e3e9f2;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(20, 40, 62, 0.08);
  }

  .new-member .member-card .member-img {
    width: 100%;
    margin-bottom: 0.7rem;
  }

  .new-member .member-card .member-text {
    width: 100%;
  }

  .new-member .member-card .member-text .member_category span {
    font-size: 0.72rem;
    padding: 0.26rem 0.56rem;
  }

  .new-member .member-card .member-text h3 {
    font-size: 1rem;
    line-height: 1.45;
    padding-top: 0.45rem;
  }

  .new-member .member-card .member-text p {
    font-size: 0.84rem;
    line-height: 1.65;
    padding-top: 0.42rem;
    word-break: break-word;
  }
  .new-member .member-card--individual {
    padding: 0.8rem 0.95rem;
  }
  .new-member .member-card--individual .member-text h3 {
    padding-top: 0;
    font-size: 0.96rem;
  }

  .member-profile {
    padding: 1.3rem 1rem;
  }

  .member-profile .member-profile-image-preview {
    width: 120px;
    margin: 0 auto;
  }

  .member-profile .member-profile-image-help {
    font-size: 0.78rem;
  }

  .member-profile .member-profile-checkbox {
    font-size: 0.82rem;
    line-height: 1.5;
  }

  /* フッター */
  footer .footer {
    /* background: #ac121b; */
    background: #2f5d8a;
    color: #fff;
    padding: 4rem 0;
  }

  footer .footer-nav {
    font-size: 0.72rem;
  }

  footer .footer-nav dd {
    padding-top: 0.6rem;
  }

  footer .footer-nav dd ul li {
    padding-bottom: 0;
  }

  footer .footer-nav dd ul li.btn {
    padding-top: 1rem;
  }

  footer .footer-nav dd ul li.btn a {
    padding: 0.1rem;
  }

  footer .footer-nav-info {
    width: 100%;
    padding-bottom: 2rem;
  }

  footer .footer-nav-info dd ul {
    width: 48%;
  }

  footer .footer-nav-info dd ul ul {
    width: 100%;
    padding: 0.8rem 0 0 0.8rem;
  }

  footer .footer-nav-about {
    width: 48%;
  }

  footer .footer-nav-sns {
    width: 48%;
  }

  footer .footer-nav-sns a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
  }

  footer .footer-nav-sns img {
    width: 1.2rem;
    flex-shrink: 0;
    vertical-align: middle;
  }

  footer .footer-logo {
    width: 80%;
  }

  footer .footer-adsense {
    width: 90%;
    margin: 1.5rem auto;
    text-align: center;
  }

  footer .footer-adsense .adsbygoogle {
    margin: 0 auto;
  }

  footer .footer .copyright {
    font-size: 0.6rem;
  }

  /* トップページ */
  .top-news {
    display: block;
  }

  .top-news--title {
    width: 100%;
  }

  .top-news--title h2 {
    text-align: center;
    font-size: 2.4rem;
  }

  .top-news--title h2 span {
    display: block;
    font-size: 0.8rem;
    padding-top: 0.4rem;
  }

  .top-news--list {
    width: 100%;
    display: block;
    padding-top: 2rem;
  }

  .top-news--list .col {
    width: 100%;
    padding: 1rem 0 0 0;
  }

.top-news--list .col a .date {
  display: block;
  margin-bottom: 0.22rem;
  line-height: 1.25;
}

.top-news--list .col a .top-news--meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.top-news--list .col a .top-news--meta .date {
  margin-bottom: 0;
}

.top-news--list .col a p {
  display: block;
  margin-top: 0.32rem;
}

  .top-news--btn {
    padding-top: 1rem;
  }

  .top-news--btn a {
    max-width: 180px;
    font-size: 0.8rem;
    margin: 0 auto;
  }

  .top h1 {
    padding-top: 1rem;
    font-size: 3rem;
    line-height: 1.2;
  }

  .top h1 span {
    display: inline-block;
  }

  .top-spot {
    padding: 6rem 0 4rem;
  }

  .top-spot h2 {
    font-size: 2.4rem;
  }

  .top-spot h2 span {
    font-size: 0.8rem;
    padding-top: 0.6rem;
  }

  .top-spot .tab-container {
    padding-top: 2rem;
  }

  .top-spot .tab-container ul li {
    font-size: 0.7rem;
  }

  .top-spot {
    /* コンテンツを非表示。 */
  }

  .top-spot .tab-content {
    margin-top: 136px;
  }

  .top-spot--list {
    gap: 0.6rem 2%;
  }

  .top-spot--list .col {
    width: 49%;
  }

  .top-spot--btn {
    background: #ac121b;
    padding-bottom: 3rem;
  }

  .top-spot--btn a {
    max-width: 220px;
    font-size: 0.8rem;
  }

  .top-event {
    padding: 0 0 4rem;
  }

  .top-event h2 {
    font-size: 2.4rem;
  }

  .top-event h2 span {
    font-size: 0.8rem;
    padding-top: 0.6rem;
  }

  .top-event--inner {
    display: block;
  }

  .top-event--inner .event-calendarbox {
    width: 100%;
    padding: 2%;
  }

  .top-event--inner .event-calendarbox #event-calendar {
    width: 100%;
  }

  .top-event--inner .event-list {
    padding-top: 2rem;
    width: 100%;
  }

  .top-event--inner .event-list h3 span {
    display: inline-block;
  }

  .top-event--inner .event-list--cols .col {
    width: 49%;
  }

  .top-event--btn {
    padding-top: 2rem;
  }

  .top-event--btn a {
    max-width: 220px;
    font-size: 0.9rem;
  }

  .top-area h2 {
    font-size: 2.4rem;
  }

  .top-area h2 span {
    font-size: 0.8rem;
    padding-top: 0.6rem;
  }

  .top-area--text {
    padding-top: 2rem;
    padding-left: 4%;
    padding-right: 4%;
  }

  .top-area .area-container {
    padding-top: 1rem;
  }

  .top-area .area-container ul {
    flex-wrap: wrap;
    gap: 0.4rem 1%;
  }

  .top-area .area-container ul li {
    width: 49.5%;
    font-size: 0.9rem;
  }

  .top-area--images {
    flex-wrap: wrap;
    gap: 0.1rem 0;
  }

  .top-area--images .left {
    width: 100%;
    position: relative;
  }

  .top-area--images .left .text {
    position: relative;
    top: 0;
    background: none;
    padding: 1rem;
    flex-wrap: wrap;
    gap: 0.3rem 0.4rem;
    color: #000;
  }

  .top-area--images .left .text .area-number {
    font-size: 1.2rem;
  }

  .top-area--images .left .text .area-name {
    font-size: 1.6rem;
    font-weight: 700;
  }

  .top-area--images .left .text .area-name.inage {
    font-size: 1.4rem;
    line-height: 1;
  }

  .top-area--images .left .text dl {
    width: 100%;
  }

  .top-area--images .left .text dl dt {
    font-size: 1rem;
  }

  .top-area--images .left .text dl dd {
    font-size: 0.8rem;
  }

  .top-area--images .right {
    gap: 0.1rem 0.5%;
  }

  .top-area--images .right .col {
    width: 49.75%;
  }
  .top-area--link {
    padding-top: 1rem;
    text-align: center;
  }
  .top-area--link a {
    display: inline-block;
    width: 92%;
    max-width: 280px;
    border: solid 1px #000;
    background: #fff;
    border-radius: 999px;
    text-decoration: none;
    color: #000;
    font-weight: 700;
    font-size: 0.84rem;
    padding: 0.5rem 1rem;
  }

  .top-discovery {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 4rem 0;
  }

  .top-discovery .col01 .image {
    width: 56%;
  }

  .top-discovery .col01 .title {
    width: 38%;
  }

  .top-discovery .col02 {
    width: 100%;
    padding-top: 1rem;
    padding-right: 0;
  }

  .top-discovery .col02 .feature {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2%;
  }

  .top-discovery .col02 .feature .col {
    width: 49%;
  }

  .top-discovery .col02 .feature .col a {
    display: block;
    transition: 0.3s;
    aspect-ratio: 1/1;
    overflow: hidden;
  }

  .top-discovery .col02 .feature .col a:hover {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
  }

  .top-discovery .col02 .feature .col a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

  .top-discovery .col02 .feature-btn a {
    margin: 0 auto;
    max-width: 220px;
    font-size: 0.9rem;
  }

  .top-oyakudachi {
    background: #f6f5f1;
    padding: 4rem 0;
  }

  .top-oyakudachi h2 {
    font-size: 2.4rem;
  }

  .top-oyakudachi--btn {
    padding-top: 2rem;
    display: block;
  }

  .top-oyakudachi--btn .col {
    width: 100%;
    padding: 0.3rem 0;
  }

  .top-oyakudachi--btn .col a {
    padding-top: 0;
    position: relative;
    border-radius: 6px;
    text-decoration: none;
  }

  .top-oyakudachi--btn .col a .btn {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    gap: 1.8rem;
    justify-content: flex-start;
    padding: 0.3rem 1.6rem;
  }

  .top-oyakudachi--btn .col a .btn .icon img {
    height: auto;
    width: 2.2rem;
  }

  .top-ranking {
    padding: 3rem 0 6rem;
  }

  .top-ranking--inner .col-left {
    width: 100%;
  }

  .top-ranking--inner .col-left h2 {
    font-size: 2.4rem;
  }

  .top-ranking--inner .col-left h2 span {
    font-size: 0.8rem;
    padding-top: 0.6rem;
  }

  .top-ranking--inner .col-left p {
    text-align: center;
  }

  .top-ranking--inner .col-left p span {
    display: inline-block;
  }

  .top-ranking--inner .col-right {
    width: 100%;
    margin-top: 0;
    padding: 4rem 0 10rem;
  }

  .top-ranking--inner .col-right ul {
    flex-wrap: wrap;
  }

  .top-ranking--inner .col-right ul li {
    width: 32%;
  }

  .top-ranking--inner .col-right ul li a {
    height: auto;
    padding-top: 48px;
    box-sizing: border-box;
  }

  .top-ranking--inner .col-right ul li a .image {
    height: auto;
    aspect-ratio: 4/3;
    min-height: 120px;
    background-image: url(../img/no-image.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }

  .top-ranking--inner .col-right ul li a .rank-flag {
    display: block;
    z-index: 2;
    pointer-events: none;
    height: 48px;
    top: 0;
  }

  .top-ranking--inner .col-right ul li a .image::before {
    content: none;
  }

  .top-ranking--inner .col-right ul li a p {
    padding-top: 0rem;
    font-size: 0.8rem;
    line-height: 1.4;
    min-height: 2.8em;
  }

  .top-ranking--inner .col-right ul li:first-child {
    width: 54%;
  }

  .top-ranking--inner .col-right ul li:nth-child(2) {
    width: 44%;
    margin-top: 2rem;
    margin-bottom: -2rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(3) {
    margin-top: 10rem;
    margin-bottom: -10rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(3) .image::before {
    background-image: url(../img/flag03.svg);
  }

  .top-ranking--inner .col-right ul li:nth-child(3) .rank-flag {
    background-image: url(../img/flag03.svg);
  }

  .top-ranking--inner .col-right ul li:nth-child(4) {
    margin-top: 11rem;
    margin-bottom: -11rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(4) .image::before {
    background-image: url(../img/flag04.svg);
  }

  .top-ranking--inner .col-right ul li:nth-child(4) .rank-flag {
    background-image: url(../img/flag04.svg);
  }

  .top-ranking--inner .col-right ul li:nth-child(5) {
    margin-top: 12rem;
    margin-bottom: -12rem;
  }

  .top-ranking--inner .col-right ul li:nth-child(5) .image::before {
    background-image: url(../img/flag05.svg);
  }

  .top-ranking--inner .col-right ul li:nth-child(5) .rank-flag {
    background-image: url(../img/flag05.svg);
  }

  .top-ranking--inner---btn {
    padding-top: 1rem;
  }

  .top-ranking--inner---btn a {
    max-width: 220px;
    margin: 0 auto;
    font-size: 0.9rem;
  }

  .top-sns {
    padding: 4rem 0;
    background: none;
  }

  .top-sns h2 {
    font-size: 2.4rem;
  }

  .top-sns h2 span {
    font-size: 0.8rem;
    padding-top: 0.6rem;
  }

  .top-sns--inner .col h3 span {
    display: inline-block;
  }

  .top-about-section {
    padding: 0;
    background: linear-gradient(180deg, #d7e9ff 0%, #e7f2ff 50%, #f5faff 100%);
    border: none;
  }

  .top-about-section::before {
    display: none;
  }

  .top-about {
    padding: 3.1rem 4%;
  }

  .top-about p {
    font-size: 1rem;
    line-height: 1.8;
    padding: 0;
  }

  .top-about p span {
    display: inline-block;
  }

  .top-about--btn {
    display: block;
    padding-top: 1.4rem;
  }

  .top-about--btn .col {
    width: 100%;
    padding-top: 1rem;
  }

  .top-about--btn .col:first-child {
    padding-top: 0;
    margin-bottom: 0.6rem;
  }

  .top-about--btn .col a {
    max-width: 240px;
    margin: 0 auto;
    font-size: 0.9rem;
  }
  .top-about--btn .col:first-child a {
    border-color: #2f5d8a;
    background: #2f5d8a;
    color: #fff;
    font-weight: 700;
  }
  .top-about--btn .col:first-child a::after {
    display: none;
  }
  .top-about--btn .col:first-child a:hover {
    background: #244a6e;
    border-color: #244a6e;
    color: #fff;
  }

  .top-bnbox {
    padding: 2rem 4%;
  }

  .top-bnbox--inner {
    flex-wrap: wrap;
    gap: 0.6rem 2%;
  }

  .top-bnbox--inner .col {
    width: 49%;
  }

  .top-bnbox--inner .col a {
    transition: 0.3s;
    position: relative;
    display: block;
  }

  .top-bnbox--inner .col a:hover {
    margin-top: -1rem;
  }
}

@media screen and (max-width: 1279px) {
  .area-info-page {
    padding-bottom: 2.5rem;
  }

  .area-info-page-hero img {
    border-radius: 10px;
  }

  .area-info-page-intro {
    padding-top: 1.2rem;
  }

  .area-info-page-intro h1 {
    font-size: 1.72rem;
    line-height: 1.3;
  }

  .area-info-page-intro h2 {
    font-size: 1.24rem;
    line-height: 1.45;
    margin-top: 0.78rem;
    padding: 0;
    border: none;
    position: static;
    color: #000;
    font-weight: 700;
  }
  .area-info-page-intro h2::after {
    display: none;
  }

  .area-info-page-map-layout {
    display: block;
    padding-top: 1.1rem;
  }

  .area-info-page-map {
    width: 100%;
    max-width: 660px;
    margin: 0 auto;
  }

  .area-info-page-map-text {
    width: 100%;
    max-width: 660px;
    margin: 0.8rem auto 0;
    text-align: center;
  }

  .area-info-page-map-text p {
    font-size: 0.9rem;
    line-height: 1.85;
  }

  .area-info-page-section {
    padding-top: 2.1rem;
  }

  .area-info-page-section h2 {
    font-size: 1.28rem;
  }

  .area-info-page-info-grid {
    grid-template-columns: 1fr;
    gap: 0.95rem;
  }

  .area-info-page-info-card h3 {
    font-size: 1rem;
  }

  .area-info-page-info-card p {
    font-size: 0.84rem;
    line-height: 1.75;
  }

  .area-info-page-post-list {
    gap: 1rem 2%;
    padding-top: 1.3rem;
  }

  .area-info-page-post-list .col {
    width: 49%;
    min-width: 0;
    max-width: none;
  }

  .area-info-page-post-list .spot-list--name {
    font-size: 1.02rem;
    line-height: 1.35;
  }

  .area-info-page-post-list .spot-list--sub {
    padding-top: 0.42rem;
    font-size: 0.84rem;
    line-height: 1.35;
  }

  .area-info-page-post-list .spot-list--text {
    padding-top: 0.3rem;
    font-size: 0.8rem;
    line-height: 1.5;
  }

  .area-info-page-more {
    padding-top: 1rem;
  }

  .area-index-page {
    padding-bottom: 2.6rem;
  }
  .area-index-page-lead {
    margin-top: 0.75rem;
    font-size: 0.9rem;
    line-height: 1.8;
    text-align: left;
  }

  .area-index-page-map {
    padding-top: 0.5rem;
  }

  .area-index-page-map h2 {
    margin-bottom: 0.8rem;
  }

  .area-index-page-map-image img {
    border-radius: 10px;
  }

  .area-index-page-event-images {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .area-index-page-event-link {
    padding-top: 1rem;
  }

  .area-index-page-event-link a {
    width: 92%;
    max-width: 280px;
    font-size: 0.84rem;
  }

  .area-index-page-list-section {
    padding-top: 2rem;
  }

  .area-index-page-list-section h2 {
    margin-bottom: 0.8rem;
  }

  .area-index-page-grid {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }

  .area-index-page-card-image {
    border-bottom-width: 10px;
  }

  .area-index-page-card h3 {
    font-size: 1rem;
  }

  .area-index-page-card p {
    font-size: 0.84rem;
    line-height: 1.7;
  }

  .area-index-page-card span {
    font-size: 0.76rem;
    margin-top: 0.75rem;
  }
}

@media screen and (max-width: 480px) {
  .area-info-page-post-list {
    gap: 0.9rem 0;
  }

  .area-info-page-post-list .col {
    width: 100%;
  }

  .area-info-page-post-list .col a {
    display: block;
    padding: 0.5rem 0.5rem 0.65rem;
    border: solid 1px #e2e8f1;
    border-radius: 10px;
    background: #fff;
  }

  .area-info-page-post-list .col .img {
    border-radius: 8px;
  }

  .area-info-page-post-list .spot-list--name {
    font-size: 0.96rem;
  }

  .area-info-page-post-list .spot-list--sub {
    font-size: 0.8rem;
  }

  .area-info-page-post-list .spot-list--text {
    font-size: 0.76rem;
  }

  .content.spot .spot-list {
    gap: 0.9rem 0;
  }

  .content.spot .spot-list .col {
    width: 100%;
  }

  .content.spot .spot-list .col a {
    display: block;
    padding: 0.5rem 0.5rem 0.65rem;
    border: solid 1px #e2e8f1;
    border-radius: 10px;
    background: #fff;
  }

  .content.spot .spot-list .col .img {
    border-radius: 8px;
  }

  .content.spot .spot-list .col a span {
    display: inline-block;
    margin-top: 0.5rem;
    margin-right: 0.3rem;
    font-size: 0.68rem;
    padding: 0.28rem 0.55rem;
    line-height: 1;
    font-weight: 700;
    color: #fff;
    border-radius: 1.2rem;
  }

  .content.spot .spot-list .col a span.area-umibe {
    background: #76bbd5;
  }

  .content.spot .spot-list .col a span.category-parent {
    background: #4d7ec9;
  }

  .content.spot .spot-list--name {
    font-size: 0.96rem;
  }

  .content.spot .spot-list--sub {
    font-size: 0.8rem;
  }

  .content.spot .spot-list--access {
    padding-top: 0.35rem;
    font-size: 0.76rem;
    line-height: 1.55;
    color: #36506f;
  }
  .content.spot .spot-list--access span {
    display: inline-block;
    margin-right: 0.38rem;
    padding: 0.16rem 0.42rem;
    border-radius: 999px;
    background: #36506f;
    color: #fff;
    font-size: 0.66rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .content.spot .spot-list--text {
    font-size: 0.76rem;
  }

.stay-filter {
    margin-top: 0.7rem;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
  }
  .stay-filter-head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
  }
  .stay-filter-head h2 {
    margin: 0;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    color: #5f7288;
    padding: 0;
    border: none;
  }
  .stay-filter-head h2::after {
    display: none;
  }
  .stay-filter .stay-filter-clear-btn {
    margin-top: 0;
    padding: 0.28rem 0.58rem;
    border: solid 1px #cad7e6;
    border-radius: 999px;
    background: #fff;
    color: #24415f;
    font-size: 0.7rem;
    line-height: 1.2;
  }
  .stay-filter .spot-filter-group {
    width: 100%;
    margin-top: 0.4rem;
  }
  .stay-filter .spot-filter-options {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    width: 100%;
    max-width: none;
    margin-top: 0;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
  }
  .stay-filter .spot-filter-options li {
    width: auto;
    list-style: none;
  }
  .stay-filter .spot-filter-options li.area-parent {
    width: auto;
    margin-bottom: 0;
  }
  .stay-filter .spot-filter-options button {
    min-height: 0;
    padding: 0.38rem 0.62rem;
    font-size: 0.74rem;
    line-height: 1.3;
    border: solid 1px #cad7e6;
    border-radius: 999px;
    background: #fff;
    color: #24415f;
    text-align: left;
  }
  .stay-filter .spot-filter-options button.is-selected {
    background: #24415f;
    border-color: #24415f;
    color: #fff;
  }
  .stay-filter .area-children {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    padding-left: 0;
    margin-top: 0.35rem;
  }
}
@media screen and (min-width: 1280px) {
  .stay-filter .spot-filter-options {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
  }
  .stay-filter .spot-filter-options li,
  .stay-filter .spot-filter-options li.area-parent {
    width: 100%;
  }
  .stay-filter .spot-filter-options button {
    width: 100%;
    text-align: center;
  }
  .content.spot .related-spots .spot-list .col {
    width: 22.75%;
  }
  .event-detail-content .related-events .spot-list .col {
    width: 22.75%;
  }
}

  .content.spot .related-spots .spot-list .col a {
    padding: 0;
    border: none;
    background: transparent;
  }

  .content.spot .related-spots .spot-list .col {
    width: 49%;
  }

  .event-detail-content .related-events .spot-list .col {
    width: 49%;
  }

  .event-detail-content .related-events .spot-list {
    gap: 0.75rem 2%;
  }

  .event-detail-content .related-events .spot-list .col a {
    padding: 0;
    border: none;
    background: transparent;
  }
}

@media screen and (max-width: 1279px) {
  .special-ichigo {
    padding-bottom: 3rem;
  }
  .special-ichigo .page-nav {
    margin-bottom: 0.7rem;
  }
  .special-ichigo-hero {
    width: 92%;
    margin: 0 auto;
    padding: 0.85rem;
    border-radius: 12px;
    background: linear-gradient(135deg, #fff5f8 0%, #fffef3 100%);
    border: solid 1px #f5d9e2;
  }
  .special-ichigo-hero-image img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 10px;
    display: block;
  }
  .special-ichigo-eyebrow {
    display: inline-block;
    margin-top: 0.85rem;
    padding: 0.16rem 0.6rem;
    border-radius: 999px;
    background: #ffe2ec;
    color: #b63d6a;
    font-size: 0.7rem;
    font-weight: 700;
  }
  .special-ichigo-hero-body h1 {
    text-align: left;
    border: none;
    padding: 0;
    margin: 0.45rem 0 0;
    font-size: 1.45rem;
    color: #b63d6a;
    line-height: 1.35;
  }
  .special-ichigo-hero-body h1::after {
    content: none;
  }
  .special-ichigo-hero-body p {
    margin-top: 0.65rem;
    font-size: 0.88rem;
    line-height: 1.75;
  }
  .special-ichigo-links {
    margin-top: 0.85rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
  }
  .special-ichigo-links a {
    display: block;
    text-decoration: none;
    border: solid 1px #b63d6a;
    color: #b63d6a;
    border-radius: 999px;
    padding: 0.35rem 0.8rem;
    font-size: 0.78rem;
    background: #fff;
  }
  .special-ichigo-updated {
    margin-top: 0.65rem;
    font-size: 0.73rem;
    color: #666;
  }
  .special-ichigo-notice,
  .special-ichigo-drive,
  .special-ichigo-section {
    width: 92%;
    margin: 1rem auto 0;
  }
  .special-ichigo-notice {
    padding: 0.85rem 0.9rem;
    border-radius: 10px;
    background: #fff8f2;
    border: solid 1px #f2dfca;
  }
  .special-ichigo-notice h2,
  .special-ichigo-drive-body h2,
  .special-ichigo-section-head h2 {
    text-align: left;
    border: none;
    padding: 0;
    margin: 0;
    font-size: 1.15rem;
  }
  .special-ichigo-notice h2::after,
  .special-ichigo-drive-body h2::after,
  .special-ichigo-section-head h2::after {
    content: none;
  }
  .special-ichigo-notice p {
    margin-top: 0.4rem;
    font-size: 0.84rem;
    line-height: 1.65;
  }
  .special-ichigo-drive-image img {
    width: 100%;
    display: block;
    border-radius: 10px;
  }
  .special-ichigo-drive-body p {
    margin-top: 0.45rem;
    font-size: 0.84rem;
    line-height: 1.65;
  }
  .special-ichigo-drive-body a {
    display: inline-block;
    margin-top: 0.65rem;
    text-decoration: none;
    color: #fff;
    background: #6ea86d;
    border-radius: 999px;
    padding: 0.38rem 0.85rem;
    font-size: 0.78rem;
  }
  .special-ichigo-section-head p {
    margin-top: 0.3rem;
    color: #666;
    font-size: 0.78rem;
  }
  .special-ichigo-grid {
    margin-top: 0.7rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .special-ichigo-card {
    border: solid 1px #f0dbe2;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
  }
  .special-ichigo-card-image img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    display: block;
  }
  .special-ichigo-card-body {
    padding: 0.75rem;
  }
  .special-ichigo-card-body h3 {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.45;
  }
  .special-ichigo-desc {
    margin-top: 0.45rem;
    font-size: 0.8rem;
    line-height: 1.62;
    color: #333;
  }
  .special-ichigo-tags {
    margin-top: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
  }
  .special-ichigo-tags span {
    display: inline-block;
    font-size: 0.7rem;
    padding: 0.15rem 0.48rem;
    border-radius: 999px;
    background: #f7edf1;
    color: #9a4f68;
  }
  .special-ichigo-meta {
    margin-top: 0.58rem;
    border-top: solid 1px #f2e7eb;
    padding-top: 0.5rem;
  }
  .special-ichigo-meta div {
    margin-top: 0.24rem;
  }
  .special-ichigo-meta dt {
    font-size: 0.68rem;
    color: #8a5d6f;
    font-weight: 700;
  }
  .special-ichigo-meta dd {
    margin-top: 0.08rem;
    font-size: 0.74rem;
    line-height: 1.5;
    color: #333;
  }
  .special-ichigo-card-body a,
  .special-ichigo-sales-item a {
    display: inline-block;
    margin-top: 0.62rem;
    text-decoration: none;
    font-size: 0.76rem;
    color: #b63d6a;
    border-bottom: solid 1px #b63d6a;
  }
  .special-ichigo-sales {
    margin-top: 0.7rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.62rem;
  }
  .special-ichigo-sales-item {
    background: #fff;
    border: solid 1px #f0dbe2;
    border-radius: 10px;
    padding: 0.75rem;
  }
  .special-ichigo-sales-item h3 {
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.45;
  }
  .special-ichigo-empty {
    margin-top: 0.45rem;
    font-size: 0.75rem;
    color: #666;
  }
}

@media screen and (min-width: 1280px) {
  .stay-filter .spot-filter-options {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
  }
  .stay-filter .spot-filter-options li,
  .stay-filter .spot-filter-options li.area-parent {
    width: 100%;
  }
  .stay-filter .spot-filter-options button {
    width: 100%;
    text-align: center;
  }
  .content.spot .related-spots .related-spot-list {
    gap: 2rem 3%;
  }
  .content.spot .related-spots .related-spot-list .col {
    width: 22.75%;
  }
  .content.spot .related-spots .related-spot-list .col a {
    padding: 0;
    border: none;
    background: transparent;
  }
}

/*# sourceMappingURL=sp-style.css.map */
