@charset "UTF-8";

html {
  font-size: 10px;
}

html {
  scroll-padding-top: 7rem;
}

a {
  text-decoration: none;
  color: inherit;
}

html {
  visibility: hidden;
}

html.wf-active,
html.loading-delay {
  visibility: visible;
}

body {
  font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  color: #000;
  overflow-wrap: break-word;
  overflow-x: hidden;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0em;
  letter-spacing: 0;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

strong,
b {
  font-family: "Yu Gothic";
}

span,
a {
  display: inline-block;
}

.sp-lg {
  display: block;
}

.sp-xl {
  display: block;
}

.sp-xxl {
  display: block;
}

.pc {
  display: none;
}

/* -----------------------------
画面下部に固定
----------------------------- */

.container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;
}

.footer {
  margin-top: auto;
}

/* -----------------------------
section-space
----------------------------- */

.padding._section {
  padding-top: 4rem;
  padding-bottom: 8.5rem;
}

.padding._underPage {
  padding-top: 3.2rem;
  padding-bottom: 9rem;
}

.padding._underPage2 {
  padding-top: 3.2rem;
  padding-bottom: 9rem;
}

.padding._underSection {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

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

ul,
ol,
button {
  padding: 0;
}

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

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

ul,
ol,
li {
  list-style: none;
}

img {
  image-rendering: auto;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

article > * + * {
  margin-top: 2em;
}

address,
strong,
em {
  font-style: normal;
}

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

img:not([alt]) {
  filter: blur(10px);
}

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] {
  opacity: 0;
  position: absolute;
}

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

select {
  color: #000;
}

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

.contact {
  text-align: center;
}

.contact__heading {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.1666666667;
  text-align: center;
  background-color: #016BA0;
  height: 15rem;
  color: #FFF;
  display: grid;
  place-items: center;
}

.contact__inner {
  max-width: 84rem;
  width: 100%;
  padding: 0 2rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.contact__lead {
  margin-top: 4rem;
}

.contact__leadText {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}

.contact__info {
  margin-top: 12rem;
}

.contact__title {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #016BA0;
}

.contact__infoTel {
  font-family: Montserrat, sans-serif;
  font-style: italic;
  font-size: 6.8rem;
  font-weight: 600;
  line-height: 1.2352941176;
  margin-top: 1rem;
}

.contact__infoText {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6666666667;
  margin-top: 1rem;
}

.contact__infoText span {
  display: block;
}

.contact__form {
  margin-top: 8rem;
  padding-bottom: 8rem;
}

.contact__formWrap {
  margin-top: 2.2rem;
}

.contact__confirmText {
  margin-top: 3rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3333333333;
}

.page-template-page-contact-confirm .contact__formWrap {
  margin-top: 3rem;
}

.contact__thanksWrap {
  text-align: center;
  display: grid;
  place-items: center;
}

.contact__thanks {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2.0833333333;
}

.contact__thanksBtn {
  margin-top: 9rem;
  padding-bottom: 9rem;
}

.contact__thanksBtn a {
  width: 59rem;
}

.contact__thanks {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.7777777778;
  margin-top: 4.5rem;
}

.contact__thanksText {
  font-size: 1.6rem;
  line-height: 1.7777777778;
  margin-top: 4rem;
}

.course__lead {
  margin: -2rem auto 0;
  padding: 0 2.4rem 8rem;
  animation: fadeIn 1.5s ease forwards;
  animation-delay: 2s;
  opacity: 0;
}

.course__lead span {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.7222222222;
  padding: 0 2.6rem;
}

.course__wrap {
  margin-top: 5rem;
  padding-bottom: 13rem;
}

.course__article {
  margin-top: 4.3rem;
  position: relative;
  z-index: 1;
}

.course__list {
  border-bottom: 1px solid #000;
  padding: 0 1.6rem;
}

.course__item {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #000;
  padding: 3.5rem 0 4.5rem;
}

.course__thumb {
  margin-top: 3rem;
  max-width: 68rem;
}

.course__thumb img {
  aspect-ratio: 680/400;
  -o-object-fit: cover;
  object-fit: cover;
}

.course__body {
  margin-top: 1.9rem;
}

.course__num._sp {
  display: flex;
  align-items: center;
  gap: 1.1rem;
}

.course__num._pc {
  display: none;
}

.course__num .num,
.course__num .main {
  font-family: Montserrat, sans-serif;
  color: #91B509;
  font-style: italic;
  font-size: 3.1rem;
  font-weight: 600;
  line-height: 1;
}

.course__num::before {
  content: "";
  display: inline-block;
  width: 5.4rem;
  height: 5.4rem;
  background: url(../img/course/icon-course-green.svg) no-repeat center/cover;
}

.course__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
}

.course__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.03em;
  margin-top: 1.6rem;
}

.course__labels {
  margin-top: 2.2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 2rem;
}

.course__label .title {
  background-color: #000;
  color: #FFF;
  border-radius: 50vh;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.6rem 1.4rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
}

.course__label .text {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.2rem 0.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.03em;
}

.course__btn {
  text-align: right;
  margin-top: 5rem;
}

.course__btn a {
  text-align: center;
  background-color: #FFF;
  color: #016BA0;
  border-radius: 50vh;
  border: 1px solid #7BB2CE;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.3043478261;
  letter-spacing: 0.03em;
  padding: 2.6rem 1rem;
  max-width: 26rem;
  width: 100%;
}

.courseDetail__mv {
  position: relative;
}

.courseDetail__title {
  background-color: rgba(145, 181, 9, 0.95);
  padding: 2.8rem 3.5rem;
  max-width: 56rem;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: fadeIn 1.5s ease forwards;
  animation-delay: 2s;
  opacity: 0;
}

.courseDetail__num {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.1rem;
}

.courseDetail__num .num,
.courseDetail__num .main {
  font-family: Montserrat, sans-serif;
  color: #FFF;
  font-style: italic;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1;
}

.courseDetail__num::before {
  content: "";
  display: inline-block;
  width: 4.8rem;
  height: 5.1rem;
  background: url(../img/course/icon-course.svg) no-repeat center/cover;
}

.courseDetail__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
  margin-top: 6rem;
  color: #FFF;
  position: relative;
  text-align: center;
}

.courseDetail__heading::before {
  content: "";
  display: block;
  width: 98%;
  height: 1px;
  position: absolute;
  top: -3.7rem;
  right: 0;
  border: 0.1rem dashed #FFF;
}

.courseDetail__mv img {
  aspect-ratio: 760/700;
  -o-object-fit: cover;
  object-fit: cover;
}

.courseDetail__inner {
  padding-bottom: 6rem;
}

.courseDetail__lead {
  padding-bottom: 4.4rem;
  padding: 0 1.6rem;
  margin-top: 13rem;
  position: relative;
  z-index: 1;
}

.courseDetail__leadContainer {
  display: contents;
}

.courseDetail__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.03em;
  border-bottom: 0.1rem solid #000;
  padding: 2.8rem 0;
}

.courseDetail__schedule {
  padding: 0 1.6rem;
  margin-top: 8rem;
}

.courseDetail__schedule + .courseDetail__schedule {
  margin-top: 8rem;
}

.courseDetail__lead .course__labels {
  padding-bottom: 3.7rem;
  margin-top: 3rem;
}

/* --------------------------------
  courseDetail__flow
-------------------------------- */

.courseDetail__days {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.03em;
  text-align: center;
  background-color: #FFF;
  border: 1px solid #91B509;
  border-radius: 0.9rem;
  padding: 2rem;
}

.courseDetail__flow {
  margin-top: 5.1rem;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 3rem;
  padding-left: 4.1176470588%;
}

.courseDetail__flowItem {
  max-width: 23rem;
  width: 34.4117647059%;
  text-align: center;
  position: relative;
  z-index: 1;
}

.courseDetail__flowItem:nth-of-type(4n+1)::before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 0.3rem;
  background-color: #91B509;
  position: absolute;
  top: 9rem;
  left: -1.8rem;
  z-index: -1;
}

.courseDetail__flowItem:first-of-type::before {
  content: none;
}

.courseDetail__flowText {
  background-color: #FFF;
  border: 1px solid #91B509;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 1.5rem 3rem;
  height: 17.6rem;
  border-radius: 1.5rem;
}

.courseDetail__flowText._start {
  font-size: 2.9rem;
  font-weight: 600;
  line-height: 1.3793103448;
  letter-spacing: 0.03em;
  font-family: Montserrat, sans-serif;
  color: #91B509;
}

.courseDetail__flowText._end {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.3333333333;
  letter-spacing: 0.03em;
}

.courseDetail__flowImg {
  height: 17.6rem;
  border-radius: 1.5rem;
  overflow: hidden;
}

.courseDetail__flowImg img {
  aspect-ratio: 230/176;
  -o-object-fit: cover;
  object-fit: cover;
}

.courseDetail__flowTitle {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.1666666667;
  letter-spacing: 0.03em;
  margin-top: 0.5rem;
}

.courseDetail__flowDesc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.courseDetail__means {
  width: 15%;
  max-width: 10.2rem;
  text-align: center;
  position: relative;
  height: 17.6rem;
  padding-top: 4rem;
}

.courseDetail__badge figure.none {
  width: 39.2156862745%;
  opacity: 0;
  margin: 0 auto;
}

.courseDetail__badge figure.bus {
  width: 39.2156862745%;
  margin: 0 auto;
}

.courseDetail__badge figure.walk {
  width: 20.5882352941%;
  margin: 0 auto;
}

.courseDetail__badge img.none {
  opacity: 0;
}

.courseDetail__badge img.none,
.courseDetail__badge img.bus {
  aspect-ratio: 40/23;
  -o-object-fit: cover;
  object-fit: cover;
}

.courseDetail__badge img.walk {
  aspect-ratio: 21/38;
  -o-object-fit: cover;
  object-fit: cover;
}

.courseDetail__line {
  display: block;
  width: 100%;
  height: 0.3rem;
  background-color: #91B509;
  margin-top: 0.4rem;
}

.courseDetail__time {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.03em;
  color: #91B509;
  margin-top: 0.4rem;
}

.courseDetail__btn {
  text-align: center;
  margin-top: 14.2rem;
}

.courseDetail__btn a {
  text-align: center;
  background-color: #FFF;
  color: #016BA0;
  border-radius: 50vh;
  border: 1px solid #7BB2CE;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.3043478261;
  letter-spacing: 0.03em;
  padding: 2.6rem 1rem;
  max-width: 26rem;
  width: 100%;
}

.event__list {
  margin-top: 8.3rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 12.2rem;
  padding-bottom: 8rem;
}

.event__item {
  width: 100%;
  padding: 0 1.6rem;
  overflow: hidden;
}

.event__item > a {
  position: relative;
}

.event__thumb {
  width: 100%;
  height: 100%;
}

.event__thumb img {
  aspect-ratio: 680/400;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.event__area {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  padding: 1.7rem 2.2rem;
  background-color: #000;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.event__month {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  padding: 2.3rem 1rem;
  background-color: #A5639E;
  color: #FFF;
  width: 100%;
  text-align: center;
}

.event__hp {
  display: none;
}

.event__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.03em;
  margin-top: 1.8rem;
}

.event__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.02em;
  margin-top: 0.5rem;
  padding-bottom: 1rem;
}

.event__descItem {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.44;
  letter-spacing: 0.02em;
}

.event__descItem a[href^=tel] {
  display: inline;
}

.event__descItem._note,
.event__descItem._add,
.event__descItem._addarea {
  gap: 0;
  flex-wrap: wrap;
}

.event__descItem._note *,
.event__descItem._add *,
.event__descItem._addarea * {
  max-width: 100%;
  word-break: break-all;
}

.event__descItem._url a {
  color: #016BA0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: relative;
  text-decoration: underline;
  max-width: 44rem;
  width: 100%;
}

.event__descItem._time {
  border-top: 1px solid #000;
  padding-top: 1rem;
}

.event__descItem._url a::after {
  content: "";
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../img/common/arrow-box-blue.svg) no-repeat center/cover;
}

.event__descItem span.violet {
  font-weight: 700;
  min-width: -moz-fit-content;
  min-width: fit-content;
}

.event__descItem span.violet::first-letter {
  color: #A5639E;
}

.event__descItem span.first-letter {
  color: #A5639E;
}

.event__descItem._addarea::first-letter {
  color: #A5639E;
}

.event__badge {
  width: 9.6rem;
  height: 9.6rem;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  z-index: 5;
}

.event__badge img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}

.nf404 {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  min-height: 80vh;
  min-height: calc(var(--vh, 1vh) * 80);
  min-height: 80dvh;
  margin-top: 0;
}

.nf404__text {
  font-size: 2rem;
  color: #000;
  margin-top: 2.4rem;
  font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 700;
}

.nf404__text .title {
  font-size: 2rem;
  color: #000;
  margin-top: 2.4rem;
  font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 700;
  position: relative;
}

.nf404__text .sub1,
.nf404__text .sub2 {
  color: rgba(183, 183, 183, 0.2);
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: capitalize;
  font-family: Montserrat, sans-serif;
  font-style: italic;
  display: block;
}

.nf404__text .sub2 {
  font-size: 7.8rem;
}

.nf404__text .sub1 {
  font-size: 6.6rem;
}

.nf404__btn {
  margin-top: 3rem;
  width: 59rem;
}

.restaurant__search {
  padding: 1.8rem 2.4rem 6rem;
  position: relative;
  z-index: 2;
}

.restaurant__list {
  margin-top: 9.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem 4.4rem;
}

.restaurant__item {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}

.restaurant__itemUpper a {
  position: relative;
  width: 100%;
}

.restaurant__itemUpper a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

.restaurant__thumb {
  width: 100%;
}

.restaurant__thumb img {
  aspect-ratio: 318/234;
  -o-object-fit: cover;
  object-fit: cover;
}

.restaurant__area {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  padding: 0.6rem 1rem;
  background-color: #000;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.restaurant__hp {
  display: none;
}

.restaurant__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.03em;
  margin-top: 1.7rem;
  flex-grow: 1;
}

.restaurant__catList {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  row-gap: 1rem;
  margin-top: 0.6rem;
}

.restaurant__catList li {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  background-color: #FFF;
  border-radius: 1.7rem;
  border: 1px solid #B7B7B7;
  padding: 0.2rem 0.8rem;
  height: -moz-fit-content;
  height: fit-content;
}

.restaurant__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-top: 0.9rem;
}

.restaurant__itemUnder {
  margin-top: 3rem;
}

.spot__search {
  padding: 1.8rem 2.4rem 6rem;
  position: relative;
  z-index: 2;
}

.spot__list {
  margin-top: 9.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem 4.4rem;
}

.spot__item {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}

.spot__itemUpper a {
  position: relative;
  width: 100%;
}

.spot__itemUpper a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

.spot__thumb {
  width: 100%;
}

.spot__thumb img {
  aspect-ratio: 318/234;
  -o-object-fit: cover;
  object-fit: cover;
}

.spot__area {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  padding: 0.6rem 1rem;
  background-color: #000;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.spot__hp {
  display: none;
}

.spot__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.03em;
  margin-top: 1.7rem;
  flex-grow: 1;
}

.spot__catList {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  row-gap: 1rem;
  margin-top: 0.6rem;
}

.spot__catList li {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  background-color: #FFF;
  border-radius: 1.7rem;
  border: 1px solid #B7B7B7;
  padding: 0.2rem 0.8rem;
  height: -moz-fit-content;
  height: fit-content;
}

.spot__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-top: 0.9rem;
}

.spot__itemUnder {
  margin-top: 3rem;
}

.stay__search {
  padding: 1.8rem 2.4rem 6rem;
  position: relative;
  z-index: 2;
}

.stay__list {
  margin-top: 9.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem 4.4rem;
}

.stay__item {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}

.stay__itemUpper a {
  position: relative;
  width: 100%;
}

.stay__itemUpper a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

.stay__thumb {
  width: 100%;
}

.stay__thumb img {
  aspect-ratio: 318/234;
  -o-object-fit: cover;
  object-fit: cover;
}

.stay__area {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  padding: 0.6rem 1rem;
  background-color: #000;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.stay__hp {
  display: none;
}

.stay__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.03em;
  margin-top: 1.7rem;
  flex-grow: 1;
}

.stay__catList {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  row-gap: 1rem;
  margin-top: 0.6rem;
}

.stay__catList li {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  background-color: #FFF;
  border-radius: 1.7rem;
  border: 1px solid #B7B7B7;
  padding: 0.2rem 0.8rem;
  height: -moz-fit-content;
  height: fit-content;
}

.stay__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-top: 0.9rem;
}

.stay__itemUnder {
  margin-top: 3rem;
}

/* ------------------------------
topMv
------------------------------ */

.topMv {
  position: relative;
}

.topMv::before {
  content: "";
  display: block;
  width: 14.6rem;
  height: 16.4rem;
  position: absolute;
  bottom: -2rem;
  left: 4rem;
  background: url(../img/top/mv-icon-b01.webp) no-repeat center/cover;
  animation: mvAnimeRight 3.2s ease forwards;
  animation-delay: 3s;
  opacity: 0;
  z-index: 1;
}

.topMv::after {
  content: "";
  display: block;
  width: 16.8rem;
  height: 17.4rem;
  position: absolute;
  bottom: -2rem;
  right: 5rem;
  background: url(../img/top/mv-icon-b02.webp) no-repeat center/cover;
  animation: mvAnimeRightDown 3.5s ease forwards;
  animation-delay: 3.5s;
  opacity: 0;
  z-index: 1;
}

.topMv__img {
  width: 100%;
  position: relative;
}

.topMv__bg {
  position: relative;
  z-index: 0;
  opacity: 0;
  animation: fadeIn 2s ease forwards;
  background-color: #FFF;
  animation-delay: 3s;
  width: 100%;
  height: 100%;
}

.topMv__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  z-index: 4;
  max-width: 35.2rem;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 2s;
}

.topMv__title img {
  aspect-ratio: 352/352;
}

.topMv__title::before {
  content: "";
  display: block;
  width: 7.8rem;
  height: 17.4rem;
  position: absolute;
  bottom: 0rem;
  left: -8rem;
  background: url(../img/top/mv-icon-c01.webp) no-repeat center/cover;
  animation: mvAnimeLeft 3s ease forwards;
  animation-delay: 3s;
  opacity: 0;
}

.topMv__title::after {
  content: "";
  display: block;
  width: 11.4rem;
  height: 19.8rem;
  position: absolute;
  top: -4rem;
  right: -10rem;
  background: url(../img/top/mv-icon-c02.webp) no-repeat center/cover;
  animation: mvAnimeRight 3.5s ease forwards;
  animation-delay: 3.5s;
  opacity: 0;
}

.topMv__flag::before {
  content: "";
  display: block;
  background: url(../img/top/mv-icon-flag.svg) no-repeat center/cover;
  position: absolute;
  transform: translate(-5rem, -16rem);
  z-index: 5;
  max-width: 18.2rem;
  width: 100%;
  height: 17rem;
  opacity: 0;
  animation: fadeIn 1s ease forwards;
  animation-delay: 2s;
}

/* ------------------------------
topIntro
------------------------------ */

.topIntro {
  margin-top: 8.8rem;
  display: flex;
  flex-direction: column;
}

.topIntro__inner {
  position: relative;
}

.topIntro__body {
  text-align: center;
  overflow-x: hidden;
}

.topIntro__heading {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}

.topIntro__subHeading {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.2083333333;
  letter-spacing: 0.1em;
  font-family: Montserrat, sans-serif;
  font-style: italic;
  color: #016BA0;
  margin-top: 2.3rem;
}

.topIntro__text {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0em;
  margin-top: 3.2rem;
}

.topIntro__text + .topIntro__text {
  margin-top: 5.4rem;
}

.topIntro__imgWrap {
  position: relative;
  z-index: 0;
  height: 100%;
  min-height: 75.6rem;
  margin-top: 7.5rem;
}

.topIntro__img {
  position: absolute;
  top: 0;
  left: -4.9rem;
  max-width: 74.8rem;
}

.topIntro__img img {
  aspect-ratio: 756/768;
  -o-object-fit: cover;
  object-fit: cover;
}

.topIntro__linkBox {
  background-color: #FFF;
  text-align: center;
  padding: 4.2rem 5.7rem;
  border-radius: 4.5rem;
}

.topIntro__headingLv3 {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.7222222222;
}

.topIntro__linkText {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  margin-top: 1.1rem;
}

.topIntro__btn {
  margin-top: 2.9rem;
}

/* ------------------------------
topSearch
------------------------------ */

.topSearch {
  padding-bottom: 6rem;
  margin-top: -2.8rem;
  position: relative;
  z-index: 1;
}

.topSearch__headingWrap {
  text-align: center;
  margin-top: 14rem;
}

.topSearch__heading {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.7222222222;
}

.topSearch__text {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  margin-top: 2.4rem;
  text-align: left;
}

.topSearch__list {
  margin-top: 13.5rem;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(6, 1fr);
  grid-row-gap: 9rem;
}

.topSearch__item a {
  position: relative;
}

.topSearch__item img {
  aspect-ratio: 680/400;
  -o-object-fit: cover;
  object-fit: cover;
}

.topSearch__item .wrap {
  text-align: center;
  background-color: rgba(224, 98, 101, 0.95);
  border-radius: 50%;
  width: 22.4rem;
  height: 22.4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  color: #FFF;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.topSearch__item:nth-of-type(2) .wrap {
  background-color: rgba(22, 73, 151, 0.95);
}

.topSearch__item:nth-of-type(3) .wrap {
  background-color: rgba(214, 157, 65, 0.95);
}

.topSearch__item:nth-of-type(4) .wrap {
  background-color: rgba(75, 181, 233, 0.95);
}

.topSearch__item:nth-of-type(5) .wrap {
  background-color: rgba(165, 99, 158, 0.95);
}

.topSearch__item:nth-of-type(6) .wrap {
  background-color: rgba(145, 181, 9, 0.95);
}

.topSearch__item .main {
  font-size: 3.7rem;
  font-weight: 700;
  line-height: 1.7027027027;
}

.topSearch__item:nth-of-type(4) .main {
  line-height: 1.2;
}

.topSearch__item:nth-of-type(6) .main {
  line-height: 1.2;
}

.topSearch__item .sub {
  font-family: Montserrat, sans-serif;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.3461538462;
  letter-spacing: 0.05em;
}

.topSearch__item p {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-top: 2.6rem;
}

.tour__pageLinks {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4rem;
  text-align: center;
  margin-top: 5.2rem;
}

.tour__pageLink a {
  position: relative;
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  border: 0.2rem solid #4BB5E9;
  border-radius: 50vh;
  box-shadow: 0.3rem 0.3rem 0.3rem #4BB5E9;
  background-color: #FFF;
  padding: 3.2rem 2rem;
  max-width: 49.5rem;
  width: 100%;
}

.tour__pageLink a::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border: 0;
  border-bottom: solid 0.2rem #4BB5E9;
  border-right: solid 0.2rem #4BB5E9;
  position: absolute;
  top: 40%;
  right: 2.6rem;
  margin-top: -0.2rem;
  transform: rotate(45deg);
  transition: all 0.3s ease-in 0s;
}

.tour__mediaWrap {
  overflow: hidden;
}

.tour__media {
  margin-top: 4rem;
}

.tour__mediaBody {
  background-color: #FFF;
  padding: 0 4rem;
  position: relative;
  z-index: 1;
}

.tour__mediaBody::after {
  content: "";
  display: block;
  width: 100%;
  min-height: 111.3rem;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #FFF;
  z-index: -1;
}

.tour__mediaBadge {
  color: #FFF;
  background-color: #4BB5E9;
  max-width: -moz-fit-content;
  max-width: fit-content;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  font-family: Montserrat, sans-serif;
  font-style: italic;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 4.9rem 3rem;
  position: relative;
  transform: translateY(-4rem);
}

.tour__mediaBadge::after {
  content: "";
  display: block;
  width: 5.2rem;
  height: 0.4rem;
  position: absolute;
  bottom: -2rem;
  left: 50%;
  background-color: #4BB5E9;
  transform: translateX(-2.5rem) rotate(53deg);
}

.tour__mediaHeading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-top: 4.4rem;
}

.tour__mediaText {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.02em;
  margin-top: 2rem;
}

.tour__mediaLink {
  margin-top: 7rem;
}

.tour__mediaLink a {
  color: #016BA0;
  text-decoration: underline;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

.tour__mediaLink a::after {
  content: "";
  display: block;
  width: 2.3rem;
  height: 2.3rem;
  background: url(../img/common/arrow-box-blue.svg) no-repeat center/cover;
}

.tour__mediaImg {
  margin-right: calc(50% - 50vw);
  width: 100vw;
  margin-top: 6.3rem;
  margin-left: 4rem;
  position: relative;
  z-index: 1;
}

.tour__mediaImg figure {
  max-height: 45rem;
  overflow: hidden;
}

.tour__mediaImg img {
  aspect-ratio: 720/450;
  -o-object-fit: cover;
  object-fit: cover;
}

/* --------------------------------
  tour__tour
-------------------------------- */

.tour__list {
  margin-top: 9.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem 4.4rem;
}

.tour__item {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 0;
}

.tour__itemUpper a {
  position: relative;
}

.tour__itemUpper a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

.tour__thumb {
  width: 100%;
}

.tour__thumb img {
  aspect-ratio: 318/234;
  -o-object-fit: cover;
  object-fit: cover;
}

.tour__area {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  padding: 0.6rem 1rem;
  background-color: #000;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.tour__hp {
  display: none;
}

.tour__heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.03em;
  margin-top: 1.7rem;
  flex: 1;
}

.tour__catList {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  row-gap: 1rem;
  margin-top: 0.6rem;
}

.tour__catList li {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  background-color: #FFF;
  border-radius: 1.7rem;
  border: 1px solid #B7B7B7;
  padding: 0.2rem 0.8rem;
  height: -moz-fit-content;
  height: fit-content;
}

.tour__desc {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-top: 0.9rem;
}

.tour__itemUnder {
  margin-top: 3rem;
}

/* --------------------------------
tour__volunteer
-------------------------------- */

.tour__volunteer {
  margin-top: 8rem;
}

.tour__vList {
  margin-top: 9.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem 4.4rem;
}

.tour__vItem {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 0;
}

.tour__vItem,
.tour__vItem .tour__centerWrap,
.tour__vItem .tour__descWrap {
  max-width: 33rem;
  width: 100%;
}

.tour__vItem > a {
  position: relative;
  width: 100%;
}

.tour__vItem > a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

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

.tour__centerWrap .tour__desc {
  border-bottom: 1px solid #000;
  padding-bottom: 1rem;
  flex-grow: 1;
}

.tour__catList {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  row-gap: 1rem;
  margin-top: 0.6rem;
}

.tour__catList li {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4444444444;
  letter-spacing: 0.03em;
  background-color: #FFF;
  border-radius: 1.7rem;
  border: 1px solid #B7B7B7;
  padding: 0.2rem 0.8rem;
  height: -moz-fit-content;
  height: fit-content;
}

.tour__descWrap {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding-top: 1rem;
}

.tour__descItem {
  position: relative;
  padding-left: 2.4rem;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.44;
  letter-spacing: 0.02em;
}

.tour__descItem::before {
  content: "●";
  color: #4BB5E9;
  font-size: 2.4rem;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.tour__descItem._add,
.tour__descItem._addarea {
  gap: 0;
}

.tour__descItem._v-url a {
  color: #016BA0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: relative;
  flex: 1;
  text-decoration: underline;
  letter-spacing: 0;
  max-width: 28rem;
}

.tour__descItem._v-url a::after {
  content: "";
  display: inline-block;
  width: 2.3rem;
  height: 2.3rem;
  background: url(../img/common/arrow-box-blue.svg) no-repeat center/cover;
}

.tour__descItem span.sky {
  font-weight: 700;
  display: inline;
}

/* --------------------------------
  tour__sakeTour
-------------------------------- */

.tour__sakeTour {
  margin-top: 8rem;
}

.tour__sList {
  margin-top: 9.2rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6.5rem 3.8rem;
  padding-bottom: 10rem;
}

.tour__sItem {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 0;
}

.tour__sItem > a {
  position: relative;
  width: 100%;
}

.tour__sItem > a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes mvAnimeLeft {
  0% {
    opacity: 0;
    transform: translateX(-3rem);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes mvAnimeRight {
  0% {
    opacity: 0;
    transform: translateX(3rem);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes mvAnimeRightDown {
  0% {
    opacity: 0;
    transform: translate(3rem, -3rem);
  }

  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.body-bg {
  background-color: #F5F3ED;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 130rem;
  background-image: url(../img/common/body-bg-sp.webp);
}

.error404 .body-bg {
  background-position: center 0;
}

.page .body-bg {
  background-position: center 23rem;
}

.page-id-298 .body-bg {
  background-position: center 23rem;
}

.page-id-274 .body-bg {
  background-position: center 20rem;
}

.single .body-bg {
  background-position: center 101rem;
}

.blog .body-bg {
  background-position: center 132rem;
}

.page-id-254 .body-bg {
  background-position: center 64rem;
}

.post-type-archive-event .body-bg {
  background-position: center 185rem;
}

.post-type-archive-tour .body-bg {
  background-position: center 181rem;
}

.page.page-template-page-contact .body-bg {
  background-position: center 64rem;
}

.page.page-template-page-contact-confirm .body-bg {
  background-position: center 48rem;
}

.home .body-bg {
  background-position: center 132rem;
}

.body-bg__item {
  position: relative;
}

.body-bg__item::before {
  content: "";
  display: block;
  width: 100%;
  height: 6.5rem;
  position: absolute;
  left: 0;
  top: -4rem;
  background: url(../img/common/body-bg-item-sp.webp) no-repeat center/cover;
  z-index: 0;
}

.post-type-archive-restaurant .body-bg__item::before {
  top: -4rem;
}

.contact .body-bg__item::before {
  top: 7rem;
}

.single .body-bg__item::before {
  top: 7rem;
}

.breadcrumbWrap {
  margin-top: 4.4rem;
}

.courseDetail .breadcrumbWrap {
  margin-top: 1.7rem;
}

.contact .breadcrumbWrap {
  margin-top: 3.5rem;
}

.breadcrumb {
  font-weight: 400;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  font-size: 1.8rem;
}

.breadcrumbArrow {
  padding-right: 0.6rem;
  padding-left: 0.6rem;
  display: inline-block;
}

.breadcrumb a {
  text-decoration: underline;
  transition: all 0.3s ease-in 0s;
}

.breadcrumb a:hover {
  text-decoration: underline;
  opacity: 0.6;
}

.breadcrumb .current-item {
  color: #000;
}

.breadcrumb a > span {
  color: #7E7E7E;
  text-decoration: underline;
}

.breadcrumb span {
  color: #000;
  display: inline-flex;
  align-items: center;
}

.breadcrumb span:first-of-type {
  padding-left: 0;
}

.breadcrumb span:nth-of-type(3) {
  max-width: 50%;
}

.breadcrumbs span[property=name] {
  display: inline-block;
  padding: 0;
  margin-top: -0.3rem;
  vertical-align: middle;
}

.breadcrumb span.post.current-item {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

.btn {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 2.15625;
  letter-spacing: 0.05em;
  color: #FFF;
  display: inline-block;
  text-align: center;
  border: 0.2rem solid transparent;
  border-radius: 50vh;
  padding: 1.4rem 1rem;
  background-color: #016BA0;
  max-width: 59rem;
  width: 100%;
  position: relative;
}

.btn .arrow {
  content: "";
  display: block;
  width: 8.4rem;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  background-color: #FFF;
}

.btn .arrow::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1px;
  position: absolute;
  top: -5px;
  right: -3px;
  transform: rotate(45deg);
  background-color: #FFF;
}

.btn .icon {
  content: "";
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  top: 50%;
  right: 6rem;
  transform: translateY(-40%);
}

.btn .icon::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: url(..//img/common/arrow-box.svg) no-repeat center/cover;
}

a.btnTop {
  display: none;
}

.btnTop img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}

.data {
  width: 100%;
}

.dataBtn {
  width: 100%;
  text-align: center;
  border: 1px solid #016BA0;
  border-radius: 50vh;
  padding: 0.5rem;
}

.dataBtn.js-active {
  background-color: #016BA0;
}

.dataBtn span {
  color: #016BA0;
  font-family: Montserrat, sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.03em;
  position: relative;
  width: 100%;
}

.dataBtn.js-active span {
  color: #FFF;
}

.dataBtn span::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-bottom: solid 0.2rem #016BA0;
  border-right: solid 0.2rem #016BA0;
  position: absolute;
  top: 40%;
  right: 2.6rem;
  margin-top: -0.2rem;
  transform: rotate(45deg);
}

.dataBtn.js-active span::after {
  border-color: #FFF;
  transform: rotate(225deg);
  top: 60%;
}

.dataList {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  margin-top: 2.6rem;
  opacity: 0;
  pointer-events: none;
  height: 0;
  transition: all 0.3s ease-in 0s;
  text-align: left;
}

.dataList.js-active {
  opacity: 1;
  pointer-events: visible;
  height: auto;
}

.dataItem {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  display: inline-flex;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
}

.dataItem a[href^=tel] {
  display: inline;
}

.tour__descWrap .dataItem._map {
  flex-direction: row;
  flex-wrap: wrap;
}

.dataItem._map {
  flex-direction: column;
  padding-left: 2.3rem;
}

.dataItem._map a {
  color: #016BA0;
  position: relative;
  text-decoration: underline;
  display: inline;
  word-break: break-all;
}

.dataItem._map a::after {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/common/arrow-box-blue.svg) no-repeat center/cover;
  margin-left: 0.2rem;
}

.dataItem._url p {
  max-width: 26rem;
  display: flex;
  align-items: center;
}

.dataItem._url p:empty {
  display: none;
}

.dataItem._url p::after {
  max-width: 26rem;
  position: relative;
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  background: url(../img/common/arrow-box-blue.svg) no-repeat center/cover;
  margin-left: 0.2rem;
}

.dataItem._url a {
  color: #016BA0;
  position: relative;
  text-decoration: underline;
  max-width: 23.3rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  letter-spacing: 0;
}

.dataItem._note {
  display: block;
}

.dataItem._note * {
  max-width: 100%;
  word-break: break-all;
}

.dataItem::before {
  content: "";
  display: block;
  width: 3rem;
  min-width: 3rem;
  height: 3rem;
  margin-top: 0.4rem;
}

.dataItem._num::before {
  background: url(../img/common/icon-num.svg) no-repeat center/cover;
}

.dataItem._parking::before {
  background: url(../img/common/icon-parking.svg) no-repeat center/cover;
}

.dataItem._map::before {
  background: url(../img/common/icon-map.svg) no-repeat center/cover;
  position: absolute;
  top: 0rem;
  left: 0rem;
}

.dataItem._tel::before {
  background: url(../img/common/icon-tel.svg) no-repeat center/cover;
}

.dataItem._holiday::before {
  background: url(../img/common/icon-holiday.svg) no-repeat center/cover;
}

.dataItem._hours::before {
  background: url(../img/common/icon-hours.svg) no-repeat center/cover;
}

.dataItem._url::before {
  background: url(../img/common/icon-url.svg) no-repeat center/cover;
}

.dataItem._price::before {
  background: url(../img/common/icon-price.svg) no-repeat center/cover;
}

.dataItem._eat::before {
  background: url(../img/common/icon-eat.svg) no-repeat center/cover;
}

.dataItem._note::before {
  content: none;
}

.footer {
  background: transparent url(../img/common/footer-bg.webp) no-repeat bottom;
  background-size: 1500px 923px;
  height: 100%;
  padding: 3rem 0 1.5rem;
}

.footer__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  -moz-column-gap: 7.6rem;
  column-gap: 7.6rem;
  row-gap: 2.7rem;
  padding: 4.2rem 4rem 3.9rem;
  border-top: 1px solid #454545;
  border-bottom: 1px solid #454545;
}

.footer__item a {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
}

.footer__container {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 7.3rem;
}

.footer__info {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin-top: 6.6rem;
}

.footer__title {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0em;
}

.footer__logo {
  display: block;
  width: 100%;
  max-width: 35.6rem;
  margin-top: 1.7rem;
}

.footer__logo img {
  aspect-ratio: 190/48;
  -o-object-fit: cover;
  object-fit: cover;
}

.footer__addr {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0em;
  margin-top: 2rem;
  text-align: center;
}

.footer__contact {
  background-color: #FFF;
  border: 1px solid #B7B7B7;
  border-radius: 2.4rem;
  padding: 4.6rem 5.8rem 6.1rem;
  text-align: center;
  width: 100%;
}

.footer__contactText {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0em;
  text-align: left;
}

.footer__privacy {
  margin-top: 4.1rem;
}

.footer__privacy a {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0em;
  color: #016BA0;
  text-decoration: underline;
}

.footer__btn {
  margin-top: 3rem;
}

.footer__copy {
  text-align: center;
  margin-top: 51.2rem;
}

.footer__copy small {
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 2.25;
  letter-spacing: 0em;
  font-family: Montserrat, sans-serif;
}

.form__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  border: 0.1rem solid #B7B7B7;
  border-bottom: none;
}

.form__item:last-of-type {
  border-bottom: 1px solid #B7B7B7;
}

.form__header {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  background-color: #efefef;
  padding: 1rem;
  text-align: left;
}

.form__required {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 2.6666666667;
  letter-spacing: 0.05em;
  color: red;
  margin-left: 0.4rem;
}

.form__headerName {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
}

.form__body {
  background-color: #FFF;
  width: 100%;
  padding: 1rem;
  text-align: left;
}

.form__body span {
  width: 100%;
  text-align: left;
  font-size: 1.6rem;
  margin-top: 0.4rem;
}

.form__bodyText,
.form__bodyTextarea {
  display: block;
  width: 100%;
  font-size: 1.6rem;
  background-color: #FFF;
  padding: 1rem 1.4rem;
  border: 1px solid #B7B7B7;
  border-radius: 0.4rem;
  font-size: 1.4rem;
}

.contact-confirm .form__bodyText,
.contact-confirm .form__bodyTextarea {
  color: #454545;
}

.form__bodyText::-moz-placeholder,
.form__bodyTextarea::-moz-placeholder {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #A7A7A7;
}

.form__bodyText::placeholder,
.form__bodyTextarea::placeholder {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  color: #A7A7A7;
}

.form__bodyTextarea {
  padding: 1.5rem;
  height: 21rem;
}

.form__privacy {
  margin-top: 1.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7142857143;
  text-align: center;
}

.form__privacy a {
  text-decoration: underline;
  color: #016BA0;
}

.form__btnWrap {
  margin: 4rem auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}

.form__btn {
  text-align: center;
  color: #FFF;
  display: inline-flex;
  flex-direction: column;
}

.form__btnSubmit {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 2.15625;
  letter-spacing: 0.05em;
  color: #FFF;
  display: inline-block;
  text-align: center;
  border: 0.2rem solid transparent;
  border-radius: 50vh;
  padding: 1.4rem 1rem;
  background-color: #016BA0;
  width: 59rem;
  position: relative;
}

.form__btnSubmit:disabled {
  background-color: #B7B7B7;
  cursor: not-allowed;
}

.form__btnSubmit:hover:disabled {
  background-color: #B7B7B7;
  cursor: not-allowed;
  color: #FFF;
  border-color: #FFF;
}

.wpcf7-previous {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 2.15625;
  letter-spacing: 0.05em;
  color: #016BA0;
  display: inline-block;
  text-align: center;
  border: 0.2rem solid transparent;
  border-radius: 50vh;
  border: 0.2rem solid #016BA0;
  padding: 1.4rem 1rem;
  background-color: #FFF;
  width: 59rem;
  position: relative;
}

.wpcf7-list-item {
  display: block;
  margin-left: 0;
  margin-top: 1.5rem;
}

.wpcf7-list-item-label {
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
}

input[type=checkbox] {
  opacity: 0;
  position: absolute;
}

.wpcf7-list-item-label::before {
  border: 1px solid #000;
  line-height: 1;
  display: block;
  flex-shrink: 0;
  content: "";
  width: 1em;
  height: 1em;
  margin-right: 1rem;
  transition: background-color 0.3s;
}

.wpcf7-list-item-label::after {
  border-bottom: 0.3rem solid #fff;
  border-left: 0.3rem solid #fff;
  content: "";
  display: block;
  height: 0.6em;
  left: 0.1em;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-15%) rotate(-45deg);
  transition: all 0.3s ease 0s;
  width: 0.8em;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background-color: #164997;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.wpcf7-spinner {
  display: block;
}

.gnav {
  width: 100%;
  height: 100dvh;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  transform: translateX(100%);
  padding-top: 15.2rem;
  padding-bottom: 2rem;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  overflow-Y: auto;
  background-color: rgba(255, 255, 255, 0.95);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in 0s;
}

.gnav.js-active {
  opacity: 1;
  pointer-events: visible;
  transform: translateX(0);
}

body.js-fixed {
  overflow: hidden;
}

.gnav__list {
  border-top: 1px solid #000;
}

.gnav__item {
  border-bottom: 1px solid #000;
  text-align: center;
}

.gnav__item a {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 3.0277777778;
  letter-spacing: 0.05em;
  display: block;
  width: 100%;
}

.gnav__btn {
  text-align: center;
  margin-top: 5rem;
}

.hamburgerBtn {
  width: 15rem;
  height: 15rem;
  transition: all 0.3s ease-in 0s;
  padding: 0;
  z-index: 110;
  position: relative;
  background-color: #FFF;
  position: fixed;
  top: 0;
  right: 0;
  transition: all 0.3s ease-in 0s;
}

.bar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, 200%);
  display: block;
  width: 4.6rem;
  height: 0.2rem;
  background-color: #000;
  transition-property: transform;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  backface-visibility: hidden;
}

.bar:nth-of-type(2) {
  margin-top: -1.5rem;
}

.hamburgerBtn.js-active .bar {
  margin-top: 0;
}

.hamburgerBtn.js-active .bar:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(25deg);
}

.hamburgerBtn.js-active .bar:nth-of-type(2) {
  transform: translate(-50%, -50%) rotate(-25deg);
}

.header {
  height: 15rem;
  background-color: #FFF;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-left: 2.7rem;
  padding-right: 11.5rem;
}

.header__logo {
  width: 30.2rem;
}

.header__logo a {
  width: 100%;
}

.header__logo img {
  aspect-ratio: 302/75;
  -o-object-fit: cover;
  object-fit: cover;
}

.header__nav {
  display: none;
}

.header__item._1 a::after {
  border-color: #E06265;
}

.header__item._2 a::after {
  border-color: #164997;
}

.header__item._3 a::after {
  border-color: #D69D41;
}

.header__item._4 a::after {
  border-color: #4BB5E9;
}

.header__item._5 a::after {
  border-color: #A5639E;
}

.header__item._6 a::after {
  border-color: #91B509;
}

.header__item._7 a::after {
  border-color: #016BA0;
}

.header__translation {
  width: 17rem;
  background-color: #FFF;
  border: 1px solid #016BA0;
  border-radius: 50vh;
  padding: 0.8rem 1.4rem;
  position: relative;
  transition: all 0.3s ease-in 0s;
  margin-left: 3rem;
}

.header__translation.js-active {
  background-color: #016BA0;
}

.header__translation button {
  display: flex;
  align-items: center;
}

.header__translation button span {
  font-family: Montserrat, sans-serif;
  color: #016BA0;
  position: relative;
}

.header__translation.js-active button span {
  color: #FFF;
}

.header__translation button span::before {
  content: "";
  display: inline-block;
  width: 2.6rem;
  height: 2.6rem;
  background: url(../img/common/icon-earth.svg) no-repeat center/cover;
  margin-right: 1.2rem;
  margin-bottom: -0.4rem;
  transition: all 0.3s ease-in 0s;
}

.header__translation.js-active button span::before {
  background: url(../img/common/icon-earth-hover.svg) no-repeat center/cover;
}

.header__translation button span::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-bottom: solid 0.2rem #016BA0;
  border-right: solid 0.2rem #016BA0;
  position: absolute;
  top: 46%;
  right: -2.4rem;
  margin-top: -0.2rem;
  transform: rotate(45deg);
  transition: all 0.3s ease-in 0s;
}

.header__translation.js-active button span::after {
  border-color: #FFF;
  transform: rotate(225deg);
  top: 55%;
}

.header__translation ul {
  opacity: 0;
  pointer-events: none;
  border: 1px solid #016BA0;
  border-radius: 2rem;
  background-color: #FFF;
  position: absolute;
  top: 7.3rem;
  left: 50%;
  z-index: 90;
  transform: translateX(-50%);
  width: 32rem;
  padding: 1.6rem 0;
  transition: all 0.3s ease-in 0s;
}

.header__translation ul.js-active {
  opacity: 1;
  pointer-events: visible;
}

.header__translation li a {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  display: block;
  width: 100%;
  padding: 0 3.5rem;
  margin-top: 2rem;
}

.inner {
  max-width: 1248px;
  padding-right: 24px;
  padding-left: 24px;
  margin-right: auto;
  margin-left: auto;
}

.inner._narrow {
  max-width: 1148px;
}

.lead {
  background-color: #F5F3ED;
  padding: 0.2rem 0 8rem;
}

.lead__body {
  padding: 0 1.6rem;
  margin-top: 3rem;
  animation: fadeIn 1.5s ease forwards;
  animation-delay: 2s;
  opacity: 0;
}

.lead__title {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.6315789474;
}

.lead__text {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.9166666667;
  margin-top: 3.9rem;
}

.lead__img {
  margin: 4rem auto 0;
  max-width: 63rem;
  animation: fadeIn 1.5s ease forwards;
  animation-delay: 2s;
  opacity: 0;
}

.modal {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  background-color: rgba(0, 0, 0, 0.9);
  position: fixed;
  top: 0;
  right: 0;
  z-index: 200;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in 0s;
}

.modal.js-active {
  opacity: 1;
  pointer-events: visible;
}

.modal__img {
  max-width: 90%;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modal__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}

.modalBtn {
  position: fixed;
  width: 12.2rem;
  height: 12.2rem;
  right: 3rem;
  bottom: 3rem;
  z-index: 210;
  background: url(../img/common/modal-sp.svg) no-repeat center/cover;
  transition: all 0.3s ease-in 0s;
}

.modalBtn:hover {
  cursor: pointer;
}

.modalBtn.js-active {
  background: url(../img/common/modal-close-sp.svg) no-repeat center/cover;
}

.mv {
  background-color: #F5F3ED;
}

.mv__img img {
  aspect-ratio: 760/700;
  -o-object-fit: cover;
  object-fit: cover;
}

.mv__title {
  margin-left: 2.4rem;
}

.mv__heading {
  color: #FFF;
  padding: 1.9rem 1.2rem;
  height: 28.3rem;
  max-width: 36.7rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: -20rem;
  position: relative;
  z-index: 2;
  animation: mvAnimeLeft 2s ease forwards;
  animation-delay: 1s;
}

.spot .mv__heading {
  background-color: rgba(214, 157, 65, 0.95);
}

.stay .mv__heading {
  background-color: rgba(22, 73, 151, 0.95);
}

.tour .mv__heading {
  background-color: rgba(75, 181, 233, 0.95);
}

.restaurant .mv__heading {
  background-color: rgba(224, 98, 101, 0.95);
}

.event .mv__heading {
  background-color: rgba(165, 99, 158, 0.95);
}

.course .mv__heading {
  background-color: rgba(145, 181, 9, 0.95);
}

.mv__heading .sub {
  font-family: Montserrat, sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.52;
  letter-spacing: 0.05em;
  font-style: italic;
  display: block;
}

.mv__heading .main {
  font-size: 8.6rem;
  font-weight: 700;
  line-height: 1;
  margin-top: 0.6rem;
}

.event .mv__heading .main {
  letter-spacing: -0.05em;
}

.mv__title p {
  font-family: Montserrat, sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.52;
  letter-spacing: 0.05em;
  font-style: italic;
  margin-top: 2rem;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  animation: mvAnimeLeft 3s ease forwards;
  animation-delay: 1s;
}

.spot .mv__title p {
  color: #D69D41;
}

.stay .mv__title p {
  color: #164997;
}

.tour .mv__title p {
  color: #4BB5E9;
}

.restaurant .mv__title p {
  color: #E06265;
}

.event .mv__title p {
  color: #A5639E;
}

.course .mv__title p {
  color: #91B509;
}

.mv__title p::after {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  position: absolute;
  bottom: -1.2rem;
  right: 0;
  transform: translate(0, 0);
  transition: all 0.3s;
}

.spot .mv__title p::after {
  border: 0.2rem dashed #D69D41;
}

.stay .mv__title p::after {
  border: 0.2rem dashed #164997;
}

.tour .mv__title p::after {
  border: 0.2rem dashed #4BB5E9;
}

.restaurant .mv__title p::after {
  border: 0.2rem dashed #E06265;
}

.event .mv__title p::after {
  border: 0.2rem dashed #A5639E;
}

.course .mv__title p::after {
  border: 0.2rem dashed #91B509;
}

.search__inner {
  padding: 0 1.6rem;
}

.search__heading img {
  -o-object-fit: cover;
  object-fit: cover;
}

.search__title {
  margin-top: 4.1rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.search__attention {
  margin-top: 2.4rem;
}

.search__attention em {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.9166666667;
  letter-spacing: 0.03em;
  display: block;
}

.search__container {
  display: contents;
}

.search__listWrap {
  background-color: #FFF;
  box-shadow: 0.4rem 0.4rem 0.8rem rgba(51, 26, 26, 0.1);
  padding: 4.2rem 3.5rem 6.6rem;
  margin-top: 5rem;
  position: relative;
}

.search__listWrap::after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: transparent;
  border-top-color: #FFF;
  border-width: 2.5rem;
  margin-left: -2.5rem;
  filter: drop-shadow(0.2rem 0.2rem 0.8rem rgba(51, 26, 26, 0.1));
}

.search__listWrap::after {
  z-index: 2;
}

.search__listWrap::before {
  z-index: 5;
  content: "";
  display: block;
  width: 100%;
  height: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #FFF;
}

.search__text {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2.375;
  text-align: center;
}

.search__map {
  display: none;
}

.search__list {
  display: flex;
  flex-direction: column;
  row-gap: 4.4rem;
  margin-top: 2.2rem;
}

.search__item {
  display: flex;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2.375;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.search__item dt {
  width: calc(100% - 44rem);
}

.search__item dd {
  max-width: 44rem;
  width: 100%;
}

.search__item dd .search__form {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  row-gap: 2rem;
}

.search__item dd .search-check {
  display: none;
}

.search__item dd .search-check + .check-text {
  cursor: pointer;
  display: inline-block;
  margin: 0 0.2em 0;
  padding: 0 0 0 1.4em;
  position: relative;
}

.search__item dd .search-check + .check-text::before {
  -webkit-transform: translateY(-50%);
  background: #fff;
  border: 1px solid rgb(0, 0, 0);
  border-radius: 2px;
  content: "";
  display: block;
  height: 1em;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  border-radius: 0.3rem;
}

.search__item dd .search-check + .check-text::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  border-bottom: 3px solid #fff;
  border-left: 3px solid #fff;
  content: "";
  display: block;
  height: 0.4em;
  left: 0.1em;
  margin-top: -0.1em;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  transition: all 0.3s ease 0s;
  width: 0.8em;
}

.search__item dd .search-check:checked + .check-text::after {
  opacity: 1;
}

.search__item dd .search-check:checked + .check-text::before {
  background-color: red;
}

.search__result {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.28;
  text-align: center;
  margin-top: 6rem;
}

.search__result span {
  font-size: 4rem;
  font-weight: 700;
  line-height: 0.8;
}

/*-------------------------------
single-content default
-------------------------------*/

.wp-block-gallery,
.wp-block-media-text,
.wp-block-table {
  margin-top: 4rem;
}

.wp-block-table table {
  border: 0.2rem solid #ccc;
  border-collapse: collapse;
}

.wp-block-table table caption {
  font-size: 2.4rem;
  margin-top: 2.4rem;
  text-align: center;
}

.wp-block-table table th,
.wp-block-table table td {
  border: 0.1rem solid #ccc;
}

.wp-block-table table thead {
  border-bottom: 0.2rem solid #ccc;
}

.wp-block-table table thead th,
.wp-block-table table thead td {
  padding: 0.6rem 0.8rem;
}

.wp-block-table table thead th:first-child {
  width: 9.6rem;
}

.wp-block-table table thead th:nth-child(2) {
  width: 9.6rem;
}

.wp-block-table table tbody th,
.wp-block-table table tbody td {
  padding: 0.4rem 0.8rem;
}

.wp-block-table table tbody tr:nth-child(even) {
  background-color: #B7B7B7;
}

.wp-block-quote,
.wp-block-pullquote blockquote {
  background-color: #B7B7B7;
  padding-top: 2.5rem;
  padding-right: 4.6rem;
  padding-bottom: 1.7rem;
  padding-left: 6.7rem;
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.wp-block-quote::before,
.wp-block-pullquote blockquote::before {
  content: "“";
  color: #B4B4B4;
  font-size: 9rem;
  position: absolute;
  top: -2rem;
  left: 1.4rem;
}

.wp-block-quote p,
.wp-block-pullquote blockquote p {
  padding-top: 1.6rem;
  margin-top: 0;
  font-size: 1.6rem;
}

.wp-block-quote p:first-of-type,
.wp-block-pullquote blockquote p:first-of-type {
  padding-top: 0;
}

.wp-block-quote cite,
.wp-block-pullquote blockquote cite {
  margin-top: 2rem;
  font-size: 1.6rem;
  text-align: right;
}

.wp-block-pullquote blockquote {
  margin-top: 0;
}

.wp-block-image {
  max-width: 100%;
  height: auto;
  margin: 5rem auto 0;
}

.wp-element-caption {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}

.single-content p img {
  max-width: 100%;
  height: auto;
}

.single-content h1 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6363636364;
}

.single-content h2 {
  padding: 2rem 2.5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 6rem;
  background-color: #B7B7B7;
  border-radius: 3rem;
}

.single-content h3 {
  padding: 2rem 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6666666667;
  margin-top: 6rem;
  border-bottom: 0.2rem solid #000;
}

.single-content h4 {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6470588235;
  font-weight: 700;
  margin-top: 6rem;
  border-left: 0.4rem solid #000;
  padding-left: 1.6rem;
}

.single-content p {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  font-family: -apple-system, YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.single-content mark.has-inline-color {
  background: linear-gradient(180deg, transparent 0%, transparent 50%, #B7B7B7 50%, #B7B7B7 100%) !important;
}

.single-content p + p {
  margin-top: 2rem;
}

.single-content p:first-child {
  margin-top: 0;
}

.single-content dd,
.single-content dt {
  padding: 0.8rem 1.6rem;
}

.single-content dt {
  margin-top: 2.4rem;
  border-left: 0.2rem solid #B7B7B7;
}

.single-content dd {
  padding-left: 3.4rem;
}

.single-content ol {
  counter-reset: ol;
}

.single-content ul,
.single-content ol {
  list-style-type: none;
  padding-left: 2rem;
  margin-top: 4rem;
  line-height: 1.5;
}

.single-content ul ul,
.single-content ol ol {
  margin-top: 0.8rem;
}

.single-content ul li,
.single-content ol li {
  margin-top: 2rem;
}

.single-content ol li {
  padding-left: 2rem;
}

.single-content ul > li {
  position: relative;
}

.single-content ul > li::before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  top: 1.2rem;
  left: -1rem;
}

.single-content ul li ul > li {
  position: relative;
  text-decoration: none;
}

.single-content a {
  text-decoration: underline;
}

.single-content address {
  margin-top: 3rem;
}

.single-content strong {
  font-weight: 700;
}

@media screen and (min-width: 480px) {
  .page-id-274 .body-bg {
    background-position: center 92rem;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: 0.9090909091vw;
  }

  html {
    scroll-padding-top: 10rem;
  }

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

  a {
    transition: opacity 0.3s;
  }

  a:hover {
    opacity: 0.6;
  }

  body {
    color: #000;
  }

  .pc {
    display: block;
  }

  .sp {
    display: none;
  }

  .padding._section {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  .padding._underPage {
    padding-top: 5.4rem;
    padding-bottom: 18rem;
  }

  .padding._underPage2 {
    padding-top: 5.4rem;
  }

  .padding._underSection {
    padding-top: 9rem;
    padding-bottom: 9rem;
  }

  .contact__heading {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.75;
  }

  .contact__inner {
    padding: 0 2rem;
  }

  .contact__lead {
    margin-top: 2rem;
  }

  .contact__leadText {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
  }

  .contact__info {
    margin-top: 10.9rem;
  }

  .contact__title {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
  }

  .contact__infoTel {
    font-size: 4.7rem;
    font-weight: 600;
    line-height: 1.7872340426;
    margin-top: 0;
  }

  .contact__infoText {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    margin-top: 0;
  }

  .contact__form {
    padding-bottom: 10rem;
  }

  .contact__formWrap {
    margin-top: 1.1rem;
  }

  .page-template-page-contact-confirm .contact__formWrap {
    margin-top: 5rem;
  }

  .contact__thanks {
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.3888888889;
  }

  .contact__thanksBtn a {
    width: 28rem;
  }

  .course__lead {
    margin-top: 5.7rem;
    padding-bottom: 13rem;
    max-width: 124.8rem;
  }

  .course__lead span {
    font-size: 2.4rem;
    line-height: 1;
    padding: 0;
  }

  .course__wrap {
    margin-top: 3rem;
    padding-bottom: 10rem;
  }

  .course__article {
    margin-top: 2.4rem;
  }

  .course__list {
    padding: 0;
  }

  .course__item {
    flex-direction: row;
    padding: 3.4rem 0 3.4rem;
  }

  .course__thumb {
    width: 30%;
    margin-top: 0;
  }

  .course__thumb img {
    aspect-ratio: 330/240;
  }

  .course__body {
    width: 67.8181818182%;
    margin-left: 2.1818181818%;
    margin-top: 0;
  }

  .course__num._sp {
    display: none;
  }

  .course__num._pc {
    display: flex;
    align-items: center;
    gap: 0.7rem;
  }

  .course__num .num,
  .course__num .main {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1;
  }

  .course__num::before {
    width: 3rem;
    height: 3.1rem;
  }

  .course__heading {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.7;
    margin-top: 0.4rem;
  }

  .course__desc {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.03em;
  }

  .course__labels {
    margin-top: 1.2rem;
    line-height: 1;
  }

  .course__label .title {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
    padding: 0.6rem 1rem;
  }

  .course__label .text {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.03em;
  }

  .course__btn {
    margin-top: 1rem;
  }

  .course__btn a {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
    max-width: 15.2rem;
    padding: 1.7rem 1rem;
    transition: all 0.3s ease-in 0s;
  }

  .course__btn a:hover {
    background-color: #016BA0;
    color: #FFF;
    opacity: 1;
  }

  .courseDetail__num {
    gap: 0.7rem;
  }

  .courseDetail__num .num,
  .courseDetail__num .main {
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1;
  }

  .courseDetail__num::before {
    width: 4.8rem;
    height: 5rem;
  }

  .courseDetail__heading {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    padding-bottom: 2.4rem;
    margin-top: 4.4rem;
  }

  .courseDetail__heading::before {
    top: -2.7rem;
  }

  .courseDetail__mv img {
    aspect-ratio: 1500/550;
  }

  .courseDetail__inner {
    padding-bottom: 3rem;
  }

  .courseDetail__lead {
    padding: 0 5rem;
  }

  .courseDetail__leadContainer {
    display: flex;
    -moz-column-gap: 6rem;
    column-gap: 6rem;
    position: relative;
  }

  .courseDetail__leadContainer::before {
    content: "";
    display: block;
    width: 1px;
    height: 65%;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .courseDetail__desc {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.03em;
    width: 50%;
    border: none;
    padding: 1.8rem 0;
  }

  .courseDetail__leadContainer .course__labels {
    width: 50%;
  }

  .courseDetail__schedule {
    padding: 0 5rem;
    margin-top: 7rem;
  }

  .courseDetail__schedule + .courseDetail__schedule {
    margin-top: 5rem;
  }

  .courseDetail__lead .course__labels {
    border: none;
    padding-bottom: 2.4rem;
    margin-top: 1.8rem;
    gap: 0.6rem 2rem;
  }

  .courseDetail__days {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 0.8rem;
  }

  .courseDetail__flow {
    padding-left: 3.6363636364%;
  }

  .courseDetail__flowItem {
    max-width: 18rem;
    width: 19.3636363636%;
  }

  .courseDetail__flowItem:nth-of-type(4n+1)::before {
    content: none;
  }

  .courseDetail__flowItem:nth-of-type(8n+1)::before {
    content: "";
    display: block;
    width: 4rem;
    height: 0.3rem;
    background-color: #91B509;
    position: absolute;
    top: 7rem;
    left: -3.6rem;
    z-index: -1;
  }

  .courseDetail__flowItem:first-of-type::before {
    content: none;
  }

  .courseDetail__flowText {
    padding: 1.5rem 1.5rem;
    border-radius: 2rem;
    height: 13.8rem;
  }

  .courseDetail__flowText._start {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.375;
    letter-spacing: 0.03em;
  }

  .courseDetail__flowText._end {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .courseDetail__flowImg {
    height: 13.8rem;
    width: auto;
  }

  .courseDetail__flowImg img {
    aspect-ratio: 180/138;
  }

  .courseDetail__flowTitle {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .courseDetail__flowDesc {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .courseDetail__means {
    max-width: 8rem;
    width: 5.2727272727%;
    padding-top: 2.3rem;
    height: 13.8rem;
  }

  .courseDetail__badge figure.none {
    width: 38.75%;
  }

  .courseDetail__badge figure.bus {
    width: 38.75%;
  }

  .courseDetail__badge figure.walk {
    width: 20%;
  }

  .courseDetail__badge img.none,
  .courseDetail__badge img.bus {
    aspect-ratio: 31/18;
  }

  .courseDetail__badge img.walk {
    aspect-ratio: 16/30;
  }

  .courseDetail__time {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.03em;
    margin-top: 0;
  }

  .courseDetail__btn {
    margin-top: 10rem;
  }

  .courseDetail__btn a {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
    max-width: 15.2rem;
    padding: 1.7rem 1rem;
    transition: all 0.3s ease-in 0s;
  }

  .courseDetail__btn a:hover {
    background-color: #016BA0;
    color: #FFF;
    opacity: 1;
  }

  .event__list {
    margin-top: 5.6rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 2rem;
    padding-bottom: 10rem;
  }

  .event__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
    max-width: 36.6rem;
    padding: 0;
  }

  .event__item > a {
    transition: all 0.3s ease-in 0s;
    max-width: 36.6rem;
  }

  .event__item > a:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .event__item > a:hover {
    opacity: 1;
  }

  .event__item > a:hover::before {
    opacity: 1;
  }

  .event__thumb {
    overflow: hidden;
    position: relative;
  }

  .event__thumb img {
    aspect-ratio: 366/250;
  }

  .event__thumb::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease-in 0s;
  }

  .event__item > a:hover .event__thumb::before {
    z-index: 3;
    background-color: rgba(0, 0, 0, 0.6);
  }

  .event__area {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
    padding: 0.2rem 1rem;
  }

  .event__month {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    padding: 1.1rem 1rem;
  }

  .event__hp {
    display: block;
    color: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .event__hp::after {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 2.6rem;
    background: url(../../dantai/img/common/arrow-box.svg) no-repeat center/cover;
  }

  .event__item a:hover .event__hp {
    opacity: 1;
  }

  .event__heading {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-top: 0;
  }

  .event__desc {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.02em;
    margin-top: 0;
  }

  .event__centerWrap {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    max-width: 36.6rem;
  }

  .event__descWrap {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    max-width: 36.6rem;
  }

  .event__descItem {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.02em;
  }

  .event__descItem._time {
    padding-top: 1.6rem;
  }

  .event__descItem._url a::after {
    width: 1.3rem;
    height: 1.3rem;
  }

  .event__badge {
    width: 4.4rem;
    height: 4.4rem;
    bottom: 1rem;
    right: 1rem;
  }

  .nf404 {
    min-height: 100vh;
    min-height: calc(var(--vh, 1vh) * 100);
    min-height: 100dvh;
  }

  .nf404__text {
    font-size: 3.2rem;
    margin-top: 6.4rem;
  }

  .nf404__text .title {
    font-size: 3.2rem;
    margin-top: 6.4rem;
  }

  .nf404__text .sub1,
  .nf404__text .sub2 {
    font-size: 12.8rem;
    margin-top: -19.4rem;
  }

  .nf404__text .sub2 {
    font-size: 12.8rem;
    margin-top: 2rem;
  }

  .nf404__text .sub1 {
    font-size: 12.8rem;
  }

  .nf404__btn {
    margin-top: 5rem;
    width: 28rem;
  }

  .restaurant__search {
    padding: 3.8rem 2rem 6rem;
  }

  .restaurant__list {
    margin-top: 3.5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.7rem 3.6rem;
  }

  .restaurant__itemUpper a {
    transition: all 0.3s ease-in 0s;
  }

  .restaurant__itemUpper a:before {
    transition: opacity 0.3s ease-in 0s;
  }

  .restaurant__itemUpper a:hover {
    opacity: 1;
  }

  .restaurant__itemUpper a:hover::before {
    opacity: 1;
    z-index: 3;
  }

  .restaurant__thumb {
    position: relative;
  }

  .restaurant__thumb::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease-in 0s;
  }

  .restaurant__itemUpper a:hover .restaurant__thumb::before {
    z-index: 1;
  }

  .restaurant__area {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }

  .restaurant__hp {
    display: block;
    color: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .restaurant__hp::after {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 2.6rem;
    background: url(../../dantai/img/common/arrow-box.svg) no-repeat center/cover;
  }

  .restaurant__itemUpper a:hover .restaurant__hp {
    opacity: 1;
  }

  .restaurant__heading {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .restaurant__catList {
    -moz-column-gap: 0.2rem;
    column-gap: 0.2rem;
    row-gap: 0.4rem;
  }

  .restaurant__catList li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.8rem;
  }

  .restaurant__desc {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.03em;
  }

  .spot__search {
    padding: 3.8rem 2rem 6rem;
  }

  .spot__list {
    margin-top: 3.5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.7rem 3.6rem;
  }

  .spot__itemUpper a {
    transition: all 0.3s ease-in 0s;
  }

  .spot__itemUpper a:before {
    transition: opacity 0.3s ease-in 0s;
  }

  .spot__itemUpper a:hover {
    opacity: 1;
  }

  .spot__itemUpper a:hover::before {
    opacity: 1;
    z-index: 3;
  }

  .spot__thumb {
    position: relative;
  }

  .spot__thumb::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease-in 0s;
  }

  .spot__itemUpper a:hover .spot__thumb::before {
    z-index: 1;
  }

  .spot__area {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }

  .spot__hp {
    display: block;
    color: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .spot__hp::after {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 2.6rem;
    background: url(../../dantai/img/common/arrow-box.svg) no-repeat center/cover;
  }

  .spot__itemUpper a:hover .spot__hp {
    opacity: 1;
  }

  .spot__heading {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .spot__catList {
    -moz-column-gap: 0.2rem;
    column-gap: 0.2rem;
    row-gap: 0.4rem;
  }

  .spot__catList li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.8rem;
  }

  .spot__desc {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.03em;
  }

  .stay__search {
    padding: 3.8rem 2rem 6rem;
  }

  .stay__list {
    margin-top: 3.5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.7rem 3.6rem;
  }

  .stay__itemUpper a {
    transition: all 0.3s ease-in 0s;
  }

  .stay__itemUpper a:before {
    transition: opacity 0.3s ease-in 0s;
  }

  .stay__itemUpper a:hover {
    opacity: 1;
  }

  .stay__itemUpper a:hover::before {
    opacity: 1;
    z-index: 3;
  }

  .stay__thumb {
    position: relative;
  }

  .stay__thumb::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease-in 0s;
  }

  .stay__itemUpper a:hover .stay__thumb::before {
    z-index: 1;
  }

  .stay__area {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }

  .stay__hp {
    display: block;
    color: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .stay__hp::after {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 2.6rem;
    background: url(../../dantai/img/common/arrow-box.svg) no-repeat center/cover;
  }

  .stay__itemUpper a:hover .stay__hp {
    opacity: 1;
  }

  .stay__heading {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .stay__catList {
    -moz-column-gap: 0.2rem;
    column-gap: 0.2rem;
    row-gap: 0.4rem;
  }

  .stay__catList li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.8rem;
  }

  .stay__desc {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.03em;
  }

  .topMv::before {
    bottom: 0rem;
    left: 15rem;
    width: 11.2rem;
    height: 12.4rem;
  }

  .topMv::after {
    bottom: -2rem;
    right: 10rem;
    width: 13rem;
    height: 13.4rem;
  }

  .topMv__bg img {
    aspect-ratio: 1500/768;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .topMv__title {
    transform: translate(-50%, -57%);
    max-width: 23.4666666667%;
  }

  .topMv__title img {
    aspect-ratio: 352/338;
  }

  .topMv__title::before {
    bottom: -2rem;
    left: -9rem;
    height: 12rem;
    width: 5rem;
  }

  .topMv__title::after {
    top: 1rem;
    right: -10rem;
    width: 7.6rem;
    height: 13.3rem;
  }

  .topMv__flag::before {
    max-width: 12.4rem;
    height: 11.4rem;
    transform: translate(-15rem, 0rem);
  }

  .topIntro {
    margin-top: 9.7rem;
    display: block;
  }

  .topIntro__body {
    text-align: left;
    position: relative;
    max-width: 63%;
    overflow: visible;
  }

  .topIntro__body::after {
    content: "";
    display: block;
    width: 81.2rem;
    height: 45rem;
    position: absolute;
    top: 0;
    right: -42rem;
    right: -66rem;
    z-index: 0;
    background: url(../img/top/intro-img-pc.webp) no-repeat center/cover;
  }

  .topIntro__subHeading {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.2222222222;
    letter-spacing: 0.1em;
  }

  .topIntro__text {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.3333333333;
    letter-spacing: 0em;
    margin-top: 4.3rem;
  }

  .topIntro__text + .topIntro__text {
    margin-top: 4.3rem;
  }

  .topIntro__imgWrap {
    margin-top: 4rem;
    width: 100%;
    position: absolute;
    left: 0;
    width: 100%;
    top: 38.8rem;
    max-width: 103.6rem;
    min-height: 0;
    height: auto;
  }

  .topIntro__img {
    position: static;
    max-width: none;
    margin-left: 6rem;
  }

  .topIntro__img img {
    aspect-ratio: 1036/518;
  }

  .topIntro__linkBox {
    padding: 4.9rem 6rem;
    border-radius: 2.4rem;
  }

  .topIntro__headingLv3 {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.7083333333;
  }

  .topIntro__link {
    display: flex;
    margin-top: 3.5rem;
  }

  .topIntro__linkText {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    max-width: 48rem;
    text-align: left;
    margin-top: 0;
  }

  .topIntro__btn {
    margin-top: 0;
    margin-left: 4.8rem;
  }

  .topSearch {
    padding-bottom: 10.3rem;
    margin-top: 37.3rem;
  }

  .topSearch__headingWrap {
    margin-top: 9rem;
  }

  .topSearch__heading {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 2.4285714286;
  }

  .topSearch__text {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2;
    margin-top: 0.8rem;
    text-align: center;
  }

  .topSearch__list {
    margin-top: 6.2rem;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 4.3rem;
    grid-row-gap: 7.7rem;
  }

  .topSearch__item a:hover {
    opacity: 1;
  }

  .topSearch__item a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .topSearch__item a:hover::before {
    opacity: 1;
  }

  .topSearch__item img {
    aspect-ratio: 338/270;
  }

  .topSearch__item .wrap {
    background-color: #E06265;
    width: 12rem;
    height: 12rem;
  }

  .topSearch__item:nth-of-type(2) .wrap {
    background-color: #164997;
  }

  .topSearch__item:nth-of-type(3) .wrap {
    background-color: #D69D41;
  }

  .topSearch__item:nth-of-type(4) .wrap {
    background-color: #4BB5E9;
  }

  .topSearch__item:nth-of-type(5) .wrap {
    background-color: #A5639E;
  }

  .topSearch__item:nth-of-type(6) .wrap {
    background-color: #91B509;
  }

  .topSearch__item .main {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.7;
  }

  .topSearch__item:nth-of-type(4) .main {
    line-height: 1.7;
  }

  .topSearch__item .sub {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3571428571;
    letter-spacing: 0em;
  }

  .topSearch__item p {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: 1.4rem;
  }

  .tour__pageLinks {
    flex-direction: row;
  }

  .tour__pageLink a {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    transition: all 0.2s ease-in 0s;
    max-width: none;
    min-width: 28rem;
    padding: 1.8rem;
  }

  .tour__pageLink a:hover {
    box-shadow: 0.1rem 0.1rem 0.1rem #4BB5E9;
    transform: translate(0.2rem, 0.1rem);
    opacity: 1;
  }

  .tour__pageLink a::after {
    width: 1.2rem;
    height: 1.2rem;
  }

  .tour__media {
    display: flex;
    max-width: 120rem;
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 4rem;
    position: relative;
  }

  .tour__media::after {
    content: "";
    display: block;
    width: 100%;
    min-height: 45rem;
    max-width: 100rem;
    position: absolute;
    top: 3rem;
    left: -6rem;
    background-color: #FFF;
    z-index: 0;
  }

  .tour__mediaBody {
    padding: 0 4rem;
    transform: translate(-1rem, 4rem);
    max-width: 52rem;
    max-height: 45rem;
  }

  .tour__mediaBody::after {
    content: none;
  }

  .tour__mediaBadge {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    padding: 1.4rem 1rem;
    margin-left: 0;
    transform: translateY(-3rem);
  }

  .tour__mediaBadge::after {
    width: 2.4rem;
    height: 0.2rem;
    bottom: -1rem;
    transform: translateX(-1rem) rotate(60deg);
  }

  .tour__mediaHeading {
    margin-top: 2rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
  }

  .tour__mediaText {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.02em;
    margin-top: 2rem;
  }

  .tour__mediaLink {
    margin-top: 2rem;
  }

  .tour__mediaLink a {
    justify-content: flex-end;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.02em;
  }

  .tour__mediaLink a::after {
    width: 1.2rem;
    height: 1.2rem;
  }

  .tour__mediaImg {
    margin-top: 0;
    margin-left: 3rem;
  }

  .tour__mediaImg img {
    aspect-ratio: 800/450;
  }

  .tour__list {
    margin-top: 9.5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.8rem 4.9rem;
  }

  .tour__itemUpper a {
    transition: all 0.3s ease-in 0s;
  }

  .tour__itemUpper a::before {
    transition: opacity 0.3s ease-in 0s;
  }

  .tour__itemUpper a:hover {
    opacity: 1;
  }

  .tour__itemUpper a:hover::before {
    opacity: 1;
    z-index: 3;
  }

  .tour__thumb {
    position: relative;
  }

  .tour__thumb::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease-in 0s;
  }

  .tour__itemUpper a:hover .tour__thumb::before {
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.6);
  }

  .tour__thumb img {
    aspect-ratio: 366/250;
  }

  .tour__area {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.03em;
  }

  .tour__hp {
    display: block;
    color: #FFF;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    opacity: 0;
    transition: opacity 0.3s ease-in 0s;
  }

  .tour__hp::after {
    content: "";
    display: inline-block;
    width: 2.6rem;
    height: 2.6rem;
    background: url(../../dantai/img/common/arrow-box.svg) no-repeat center/cover;
  }

  .tour__itemUpper a:hover .tour__hp {
    opacity: 1;
  }

  .tour__heading {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
    margin-top: 1.2rem;
  }

  .tour__catList {
    -moz-column-gap: 0.2rem;
    column-gap: 0.2rem;
    row-gap: 0.4rem;
  }

  .tour__catList li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.8rem;
  }

  .tour__desc {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.03em;
  }

  .tour__volunteer {
    margin-top: 9.5rem;
  }

  .tour__vList {
    margin-top: 10.6rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 9rem 4.6rem;
  }

  .tour__vItem,
  .tour__vItem .tour__centerWrap,
  .tour__vItem .tour__descWrap {
    max-width: none;
  }

  .tour__vItem > a {
    transition: all 0.3s ease-in 0s;
  }

  .tour__vItem > a::before {
    transition: opacity 0.3s ease-in 0s;
  }

  .tour__vItem > a:hover {
    opacity: 1;
  }

  .tour__vItem > a:hover::before {
    opacity: 1;
    z-index: 3;
  }

  .tour__vItem > a:hover .tour__thumb::before {
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.6);
  }

  .tour__vItem > a:hover .tour__hp {
    opacity: 1;
  }

  .tour__catList li {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 0.2rem 0.8rem;
  }

  .tour__descItem {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.02em;
  }

  .tour__descItem::before {
    font-size: 1.4rem;
  }

  .tour__descItem._v-url a::after {
    width: 1.2rem;
    height: 1.2rem;
  }

  .tour__sakeTour {
    margin-top: 7.8rem;
  }

  .tour__sList {
    margin-top: 11.3rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.7rem 5.1rem;
    padding-bottom: 12.4rem;
  }

  .tour__sItem > a {
    transition: all 0.3s ease-in 0s;
  }

  .tour__sItem > a::before {
    transition: opacity 0.3s ease-in 0s;
  }

  .tour__sItem > a:hover {
    opacity: 1;
  }

  .tour__sItem > a:hover::before {
    opacity: 1;
    z-index: 3;
  }

  .tour__sItem > a:hover .tour__thumb::before {
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.6);
  }

  .tour__sItem > a:hover .tour__hp {
    opacity: 1;
  }

  .body-bg {
    background-image: url(../img/common/body-bg-pc.webp);
    background-position: center 68rem;
  }

  .page .body-bg {
    background-position: center 102rem;
  }

  .page .body-bg {
    background-position: center 88rem;
  }

  .page-id-298 .body-bg {
    background-position: center 102rem;
  }

  .page-id-298 .body-bg {
    background-position: center 88rem;
  }

  .page-id-274 .body-bg {
    background-position: center 88rem;
  }

  .single .body-bg {
    background-position: center 74rem;
  }

  .blog .body-bg {
    background-position: center 62rem;
  }

  .page-id-254 .body-bg {
    background-position: center 95rem;
  }

  .post-type-archive-event .body-bg {
    background-position: center 82rem;
  }

  .post-type-archive-tour .body-bg {
    background-position: center 64rem;
  }

  .page.page-template-page-contact .body-bg {
    background-position: center 59rem;
  }

  .page.page-template-page-contact-confirm .body-bg {
    background-position: center 49rem;
  }

  .home .body-bg {
    background-position: center 68rem;
  }

  .body-bg__item::before {
    background: url(../img/common/body-bg-item-pc.webp) no-repeat center/cover;
    height: 13rem;
    top: -6rem;
  }

  .post-type-archive-restaurant .body-bg__item::before {
    top: -6rem;
  }

  .contact .body-bg__item::before {
    top: 4.8rem;
  }

  .single .body-bg__item::before {
    top: 3rem;
  }

  .breadcrumbWrap {
    margin-top: -7rem;
    padding: 1.3rem 2rem 1.1rem;
  }

  .courseDetail .breadcrumbWrap {
    margin-top: 0.6rem;
  }

  .contact .breadcrumbWrap {
    margin-top: 1rem;
  }

  .breadcrumb {
    -moz-column-gap: 1.2rem;
    column-gap: 1.2rem;
    font-size: 1.2rem;
  }

  .breadcrumbArrow {
    padding-right: 0.6rem;
    padding-left: 0.6rem;
  }

  .btn {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    padding: 1rem;
    max-width: 28rem;
    transition: color 0.3s, background-color 0.3s, border-color 0.3s, opacity 0.3s;
  }

  .topIntro__linkBox .btnWrap {
    max-width: none;
    width: 40.2rem;
  }

  .topIntro__linkBox .btnWrap .btn {
    max-width: 40.2rem;
  }

  .btn:hover {
    color: #016BA0;
    background-color: #FFF;
    border-color: #016BA0;
    opacity: 1;
  }

  .btn:hover .arrow {
    background-color: #016BA0;
  }

  .btn:hover .arrow::after {
    background-color: #016BA0;
  }

  .btn:hover .icon::after {
    background: url(../img/common/arrow-box-blue.svg) no-repeat center/cover;
  }

  .btn .arrow {
    transition: background-color 0.3s;
    width: 3.8rem;
  }

  .btn .arrow::after {
    transition: background-color 0.3s;
    width: 0.8rem;
    top: -0.3rem;
    right: 0;
  }

  .btn .icon {
    transition: transform 0.3s ease-in 0s;
    width: 1.4rem;
    height: 1.4rem;
    right: 6.2rem;
    transform: translateY(-50%);
  }

  .btn .icon::after {
    transition: background-image 0.3s ease-in 0s;
  }

  a.btnTop {
    display: block;
    width: 5.8rem;
    height: 5.8rem;
    position: fixed;
    bottom: 3.5rem;
    right: 3.5rem;
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease-in 0s;
  }

  .btnTop:hover {
    opacity: 0.6;
    transform: rotateY(360deg);
  }

  .btnTop.js-active {
    opacity: 1;
    pointer-events: visible;
  }

  .data {
    text-align: center;
    display: grid;
    place-items: center;
    position: relative;
  }

  .data::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-color: #016BA0;
    position: absolute;
    right: 0;
    top: 1.8rem;
    z-index: 0;
    transition: all 0.3s ease-in 0s;
  }

  .dataBtn {
    max-width: 12.3rem;
    padding: 0 0.5rem;
    height: 3.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFF;
    transition: background-color 0.3s ease-in 0s;
    z-index: 2;
  }

  .dataBtn span {
    transition: color 0.3s ease-in 0s;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.03em;
    width: -moz-fit-content;
    width: fit-content;
  }

  .dataBtn span::after {
    transition: all 0.3s ease-in 0s;
    right: -2.9rem;
    width: 0.6rem;
    height: 0.6rem;
  }

  .dataList {
    row-gap: 0.6rem;
  }

  .dataItem {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7142857143;
    letter-spacing: 0.02em;
  }

  .dataItem._map {
    text-align: left;
  }

  .dataItem._map a::after {
    width: 1.2rem;
    height: 1.2rem;
  }

  .dataItem._url p::after {
    width: 1.2rem;
    height: 1.2rem;
  }

  .dataItem::before {
    width: 1.6rem;
    min-width: 1.6rem;
    height: 1.6rem;
  }

  .footer {
    background-size: cover;
    padding: 6rem 0 4rem;
  }

  .footer__list {
    padding: 1.6rem 2rem;
    gap: 3.4rem;
  }

  .footer__item a {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.6875;
    letter-spacing: 0.05em;
    transition: opacity 0.3s, color 0.3s;
  }

  .footer__item a:hover {
    opacity: 1;
    color: #016BA0;
  }

  .footer__container {
    flex-direction: row;
    align-items: flex-start;
    margin-top: 4.4rem;
  }

  .footer__info {
    max-width: 47rem;
    align-items: flex-start;
    margin-top: 2rem;
  }

  .footer__title {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.380952381;
    letter-spacing: 0.05em;
  }

  .footer__logo {
    max-width: 19rem;
  }

  .footer__addr {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4285714286;
    letter-spacing: 0.03em;
    margin-top: 0.8rem;
    text-align: left;
  }

  .footer__contact {
    max-width: 59.6rem;
    width: 45.8%;
    margin-left: auto;
    padding: 3.5rem 2.6rem;
  }

  .footer__contactText {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.7142857143;
    letter-spacing: 0.03em;
    text-align: center;
  }

  .footer__privacy {
    margin-top: 0.3rem;
  }

  .footer__privacy a {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7142857143;
    letter-spacing: 0.03em;
  }

  .footer__btn {
    margin-top: 2.7rem;
  }

  .footer__copy {
    margin-top: 39.2rem;
  }

  .footer__copy small {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 2.2857142857;
    letter-spacing: 0.03em;
  }

  .form__item {
    flex-direction: row;
    border: none;
    border-top: 1px solid #B7B7B7;
  }

  .form__header {
    border-left: 1px solid #B7B7B7;
    width: 28.75%;
    padding: 2rem;
  }

  .form__headerName {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
  }

  .form__body {
    width: 71.25%;
    padding: 1.5rem 2rem;
    border-right: 1px solid #B7B7B7;
  }

  .form__bodyText,
  .form__bodyTextarea {
    padding: 0.7rem 1.4rem;
    font-size: 1.2rem;
  }

  .form__bodyText::-moz-placeholder,
  .form__bodyTextarea::-moz-placeholder {
    font-size: 1.2rem;
  }

  .form__bodyText::placeholder,
  .form__bodyTextarea::placeholder {
    font-size: 1.2rem;
  }

  .form__bodyTextarea {
    padding: 1.7rem 1.6rem 1.8rem;
  }

  .form__privacy a {
    transition: opacity 0.3s ease-in 0s;
  }

  .form__privacy a:hover {
    opacity: 0.6;
  }

  .form__btnWrap {
    margin-top: 3.4rem;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
  }

  .form__btnSubmit {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    padding: 1rem;
    width: 28rem;
    transition: all 0.3S;
  }

  .form__btnSubmit:hover {
    color: #016BA0;
    background-color: #FFF;
    border-color: #016BA0;
    opacity: 1;
  }

  .wpcf7-previous {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
    padding: 1rem;
    width: 28rem;
    transition: 0.3S;
  }

  .wpcf7-previous:hover {
    color: #FFF;
    background-color: #016BA0;
    opacity: 1;
  }

  .wpcf7-list-item-label {
    font-size: 1.4rem;
  }

  .wpcf7-list-item-label::after {
    transform: translateY(5%) rotate(-45deg);
  }

  .gnav {
    max-width: 38rem;
    padding-top: 12rem;
  }

  .gnav__list {
    max-width: 34rem;
    margin: 0 auto;
  }

  .gnav__item a {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 3.2380952381;
    letter-spacing: 0.05em;
    transition: color 0.3s ease-in 0s;
  }

  .gnav__item a:hover {
    color: #016BA0;
    opacity: 1;
  }

  .gnav__btn {
    margin-top: 3rem;
  }

  .hamburgerBtn {
    width: 10rem;
    height: 10rem;
  }

  .hamburgerBtn.js-down {
    top: 1.5rem;
  }

  .hamburgerBtn.js-up {
    top: 0;
  }

  .bar {
    width: 3.2rem;
  }

  .header {
    height: 13rem;
    padding: 3rem 3.5rem;
    padding-right: 11rem;
    justify-content: flex-start;
  }

  .header__container {
    display: flex;
    align-items: center;
    margin-left: auto;
  }

  .header__logo {
    width: 27.8rem;
  }

  .header__logo:hover {
    opacity: 0.6;
  }

  .header__logo img {
    aspect-ratio: 273/68;
  }

  .header__list {
    display: flex;
    align-items: center;
    -moz-column-gap: 1.7rem;
    column-gap: 1.7rem;
  }

  .header__item a {
    text-align: center;
    padding: 2rem 1rem;
    display: inline-block;
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3625;
    line-height: 1;
    position: relative;
    width: 100%;
    cursor: pointer;
  }

  .header__item a::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: -1rem;
    left: 0;
    transform: translate(0, 0);
    transition: all 0.3s;
    border: 0.2rem dashed #016BA0;
    opacity: 0;
  }

  .header__item a.current::after {
    opacity: 1;
    transform: translate(0, -1rem);
  }

  .header__item a:hover {
    opacity: 1;
  }

  .header__item a:hover::after {
    transform: translate(0, -1rem);
    opacity: 1;
  }

  .header__translation {
    width: 14.4rem;
    padding: 1rem 1.4rem;
  }

  .header__translation button span {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.2857142857;
    letter-spacing: 0.05em;
  }

  .header__translation button span::before {
    width: 1.7rem;
    height: 1.7rem;
    margin-right: 0.8rem;
  }

  .header__translation button span::after {
    right: -1.4rem;
    top: 50%;
    width: 0.6rem;
    height: 0.6rem;
  }

  .header__translation.js-active button span::after {
    top: 62%;
  }

  .header__translation ul {
    top: 4.3rem;
    width: 14.3rem;
  }

  .header__translation li a {
    transition: color 0.3s ease-in 0s;
    font-size: 1.3rem;
    line-height: 1.6;
    padding: 0 2rem;
    margin-top: 1rem;
  }

  .header__translation li a:hover {
    color: #016BA0;
    opacity: 1;
    background-color: #f2f2f2;
  }

  .inner {
    max-width: 1248px;
    padding-right: 24px;
    padding-left: 24px;
  }

  .inner._narrow {
    max-width: 1148px;
  }

  .lead {
    padding: 9.2rem 0 11rem;
  }

  .lead__inner {
    display: flex;
  }

  .lead__body {
    padding: 0;
    width: 43.2%;
  }

  .lead__title {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
  }

  .lead__text {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.8888888889;
    margin-top: 2.4rem;
  }

  .lead__img {
    width: 51.6%;
    margin-left: 5.2%;
    margin-top: -2rem;
  }

  .modal__img {
    max-width: 63rem;
  }

  .modalBtn {
    width: 5.4rem;
    height: 18.6rem;
    right: 0;
    bottom: 50%;
    background: url(../img/common/modal-pc.svg) no-repeat center/cover;
  }

  .modalBtn.js-active {
    background: url(../img/common/modal-close-pc.svg) no-repeat center/cover;
  }

  .mv__img img {
    aspect-ratio: 1500/210;
  }

  .mv__title {
    margin-left: auto;
  }

  .mv__heading {
    height: 17rem;
    padding: 1.2rem;
    max-width: 22rem;
    margin-top: -12.8rem;
  }

  .mv__heading .sub {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }

  .mv__heading .main {
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 0;
  }

  .mv__title p {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-top: 1.5rem;
  }

  .search {
    display: flex;
    flex-direction: column;
  }

  .search__box {
    text-align: center;
    max-width: 108rem;
    margin-right: auto;
    margin-left: auto;
  }

  .search__heading {
    max-width: 45rem;
    margin: 0 auto;
  }

  .search__title {
    margin-top: 1.6rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7777777778;
    letter-spacing: 0.05em;
  }

  .search__attention {
    margin-top: 1.9rem;
  }

  .search__attention em {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.7142857143;
    letter-spacing: 0.03em;
    text-align: center;
  }

  .search__container {
    display: flex;
  }

  .search__listWrap {
    margin-top: 5.2rem;
    max-width: 108rem;
    margin-right: auto;
    margin-left: auto;
    padding: 1.4rem 4.7rem 5.9rem;
  }

  .search__text {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 3.1666666667;
  }

  .search__map {
    display: block;
    max-width: 28rem;
    margin-left: 5.6rem;
  }

  .search__map img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover;
  }

  .search__list {
    width: calc(100% - 33.6rem);
    margin-top: 0;
    row-gap: 2rem;
  }

  .search__item {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.03em;
  }

  .search__item dt {
    width: calc(100% - 52.2rem);
  }

  .search__item dd {
    max-width: 54.2rem;
  }

  .search__item dd .search__form {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    row-gap: 0.5rem;
  }

  .search__result {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2;
    text-align: center;
    margin-top: 4.5rem;
  }

  .search__result span {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.3333333333;
  }

  .wp-block-gallery,
  .wp-block-media-text,
  .wp-block-table {
    margin-top: 6rem;
  }

  .wp-block-quote,
  .wp-block-pullquote blockquote {
    margin-top: 4rem;
  }

  .wp-block-image {
    margin-top: 5rem;
  }

  .wp-element-caption {
    font-size: 1.8rem;
  }

  .single-content h2 {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.0833333333;
    padding: 3rem 2.5rem;
  }

  .single-content h3 {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
  }

  .single-content h4 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6666666667;
  }

  .single-content p {
    margin-top: 2.6rem;
  }

  .single-content p + p {
    margin-top: 2rem;
  }

  .single-content ul,
  .single-content ol {
    margin-top: 5rem;
  }
}

@media screen and (min-width: 1024px) {
  .sp-lg {
    display: none;
  }

  .topIntro__imgWrap {
    margin-top: 0;
  }

  .footer__contact {
    padding: 3.5rem 4.4rem;
  }
}

@media (min-width: 1200px) {
  html {
    font-size: 10px;
  }
}

@media screen and (min-width: 1366px) {
  .sp-xl {
    display: none;
  }

  .courseDetail__leadContainer {
    -moz-column-gap: 8rem;
    column-gap: 8rem;
  }

  .courseDetail__flow {
    padding-left: 4.5454545455%;
    row-gap: 3.7rem;
  }

  .courseDetail__flowItem {
    width: 17.2727272727%;
  }

  .courseDetail__means {
    width: 7.6363636364%;
  }

  .event__list {
    grid-template-columns: repeat(auto-fit, minmax(366px, 1fr));
    gap: 7.9rem 5rem;
  }

  .topMv::before {
    bottom: -2rem;
    left: 22rem;
    width: 14.6rem;
    height: 16.4rem;
  }

  .topMv::after {
    bottom: -4rem;
    right: 12rem;
    width: 16.8rem;
    height: 17.4rem;
  }

  .topMv__title::before {
    bottom: -4rem;
    left: -11rem;
    width: 7.8rem;
    height: 17.4rem;
  }

  .topMv__title::after {
    top: 1rem;
    right: -14rem;
    width: 11.4rem;
    height: 19.8rem;
  }

  .topMv__flag::before {
    max-width: 15.4rem;
    height: 14.4rem;
    transform: translate(-18rem, 0rem);
  }

  .single .body-bg {
    background-position: center 83rem;
  }

  .blog .body-bg {
    background-position: center 67rem;
  }

  .header__nav {
    display: flex;
    align-items: center;
    height: inherit;
    justify-content: space-between;
    margin-left: 3rem;
  }
}

@media screen and (min-width: 1500px) {
  .sp-xxl {
    display: none;
  }

  .restaurant__list {
    grid-template-columns: repeat(4, 1fr);
  }

  .spot__list {
    grid-template-columns: repeat(4, 1fr);
  }

  .stay__list {
    grid-template-columns: repeat(4, 1fr);
  }

  .topIntro__body::after {
    right: -68rem;
  }

  .topIntro__imgWrap {
    left: 7rem;
  }

  .topIntro__img {
    margin-left: auto;
  }

  .topSearch {
    margin-top: 39.3rem;
  }

  .tour__mediaBody {
    padding: 0 0 0 4rem;
    transform: translate(-4rem, 3rem);
  }

  .tour__mediaText {
    margin-top: 3rem;
  }

  .tour__mediaLink {
    margin-top: 3.6rem;
  }

  .body-bg {
    background-position: center 90rem;
  }

  .page .body-bg {
    background-position: center 95rem;
  }

  .page-id-298 .body-bg {
    background-position: center 95rem;
  }

  .page-id-274 .body-bg {
    background-position: center 95rem;
  }

  .single .body-bg {
    background-position: center 87rem;
  }

  .home .body-bg {
    background-position: center 87rem;
  }

  .btn .arrow::after {
    top: -0.4rem;
  }

  .footer__info {
    margin-left: -5rem;
  }

  .footer__contact {
    width: 54.8%;
    transform: translateX(5rem);
    padding: 3.5rem 4.4rem;
  }
}

@media screen and (min-width: 1650px) {
  .single .body-bg {
    background-position: center 53vw;
  }
}

@media (max-width: 375px) {
  html {
    font-size: 2.6666666667vw;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0), screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */
