@charset "utf-8";

/* ==========================================================================
   Foundation
   ========================================================================== */

/* Reset ----------------------------------------------------------------- */
html {
  min-width: 100%;
  overflow-y: scroll;
}
body, header, footer, nav, main, section, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, textarea, p, span, table, tr, th, td, a, :after, :before, figure {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
  font: inherit;
  vertical-align: baseline;
}
object, embed {
  vertical-align: top;
}
img, abbr, acronym, fieldset {
  border: 0;
}
a img {
  outline: none;
  border: none;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
  border: none;
  outline: none;
}
ul, ol {
  list-style-type: none;
}
button, input, optgroup, select, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font: inherit;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font: inherit;
}
button, input {
  overflow: visible;
}
button, select {
  text-transform: none;
}
button[disabled], [type='button'][disabled], [type='reset'][disabled], [type='submit'][disabled] {
  cursor: default;
}
[type='checkbox'], [type='radio'] {
  box-sizing: border-box;
  padding: 0;
}
[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none; 
  appearance: none;
  height: auto;
}
[type='search'] {
  -webkit-appearance: textfield;
  appearance: textfield;
}
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}
[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
::-webkit-input-placeholder {
  font: inherit;
}
:-ms-input-placeholder {
  font: inherit;
}
::-ms-input-placeholder {
  font: inherit;
}
:-ms-input-placeholder {
  font: inherit;
}
::placeholder {
  font: inherit;
}
a:focus, *:focus {
  outline:none;
}
label[for] {
  cursor: pointer;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
*, :after, :before {
  box-sizing: border-box;
}


/* root ----------------------------------------------------------------- */
:root {
  --c-black: #000;
  --c-gray: #F6F6F6;
  --c-border_black: #666;
  --c-border_gray: #CCC;

  --100vw: 100vw;
  --1rem: 1rem;
  --window-width: calc(tan(atan2(var(--100vw), 1px))*min(1, 16 / tan(atan2(var(--1rem), 1px)))) ;
  --scale: max(1, var(--window-width) / 1440);
  --px: calc(1px * var(--scale));
  --rem: calc(1rem * var(--scale));
  --max-width: max(1440 * var(--px), 90 * var(--rem));
  --spacing-120-80: clamp(80 * var(--px), (var(--window-width) * .0376 + 65.915) * var(--px), 120 * var(--px));
  --spacing-100-60: clamp(60 * var(--px), (var(--window-width) * 0.0314 + 55.0) * var(--px), 100 * var(--px));
  --spacing-60-40: clamp(40 * var(--px), (var(--window-width) * .0188 + 32.958) * var(--px), 60 * var(--px));
  --spacing-40-30: clamp(30 * var(--px), (var(--window-width) * .00939 + 26.479) * var(--px), 40 * var(--px));
  --spacing-40-20: clamp(20 * var(--px), (var(--window-width) * .0188 + 12.958) * var(--px), 40 * var(--px));
  --spacing-30-20: clamp(20 * var(--px), (var(--window-width) * .00939 + 16.479) * var(--px), 30 * var(--px));
  --spacing-20-10: clamp(10 * var(--px), (var(--window-width) * .0047 + 8.239) * var(--px), 20 * var(--px));

  --header-height: 8rem;
}
@media screen and (max-width: 48.0625em){
  :root {
    --header-height: 6rem;
  }
}


/* Base ----------------------------------------------------------------- */
html {
  font-size: 62.5%;
}
body {
  position: relative;
  background-color: #FFF;
  color: var(--c-black);
  font-family: "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

img {
  width: 100%;
  height: auto;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: var(--c-black);
  text-decoration: underline;
}
@media screen and (min-width: 48.0625em){
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}



/* ==========================================================================
   Layout
   ========================================================================== */

/* Wrapper  ----------------------------------------------------------------- */
.l-wrapper {
  min-width: 320px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}


/* Header  ----------------------------------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .1);
  z-index: 1000;
}
.l-header__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  margin: 0 auto;
  padding-inline: 2rem;
  width: 100%;
  height: var(--header-height);
  background-color: #FFF;
}
.l-header__logo {
  position: relative;
  width: 20vw;
  max-width: 24rem;
  z-index: 9999;
}
.l-header__logo a {
  display: block;
  width: 100%;
}
@media screen and (max-width: 48.0625em){
  .l-header__inner {
    justify-content: center;
  }
  .l-header__logo {
    width: 19rem;
  }
}

/*hamburger*/
.l-header__hamburger {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: var(--header-height);
  height: var(--header-height);
  cursor: pointer;
}
.l-header__hamburger span {
  position: absolute;
  top: calc((100% - 2px) / 2);
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  width: 2rem;
  height: 2px;
  background-color: var(--c-black);
  border-radius: 2px;
  transition: all .2s ease-in;
  z-index: 1003;
}
.l-header__hamburger span:nth-child(1) {
  transform: translateY(-.7rem);
}
.l-header__hamburger span:nth-child(2) {
  transform: translateY(.7rem);
}
.l-header.is-open .l-header__hamburger span:nth-child(1) {
  transform: rotate(-45deg);
}
.l-header.is-open .l-header__hamburger span:nth-child(2) {
  transform: rotate(45deg);  
}
.l-header.is-open .l-header__hamburger span:nth-child(3) {
  opacity: 0;
}
@media screen and (min-width: 48.0625em){
  .l-header__hamburger {
    display: none;
  }
}

/*gnav*/
.l-header__gnav {
  position: relative;
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.l-header__search form {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: 100vh;
  overflow: hidden;
}
.l-header__search input {
  width: 20rem;
  height: 4rem;
  padding-inline: 1.5rem 4rem;
  background-color: #F0F0F0;
  font-size: 1.5rem;
  line-height: 1;
}
.l-header__search input::placeholder{
  color: #888;
}
.l-header__search button {
  position: absolute;
  top: 0;
  right: 1rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 3rem;
  height: 100%;
  cursor: pointer;
}
.l-header__search button::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background-image: url(../img/icon_search.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.l-header__menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 3rem;
  height: 100%;
}
.l-header__nav-list {
  display: flex;
  align-items: center;
  gap: 2rem;
  height: 100%;
}
.l-header__nav-list a {
  display: block;
  color: var(--c-black);
  letter-spacing: 0.06em;
  font-weight: bold;
}
@media screen and (min-width: 48.0625em) and (max-width: 49.9999em) {/*未定*/
  .l-header__menu {
    gap: 2.5rem;
  }
  .l-header__nav-list {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 48.0625em){
  .l-header__gnav {
    position: fixed;
    top: 0;
    right: -100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2rem;
    padding-top: calc(var(--header-height) + 1rem);
    padding-inline: 2rem;
    width: 100%;
    height: 100vh;
    background-color: #FFF;
    transition: right .4s;
    z-index: 1002;
  }
  .l-header.is-open .l-header__gnav {
    right: 0;
  }
  .l-header__search {
    width: 100%;
  }
  .l-header__search input {
    width: 100%;
    height: 5rem;
  }
  .l-header__menu {
    flex-direction: column;
    gap: 3rem;
    height: auto;
  }
  .l-header__nav-list {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5rem;
  }
}


/* Footer  ----------------------------------------------------------------- */
.l-footer {
  position: relative;
  margin-top: auto;
  background-color: #333;
  color: #FFF;
}
.l-footer a:hover {
  color: #FFF;
}
.l-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding: var(--spacing-30-20) 2rem;
}
.l-footer__logo {
  width: 20rem;
}
.l-footer__logo a {
  display: block;
  width: 100%;
  font-size: 1.4rem;
  letter-spacing: .06em;
  text-decoration: none !important;
}
.l-footer__social {
  margin-top: 2rem;
  font-weight: bold;
}
.l-footer__social a {
  display: inline-flex;
  align-items: center;
}
.l-footer__social a::before {
  content: "";
  width: 6rem;
  height: 6rem;
  background-image: url(../img/social_youtube.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.l-footer__links {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: auto;
}
.l-footer__nav {
  display: flex;
  gap: 5rem;
}
.l-footer__nav-all {
  letter-spacing: .06em;
}
.l-footer__nav-list {
  display: inline-block;
  margin-bottom: -.5rem;
  column-count: 5;
  column-gap: 3rem;
}
.l-footer__nav-list li {
  margin-bottom: .5rem;
}
.l-footer__copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  width: 100%;
  border-top: 1px solid #888;
}
.l-footer__copyright p {
  font-size: 1.4rem;
}
@media screen and (max-width: 48.0625em){
  .l-footer__inner {
    flex-direction: column;
  }
  .l-footer__social {
    margin-top: 1rem;
  }
  .l-footer__nav {
    flex-direction: column;
    gap: 1rem;
    margin-top: 3rem;
  }
  .l-footer__nav-list {
    width: 100%;
    column-count: 4;
  }
  .l-footer__copyright {
    flex-direction: column;
  }
  .l-footer__copyright p {
    margin-top: 1rem;
  }
}



/* Main  ----------------------------------------------------------------- */
.l-main {
  position: relative;
  margin-top: var(--header-height);
  width: 100%;
}
@media screen and (max-width: 48.0625em){
}



/* Map ----------------------------------------------------------------- */
.l-map {
  position: relative;
  width: 100%;
  height: calc(100vh - var(--header-height));
  min-height: 500px;
}
.l-map-button {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 999;
}



/* Leaflet ----------------------------------------------------------------- */
.leaflet-touch .leaflet-bar a {
  text-decoration: none;
}

.leaflet-popup-content-wrapper, .leaflet-popup-tip {
  background-color: #FFF;
  box-shadow: 0 3px 5px rgba(0, 0, 0, .4);
}
.leaflet-popup-content-wrapper {
  padding: 0;
  width: 25rem;
  border-radius: .8rem;
  text-align: center;
}
.leaflet-popup-content {
  margin: 0;
  padding: 1rem;
}
.leaflet-popup-close-button {
  display: none;
}
.leaflet-popup-content .l-leaflet-popup__title {
  margin: 0;
  padding: 0;
  color: black;
  font-size: 2rem;
  font-weight: bold;
  text-align: left;
  line-height: 1.2;
}
.leaflet-popup-content .l-leaflet-popup__text {
  margin: .2rem 0 0;
  padding: 0;
  color: black;
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.4;
}
.leaflet-popup-content .l-leaflet-popup__image {
  margin-top: .5rem;
  position: relative;
  aspect-ratio: 3 / 2;
  width: 100%;
}
.leaflet-popup-content .l-leaflet-popup__image img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.leaflet-popup-content .l-leaflet-popup__readmore {
  margin-top: 1rem;
  font-size: 1.2rem;
  color: black;
}


/* Modal ----------------------------------------------------------------- */
.l-modal {
  display: none;
  position: fixed;
  isolation: isolate;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 1.6rem;
  color: var(--c-black);
  z-index: 9999;
  overflow: hidden;
  cursor: default;
}
.l-modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.7);
  z-index: 1;
}
.l-modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  width: 90%;
  min-width: 30rem;
  max-width: 1000rem;
  max-height: 92vh;
  padding: 2rem 0 1rem;
  background-color: #FFF;
  border-radius: 1rem;
  z-index: 2;
}
.l-modal__title {
  padding-inline: 2rem 1rem;
  width: 100%;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: left;
}
.l-modal a {
  color: var(--c-black);
}
.l-modal__inner {
  flex: 1;
  display: block;
  width: 100%;
  padding-inline: 2rem 1rem;
  overflow-y: auto;
}
.l-modal__close.c-button {
  font-size: 1.2rem;
}

@media screen and (max-width: 48.0625em){
  .l-modal__content {
    margin: 10vh auto;
    width: 95%;
    height: 80vh;
  }
  .l-modal__inner {
    align-items: center;
  }
}



/* ==========================================================================
  Component
  ========================================================================== */

/* section ----------------------------------------------------------------- */
.c-section {
  position: relative;
  padding-block: var(--spacing-40-30);
  width: 100%;
}
.c-section__head {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-inline: var(--spacing-60-40);
}


/* Title ----------------------------------------------------------------- */
.c-title {
  color: var(--c-black);
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (max-width: 48.0625em){
  .c-title {
    font-size: 3rem;
  }
}


/* heading ----------------------------------------------------------------- */
.c-heading {
  position: relative;
  display: flex;
  padding: var(--spacing-20-10) var(--spacing-60-40);
  width: 100%;
}
.c-heading--pref {
  background-color: var(--c-gray);
}
.c-heading--spot {
  background-color: #333;
  color: #FFF;
}
.c-heading__contents {
  flex: 1;
}
.c-heading__title {
  font-size: 3.5rem;
  font-weight: bold;
}
.c-heading__description {
  margin-top: 1rem;
  list-style: 1.6;
}
.c-heading__access {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: 1.5rem;
}
.c-heading__access dl {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.c-heading__access dt {
  margin-right: 1rem;
  font-weight: bold;
}
.c-heading__access dd {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.c-heading__access i img {
  width: 2.5rem;
}
.c-heading__map {
  width: 20%;
}
.c-heading__categories {
  display: flex;
  flex-wrap: wrap;
  margin-top: .5rem;
  gap: 1rem;
}
.c-heading__category {
  padding: .5rem;
  border: 1px solid var(--c-border_black);
  border-radius: .3rem;
  background-color: #FFF;
  color: var(--c-black);
  font-size: 1.4rem;
  line-height: 1;
}
.c-heading__tools {
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}
.c-heading__tool {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 3.2rem;
  gap: .2rem;
  padding: 0 1.2rem;
  border: 1px solid var(--c-black);
  border-radius: 100vh;
  background-color: #FFF;
  color: var(--c-black);
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}
.c-heading__tool-share::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background-image: url(../img/icon_share.svg);
  background-size: 80%;
  background-position: center;
  background-repeat: no-repeat;
}
.c-heading__tool-favorite::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  background-image: url(../img/icon_favorite-off.svg);
  background-size: 80%;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: center;
  transition: background-image .3s ease;
}
.c-heading__tool-favorite.is-active::before {
  background-image: url(../img/icon_favorite-on.svg);
  animation: anime-favorite .4s ease-in-out forwards;
}



/* Card ----------------------------------------------------------------- */
.c-card {
  position: relative;
  border: 1px solid var(--c-border_gray);
  border-radius: 1rem;
  font-size: 1.6rem;
  overflow: hidden;
}
.c-card__link {
  display: block;
  cursor: pointer;
}
.c-card__head {
  position: relative;
}
.c-card__image {
  position: relative;
  aspect-ratio: 3 / 2;
  width: 100%;
}
.c-card__image img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.c-card__label {
  position: absolute;
  display: inline-block;
  top: .8em;
  left: .4em;
  padding: .6em 1.4em;
  border-radius: 100vh;
  background-color: var(--c-black);
  color: #FFF;
  font-size: .9em;
  font-weight: bold;
  line-height: 1;
}
.c-card__body {
  padding: .5em .8em 1em;
}
.c-card__title {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.4;
}
.c-card__description {
  margin-top: .2em;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.c-card__categories {
  display: flex;
  flex-wrap: wrap;
  margin-top: .8em;
  gap: .6em;
}
.c-card__category {
  padding: .4em;
  border: 1px solid var(--c-border_black);
  border-radius: .3rem;
  font-size: .8em;
  line-height: 1;
}
.c-card__favorite {
  position: absolute;
  top: .5em;
  right: .5em;
  width: 2.5em;
  height: 2.5em;
  border: 1px solid var(--c-border_black);
  border-radius: 50%;
  background-color: #FFF;
  cursor: pointer;
  overflow: hidden;
}
.c-card__favorite::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../img/icon_favorite-off.svg);
  background-size: 50%;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: center;
  transition: background-image .3s ease;
}
.c-card__favorite.is-active::before {
  background-image: url(../img/icon_favorite-on.svg);
  animation: anime-favorite .4s ease-in-out forwards;
}
@keyframes anime-favorite {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.c-card__link:hover {
  text-decoration: none;
}
.c-card__link:hover .c-card__title {
  text-decoration: underline;
}
@media screen and (max-width: 48.0625em){
  .c-title {
    font-size: 3rem;
  }
}

/*lg*/
.c-card--lg {
  font-size: 1.8rem;
}

/*sm*/
.c-card--sm {
  border: none;
  border-radius: 0;
  font-size: 1.3rem;
}
.c-card--sm .c-card__link {
  display: flex;
}
.c-card--sm .c-card__head {
  width: 20%;
}
.c-card--sm .c-card__image {
  aspect-ratio: 1 / 1;
  border-radius: .6em;
  overflow: hidden;
}
.c-card--sm .c-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 .8em;
}

/*list*/
.c-card-list {
  margin-top: 2.5rem;
  padding-inline: var(--spacing-60-40);
}

/*slider*/
.c-card-list--slider {
  position: relative;
  overflow: hidden;
}
.c-card-list--slider .c-card {
  width: calc(95.5% / 4);
}
.c-card-list--slider__arrow {
  display: flex;
  gap: 2rem;
}
.c-card-list--slider__arrow .c-card-list--slider__prev,
.c-card-list--slider__arrow .c-card-list--slider__next {
  width: 4rem;
  height: 4rem;
  border: 1px solid var(--c-border_black);
  border-radius: .4rem;
  background-color: #FFF;
  background-size: 50%;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  z-index: 2;
}
.c-card-list--slider__prev {
  background-image: url(../img/icon_arrow-left.svg);
}
.c-card-list--slider__next {
  background-image: url(../img/icon_arrow-right.svg);
}
.c-card-list--slider__arrow .swiper-button-disabled {
  opacity: .3;
  cursor: default;
}

/*grid3*/
.c-card-list--grid3 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5vw 1.5%;
}
.c-card-list--grid3 .c-card {
  width: calc(97% / 3);
}

/*grid4*/
.c-card-list--grid4 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5vw 1.5%;
}
.c-card-list--grid4 .c-card {
  width: calc(95.5% / 4);
}




/* Button ----------------------------------------------------------------- */
.c-button {
  display: inline-flex;
  align-items: center;
  gap: .2em;
  padding: .8em 1.5em;
  border: 1px solid var(--c-black);
  border-radius: 100vh;
  background-color: #FFF;
  color: var(--c-black);
  font-size: 1.6rem;
  text-align: center;
  line-height: 1;
  transition: background-color .3s ease, color .3s ease;
  cursor: pointer;
}
.c-button:hover {
  text-decoration: none;
}
.c-button i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
}
.c-button i img {
  width: 100%;
}


/*black*/
.c-button--black  {
  background-color: var(--c-black);
  color: #FFF;
}
.c-button--black:hover {
  background-color: #FFF;
  color: var(--c-black);
}

/*white*/
.c-button--white {
  background-color: #FFF;
  color: var(--c-black);
}
.c-button--white:hover {
  background-color: var(--c-black);
  color: #FFF;
}


/* Language switcher ----------------------------------------------------------------- */
.c-language .wpml-ls-legacy-dropdown-click {
  width: auto;
}
.c-language .wpml-ls-sub-menu.is-open {
  visibility: visible;
}
.c-language .wpml-ls-legacy-dropdown-click a {
  color: var(--c-black);
  border: 1px solid var(--c-border_black);
  border-top: none;
  border-bottom: none;
  background-color: #FFF;
  padding: 1rem 2rem;
  width: 16rem;
  height: 4rem;
  line-height: 1;
}
.c-language .wpml-ls-legacy-dropdown-click a:hover {
  background-color: var(--c-gray);
  font-weight: bold;
  text-decoration: none;
}
.c-language .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  background-color: #FFF !important;
  border: 1px solid var(--c-border_black);
  border-radius: 2rem;
}
.c-language .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle.is-open {
  border-bottom-color: transparent;
  border-radius: 2rem 2rem 0 0;
}
.c-language .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:hover {
  background-color: #FFF !important;
  text-decoration: none;
  font-weight: 400;
}
.c-language .wpml-ls-item-toggle::before {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background-image: url(../img/icon_language.svg);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.c-language .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  border: none;
}
.c-language .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a {
  padding-left: 4.8rem;
}
.c-language .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu li:last-child a {
  border-radius: 0 0 2rem 2rem;
  border-bottom: 1px solid var(--c-border_black);
}
.c-language .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
  content: none;
}
.l-footer .c-language .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  top: auto;
  bottom: 4rem;
}
.l-footer .c-language .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle.is-open {
  border-top-color: transparent;
  border-bottom-color: var(--c-border_black);
  border-radius: 0 0 2rem 2rem;
}
.l-footer .c-language .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu li:last-child a {
  border-radius: 0;
  border-bottom: none;
}
.l-footer .c-language .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu li:first-child a {
  border-radius: 2rem 2rem 0 0;
  border-top: 1px solid var(--c-border_black);
}



/* Pager ----------------------------------------------------------------- */
.c-pager {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.c-pager__item,
.c-pager__arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border: 1px solid var(--c-black);
  line-height: 1;
}
.c-pager__item > a,
.c-pager__arrow > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: background-color .4s;
}
.c-pager__item > a:hover,
.c-pager__arrow > a:hover {
  background-color: #F0F0F0;
}
.c-pager__item.is-current {
  background-color: var(--c-black);
  color: #FFF;
}
.c-pager__arrow.is-disabled {
  border: 1px solid var(--c-border_gray);
  color: #CCC;
}
@media screen and (max-width: 48.0625em){
  .c-pager {
    gap: .5rem;
    padding-bottom: 5rem;
    justify-content: space-between;
  }
  .c-pager__arrow {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 10rem;
    height: 3.5rem;
  }
  .c-pager__prev {
    transform: translateX(-110%);
  }
  .c-pager__next {
    transform: translateX(10%);
  }
}



/* ==========================================================================
  Project
  ========================================================================== */

/* index ----------------------------------------------------------------- */
.p-index-map {
  position: relative;
  width: 100%;
  height: calc(100vh - var(--header-height));
  min-height: 500px;
  background-color: #CCC;
}
.p-index-map__pref-button .c-button {
  font-size: 1.4rem;
}
.p-index-map__pref-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 1rem;
}
.p-index-map__pref-list .c-card {
  width: calc(calc(100% - 3rem) / 4);
}
.p-index-map__pref-list .c-card--sm .c-card__body {
    flex-direction: column;
    justify-content: flex-start;
    gap: .5rem;
}
@media screen and (max-width: 48.0625em){
  .p-index-map {
    aspect-ratio: 29 /30;
    height: auto;
    min-height: none;
  }
}


/* pref ----------------------------------------------------------------- */



/* spot ----------------------------------------------------------------- */
.p-spot-movie {
  padding: var(--spacing-40-30) var(--spacing-60-40);
}
.p-spot-movie__main {
  margin: 0 auto var(--spacing-30-20);
  aspect-ratio: 16 / 9;
  width: 100%;
  max-width: 1000px;
  background-color: #CCC;
}
.p-spot-movie__list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
}
.p-spot-movie__item {
  padding: 2rem;
  width: calc(100% / 3);
}
.p-spot-movie__item.is-active {
  background-color: #FFE6E6;
}
.p-spot-movie__thumbnail {
  aspect-ratio: 16 / 9;
  width: 100%;
  overflow: hidden;
}
.p-spot-movie__thumbnail img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.p-spot-movie__title {
  margin-top: 1rem;
  font-weight: bold;
}

.p-spot-info {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 0 var(--spacing-60-40) var(--spacing-40-30);
}
.p-spot-info__list {
  flex: 1;
  padding: 1.5rem;
  background-color: var(--c-gray);
}
.p-spot-info__title {
  font-size: 1.8rem;
  font-weight: bold;
}
.p-spot-info__list dt {
  margin-top: 1rem;
  padding-left: 1rem;
  font-weight: bold;
}
.p-spot-info__list dd {
  padding-left: 3rem;
}
.p-spot-info__map {
  width: 40%;
  max-width: 500px;
  text-align: center;
}
.p-spot-info__map-data {
  aspect-ratio: 1 / 1;
  width: 100%;;
  background-color: #CCC;
}
.p-spot-info__map .c-button {
  margin-top: 2rem;
}



/* ==========================================================================
  Utility
  ========================================================================== */

/*-- Font --*/
.u-font-bold {
  font-weight: bold;
}
.u-font-size14 {
  font-size: 1.4rem;
}
.u-font-size18 {
  font-size: 1.8rem;
}
.u-text-al {
  text-align: left;
}
.u-text-ac {
  text-align: center;
}
.u-text-ar {
  text-align: right;
}
.u-text-underline {
  text-decoration: underline;
}
@media screen and (min-width: 48.0625em){
  .u-text-al--pc-ac {
    text-align: center;
  }
  .u-text-ac--pc-al {
    text-align: left;
  }
}

/*-- Margin --*/
.u-mb0 {
  margin-bottom: 0 !important;
}
.u-mb20 {
  margin-bottom: var(--spacing-20-10) !important;
}
.u-mb30 {
  margin-bottom: var(--spacing-30-20) !important;
}
.u-mb40 {
  margin-bottom: var(--spacing-40-30) !important;
}
.u-mb60 {
  margin-bottom: var(--spacing-60-40) !important;
}
.u-mt0 {
  margin-top: 0 !important;
}
.u-mt20 {
  margin-top: var(--spacing-20-10) !important;
}
.u-mt30 {
  margin-top: var(--spacing-30-20) !important;
}
.u-mt40 {
  margin-top: var(--spacing-40-30) !important;
}
.u-mt60 {
  margin-top: var(--spacing-60-40) !important;
}

/*-- Display none --*/
@media screen and (min-width: 48.0625em){
  .--nopc {
    display: none;
  }
}
@media screen and (max-width: 48.0625em){
  .--nosp {
    display: none;
  }
}