html {
  font-size: 10px;
}

body {
  background: #fff;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}

a {
  display: block;
  transition: 0.2s;
}

a:hover {
  opacity: 0.6;
  transition: 0.2s;
}

dt {
  font-weight: normal;
}

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
  padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
  display: block;
  max-width: 100%;
  width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/*
 * footer
 * -------------------------------------------------------------
 */

.footer {
  align-items: flex-start;
  background: url(./../images/common/footer_img.webp) no-repeat center/cover;
  display: flex;
  flex-direction: column;
  height: 36.33vw;
  justify-content: flex-end;
  margin-top: -8.3vw;
}

.footer__copyright {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  padding-bottom: 2rem;
  margin-left: 2rem;
}

/*
 * footerNav
 * -------------------------------------------------------------
 */

.footerNav__body {
  border-top: 1px dashed #231815;
  display: flex;
  gap: 6rem;
  justify-content: space-between;
  padding-top: 4rem;
}

.footerNav__info {
  width: -moz-fit-content;
  width: fit-content;
}

.footerNav__logo {
  max-width: 25.5rem;
}

.footerNav__address {
  font-weight: 500;
  margin-top: 2.3rem;
}

.footerNav__tel {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-size: 2.2rem;
  font-weight: 600;
  margin-top: 1.2rem;
}

.footerNav__nav {
  display: flex;
  flex: 1;
  justify-content: space-between;
  max-width: 37rem;
  padding-right: 2rem;
  position: relative;
  z-index: 1;
}

.footerNav__list {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

.footerNav__link {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
  gap: 1.2rem;
}

.footerNav__link::before {
  color: #0086c9;
  content: "➡";
  display: inline-block;
}

.footerNav__sublist {
  border-left: 1px dashed #231815;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 1.8rem 0 0 2.6rem;
  padding: 1.4rem 0 0.4rem 1.5rem;
}

.footerNav__sublink {
  font-size: 1rem;
  font-weight: 500;
}

/*
 * header
 * -------------------------------------------------------------
 */

.header {
  left: calc(49% - 50vw);
  max-width: 26.9rem;
  max-width: 31.3rem;
  min-width: 24rem;
  min-width: 28.4rem;
  position: fixed;
  top: 23.333vw;
  transition: opacity 0.3s ease, top 0.2s ease;
  z-index: 1;
}

.header.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.header.is-top {
  top: 4rem;
}

.header__inner {
  display: flex;
  flex-direction: column;
  gap: 5.3rem;
  padding-left: min(5.3rem, 4.42vw);
  padding-right: min(4.4rem, 3.67vw);
}

.header__logo {
  max-width: 14.9rem;
}

/*
 * l-bgWrap
 * -------------------------------------------------------------
 */

.l-bgWrap {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.l-bg {
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 100%;
  z-index: -1;
}

/* ---------------------------------
	Top Page
---------------------------------- */

.l-bg--topPage1 {
  left: 45%;
  max-width: 159.2rem;
  min-width: 159.2rem;
  top: 88rem;
}

.l-bg--topPage2 {
  max-width: 135.8rem;
  min-width: 135.8rem;
  top: 335.9rem;
}

.l-bg--topPage_sp1 {
  left: 78%;
  max-width: 64vw;
  min-width: 64vw;
  top: 69rem;
}

/* ---------------------------------
	Gallery Page
---------------------------------- */

.l-bg--gallery {
  left: 58%;
  max-width: 129.6rem;
  min-width: 129.6rem;
  top: 13rem;
}

/* ---------------------------------
	Template Page
---------------------------------- */

.l-bg--template {
  left: 50%;
  max-width: 152.3rem;
  min-width: 152.3rem;
  top: 13rem;
  top: 14rem;
}

.l-bg--template02 {
  left: 68%;
  max-width: 100.3rem;
  min-width: 135.3rem;
  top: 20rem;
}

.l-bg--template03mintop {
  top: 20rem;
  left: 60%;
  max-width: 100.3rem;
  min-width: 112.3rem;
}

.l-bg--template03 {
  left: 68%;
  max-width: 100.3rem;
  min-width: 112.3rem;
  top: 60rem;
}

.l-bg--template04 {
  left: 60%;
  max-width: 100.3rem;
  min-width: 120.3rem;
  top: 15rem;
}

.l-bg--template05 {
  top: 15rem;
}

.l-bg--template06 {
  top: 15rem;
  max-width: 100.3rem;
  min-width: 130.3rem;
  left: 63%;
}

.l-bg--template07 {
  top: 15rem;
  max-width: 100.3rem;
  min-width: 130.3rem;
  left: 63%;
}

/*
 * l-colWrap
 * -------------------------------------------------------------
 */

.l-colWrap {
  display: flex;
  gap: 4.4rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 120rem;
  padding-top: 1rem;
  position: relative;
}

/*
 * l-contents
 * -------------------------------------------------------------
 */

.l-contents {
  flex: 1;
  padding-left: min(29.4rem, 24.5vw);
  position: relative;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
  max-width: 87.7rem;
  overflow: hidden;
  padding-right: 5.7rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

/*
 * l-top
 * -------------------------------------------------------------
 */

.l-topImage__img {
  aspect-ratio: 1200/240;
  position: relative;
  z-index: 10;
  background-color: #bae3f9;
  overflow: hidden;
}

/* =========================
   共通：配置
   ========================= */
.kawara,
.cloud01,.cloud02,.cloud03,.cloud04,.cloud05,
.bird01,.bird02,.bird03 {
  position: absolute;
}

/* =========================
   瓦
   ========================= */
.kawara {
  bottom: -1px;
  left: 0;
  width: 100%;
  object-fit: contain;
  z-index: 10;
}

/* =========================
   雲（サイズ＆位置）
   ========================= */
.cloud01,.cloud02,.cloud03,.cloud04,.cloud05 {
  width: 11%;
  will-change: transform;
}

.cloud01 { top: 3rem; left: -2rem; }
.cloud03 { right: 29rem; bottom: 8rem; }
.cloud02 { bottom: 33px; left: 26rem; z-index: 1; }
.cloud04 { left: 63rem; top: -3.5rem; }
.cloud05 { right: -8.5rem; top: 2rem; }

/* =========================
   鳥（ラッパー前提）
   .bird01 / .bird02 / .bird03 は「外側」
   その中の img が「内側」
   ========================= */
.bird01,.bird02,.bird03 {
  width: 11rem;
  will-change: transform; /* 外側でX移動 */
}

/* 画像（内側） */
.bird01 img, .bird02 img, .bird03 img {
  display: block;
  width: 100%;
  height: auto;
  will-change: transform; /* 内側で上下＆回転 */
}

/* 鳥の位置 */
.bird01 { bottom: 11rem; left: 13rem; }
.bird02 { top: 5rem; left: 40rem; }
.bird03 { top: 10rem; right: 16rem; }

/* =========================
   アニメーション定義
   ========================= */

/* ふわふわ（上下） */
@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-12px); }
}

/* ゆらゆら（回転） */
@keyframes sway {
  0%, 100% { transform: rotate(-2deg); }
  50%      { transform: rotate(2deg); }
}

/* 雲がゆっくり流れる（左右） */
@keyframes driftX {
  0%   { transform: translateX(0); }
  50%  { transform: translateX(30px); }
  100% { transform: translateX(0); }
}

/* 鳥が左→右へ飛ぶ（往復）
   「もっと飛んでる感」を出すため移動量は少し大きめ */
@keyframes flyX {
  0%   { transform: translateX(-40px); }
  50%  { transform: translateX(120px); }
  100% { transform: translateX(-40px); }
}

/* =========================
   雲：左右＋上下
   ========================= */
.cloud01 { animation: driftX 18s ease-in-out infinite, floatY 6s ease-in-out infinite; }
.cloud02 { animation: driftX 22s ease-in-out infinite, floatY 7s ease-in-out infinite; }
.cloud03 { animation: driftX 20s ease-in-out infinite, floatY 8s ease-in-out infinite; }
.cloud04 { animation: driftX 26s ease-in-out infinite, floatY 6.5s ease-in-out infinite; }
.cloud05 { animation: driftX 24s ease-in-out infinite, floatY 7.5s ease-in-out infinite; }

/* =========================
   鳥：外側でX移動 / 内側で上下＋回転
   ========================= */
.bird01 { animation: flyX 10s ease-in-out infinite; }
.bird02 { animation: flyX 13s ease-in-out infinite; }
.bird03 { animation: flyX 11s ease-in-out infinite; }

/* 内側（img）でふわふわ＋ゆらゆら */
.bird01 img { animation: floatY 3.8s ease-in-out infinite, sway 2.6s ease-in-out infinite; }
.bird02 img { animation: floatY 4.4s ease-in-out infinite, sway 2.9s ease-in-out infinite; }
.bird03 img { animation: floatY 3.6s ease-in-out infinite, sway 2.4s ease-in-out infinite; }

/* =========================
   動きを減らす設定（アクセシビリティ）
   ========================= */
@media (prefers-reduced-motion: reduce) {
  .cloud01,.cloud02,.cloud03,.cloud04,.cloud05,
  .bird01,.bird02,.bird03,
  .bird01 img,.bird02 img,.bird03 img {
    animation: none !important;
  }
}

/*.l-topImage__img .sky {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}*/

.l-topImage__nav {
  display: flex;
  gap: 3.6rem;
  justify-content: flex-end;
  margin-left: auto;
  margin-right: auto;
  max-width: 115rem;
  padding: 0 5.6rem;
}

.l-topImage__link {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  gap: 0.7rem;
}

.l-topImage__link.--facility::before {
  background: url(./../images/common/icon_facility.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 1rem;
  margin-top: 0.2rem;
  width: 1.3rem;
}

.l-topImage__link.--access::before {
  background: url(./../images/common/icon_access.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 1.4rem;
  margin-top: 0.2rem;
  width: 1.2rem;
}

/*
 * burger
 * -------------------------------------------------------------
 */

.burger {
  align-items: center;
  background: #0086c9;
  border-radius: 0 0 0 1rem;
  display: none;
  flex-direction: column;
  gap: 0.7rem;
  height: 6rem;
  justify-content: center;
  margin-left: auto;
  position: relative;
  width: 6rem;
  z-index: 11111;
}

.burger span {
  background: #fff;
  border-radius: 2rem;
  display: block;
  height: 4px;
  transition: all 0.2s;
  width: 2.6rem;
}

.burger span.is-active {
  position: absolute;
}

.burger span.is-active:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(-40deg);
}

.burger span.is-active:nth-child(2) {
  opacity: 0;
}

.burger span.is-active:nth-child(3) {
  top: 50%;
  transform: translateY(-50%) rotate(40deg);
}

/*
 * c-breadcrumb
 * -------------------------------------------------------------
 */

.c-breadcrumb__list {
  display: flex;
  gap: 1rem;
}

.c-breadcrumb__item {
  font-size: 1.2rem;
}

.c-breadcrumb a {
  align-items: center;
  display: flex;
  gap: 1.3rem;
}

.c-breadcrumb a::after {
  color: #7d7d7d;
  content: "〉";
}

.c-breadcrumb span {
  color: #7d7d7d;
}

/*
 * c-moreInfo
 * -------------------------------------------------------------
 */

.c-moreInfo__list {
  grid-gap: 0 9.6rem;
  display: grid;
  gap: 0 9.6rem;
  grid-template-columns: repeat(2, 1fr);
  padding: 3rem 6.3rem 8.2rem 7.6rem;
}

.c-moreInfo__link {
  align-items: center;
  border-bottom: 2px solid rgba(0, 134, 201, 0.3);
  display: flex;
  font-size: 1.6rem;
  font-weight: 600;
  justify-content: space-between;
  padding: 2.4rem 1.7rem 1.2rem 0.5rem;
  position: relative;
}

.c-moreInfo__link::after {
  color: #0086c9;
  content: "→";
  font-size: 2.4rem;
}

.c-moreInfo__link::before {
  background: #0086c9;
  bottom: -2px;
  content: "";
  display: block;
  height: 2px;
  max-width: 6.3rem;
  position: absolute;
  right: 0;
  width: 100%;
}

/*
 * c-pageSecHead
 * -------------------------------------------------------------
 */

.c-pageSecHead__eng {
  color: #0086c9;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 5.2rem;
  font-weight: 800;
  text-transform: capitalize;
}

/*
 * c-pageTtl
 * -------------------------------------------------------------
 */

.c-pageTtl {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  gap: 2.5rem;
  justify-content: flex-end;
}

.c-pageTtl.--col {
  align-items: flex-start;
  display: flex;
  flex-direction: column-reverse;
  gap: 1rem;
}

.c-pageTtl__ja {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.c-pageTtl__eng {
  color: #0086c9;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 6rem;
  font-weight: 800;
  height: 72px;
  display: inline-block;
}

.c-pageTtl__eng .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
  animation: fadeUpChar 0.5s ease forwards;
}

.Sightseeing-lead {
  line-height: 1.6;
  margin: 2rem 0 0;
}

/* ふわっと上がりながら表示されるアニメーション */
@keyframes fadeUpChar {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*
 * c-tmplCard
 * -------------------------------------------------------------
 */

.c-tmplCard {
  position: relative;
}

.c-tmplCard__ttl {
  align-items: center;
  background: #0086c9;
  border-radius: 1.5rem 0 1.5rem 0;
  color: #fff;
  display: grid;
  font-size: 1.1rem;
  font-weight: 600;
  height: 3.2rem;
  justify-items: center;
  left: 0;
  max-width: 15.7rem;
  place-items: center;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 5;
}

.c-tmplCard__img {
  position: relative;
  aspect-ratio: 360/183;
  border-radius: 1.5rem;
  overflow: hidden;
}

.c-tmplCard__img iframe,
.c-tmplCard__img embed,
.c-tmplCard__img object {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.c-tmplCard__video {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 360 / 183;
  object-fit: cover;
}

.c-tmplCard__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
  border-radius: 1.5rem;
}

.c-tmplCard__text-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
}

.c-tmplCard__text {
  font-feature-settings: "palt";
  line-height: 1.7;
  text-align: justify;
  margin-top: 1.5rem;
}

.c-tmplCard__cat {
  background-color: #0086c9;
  color: #fff;
  padding: 0.5rem 2rem;
  border-radius: 0.8rem;
  min-width: 9rem;
  text-align: center;
}

.c-tmplCard__note {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.33;
  margin-top: 0.5em;
}

/* ---------------------------------------
	Line up のパーツ
--------------------------------------- */

.c-tmplCard__details {
  padding: 2rem 4.6rem 0 0;
  padding: 2rem 0 0 0;
}

.c-tmplCard__details.padh {
  padding: 2rem 4.6rem 0 0;
}

.c-tmplCard__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.5rem;
  line-height: 1.4;
}

.c-tmplCard__list li::before {
  content: "●";
}

.c-tmplCard__shopName {
  display: block;
  margin-top: 0.3em;
  text-align: right;
}

.c-tmplCard__shopName::before {
  content: "…";
}

.c-tmplCard__desc {
  line-height: 1.4;
  margin-top: 0.4em;
  text-align: justify;
}

.c-tmplCard__desc::before {
  color: #0086c9;
  content: "■";
}

.c-tmplCard__btn {
  align-items: center;
  color: #0086c9;
  display: flex;
  font-size: 1.2rem;
  font-weight: 500;
  gap: 0.7rem;
  justify-content: flex-end;
  margin-top: -1rem;
}

.c-tmplCard__btn::after {
  background: url(./../images/facility/btn_movie.webp) no-repeat center/100%;
  border-radius: 50%;
  content: "";
  display: block;
  height: 3.9rem;
  width: 3.9rem;
}

/*
 * c-tmplCards
 * -------------------------------------------------------------
 */

.c-tmplCards {
  grid-gap: 4rem 9.4rem;
  display: grid;
  gap: 4rem 9.4rem;
  grid-template-columns: repeat(2, 1fr);
}

.c-tmplCards.--col {
  grid-template-columns: repeat(1, 1fr);
  gap: 9rem;
}

.c-tmplCards.--col .c-tmplCard {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-tmplCards.--col .c-tmplCard__img {
  width: 55%;
  aspect-ratio: 360 / 195;
}

.c-tmplCards.--col .c-tmplCard__text {
  width: 40%;
}

/*
 * c-tmplInfo
 * -------------------------------------------------------------
 */

.c-tmplInfo::before {
  background: url(./../images/common/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 72vw;
  max-height: 45rem;
  max-width: 45rem;
  position: absolute;
  right: -31.8vw;
  top: 0;
  width: 72vw;
  z-index: -1;
}

.c-tmplInfo__btns {
  display: flex;
  flex-direction: column;
  gap: 3.8rem;
  margin: 0 auto;
  max-width: 39.5rem;
}

.c-tmplInfo__btns.recom {
  margin-top: 15rem;
}

.c-tmplInfo__btn {
  align-items: center;
  background: #0086c9;
  border-radius: 3rem;
  color: #fff;
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  gap: 2rem;
  height: 6.4rem;
  justify-content: center;
}

.c-tmplInfo__btn.--type1::after {
  content: "〉";
}

.c-tmplInfo__textBlock {
  color: #0086c9;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.44;
  margin-top: 2.2rem;
  text-align: center;
}

.c-tmplInfo__name {
  margin-top: 3rem;
}

.c-tmplInfo__contact {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

/*
 * c-tmplPickup
 * -------------------------------------------------------------
 */

.c-tmplPickup {
  align-items: center;
  display: flex;
  margin-top: 5rem;
}

.c-tmplPickup__ttl {
  background: #0086c9;
  border-radius: 2rem 0 2rem 0;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  left: 0;
  max-width: 19rem;
  padding: 1.2rem;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
}

.c-tmplPickup__linkWrap {
  align-items: center;
  display: grid;
  flex: 1;
  justify-items: center;
  place-items: center;
}

.c-tmplPickup__link {
  color: #0086c9;
  font-size: 2.4rem;
  font-weight: 600;
}

.c-tmplPickup__link::after {
  content: "➡";
  display: block;
  margin-top: 1.4rem;
  text-align: center;
}

.c-tmplPickup__img {
  aspect-ratio: 434/245;
  border-radius: 1.5rem;
  max-width: 43.4rem;
  overflow: hidden;
}

.c-tmplPickup__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

/*
 * c-tmplSecHead
 * -------------------------------------------------------------
 */

.c-tmplSecHead {
  font-size: 2rem;
  font-weight: 600;
  position: relative;
}

.c-tmplSecHead::before {
  background: url(./../images/common/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 72vw;
  left: -31.8vw;
  max-height: 45rem;
  max-width: 45rem;
  position: absolute;
  top: -8rem;
  width: 72vw;
  z-index: -1;
}

.c-tmplSecHead span {
  border-bottom: 2px solid #0086c9;
  display: inline-block;
  padding: 0 2rem 1.6rem;
}

.c-tmplSecHead::after {
  background: rgba(0, 134, 201, 0.3);
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}

/*
 * c-tmplAbout
 * -------------------------------------------------------------
 */

.c-tmplAbout {
  display: flex;
  justify-content: space-between;
  margin-top: 5rem;
}

.c-tmplAbout__img {
    width: 40%;
    height: 260px;
}

.c-tmplAbout__img img {
  border-radius: 90px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-tmplAbout__ctt {
  width: 57%;
}

.c-tmplAbout__ctt p:first-of-type {
    color: #0086c9;
    font-size: 1.8rem;
    font-weight: 600;
    margin: 0.5rem 0;
    line-height: 1.7;
}

.c-tmplAbout__ctt p:last-of-type {
  line-height: 1.7;
}

/*
 * c-topSecHead
 * -------------------------------------------------------------
 */

.c-topSecHead {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
  gap: 3.4rem;
  justify-content: flex-end;
}

.c-topSecHead__ja {
  font-size: 1.6rem;
  font-weight: 600;
}

.c-topSecHead__eng {
  color: #0086c9;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 5.2rem;
  font-weight: 800;
  text-transform: capitalize;
}

/*
 * nav
 * -------------------------------------------------------------
 */

.nav__link {
  border-bottom: 1px dashed #231815;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 2rem;
  text-align: center;
}

/*
 * spNav
 * -------------------------------------------------------------
 */

.spNav {
  display: none;
}

.spNav.is-active {
  opacity: 1;
  visibility: visible;
}

.spNav__inner {
  background: #fff;
  border-radius: 2rem;
  padding: 2.1rem 2.5rem 3rem;
}

.spNav__logo {
  max-width: 27.4rem;
}

.spNav__logo img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.spNav__list {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  margin-top: 3.8rem;
}

.spNav__link {
  align-items: center;
  display: flex;
  font-size: 1.4rem;
  font-weight: 500;
  gap: 1.2rem;
}

.spNav__link::before {
  color: #0086c9;
  content: "➡";
  display: inline-block;
}

.spNav__sublist {
  border-left: 1px dashed #231815;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 1.8rem 0 1rem 2.6rem;
  padding-left: 1.5rem;
}

.spNav__sublink {
  font-size: 1.2rem;
  font-weight: 500;
}

/*
 * fv
 * -------------------------------------------------------------
 */

.fv {
  margin-right: calc(50% - 50vw);
  max-width: calc(100% + 6rem);
  padding-top: 1rem;
  position: relative;
}

.fv__ttlWrap {
  max-width: 78.4rem;
  padding: 0 4rem;
  position: absolute;
  right: 8rem;
  top: 6.3rem;
  width: 100%;
  z-index: 10;
}

.fv__ttl {
  align-items: flex-start;
  display: flex;
  flex-direction: row-reverse;
  gap: 2.2rem;
}

.fv__ttl span {
  background: #ffe100;
  color: #0086c9;
  display: inline-block;
  font-size: 4rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  padding: 6rem 1.5rem 4rem;
  writing-mode: vertical-rl;
}

.fv__ttl span:nth-child(2) {
  margin-top: 24.6rem;
}

.fv__ttl.--sp {
  display: none;
}

.fv__img {
  position: relative;
  overflow: hidden;
  border-radius: 6rem 6rem 0 0;
  height: 55.4rem;
  background-color: #eee;
}

.fv__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.fv__video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画面いっぱいにトリミングして表示 */
  display: block;
}

.fv__cont {
  background: #EC739E;
  border-radius: 0 0 6rem 6rem;
  display: flex;
  gap: 4.5rem;
  height: 16.6rem;
  justify-content: space-between;
  padding: 2.5rem 10rem 2.8rem min(7.2rem, 6vw);
}

.fv__contTtl {
  max-width: 23.1rem;
  padding-top: 1.4rem;
}

.fv__contLinks {
  display: flex;
  gap: 5.8rem;
}

.fv__contLink {
  height: 11rem;
  max-width: 18rem;
  position: relative;
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.fv__contLink:hover {
  opacity: 1;
}

.fv__contLink:hover,
.fv__contLink:focus-visible {
  transform: scale(1.05); /* 拡大率。1.03〜1.08くらいで調整 */
}

.fv__contLink img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.fv__contLink span {
  align-items: center;
  background: #ffe100;
  bottom: 1.3rem;
  color: #0086c9;
  display: grid;
  font-size: 1.2rem;
  font-weight: 600;
  height: 2.6rem;
  justify-items: center;
  place-items: center;
  position: absolute;
  right: -2.5rem;
  width: 9.4rem;
}

.fv__flex {
  display: contents;
}

.fv__logo {
  display: none;
}

/*
 * gallery
 * -------------------------------------------------------------
 */
.gallery {
  padding: 2.5rem 0 34rem;
}

.gallery::before {
  background: url(./../images/common/obj_sp.webp) no-repeat center/100%;
  bottom: -19rem;
  content: "";
  display: none;
  height: 72vw;
  left: -12.8vw;
  max-height: 45rem;
  max-width: 45rem;
  position: absolute;
  width: 72vw;
  z-index: -1;
}

.gallery::after {
  background: url(./../images/common/obj_sp.webp) no-repeat center/100%;
  bottom: 30rem;
  content: "";
  display: none;
  height: 90vw;
  max-height: 45rem;
  max-width: 45rem;
  position: absolute;
  right: -12.8vw;
  width: 90vw;
  z-index: -1;
}

.gallery__items {
  grid-gap: 1rem 1.2rem;
  display: grid;
  gap: 1rem 1.2rem;
  grid-template-columns: repeat(4, 1fr);
}

.gallery__item img {
  -o-object-fit: cover;
  aspect-ratio: 197/118;
  border-radius: 0.6rem;
  height: 100%;
  object-fit: cover;
}

.fancybox__content {
  width: 45rem !important;
}

/*
 * pageHead
 * -------------------------------------------------------------
 */
.pageHead__inner {
  display: flex;
  flex-direction: column;
  gap: 4.2rem;
}

.pageHead::before {
  background: url(./../images/common/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 72vw;
  max-height: 45rem;
  max-width: 45rem;
  position: absolute;
  right: -20.8vw;
  top: 0;
  width: 72vw;
  z-index: -1;
}

/*
 * tmplLineup
 * -------------------------------------------------------------
 */
.tmplLineup {
  padding-bottom: 12.3rem;
}

.tmplLineup__flex {
  align-items: center;
  display: flex;
  gap: 4.7rem;
  margin-top: 6rem;
}

.tmplLineup__img {
  aspect-ratio: 434/245;
  background: #ccc;
  border-radius: 2rem;
  max-width: 43.4rem;
  overflow: hidden;
  width: 55%;
}

.tmplLineup__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.tmplLineup__desc {
  flex: 1;
}

.tmplLineup__text {
  font-size: 1.4rem;
  line-height: 1.4;
}

.tmplLineup__items {
  padding: 8rem 0 9.5rem;
}

/*
 * tmplProducts
 * -------------------------------------------------------------
 */
.tmplProducts {
  padding: 4.2rem 0 9.4rem;
}

.tmplProducts__items {
  margin-top: 3.5rem;
}

.facility-nav {
  margin-top: 1.5rem;
}

.facility-nav ul {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 2px solid rgba(0, 134, 201, 0.3);
}

.facility-nav li {
  flex: 1 1 0;
  text-align: center;
}

.facility-nav li:first-of-type {
  max-width: 10rem;
}

.facility-nav li:nth-of-type(5) {
  max-width: 11rem;
}

.facility-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 10px;
  color: #111;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.2;

  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}

.facility-nav li.is-current > a {
  color: #0086c9;
  border-bottom-color: #0086c9;
}

/*
 * tmplSlider
 * -------------------------------------------------------------
 */
.tmplSlider.--minpadh {
  padding-top: 4rem;
}
.tmplSlider {
  padding-top: 9.5rem;
}

.tmplSlider__inner {
  position: relative;
}

.tmplSlider__ttl {
  background: #0086c9;
  border-radius: 4rem 0 4rem 0;
  color: #fff;
  display: inline-block;
  font-size: 2.6rem;
  font-weight: 600;
  left: 0;
  padding: 2.5rem 6rem 2.1rem;
  position: absolute;
  top: 0;
  z-index: 2;
  min-width: 36rem;
  text-align: center;
}

.mainSlider {
  border-radius: 4rem;
  overflow: hidden;
  width: 100%;
}

.mainSlider .swiper-slide {
  height: 41.4rem;
}

.mainSlider img {
  -o-object-fit: cover;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* サムネイル */

.thumbSlider {
  margin: 1.3rem auto 0;
  width: 100%;
}

.thumbSlider .swiper-slide {
  cursor: pointer;
  /* サムネイルの幅（slidesPerView:auto 時に効く） */
  opacity: 0.5;
  width: auto;
}

.thumbSlider .swiper-slide-thumb-active {
  opacity: 1;
}

.thumbSlider img {
  -o-object-fit: cover;
  aspect-ratio: 130/78;
  border-radius: 0.8rem;
  height: 100%;
  object-fit: cover;
}

.mainSlider__prev,
.mainSlider__next {
  height: 4.2rem !important;
  margin: 0 !important;
  width: 3rem !important;
}

.mainSlider__prev {
  left: 2rem !important;
}

.mainSlider__prev {
  background: url(./../images/facility/prev.webp) no-repeat center/100%;
}

.mainSlider__next {
  right: 2rem !important;
}

.mainSlider__next {
  background: url(./../images/facility/next.webp) no-repeat center/100%;
}

.tmplSlider__details {
  align-items: center;
  display: flex;
  margin-top: 3.2rem;
}

.tmplSlider__meta {
  border-right: 1px solid #231815;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4rem;
  padding: 0 3.5rem 2.4rem 0;
}

.tmplSlider__meta dl dt {
  font-size: 1.6rem;
  font-weight: 600;
}

.tmplSlider__meta dl dd {
  font-feature-settings: "palt";
  margin-top: 1.2rem;
  line-height: 1.4;
}

.tmplSlider__desc {
  max-width: 36rem;
  padding-left: 3.5rem;
}

.tmplSlider__desc.--col {
  max-width: none;
  padding-left: 0;
}

.tmplSlider__text {
  font-size: 1.4rem;
  line-height: 1.7;
}

/*
 * topAbout
 * -------------------------------------------------------------
 */
.topAbout {
  padding-top: 3.3rem;
}

.topAbout::before {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 68vw;
  left: -12.8vw;
  position: absolute;
  top: -5rem;
  width: 68vw;
  z-index: -1;
}

.topAbout__body {
  margin-top: 2.8rem;
}

.topAbout__imgs {
  grid-gap: 2rem;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(3, 1fr);
}

.topAbout__img {
  aspect-ratio: 260/380;
  border-radius: 3rem;
  overflow: hidden;
}

.topAbout__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.topAbout__text {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.8;
  margin-top: 3.5rem;
  text-align: center;
}

.topAbout__btn {
  align-items: center;
  background: #0086c9;
  border-radius: 6rem;
  color: #fff;
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  gap: 0.8rem;
  justify-content: center;
  margin: 5rem auto 0;
  max-width: 39.5rem;
  padding: 2.3rem;
}

.topAbout__btn::after {
  content: "➡";
  display: inline-block;
}

.topAbout__btn.second {
  margin: 2.5rem auto 0;
}

/*
 * topAccess
 * -------------------------------------------------------------
 */
.topAccess {
  padding-top: 11.3rem;
}

.topAccess::before {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 80vw;
  left: -28.8vw;
  position: absolute;
  top: 1rem;
  width: 80vw;
  z-index: -1;
}

.topAccess__map {
  border: 2px solid #0086c9;
  border-radius: 3rem;
  height: 35.7rem;
  margin-top: 3rem;
  overflow: hidden;
  width: 100%;
}

.topAccess__details {
  grid-gap: 2.5rem 13.5rem;
  display: grid;
  gap: 2.5rem 13.5rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3.2rem;
  padding-left: 1.7rem;
}

.topAccess__item dt {
  font-size: 1.6rem;
  font-weight: 600;
}

.topAccess__item dd {
  font-size: 1.2rem;
  line-height: 1.33;
  margin-top: 1.4rem;
}

.topAccess__item .tel {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
}

/*
 * topEquipment
 * -------------------------------------------------------------
 */
.topEquipment {
  padding-top: 10rem;
}

.topEquipment::before {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 80vw;
  position: absolute;
  right: -28.8vw;
  top: 12rem;
  width: 80vw;
  z-index: -1;
}

.topEquipment__list {
  grid-gap: 2.7rem 3.5rem;
  display: grid;
  gap: 2.7rem 3.5rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4.7rem;
}

.topEquipment__item {
  align-items: center;
  display: flex;
  gap: 2.4rem;
}

.topEquipment__icon {
  aspect-ratio: 1/1;
  min-width: 7.3rem;
  width: 7.3rem;
}

.topEquipment__icon img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.topEquipment__details {
  flex: 1;
}

.topEquipment__details dt {
  font-size: 1.6rem;
  font-weight: 600;
}

.topEquipment__details dd {
  font-feature-settings: "palt";
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 0.8rem;
}

/*
 * topFacility
 * -------------------------------------------------------------
 */

.topFacility {
  padding-top: 11.2rem;
}

.topFacility::before {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 85vw;
  position: absolute;
  right: -25.8vw;
  top: -10rem;
  width: 85vw;
  z-index: -1;
}

.topFacility::after {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  bottom: 22.3rem;
  content: "";
  display: none;
  height: 80vw;
  left: -28.8vw;
  position: absolute;
  width: 80vw;
  z-index: -1;
}

.topFacility__lead {
  font-size: 1.4rem;
  margin-top: 3.2rem;
}

.topFacility__list {
  grid-gap: 3.4rem;
  display: grid;
  gap: 3.4rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4rem;
}

.topFacility__item {
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.topFacility__item:hover {
  transform: scale(1.05);
}

.topFacility__img {
  aspect-ratio: 250/126;
  border-radius: 1rem;
  overflow: hidden;
}

.topFacility__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.topFacility__details {
  margin-top: 1.5rem;
  padding-right: 1.3rem;
  position: relative;
}

.topFacility__ttl {
  font-size: 1.6rem;
  font-weight: 600;
}

.topFacility__text {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 1.6rem;
}

.topFacility__btn {
  color: #0086c9;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 600;
  padding-left: 2rem;
  position: absolute;
  right: 1.3rem;
  top: 0;
}

.topFacility__map {
  margin-top: 8.4rem;
}

.topFacility__map img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

/*
 * topLinks
 * -------------------------------------------------------------
 */

.topLinks {
  padding: 11rem 0 7.4rem;
}

.topLinks::before {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 65vw;
  position: absolute;
  right: -12.8vw;
  top: -13rem;
  width: 65vw;
  z-index: -1;
}

.topLinks__list {
  grid-gap: 3.2rem 5.8rem;
  display: grid;
  gap: 3.2rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4rem;
}

.topLinks__item {
  display: flex;
  gap: 2rem;
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.topLinks__item:hover {
  transform: scale(1.05);
}

.topLinks__img {
  height: 10rem;
  max-width: 19rem;
  overflow: hidden;
  width: 53%;
}

.topLinks__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: contain;
}

.topLinks__details {
  flex: 1;
}

.topLinks__ttl {
  font-size: 1.6rem;
  font-weight: 600;
}

.topLinks__text {
  font-size: 1.2rem;
  line-height: 1.5;
}

/*
 * topNews
 * -------------------------------------------------------------
 */

.topNews {
  padding-top: 2.4rem;
}

.topNews::before {
  background: url(./../images/top/obj_sp.webp) no-repeat center/100%;
  content: "";
  display: none;
  height: 64vw;
  position: absolute;
  right: -12.8vw;
  top: 4.3rem;
  width: 64vw;
  z-index: -1;
}

.topNews__body {
  display: flex;
  gap: 4rem;
}

.topNews__main {
  display: flex;
  flex: 1;
  gap: 7.1rem;
  padding: 1rem 0 0 2.4rem;
}

.topNews__head {
  font-size: 1.6rem;
  font-weight: 600;
}

.topNews__list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.topNews__item {
  display: flex;
}

.topNews__date {
  color: #0086c9;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 600;
  margin-right: 2.8rem;
}

.topNews__details {
  display: flex;
}

.topNews__cat {
  display: inline-block;
  font-size: 1.4rem;
  margin-right: 1.4rem;
}

.topNews__ttl {
  font-size: 1.4rem;
}

.topNews__btnArea {
  border-left: 1px dashed #231815;
  padding: 1rem 0 1rem 3rem;
}

.topNews__btn {
  align-items: center;
  display: flex;
  font-size: 1.2rem;
  font-weight: 600;
  gap: 1.2rem;
}

.topNews__btn::after {
  background: url(./../images/top/news_btn.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 5rem;
  width: 5rem;
}

/*
 * topSightseeing
 * -------------------------------------------------------------
 */

.topSightseeing {
  padding-top: 11.5rem;
}

.topSightseeing__items {
  grid-gap: 1.4rem;
  align-items: center;
  display: grid;
  gap: 1.4rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2.8rem;
}

.topSightseeing__item {
  align-items: center;
  aspect-ratio: 240/140;
  border-radius: 1.8rem;
  display: grid;
  justify-items: center;
  overflow: hidden;
  place-items: center;
}

.topSightseeing__item img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.topSightseeing__details {
  padding-left: 3.6rem;
}

.topSightseeing__ttl {
  font-size: 1.6rem;
  font-weight: 600;
}

.topSightseeing__text {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 1rem;
  max-width: 20rem;
}

/*
 * topSns
 * -------------------------------------------------------------
 */

.topSns {
  padding-top: 4.3rem;
}

.topSns__body {
  align-items: center;
  display: flex;
  gap: 3.6rem;
}

.topSns__items {
  display: flex;
  flex: 1;
  gap: 1.2rem;
  max-width: 56.7rem;
}

.topSns__item {
  aspect-ratio: 1/1;
  background: #ccc;
  max-width: 13.3rem;
  width: 25%;
}

.topSns__btn {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 600;
  gap: 1.4rem;
  line-height: 1.375;
  text-align: right;
}

.topSns__btn::after {
  background: url(./../images/top/icon_instagram.webp) no-repeat center/100%;
  content: "";
  display: block;
  height: 5rem;
  width: 5rem;
}

/*
 * privacypolicy
 * -------------------------------------------------------------
 */
.privacypolicy {
  margin-bottom: 20rem;
}
.privacypolicy ol {
  line-height: 1.5;
  list-style: decimal outside;
  padding-left: 1.5em;
}
.privacypolicy a {
  color: #00b9ef;
  display: inline-block;
}
.privacypolicy__ttl {
  color: #0086c9;
  font-size: 1.8rem;
  margin: 5rem 0 1rem;
  font-weight: 600;
}

.privacypolicy__txt {
  line-height: 1.5;
  margin: 1rem 0;
}
.cookie {
  background-color: #bddff6;
  padding: 3rem;
  margin: 2rem 0 5rem;
}
.cookie p {
  font-size: 1.7rem;
  line-height: 1.5;
  display: block;
  max-width: 68.5rem;
  margin: 0 auto;
}
.cookie__btn a {
  align-items: center;
  background: #0086c9;
  border-radius: 6rem;
  color: #fff;
  display: flex;
  font-size: 1.8rem;
  font-weight: 600;
  gap: 0.8rem;
  justify-content: center;
  margin: 2.5rem auto 0;
  max-width: 39.5rem;
  padding: 2.3rem;
}
.cookie__btn a::after {
  content: "→";
  display: inline-block;
}

/*
 * outline
 * -------------------------------------------------------------
 */
.outline.--col ul {
  flex-direction: column;
  gap: 5rem;
  margin: 0;
}
.outline.--col ul li {
  width: 100%;
}
.outline ul {
  display: flex;
  justify-content: space-between;
  margin: 7rem 0 18rem;
}
.outline ul li {
  width: 42%;
}
.outline ul li p:first-of-type {
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0 0 1.2rem;
  border-bottom: 2px solid rgba(0, 134, 201, 0.5);
  margin: 0 0 1.2rem;
}
.outline ul li p:last-of-type {
  line-height: 1.5;
}

/*
 * Access
 * -------------------------------------------------------------
 */
.Access {
  margin: 8rem 0 20rem;
}
.Access__wrapper .outline {
  width: 40%;
}
.Access__wrapper {
  display: flex;
  justify-content: space-between;
}
.Access__img {
  width: 50%;
}
.Access__img img {
  width: 80%;
}

/*
 * main2col
 * -------------------------------------------------------------
 */
.main2col__list {
  display: grid;
  gap: 5rem 6.4rem;
  grid-template-columns: repeat(2, 1fr);
  margin: 4rem 0 7rem;
}
.main2col__list.facility {
  margin: 4rem 0 20rem;
}
.main2col__item a {
  transform: scale(1);
  transform-origin: center;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.main2col__item a:hover,
.main2col__item a:focus-visible {
  transform: scale(1.05);
}
.main2col__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: 1rem 0;
}
.main2col__head p:first-of-type {
  font-size: 1.8rem;
  font-weight: 600;
}
.main2col__head p:last-of-type  {
  background-color: #0086c9;
  color: #Fff;
  padding: 2px 13px;
  border-radius: 5px;
  font-size: 1.8rem;
}
.main2col__head p.nobox {
  background-color: transparent;
  color: #0086c9;
  padding: 2px 13px;
  border-radius: 5px;
  font-size: 2.2rem;
}
.main2col__text {
  line-height: 1.5;
}
.main2col__map {
  margin: 0 0 20rem;
}
/*
 * Faq
 * -------------------------------------------------------------
 */
.Faq dl {
  margin: 3rem 0 20rem;
}
.Faq dl dt {
  display: flex;
  align-items: center;
  gap: 10px;
}
.Faq dl dt p:first-of-type {
  color: #0086c9;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 5rem;
  font-weight: 800;
}
.Faq dl dt p:last-of-type {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.Faq dl dd {
  line-height: 1.5;
  margin: 1rem 0 6rem;
}

/*
 * Topics
 * -------------------------------------------------------------
 */
.Topics {
  margin: 3rem 0 20rem;
}
.Topics ul li a {
  padding: 50px 0;
  border-bottom: 1px dashed #231815;
  display: flex;
  gap: 18px;
  font-size: 1.5rem;
  line-height: 1.5;
}
.Topics ul li time {
  color: #0086c9;
  font-weight: 600;
}
.Topics h1 {
  border-bottom: 1px dashed #231815;
  padding: 3rem 0;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.Topics__ctt {
  margin: 3rem 0 8rem;
}
.Topics__ctt time {
  display: block;
  text-align: right;
  margin: 0 0 5rem;
}
.Topics__ctt h2 {
  color: #0086c9;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 3rem 0 2rem;
  line-height: 1.5;
}
.Topics__ctt h3 {
  padding: 1rem 2rem;
  color: #fff;
  background-color: #0086c9;
  font-size: 2.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin: 3rem 0 2rem;
  line-height: 1.5;
}
.Topics__ctt a {
  display: inline-block;
  color: #00b9ef;
  text-decoration: underline;
}
.Topics__ctt ul {
  list-style: disc;
  padding-left: 1.5em;
  margin: 1em 0;
  line-height: 1.5;
}
.Topics__ctt ul li {
  list-style: inherit;
}
.Topics__ctt p {
  margin: 20px 0;
  line-height: 1.5;
}
.c-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  margin-top: 5rem;
  font-size: 1.5rem;
}
.c-pager span {
  color: #0086c9;
}

/*
 * About
 * -------------------------------------------------------------
 */
.About__ctt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 6rem 0 10rem;
}
.About__ctt.reverse {
  flex-direction: row-reverse;
}
.About__img {
  position: relative;
  width: 42%;
}
.About__ctt.reverse .About__img p {
  left: 0;
  top: 2rem;
}
.About__ctt.reverse .About__img img {
  display: block;
  margin-left: auto;
}
.About__img p {
  position: absolute;
  right: 0;
  color: #0086c9;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 6rem;
  font-weight: 800;
}
.About__img img {
  width: 90%;
}
.About__txt {
  right: 0;
  width: 55%;
  line-height: 1.6;
}
.About__txt-head {
  font-size: 2.3rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin: 0.5rem 0;
}
.About__ctt.reverse .About__txt-head {
  text-align: right;
}
.About__ctt.reverse:last-of-type .About__txt {
  width: 32%;
}
.About__imgmin {
  width: 20%;
}
.About-lead {
  margin: 3rem 0;
  line-height: 1.6;
  font-size: 1.65rem;
  font-weight: bold;
}

/*
 * Contact
 * -------------------------------------------------------------
 */
.Contact {
  margin: 3rem 0 20rem;
}
.Contact-lead.--bold {
  line-height: 1.6;
  font-size: 1.65rem;
  font-weight: bold;
}
.Contact-lead {
  line-height: 1.6;
  margin: 1rem 0;
}
.Contact__wrapper h2 {
  border-bottom: 1px dashed #231815;
  padding: 3rem 0;
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.Contact__wrapper p {
  margin: 2rem 0;
  line-height: 1.5;
}
.form__wrapper {
  display: flex;
  align-items: center;
  margin: 4rem 0 0;
}
.form__wrapper:first-of-type {
  margin: 1.5rem 0 1.5rem;
}
.form__wrapper label {
  color: #0086c9;
  width: 20%;
  font-weight: 500;
}
.form__wrapper .wpcf7-form-control-wrap {
  width: 78%;
}
.form__wrapper input,.form__wrapper textarea {
  width: 100%;
  border: 1px solid #0086c9;
  padding: 1rem;
  background-color: #fff;
}
.wpcf7-submit,.wpcf7-previous {
  display: block;
  background-color: #0086c9;
  color: #fff;
  padding: 1rem;
  font-size: 1.8rem;
  letter-spacing: 0.3em;
  width: 100%;
  text-align: center;
  margin-top: 4rem;
}

.wpcf7-previous {
  margin: 6rem 0 -2rem;
}

/*
 * Recommendation
 * -------------------------------------------------------------
 */

.recom__lead {
  margin: 1rem 0 1rem auto;
  line-height: 1.5;
  width: 80%;
}

.c-tmplCard__address {
  margin: 0.5rem 0;
  color: #0086c9;
  text-align: right;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
  display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
  display: none;
}

@media screen and (min-width: 1025px) {

  a[href^="tel:"] {
    pointer-events: none;
  }

}

@media screen and (min-width: 1200px) {

  .header {
    left: calc(50% - 60rem);
    top: 22.333vw;
  }

}

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

  html {
    font-size: 0.91vw;
  }

  .header {
    left: calc(48% - 50vw);
  }

}

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

  html {
    font-size: 10px;
  }

  .footer {
    background: url(./../images/common/footer_img_sp.webp) no-repeat top/100%;
    height: 29rem;
    margin-top: 2rem;
  }

  .footer__copyright {
    font-size: 1.1rem;
  }

  .footerNav {
    position: relative;
  }

  .footerNav__body {
    border-width: 2px;
    justify-content: center;
    padding-top: 5rem;
  }

  .footerNav__info {
    display: none;
  }

  .footerNav__nav {
    flex-direction: column;
    gap: 0;
    max-width: 19.5rem;
    padding: 0;
  }

  .footerNav__list {
    gap: 0;
  }

  .footerNav__link {
    border-bottom: 1px dashed #231815;
    display: block;
    font-size: 1.4rem;
    padding: 1.7rem;
    text-align: center;
  }

  .footerNav__link::before {
    display: none;
  }

  .footerNav__sublist {
    display: none;
  }

  .header {
    bottom: 0;
    height: 6rem;
    left: 0;
    max-width: 100%;
    min-width: auto;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 10;
  }

  .header__logo {
    display: none;
  }

  /* SP用：雲の左右移動を小さく */
  @keyframes driftX_sp {
    0%   { transform: translateX(0); }
    50%  { transform: translateX(14px); }
    100% { transform: translateX(0); }
  }

  /* SP用：鳥の移動量を小さく */
  @keyframes flyX_sp {
    0%   { transform: translateX(-20px); }
    50%  { transform: translateX(60px); }
    100% { transform: translateX(-20px); }
  }

  .cloud01 { animation-name: driftX_sp, floatY; animation-duration: 30s, 10s; }
  .cloud02 { animation-name: driftX_sp, floatY; animation-duration: 36s, 11s; }
  .cloud03 { animation-name: driftX_sp, floatY; animation-duration: 34s, 12s; }
  .cloud04 { animation-name: driftX_sp, floatY; animation-duration: 40s, 10.5s; }
  .cloud05 { animation-name: driftX_sp, floatY; animation-duration: 38s, 11.5s; }

  .bird01 { animation-name: flyX_sp; animation-duration: 16s; }
  .bird02 { animation-name: flyX_sp; animation-duration: 20s; }
  .bird03 { animation-name: flyX_sp; animation-duration: 18s; }

  .l-bg--topPage1 {
    max-width: 49rem;
    min-width: 49rem;
    top: 63.7rem;
  }

  .l-bg--gallery {
    display: none;
  }

  .l-bg--template,.l-bg--template02,
  .l-bg--template03,.l-bg--template03mintop,
  .l-bg--template04,.l-bg--template05,
  .l-bg--template06,.l-bg--template07 {
    display: none;
  }

  .l-colWrap {
    display: contents;
  }

  .l-contents {
    padding-left: 0;
  }

  .l-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 55rem;
    padding: 0 3rem;
  }

  .l-topImage__img {
    aspect-ratio: 390/101;
  }

  .l-topImage__nav {
    display: none;
  }

  .burger {
    display: flex;
  }

  .c-breadcrumb__list {
    display: none;
  }

  .c-moreInfo__list {
    gap: 0;
    grid-template-columns: repeat(1, 1fr);
    padding: 2.4rem 0 6rem;
  }

  .c-moreInfo__link {
    font-size: 1.3rem;
    padding: 1.4rem 1.3rem 0.8rem 0.5rem;
  }

  .c-moreInfo__link::after {
    font-size: 2rem;
  }

  .c-moreInfo__link::before {
    max-width: 5rem;
  }

  .c-pageSecHead__eng {
    font-size: 3rem;
  }

  .c-pageTtl {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 1rem;
  }

  .c-pageTtl__ja {
    font-size: 1.4rem;
  }

  .c-pageTtl__eng {
    font-size: 4rem;
    height: auto;
  }

  .c-tmplCard__ttl {
    font-size: 1.2rem;
    /*height: 3rem;*/
    padding: 0 1rem;
  }

  .c-tmplCard__img {
    aspect-ratio: 250/120;
  }

  .c-tmplCard__text {
    font-size: 1.1rem;
    line-height: 1.4545454545;
  }

  .c-tmplCard__note {
    font-size: 0.9rem;
    letter-spacing: 0;
    line-height: 1.4444444444;
    margin-top: 1.2rem;
  }

  .c-tmplCard__details,.c-tmplCard__details.padh {
    padding: 1.2rem 0 0 0;
  }

  .c-tmplCard__list {
    font-size: 1.1rem;
    gap: 0 1.3rem;
    line-height: 1.4545454545;
  }

  .c-tmplCard__shopName {
    font-size: 1.1rem;
    margin-top: 0.7rem;
  }

  .c-tmplCard__desc {
    font-size: 1.1rem;
    line-height: 1.4545454545;
    margin-top: 0.7rem;
  }

  .c-tmplCard__btn {
    font-size: 1.1rem;
    font-weight: 600;
    margin-top: 0.7rem;
  }

  .c-tmplCard__btn::after {
    height: 3.2rem;
    width: 3.2rem;
  }

  .c-tmplCards {
    gap: 2.5rem;
    grid-template-columns: repeat(1, 1fr);
    padding: 0 3rem;
  }

  .c-tmplInfo {
    position: relative;
  }

  .c-tmplInfo::before {
    display: block;
  }

  .c-tmplInfo__btns {
    gap: 3rem;
    max-width: 35rem;
    padding: 0 2.5rem;
  }

  .c-tmplInfo__btn {
    border-radius: 2.5rem;
    font-size: 1.4rem;
    gap: 0.6rem;
    height: 5rem;
  }

  .c-tmplInfo__textBlock {
    font-size: 1.3rem;
    line-height: 1.7692307692;
    margin-top: 2rem;
  }

  .c-tmplInfo__contact {
    gap: 1.4rem;
  }

  .c-tmplPickup {
    flex-direction: column-reverse;
    gap: 1.5rem;
    margin-top: 4rem;
    position: relative;
  }

  .c-tmplPickup__linkWrap {
    display: inline-block;
    margin-left: auto;
  }

  .c-tmplPickup__link {
    align-items: center;
    display: flex;
    font-size: 1.6rem;
    gap: 1.6rem;
  }

  .c-tmplPickup__link::after {
    margin-top: 0.2rem;
  }

  .c-tmplPickup__img {
    aspect-ratio: 330/200;
    border-radius: 2rem;
    max-width: 100%;
  }

  .c-tmplSecHead {
    font-size: 1.6rem;
    position: relative;
  }

  .c-tmplSecHead::before {
    display: block;
  }

  .c-tmplSecHead span {
    padding: 0 1rem 1rem;
  }

  .c-tmplAbout {
    flex-direction: column;
  }

  .c-tmplAbout__img {
    width: 100%;
    height: 200px;
  }

  .c-tmplAbout__ctt {
    width: 100%;
  }

  .c-tmplAbout__ctt p:first-of-type {
    font-size: 1.6rem;
    margin: 1rem 0 0.5rem;
  }

  .c-tmplAbout__ctt p:last-of-type {
    font-size: 1.3rem;
    line-height: 1.5384615385;
  }

  .c-topSecHead {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 1rem;
  }

  .c-topSecHead__ja {
    font-size: 1.4rem;
  }

  .c-topSecHead__eng {
    font-size: 4rem;
  }

  .nav--pc {
    display: none;
  }

  .spNav {
    -webkit-overflow-scrolling: touch;
    background: #fff;
    background: #badef5;
    bottom: 0;
    display: block;
    height: auto;
    height: 100%;
    left: 0;
    opacity: 0;
    overflow-y: auto;
    padding: 2rem;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.6s;
    visibility: hidden;
    width: 100%;
    z-index: 1000;
  }

  .fv {
    margin-right: 0;
    max-width: 100%;
    padding-top: 5.9vw;
  }

  .fv__ttlWrap {
    display: contents;
  }

  .fv__ttl {
    background: #ffe100;
    flex-direction: row;
    gap: 0.5em;
    margin-left: auto;
    margin-right: auto;
    padding: 1.2rem 3rem;
    width: -moz-fit-content;
    width: fit-content;
  }

  .fv__ttl span {
    font-size: 6.154vw;
    letter-spacing: 0;
    padding: 0;
    writing-mode: inherit;
  }

  .fv__ttl span:nth-child(2) {
    margin-top: 0;
  }

  .fv__ttl.--pc {
    clip: rect(0 0 0 0) !important;
    border: 0 !important;
    height: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }

  .fv__ttl.--sp {
    display: block;
    position: absolute;
    top: -4.8vw;
  }

  .fv__img {
    border-radius: 7.69vw 0 0 7.69vw;
    flex: 1;
    height: 15rem;
    max-height: 50rem;
  }

  .fv__cont {
    align-items: center;
    border-radius: 0;
    flex-direction: column;
    gap: 5.38vw;
    height: auto;
    padding: 10.77vw 6.41vw 7.69vw;
    position: relative;
  }

  .fv__contTtl {
    max-width: 55rem;
    padding-top: 0;
    width: 74.9vw;
  }

  .fv__contLinks {
    gap: 7.69vw;
    max-width: 50rem;
  }

  .fv__contLink {
    aspect-ratio: 150/100;
    height: auto;
    max-width: 100%;
  }

  .fv__contLink span {
    font-size: 2.56vw;
    height: 5.13vw;
    right: -2.56vw;
    width: 20.5vw;
  }

  .fv__flex {
    display: flex;
    align-items: center;
    gap: 5.13vw;
    padding: 0 0 5.5rem 1.6rem;
    padding: 0 0 14.1vw 4.1vw;
  }

  .fv__logo {
    display: block;
    max-width: 26.49vw;
  }

  .gallery {
    padding: 3rem 0 10.3rem;
    position: relative;
  }

  .gallery::before {
    display: block;
  }

  .gallery::after {
    display: block;
  }

  .gallery__items {
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery__item img {
    aspect-ratio: 160/90;
    border-radius: 1rem;
  }

  .fancybox__content {
    width: 100% !important;
  }

  .pageHead {
    padding-top: 3.4rem;
    position: relative;
  }

  .pageHead__inner {
    display: block;
    margin-left: 0;
  }

  .pageHead::before {
    display: block;
  }

  .tmplLineup {
    padding-bottom: 10.3rem;
  }

  .tmplLineup__flex {
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 3rem;
  }

  .tmplLineup__img {
    aspect-ratio: 330/200;
    max-width: 100%;
    width: 100%;
  }

  .tmplLineup__text {
    font-size: 1.1rem;
    line-height: 1.4545454545;
  }

  .tmplLineup__items {
    padding: 5rem 0 6rem;
  }

  .tmplProducts {
    padding: 8rem 0;
  }

  .tmplProducts__items {
    margin-top: 3rem;
  }

  .tmplSlider,.tmplSlider.--minpadh {
    padding-top: 3rem;
  }

  .tmplSlider__inner {
    max-width: 100%;
  }

  .tmplSlider__ttl {
    border-radius: 2rem 0 2rem 0;
    font-size: 1.6rem;
    left: 3rem;
    padding: 1.2rem 2rem;
    min-width: unset;
  }

  .mainSlider {
    border-radius: 2rem;
  }

  .mainSlider .swiper-slide {
    height: auto;
  }

  .thumbSlider {
    margin-top: 1rem;
  }

  .thumbSlider .swiper-wrapper {
    grid-gap: 0.5rem;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(3, 1fr);
  }

  .thumbSlider .swiper-slide {
    width: 100% !important;
  }

  .thumbSlider img {
    aspect-ratio: 106/60;
    border-radius: 1rem;
  }

  .mainSlider__prev {
    left: 1rem !important;
  }

  .mainSlider__next {
    right: 1rem !important;
  }

  .tmplSlider__details {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 3rem;
    margin-top: 2rem;
  }

  .tmplSlider__meta {
    border: none;
    gap: 2rem;
    padding: 0;
  }

  .tmplSlider__meta dl dt {
    font-size: 1.4rem;
  }

  .tmplSlider__meta dl dd {
    line-height: 1.4545454545;
    margin-top: 0.8rem;
  }

  .tmplSlider__desc {
    max-width: 100%;
    padding-left: 0;
  }

  .tmplSlider__text {
    font-size: 1.3rem;
    line-height: 1.5384615385;
  }

  .topAbout {
    padding-top: 6.5rem;
    position: relative;
  }

  .topAbout::before {
    display: block;
  }

  .topAbout__body {
    margin-top: 3rem;
  }

  .topAbout__imgs {
    gap: 1.5rem;
  }

  .topAbout__img {
    aspect-ratio: 100/160;
    border-radius: 1rem;
  }

  .topAbout__text {
    font-size: 1.6rem;
    line-height: 1.69;
    margin-top: 3rem;
  }

  .topAbout__btn {
    ga: 0.7rem;
    border-radius: 2.5rem;
    font-size: 1.4rem;
    margin-top: 3.5rem;
    max-width: 28rem;
    padding: 1.7rem;
  }

  .topAccess {
    padding-top: 8.4rem;
    position: relative;
  }

  .topAccess::before {
    display: block;
  }

  .topAccess__map {
    border-radius: 2rem;
    border-width: 3px;
    height: 30rem;
  }

  .topAccess__details {
    gap: 2rem;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2rem;
    padding-left: 0;
  }

  .topAccess__item dt {
    font-size: 1.4rem;
  }

  .topAccess__item dd {
    font-size: 1.1rem;
    line-height: 1.45;
    margin-top: 1rem;
  }

  .topAccess__item .tel {
    font-size: 1.4rem;
  }

  .topEquipment {
    position: relative;
  }

  .topEquipment::before {
    display: block;
  }

  .topEquipment__list {
    gap: 2rem;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 4rem;
  }

  .topEquipment__item {
    gap: 1.5rem;
  }

  .topEquipment__icon {
    min-width: 6rem;
    width: 6rem;
  }

  .topEquipment__details dt {
    font-size: 1.4rem;
  }

  .topEquipment__details dd {
    font-size: 1.1rem;
    line-height: 1.4545454545;
  }

  .topFacility {
    padding-top: 10.4rem;
    position: relative;
  }

  .topFacility::before {
    display: block;
  }

  .topFacility::after {
    display: block;
  }

  .topFacility__lead {
    font-size: 1.3rem;
    line-height: 1.54;
    margin-top: 3rem;
  }

  .topFacility__list {
    gap: 2rem;
    grid-template-columns: repeat(1, 1fr);
  }

  .topFacility__item {
    display: flex;
    gap: 1.5rem;
  }

  .topFacility__img {
    aspect-ratio: 150/110;
    max-width: 15rem;
  }

  .topFacility__details {
    flex: 1;
    margin: 0;
    padding: 0;
  }

  .topFacility__text {
    font-size: 1.1rem;
    line-height: 1.6363636364;
    margin-top: 1rem;
  }

  .topFacility__btn {
    display: block;
    font-size: 2rem;
    margin-top: 1rem;
    position: static;
    text-align: right;
  }

  .topFacility__map {
    margin-top: 4.4rem;
  }

  .topLinks {
    padding: 8rem 0;
    position: relative;
  }

  .topLinks::before {
    display: block;
  }

  .topLinks__list {
    gap: 3rem;
    margin-top: 3rem;
  }

  .topLinks__item {
    flex-direction: column;
    gap: 1rem;
  }

  .topLinks__img {
    aspect-ratio: 150/80;
    height: auto;
    max-width: 15rem;
    width: 100%;
  }

  .topLinks__details {
    padding-top: 0;
  }

  .topLinks__ttl {
    font-size: 1.4rem;
  }

  .topLinks__text {
    font-size: 1.1rem;
    line-height: 1.45;
    margin-top: 0.8rem;
  }

  .topNews {
    padding-top: 2.8rem;
    position: relative;
  }

  .topNews::before {
    display: block;
  }

  .topNews__body {
    align-items: center;
    flex-wrap: wrap;
    gap: 1.8rem;
    justify-content: space-between;
    padding: 0 1.8rem;
  }

  .topNews__main {
    display: contents;
  }

  .topNews__head {
    font-size: 1.5rem;
    order: 1;
  }

  .topNews__list {
    gap: 2rem;
    order: 3;
    width: 100%;
  }

  .topNews__item {
    flex-direction: column;
    gap: 0.8rem;
  }

  .topNews__date {
    font-size: 1.3rem;
    margin: 0;
  }

  .topNews__cat {
    font-size: 1.3rem;
    margin-right: 1rem;
  }

  .topNews__ttl {
    font-size: 1.3rem;
  }

  .topNews__btnArea {
    border: none;
    order: 2;
    padding: 0;
  }

  .topNews__btn {
    font-size: 1.1rem;
    gap: 0.6rem;
  }

  .topNews__btn::after {
    height: 3.2rem;
    width: 3.2rem;
  }

  .topSightseeing {
    padding-top: 8.4rem;
  }

  .topSightseeing__items {
    gap: 1.5rem;
    grid-template-columns: repeat(1, 1fr);
    margin-top: 3rem;
  }

  .topSightseeing__item {
    aspect-ratio: 330/150;
    border-radius: 1rem;
  }

  .topSightseeing__details {
    padding-left: 0;
  }

  .topSightseeing__text {
    font-size: 1.1rem;
    line-height: 1.6;
    max-width: 100%;
  }

  .topSns {
    padding-top: 3rem;
  }

  .topSns__body {
    flex-direction: column;
    gap: 1.5rem;
    padding: 0 1.8rem;
  }

  .topSns__items {
    grid-gap: 1.5rem;
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(1, 1fr);
    max-width: 100%;
    width: 100%;
  }

  .topSns__item {
    aspect-ratio: 1/1;
    max-width: 100%;
    width: auto;
  }

  .topSns__btn {
    font-size: 1.4rem;
    gap: 0.5rem;
  }

  .topSns__btn::after {
    height: 3.2rem;
    width: 3.2rem;
  }

  .outline ul,.outline.--col ul {
    flex-direction: column;
    gap: 3rem;
    margin: 4rem 0 8rem;
  }

  .outline ul li {
    width: 100%;
  }

  .outline ul li p:first-of-type {
    font-size: 1.5rem;
  }

  .Access {
    margin: 4rem 0 0;
  }

  .Access__wrapper {
    flex-direction: column;
  }

  .Access__img {
    width: 100%;
  }

  .Access__img img {
    width: 50%;
    margin: 0 auto;
  }

  .Access__wrapper .outline {
    width: 100%;
  }

  .main2col__list {
    gap: 2.5rem;
    display: flex;
    flex-direction: column;
    margin: 3rem 0 7rem;
  }

  .main2col__map {
    margin: 0 0 8rem;
  }

  .main2col__head p:first-of-type,
  .main2col__head p:last-of-type {
    font-size: 1.5rem;
  }

  .Faq dl {
    margin: 3rem 0 8rem;
  }

  .Faq dl dt p:first-of-type {
    font-size: 4rem;
  }

  .Faq dl dt p:last-of-type {
    font-size: 1.5rem;
  }

  .Topics {
    margin: 3rem 0 8rem;
  }

  .Topics ul li a {
    padding: 30px 0;
  }

  .Topics h1 {
    font-size: 2rem;
    padding: 2rem 0;
  }

  .Topics h2 {
    font-size: 2rem;
    margin: 2rem 0 1rem;
  }

  .Topics__ctt time {
    margin: 0 0 3rem;
  }

  .Topics__ctt h3 {
    font-size: 1.8rem;
    padding: 1rem 1.5rem;
  }

  .Topics__ctt {
    margin: 2rem 0 8rem;
  }

  .Topics__ctt p {
    margin: 1rem 0;
  }

  .About-lead {
    font-size: 1.3rem;
  }

  .About__ctt {
    flex-direction: column;
    margin: 3rem 0 3rem;
  }

  .About__img img {
    width: 100%;
  }

  .About__img p {
    font-size: 4rem;
  }

  .About__ctt.reverse {
    flex-direction: column;
   }

  .About__ctt.reverse .About__txt-head {
    text-align: left;
   }

  .About__ctt.reverse:last-of-type .About__txt {
    width: 100%;
   }

  .About__imgmin {
    width: 50%;
   }

  .About__img {
    width: 100%;
  }

  .About__txt {
    width: 100%;
    margin: 1.5rem 0;
   }

  .About__txt p.About__txt-head {
    font-size: 1.4rem;
   }

  .About__txt p {
    font-size: 1.3rem;
   }

  .cookie p {
    font-size: 1.5rem;
   }

  .c-tmplCards.--col {
    gap: 5rem;
   }

  .c-tmplCards.--col .c-tmplCard {
    flex-direction: column;
   }

  .c-tmplCards.--col .c-tmplCard__img,
  .c-tmplCards.--col .c-tmplCard__text {
    width: 100%;
   }

   .Contact {
    margin: 3rem 0 8rem;
   }

  .Contact__wrapper h2 {
    font-size: 2rem;
    padding: 2rem 0;
   }

  .form__wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
   }

  .form__wrapper label,
  .form__wrapper .wpcf7-form-control-wrap {
    width: 100%;
  }

  .tmplProducts.recom {
    padding: 3rem 0 8rem;
  }

  .recom__lead {
  font-size: 1.1rem;
  line-height: 1.5;
  width: 100%;
  }

  .bird01,.bird02,.bird03 {
  width: 5rem;
  z-index: 5;
  }

  .bird01 {
    left: 3rem;
    top: 5rem;
  }

  .bird02 {
    left: 11rem;
    top: 2rem;
  }

  .c-tmplCard__address {
    font-size: 1.1rem;
  }

  .facility-nav {
    display: none;
  }

  .c-tmplCard__text-wrapper {
    align-items: flex-start;
    flex-direction: column-reverse;
    gap: 0.5rem;
  }

  .c-tmplCard__cat {
    font-size: 1.1rem;
    line-height: 1.4545454545;
  }

  .c-tmplInfo__btns.recom {
    margin-top: 8rem;
  }

  .privacypolicy {
    margin-bottom: 8rem;
  }

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }

}

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

  html {
    font-size: 2.564vw;
  }

}


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