@charset "UTF-8";
/*! 
Theme Name: Hakuba
Author: covs
*/
@import url("https://fonts.googleapis.com/css2?family=Fjalla+One&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  line-height: 2;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
  max-width: 100vw;
  overflow-x: hidden;
  margin: auto;
  -webkit-overflow-scrolling: touch;
  font-family: "Zen Kaku Gothic New";
  scroll-behavior: smooth;
  color: #070e1d;
}

.pageName {
  display: none;
}

body {
  width: 100%;
  overflow-x: hidden;
  max-width: 100vw;
  position: relative;
  font-family: "Zen Kaku Gothic New";
  line-height: 2;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.05em;
  margin: 0;
  max-width: 100vw;
  color: #070e1d;
}

li {
  list-style: none;
}

button {
  padding: 0;
  outline: none;
  border: none;
  background-color: transparent;
  appearance: none;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: top;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-style: none;
}

br.-sp {
  display: none;
}
br.-pc {
  display: block;
}

.pageTop {
  display: none;
}

main {
  display: block;
  line-height: 2;
  transition: opacity 0.3s ease;
  transition: all 1s cubic-bezier(0.59, 0, 0.265, 0.995);
  transition-timing-function: cubic-bezier(0.59, 0, 0.265, 0.995);
  color: #070e1d;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  main {
    margin-top: 0px !important;
  }
}
main.-show {
  margin-top: 0px !important;
  opacity: 1;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.7;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  -webkit-appearance: none;
  border-radius: 0px;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

@media (max-width: 767px) {
  br.-sp {
    display: inline;
  }
  br.-pc {
    display: none;
  }
}
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0;
  position: relative;
  overflow: hidden;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

table {
  width: 100%;
  display: inline-flex;
  overflow: hidden;
}

tbody {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

tr {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

th {
  display: inline-block;
  text-align: left;
  padding-right: 1em;
}

td {
  display: inline-block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal;
  font-family: "Zen Kaku Gothic New";
}

p {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}

strong {
  font-weight: bold;
}

body,
button,
input,
select,
optgroup,
textarea {
  font-weight: normal;
  font-style: normal;
}

span {
  display: inline-block;
}

.grecaptcha-badge {
  display: none !important;
}

.anchor {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: -150px;
  left: 0;
  width: 1px;
  height: 1px;
  display: block;
}

@keyframes menuOpen {
  0% {
    content: "MENU";
  }
  10% {
    content: "MEN";
  }
  20% {
    content: "ME";
  }
  30% {
    content: "M";
  }
  40% {
    content: "";
  }
  50% {
    content: "C";
  }
  60% {
    content: "CL";
  }
  70% {
    content: "CLO";
  }
  80% {
    content: "CLOS";
  }
  90% {
    content: "CLOSE";
  }
  100% {
    content: "CLOSE";
  }
}
@keyframes menuClose {
  0% {
    content: "CLOSE";
  }
  10% {
    content: "CLOS";
  }
  20% {
    content: "CLO";
  }
  30% {
    content: "CL";
  }
  40% {
    content: "C";
  }
  50% {
    content: "";
  }
  60% {
    content: "M";
  }
  70% {
    content: "ME";
  }
  80% {
    content: "MEN";
  }
  90% {
    content: "MENU";
  }
  100% {
    content: "MENU";
  }
}
.burger {
  cursor: pointer;
  position: fixed;
  right: clamp(25px, 3.8vw, 55px);
  top: clamp(20px, 2.9vw, 42px);
  z-index: 200;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(9px, 0.8vw, 12px);
}
.burger::before {
  content: "";
  display: block;
  width: clamp(80px, 10.4vw, 150px);
  height: clamp(66px, 8.7vw, 125px);
  background-color: #070e1d;
  position: fixed;
  top: 0;
  right: 0;
  pointer-events: none;
  border-bottom-left-radius: clamp(12px, 2.2vw, 32px);
  z-index: 1;
  transition: all 0.4s ease;
}
.burger::after {
  content: "MENU";
  display: block;
  text-align: center;
  color: white;
  position: relative;
  z-index: 2;
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2857142857;
  letter-spacing: 0.1em;
  font-family: "Fjalla One";
  transition: all 0.4s ease;
  min-width: clamp(32px, 2.6vw, 37px);
}
@media (max-width: 767px) {
  .burger::after {
    line-height: 1.25;
  }
}
.burger.-reverse::after {
  animation: menuClose 0.4s linear forwards;
}
.burger.-active::before {
  background-color: white;
}
.burger.-active::after {
  color: #070e1d;
  animation: menuOpen 0.4s linear forwards;
}

.burgerWrap {
  width: clamp(22px, 2.8vw, 40px);
  height: clamp(8px, 0.8vw, 12px);
  position: relative;
  z-index: 2;
}

.burgerBar {
  height: 1px;
  width: clamp(22px, 2.8vw, 40px);
  background-color: white;
  position: absolute;
  left: 50%;
  transition: all 0.3s ease;
}
.burgerBar.-active {
  background-color: #070e1d;
}
.burgerBar:nth-of-type(1) {
  top: 0%;
  transform: translate(-50%, 0%) rotate(0deg);
}
.burgerBar:nth-of-type(1).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(20deg);
}
.burgerBar:nth-of-type(2) {
  top: 100%;
  transform: translate(-50%, -100%) rotate(0deg);
}
.burgerBar:nth-of-type(2).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-20deg);
}

.breadcrumbList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 9px;
  width: 100%;
}
@media (max-width: 767px) {
  .breadcrumbList {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
}

.breadcrumbItem {
  font-size: clamp(1.1rem, (0.8vw), 1.1rem);
  font-weight: 500;
  line-height: 1.4545454545;
  color: #070e1d;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  letter-spacing: 0;
  max-width: 200px;
}
@media (max-width: 767px) {
  .breadcrumbItem {
    line-height: 1.4545454545;
  }
}
.breadcrumbItem:not(:last-of-type)::after {
  background-color: #a5b7cc;
  content: "";
  display: inline-block;
  height: 1px;
  width: 16px;
  min-width: 16px;
  margin-left: 9px;
  margin-right: 9px;
}
.breadcrumbItem.-current {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.breadcrumbLink {
  color: #b89857;
  text-decoration: underline;
  letter-spacing: 0;
}

.pagination {
  padding-top: clamp(48px, 5.6vw, 80px);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(24px, 4.2vw, 60px);
}

.paginationPrev.-hide,
.paginationNext.-hide {
  pointer-events: none;
  opacity: 0;
}
.paginationPrev::before,
.paginationNext::before {
  margin-top: 2px;
  content: "";
  display: block;
  width: 35px;
  height: 33px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 40% 40%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
}

.paginationPrev {
  rotate: 180deg;
}

.paginationInner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(30px, 3.3vw, 48px);
}

.paginationNumber {
  position: relative;
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.4583333333;
  color: #b89857;
}
@media (max-width: 767px) {
  .paginationNumber {
    line-height: 1.45;
  }
}
.paginationNumber:not(.-ellipsis, .-current)::after {
  content: "";
  display: block;
  width: clamp(24px, 2.4vw, 34px);
  height: 1px;
  background: #b89857;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
}
.paginationNumber.-current {
  pointer-events: none;
  color: #070e1d;
}

.btn {
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.1em;
  border-radius: clamp(16.7px, 1.7vw, 24px);
  border: 1px solid #c8ae78;
  background: rgba(255, 255, 255, 0.2);
  column-gap: clamp(14px, 3.3vw, 48px);
  transition: all 0.1s ease;
}
.btn.-back {
  padding-top: clamp(20px, 1.7vw, 24px);
  padding-bottom: clamp(20px, 1.7vw, 24px);
  padding-left: clamp(22px, 1.7vw, 24px);
  padding-right: clamp(22px, 1.7vw, 24px);
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row-reverse;
}
.btn.-forth {
  padding-top: clamp(20px, 1.7vw, 24px);
  padding-bottom: clamp(20px, 1.7vw, 24px);
  padding-left: clamp(22px, 1.7vw, 24px);
  padding-right: clamp(22px, 1.7vw, 24px);
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.btn.-vertical {
  padding: clamp(8px, 1.1vw, 16px);
  row-gap: 6px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.btn.-green, .btn.-summer {
  border-color: #3b7c3a;
}
.btn.-green:hover, .btn.-summer:hover {
  background-color: #3b7c3a;
  color: white;
}
.btn.-green:hover .btnIcon, .btn.-summer:hover .btnIcon {
  background-color: white;
}
.btn.-blue {
  border-color: #5d80a9;
}
.btn.-blue:hover {
  background-color: #5d80a9;
  color: white;
}
.btn.-blue:hover .btnIcon {
  background-color: white;
}
@media (max-width: 767px) {
  .btn {
    order: 4;
  }
}
.btn:hover {
  opacity: 1;
  background-color: #c8ae78;
  color: white;
}
.btn:hover .btnIcon {
  background-color: white;
}

.btnIcon {
  background-color: rgba(165, 183, 204, 0.3);
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  transition: all 0.1s ease;
}
.btnIcon.-normal {
  width: clamp(35px, 2.7vw, 39px);
  min-width: clamp(35px, 2.7vw, 39px);
  height: clamp(33px, 2.5vw, 36px);
  min-height: clamp(33px, 2.5vw, 36px);
}
.btnIcon.-small {
  width: clamp(16px, 1.3vw, 18px);
  height: clamp(16px, 1.3vw, 18px);
  min-width: clamp(14px, 1.1vw, 16px);
  min-height: clamp(14px, 1.1vw, 16px);
}
.btnIcon.-back {
  transform: rotate(180deg);
}
.btnIcon.-green, .btnIcon.-summer {
  background-color: rgba(191, 205, 182, 0.5);
}

.btnTxt {
  text-align: left;
}
.btnTxt.-center {
  text-align: center;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #e2d5a6 !important;
  border-color: #e2d5a6 !important;
  color: #070e1d !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #e2d5a6 !important;
}

.nShare {
  margin-top: clamp(16px, 2.8vw, 40px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 35px;
  row-gap: 16px;
  flex-wrap: wrap;
}

.nShareTtl {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
}
@media (max-width: 767px) {
  .nShareTtl {
    line-height: 1.7142857143;
  }
}
.nShareTtl::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(./img/common/icon_share.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.nShareBody {
  display: contents;
}

.nShareList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(30px, 2.2vw, 32px);
  row-gap: 8px;
  flex-wrap: wrap;
}

.nShareItem {
  display: contents;
}

.nShareLink {
  width: 30px;
  height: 30px;
  cursor: pointer;
}

.nShareIcon {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

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

@keyframes bubble {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.bgBubble {
  position: absolute;
  transform: translateX(-50%) translateY(-50%);
  border-radius: 50%;
  filter: blur(7vw);
  z-index: -1;
  pointer-events: none;
  animation: bubble 2s ease forwards;
}
@media (max-width: 767px) {
  .bgBubble {
    transform: translateX(-50%) translateY(-50%) scale(2.4);
  }
}
.bgBubble.-green {
  background-color: #f6ffed;
}
.bgBubble.-brown {
  background-color: #eee6d9;
}
.bgBubble.-blue {
  background-color: #d8f3ff;
}

.noLink {
  position: relative;
  pointer-events: none;
  opacity: 0.4;
}
.noLink::after {
  content: "準備中です";
  display: block;
  color: white;
  background-color: rgb(7, 14, 29);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  padding-left: 0.5em;
  padding-right: 0.5em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-15deg);
}
@media (max-width: 767px) {
  .noLink::after {
    line-height: 1.6875;
  }
}

.nTitle {
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.6vw, 8px);
}

.nTitleTtl.-en {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nTitleTtl.-en {
    line-height: 1.75;
  }
}
@media (max-width: 767px) {
  .nTitleTtl.-en {
    letter-spacing: 0.18em;
  }
}
.nTitleTtl.-ja {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .nTitleTtl.-ja {
    line-height: 1.4375;
  }
}
@media (max-width: 767px) {
  .nTitleTtl.-ja {
    letter-spacing: 0.1em;
  }
}

.nTitleTxt {
  font-size: 1.6rem;
  margin-top: clamp(32px, 3.3vw, 48px);
}

.headerInner {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  transition: all 0.5s ease;
  transform: translateY(-10%);
  width: 100vw;
  max-width: 100vw;
  height: 100lvh;
  color: white;
  overflow-y: scroll;
  max-height: 100%;
  padding-left: clamp(16px, 10.4vw, 150px);
  padding-top: clamp(99px, 15.3vw, 221px);
  padding-bottom: clamp(32px, 4vw, 57px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .headerInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.headerInner.-active {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.headerBg {
  width: 100vw;
  height: 100vh;
  background: #070e1d;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  transition: all 0.5s ease;
  z-index: 99;
}
.headerBg.-active {
  opacity: 1;
}

.headerTtl {
  display: contents;
}

.headerLogo {
  font-size: clamp(2rem, (1.7vw), 2.5rem);
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  color: #c1d3da;
  position: fixed;
  left: clamp(12px, 2.2vw, 32px);
  top: clamp(16px, 2.8vw, 40px);
  z-index: 101;
  opacity: 1;
  transition: all 0.5s ease;
}
.headerLogo img {
  width: clamp(160px, 16.3vw, 235px);
  object-fit: contain;
}
.headerLogo.-black {
  opacity: 1;
}
.headerLogo.-black.-active {
  opacity: 0;
}
.headerLogo.-white {
  opacity: 0;
}
.headerLogo.-white.-active {
  opacity: 1;
}

.headerCloseTrigger {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 4;
}
.headerCloseTrigger.-active {
  display: block;
}

@media (max-width: 767px) {
  .headerMain {
    margin-top: 32px;
    order: 2;
  }
}

.headerMainList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
}

.headerMainItem.-summer {
  border-bottom: 1px solid #3b7c3a;
}
.headerMainItem.-winter {
  border-bottom: 1px solid #c8ae78;
}
.headerMainItem:not(:first-of-type) .headerMainLink {
  padding-top: clamp(24px, 2.8vw, 40px);
}

.headerMainLink {
  width: 100%;
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(5px, 0.6vw, 8px);
  padding-bottom: clamp(16px, 1.7vw, 24px);
}
@media (max-width: 767px) {
  .headerMainLink {
    padding-right: 16px;
  }
}

.headerMainTxt.-en {
  font-size: clamp(2rem, (2.2vw), 3.2rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
.headerMainTxt.-ja {
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .headerMainTxt.-ja {
    line-height: 1.4166666667;
  }
}

.headerSub {
  margin-top: 56px;
}
@media (max-width: 767px) {
  .headerSub {
    order: 6;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.headerSubLinks {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .headerSubLinks {
    margin-top: 16px;
  }
}

.headerSubLink {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  text-align: center;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 12px;
  padding-bottom: 12px;
  border-radius: 8px;
  color: #070e1d;
}
.headerSubLink.-winter {
  background: #e2d5a6;
}
.headerSubLink.-summer {
  background: #c9dfcb;
}

.headerSubInfo {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .headerSubInfo {
    margin-top: 0;
  }
}

.headerSubTtl {
  font-size: clamp(1.4rem, (0.7vw), 1rem);
  font-weight: 700;
  line-height: 2.2;
}
@media (max-width: 767px) {
  .headerSubTtl {
    line-height: 1.7142857143;
  }
}

.headerSubTxt {
  font-size: clamp(1.4rem, (0.7vw), 1rem);
  line-height: 2.2;
}
@media (max-width: 767px) {
  .headerSubTxt {
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .headerSubTxt + .headerSubTxt {
    margin-top: 16px;
  }
}

.headerContainer {
  width: clamp(259px, 25.7vw, 370px);
}
@media (max-width: 767px) {
  .headerContainer {
    display: contents;
  }
}

.headerContents {
  width: calc(100% - clamp(259px, 25.7vw, 370px) - clamp(55px, 7.6vw, 110px));
}
@media (max-width: 767px) {
  .headerContents {
    display: contents;
  }
}

.headerMedia {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
}
@media (max-width: 767px) {
  .headerMedia {
    order: 1;
    width: 100%;
    max-width: 100%;
  }
}

.headerMediaImg {
  width: 33.3333333333%;
}

.headerContentsList {
  margin-top: clamp(40px, 4.4vw, 63px);
  padding-right: clamp(16px, 8.3vw, 120px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
  row-gap: 32px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .headerContentsList {
    padding-right: 0;
    order: 3;
  }
}

.headerContentsItem {
  min-width: calc((100% - 32px) / 3);
}
@media (max-width: 1150px) {
  .headerContentsItem {
    min-width: calc((100% - 16px) / 2);
  }
}

.headerContentsLink {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}

.headerContentsTxt.-en {
  font-size: clamp(1.6rem, (1.7vw), 2.4rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
.headerContentsTxt.-ja {
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .headerContentsTxt.-ja {
    line-height: 1.4166666667;
  }
}

.headerInfo {
  margin-top: clamp(48px, 3.9vw, 56px);
  padding-right: clamp(16px, 8.3vw, 120px);
}
@media (max-width: 767px) {
  .headerInfo {
    padding-right: 16px;
    order: 4;
  }
}

.headerInfoList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 32px;
  row-gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .headerInfoItem {
    min-width: calc((100% - 32px) / 2);
  }
}

.headerInfoLink {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}

.headerCopyrights {
  margin-top: clamp(16px, 2.1vw, 30px);
  font-size: 1rem;
  font-family: "Inter";
}
@media (max-width: 767px) {
  .headerCopyrights {
    order: 7;
  }
}

.headerTranslator {
  position: fixed;
  top: clamp(60px, 6.1vw, 88px);
  right: clamp(102px, 13.1vw, 189px);
  z-index: 200;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(3px, 0.6vw, 8px);
}
@media (max-width: 767px) {
  .headerTranslator {
    right: auto;
    left: clamp(12px, 2.2vw, 32px);
    top: 53px;
  }
}

.headerTranslatorTxt {
  font-size: clamp(1rem, (0.8vw), 1.2rem);
  line-height: 1.25;
  font-family: "Inter";
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  color: #a5b7cc;
}
.headerTranslatorTxt::after {
  content: "";
  display: block;
  height: clamp(4px, 0.4vw, 6px);
  width: clamp(8px, 0.8vw, 12px);
  background-image: url(./img/common/icon_arrow_translate_gray.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 3px;
}

.headerTranslatorLanguage {
  position: relative;
}
.headerTranslatorLanguage .gt_selector {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  background: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: clamp(1rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.1428571429;
  color: #b89857;
  text-transform: uppercase;
  text-decoration: underline;
  width: fit-content;
}
@media (max-width: 767px) {
  .headerTranslatorLanguage .gt_selector {
    line-height: 1.1;
  }
}
.headerTranslatorLanguage option {
  font-size: clamp(1rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.1428571429;
  color: #b89857;
}
@media (max-width: 767px) {
  .headerTranslatorLanguage option {
    line-height: 1.1;
  }
}

.headerTranslatorSelected {
  font-size: clamp(1rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.1428571429;
  text-transform: uppercase;
  text-decoration: underline;
}
@media (max-width: 767px) {
  .headerTranslatorSelected {
    line-height: 1.4;
  }
}
.headerTranslatorSelected.-winter {
  color: #c8ae78;
}
.headerTranslatorSelected.-summer {
  color: #3b7c3a;
}

.headerSearch.-pc {
  position: fixed;
  top: clamp(11px, 2vw, 29px);
  right: clamp(98px, 13.1vw, 189px);
  z-index: 200;
}
@media (max-width: 767px) {
  .headerSearch.-pc {
    display: none;
  }
}
.headerSearch.-sp {
  width: 100%;
  margin-top: 40px;
  display: none;
}
@media (max-width: 767px) {
  .headerSearch.-sp {
    display: block;
    order: 5;
  }
}

.headerSearchInner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: 10px;
}
@media (max-width: 767px) {
  .headerSearchInner {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 16px;
  }
}

.headerSearchTtl {
  font-size: 1.2rem;
  font-weight: 500;
  transition: all 0.5s ease;
}
@media (max-width: 850px) {
  .headerSearchTtl {
    display: none;
  }
}
@media (max-width: 767px) {
  .headerSearchTtl {
    display: inline-block;
  }
}
.headerSearchTtl.-active {
  color: white;
}

.headerSearchLayout {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}
@media (max-width: 767px) {
  .headerSearchLayout {
    row-gap: 10px;
    flex-wrap: wrap;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
}

.headerSearchForm {
  display: contents;
}

.headerSearchWrap {
  position: relative;
}
@media (max-width: 767px) {
  .headerSearchWrap {
    width: 80%;
    min-width: 80%;
    max-width: 274px;
  }
}
.headerSearchWrap::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  background-image: url(./img/common/icon_search.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .headerSearchWrap::after {
    background-image: url(./img/common/icon_search_white.svg);
  }
}

.headerSearchInput {
  order: 1;
  width: clamp(166.6px, 16.5vw, 238px);
  font-size: 1.2rem;
  font-weight: 500;
  color: #070e1d;
  padding-top: 8px;
  padding-bottom: 5px;
  background-color: white;
  padding-left: 27px;
  padding-right: 12px;
  border-radius: 12px;
  outline: none !important;
  line-height: 1.1;
}
@media (max-width: 767px) {
  .headerSearchInput {
    width: 100%;
    background-color: transparent;
    color: white;
  }
}
.headerSearchInput.-winter {
  border: 1px solid #c8ae78;
}
.headerSearchInput.-winter::placeholder {
  color: #a5b7cc;
}
.headerSearchInput.-summer {
  border: 1px solid #739d5c;
}
.headerSearchInput.-summer::placeholder {
  color: #c2cbbc;
}

.headerSearchBtn {
  border-radius: 12px;
  order: 3;
  padding: 12px 24px 10px;
  font-size: 1.2rem;
  font-weight: 500;
  white-space: nowrap;
  color: #070e1d;
}
.headerSearchBtn.-winter {
  background: #e2d5a6;
}
.headerSearchBtn.-summer {
  background: #c9dfcb;
}

.headerSearchCategory {
  order: 2;
  position: relative;
  width: calc(80% - 96px - 8px);
}
.headerSearchCategory::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-top: 1px solid #070e1d;
  border-right: 1px solid #070e1d;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(0, -50%) rotate(135deg);
}
@media (max-width: 767px) {
  .headerSearchCategory::after {
    border-color: white;
    max-width: 170px;
  }
}

.headerSearchSelect {
  width: clamp(135px, 11.5vw, 165px);
  font-size: 1.2rem;
  font-weight: 500;
  color: #070e1d;
  padding-top: 8px;
  padding-bottom: 5px;
  background-color: white;
  padding-left: 12px;
  padding-right: 12px;
  border-radius: 12px;
  outline: none !important;
  line-height: 1.1;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
@media (max-width: 767px) {
  .headerSearchSelect {
    color: white;
    background-color: transparent;
    width: 100%;
  }
}
.headerSearchSelect.-winter {
  border: 1px solid #c8ae78;
  color: #a5b7cc;
}
.headerSearchSelect.-summer {
  border: 1px solid #739d5c;
  color: #c2cbbc;
}

.footer {
  margin-top: 100px;
  width: 100%;
  background-color: #070e1d;
  padding-left: clamp(16px, 5.6vw, 80px);
  padding-right: clamp(16px, 5.6vw, 80px);
  padding-bottom: 60px;
  padding-top: clamp(32px, 4.5vw, 65px);
  color: white;
}

.footerInner {
  width: 100%;
}

.footerGroup {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 1200px) {
  .footerGroup {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 40px;
  }
}
@media (max-width: 767px) {
  .footerGroup {
    width: 100%;
  }
}

.footerContainer {
  width: 100%;
  padding-left: clamp(0px, 4.9vw, 70px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  position: relative;
}
@media (max-width: 767px) {
  .footerContainer {
    padding-left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 56px;
  }
}

.footerMain {
  width: clamp(230px, 18.8vw, 270px);
  min-width: clamp(230px, 18.8vw, 270px);
  margin-right: clamp(40px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .footerMain {
    width: auto;
    min-width: auto;
    margin-right: 0;
  }
}

.footerMainList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
}

.footerMainItem.-winter {
  border-bottom: 1px solid #c8ae78;
}
.footerMainItem.-summer {
  border-bottom: 1px solid #3b7c3a;
}
.footerMainItem:not(:first-of-type) .footerMainLink {
  padding-top: clamp(24px, 2.8vw, 40px);
}

.footerMainLink {
  width: 100%;
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(5px, 0.6vw, 8px);
  padding-bottom: clamp(16px, 1.7vw, 24px);
}
@media (max-width: 767px) {
  .footerMainLink {
    padding-right: 16px;
  }
}

.footerMainTxt.-en {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
.footerMainTxt.-ja {
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .footerMainTxt.-ja {
    line-height: 1.4166666667;
  }
}

.footerSub {
  width: clamp(262.5px, 26vw, 375px);
  min-width: clamp(262.5px, 26vw, 375px);
  margin-right: clamp(40px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .footerSub {
    width: 100%;
    min-width: 100%;
    margin-right: 0;
  }
}

.footerContentsList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
  row-gap: 32px;
  flex-wrap: wrap;
}

.footerContentsItem {
  min-width: calc(50% - 8px);
}

.footerContentsLink {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}

.footerContentsTxt.-en {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
.footerContentsTxt.-ja {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .footerContentsTxt.-ja {
    line-height: 1.4166666667;
  }
}

.footerInfo {
  margin-top: clamp(48px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .footerInfo {
    padding-right: 16px;
    order: 4;
  }
}

.footerInfoList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
  row-gap: 16px;
  flex-wrap: wrap;
}

.footerInfoItem {
  min-width: calc(50% - 8px);
}

.footerInfoLink {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}

.footerSide {
  margin-left: auto;
  padding-right: clamp(48px, 4.4vw, 64px);
}
@media (max-width: 767px) {
  .footerSide {
    padding-right: 0;
    width: 100%;
  }
}

.footerSideLogo {
  width: clamp(175px, 20.1vw, 290px);
  object-fit: contain;
}

.footerSideContainer {
  margin-top: clamp(24px, 4.7vw, 68px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column-reverse;
  row-gap: clamp(16px, 1.7vw, 24px);
}

.footerSideLinks {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .footerSideLinks {
    margin-top: 16px;
  }
}

.footerSideLink {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  text-align: center;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 12px;
  padding-bottom: 12px;
  border-radius: 8px;
  color: #070e1d;
}
.footerSideLink.-winter {
  background: #e2d5a6;
}
.footerSideLink.-summer {
  background: #c9dfcb;
}

.footerSideTxt {
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .footerSideTxt {
    line-height: 1.7142857143;
  }
}
.footerSideTxt + .footerSideTxt {
  margin-top: 16px;
}

.footerCopyrights {
  margin-top: clamp(32px, 5.6vw, 80px);
  font-size: 1rem;
  font-family: "Inter";
}

.footerBanners {
  margin-top: clamp(22px, 5vw, 72px);
  width: 100%;
}

.footerBannersList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(8px, 2.4vw, 34px);
  row-gap: clamp(8px, 2.4vw, 34px);
  flex-wrap: wrap;
}

.footerBannersItem {
  width: calc((100% - clamp(8px, 2.4vw, 34px) * 5) / 6);
}
@media (max-width: 1150px) {
  .footerBannersItem {
    width: calc((100% - clamp(8px, 2.4vw, 34px) * 3) / 4);
  }
}
@media (max-width: 767px) {
  .footerBannersItem {
    width: calc((100% - clamp(8px, 2.4vw, 34px) * 2) / 3);
  }
}

.footerBannersLink {
  width: 100%;
}

.footerBannersImg {
  width: 100%;
  aspect-ratio: 185/85;
}

.footerBack {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(48px, 4.4vw, 64px);
  height: clamp(54px, 5vw, 72px);
  border-radius: clamp(24px, 2.2vw, 32px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border: 1px solid;
}
.footerBack.-winter {
  border-color: #c8ae78;
}
.footerBack.-summer {
  border-color: #3b7c3a;
}
@media (max-width: 374px) {
  .footerBack {
    display: none;
  }
}

.error {
  padding-top: clamp(143px, 15.5vw, 223px);
  padding-left: clamp(11px, 15.3vw, 220px);
  padding-right: clamp(11px, 15.3vw, 220px);
  padding-bottom: 100px;
  margin: auto;
  width: 100%;
}
@media (max-width: 767px) {
  .error {
    padding-left: 11px;
    padding-right: 11px;
  }
}

.errorInner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.errorWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}

.errorImg {
  width: clamp(161px, 32.2vw, 463px);
  position: relative;
  overflow: hidden;
}
.errorImg::after {
  display: block;
  padding-top: 171.7062634989%;
  content: "";
}
@media (max-width: 767px) {
  .errorImg {
    position: relative;
    overflow: hidden;
  }
  .errorImg::after {
    display: block;
    padding-top: 172.6708074534%;
    content: "";
  }
}

@media (max-width: 767px) {
  .errorerrorTtl {
    line-height: 1.3153846154;
  }
}
.errorerrorTtl span {
  margin-left: 0.3em;
  margin-right: 0.26em;
}

.errorDesc {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: clamp(8px, 1.9vw, 28px);
  letter-spacing: 0.03em;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .errorDesc {
    line-height: 1.2142857143;
  }
}

.errorLink {
  margin-top: 56px;
  border: 1px solid #757575;
  color: #757575;
  height: clamp(45px, 3.3vw, 48px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: clamp(343px, 32.2vw, 463px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .errorLink {
    line-height: 1.5;
  }
}

.head {
  padding-top: clamp(91px, 12vw, 173px);
  width: 100%;
  border-bottom: 1px solid #070e1d;
  padding-bottom: clamp(19px, 4.6vw, 66px);
}

.headInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .headInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.headTtl.-first {
  font-family: "Fjalla One";
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .headTtl.-first {
    line-height: 1.5;
  }
}
.headTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .headTtl.-second {
    line-height: 2;
  }
}

.nHakuba {
  width: 100%;
  padding-top: 16px;
}

.nHakubaInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nHakubaInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nHakubaHead {
  margin-top: clamp(48px, 5.7vw, 82px);
  width: 100%;
  position: relative;
  z-index: 2;
}

.nHakubaHeadInner {
  position: relative;
  padding-bottom: clamp(224px, 22.2vw, 320px);
  width: 100%;
}
@media (max-width: 767px) {
  .nHakubaHeadInner {
    padding-bottom: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}

.nHakubaHeadImg {
  width: 100%;
  border-radius: clamp(16.7px, 1.7vw, 24px);
  overflow: hidden;
  aspect-ratio: 1280/667;
}
@media (max-width: 767px) {
  .nHakubaHeadImg {
    max-width: 100vw;
    width: 100vw;
    aspect-ratio: 1/1;
    margin-left: -16px;
    border-radius: 0;
  }
}

.nHakubaHeadTtl {
  margin-top: clamp(40px, 8.3vw, 120px);
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .nHakubaHeadTtl {
    width: 100%;
  }
}

.nHakubaHeadTxt {
  margin-top: clamp(32px, 3.3vw, 48px);
  max-width: clamp(400px, 55.6vw, 800px);
}
@media (max-width: 767px) {
  .nHakubaHeadTxt {
    width: 100%;
    max-width: 100%;
  }
}

.nHakubaHeadPicture {
  display: contents;
}

.nHakubaHeadMap {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-45%, -10%);
  width: 100%;
  object-fit: contain;
  z-index: -1;
  width: 100%;
}
@media (max-width: 767px) {
  .nHakubaHeadMap {
    margin-top: -25px;
    margin-left: -16px;
    width: 100vw;
    position: relative;
    top: auto;
    left: auto;
    transform: translate(0%, 0);
  }
}

.nHakubaBody {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(64px, 12.2vw, 176px);
  width: 100%;
}

.nHakubaRow {
  width: 100%;
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
.nHakubaRow:nth-of-type(odd) {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nHakubaRow:nth-of-type(odd) {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.nHakubaRow:nth-of-type(even) {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .nHakubaRow:nth-of-type(even) {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .nHakubaRow {
    padding-left: 0;
    padding-right: 0;
  }
}

.nHakubaContents {
  width: calc(100% - clamp(275px, 38.2vw, 550px) - clamp(50.4px, 5vw, 72px));
}
@media (max-width: 767px) {
  .nHakubaContents {
    width: 100%;
    display: contents;
  }
}

.nHakubaBodyTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.4375;
}
@media (max-width: 767px) {
  .nHakubaBodyTtl {
    order: 1;
  }
}

.nHakubaBodyTxt::before {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  background-color: #b89857;
  margin-top: clamp(24px, 2.8vw, 40px);
  margin-bottom: clamp(24px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .nHakubaBodyTxt {
    order: 2;
  }
}

.nHakubaBodyImg {
  width: clamp(275px, 38.2vw, 550px);
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 550/400;
}
@media (max-width: 767px) {
  .nHakubaBodyImg {
    margin-top: 32px;
    width: 100%;
    order: 3;
  }
}

.nHakubaBodyLink {
  margin-top: clamp(32px, 2.8vw, 40px);
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.1em;
  border-radius: clamp(16.7px, 1.7vw, 24px);
  border: 1px solid #c8ae78;
  padding-top: clamp(22px, 1.7vw, 24px);
  padding-bottom: clamp(22px, 1.7vw, 24px);
  padding-left: clamp(22px, 1.7vw, 24px);
  padding-right: clamp(18px, 1.4vw, 20px);
  column-gap: clamp(44px, 3.3vw, 48px);
  transition: all 0.1s ease;
}
@media (max-width: 767px) {
  .nHakubaBodyLink {
    order: 4;
  }
}
.nHakubaBodyLink:hover {
  opacity: 1;
  background-color: #c8ae78;
  color: white;
}
.nHakubaBodyLink:hover .nHakubaBodyIcon {
  background-color: white;
}

.nHakubaBodyIcon {
  background-color: rgba(165, 183, 204, 0.3);
  border-radius: 50%;
  width: clamp(33px, 2.5vw, 36px);
  height: clamp(33px, 2.5vw, 36px);
  min-width: clamp(33px, 2.5vw, 36px);
  min-height: clamp(33px, 2.5vw, 36px);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  transition: all 0.1s ease;
}

.nMt {
  width: 100%;
  padding-top: 16px;
}

.nMtInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nMtInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nMtIntro {
  margin-top: clamp(48px, 5.6vw, 80px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.nMtIntroList {
  width: 100%;
}
.nMtIntroList.-two {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  max-width: 850px;
  gap: clamp(8px, 2.9vw, 42px);
}
.nMtIntroList.-three {
  gap: clamp(8px, 2.3vw, 33px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nMtIntroList.-three {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nMtIntroItem {
  position: relative;
  border-radius: clamp(12px, 1.1vw, 16px);
  overflow: hidden;
}
.nMtIntroItem.-two {
  width: calc((100% - clamp(8px, 2.9vw, 42px)) * 0.5);
}
.nMtIntroItem.-three {
  width: calc(calc(100% - clamp(8px, 2.3vw, 33px) * 2)/3);
}
@media (max-width: 767px) {
  .nMtIntroItem.-three {
    width: 100%;
  }
}
.nMtIntroItem::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(32, 63, 131, 0.1) 45%, rgba(7, 14, 29, 0.85) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
}

.nMtIntroLink {
  width: 100%;
  overflow: hidden;
  display: block;
}
.nMtIntroLink:hover {
  opacity: 1;
}
.nMtIntroLink:hover .nMtIntroIcon {
  transform: translateY(5px);
}

.nMtIntroImg {
  width: 100%;
}
.nMtIntroImg.-two {
  aspect-ratio: 404/282;
}
.nMtIntroImg.-three {
  aspect-ratio: 404/282;
}
@media (max-width: 767px) {
  .nMtIntroImg.-three {
    aspect-ratio: 344/80;
    min-height: 80px;
    max-height: 110px;
  }
}

.nMtIntroContents {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  color: white;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  bottom: clamp(8px, 1.4vw, 20px);
  width: 100%;
}

.nMtIntroTtl {
  text-align: center;
}
.nMtIntroTtl.-first {
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2857142857;
  letter-spacing: 0.2em;
  font-family: "Fjalla One";
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .nMtIntroTtl.-first {
    line-height: 1.25;
  }
}
.nMtIntroTtl.-second {
  margin-top: clamp(0px, 0.4vw, 6px);
  font-size: clamp(1.6rem, (1.9vw), 2.8rem);
  font-weight: 500;
  line-height: 1.4642857143;
  letter-spacing: 0.25em;
}
@media (max-width: 767px) {
  .nMtIntroTtl.-second {
    line-height: 1.4375;
  }
}
@media (max-width: 767px) {
  .nMtIntroTtl.-second {
    letter-spacing: 0.05em;
  }
}

.nMtIntroIcon {
  transform: translateY(0);
  margin-top: clamp(8.5px, 1.2vw, 17px);
  transition: all 0.2s ease;
  width: clamp(8px, 1vw, 14px);
}

.nMtContainer {
  width: 100%;
}

.nMtBody {
  position: relative;
  margin-top: clamp(72px, 7.8vw, 112px);
  padding-top: clamp(33px, 3.5vw, 50px);
  width: 100%;
}
.nMtBody::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.nMtBodyTtl.-first {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
.nMtBodyTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
.nMtBodyTtl.-third {
  margin-top: clamp(16px, 2.2vw, 32px);
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 600;
  line-height: 1.4375;
}
.nMtBodyTtl.-fourth {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 600;
  line-height: 2;
}

.nMtBodyList {
  margin-top: clamp(32px, 4.4vw, 64px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(56px, 6.7vw, 96px);
  padding-left: clamp(0px, 5.6vw, 80px);
  padding-right: clamp(0px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .nMtBodyList {
    padding-left: 0;
    padding-right: 0;
  }
}

.nMtBodyItem {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(0px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .nMtBodyItem {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 32px;
  }
}

.nMtBodyMedia {
  width: clamp(306px, 35.4vw, 510px);
}
@media (max-width: 767px) {
  .nMtBodyMedia {
    width: 100%;
  }
}

.nMtGal {
  border-radius: clamp(12px, 1.1vw, 16px);
  width: 100%;
  overflow: hidden;
}

.nMtGalInner {
  width: 100%;
}

.nMtGalItem {
  width: 100%;
}
.nMtGalItem img {
  aspect-ratio: 510/383;
}

.nMtThumbnails {
  margin-top: clamp(8px, 1.1vw, 16px);
}

.nMtThumbnailsItem {
  border-radius: 8px;
}
.nMtThumbnailsItem.is-active {
  border: 1px solid #070e1d !important;
}
.nMtThumbnailsItem img {
  border-radius: 8px;
  aspect-ratio: 100/75;
}

.nMtBodyContents {
  width: calc(100% - clamp(306px, 35.4vw, 510px) - clamp(0px, 5.6vw, 80px));
}
@media (max-width: 767px) {
  .nMtBodyContents {
    width: 100%;
  }
}

.nMtBodyCategory {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  text-align: center;
  padding-top: clamp(0px, 0.6vw, 8px);
  padding-bottom: clamp(0px, 0.6vw, 8px);
  padding-left: 24px;
  padding-right: 24px;
  border-radius: 8px;
  display: inline-block;
  color: white;
}
.nMtBodyCategory.-black {
  background-color: #070e1d;
}
.nMtBodyCategory.-brown {
  background-color: #b89857;
}

.nMtBodyTxt {
  margin-top: clamp(16px, 2.2vw, 32px);
}

.nMtRelated {
  margin-top: 32px;
  width: 100%;
}
@media (max-width: 767px) {
  .nMtRelated.-padding {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 767px) {
  .nMtRelated {
    margin-top: 56px;
  }
}

.nMtRelatedTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 600;
  line-height: 1.4375;
  text-align: center;
}

.nMtRelatedList {
  margin-top: clamp(24px, 3.3vw, 48px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(16px, 3.6vw, 52px);
}

@media (max-width: 767px) {
  .nMtRelatedItem {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .nMtRelatedLink {
    width: 100%;
    justify-content: space-between !important;
  }
}

.nMtNav {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: 19;
  background-color: white;
  padding-top: clamp(83px, 9.4vw, 135px);
  padding-bottom: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: url(./img/tozan/bg.png) repeat-y center center/cover;
  border-bottom: 1px solid #070e1d;
  padding-left: clamp(16px, 5.6vw, 80px);
  padding-right: clamp(16px, 5.6vw, 80px);
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: all 0.3s ease;
}
.nMtNav.-active {
  transform: translate(-50%, 0);
  opacity: 1;
}
@media (max-width: 1175px) {
  .nMtNav.-quintuple {
    display: none;
  }
}
@media (max-width: 374px) {
  .nMtNav {
    display: none;
  }
}

.nMtNavList {
  width: 100%;
  column-gap: clamp(8px, 2.8vw, 40px);
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
}
.nMtNavList.-double {
  max-width: 850px;
}

.nMtNavItem.-double {
  width: calc((100% - clamp(8px, 2.8vw, 40px)) * 0.5);
}
.nMtNavItem.-triple {
  width: calc(calc(100% - clamp(8px, 2.8vw, 40px) * 2)/3);
}
.nMtNavItem.-quintuple {
  width: calc(calc(100% - clamp(8px, 2.8vw, 40px) * 2)/5);
}

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

.nMtNavBtn {
  width: 100%;
}

.nMtBodyLink {
  margin-top: clamp(64px, 6.7vw, 96px);
}

.nMtHero {
  margin-top: clamp(48px, 7.9vw, 114px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 7.7vw, 111px);
  position: relative;
  padding-top: clamp(34px, 4.4vw, 64px);
  padding-bottom: clamp(34px, 4.4vw, 64px);
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(0px, (0vw), 0px);
}
@media (max-width: 767px) {
  .nMtHero {
    padding-left: 16px;
    padding-right: 0px;
  }
}
@media (max-width: 767px) {
  .nMtHero {
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    width: 100%;
    padding-left: clamp(16px, (5.6vw), 80px);
    padding-right: clamp(16px, (5.6vw), 80px);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .nMtHero {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nMtHero::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #070e1d;
}
.nMtHero::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media (max-width: 767px) {
  .nMtHero::after {
    display: none;
  }
}
.nMtHero.-lodge::after {
  background-image: url(./img/tozan/bg02.png);
}
.nMtHero.-tent::after {
  background-image: url(./img/tozan/bg03.png);
}
.nMtHero.-lift::after {
  background-image: url(./img/tozan/bg04.png);
}

.nMtHeroContents {
  width: calc(100% - clamp(0px, 55.6vw, 800px) - clamp(0px, 7.7vw, 111px));
  position: relative;
}
@media (max-width: 767px) {
  .nMtHeroContents {
    padding-top: 32px;
    padding-bottom: 32px;
    width: 100%;
  }
  .nMtHeroContents::after {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-image: url(./img/tozan/bg02.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
  }
}

.nMtHeroTtl.-first {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
  text-transform: uppercase;
}
.nMtHeroTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}

.nMtHeroTxt {
  margin-top: clamp(16px, 1.7vw, 24px);
}

.nMtHeroMedia {
  width: clamp(0px, 55.6vw, 800px);
  min-width: clamp(0px, 55.6vw, 800px);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  gap: clamp(8px, 2.2vw, 32px);
}
@media (max-width: 1150px) {
  .nMtHeroMedia {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .nMtHeroMedia {
    width: 100%;
    min-width: 100%;
  }
}

.nMtHeroColumn {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: clamp(8px, 2.2vw, 32px);
}
@media (max-width: 1150px) {
  .nMtHeroColumn {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }
}

.nMtHeroImg {
  transition: all 0.3s ease;
}
.nMtHeroImg.-main {
  width: 68.75%;
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 550/413;
}
@media (max-width: 1150px) {
  .nMtHeroImg.-main {
    width: 100%;
    aspect-ratio: 344/258;
    border-top-left-radius: clamp(12px, 1.1vw, 16px);
    border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 767px) {
  .nMtHeroImg.-main {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
.nMtHeroImg.-sub {
  width: calc(calc(250 - clamp(8px, 2.2vw, 32px))/800 * 100%);
  border-top-left-radius: clamp(12px, 1.1vw, 16px);
  border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
  height: calc(calc(100% - clamp(8px, 2.2vw, 32px))/2);
}
@media (min-width: 1441px) {
  .nMtHeroImg.-sub {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
@media (max-width: 1150px) {
  .nMtHeroImg.-sub {
    width: calc(calc(100% - clamp(8px, 2.2vw, 32px))/2);
    border-radius: clamp(12px, 1.1vw, 16px);
  }
  .nMtHeroImg.-sub:nth-of-type(even) {
    border-top-left-radius: clamp(12px, 1.1vw, 16px);
    border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 1150px) and (max-width: 767px) {
  .nMtHeroImg.-sub:nth-of-type(even) {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
@media (max-width: 767px) {
  .nMtHeroImg.-sub {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}

.nMtLodge {
  width: 100%;
  margin-top: clamp(40px, 5.6vw, 80px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(56px, 4.4vw, 64px);
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .nMtLodge {
    padding-left: 0;
    padding-right: 0;
  }
}

.nMtLodgeAccordion {
  width: 100%;
  margin-top: clamp(40px, 5.6vw, 80px);
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .nMtLodgeAccordion {
    padding-left: 0;
    padding-right: 0;
  }
}

.nMtLodgeContainer {
  width: 100%;
  border-bottom: 1px solid #a5b7cc;
}

.nMtLodgeRow {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(40px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .nMtLodgeRow {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 24px;
  }
}

.nMtLodgeBlock {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(40px, 5.6vw, 80px);
  padding-bottom: 40px;
  overflow: hidden;
  transition: all 0.5s ease;
}
@media (max-width: 767px) {
  .nMtLodgeBlock {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 24px;
  }
}
.nMtLodgeBlock.-hide {
  padding-bottom: 0;
  height: 0 !important;
}

.nMtLodgeThumbnail {
  width: clamp(264px, 30.6vw, 440px);
  min-width: clamp(264px, 30.6vw, 440px);
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 440/332;
}
@media (max-width: 767px) {
  .nMtLodgeThumbnail {
    order: 1;
    width: 100%;
    min-width: 100%;
  }
}

.nMtLodgeContents {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: column;
  width: calc(100% - clamp(264px, 30.6vw, 440px) - clamp(40px, 5.6vw, 80px));
}
@media (max-width: 767px) {
  .nMtLodgeContents {
    order: 2;
    width: 100%;
  }
}

.nMtLodgeTtl {
  width: 100%;
  text-align: left;
}
.nMtLodgeTtl.-first {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 600;
  line-height: 1.45;
}
.nMtLodgeTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 600;
  line-height: 2;
}
@media (max-width: 767px) {
  .nMtLodgeTtl.-second {
    line-height: 1.45;
  }
}

.nMtLodgeTable {
  width: 100%;
}
.nMtLodgeTable tbody {
  width: 100%;
  border-bottom: 1px solid #c8ae78;
}
.nMtLodgeTable tr {
  border-top: 1px solid #c8ae78;
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
}
@media (max-width: 767px) {
  .nMtLodgeTable tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.nMtLodgeTable th {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 2;
  color: #c8ae78;
  width: 108px;
  min-width: 108px;
  padding-right: 1em;
  padding-left: 1em;
  margin-right: 16px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .nMtLodgeTable th {
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .nMtLodgeTable th {
    padding-right: 0;
    width: 100%;
    min-width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
    text-align-last: left;
  }
}
.nMtLodgeTable td {
  width: calc(100% - 108px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 16px;
}
@media (max-width: 1150px) {
  .nMtLodgeTable td {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
  }
}
.nMtLodgeTable td a {
  text-decoration: underline;
}

.nMtLodgeDetails.-half {
  width: calc(50% - 8px);
}
@media (max-width: 1150px) {
  .nMtLodgeDetails.-half {
    width: 100%;
  }
}

.nMtLodgeLink {
  margin-top: 24px;
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
}
.nMtLodgeLink::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
  transform: rotate(-45deg);
}

.nMtBtn {
  width: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: 16px;
  cursor: pointer;
  color: #070e1d;
}
.nMtBtn:hover {
  opacity: 1;
  background-color: rgba(165, 183, 204, 0.1);
}

.nMtBtnIcon {
  border: 1px solid #b89857;
  border-radius: 50%;
  width: 26px;
  min-width: 26px;
  height: 26px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  transform: rotate(135deg);
  transition: all 0.3s ease;
}
.nMtBtnIcon.-active {
  background-color: #b89857;
}
.nMtBtnIcon.-active::before {
  border-top: 1px solid white;
  border-right: 1px solid white;
}
.nMtBtnIcon::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #b89857;
  border-right: 1px solid #b89857;
  transform: translate(-1px, 1px);
  transition: all 0.3s ease;
}

.nMtNote {
  margin-top: clamp(56px, 5.6vw, 80px);
  width: 100%;
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .nMtNote {
    padding-left: 0;
    padding-right: 0;
  }
}

.nMtNoteList {
  border-radius: clamp(12px, 1.1vw, 16px);
  background: rgba(165, 183, 204, 0.3);
  padding: clamp(16px, 1.7vw, 24px);
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 400;
  line-height: 2.3333333333;
}

.nMtNoteItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
.nMtNoteItem::before {
  content: "・";
}

.nMtLodgeTtl + .nMtLodgeTable {
  margin-top: 24px;
}

.nCourse {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  padding-top: clamp(14px, 1vw, 15px);
}
@media (max-width: 767px) {
  .nCourse {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nCourseInner {
  width: 100%;
}

.nCourseBody {
  margin-top: clamp(48px, 5.6vw, 80px);
  width: 100%;
  position: relative;
}

.nCourseBodyImg {
  width: 100%;
  border-radius: clamp(8px, 1.1vw, 16px);
  object-fit: contain;
  pointer-events: none;
}
@media (max-width: 500px) {
  .nCourseBodyImg {
    pointer-events: auto;
  }
}

.nCourseExpand {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: #070e1d;
  border-radius: 50%;
  padding: 5px;
  width: 60px;
  height: 60px;
  color: white;
  display: none;
}
@media (max-width: 500px) {
  .nCourseExpand {
    display: inline-flex;
    pointer-events: none;
  }
}
.nCourseExpand::before {
  content: "";
  display: block;
  width: 17px;
  height: 20px;
  background-image: url(./img/tozan/icon_magnifying.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.nCourseExpandTtl {
  text-align: center;
  font-size: 1rem;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
}

.nCourseNote {
  margin-top: 8px;
  padding-left: 15px;
  font-size: 1.2rem;
}
.nCourseNote span {
  color: #b89857;
}
@media (max-width: 767px) {
  .nCourseNote {
    padding-left: 0;
  }
}

.nCourseNav {
  margin-top: clamp(32px, 5vw, 72px);
  width: 100%;
}

.nCourseNavList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  gap: clamp(8px, 2.9vw, 42px);
}
@media (max-width: 767px) {
  .nCourseNavList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nCourseNavItem {
  width: calc(calc(100% - clamp(8px, 2.9vw, 42px) * 2)/3);
}
@media (max-width: 767px) {
  .nCourseNavItem {
    width: 100%;
  }
}

.nCourseNavLink {
  width: 100%;
}

.nCourseExpanded {
  display: contents;
}

.nCourseExpandedInner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: 16px;
  width: calc(100% - 16px);
  z-index: 102;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.nCourseExpandedInner.-active {
  opacity: 1;
  pointer-events: auto;
}

.nCourseExpandedScroll {
  width: 100%;
  overflow-x: scroll;
}

.nCourseExpandedImg {
  width: 100%;
  width: clamp(700px, 69.4vw, 1000px);
  min-width: clamp(700px, 69.4vw, 1000px);
  object-fit: contain;
}

.nCourseExpandedClose {
  width: 56px;
  height: 56px;
  cursor: pointer;
}
.nCourseExpandedClose:hover {
  opacity: 0.7;
}

.nCourseExpandedBg {
  background-color: rgba(7, 14, 29, 0.4);
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 101;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.nCourseExpandedBg.-active {
  opacity: 1;
  pointer-events: auto;
}

.nModel {
  width: 100%;
  padding-top: clamp(24px, 3.5vw, 50px);
  padding-bottom: clamp(64px, 6.7vw, 96px);
  margin-top: clamp(48px, 5.6vw, 80px);
  border-top: 1px solid #070e1d;
}

.nModelInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nModelInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nModelHead {
  width: 100%;
}

.nModelHeadTtl.-first {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nModelHeadTtl.-first {
    line-height: 1.75;
  }
}
@media (max-width: 767px) {
  .nModelHeadTtl.-first {
    letter-spacing: 0.17em;
  }
}
.nModelHeadTtl.-second {
  margin-top: clamp(0px, 0.4vw, 6px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .nModelHeadTtl.-second {
    line-height: 1.4375;
  }
}
@media (max-width: 767px) {
  .nModelHeadTtl.-second {
    letter-spacing: 0.1em;
  }
}

.nModelHeadTxt {
  margin-top: clamp(16px, 1.7vw, 24px);
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2.5714285714;
  max-width: 440px;
}
@media (max-width: 767px) {
  .nModelHeadTxt {
    line-height: 1.7142857143;
  }
}

.nModelBody {
  margin-top: clamp(40px, 3.5vw, 50px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(56px, 6.7vw, 96px);
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .nModelBody {
    padding-left: 0;
    padding-right: 0;
  }
}

.nModelBodyImg {
  width: clamp(264px, 30.6vw, 440px);
  min-width: clamp(264px, 30.6vw, 440px);
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 440/332;
}
@media (max-width: 767px) {
  .nModelBodyImg {
    order: 1;
    width: 100%;
    min-width: 100%;
  }
}

.nModelBodyRow {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(40px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .nModelBodyRow {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    row-gap: 24px;
  }
}

.nModelBodyTxt {
  width: 100%;
}

.nModelBodyTtl {
  width: 100%;
  text-align: left;
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 600;
  line-height: 1.45;
}

.nModelBodyTable {
  margin-top: 24px;
  width: 100%;
}
.nModelBodyTable tbody {
  width: 100%;
  border-bottom: 1px solid #c8ae78;
}
.nModelBodyTable tr {
  border-top: 1px solid #c8ae78;
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
}
@media (max-width: 767px) {
  .nModelBodyTable tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 8px;
  }
}
.nModelBodyTable th {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 2;
  color: #c8ae78;
  width: 108px;
  min-width: 108px;
  padding-right: 1em;
  padding-left: 1em;
  margin-right: 16px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .nModelBodyTable th {
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .nModelBodyTable th {
    padding-right: 0;
    width: 100%;
    min-width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
    text-align-last: left;
  }
}
.nModelBodyTable td {
  width: calc(100% - 108px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
  row-gap: 4px;
}
@media (max-width: 1150px) {
  .nModelBodyTable td {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .nModelBodyTable td {
    width: 100%;
  }
}
.nModelBodyTable td a {
  text-decoration: underline;
}

.nModelBodyNote {
  background: #e2d5a6;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2;
  padding-left: 10px;
  padding-right: 10px;
  white-space: nowrap;
  border-radius: 8px;
}
@media (max-width: 767px) {
  .nModelBodyNote {
    line-height: 1.7142857143;
  }
}

.nModelBodyContents {
  width: calc(100% - clamp(264px, 30.6vw, 440px) - clamp(40px, 5.6vw, 80px));
}
@media (max-width: 767px) {
  .nModelBodyContents {
    width: 100%;
  }
}

.access {
  width: 100%;
  padding-top: clamp(24px, 3.5vw, 50px);
  padding-bottom: clamp(64px, 6.7vw, 96px);
  border-top: 1px solid #070e1d;
  position: relative;
}

.accessInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .accessInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.accessHead {
  width: 100%;
}

.accessHeadTtl.-first {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .accessHeadTtl.-first {
    line-height: 1.75;
  }
}
@media (max-width: 767px) {
  .accessHeadTtl.-first {
    letter-spacing: 0.17em;
  }
}
.accessHeadTtl.-second {
  margin-top: clamp(0px, 0.4vw, 6px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .accessHeadTtl.-second {
    line-height: 1.4375;
  }
}
@media (max-width: 767px) {
  .accessHeadTtl.-second {
    letter-spacing: 0.1em;
  }
}

.accessBody {
  width: 100%;
  margin-top: clamp(32px, 4.4vw, 64px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(32px, 4.4vw, 64px);
  column-gap: clamp(28px, 2.8vw, 40px);
}

.accessBodyItem {
  width: calc((100% - clamp(28px, 2.8vw, 40px) * 1) / 2);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(22.4px, 2.2vw, 32px);
}
@media (max-width: 1150px) {
  .accessBodyItem {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    column-gap: clamp(40px, 5.6vw, 80px);
  }
}
@media (max-width: 767px) {
  .accessBodyItem {
    width: calc((100% - clamp(28px, 2.8vw, 40px) * 0) / 1);
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 16px;
  }
}

.accessBodyImg {
  width: clamp(180.6px, 17.9vw, 258px);
  min-width: clamp(180.6px, 17.9vw, 258px);
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: clamp(8px, 1.1vw, 16px);
}
@media (max-width: 1150px) {
  .accessBodyImg {
    width: clamp(264px, 30.6vw, 440px);
    min-width: clamp(264px, 30.6vw, 440px);
    aspect-ratio: 440/332;
  }
}
@media (max-width: 767px) {
  .accessBodyImg {
    width: 100%;
    min-width: 100%;
    aspect-ratio: 1/1;
  }
}

.accessBodyContents {
  width: calc(100% - clamp(180.6px, 17.9vw, 258px) - clamp(22.4px, 2.2vw, 32px));
}
@media (max-width: 1150px) {
  .accessBodyContents {
    width: calc(100% - clamp(264px, 30.6vw, 440px) - clamp(40px, 5.6vw, 80px));
  }
}
@media (max-width: 767px) {
  .accessBodyContents {
    width: 100%;
  }
}

.accessBodyTtl {
  width: 100%;
  text-align: left;
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 600;
  line-height: 1.45;
}

.accessBodyDestination {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  margin-top: clamp(8px, 0.3vw, 4px);
}
@media (max-width: 767px) {
  .accessBodyDestination {
    line-height: 1.45;
  }
}

.accessBodyTable {
  margin-top: clamp(16px, 1.7vw, 24px);
  width: 100%;
}
.accessBodyTable tbody {
  width: 100%;
  border-bottom: 1px solid #c8ae78;
}
.accessBodyTable tr {
  border-top: 1px solid #c8ae78;
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}
.accessBodyTable th {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 2;
  color: #c8ae78;
  width: 108px;
  min-width: 108px;
  padding-right: 1em;
  margin-right: 16px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .accessBodyTable th {
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .accessBodyTable th {
    padding-right: 0;
    width: 100%;
    min-width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
    text-align-last: left;
  }
}
.accessBodyTable td {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  column-gap: 16px;
  row-gap: 4px;
}
.accessBodyTable td a {
  text-decoration: underline;
}

.accessLinks {
  margin-top: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}

.accessLinksLink {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
}
.accessLinksLink::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
  transform: rotate(-45deg);
}

.accessTraffic {
  width: 100%;
  margin-top: clamp(64px, 6.7vw, 96px);
  padding-top: clamp(32px, 5.6vw, 80px);
  position: relative;
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .accessTraffic {
    padding-left: 0;
    padding-right: 0;
  }
}
.accessTraffic::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.accessTrafficItem {
  margin-top: clamp(32px, 4.4vw, 64px);
  width: 100%;
}

.accessTrafficTtl.-first {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 600;
  line-height: 1.446875;
  text-align: center;
}
@media (max-width: 767px) {
  .accessTrafficTtl.-first {
    line-height: 1.45;
  }
}
.accessTrafficTtl.-second {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  font-family: "Fjalla One";
  text-transform: uppercase;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .accessTrafficTtl.-second {
    line-height: 1.75;
  }
}
@media (max-width: 767px) {
  .accessTrafficTtl.-second {
    letter-spacing: 0.17em;
  }
}
.accessTrafficTtl.-third {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 600;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .accessTrafficTtl.-third {
    line-height: 1.45;
  }
}
.accessTrafficTtl.-fourth {
  font-size: clamp(1.8rem, (1.3vw), 1.8rem);
  font-weight: 600;
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
}

.accessTrafficContainer {
  margin-top: 24px;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 1.7vw, 24px);
  column-gap: clamp(12px, 1.7vw, 24px);
  align-items: stretch;
}

.accessTrafficPlace {
  border: 1px solid #c8ae78;
  border-radius: clamp(16px, 1.7vw, 24px);
  padding: clamp(16px, 1.7vw, 24px);
  display: grid;
}
.accessTrafficPlace.-double {
  width: calc((100% - clamp(12px, 1.7vw, 24px) * 1) / 2);
}
@media (max-width: 767px) {
  .accessTrafficPlace.-double {
    width: calc((100% - clamp(12px, 1.7vw, 24px) * 0) / 1);
  }
}
.accessTrafficPlace.-triple {
  width: calc((100% - clamp(12px, 1.7vw, 24px) * 2) / 3);
}
@media (max-width: 767px) {
  .accessTrafficPlace.-triple {
    width: calc((100% - clamp(12px, 1.7vw, 24px) * 0) / 1);
  }
}

.accessTrafficTxt {
  margin-top: 8px;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}

.accessTrafficLinks {
  margin-top: auto;
  padding-top: 8px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
  width: 100%;
}

.accessTrafficLink {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 1.4285714286;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  width: 100%;
  color: #c8ae78;
}
.accessTrafficLink::after {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
  transform: rotate(-45deg);
  margin-left: auto;
}
.accessTrafficLink.-phone::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  margin-right: 4px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(./img/tozan/icon_phone.svg);
}

.accessBodyLink {
  margin-top: clamp(64px, 6.7vw, 96px);
}

.nHero {
  width: 100%;
  position: relative;
  z-index: 2;
}

.nHeroContainer {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(0px, (0vw), 0px);
  padding-bottom: clamp(34px, 4.4vw, 64px);
  padding-top: clamp(34px, 4.4vw, 64px);
  position: relative;
}
@media (max-width: 767px) {
  .nHeroContainer {
    padding-left: 16px;
    padding-right: 0px;
  }
}
@media (max-width: 767px) {
  .nHeroContainer {
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    width: 100%;
    padding-left: clamp(16px, (5.6vw), 80px);
    padding-right: clamp(16px, (5.6vw), 80px);
    padding-bottom: 0;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .nHeroContainer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nHeroBreadcrumb {
  padding-top: clamp(14px, 1.1vw, 16px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nHeroBreadcrumb {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nHeroInner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 7.7vw, 111px);
  position: relative;
}
@media (max-width: 767px) {
  .nHeroInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .nHeroInner.-reverse {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.nHeroContents {
  width: calc(100% - clamp(0px, 55.6vw, 800px) - clamp(0px, 7.7vw, 111px));
  position: relative;
}
@media (max-width: 767px) {
  .nHeroContents {
    padding-top: 32px;
    padding-bottom: 32px;
    width: 100%;
  }
}

.nHeroPicture {
  display: contents;
}

.nHeroBg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100%;
  z-index: -1;
  max-width: none;
}

.nHeroTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
}
@media (max-width: 767px) {
  .nHeroTtl {
    line-height: 1.45;
  }
}

.nHeroTxt {
  margin-top: clamp(16px, 1.7vw, 24px);
}

.nHeroMedia {
  width: clamp(0px, 55.6vw, 800px);
  min-width: clamp(0px, 55.6vw, 800px);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  gap: clamp(8px, 2.2vw, 32px);
}
@media (max-width: 1150px) {
  .nHeroMedia {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .nHeroMedia {
    width: 100%;
    min-width: 100%;
  }
}

.nHeroColumn {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: clamp(8px, 2.2vw, 32px);
  width: calc((250 - clamp(8px, 2.2vw, 32px)) / 800 * 100%);
}
@media (max-width: 1150px) {
  .nHeroColumn {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }
}

.nHeroImg {
  transition: all 0.3s ease;
}
.nHeroImg.-main {
  width: 68.75%;
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 550/413;
}
@media (max-width: 1150px) {
  .nHeroImg.-main {
    width: 100%;
    aspect-ratio: 344/258;
    border-top-left-radius: clamp(12px, 1.1vw, 16px);
    border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 767px) {
  .nHeroImg.-main {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
.nHeroImg.-sub {
  width: 100%;
  border-top-left-radius: clamp(12px, 1.1vw, 16px);
  border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
  height: calc(calc(100% - clamp(8px, 2.2vw, 32px))/2);
}
@media (min-width: 1441px) {
  .nHeroImg.-sub {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
@media (max-width: 1150px) {
  .nHeroImg.-sub {
    width: calc(calc(100% - clamp(8px, 2.2vw, 32px))/2);
    border-radius: clamp(12px, 1.1vw, 16px);
  }
  .nHeroImg.-sub:nth-of-type(even) {
    border-top-left-radius: clamp(12px, 1.1vw, 16px);
    border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 1150px) and (max-width: 767px) {
  .nHeroImg.-sub:nth-of-type(even) {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
@media (max-width: 767px) {
  .nHeroImg.-sub {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}

.events {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .events {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.eventsInner {
  width: 100%;
  padding-top: clamp(50px, 5vw, 72px);
}
.eventsInner.-noSpace {
  padding-top: 0;
}

.eventsBreadcrumb {
  width: 100%;
  margin-top: clamp(14px, 1.1vw, 16px);
}

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

.eventsSort {
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .eventsSort {
    padding-left: 0;
    padding-right: 0;
  }
}
.eventsSort.-separate {
  margin-top: clamp(24px, 2.6vw, 38px);
}
.eventsSort.-separate::before {
  margin-bottom: clamp(16px, 2.2vw, 32px);
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: rgba(165, 183, 204, 0.3);
}
.eventsSort.-space {
  margin-top: clamp(48px, 7.3vw, 105px);
}

.eventsResult {
  width: 100%;
}

.eventsSortTtl {
  font-size: clamp(1.6rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
}
@media (max-width: 767px) {
  .eventsSortTtl {
    line-height: 1.75;
  }
}

.eventsSortList {
  margin-top: clamp(16px, 1.9vw, 27px);
  width: 100%;
}

.eventsSortLayout {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(8px, 1.1vw, 16px);
  row-gap: clamp(12px, 1.4vw, 20px);
}
.eventsSortLayout.-full {
  width: 100%;
}

.eventsSortItem {
  display: contents;
}

.eventsSortLink {
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  border-radius: clamp(12px, 1.1vw, 16px);
  padding: clamp(8px, 1vw, 14px);
  min-width: clamp(76px, 8vw, 115px);
  cursor: pointer;
  border: 1px solid #e2d5a6;
  color: #070e1d;
}
@media (max-width: 767px) {
  .eventsSortLink {
    line-height: 1.4285714286;
  }
}
.eventsSortLink.-checked {
  background-color: #e2d5a6;
}

.eventsSortCheckbox {
  display: contents;
}

.eventsSortReset {
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 700;
  line-height: 1.4375;
  color: #c8ae78;
  text-decoration: underline;
  cursor: pointer;
}
@media (max-width: 767px) {
  .eventsSortReset {
    line-height: 1.4285714286;
  }
}
.eventsSortReset:hover {
  opacity: 0.8;
}

.eventsArchive {
  width: 100%;
}
.eventsArchive.-narrow {
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .eventsArchive.-narrow {
    padding-left: 0;
    padding-right: 0;
  }
}

.eventsArchiveList {
  margin-top: clamp(40px, 6vw, 87px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(36px, 2.8vw, 40px);
  column-gap: clamp(8px, 2.8vw, 40px);
  align-items: stretch;
}

.nRelatedArrow {
  display: none;
  position: absolute;
  right: clamp(16px, 5.6vw, 80px);
  top: 66px;
  z-index: 3;
  width: 72px;
  object-fit: contain;
  opacity: 1;
  transition: opacity 0.3s ease;
  pointer-events: none;
  display: none;
}
.nRelatedArrow.-hide {
  opacity: 0;
}
@media (max-width: 1150px) {
  .nRelatedArrow {
    display: block;
  }
}
@media (max-width: 767px) {
  .nRelatedArrow {
    right: 16px;
  }
}

.eventsArchiveItem {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
}
.eventsArchiveItem.-single {
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 0) / 1);
}
.eventsArchiveItem.-triple {
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 2) / 3);
}
@media (max-width: 1150px) {
  .eventsArchiveItem.-triple {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
  }
}
@media (max-width: 767px) {
  .eventsArchiveItem.-triple {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 0) / 1);
  }
}
.eventsArchiveItem.-quad {
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 3) / 4);
}
@media (max-width: 767px) {
  .eventsArchiveItem.-quad {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
  }
}

.eventsArchiveMedia {
  width: 100%;
  border-radius: clamp(12px, 1.1vw, 16px);
  position: relative;
  overflow: hidden;
}
.eventsArchiveMedia.-past::after {
  content: "終了しました";
  width: 100%;
  display: block;
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 600;
  line-height: 1.7142857143;
  color: white;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background-color: #070e1d;
  padding-top: clamp(3px, 0.3vw, 5px);
  padding-bottom: clamp(4px, 0.3vw, 5px);
}
.eventsArchiveMedia.-past::before {
  content: "";
  display: block;
  opacity: 0.5;
  background: #070e1d;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.eventsRec {
  width: 100%;
  display: block;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background: rgba(197, 162, 23, 0.65);
  padding-top: clamp(3px, 0.3vw, 5px);
  padding-bottom: clamp(4px, 0.3vw, 5px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(3px, 0.6vw, 8px);
}

.eventsRecIcon {
  width: clamp(10px, 0.9vw, 13px);
  height: clamp(10px, 0.9vw, 13px);
  object-fit: contain;
}

.eventsRecTxt {
  font-size: clamp(1rem, (1.1vw), 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .eventsRecTxt {
    line-height: 1.2;
  }
}

.eventsArchiveWrap {
  width: 100%;
}

.eventsArchiveThumbnail {
  border-radius: clamp(12px, 1.1vw, 16px);
  width: 100%;
}
.eventsArchiveThumbnail.-normal {
  aspect-ratio: 4/3;
}
.eventsArchiveThumbnail.-long {
  aspect-ratio: 290/364;
}

.eventsArchiveHead {
  margin-top: clamp(17px, 1.8vw, 26px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(8px, 1.1vw, 16px);
  row-gap: 4px;
  flex-wrap: wrap;
}
.eventsArchiveHead.-noSpace {
  margin-top: 0;
}

.eventsArchiveDate {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #a5b7cc;
}

.eventsArchiveMonths {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
}

.eventsArchiveMonth {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  color: #b89857;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.eventsArchiveMonth::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.eventsArchiveMonth::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}
.eventsArchiveTtl {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  margin-top: clamp(8px, 1vw, 14px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (max-width: 767px) {
  .eventsArchiveTtl {
    line-height: 1.6875;
  }
}

.eventsArchiveExcerpt {
  margin-top: clamp(8px, 0.8vw, 12px);
}

.eventsArchiveLink {
  margin-top: 16px;
  cursor: pointer;
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
}
.eventsArchiveLink.-other.-winter::before {
  background-color: #c8ae78;
}
.eventsArchiveLink.-other.-summer::before {
  background-color: #3b7c3a;
}
.eventsArchiveLink.-other::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #5d80a9;
  border-radius: 50%;
  transform: rotate(-45deg);
}
.eventsArchiveLink.-details.-winter::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_plus.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  border-radius: 50%;
  border: 1px solid;
  border-color: #c8ae78;
}
.eventsArchiveLink.-details.-summer::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_plus_summer.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  border-radius: 50%;
  border: 1px solid;
  border-color: #3b7c3a;
}

.eventsDetails {
  display: none;
}

.eventsSortDateSearch {
  margin-top: clamp(24px, 2.2vw, 32px);
  padding-top: clamp(16px, 2.2vw, 32px);
  border-top: 1px solid rgba(165, 183, 204, 0.3);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(32px, 4.4vw, 64px);
  row-gap: 40px;
  width: 100%;
}
@media (max-width: 1150px) {
  .eventsSortDateSearch {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.eventsSortWrap {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(8px, 1.1vw, 16px);
}
@media (max-width: 1150px) {
  .eventsSortWrap {
    width: 100%;
  }
}
.eventsSortWrap::before {
  content: "";
  display: block;
  width: 1px;
  height: 64px;
  background-color: rgba(165, 183, 204, 0.3);
  position: absolute;
  top: 50%;
  left: calc(-100% + 100% - clamp(16px, 2.2vw, 32px));
  transform: translateY(-50%);
}
@media (max-width: 1150px) {
  .eventsSortWrap::before {
    width: 100%;
    height: 1px;
    left: 0;
    top: -16px;
    transform: translateY(0);
  }
}

.eventsSortCal {
  position: relative;
}

.eventsSortIcon {
  position: absolute;
  top: 50%;
  left: clamp(13px, 1.1vw, 16px);
  width: clamp(13px, 1.1vw, 16px);
  height: clamp(13px, 1.1vw, 16px);
  transform: translateY(-50%);
}

.eventsSortInput {
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  border-radius: clamp(12px, 1.1vw, 16px);
  border: 1px solid #b89857;
  padding-top: clamp(8px, 1vw, 14px);
  padding-bottom: clamp(8px, 1vw, 14px);
  padding-left: clamp(35px, 2.9vw, 42px);
  padding-right: clamp(8px, 1vw, 14px);
  width: clamp(230px, 18.8vw, 270px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .eventsSortInput {
    line-height: 1.4166666667;
  }
}
.eventsSortInput::placeholder {
  color: #a5b7cc;
}

.eventsSortBtn {
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  border: 1px solid #b89857;
  border-radius: clamp(12px, 1.1vw, 16px);
  padding: clamp(8px, 1vw, 14px);
  min-width: clamp(76px, 8vw, 115px);
  cursor: pointer;
  background-color: #e2d5a6;
  border-color: #e2d5a6;
}
@media (max-width: 767px) {
  .eventsSortBtn {
    line-height: 1.4285714286;
  }
}

.eventsKeyword {
  width: 100%;
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .eventsKeyword {
    padding-left: 0;
    padding-right: 0;
  }
}

.eventsKeywordHead {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.eventsKeywordTtl.-first {
  font-size: clamp(2rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
}
@media (max-width: 767px) {
  .eventsKeywordTtl.-first {
    line-height: 1.45;
  }
}
.eventsKeywordTtl.-second {
  margin-top: clamp(48px, 7.4vw, 106px);
  font-size: clamp(1.6rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
}
@media (max-width: 767px) {
  .eventsKeywordTtl.-second {
    line-height: 1.75;
  }
}

.eventsKeywordForm {
  margin-top: clamp(8px, 1.7vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: clamp(8px, 1.1vw, 16px);
  flex-wrap: wrap;
}

.eventsKeywordInput {
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  border-radius: clamp(12px, 1.1vw, 16px);
  border: 1px solid #b89857;
  padding-top: clamp(8px, 1vw, 14px);
  padding-bottom: clamp(8px, 1vw, 14px);
  padding-left: clamp(35px, 2.9vw, 42px);
  padding-right: clamp(8px, 1vw, 14px);
  width: clamp(254px, 43vw, 619px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .eventsKeywordInput {
    line-height: 1.4166666667;
  }
}
.eventsKeywordInput::placeholder {
  color: #a5b7cc;
}

.eventsKeywordWrap {
  position: relative;
}

.eventsKeywordIcon {
  position: absolute;
  top: 50%;
  left: clamp(13px, 1.1vw, 16px);
  width: clamp(13px, 1.1vw, 16px);
  height: clamp(13px, 1.1vw, 16px);
  transform: translateY(-50%);
}

.eventsOther {
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 1150px) {
  .eventsOther {
    margin-top: 64px;
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
@media (max-width: 1150px) {
  .eventsOther.-hideTab {
    display: none;
  }
}

.eventsArchiveEmpty {
  margin-top: 64px;
  text-align: center;
}

.eventsPast {
  margin-top: clamp(56px, 5.6vw, 80px);
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: row;
}

.nSingle {
  padding-top: clamp(14px, 1.1vw, 16px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nSingle {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nSingleInner {
  width: 100%;
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .nSingleInner {
    padding-left: 0;
    padding-right: 0;
  }
}

.nSingleBorder {
  display: block;
  width: 100%;
  height: 1px;
  background: rgba(165, 183, 204, 0.3);
  margin-top: clamp(25px, 3.9vw, 56px);
}

.nSingleHead {
  margin-top: clamp(50px, 5.6vw, 80px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: clamp(8px, 1.1vw, 16px);
  flex-wrap: wrap;
}

.nSingleDate {
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #a5b7cc;
  font-family: "Inter";
}
@media (max-width: 767px) {
  .nSingleDate {
    line-height: 1.25;
  }
}

.nSingleTags {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: clamp(8px, 1.1vw, 16px);
  flex-wrap: wrap;
}

.nSingleTagsTag {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  color: #b89857;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nSingleTagsTag::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nSingleTagsTag::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}

.nSingleTtl {
  width: 100%;
  min-width: 100%;
}
.nSingleTtl.-first {
  margin-top: clamp(11px, 1.3vw, 19px);
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
}
.nSingleTtl.-second {
  margin-top: clamp(24px, 3.9vw, 56px);
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
  padding-bottom: 12px;
  border-bottom: 1px solid #c8ae78;
}
.nSingleTtl.-third {
  margin-top: clamp(16px, 2.2vw, 32px);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}

.nSingleThumbnail {
  display: block;
  border-radius: clamp(12px, 1.8vw, 26px);
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(24px, 3.9vw, 56px);
  width: calc(100% - clamp(0px, 7.6vw, 110px) * 2);
  object-fit: contain;
}
@media (max-width: 767px) {
  .nSingleThumbnail {
    width: 100%;
  }
}

.nSingleTxt {
  width: 100%;
  margin-top: 16px;
}
.nSingleTxt.-smallest p {
  font-size: 1rem;
}
.nSingleTxt.-smaller p {
  font-size: 1.2rem;
}
.nSingleTxt.-larger p {
  font-size: 1.75rem;
}
.nSingleTxt.-largest p {
  font-size: 2rem;
}
.nSingleTxt li {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nSingleTxt li {
    line-height: 1.7142857143;
  }
}
.nSingleTxt ul li::before {
  content: "・";
}
.nSingleTxt ol {
  counter-reset: item;
}
.nSingleTxt ol li::before {
  content: counter(item) ".";
  counter-increment: item;
}

.nSingleRow {
  margin-top: 8px;
  width: 100%;
}

.nSingleLink {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2;
  column-gap: 8px;
}
@media (max-width: 767px) {
  .nSingleLink {
    line-height: 1.7142857143;
  }
}
.nSingleLink.-blank::before {
  content: "";
  display: block;
  min-width: 26px;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
  transform: rotate(-45deg);
}
.nSingleLink.-self::before {
  content: "";
  display: block;
  min-width: 26px;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
}

.nSingleMedia {
  margin-top: clamp(24px, 2.2vw, 32px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(8px, 2.2vw, 32px);
  column-gap: clamp(8px, 2.8vw, 40px);
}

.nSingleMediaImg {
  border-radius: clamp(12px, 1.1vw, 16px);
}
@media (min-width: 768px) {
  .nSingleMediaImg.-half {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
  }
}
@media (min-width: 768px) {
  .nSingleMediaImg.-triple {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 2) / 3);
  }
}
@media (min-width: 768px) {
  .nSingleMediaImg.-full {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 0) / 1);
  }
}
@media (max-width: 767px) {
  .nSingleMediaImg.-sphalf {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
  }
}
@media (max-width: 767px) {
  .nSingleMediaImg.-sptriple {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 2) / 3);
  }
}
@media (max-width: 767px) {
  .nSingleMediaImg.-spfull {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 0) / 1);
  }
}

.nSingleHighlight {
  margin-top: clamp(24px, 2.2vw, 32px);
  width: 100%;
}

.nSingleHighlightTxt {
  display: inline-block;
  border-radius: 8px;
  background: rgba(165, 183, 204, 0.3);
  padding-left: 10px;
  padding-right: 10px;
}

.nSingleBack {
  margin-top: clamp(48px, 5.8vw, 83px);
}

.nSingleTable {
  width: 100%;
  margin-top: clamp(24px, 2.2vw, 32px);
}
.nSingleTable tbody {
  width: 100%;
  border-bottom: 1px solid #c8ae78;
}
.nSingleTable tr {
  width: 100%;
  border-top: 1px solid #c8ae78;
  padding-top: 8px;
  padding-bottom: 8px;
}
@media (max-width: 767px) {
  .nSingleTable tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.nSingleTable th {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 2;
  color: #c8ae78;
  width: clamp(72px, 7.8vw, 112px);
  min-width: clamp(72px, 7.8vw, 112px);
  padding-right: 1em;
  padding-left: 1em;
  margin-right: 16px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .nSingleTable th {
    line-height: 1.7142857143;
  }
}
@media (max-width: 767px) {
  .nSingleTable th {
    padding-right: 0;
    width: auto;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
}
.nSingleTable td {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
  row-gap: 4px;
  flex-wrap: wrap;
}
.nSingleTable td a {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .nSingleTable td a {
    line-height: 1.7142857143;
  }
}
.nSingleTable td a::after {
  content: "";
  display: block;
  width: 26px;
  min-width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
  transform: rotate(-45deg);
  margin-left: auto;
}
.nSingleTable td h1,
.nSingleTable td h2,
.nSingleTable td h3,
.nSingleTable td h4,
.nSingleTable td h5,
.nSingleTable td h6 {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 2;
}

.nSingleLinkIcon {
  width: 16px;
  height: 16px;
  min-width: 16px;
  object-fit: contain;
}

.nSingleSliders {
  margin-top: clamp(24px, 3.3vw, 48px);
  width: 100%;
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .nSingleSliders {
    padding-left: 0;
    padding-right: 0;
  }
}

.nSingleSlider {
  width: 100%;
  border-radius: clamp(12px, 1.1vw, 16px);
  overflow: hidden;
}

.nSingleSliderItem img {
  width: 100%;
  aspect-ratio: 841/631;
}

.nSingleThumbnails {
  margin-top: clamp(12px, 1.7vw, 24px);
}

.nSingleThumbnailsItem {
  border-radius: 8px;
  aspect-ratio: 100/75;
}
.nSingleThumbnailsItem.is-active {
  border: 1px solid #070e1d !important;
}
.nSingleThumbnailsItem img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
}

.nSingleMaps {
  margin-top: clamp(24px, 3.3vw, 48px);
  width: 100%;
}
@media (max-width: 767px) {
  .nSingleMaps {
    width: 100vw;
    margin-left: -16px;
  }
}
.nSingleMaps iframe {
  width: 100%;
  height: clamp(400px, 36.8vw, 530px);
}

.nSingleHighlight + .nSingleTtl.-third {
  margin-top: clamp(8px, 0.8vw, 12px);
}

.nSingleTtl.-third + .nSingleTxt {
  margin-top: 8px;
}

.nSingleSliders + .nSingleTxt {
  margin-top: clamp(24px, 3.3vw, 48px);
}

.nClimb {
  padding-top: clamp(32px, 5.2vw, 75px);
  padding-bottom: clamp(56px, 6.7vw, 96px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  position: relative;
}
@media (max-width: 767px) {
  .nClimb {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1150px) {
  .nClimb {
    margin-top: 48px;
  }
}

.nClimbInner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 24px;
}
@media (max-width: 1150px) {
  .nClimbInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nClimbContents {
  width: calc(100% - clamp(436.8px, 50.6vw, 728px));
}
@media (max-width: 1150px) {
  .nClimbContents {
    width: 100%;
    display: contents;
  }
}

.nClimbHead {
  width: 100%;
}
@media (max-width: 1150px) {
  .nClimbHead {
    order: 1;
  }
}

.nClimbTtl.-first {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nClimbTtl.-first {
    line-height: 1.5;
  }
}
@media (max-width: 1150px) {
  .nClimbTtl.-first {
    letter-spacing: 0.18em;
  }
}
.nClimbTtl.-second {
  margin-top: clamp(0px, 1.1vw, 16px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .nClimbTtl.-second {
    line-height: 1.4375;
  }
}
@media (max-width: 1150px) {
  .nClimbTtl.-second {
    letter-spacing: 0.1em;
  }
}
.nClimbBtn {
  margin-top: clamp(32px, 4.4vw, 64px);
}
@media (max-width: 1150px) {
  .nClimbBtn {
    order: 3;
    margin-left: auto;
  }
}

.nClimbList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(36px, 2.8vw, 40px);
  column-gap: clamp(8px, 2.8vw, 40px);
  width: clamp(436.8px, 50.6vw, 728px);
}
@media (max-width: 1150px) {
  .nClimbList {
    margin-top: 32px;
    order: 2;
    width: 100%;
  }
}

.nClimbEmpty {
  width: clamp(436.8px, 50.6vw, 728px);
}

.nPrepare {
  width: 100%;
}

.nPrepareBg {
  width: 100%;
  height: clamp(400px, 36.9vw, 532px);
  object-fit: cover;
}

.nPreparePicture {
  display: contents;
}

.nPrepareInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  position: relative;
  padding-top: clamp(32px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .nPrepareInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nPrepareHead {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 24px;
}

.nPrepareTtl {
  width: clamp(230.9px, 22.9vw, 330px);
  max-width: 100%;
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
  padding-right: 1em;
}

.nPrepareTxt {
  width: calc(100% - clamp(230.9px, 22.9vw, 330px));
}
@media (max-width: 767px) {
  .nPrepareTxt {
    width: 100%;
  }
}

.nPrepareBody {
  margin-top: clamp(32px, 4.4vw, 64px);
  width: 100%;
}

.nPrepareBodyList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 40px;
  column-gap: clamp(28px, 2.8vw, 40px);
}

.nPrepareBodyItem {
  width: calc((100% - clamp(28px, 2.8vw, 40px) * 2) / 3);
}
@media (max-width: 1150px) {
  .nPrepareBodyItem {
    width: calc((100% - clamp(28px, 2.8vw, 40px) * 0) / 1);
  }
}

.nPrepareBodyImg {
  border-radius: 12px;
  width: 100%;
  aspect-ratio: 4/3;
}
.nPrepareBodyImg.-border {
  border: 1px solid rgba(7, 14, 29, 0.2);
}

.nPrepareBodyTtl {
  margin-top: clamp(16px, 1.8vw, 26px);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}

.nPrepareBodyNum {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2.4285714286;
  letter-spacing: 0.15em;
  color: #b89857;
  margin-right: clamp(15px, 1.7vw, 24px);
  white-space: nowrap;
  font-family: "Fjalla One";
}

.nPrepareBodyTxt {
  margin-top: clamp(8px, 1.1vw, 16px);
}

.nPrepareBodyBtn {
  margin-top: clamp(16px, 1.7vw, 24px);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 12px;
}
.nPrepareBodyBtn::before {
  margin-top: 3px;
  border: 1px solid #b89857;
  width: 28px;
  min-width: 28px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  content: "";
  display: block;
  background-image: url(./img/common/icon_arrow_gold.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 8px;
}

.nPrepareLinks {
  margin-top: clamp(80px, 8.9vw, 128px);
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 4.7vw, 68px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .nPrepareLinks {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 24px;
  }
}

.nPrepareLinksImg {
  aspect-ratio: 1/1;
  border-radius: clamp(12px, 1.1vw, 16px);
  width: clamp(350px, 35.4vw, 510px);
  max-width: 100%;
  max-height: 400px;
}
@media (max-width: 1150px) {
  .nPrepareLinksImg {
    width: 100%;
  }
}

.nPrepareLinksList {
  width: calc(100% - clamp(350px, 35.4vw, 510px) - clamp(0px, 7.6vw, 110px));
  border-radius: clamp(16px, 1.7vw, 24px);
  border: 1px solid #c8ae78;
  padding-top: clamp(24px, 2.8vw, 40px);
  padding-bottom: clamp(24px, 2.8vw, 40px);
  padding-left: clamp(16px, 1.7vw, 24px);
  padding-right: clamp(16px, 1.7vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(30px, 2.9vw, 42px);
}
@media (max-width: 1150px) {
  .nPrepareLinksList {
    width: 100%;
  }
}

.nPrepareLinksItem {
  display: contents;
}

.nPrepareLinksLink {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
@media (max-width: 767px) {
  .nPrepareLinksLink {
    line-height: 2;
  }
}
.nPrepareLinksLink::after {
  margin-top: 3px;
  background-color: rgba(165, 183, 204, 0.2);
  width: 34px;
  min-width: 34px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  content: "";
  display: block;
  background-image: url(./img/common/icon_arrow.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 8px;
}

.nRelated {
  width: 100%;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  margin-top: clamp(64px, 6.7vw, 96px);
  padding-top: clamp(32px, 3.3vw, 48px);
}
@media (max-width: 767px) {
  .nRelated {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nRelated::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.nRelated + .nRelated {
  margin-top: 0;
}

.nRelatedInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  padding-bottom: 55px;
}

.nRelatedTop {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: clamp(16px, 1.7vw, 24px);
  width: 100%;
}
@media (max-width: 767px) {
  .nRelatedTop {
    display: contents;
  }
}

.nRelatedTopWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media (max-width: 767px) {
  .nRelatedTopWrap {
    order: 1;
    width: 100%;
  }
}

.nRelatedTtl.-first {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nRelatedTtl.-first {
    line-height: 1.75;
  }
}
@media (max-width: 767px) {
  .nRelatedTtl.-first {
    letter-spacing: 0.17em;
  }
}
.nRelatedTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .nRelatedTtl.-second {
    line-height: 1.4375;
  }
}
@media (max-width: 767px) {
  .nRelatedTtl.-second {
    letter-spacing: 0.1em;
  }
}

.nRelatedHead {
  margin-top: clamp(17px, 1.8vw, 26px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(8px, 1.1vw, 16px);
  row-gap: 4px;
  flex-wrap: wrap;
}
.nRelatedHead.-noSpace {
  margin-top: 0;
}

@media (max-width: 767px) {
  .nRelatedBtn {
    margin-top: 48px;
    order: 3;
    margin-left: auto;
  }
}

.nRelatedContainer {
  margin-top: clamp(32px, 3.8vw, 55px);
  width: 100%;
  position: relative;
}
@media (max-width: 1150px) {
  .nRelatedContainer {
    width: 100vw;
  }
}
@media (max-width: 767px) {
  .nRelatedContainer {
    order: 2;
  }
}

.nRelatedList {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(16px, 2.8vw, 40px);
  column-gap: clamp(16px, 2.8vw, 40px);
}
@media (max-width: 1150px) {
  .nRelatedList {
    flex-wrap: nowrap;
    overflow: scroll;
    padding-left: clamp(16px, 5.6vw, 80px);
    padding-right: clamp(16px, 5.6vw, 80px);
  }
}
@media (max-width: 767px) {
  .nRelatedList {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nRelatedItem {
  width: calc((100% - clamp(16px, 2.8vw, 40px) * 3) / 4);
}
@media (max-width: 1150px) {
  .nRelatedItem {
    width: 264px;
    min-width: 264px;
  }
}

.nRelatedWrap {
  width: 100%;
}

.nRelatedMedia {
  width: 100%;
  border-radius: clamp(12px, 1.1vw, 16px);
  position: relative;
  overflow: hidden;
}
.nRelatedMedia.-past::after {
  content: "終了しました";
  width: 100%;
  display: block;
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 600;
  line-height: 1.7142857143;
  color: white;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background-color: #070e1d;
  padding-top: clamp(3px, 0.3vw, 5px);
  padding-bottom: clamp(4px, 0.3vw, 5px);
}
.nRelatedMedia.-past::before {
  content: "";
  display: block;
  opacity: 0.5;
  background: #070e1d;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.nRelatedThumbnail {
  border-radius: 12px;
  width: 100%;
  aspect-ratio: 290/218;
}

.nRelatedDate {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #a5b7cc;
}

.nRelatedMonths {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
}

.nRelatedMonth {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  color: #b89857;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nRelatedMonth::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nRelatedMonth::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}
.nRelatedTtl {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  margin-top: clamp(8px, 1vw, 14px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (max-width: 767px) {
  .nRelatedTtl {
    line-height: 1.6875;
  }
}

.nRelatedEmpty {
  margin-top: clamp(24px, 2.8vw, 40px);
}

.nMv {
  width: 100%;
  position: relative;
  padding-bottom: clamp(56px, 6.8vw, 98px);
}

.nMvInner {
  width: 100%;
  padding-top: clamp(100px, 13.2vw, 190px);
}

.nMvContainer {
  padding-left: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(49px, 4.9vw, 70px);
}
@media (max-width: 1150px) {
  .nMvContainer {
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    width: 100%;
    padding-left: clamp(0px, (0vw), 0px);
    padding-right: clamp(0px, (0vw), 0px);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
@media (max-width: 1150px) and (max-width: 767px) {
  .nMvContainer {
    padding-left: 0px;
    padding-right: 0px;
  }
}

.nMvMain {
  width: clamp(360px, 33.9vw, 488px);
  min-width: clamp(360px, 33.9vw, 488px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 1150px) {
  .nMvMain {
    display: contents;
  }
}

.nMvHead {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(16px, 1.5vw, 21px);
  width: 100%;
}
@media (max-width: 1150px) {
  .nMvHead {
    order: 1;
  }
}

.nMvHeadTtl {
  text-align: center;
}
.nMvHeadTtl.-ja {
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.4285714286;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .nMvHeadTtl.-ja {
    line-height: 1.4166666667;
  }
}
@media (max-width: 374px) {
  .nMvHeadTtl.-ja {
    font-size: 1.1rem;
  }
}
.nMvHeadTtl.-en {
  font-size: clamp(4.2rem, (3.9vw), 5.6rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.12em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nMvHeadTtl.-en {
    line-height: 1.2619047619;
  }
}
@media (max-width: 374px) {
  .nMvHeadTtl.-en {
    font-size: 3.6rem;
  }
}

.nMvWidget {
  margin-top: clamp(24px, 2.4vw, 34px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  border-radius: clamp(12px, 1.7vw, 24px);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0px 0px 32px 0px rgba(19, 114, 153, 0.1);
  backdrop-filter: blur(8px);
  padding-left: clamp(16px, 2.2vw, 32px);
  padding-right: clamp(16px, 2.2vw, 32px);
  padding-top: clamp(12px, 1.1vw, 16px);
  padding-bottom: clamp(12px, 1.1vw, 16px);
  row-gap: clamp(8px, 0.8vw, 12px);
}
@media (max-width: 1150px) {
  .nMvWidget {
    margin-top: 24px;
    order: 3;
    width: calc(100% - clamp(16px, 5.6vw, 80px) * 2);
  }
}
@media (max-width: 767px) {
  .nMvWidget {
    width: calc(100% - 32px);
  }
}

.nMvSrc {
  margin-top: clamp(4px, 0.6vw, 8px);
  font-size: clamp(1rem, (0.8vw), 1.2rem);
  line-height: 2;
  text-align: right;
  width: 100%;
}
@media (max-width: 1150px) {
  .nMvSrc {
    order: 4;
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nMvWidgetTtl {
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  color: #a5b7cc;
  letter-spacing: 0.1em;
  font-family: "Fjalla One";
  text-align: center;
}
@media (max-width: 767px) {
  .nMvWidgetTtl {
    line-height: 1.2857142857;
  }
}

.nMvWidgetRow {
  border-top: 1px solid rgba(165, 183, 204, 0.3);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  position: relative;
  padding-top: clamp(8px, 1.4vw, 20px);
}
@media (max-width: 374px) {
  .nMvWidgetRow {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
.nMvWidgetRow::before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - clamp(8px, 1.4vw, 20px));
  background: rgba(165, 183, 204, 0.3);
  position: absolute;
  top: clamp(8px, 1.4vw, 20px);
  left: 50%;
  transform: translate(-50%, 0);
}
@media (max-width: 374px) {
  .nMvWidgetRow::before {
    display: none;
  }
}

.nMvWidgetCal {
  margin-top: 8px;
  margin-bottom: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(5px, 0.7vw, 10px);
  width: 50%;
  max-width: 50%;
}

.nMvWidgetDate {
  font-size: clamp(3.8rem, (3.3vw), 4.8rem);
  font-weight: 400;
  line-height: 1.25;
  color: #070e1d;
  letter-spacing: 0.1em;
  white-space: nowrap;
  font-family: "Fjalla One";
}

.nMvWidgetWrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 374px) {
  .nMvWidgetWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
}

.nMvWidgetYear {
  font-size: clamp(1rem, (0.8vw), 1.2rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-family: "Fjalla One";
  text-align: center;
}
@media (max-width: 767px) {
  .nMvWidgetYear {
    line-height: 1.3;
  }
}

.nMvWidgetDay {
  margin-top: clamp(2px, 0.3vw, 4px);
  font-size: clamp(1rem, (0.8vw), 1.2rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-family: "Fjalla One";
  text-align: center;
}
@media (max-width: 767px) {
  .nMvWidgetDay {
    line-height: 1.3;
  }
}

.nMvWidgetWeather {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 50%;
  max-width: 50%;
  column-gap: clamp(7.5px, 1vw, 15px);
}
@media (max-width: 374px) {
  .nMvWidgetWeather {
    margin-top: 8px;
    width: 100%;
  }
}

.nMvWidgetBlock {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(3px, 0.3vw, 5px);
}

.nMvWidgetInline {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
}

.nMvWidgetArea {
  text-align: center;
  font-size: clamp(1rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .nMvWidgetArea {
    line-height: 1.3;
  }
}
@media (max-width: 767px) {
  .nMvWidgetArea {
    font-weight: 400;
    letter-spacing: 0.1em;
  }
}

.nMvWidgetDegree {
  font-size: clamp(2.1rem, (1.7vw), 2.5rem);
  font-weight: 400;
  line-height: 1.28;
  font-family: "Fjalla One";
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
}
.nMvWidgetDegree::after {
  content: "°C";
  display: block;
  font-size: clamp(1rem, (0.7vw), 1rem);
  font-weight: 400;
  line-height: 1.3;
  font-family: "Fjalla One";
  margin-top: 4px;
}

.nMvWidgetIcon {
  width: clamp(16px, 1.9vw, 28px);
  min-width: clamp(16px, 1.9vw, 28px);
  aspect-ratio: 1/1;
  object-fit: contain;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.nMvWidgetIcon::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
}
.nMvWidgetIcon.-icon01d::after {
  background-image: url(./img/home/icon_weather01.png);
}
.nMvWidgetIcon.-icon01n::after {
  background-image: url(./img/home/icon_weather02.png);
}
.nMvWidgetIcon.-icon02d::after {
  background-image: url(./img/home/icon_weather03.png);
}
.nMvWidgetIcon.-icon02n::after {
  background-image: url(./img/home/icon_weather04.png);
}
.nMvWidgetIcon.-icon03d::after {
  background-image: url(./img/home/icon_weather05.png);
}
.nMvWidgetIcon.-icon03n::after {
  background-image: url(./img/home/icon_weather06.png);
}
.nMvWidgetIcon.-icon04d::after {
  background-image: url(./img/home/icon_weather07.png);
}
.nMvWidgetIcon.-icon04n::after {
  background-image: url(./img/home/icon_weather08.png);
}
.nMvWidgetIcon.-icon09d::after {
  background-image: url(./img/home/icon_weather09.png);
}
.nMvWidgetIcon.-icon09n::after {
  background-image: url(./img/home/icon_weather09.png);
}
.nMvWidgetIcon.-icon10d::after {
  background-image: url(./img/home/icon_weather11.png);
}
.nMvWidgetIcon.-icon10n::after {
  background-image: url(./img/home/icon_weather12.png);
}
.nMvWidgetIcon.-icon11d::after {
  background-image: url(./img/home/icon_weather13.png);
}
.nMvWidgetIcon.-icon11n::after {
  background-image: url(./img/home/icon_weather14.png);
}
.nMvWidgetIcon.-icon13d::after {
  background-image: url(./img/home/icon_weather15.png);
}
.nMvWidgetIcon.-icon13n::after {
  background-image: url(./img/home/icon_weather16.png);
}
.nMvWidgetIcon.-icon50d::after {
  background-image: url(./img/home/icon_weather17.png);
}
.nMvWidgetIcon.-icon50n::after {
  background-image: url(./img/home/icon_weather18.png);
}

.nMvSlider {
  border-top-left-radius: 16px;
  border-bottom-left-radius: 16px;
  overflow: hidden;
  width: calc(100% - clamp(360px, 33.9vw, 488px) - clamp(49px, 4.9vw, 70px));
}
@media (max-width: 1150px) {
  .nMvSlider {
    margin-top: 12px;
    width: 100%;
    order: 2;
    border-radius: 0;
  }
}

.nMvSliderItem {
  width: calc(100% - clamp(16px, 5.6vw, 80px) + clamp(28px, 2.8vw, 40px));
  max-width: 762px;
  padding-right: clamp(28px, 2.8vw, 40px);
  filter: blur(0px);
  transition: all 0.3s ease;
}
.nMvSliderItem.is-next {
  filter: blur(4px);
}
@media (max-width: 1150px) {
  .nMvSliderItem {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
  }
}

.nMvSliderLink {
  width: 100%;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 1150px) {
  .nMvSliderLink {
    border-radius: 0;
  }
}

.nMvSliderImg {
  width: 100%;
  aspect-ratio: 731/527;
  max-height: 520px;
}
@media (max-width: 767px) {
  .nMvSliderImg {
    aspect-ratio: 360/255;
    border-radius: 0;
  }
}

.nMvSliderInfo {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 25%, #fff 70%);
  padding-left: clamp(16px, 2.1vw, 30px);
  padding-right: clamp(16px, 2.1vw, 30px);
  padding-top: clamp(85px, 8.2vw, 118px);
  padding-bottom: clamp(16px, 1.7vw, 24px);
}
.nMvSliderInfo:hover {
  opacity: 1;
  background: linear-gradient(180deg, rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, 0.5) 25%, whitesmoke 70%);
}

.nMvSliderContainer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: row;
  position: relative;
  min-height: 20px;
}
.nMvSliderContainer.-icon.-winter::before {
  background-color: #c8ae78;
}
.nMvSliderContainer.-icon.-summer::before {
  background-color: #3b7c3a;
}
.nMvSliderContainer.-icon::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%) rotate(-45deg);
}

.nMvSliderLeft {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.4vw, 6px);
  width: 53.6764705882%;
  padding-right: clamp(16px, 1.7vw, 24px);
}
.nMvSliderLeft.-full {
  width: 100%;
  padding-right: clamp(40px, 3.5vw, 50px);
}
@media (max-width: 1150px) {
  .nMvSliderLeft {
    width: 41.1585365854%;
  }
}

.nMvSliderTtl.-en {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.16em;
  font-family: "Fjalla One", "Zen Kaku Gothic New";
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.nMvSliderTtl.-ja {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.nMvSliderTtl.-sub {
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.nMvSliderRight {
  width: 46.3235294118%;
  padding-right: clamp(40px, 3.5vw, 50px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 6px;
}
.nMvSliderRight.-full {
  width: 100%;
}
@media (max-width: 1150px) {
  .nMvSliderRight {
    width: 58.8414634146%;
  }
}

.nMvSliderTerm {
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #a5b7cc;
}
@media (max-width: 767px) {
  .nMvSliderTerm {
    line-height: 1.25;
  }
}

.nMvBg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.15;
}

.nMvBgInner {
  width: 100%;
  height: 100%;
  position: relative;
}
.nMvBgInner::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(84px, 8.3vw, 120px);
  background: linear-gradient(180deg, #fff 35.5%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  rotate: 180deg;
}

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

.nMvBgItem {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
}

.nMvBgImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nMvBanner {
  margin-top: clamp(32px, 4.4vw, 64px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nMvBanner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nMvBanner .splide__arrow {
  background: url(./img/common/icon_arrow_transparent.svg) no-repeat center center/100% 100%;
  width: clamp(49px, 4.9vw, 70px);
  height: clamp(44.8px, 4.4vw, 64px);
  opacity: 1;
}
.nMvBanner .splide__arrow svg {
  display: none;
}
.nMvBanner .splide__arrow--next {
  right: clamp(16px, 5.6vw, 80px);
  transform: translate(50%, -50%);
}
.nMvBanner .splide__arrow--prev {
  left: clamp(16px, 5.6vw, 80px);
  transform: translate(-50%, -50%) rotate(180deg);
}

.nMvBannerContainer {
  width: 100%;
}

.nMvBannerInner {
  width: 100%;
}

.nMvBannerList {
  width: 100%;
}
@media (max-width: 767px) {
  .nMvBannerList {
    flex-wrap: wrap;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row;
    width: 100%;
    row-gap: 8px;
    column-gap: 8px;
    display: flex !important;
  }
}

.nMvBannerItem {
  border-radius: 8px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .nMvBannerItem {
    width: calc((100% - 8px) / 2);
  }
}

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

.nMvBannerImg {
  width: 100%;
  aspect-ratio: 224/102;
}

.nMvBannerTtl {
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.03em;
  padding-left: clamp(6px, 0.6vw, 8px);
  padding-right: clamp(6px, 0.6vw, 8px);
  padding-top: clamp(1px, 0.3vw, 4px);
  padding-bottom: clamp(2px, 0.4vw, 6px);
  width: 100%;
}

.nMvSearch {
  margin-top: clamp(32px, 3.3vw, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (12.5vw), 180px);
  padding-right: clamp(16px, (12.5vw), 180px);
}
@media (max-width: 767px) {
  .nMvSearch {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nMvSearchInner {
  width: 100%;
  border-radius: clamp(16px, 1.7vw, 24px);
  background: rgba(255, 255, 255, 0.5);
  box-shadow: 0px 0px 32px 0px rgba(19, 114, 153, 0.1);
  backdrop-filter: blur(8px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  padding-left: clamp(16px, 2.8vw, 40px);
  padding-right: clamp(16px, 2.8vw, 40px);
  padding-top: clamp(16px, 1.7vw, 24px);
  padding-bottom: clamp(16px, 1.3vw, 18px);
}
@media (max-width: 1000px) {
  .nMvSearchInner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: clamp(16px, 1.7vw, 24px);
  }
}

.nMvSearchTtl.-main {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 1000px) {
  .nMvSearchTtl.-main br {
    display: none;
  }
}
.nMvSearchTtl.-unit {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
}
@media (max-width: 767px) {
  .nMvSearchTtl.-unit {
    line-height: 1.4166666667;
  }
}

.nMvSearchForm {
  max-width: calc(100% - 175px);
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 10px;
}
@media (max-width: 1300px) {
  .nMvSearchForm {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: column;
  }
}
@media (max-width: 1000px) {
  .nMvSearchForm {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .nMvSearchForm {
    width: 100%;
    max-width: 100%;
  }
}

.nMvSearchContainer {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 10px;
}
@media (max-width: 767px) {
  .nMvSearchContainer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: 16px;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .nMvSearchRow.-second {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-direction: row;
    column-gap: 16px;
  }
}
@media (max-width: 374px) {
  .nMvSearchRow.-second {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 8px;
  }
}
.nMvSearchRow.-third {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 10px;
}
@media (max-width: 767px) {
  .nMvSearchRow.-third {
    flex-wrap: wrap;
    row-gap: 10px;
  }
}
@media (max-width: 767px) {
  .nMvSearchRow {
    width: 100%;
  }
}

.nMvSearchWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 10px;
}
@media (max-width: 767px) {
  .nMvSearchWrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: 16px;
    width: 100%;
  }
}

.nMvSearchBlock {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}
@media (max-width: 767px) {
  .nMvSearchBlock.-full {
    width: 100%;
  }
  .nMvSearchBlock.-quad {
    width: calc((100% - 30px) * 0.25);
    min-width: 70px;
  }
}

.nMvSearchArrow {
  position: relative;
}
@media (max-width: 767px) {
  .nMvSearchArrow.-full {
    width: 100%;
  }
}
.nMvSearchArrow::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-top: 1px solid #070e1d;
  border-right: 1px solid #070e1d;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(0, -50%) rotate(135deg);
}

.nMvSearchLabel {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  padding-left: 8px;
}
@media (max-width: 767px) {
  .nMvSearchLabel {
    line-height: 1.4166666667;
  }
}
.nMvSearchLabel.-check {
  padding-left: 0;
  margin-left: 8px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 4px;
  position: relative;
}
@media (max-width: 767px) {
  .nMvSearchLabel.-check {
    margin-bottom: 8px;
  }
}
@media (max-width: 374px) {
  .nMvSearchLabel.-check {
    margin-left: 0;
  }
}
.nMvSearchLabel.-check::before {
  content: "";
  display: block;
  width: 20px;
  min-width: 20px;
  height: 20px;
  border-radius: 8px;
  border: 1px solid;
}
.nMvSearchLabel.-check.-winter::before {
  border-color: #c8ae78;
}
.nMvSearchLabel.-check.-summer::before {
  border-color: #3b7c3a;
}

.nMvSearchCheck:checked + .nMvSearchLabel::after {
  content: "";
  background-image: url(./img/home/icon_cal_check.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 10px;
  height: 11px;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translate(0, -50%);
}

.nMvSearchSelect {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 12px;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 8px;
  padding-bottom: 8px;
  color: #070e1d;
  background-color: white;
}
@media (max-width: 767px) {
  .nMvSearchSelect {
    line-height: 1.4166666667;
  }
}
.nMvSearchSelect.-winter {
  border: 1px solid #c8ae78;
}
.nMvSearchSelect.-summer {
  border: 1px solid #3b7c3a;
}
.nMvSearchSelect::placeholder {
  color: #a5b7cc;
}
.nMvSearchSelect.-area {
  width: clamp(105px, 9.6vw, 138px);
}
@media (max-width: 767px) {
  .nMvSearchSelect.-area {
    width: 100%;
    min-width: 100%;
  }
}
.nMvSearchSelect.-night {
  width: clamp(50px, 3.9vw, 56px);
}
.nMvSearchSelect.-room {
  width: clamp(50px, 3.9vw, 56px);
}
.nMvSearchSelect.-adult {
  width: clamp(50px, 3.9vw, 56px);
}
.nMvSearchSelect.-children {
  width: clamp(50px, 3.9vw, 56px);
}

.nMvSearchInput {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 12px;
  padding-left: 12px;
  padding-right: 12px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: clamp(105px, 9.6vw, 138px);
}
@media (max-width: 767px) {
  .nMvSearchInput {
    line-height: 1.4166666667;
  }
}
.nMvSearchInput.-winter {
  border: 1px solid #c8ae78;
}
.nMvSearchInput.-summer {
  border: 1px solid #3b7c3a;
}
@media (max-width: 767px) {
  .nMvSearchInput {
    min-width: 100%;
  }
}
.nMvSearchInput::placeholder {
  color: #a5b7cc;
}
.nMvSearchInput.-date {
  width: clamp(105px, 9.6vw, 138px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .nMvSearchInput.-date {
    width: clamp(180px, 32.6vw, 250px);
    max-width: 100%;
  }
}
@media (max-width: 374px) {
  .nMvSearchInput.-date {
    width: 100%;
  }
}

.nMvSearchUnit {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 4px;
}

.nMvSearchSubmit {
  color: #070e1d;
  background-color: white;
  white-space: nowrap;
  margin-top: 20px;
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  border-radius: 12px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding-left: 27px;
  padding-right: 27px;
  padding-top: 13px;
  padding-bottom: 11px;
  cursor: pointer;
}
@media (max-width: 767px) {
  .nMvSearchSubmit {
    line-height: 1.4166666667;
  }
}
.nMvSearchSubmit.-winter {
  background: #e2d5a6;
}
.nMvSearchSubmit.-summer {
  background: #c9dfcb;
}
@media (max-width: 1300px) {
  .nMvSearchSubmit {
    margin-top: 0;
  }
}
@media (max-width: 1000px) {
  .nMvSearchSubmit {
    margin-top: 24px;
    margin-left: 0;
  }
}
.nMvSearchSubmit:hover {
  opacity: 0.8;
}

.nInfo {
  position: relative;
  padding-top: clamp(32px, 3.3vw, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nInfo {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nInfo::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.nInfoInner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 36px;
}
@media (max-width: 767px) {
  .nInfoInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nInfoHead {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(33.5px, 3.3vw, 48px);
  width: clamp(290px, 24.3vw, 350px);
  min-width: clamp(290px, 24.3vw, 350px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .nInfoHead {
    display: contents;
  }
}

.nInfoList {
  width: 728px;
  margin-top: clamp(40px, 6vw, 87px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(36px, 2.8vw, 40px);
  column-gap: clamp(8px, 2.8vw, 40px);
  align-items: stretch;
}
@media (max-width: 767px) {
  .nInfoList {
    order: 2;
  }
}

.nInfoItem {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 0) / 1);
}

.nInfoLink {
  width: 100%;
}

.nInfoWrap {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(8px, 1.1vw, 16px);
  row-gap: 4px;
  flex-wrap: wrap;
}

.nInfoTime {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #a5b7cc;
}

.nInfoTags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
}

.nInfoTag {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nInfoTag.-winter {
  color: #c8ae78;
}
.nInfoTag.-winter::before {
  background-image: url(./img/events/brackets.svg);
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nInfoTag.-winter::after {
  background-image: url(./img/events/brackets.svg);
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}
.nInfoTag.-summer {
  color: #3b7c3a;
}
.nInfoTag.-summer::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
  background-image: url(./img/events/brackets_summer.svg);
}
.nInfoTag.-summer::after {
  background-image: url(./img/events/brackets_summer.svg);
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}

.nInfoTtl {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  margin-top: clamp(8px, 1vw, 14px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media (max-width: 767px) {
  .nInfoTtl {
    line-height: 1.6875;
  }
}

@media (max-width: 767px) {
  .nInfoBtn {
    margin-top: 32px;
    order: 3;
    margin-left: auto;
  }
}

@media (max-width: 767px) {
  .nInfoTitle {
    order: 1;
  }
}

.nLive {
  margin-top: clamp(56px, 4.4vw, 64px);
  position: relative;
  padding-top: clamp(32px, 3.3vw, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nLive {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nLive::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.nLiveInner {
  width: 100%;
}
@media (max-width: 767px) {
  .nLiveInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nLiveHead {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
}
@media (max-width: 767px) {
  .nLiveHead {
    display: contents;
  }
}

.nLiveTitle {
  max-width: 58%;
}
@media (max-width: 767px) {
  .nLiveTitle {
    max-width: 100%;
    order: 1;
  }
}

@media (max-width: 767px) {
  .nLiveBtn {
    order: 3;
    margin-top: 32px;
    margin-left: auto;
  }
}

.nLiveBody {
  width: 100%;
  margin-top: calc(-100% + 100% - clamp(0px, 1.9vw, 28px));
}
@media (max-width: 767px) {
  .nLiveBody {
    order: 2;
    margin-top: 32px;
  }
}

.nLiveBodyList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nLiveBodyList {
    flex-wrap: wrap;
    row-gap: 16px;
  }
}

.nLiveBodyItem:nth-of-type(3n + 1) {
  margin-top: clamp(42px, 5.3vw, 76px);
  width: 26%;
}
@media (max-width: 767px) {
  .nLiveBodyItem:nth-of-type(3n + 1) {
    margin-top: 0;
    width: 100%;
  }
}
.nLiveBodyItem:nth-of-type(3n + 1) .nLiveBodyImg {
  width: 100%;
  aspect-ratio: 345/260;
}
.nLiveBodyItem:nth-of-type(3n + 2) {
  margin-top: clamp(42px, 5.3vw, 76px);
  width: 26%;
}
@media (max-width: 767px) {
  .nLiveBodyItem:nth-of-type(3n + 2) {
    margin-top: 0;
    width: calc(50% - 4px);
  }
}
.nLiveBodyItem:nth-of-type(3n + 2) .nLiveBodyImg {
  width: 100%;
  aspect-ratio: 345/260;
}
.nLiveBodyItem:nth-of-type(3n) {
  width: 39%;
}
@media (max-width: 767px) {
  .nLiveBodyItem:nth-of-type(3n) {
    width: calc(50% - 4px);
  }
}
.nLiveBodyItem:nth-of-type(3n) .nLiveBodyImg {
  width: 100%;
  aspect-ratio: 510/383;
}

.nLiveBodyImg {
  overflow: hidden;
}
.nLiveBodyImg iframe {
  width: 100%;
  height: 100%;
}

.nLiveBodyTtl {
  margin-top: clamp(8px, 1.1vw, 16px);
  font-size: clamp(1.3rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.nSummary {
  margin-top: clamp(56px, 4.4vw, 64px);
  position: relative;
  padding-top: clamp(32px, 3.3vw, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nSummary {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nSummary.-bottomSpace {
  margin-bottom: clamp(64px, 6.6vw, 95px);
}
.nSummary::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.nSummaryInner {
  width: 100%;
}
@media (max-width: 767px) {
  .nSummaryInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nSummaryHead {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
}
@media (max-width: 767px) {
  .nSummaryHead {
    display: contents;
  }
}

.nSummaryTitle {
  max-width: 58%;
}
@media (max-width: 767px) {
  .nSummaryTitle {
    max-width: 100%;
    order: 1;
  }
}

@media (max-width: 767px) {
  .nSummaryBtn {
    order: 3;
    margin-top: 32px;
    margin-left: auto;
  }
}

.nSummaryContainer {
  margin-top: clamp(32px, 2.8vw, 40px);
  width: 100%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 767px) {
  .nSummaryContainer {
    order: 2;
  }
}

.nSummaryList {
  width: 100vw;
  max-width: 100vw;
  overflow-x: scroll;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(16px, 2.8vw, 40px);
  padding-left: clamp(16px, 5.6vw, 80px);
  padding-right: clamp(16px, 5.6vw, 80px);
}
@media (min-width: 1441px) {
  .nSummaryList {
    padding-left: calc((100vw - 1280px) / 2);
    padding-right: calc((100vw - 1280px) / 2);
  }
}
@media (max-width: 767px) {
  .nSummaryList {
    padding-left: 16px;
    padding-right: 16px;
    margin-left: calc(-100% + 100% - 16px);
  }
}

.nSummaryItem.-quad {
  width: clamp(264px, 20.1vw, 290px);
  min-width: clamp(264px, 20.1vw, 290px);
}
.nSummaryItem.-triple {
  width: clamp(364px, 27.8vw, 400px);
  min-width: clamp(364px, 27.8vw, 400px);
}
@media (max-width: 767px) {
  .nSummaryItem.-triple {
    width: clamp(264px, 20.1vw, 290px);
    min-width: clamp(264px, 20.1vw, 290px);
  }
}

.nSummaryLink {
  width: 100%;
}

.nSummaryMedia {
  width: 100%;
  border-radius: clamp(12px, 1.1vw, 16px);
  position: relative;
  overflow: hidden;
}
.nSummaryMedia.-past::after {
  content: "終了しました";
  width: 100%;
  display: block;
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 600;
  line-height: 1.7142857143;
  color: white;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background-color: #070e1d;
  padding-top: clamp(3px, 0.3vw, 5px);
  padding-bottom: clamp(4px, 0.3vw, 5px);
}
.nSummaryMedia.-past::before {
  content: "";
  display: block;
  opacity: 0.5;
  background: #070e1d;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.nSummaryThumbnail {
  width: 100%;
}
.nSummaryThumbnail.-quad {
  aspect-ratio: 290/218;
}
@media (max-width: 767px) {
  .nSummaryThumbnail.-quad {
    aspect-ratio: 264/198;
  }
}
.nSummaryThumbnail.-triple {
  aspect-ratio: 4/3;
}
@media (max-width: 767px) {
  .nSummaryThumbnail.-triple {
    aspect-ratio: 264/198;
  }
}

.nSummaryBody {
  margin-top: clamp(17px, 1.8vw, 26px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(8px, 1.1vw, 16px);
  row-gap: 4px;
  flex-wrap: wrap;
}
.nSummaryBody.-noSpace {
  margin-top: 0;
}

.nSummaryTime {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #a5b7cc;
}

.nSummaryTags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
}

.nSummaryTag {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  color: #b89857;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nSummaryTag.-winter {
  color: #c8ae78;
}
.nSummaryTag.-winter::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nSummaryTag.-winter::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}
.nSummaryTag.-summer {
  color: #3b7c3a;
}
.nSummaryTag.-summer::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets_summer.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nSummaryTag.-summer::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets_summer.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}

.nSummaryTtl {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  margin-top: clamp(8px, 1vw, 14px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (max-width: 767px) {
  .nSummaryTtl {
    line-height: 1.6875;
  }
}

.nSummaryArrow {
  position: absolute;
  right: 0;
  z-index: 3;
  width: 72px;
  object-fit: contain;
  opacity: 1;
  transition: opacity 0.3s ease;
  pointer-events: none;
  transform: translateX(20%);
  display: none;
}
.nSummaryArrow.-quad {
  top: 66px;
}
.nSummaryArrow.-triple {
  top: 115px;
}
@media (max-width: 767px) {
  .nSummaryArrow.-triple {
    top: 66px;
  }
}
.nSummaryArrow.-hide {
  opacity: 0;
}
@media (max-width: 767px) {
  .nSummaryArrow {
    right: 16px;
  }
}

.nDiscovery {
  width: 100%;
  position: relative;
  z-index: 2;
  margin-top: clamp(56px, 10.1vw, 146px);
}

.nDiscoveryContainer {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(0px, (0vw), 0px);
  padding-bottom: clamp(34px, 4.4vw, 64px);
  padding-top: clamp(34px, 4.4vw, 64px);
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .nDiscoveryContainer {
    padding-left: 16px;
    padding-right: 0px;
  }
}
@media (max-width: 767px) {
  .nDiscoveryContainer {
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    width: 100%;
    padding-left: clamp(16px, (5.6vw), 80px);
    padding-right: clamp(16px, (5.6vw), 80px);
    padding-bottom: 0;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .nDiscoveryContainer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nDiscoveryBreadcrumb {
  padding-top: clamp(14px, 1.1vw, 16px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nDiscoveryBreadcrumb {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nDiscoveryInner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(0px, 6.9vw, 100px);
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.nDiscoveryInner::after {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background: linear-gradient(270deg, #fff 36%, rgba(255, 255, 255, 0) 59%);
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media (max-width: 767px) {
  .nDiscoveryInner::after {
    background: linear-gradient(0deg, white 10%, rgba(255, 255, 255, 0) 25%);
  }
}
@media (max-width: 767px) {
  .nDiscoveryInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
  }
}

.nDiscoveryContents {
  width: calc(100% - clamp(0px, 55.6vw, 800px) - clamp(0px, 6.9vw, 100px));
  position: relative;
}
@media (max-width: 767px) {
  .nDiscoveryContents {
    padding-top: 32px;
    padding-bottom: 32px;
    width: 100%;
  }
}

.nDiscoveryPicture {
  display: contents;
}

.nDiscoveryBg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100%;
  z-index: -1;
  max-width: none;
  filter: blur(4px);
  opacity: 0.15;
}

.nDiscoveryTtl.-en {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nDiscoveryTtl.-en {
    line-height: 1.75;
  }
}
.nDiscoveryTtl.-ja {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .nDiscoveryTtl.-ja {
    line-height: 1.4375;
  }
}
@media (max-width: 767px) {
  .nDiscoveryTtl.-ja {
    letter-spacing: 0.1em;
  }
}

.nDiscoveryTxt {
  margin-top: 24px;
}

.nDiscoveryMedia {
  width: clamp(0px, 55.6vw, 800px);
  min-width: clamp(0px, 55.6vw, 800px);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  gap: clamp(8px, 2.2vw, 32px);
}
@media (max-width: 1150px) {
  .nDiscoveryMedia {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .nDiscoveryMedia {
    width: 100%;
    min-width: 100%;
  }
}

.nDiscoveryLink {
  margin-top: clamp(24px, 3.4vw, 49px);
}

.nDiscoveryColumn {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: clamp(8px, 2.2vw, 32px);
}
@media (max-width: 1150px) {
  .nDiscoveryColumn {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
  }
}

.nDiscoveryImg {
  transition: all 0.3s ease;
}
.nDiscoveryImg.-main {
  width: 68.75%;
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 550/413;
}
@media (max-width: 1150px) {
  .nDiscoveryImg.-main {
    width: 100%;
    aspect-ratio: 344/258;
    border-top-left-radius: clamp(12px, 1.1vw, 16px);
    border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 767px) {
  .nDiscoveryImg.-main {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
.nDiscoveryImg.-sub {
  width: calc(calc(250 - clamp(8px, 2.2vw, 32px))/800 * 100%);
  border-top-left-radius: clamp(12px, 1.1vw, 16px);
  border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
  height: calc(calc(100% - clamp(8px, 2.2vw, 32px))/2);
}
@media (min-width: 1441px) {
  .nDiscoveryImg.-sub {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
@media (max-width: 1150px) {
  .nDiscoveryImg.-sub {
    width: calc(calc(100% - clamp(8px, 2.2vw, 32px))/2);
    border-radius: clamp(12px, 1.1vw, 16px);
  }
  .nDiscoveryImg.-sub:nth-of-type(even) {
    border-top-left-radius: clamp(12px, 1.1vw, 16px);
    border-bottom-left-radius: clamp(12px, 1.1vw, 16px);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media (max-width: 1150px) and (max-width: 767px) {
  .nDiscoveryImg.-sub:nth-of-type(even) {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}
@media (max-width: 767px) {
  .nDiscoveryImg.-sub {
    border-radius: clamp(12px, 1.1vw, 16px);
  }
}

.nDiscovery + .nDiscovery {
  margin-top: 0;
}

.nSpots {
  position: relative;
  padding-top: clamp(32px, 8.9vw, 128px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nSpots {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nSpots::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.nSpotsInner {
  width: 100%;
}
@media (max-width: 767px) {
  .nSpotsInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nSpotsHead {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 16px;
}
@media (max-width: 767px) {
  .nSpotsHead {
    display: contents;
  }
}

.nSpotsLinks {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .nSpotsLinks {
    width: 100%;
    margin-top: 42px;
    order: 3;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .nSpotsBtn {
    margin-left: auto;
    margin-right: auto;
    width: 250px;
    max-width: 100%;
    justify-content: space-between !important;
  }
}

.nSpotsTitle {
  max-width: 44%;
}
@media (max-width: 767px) {
  .nSpotsTitle {
    max-width: 100%;
    order: 1;
  }
}

.nSpotsBody {
  margin-top: clamp(40px, 3.3vw, 48px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  column-gap: clamp(8px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .nSpotsBody {
    order: 2;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nSpotsWrap.-large {
  width: clamp(306px, 35.4vw, 510px);
}
@media (max-width: 767px) {
  .nSpotsWrap.-large {
    width: 100%;
  }
}
.nSpotsWrap.-normal {
  width: 100%;
}

.nSpotsMedia {
  border-radius: clamp(12px, 1.1vw, 16px);
  overflow: hidden;
  width: 100%;
  position: relative;
}

.nSpotsRec {
  width: 100%;
  display: block;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background: rgba(197, 162, 23, 0.65);
  padding-top: clamp(3px, 0.3vw, 5px);
  padding-bottom: clamp(4px, 0.3vw, 5px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(3px, 0.6vw, 8px);
}

.nSpotsRecIcon {
  width: clamp(10px, 0.9vw, 13px);
  height: clamp(10px, 0.9vw, 13px);
  object-fit: contain;
}

.nSpotsRecTxt {
  font-size: clamp(1rem, (1.1vw), 1.6rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nSpotsRecTxt {
    line-height: 1.2;
  }
}

.nSpotsThumbnail {
  width: 100%;
}
.nSpotsThumbnail.-normal {
  aspect-ratio: 345/432;
}
.nSpotsThumbnail.-large {
  aspect-ratio: 510/640;
}

.nSpotsMonths {
  margin-top: clamp(16px, 1.7vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
}

.nSpotsMonth {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nSpotsMonth.-winter {
  color: #c8ae78;
}
.nSpotsMonth.-winter::before {
  background-image: url(./img/events/brackets.svg);
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nSpotsMonth.-winter::after {
  background-image: url(./img/events/brackets.svg);
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}
.nSpotsMonth.-summer {
  color: #3b7c3a;
}
.nSpotsMonth.-summer::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
  background-image: url(./img/events/brackets_summer.svg);
}
.nSpotsMonth.-summer::after {
  background-image: url(./img/events/brackets_summer.svg);
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}
.nSpotsTtl {
  margin-top: clamp(8px, 1vw, 14px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: clamp(1.4rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}

.nSpotsList {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(22px, 2.8vw, 40px);
  column-gap: clamp(8px, 2.8vw, 40px);
  width: calc(100% - clamp(306px, 35.4vw, 510px) - clamp(8px, 2.8vw, 40px));
}
@media (max-width: 767px) {
  .nSpotsList {
    width: 100%;
    margin-top: 24px;
  }
}

.nSpotsItem {
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
}

.nMap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nMap {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nMapInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.nMapMain {
  margin-top: clamp(32px, 3.3vw, 48px);
  width: 100%;
  height: clamp(400px, 50vw, 720px);
}
@media (max-width: 767px) {
  .nMapMain {
    width: 100vw;
  }
}
.nMapMain .mapboxgl-popup {
  max-width: 272px !important;
  width: 272px;
}
.nMapMain .mapboxgl-popup-tip {
  display: none;
}
.nMapMain .mapboxgl-popup-content {
  overflow: hidden;
  border: 1px solid #b89857;
  border-radius: 16px;
  padding-top: 16px;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .nMapMain .mapboxgl-popup-content {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
.nMapMain .mapboxgl-popup-close-button {
  background-color: #b89857;
  border-radius: 50%;
  width: 15px;
  height: 15px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  color: white;
  right: 6px;
  top: 6px;
}
.nMapMain .mapboxgl-popup-close-button:hover {
  background-color: #b89857;
  color: white;
  opacity: 0.8;
}
.nMapMain .mapboxgl-ctrl-logo {
  pointer-events: none;
}

.eventsSrc {
  margin-top: 12px;
  width: 100%;
  opacity: 0;
  transition: opacity 0.3s ease;
  position: relative;
}
@media (max-width: 767px) {
  .eventsSrc.-show {
    opacity: 1;
  }
}

.eventsSrcAnchor {
  position: absolute;
  bottom: -100px;
  height: 1px;
  width: 100px;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

.nMapSrcList {
  width: 100%;
}

.nMapSrcItem {
  width: 100%;
  border-radius: 16px;
  border: 1px solid #b89857;
  padding-top: 16px;
  padding-left: 14px;
  padding-right: 14px;
  overflow: hidden;
  display: none;
}
@media (max-width: 767px) {
  .nMapSrcItem.-show {
    display: block;
  }
}

.nMapSrcTtl {
  font-size: 1.6rem;
  position: relative;
  padding-bottom: 8px;
}
.nMapSrcTtl::after {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #b89857;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.nMapSrcLink {
  padding-top: 4px;
  padding-bottom: 8px;
  font-size: 1.6rem;
  text-align: center;
  column-gap: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.nMapSrcLink::before {
  content: "";
  display: block;
  width: 28px;
  min-width: 28px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
}

.nMapSrcWrap {
  text-align: left;
}

.nMapSrcPoint {
  display: none;
}

.nMapSrcMonths {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
}
.nMapSrcMonths.-empty {
  display: none;
}

.nMapSrcMonth {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  color: #b89857;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nMapSrcMonth::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nMapSrcMonth::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}

.nMapMainTags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 5px;
  flex-wrap: wrap;
  padding-left: 16px;
  padding-right: 16px;
}
.nMapMainTags.-empty {
  display: none;
}

.nMapMainTag {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  color: #b89857;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 3px;
  position: relative;
}
.nMapMainTag::before {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  margin-bottom: -2px;
}
.nMapMainTag::after {
  content: "";
  display: block;
  background-image: url(./img/events/brackets.svg);
  background-repeat: no-repeat;
  background-size: contain;
  height: 16px;
  width: 5px;
  transform: scaleX(-1);
  margin-bottom: -2px;
}

.nMapMainTtl {
  font-size: 1.6rem;
  position: relative;
  padding-bottom: 15px;
  padding-left: 16px;
  padding-right: 16px;
}
.nMapMainTtl::after {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #b89857;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.nMapMainLink {
  padding-top: 5px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 1.6rem;
  text-align: center;
  column-gap: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.nMapMainLink::before {
  content: "";
  display: block;
  width: 28px;
  min-width: 28px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
}

.nMapMainMarker {
  opacity: 0 !important;
  pointer-events: none !important;
}
.nMapMainMarker.-show {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.nMapMainMarker::before {
  content: "";
  display: block;
  background-image: url(./img/map/marker.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: clamp(36px, 4.2vw, 60px);
  height: clamp(43px, 4.9vw, 70px);
  transition: all 0.2s ease;
}
@keyframes popupAnimation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.nMapMainMarker.-active::before {
  animation: popupAnimation 0.2s ease;
  background-image: url(./img/map/marker_active.svg);
}
.nMapMainMarker svg {
  display: none;
}

.nMapOtherBtn {
  display: none !important;
  margin-top: 40px;
}
@media (max-width: 1150px) {
  .nMapOtherBtn {
    display: flex !important;
  }
}

.nMapSrcMonths:not(.-empty) + .nMapSrcTtl {
  margin-top: 8px;
}

.nMapMainTags:not(.-empty) + .nMapMainTtl {
  margin-top: 8px;
}

.nSpa {
  padding-top: clamp(12px, 5vw, 72px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (13.2vw), 190px);
  padding-right: clamp(16px, (13.2vw), 190px);
}
@media (max-width: 767px) {
  .nSpa {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nSpaInner {
  width: 100%;
}

.nSpaNav {
  width: 100%;
}

.nSpaNavTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
  text-align: center;
}
@media (max-width: 767px) {
  .nSpaNavTtl {
    line-height: 1.45;
  }
}

.nSpaNavList {
  margin-top: clamp(24px, 3.3vw, 48px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(8px, 2.8vw, 40px);
  column-gap: clamp(8px, 2.8vw, 40px);
  align-items: stretch;
}

.nSpaNavItem {
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 4) / 5);
}
@media (max-width: 1150px) {
  .nSpaNavItem {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 2) / 3);
  }
}
@media (max-width: 767px) {
  .nSpaNavItem {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
  }
}

.nSpaNavLink {
  height: 100%;
  width: 100%;
  padding-left: 8px !important;
  padding-right: 8px !important;
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.4285714286;
  letter-spacing: 0em;
  text-align: center;
}
@media (max-width: 767px) {
  .nSpaNavLink {
    line-height: 1.4166666667;
  }
}

.nSpaMain {
  width: 100%;
}

.nSpaGroup {
  margin-top: clamp(40px, 5.6vw, 80px);
  width: 100%;
  position: relative;
}
.nSpaGroup::before {
  content: "";
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.nSpaGroupHead {
  padding-top: clamp(31px, 5.6vw, 80px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(8px, 2.8vw, 40px);
  row-gap: 24px;
}
@media (max-width: 1150px) {
  .nSpaGroupHead {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nSpaGroupTitle {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.6vw, 8px);
  width: clamp(344px, 25vw, 360px);
}
@media (max-width: 1150px) {
  .nSpaGroupTitle {
    width: 100%;
  }
}

.nSpaGroupTtl.-en {
  text-transform: uppercase;
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nSpaGroupTtl.-en {
    line-height: 1.5;
  }
}
.nSpaGroupTtl.-ja {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .nSpaGroupTtl.-ja {
    line-height: 1.5;
  }
}

.nSpaGroupIntro {
  width: calc(100% - clamp(344px, 25vw, 360px) - clamp(8px, 2.8vw, 40px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(16px, 1.7vw, 24px);
}
@media (max-width: 1150px) {
  .nSpaGroupIntro {
    width: 100%;
  }
}

.nSpaGroupQuality {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 8px;
}
@media (max-width: 1150px) {
  .nSpaGroupQuality {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.nSpaGroupQuality::before {
  content: "泉質";
  display: inline-block;
  border-radius: 8px;
  background-color: #e2d5a6;
  padding-left: 10px;
  padding-right: 10px;
}

.nSpaBody {
  width: 100%;
  margin-top: clamp(32px, 5.6vw, 80px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(56px, 6.7vw, 96px);
}

.nSpaBodyRow {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nSpaBodyRow {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 24px;
  }
}

.nSpaBodyMedia {
  width: clamp(275px, 38.2vw, 550px);
  min-width: clamp(275px, 38.2vw, 550px);
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 550/502;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .nSpaBodyMedia {
    order: 1;
    width: 100%;
    min-width: 100%;
  }
}

.nSpaBodyThumbnail {
  width: 100%;
  height: 100%;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.nSpaBodyThumbnail.-both:nth-of-type(2) {
  animation: fadeIn 6s infinite;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.nSpaBodyContents {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: calc(100% - clamp(275px, 38.2vw, 550px) - clamp(20px, 2.8vw, 40px));
}
@media (max-width: 767px) {
  .nSpaBodyContents {
    order: 2;
    width: 100%;
  }
}

.nSpaBodyTtl {
  width: 100%;
  text-align: left;
}
.nSpaBodyTtl.-first {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 600;
  line-height: 1.45;
}
.nSpaBodyTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 600;
  line-height: 2;
}
@media (max-width: 767px) {
  .nSpaBodyTtl.-second {
    line-height: 1.45;
  }
}

.nSpaBodyTxt {
  margin-top: clamp(16px, 1.7vw, 24px);
}

.nSpaBodyTable {
  margin-top: clamp(16px, 1.7vw, 24px);
  width: 100%;
}
.nSpaBodyTable tbody {
  width: 100%;
  border-bottom: 1px solid #c8ae78;
}
.nSpaBodyTable tr {
  border-top: 1px solid #c8ae78;
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
}
@media (max-width: 1150px) {
  .nSpaBodyTable tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.nSpaBodyTable th {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 2;
  color: #c8ae78;
  width: 108px;
  min-width: 108px;
  padding-right: 1em;
  padding-left: 1em;
  margin-right: 16px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .nSpaBodyTable th {
    line-height: 1.7142857143;
  }
}
@media (max-width: 1150px) {
  .nSpaBodyTable th {
    padding-right: 0;
    width: 100%;
    min-width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
    text-align-last: left;
  }
}
.nSpaBodyTable td {
  width: calc(100% - 108px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 16px;
}
@media (max-width: 1150px) {
  .nSpaBodyTable td {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
  }
}
.nSpaBodyTable td a {
  text-decoration: underline;
}
.nSpaBodyTable td a[target=_blank] {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}
.nSpaBodyTable td a[target=_blank]::after {
  content: "";
  display: block;
  min-width: 26px;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
  transform: rotate(-45deg);
}

.nSpaBodyLink {
  margin-top: clamp(16px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .nSpaBodyLink {
    margin-left: auto;
  }
}
.nSpaBodyLink[target=_blank] .btnIcon {
  rotate: -45deg;
  background: none;
}
.nSpaBodyLink[target=_blank] .btnIcon img {
  filter: brightness(0) invert(1);
}
.nSpaBodyLink[target=_blank] .btnIcon::before {
  content: "";
  display: block;
  width: clamp(35px, 2.7vw, 39px);
  min-width: clamp(35px, 2.7vw, 39px);
  height: clamp(33px, 2.5vw, 36px);
  min-height: clamp(33px, 2.5vw, 36px);
  background-color: #c8ae78;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: -1;
}
.nSpaBodyLink[target=_blank]:hover .btnIcon img {
  filter: brightness(0) invert(0);
}
.nSpaBodyLink[target=_blank]:hover .btnIcon::before {
  background-color: white;
}

.nSpaCommon {
  margin-top: clamp(65px, 8.3vw, 120px);
  padding-top: clamp(40px, 5.6vw, 80px);
  width: 100%;
  position: relative;
  padding-left: clamp(0px, 4.9vw, 70px);
  padding-right: clamp(0px, 4.9vw, 70px);
}
@media (max-width: 1300px) {
  .nSpaCommon {
    padding-left: 0;
    padding-right: 0;
  }
}
.nSpaCommon::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.nSpaCommonBody {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nSpaCommonBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column-reverse;
    row-gap: 24px;
  }
}

.nSpaCommonContents {
  width: clamp(310.7px, 30.8vw, 444px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media (max-width: 767px) {
  .nSpaCommonContents {
    width: 100%;
  }
}

.nSpaCommonTxt {
  margin-top: clamp(16px, 2.8vw, 40px);
}

.nSpaCommonMiddle {
  margin-top: 16px;
  width: 100%;
  border-top: 1px solid #a5b7cc;
  border-bottom: 1px solid #a5b7cc;
  padding-top: clamp(20px, 2.6vw, 37px);
  padding-bottom: clamp(20px, 2.2vw, 32px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.nSpaCommonTag {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(28px, 2.8vw, 40px);
}

.nSpaCommonDesc {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
  column-gap: 5px;
}

.nSpaCommonPrice {
  font-size: clamp(3.2rem, (2.2vw), 3.2rem);
  font-weight: 600;
  line-height: 1.21875;
  white-space: nowrap;
  font-family: "Inter";
}

.nSpaCommonUnit {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}

.nSpaCommonDetail {
  text-align: center;
}

.nSpaCommonNote {
  font-size: 1.2rem;
  margin-top: clamp(8px, 1.1vw, 16px);
  padding-left: clamp(0px, 0.9vw, 13px);
  padding-right: clamp(0px, 0.9vw, 13px);
}
.nSpaCommonNote span {
  color: #c8ae78;
}

.nSpaCommonImg {
  width: calc(100% - clamp(310.7px, 30.8vw, 444px) - clamp(25.2px, 2.5vw, 36px));
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 444/360;
}
@media (max-width: 767px) {
  .nSpaCommonImg {
    width: 100%;
    aspect-ratio: 344/279;
  }
}

.nSpaCommonPlaces {
  margin-top: clamp(24px, 4.2vw, 60px);
  width: 100%;
  border-radius: 16px;
  background: rgba(165, 183, 204, 0.3);
  padding: clamp(16px, 2.2vw, 32px);
}

.nSpaCommonTtl.-first {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.4375;
}
@media (max-width: 767px) {
  .nSpaCommonTtl.-first {
    line-height: 1.45;
  }
}
.nSpaCommonTtl.-second {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  white-space: nowrap;
}
.nSpaCommonTtl.-third {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .nSpaCommonTtl.-third {
    line-height: 1.5;
  }
}
.nSpaCommonTtl.-fourth {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767px) {
  .nSpaCommonTtl.-fourth {
    line-height: 1.5;
  }
}

.nSpaCommonList {
  width: 100%;
  margin-top: clamp(16px, 1.7vw, 24px);
  padding-top: clamp(16px, 1.7vw, 24px);
  border-top: 1px solid #c8ae78;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(16px, 1.7vw, 24px);
  column-gap: clamp(16px, 1.7vw, 24px);
}

.nSpaCommonItem {
  width: calc((100% - clamp(16px, 1.7vw, 24px) * 2) / 3);
}
@media (max-width: 1300px) {
  .nSpaCommonItem {
    width: calc((100% - clamp(16px, 1.7vw, 24px) * 1) / 2);
  }
}
@media (max-width: 767px) {
  .nSpaCommonItem {
    width: calc((100% - clamp(16px, 1.7vw, 24px) * 0) / 1);
  }
}

.nSpaCommonPlace {
  margin-top: 4px;
}

.nNature {
  padding-top: 16px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  padding-bottom: clamp(40px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .nNature {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nNatureInner {
  margin-top: clamp(56px, 5.6vw, 80px);
}

.nNatureLinks {
  width: 100%;
  margin-top: clamp(36px, 3.3vw, 48px);
}

.nNatureLinksList {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nNatureLinksList {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 8px;
  }
}

.nNatureLinksItem {
  width: calc(50% - clamp(4px, 1.4vw, 20px));
  display: flex;
}
@media (max-width: 767px) {
  .nNatureLinksItem {
    width: 100%;
  }
}

.nNatureLinksPicture {
  display: contents;
}

.nNatureLinksLink {
  width: 100%;
  position: relative;
  border-radius: clamp(16px, 1.7vw, 24px);
  overflow: hidden;
}
.nNatureLinksLink:hover {
  opacity: 1;
}
.nNatureLinksLink:hover .nNatureLinksImg {
  transform: scale(1.05);
}
.nNatureLinksLink::after {
  position: absolute;
  right: clamp(16px, 2.8vw, 40px);
  bottom: clamp(12px, 1.7vw, 25px);
  content: "";
  display: block;
  width: clamp(20px, 2.5vw, 36px);
  min-width: clamp(20px, 2.5vw, 36px);
  height: clamp(17px, 2.2vw, 32px);
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 35%;
  background-position: center;
  border-radius: 50%;
}
.nNatureLinksLink.-green::after {
  background-color: #739d5c;
}
.nNatureLinksLink.-brown::after {
  background-color: #b89857;
}

.nNatureLinksInner {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  color: white;
  padding-left: clamp(16px, 2.8vw, 40px);
  padding-bottom: clamp(12px, 1.7vw, 25px);
  padding-right: clamp(36px, 5.3vw, 76px);
}

.nNatureLinksTtl.-en {
  font-size: clamp(1.8rem, (1.7vw), 2.4rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.nNatureLinksTtl.-ja {
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 500;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
}

.nNatureLinksImg {
  width: 100%;
  aspect-ratio: 620/160;
  transition: transform 0.3s ease;
  transform: scale(1);
}
@media (max-width: 767px) {
  .nNatureLinksImg {
    max-height: 130px;
    min-height: 88px;
    aspect-ratio: 344/89;
  }
}

.nSeasonal {
  padding-top: clamp(33px, 3.3vw, 48px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nSeasonal {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.nSeasonal.-bottom {
  padding-bottom: clamp(64px, 6.7vw, 96px);
}

.nSeasonalInner {
  width: 100%;
}

.nSeasonalTtl.-en {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .nSeasonalTtl.-en {
    line-height: 1.5;
  }
}
.nSeasonalTtl.-ja {
  margin-top: clamp(0px, 0.8vw, 12px);
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .nSeasonalTtl.-ja {
    line-height: 1.5;
  }
}

.nSeasonalBody {
  width: 100%;
  margin-top: clamp(40px, 7.5vw, 108px);
}

.nSeasonalBodyRow {
  width: 100%;
}
.nSeasonalBodyRow.-normal {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nSeasonalBodyRow.-normal {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 60px;
  }
}
.nSeasonalBodyRow.-reverse {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
}
@media (max-width: 767px) {
  .nSeasonalBodyRow.-reverse {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 60px;
  }
}

.nSeasonalSlider {
  width: clamp(330px, 38.2vw, 550px);
}
@media (max-width: 767px) {
  .nSeasonalSlider {
    width: 100%;
  }
}
.nSeasonalSlider .splide__pagination {
  bottom: 0;
  transform: translateY(calc(100% + 16px));
  column-gap: 4px;
}
.nSeasonalSlider .splide__pagination__page {
  width: 28px;
  height: 28px;
  margin: 0;
  background: none !important;
  position: relative;
}
.nSeasonalSlider .splide__pagination__page::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: 2;
}
.nSeasonalSlider .splide__pagination__page::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform-origin: center;
}
.nSeasonalSlider .splide__pagination__page.is-active {
  transform: scale(1);
}
.nSeasonalSlider .splide__pagination__page.is-active::before {
  transform: translate(-50%, -50%) scale(1);
}
.nSeasonalSlider.-green .splide__pagination__page::before {
  background-color: rgba(191, 205, 182, 0.5);
}
.nSeasonalSlider.-green .splide__pagination__page::after {
  background-color: rgba(191, 205, 182, 0.5);
}
.nSeasonalSlider.-brown .splide__pagination__page::before {
  background-color: rgba(234, 228, 217, 0.5);
}
.nSeasonalSlider.-brown .splide__pagination__page::after {
  background-color: rgba(201, 193, 178, 0.5);
}
.nSeasonalSlider.-blue .splide__pagination__page::before {
  background-color: rgba(165, 183, 204, 0.3);
}
.nSeasonalSlider.-blue .splide__pagination__page::after {
  background-color: rgba(165, 183, 204, 0.3);
}

.nSeasonalSliderInner {
  overflow: hidden;
  border-radius: clamp(12px, 1.1vw, 16px);
  width: 100%;
}

.nSeasonalSliderImg {
  aspect-ratio: 1/1;
}

.nSeasonalBodyContents {
  padding-top: clamp(22.4px, 2.2vw, 32px);
  width: calc(100% - clamp(330px, 38.2vw, 550px) - clamp(35px, 4.9vw, 70px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(24px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .nSeasonalBodyContents {
    padding-top: 0;
    width: 100%;
  }
}

.nSeasonalBodyTtl.-first {
  border-radius: 8px;
  display: inline-block;
  font-size: clamp(1.2rem, (0.8vw), 1.2rem);
  font-weight: 700;
  line-height: 1.4166666667;
  text-align: center;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 8px;
  padding-bottom: 8px;
  color: white;
}
.nSeasonalBodyTtl.-green {
  background-color: #3b7c3a;
}
.nSeasonalBodyTtl.-brown {
  background-color: #b89857;
}
.nSeasonalBodyTtl.-blue {
  background-color: #5d80a9;
}
.nSeasonalBodyTtl.-second {
  margin-top: 16px;
  font-size: clamp(2.4rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
}

.nSeasonalBodyTxt {
  margin-top: 16px;
}

.nSeasonalBodyLink {
  margin-top: clamp(16px, 1.7vw, 24px);
}

.nSeasonalBodyRow + .nSeasonalBodyRow {
  margin-top: clamp(40px, 7.5vw, 108px);
}

.nScenery {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  padding-top: clamp(14px, 1.1vw, 16px);
}
@media (max-width: 767px) {
  .nScenery {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nSceneryBreadcrumb {
  width: 100%;
}

.nSceneryInner {
  margin-top: clamp(40px, 5.6vw, 80px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: 100%;
}

.nSceneryMedia {
  width: 100vw;
  min-width: 100vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
}

.nSceneryImg {
  width: 100%;
  height: clamp(360px, 55.6vw, 800px);
  scale: 1.1;
  transition: all 1.4s ease 0.3s;
  opacity: 0;
}
.nSceneryImg.-active {
  scale: 1;
  opacity: 1;
}

.nSceneryBody {
  margin-top: clamp(40px, 5.6vw, 80px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  gap: 32px;
}
@media (max-width: 767px) {
  .nSceneryBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.nSceneryTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
  min-width: clamp(259px, 36vw, 518px);
}
@media (max-width: 767px) {
  .nSceneryTtl {
    line-height: 1.45;
  }
}
@media (max-width: 767px) {
  .nSceneryTtl {
    width: 100%;
    min-width: 100%;
  }
}

.nSceneryTxt {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2.5714285714;
}
@media (max-width: 767px) {
  .nSceneryTxt {
    line-height: 1.7142857143;
  }
}

.nView {
  margin-top: clamp(56px, 11.1vw, 160px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .nView {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1150px) {
  .nView {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nViewInner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  row-gap: clamp(80px, 11.1vw, 160px);
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 1150px) {
  .nViewInner {
    padding-left: 0;
    padding-right: 0;
  }
}

.nViewRow {
  width: 100%;
}

.nViewMain {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .nViewMain {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 24px;
  }
}

.nViewMedia {
  width: clamp(255px, 35.4vw, 510px);
  min-width: clamp(255px, 35.4vw, 510px);
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 510/426;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .nViewMedia {
    width: 100%;
    min-width: 100%;
  }
}

.nViewContainer {
  width: clamp(255px, 35.4vw, 510px);
  min-width: clamp(255px, 35.4vw, 510px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(10px, 1.1vw, 16px);
}
@media (max-width: 767px) {
  .nViewContainer {
    width: 100%;
    min-width: 100%;
  }
}

.nViewPagination {
  width: 100%;
}

@media (max-width: 767px) {
  .nViewPaginationInner {
    overflow: visible;
  }
}

.nViewPaginationItem {
  width: 97px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
}
.nViewPaginationItem.is-active {
  border: 1px solid #070e1d !important;
}

.nViewPaginationImg {
  width: 100%;
  aspect-ratio: 97/73;
}

.nViewSlider {
  width: 100%;
  position: relative;
  border-radius: clamp(12px, 1.1vw, 16px);
  overflow: hidden;
}

.nViewSliderImg {
  aspect-ratio: 510/426;
}

.nViewThumbnail {
  width: 100%;
  height: 100%;
  border-radius: clamp(16px, 1.7vw, 24px);
}

.nViewContents {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: calc(100% - clamp(255px, 35.4vw, 510px) - clamp(28px, 2.8vw, 40px));
}
@media (max-width: 767px) {
  .nViewContents {
    width: 100%;
  }
}

.nViewTtl {
  width: 100%;
  text-align: left;
}
.nViewTtl.-first {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 600;
  line-height: 1.45;
}
.nViewTtl.-second {
  margin-top: clamp(0px, 0.6vw, 8px);
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 600;
  line-height: 2;
}
@media (max-width: 767px) {
  .nViewTtl.-second {
    line-height: 1.45;
  }
}

.nViewSeason {
  margin-top: clamp(16px, 1.7vw, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}
.nViewSeason dt {
  border-radius: 8px;
  padding-left: clamp(10px, 1.3vw, 18px);
  padding-right: clamp(10px, 1.3vw, 18px);
  padding-top: clamp(1px, 0.1vw, 2px);
  padding-bottom: clamp(2px, 0.2vw, 3px);
  color: white;
  text-align: center;
  white-space: nowrap;
}
.nViewSeason.-green dt {
  background-color: #739d5c;
}
.nViewSeason.-green dd {
  color: #739d5c;
}
.nViewSeason.-brown dt {
  background-color: #b89857;
}
.nViewSeason.-brown dd {
  color: #b89857;
}

.nViewTxt {
  margin-top: clamp(16px, 1.7vw, 24px);
}

.nViewTable {
  margin-top: clamp(16px, 1.7vw, 24px);
  width: 100%;
}
.nViewTable tbody {
  width: 100%;
}
.nViewTable tbody.-green {
  border-bottom: 1px solid #739d5c;
}
.nViewTable tbody.-brown {
  border-bottom: 1px solid #b89857;
}
.nViewTable tr {
  width: 100%;
  padding-top: 8px;
  padding-bottom: 8px;
}
.nViewTable tr.-green {
  border-top: 1px solid #739d5c;
}
.nViewTable tr.-brown {
  border-top: 1px solid #b89857;
}
@media (max-width: 1150px) {
  .nViewTable tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}
.nViewTable th {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 700;
  line-height: 2;
  width: 108px;
  min-width: 108px;
  padding-right: 1em;
  padding-left: 1em;
  margin-right: 16px;
  text-align: justify;
  text-align-last: justify;
}
@media (max-width: 767px) {
  .nViewTable th {
    line-height: 1.7142857143;
  }
}
.nViewTable th.-green {
  color: #739d5c;
}
.nViewTable th.-brown {
  color: #b89857;
}
@media (max-width: 1150px) {
  .nViewTable th {
    padding-right: 0;
    width: 100%;
    min-width: 100%;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
    text-align-last: left;
  }
}
.nViewTable td {
  width: calc(100% - 108px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 16px;
}
@media (max-width: 1150px) {
  .nViewTable td {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
  }
}
.nViewTable td a {
  text-decoration: underline;
}
.nViewTable td a[target=_blank] {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}
.nViewTable td a[target=_blank]::after {
  content: "";
  display: block;
  min-width: 26px;
  width: 26px;
  height: 26px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  border-radius: 50%;
  transform: rotate(-45deg);
}
.nViewTable td.-green a[target=_blank]::after {
  background-color: #739d5c;
}
.nViewTable td.-brown a[target=_blank]::after {
  background-color: #b89857;
}

.nViewLinks {
  margin-top: clamp(16px, 2.2vw, 32px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(10px, 1.1vw, 16px);
}

.nViewLink[target=_blank] .btnIcon {
  position: relative;
}
.nViewLink[target=_blank] .btnIcon.-green {
  background-color: #739d5c;
}
.nViewLink[target=_blank] .btnIcon.-brown {
  background-color: #b89857;
}
.nViewLink[target=_blank] .btnIcon img {
  rotate: -45deg;
}
.nViewLink[target=_blank]:hover .btnIcon {
  background: white;
}
.nViewLink[target=_blank]:hover .btnIcon::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  background-image: url(./img/common/icon_arrow.svg);
}
.nViewLink[target=_blank]:hover .btnIcon img {
  opacity: 0;
}

.nViewSub {
  margin-top: clamp(24px, 2.2vw, 32px);
  width: 100%;
}

.nViewSubTtl {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
}

.nViewSubScroll {
  margin-top: clamp(24px, 2.2vw, 32px);
  width: 100%;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.nViewSubList {
  width: 100vw;
  max-width: 100vw;
  overflow-x: scroll;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(16px, 2.8vw, 40px);
  padding-left: clamp(16px, 13.2vw, 190px);
  padding-right: clamp(16px, 13.2vw, 190px);
}
@media (min-width: 1441px) {
  .nViewSubList {
    padding-left: calc((100vw - 1060px) / 2);
    padding-right: calc((100vw - 1060px) / 2);
  }
}
@media (max-width: 1150px) {
  .nViewSubList {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.nViewSubItem {
  width: clamp(264px, 20.1vw, 290px);
  min-width: clamp(264px, 20.1vw, 290px);
}

.nViewSubMedia {
  width: 100%;
  border-radius: clamp(12px, 1.1vw, 16px);
  position: relative;
  overflow: hidden;
  aspect-ratio: 290/200;
  position: relative;
}

@keyframes sliderDouble {
  0% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes sliderTriple {
  0% {
    opacity: 1;
  }
  26.5% {
    opacity: 1;
  }
  33.3% {
    opacity: 0;
  }
  93.3% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.nViewSubThumbnail {
  width: 100%;
  border-radius: clamp(12px, 1.1vw, 16px);
  aspect-ratio: 290/200;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.nViewSubThumbnail:nth-of-type(1) {
  z-index: 2;
}
.nViewSubThumbnail:nth-of-type(2) {
  z-index: 1;
}
.nViewSubThumbnail:nth-of-type(3) {
  z-index: 0;
}
.nViewSubThumbnail:nth-of-type(4) {
  z-index: -1;
}
.nViewSubThumbnail:nth-of-type(5) {
  z-index: -2;
}
.nViewSubThumbnail:nth-of-type(6) {
  z-index: -3;
}
.nViewSubThumbnail:nth-of-type(7) {
  z-index: -4;
}
.nViewSubThumbnail:nth-of-type(8) {
  z-index: -5;
}
.nViewSubThumbnail:nth-of-type(9) {
  z-index: -6;
}
.nViewSubThumbnail:nth-of-type(10) {
  z-index: -7;
}
.nViewSubThumbnail.-double:nth-of-type(1) {
  animation: sliderDouble 5s infinite;
}
.nViewSubThumbnail.-double:nth-of-type(2) {
  animation: sliderDouble 5s infinite 2.5s;
}
.nViewSubThumbnail.-triple:nth-of-type(1) {
  animation: sliderTriple 7.5s infinite;
}
.nViewSubThumbnail.-triple:nth-of-type(2) {
  animation: sliderTriple 7.5s infinite 2.5s;
}
.nViewSubThumbnail.-triple:nth-of-type(3) {
  animation: sliderTriple 7.5s infinite 5s;
}

.nViewSubTime {
  margin-top: 16px;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.2142857143;
  color: #739d5c;
}

.nViewSubTxt {
  margin-top: 4px;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .nViewSubTxt {
    line-height: 1.7142857143;
  }
}

.nViewSubArrow {
  position: absolute;
  right: 0;
  z-index: 3;
  width: 72px;
  object-fit: contain;
  opacity: 1;
  transition: opacity 0.3s ease;
  pointer-events: none;
  transform: translateX(20%);
  display: none;
}
.nViewSubArrow.-quad {
  top: 66px;
}
.nViewSubArrow.-triple {
  top: 115px;
}
@media (max-width: 767px) {
  .nViewSubArrow.-triple {
    top: 66px;
  }
}
.nViewSubArrow.-hide {
  opacity: 0;
}
@media (max-width: 767px) {
  .nViewSubArrow {
    right: 16px;
  }
}

.nViewBodyLink {
  margin-top: clamp(64px, 6.7vw, 96px);
}

.cam {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .cam {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.camBreadcrumb {
  width: 100%;
  margin-top: clamp(14px, 1.1vw, 16px);
}

.camInner {
  width: 100%;
}

.camIntro {
  margin-top: clamp(48px, 5.1vw, 74px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.camIntroTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
  text-align: center;
}
@media (max-width: 767px) {
  .camIntroTtl {
    line-height: 1.45;
  }
}

.camIntroTxt {
  margin-top: clamp(16px, 3.3vw, 48px);
  max-width: 620px;
  width: 100%;
}

.camIntroList {
  margin-top: clamp(32px, 3.3vw, 48px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(28px, 2.8vw, 40px);
  row-gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  .camIntroItem {
    width: 100%;
  }
}

.camIntroLink {
  min-width: clamp(142.7px, 14.2vw, 204px);
}
@media (max-width: 767px) {
  .camIntroLink {
    min-width: 100%;
    width: 100%;
  }
}

.camBody {
  width: 100%;
}

.camGroup {
  width: 100%;
  position: relative;
  margin-top: clamp(48px, 5.6vw, 80px);
}
.camGroup::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.camBodyTtl.-first {
  padding-top: clamp(33px, 4.5vw, 65px);
  text-align: center;
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .camBodyTtl.-first {
    line-height: 1.45;
  }
}
.camBodyTtl.-second {
  font-size: clamp(1.4rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}
@media (max-width: 767px) {
  .camBodyTtl.-second {
    line-height: 1.7142857143;
  }
}

.camBodyList {
  margin-top: clamp(33px, 4.5vw, 65px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(22px, 3.2vw, 46px);
  column-gap: clamp(8px, 2.8vw, 40px);
}

.camBodyItem {
  width: calc((100% - clamp(8px, 2.8vw, 40px) * 2) / 3);
}
@media (max-width: 767px) {
  .camBodyItem {
    width: calc((100% - clamp(8px, 2.8vw, 40px) * 1) / 2);
  }
}

.camBodyData {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4/3;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.camBodyData iframe {
  aspect-ratio: 4/3;
}

.camBodyBtn {
  margin-top: 16px;
  width: 100%;
  cursor: pointer;
  text-align: left;
  color: #070e1d;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 8px;
}
.camBodyBtn:hover {
  opacity: 0.7;
}

.camBodyIcon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: clamp(24px, 1.9vw, 28px);
  min-width: clamp(24px, 1.9vw, 28px);
  height: clamp(20px, 1.7vw, 24px);
  border: 1px solid #b89857;
  border-radius: clamp(10px, 0.8vw, 12px);
  margin-top: clamp(4.1px, 0.4vw, 6px);
  pointer-events: none;
}
.camBodyIcon::before {
  content: "";
  display: block;
  width: clamp(8px, 0.7vw, 10px);
  height: clamp(8px, 0.7vw, 10px);
  background-image: url(./img/live/icon_plus.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.camBodyTxt {
  display: none;
}

.camModal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow-y: scroll;
  z-index: 250;
  width: 1060px;
  max-width: calc(100% - 32px);
  max-height: 80vh;
  border-radius: clamp(12px, 1.1vw, 16px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  background-color: white;
}
.camModal.-active {
  opacity: 1;
  pointer-events: auto;
}

.camModalInner {
  padding-top: clamp(16px, 4.4vw, 64px);
  padding-left: clamp(16px, 4.9vw, 70px);
  padding-right: clamp(16px, 4.9vw, 70px);
  padding-bottom: clamp(16px, 4.4vw, 64px);
  position: relative;
}

.camModalBg {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 100vh;
  background-color: #070e1d;
  opacity: 0;
  z-index: 240;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.camModalBg.-active {
  opacity: 0.3;
  pointer-events: auto;
}

.camModalTtl {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
  padding-right: 2em;
}
@media (max-width: 767px) {
  .camModalTtl {
    line-height: 1.45;
  }
}

.camModalTxt {
  margin-top: clamp(8px, 1.1vw, 16px);
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 2;
}
@media (max-width: 767px) {
  .camModalTxt {
    line-height: 2;
  }
}

.camModalData {
  margin-top: clamp(16px, 2.2vw, 32px);
  width: 100%;
}
.camModalData iframe {
  width: 100%;
  height: clamp(180px, 34.7vw, 500px);
}

.camModalClose {
  position: absolute;
  top: clamp(16px, 2.8vw, 40px);
  right: clamp(16px, 2.8vw, 40px);
  width: clamp(32px, 3.9vw, 56px);
  aspect-ratio: 1/1;
  cursor: pointer;
}
.camModalClose:hover {
  opacity: 0.7;
}
.camModalClose img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.social {
  margin-top: 52px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (13.2vw), 190px);
  padding-right: clamp(16px, (13.2vw), 190px);
  position: relative;
  padding-top: clamp(32px, 4.4vw, 64px);
}
@media (max-width: 767px) {
  .social {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1150px) {
  .social {
    margin-left: auto;
    margin-right: auto;
    max-width: 1440px;
    width: 100%;
    padding-left: clamp(16px, (5.6vw), 80px);
    padding-right: clamp(16px, (5.6vw), 80px);
  }
}
@media (max-width: 1150px) and (max-width: 767px) {
  .social {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.social::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.socialInner {
  width: 100%;
}

.socialHead {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 16px;
}

.socialHeadTtl {
  font-size: clamp(3.2rem, (2.2vw), 3.2rem);
  font-weight: 400;
  line-height: 1.25;
  font-family: "Fjalla One";
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
}
.socialHeadTtl::after {
  content: "";
  display: block;
  width: 12px;
  height: 6px;
  background-image: url(./img/home/icon_arrow_sns.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 16px;
}

.socialHeadList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(10px, 1.1vw, 16px);
}

.socialHeadIcon {
  width: 24px;
  aspect-ratio: 1/1;
  object-fit: contain;
}

.socialBody {
  margin-top: clamp(20px, 2.5vw, 36px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
}
@media (max-width: 767px) {
  .socialBody {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 16px;
  }
}

.socialBodyFb {
  width: clamp(253.8px, 29.4vw, 423px);
  border-radius: clamp(12px, 1.1vw, 16px);
  overflow-y: scroll;
  height: clamp(406px, 41.4vw, 596px);
}
@media (max-width: 1150px) {
  .socialBodyFb {
    height: clamp(406px, 56.5vw, 650px);
  }
}
@media (max-width: 767px) {
  .socialBodyFb {
    width: 100%;
    height: 546px;
  }
}

.socialBodyInstagram {
  width: calc(100% - clamp(253.8px, 29.4vw, 423px) - clamp(16px, 2.8vw, 40px));
  z-index: 1;
  position: relative;
}
@media (max-width: 767px) {
  .socialBodyInstagram {
    width: 100%;
  }
}
.socialBodyInstagram #sb_instagram #sbi_images {
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(16px, 2.8vw, 40px);
  flex-wrap: wrap;
  width: 100%;
  row-gap: clamp(16px, 2.8vw, 40px);
}
.socialBodyInstagram #sb_instagram #sbi_images .sbi_item {
  border-radius: clamp(12px, 1.1vw, 16px);
  overflow: hidden;
  width: calc((100% - clamp(16px, 2.8vw, 40px) * 2) / 3);
}
@media (max-width: 767px) {
  .socialBodyInstagram #sb_instagram #sbi_images .sbi_item {
    width: calc((100% - clamp(16px, 2.8vw, 40px) * 1) / 2);
  }
  .socialBodyInstagram #sb_instagram #sbi_images .sbi_item:nth-last-of-type(1) {
    display: none;
  }
  .socialBodyInstagram #sb_instagram #sbi_images .sbi_item:nth-last-of-type(2) {
    display: none;
  }
  .socialBodyInstagram #sb_instagram #sbi_images .sbi_item:nth-last-of-type(3) {
    display: none;
  }
}
.socialBodyInstagram #sb_instagram.sbi_small .sbi_type_carousel .sbi_photo_wrap .fa-clone {
  display: none !important;
}
.socialBodyInstagram #sb_instagram .sbi_photo_wrap {
  position: relative;
  overflow: hidden;
  position: relative;
}
.socialBodyInstagram #sb_instagram .sbi_photo_wrap::after {
  display: block;
  padding-top: 100%;
  content: "";
}
@media (max-width: 767px) {
  .socialBodyInstagram #sb_instagram .sbi_photo_wrap {
    position: relative;
    overflow: hidden;
  }
  .socialBodyInstagram #sb_instagram .sbi_photo_wrap::after {
    display: block;
    padding-top: 100%;
    content: "";
  }
}
.socialBodyInstagram #sb_instagram .sbi_photo {
  width: 100%;
  height: 100% !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.path {
  margin-top: clamp(160px, 13.9vw, 200px);
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  padding-top: clamp(40px, 8.9vw, 128px);
  position: relative;
}
@media (max-width: 767px) {
  .path {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.path::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.pathInner {
  width: 100%;
}

.pathBody {
  width: 100%;
}

.pathBodyList {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(16px, 2.8vw, 40px);
  column-gap: clamp(16px, 2.8vw, 40px);
}

.pathBodyItem {
  width: calc((100% - clamp(16px, 2.8vw, 40px) * 1) / 2);
  border-radius: clamp(16px, 1.7vw, 24px);
  overflow: hidden;
}
@media (max-width: 767px) {
  .pathBodyItem {
    width: calc((100% - clamp(16px, 2.8vw, 40px) * 0) / 1);
  }
}

.pathBodyLink {
  width: 100%;
  position: relative;
}
.pathBodyLink::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(7, 14, 29, 0) 42%, rgba(7, 14, 29, 0.6) 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}

.pathBodyImg {
  width: 100%;
  aspect-ratio: 620/160;
}

.pathBodyContents {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-left: clamp(16px, 2.8vw, 40px);
  padding-right: clamp(16px, 2.8vw, 40px);
  padding-bottom: clamp(0px, 1.7vw, 24px);
  padding-top: clamp(16px, 2.8vw, 40px);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: row;
  z-index: 2;
}
.pathBodyContents::after {
  content: "";
  display: block;
  min-width: clamp(19px, 2.5vw, 36px);
  width: clamp(19px, 2.5vw, 36px);
  height: clamp(17px, 2.2vw, 32px);
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-color: #c8ae78;
  border-radius: 50%;
}

.pathBodyWrap {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.1vw, 2px);
}

.pathBodyTtl {
  color: white;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.pathBodyTtl.-en {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 400;
  line-height: 1.25;
  font-family: "Fjalla One";
}
.pathBodyTtl.-ja {
  font-size: clamp(1.2rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 1.4375;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .pathBodyTtl.-ja {
    line-height: 1.4166666667;
  }
}

.pathOther {
  margin-top: clamp(33.5px, 3.3vw, 48px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: clamp(16px, 1.7vw, 24px);
  flex-wrap: wrap;
}

.contact {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (13.2vw), 190px);
  padding-right: clamp(16px, (13.2vw), 190px);
  padding-top: clamp(14px, 1.1vw, 16px);
  position: relative;
}
@media (max-width: 767px) {
  .contact {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.contact .wpcf7-response-output {
  display: none;
}

.contactInner {
  width: 100%;
}

.contactIntro {
  margin-top: clamp(47px, 6.6vw, 95px);
  width: 100%;
  opacity: 1;
  transition: all 0.3s ease;
}
.contactIntro.-hide {
  opacity: 0;
}

.contactIntroGroup {
  transition: all 0.1s ease;
  opacity: 1;
  position: relative;
}
.contactIntroGroup.-willHide, .contactIntroGroup.-sent {
  margin-bottom: clamp(24px, 3.8vw, 55px);
  padding-bottom: clamp(24px, 3.8vw, 55px);
  border-bottom: 1px solid rgba(165, 183, 204, 0.3);
}
.contactIntroGroup.-hide {
  opacity: 0;
}

.contactIntroTtl {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
  position: relative;
  padding-left: 28px;
}
.contactIntroTtl::before {
  position: absolute;
  top: 15%;
  left: 0;
}
.contactIntroTtl.-phone::before {
  transform: translateY(10%);
  content: "";
  display: inline-block;
  width: 20px;
  min-width: 20px;
  height: 20px;
  background-image: url(./img/contact/icon_phone.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.contactIntroTtl.-email::before {
  transform: translateY(22%);
  content: "";
  display: inline-block;
  width: 20px;
  min-width: 20px;
  height: 20px;
  background-image: url(./img/contact/icon_mail.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.contactIntroTtl.-sent::before {
  transform: translateY(22%);
  content: "";
  display: inline-block;
  width: 20px;
  min-width: 20px;
  height: 20px;
  background-image: url(./img/contact/icon_sent.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.contactProgress {
  width: 100%;
  margin-top: clamp(32px, 3.9vw, 56px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.contactProgressList {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  width: 260px;
  max-width: 80%;
  position: relative;
}
.contactProgressList::before {
  content: "";
  display: block;
  width: 50%;
  height: 1px;
  background-color: #a5b7cc;
  position: absolute;
  top: 12px;
  left: 0;
  z-index: -1;
}
.contactProgressList::after {
  content: "";
  display: block;
  width: 50%;
  height: 1px;
  background-color: #a5b7cc;
  position: absolute;
  top: 12px;
  right: 0;
  z-index: -1;
}
.contactProgressList.-active::before {
  background-color: #070e1d;
}

.contactProgressItem {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.contactProgressNum {
  text-align: center;
  font-weight: 700;
  font-size: 1.4rem;
  color: white;
  width: 32px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  border-radius: 24px;
  background: #a5b7cc;
}
.contactProgressNum.-active {
  background: #070e1d;
}

.contactProgressTxt {
  text-align: center;
  font-weight: 700;
  font-size: 1.4rem;
  color: #a5b7cc;
}
.contactProgressTxt.-active {
  color: #070e1d;
}

.contactIntroInner {
  margin-top: clamp(56px, 5.6vw, 80px);
  padding-left: clamp(0px, 7.8vw, 113px);
  padding-right: clamp(0px, 7.8vw, 113px);
  width: 100%;
}
@media (max-width: 1000px) {
  .contactIntroInner {
    padding-left: 0;
    padding-right: 0;
  }
}

.contactIntroTxt {
  margin-top: 16px;
}
.contactIntroTxt.-red {
  color: #f26062;
  font-weight: 500;
}
.contactIntroTxt + .contactIntroTxt {
  margin-top: 0;
}

.contactIntroContainer {
  margin-top: clamp(0px, 2.6vw, 38px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(11.2px, 1.1vw, 16px);
}

.contactIntroPhone {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(3px, 0.8vw, 11px);
}

.contactIntroTel {
  font-size: clamp(1.6rem, (1.7vw), 2.4rem);
  font-weight: 400;
  line-height: 1.25;
  font-family: "Fjalla One";
}
@media (max-width: 767px) {
  .contactIntroTel {
    margin-top: 10px;
  }
}

.contactIntroNum {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  font-family: "Fjalla One";
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .contactIntroNum {
    line-height: 1.75;
  }
}

.contactIntroList {
  margin-top: clamp(28px, 2.2vw, 32px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(12.6px, 1.3vw, 18px);
}

.contactIntroLink {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(20px, 1.7vw, 24px);
  width: 100%;
  flex-wrap: wrap;
  row-gap: 10px;
}

.contactIntroNumber {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(6px, 1.3vw, 18px);
  font-size: clamp(2.15rem, (2.5vw), 3.6rem);
  font-weight: 300;
  line-height: 1;
  white-space: nowrap;
  font-family: "Fjalla One";
}
.contactIntroNumber span {
  display: inline-block;
  padding-bottom: 4px;
}

.contactIntroIcon {
  width: clamp(24.5px, 2.4vw, 35px);
  height: clamp(24.5px, 2.4vw, 35px);
  object-fit: contain;
}

.contactIntroTerm {
  font-size: clamp(1.5rem, (1.1vw), 1.6rem);
  font-weight: 600;
  line-height: 1.5;
}
.contactIntroTerm span {
  display: inline-block;
}

.contactMain {
  margin-top: clamp(44.8px, 4.4vw, 64px);
  width: 100%;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  opacity: 1;
  transition: all 0.3s ease;
}
.contactMain form {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
.contactMain .wpcf7-not-valid-tip {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 1.1rem;
  transform: translateY(120%);
}
.contactMain.-hide {
  opacity: 0;
}

.contactMainContainer {
  width: 100%;
}

.contactMainForm {
  width: 100%;
}

.contactMainForm .wpcf7-spinner {
  display: none;
}
.contactMainForm .wpcf7-spinner + br {
  display: none;
}

.contactMainRow {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  row-gap: 6px;
}
.contactMainRow + .contactMainRow {
  margin-top: clamp(28px, 2.8vw, 40px);
}
.contactMainRow.-hide {
  display: none;
}
.contactMainRow p,
.contactMainRow .wpcf7-form-control-wrap {
  display: contents;
}

.contactMainBottom {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.contactMainBottom .wpcf7-form-control-wrap {
  margin-top: clamp(16px, 1.6vw, 23px);
  padding-top: clamp(16px, 2.2vw, 32px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}

.contactMainSplit {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(28px, 2.8vw, 40px);
  min-width: 0;
}

.contactMainHalf {
  max-width: calc((100% - clamp(28px, 2.8vw, 40px)) / 2);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: 8px;
}

.contactMainLabel {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
  white-space: nowrap;
  display: block !important;
}

.contactMainCheck .wpcf7-list-item {
  margin-left: 0;
}
.contactMainCheck .wpcf7-list-item-label {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
  white-space: nowrap;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row-reverse;
  column-gap: 22px;
}
.contactMainCheck .wpcf7-list-item-label::after {
  display: none;
}
.contactMainCheck .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(./img/contact/label_unchecked.svg);
}
.contactMainCheck input {
  position: absolute;
  left: -300vw;
  opacity: 0;
}
.contactMainCheck input:checked + .wpcf7-list-item-label::before {
  background-image: url(./img/contact/label_checked.svg);
}

.contactMainField {
  position: relative;
  width: 100%;
}
.contactMainField.-space {
  margin-top: 14px;
}

.contactMainInput {
  width: 100%;
  display: block;
  font-size: 1.6rem;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border: 1px solid #c8ae78;
  border-radius: 12px;
  padding-bottom: 14px;
  padding-top: 14px;
  padding-left: 16px;
  padding-right: 16px;
}
.contactMainInput::placeholder {
  color: #a5b7cc;
}

.contactMainRadio {
  width: 100%;
  height: 100%;
  padding-left: clamp(16.7px, 1.7vw, 24px);
  padding-right: clamp(16.7px, 1.7vw, 24px);
  font-size: clamp(1.3rem, (1vw), 1.4rem);
  line-height: 1.5;
  display: block;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 20px;
}
@media (max-width: 767px) {
  .contactMainRadio {
    padding-left: clamp(16.7px, 1.7vw, 24px);
    padding-right: clamp(16.7px, 1.7vw, 24px);
    padding-top: clamp(14px, 1.4vw, 20px);
    padding-bottom: clamp(14px, 1.4vw, 20px);
  }
}
.contactMainRadio .wpcf7-list-item {
  margin-left: 0;
}
.contactMainRadio .wpcf7-list-item-label {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  position: relative;
  column-gap: 4px;
}
.contactMainRadio .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 12px;
  min-width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid #404040;
}
.contactMainRadio .wpcf7-list-item-label::after {
  content: "";
  display: none;
}

.contactMainNote {
  background-color: #f26062;
  color: white;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.25;
  margin-top: clamp(32px, 3.3vw, 48px);
  width: 100%;
  padding-top: 5px;
  padding-bottom: 5px;
}

.contactMainSelect {
  max-width: 100%;
  width: 245px;
  position: relative;
}
.contactMainSelect select {
  color: #070e1d;
  background-color: white;
  font-size: 1.6rem;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border: 1px solid #c8ae78;
  border-radius: 12px;
  padding-bottom: 14px;
  padding-top: 14px;
  padding-left: 16px;
  padding-right: 16px;
}
.contactMainSelect::after {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  background-image: url(./img/contact/icon_arrow_dropdown.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  pointer-events: none;
}

.contactMainTxt {
  width: 100%;
  text-align: center;
  margin-top: clamp(22px, 1.9vw, 28px);
  font-size: 1.6rem;
  font-weight: 500;
}
.contactMainTxt br {
  display: none;
}

.contactMainLink {
  margin-right: 12px;
}
.contactMainLink::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 18px;
  transform: translateY(3px);
  margin-left: 8px;
  background-image: url(./img/contact/icon_policy.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.contactMainMust {
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  color: white;
  background-color: #f26062;
  margin-left: 8px;
  border-radius: 24px;
  padding-left: 6px;
  padding-right: 6px;
}

.contactMainTextarea {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 12px;
  border: 1px solid #c8ae78;
  padding-top: 13px;
  padding-bottom: 13px;
  padding-left: 16px;
  padding-right: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 500;
}
.contactMainTextarea::placeholder {
  color: #a5b7cc;
}

.contactMainAcceptance {
  position: absolute;
  left: -300vw;
  opacity: 0;
}
.contactMainAcceptance + .wpcf7-list-item-label {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(15.4px, 1.5vw, 22px);
}
.contactMainAcceptance + .wpcf7-list-item-label::after {
  display: none;
}
.contactMainAcceptance + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url(./img/contact/label_unchecked.svg);
}
.contactMainAcceptance:checked + .wpcf7-list-item-label::before {
  background-image: url(./img/contact/label_checked.svg);
}

.contactMainAcceptanceLink {
  text-decoration: underline;
}

.contactMainBtn {
  margin-top: 32px;
  color: #070e1d;
  pointer-events: none;
  opacity: 0.3;
}
.contactMainBtn.-allow {
  opacity: 1;
  pointer-events: auto;
  cursor: pointer;
}

.contactMainArrow::after {
  content: "";
  display: block;
  width: 26px;
  height: 16px;
  background-image: url(./img/common/icon_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.contactMainSubmit {
  opacity: 0;
  z-index: -1;
  left: -200vw;
  position: absolute;
}

.contactConfirm {
  margin-top: clamp(24px, 3.5vw, 50px);
  width: 100%;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  transition: all 0.3s ease;
  opacity: 1;
}
.contactConfirm.-hide {
  opacity: 0;
}

.contactConfirmForm {
  width: 100%;
}

.contactConfirmRow {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(8px, 1.1vw, 16px);
  width: 100%;
}
.contactConfirmRow + .contactConfirmRow {
  margin-top: clamp(16px, 2.8vw, 40px);
}

.contactConfirmTtl {
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
  display: block !important;
}

.contactConfirmDesc {
  margin-top: clamp(22.4px, 2.2vw, 32px);
  text-align: center;
}
@media (max-width: 767px) {
  .contactConfirmDesc br {
    display: none;
  }
}

.contactConfirmAnswer {
  font-size: 1.6rem;
  line-height: 1.4;
  display: block;
}

.contactConfirmBottom {
  margin-top: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  gap: 24px;
}

.contactConfirmBtn {
  cursor: pointer;
}
.contactConfirmBtn.-back {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 12px;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 500;
  order: 2;
}
.contactConfirmBtn.-back:hover {
  opacity: 0.7;
}
.contactConfirmBtn.-back::before {
  content: "";
  display: block;
  width: 28px;
  height: 24px;
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: 30%;
  background-position: center;
  background-color: #b89857;
  border-radius: 32px;
  rotate: 180deg;
}
.contactConfirmBtn.-forth {
  column-gap: 16px;
  font-size: clamp(1.6rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
  order: 1;
}

.contactSent {
  margin-top: clamp(53px, 6.7vw, 96px);
  transition: all 0.3s ease;
  opacity: 1;
}
.contactSent.-hide {
  opacity: 0;
}

.contactSentInner {
  margin-top: clamp(56px, 5.6vw, 80px);
  padding-left: clamp(0px, 7.8vw, 113px);
  padding-right: clamp(0px, 7.8vw, 113px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 1000px) {
  .contactSentInner {
    padding-left: 0;
    padding-right: 0;
  }
}

.contactSentTtl {
  font-size: clamp(2.8rem, (2.8vw), 4rem);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.contactSentTtl span {
  display: inline-block;
}

.contactSentTxt {
  margin-top: clamp(22.4px, 2.2vw, 32px);
  text-align: center;
}
.contactSentTxt span {
  display: inline-block;
}

.contactSentTel {
  margin-top: clamp(37px, 3.7vw, 53px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(6px, 0.6vw, 8px);
}

.contactSentTelTxt {
  font-size: clamp(1.6rem, (1.3vw), 1.8rem);
  line-height: 1.5;
  color: red;
}

.contactSentTelNum {
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 300;
  line-height: 1;
  font-family: "Fjalla One";
  color: red;
}

.contactSentBtn {
  margin-top: clamp(24px, 2.2vw, 32px);
}

.general {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (13.2vw), 190px);
  padding-right: clamp(16px, (13.2vw), 190px);
}
@media (max-width: 767px) {
  .general {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.generalInner {
  width: 100%;
}

.generalBreadcrumb {
  margin-top: clamp(14px, 1.1vw, 16px);
}

.generalBody {
  width: 100%;
  margin-top: clamp(47px, 5.5vw, 79px);
}

.generalBodyTxt,
.generalBodyItem {
  font-size: 16px;
  line-height: 2;
}
@media (max-width: 767px) {
  .generalBodyTxt,
  .generalBodyItem {
    line-height: 1.7;
  }
}

.generalBodyTtl {
  margin-top: clamp(32px, 3.3vw, 48px);
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .generalBodyTtl {
    line-height: 1.45;
  }
}

.generalBodyList.-child {
  margin-left: 26px;
}
.generalBodyList.-grandchild {
  margin-left: 44px;
}

.generalBodyRow {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 5px;
}

.generalBodyTtl + .generalBodyTxt,
.generalBodyTtl + .generalBodyList {
  margin-top: 16px;
}

.generalBodyItem + .generalBodyItem {
  margin-top: 8px;
}

.approach {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
  width: 100%;
}
@media (max-width: 767px) {
  .approach {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.approachBreadcrumb {
  margin-top: clamp(14px, 1.1vw, 16px);
}

.approachInner {
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .approachInner {
    padding-left: 0;
    padding-right: 0;
  }
}

.approachMap {
  margin-top: clamp(48px, 5.6vw, 80px);
  width: 100%;
  object-fit: contain;
}

.approachBody {
  width: 100%;
  position: relative;
  margin-top: clamp(64px, 6.1vw, 88px);
}
.approachBody::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.approachBodyGroup {
  width: 100%;
  padding-top: clamp(64px, 6.7vw, 96px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  row-gap: 24px;
  column-gap: 16px;
}
@media (max-width: 767px) {
  .approachBodyGroup {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.approachBodyTtl.-first {
  width: clamp(251.9px, 25vw, 360px);
  font-size: clamp(2rem, (1.7vw), 2.4rem);
  font-weight: 500;
  line-height: 1.45;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 8px;
}
@media (max-width: 767px) {
  .approachBodyTtl.-first {
    width: 100%;
  }
}
.approachBodyTtl.-second {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
  color: #b89857;
}
@media (max-width: 767px) {
  .approachBodyTtl.-second {
    line-height: 1.5;
  }
}

.approachBodyIcon {
  width: clamp(31px, 2.8vw, 40px);
  min-width: clamp(31px, 2.8vw, 40px);
  height: clamp(31px, 2.8vw, 40px);
  object-fit: contain;
}

.approachBodyDetails {
  width: calc(100% - clamp(251.9px, 25vw, 360px) - 16px);
}
@media (max-width: 767px) {
  .approachBodyDetails {
    width: 100%;
  }
}

.approachBodyLinks {
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(12px, 1.7vw, 24px);
  column-gap: clamp(12px, 1.7vw, 24px);
  align-items: stretch;
  width: calc(100% - clamp(251.9px, 25vw, 360px) - 16px);
}
@media (max-width: 767px) {
  .approachBodyLinks {
    width: 100%;
  }
}

.approachBodyTxt {
  margin-top: clamp(0px, 0.6vw, 8px);
}
.approachBodyTxt strong {
  font-weight: 500;
}

.approachBodyLine {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.4285714286;
}
@media (max-width: 767px) {
  .approachBodyLine {
    line-height: 1.4285714286;
  }
}

.approachBodyBtn {
  position: relative;
  width: calc((100% - clamp(12px, 1.7vw, 24px) * 1) / 2);
  padding: clamp(20px, 1.7vw, 24px);
  border-radius: clamp(12px, 1.7vw, 24px);
  border: 1px solid #c8ae78;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: 16px;
}
@media (max-width: 1150px) {
  .approachBodyBtn {
    width: calc((100% - clamp(12px, 1.7vw, 24px) * 0) / 1);
  }
}
.approachBodyBtn:hover {
  background-color: #c8ae78;
  opacity: 1;
  color: white;
}
.approachBodyBtn:hover .approachBodyMark {
  background-color: white;
}
.approachBodyBtn:hover .approachBodyMark::before {
  background-image: url(./img/common/icon_arrow.svg);
}

.approachBodyMark {
  width: 36px;
  min-width: 36px;
  height: 32px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  background-color: #c8ae78;
  border-radius: 36px;
}
.approachBodyMark::before {
  rotate: -45deg;
  content: "";
  display: block;
  width: clamp(9.1px, 0.9vw, 13px);
  height: clamp(9.1px, 0.9vw, 13px);
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.approachBodyWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.6vw, 8px);
}

.approachBodyBus {
  font-size: clamp(1.6rem, (1.3vw), 1.8rem);
  font-weight: 500;
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .approachBodyBus {
    line-height: 1.5;
  }
}

.approachOther {
  width: 100%;
  position: relative;
  margin-top: clamp(49px, 8.3vw, 120px);
  padding-top: clamp(32px, 6.7vw, 96px);
}
.approachOther::before {
  content: "";
  display: block;
  width: 100vw;
  height: 1px;
  background-color: #070e1d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.approachOtherGroup {
  width: 100%;
  margin-top: clamp(56px, 4.4vw, 64px);
}

.approachOtherTtl.-first {
  text-align: center;
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
}
@media (max-width: 767px) {
  .approachOtherTtl.-first {
    line-height: 1.45;
  }
}
.approachOtherTtl.-en {
  font-size: clamp(3.2rem, (2.8vw), 4rem);
  font-weight: 400;
  line-height: 1.2575;
  letter-spacing: 0.15em;
  font-family: "Fjalla One";
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .approachOtherTtl.-en {
    line-height: 1.5;
  }
}
.approachOtherTtl.-ja {
  font-size: clamp(1.6rem, (1.4vw), 2rem);
  font-weight: 500;
  line-height: 1.45;
}
@media (max-width: 767px) {
  .approachOtherTtl.-ja {
    line-height: 1.5;
  }
}

.approachOtherLinks {
  margin-top: 24px;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(8px, 1.7vw, 24px);
  column-gap: clamp(8px, 1.7vw, 24px);
  align-items: stretch;
}

.approachOtherBtn {
  position: relative;
  padding: clamp(20px, 1.7vw, 24px);
  border-radius: clamp(12px, 1.7vw, 24px);
  border: 1px solid #c8ae78;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(11.2px, 1.1vw, 16px);
}
.approachOtherBtn.-double {
  width: calc((100% - clamp(8px, 1.7vw, 24px) * 1) / 2);
}
@media (max-width: 767px) {
  .approachOtherBtn.-double {
    width: calc((100% - clamp(8px, 1.7vw, 24px) * 0) / 1);
  }
}
.approachOtherBtn.-triple {
  width: calc((100% - clamp(8px, 1.7vw, 24px) * 2) / 3);
}
@media (max-width: 1150px) {
  .approachOtherBtn.-triple {
    width: calc((100% - clamp(8px, 1.7vw, 24px) * 1) / 2);
  }
}
@media (max-width: 767px) {
  .approachOtherBtn.-triple {
    width: calc((100% - clamp(8px, 1.7vw, 24px) * 0) / 1);
  }
}
.approachOtherBtn.-quadruple {
  width: calc((100% - clamp(8px, 1.7vw, 24px) * 3) / 4);
}
@media (max-width: 1150px) {
  .approachOtherBtn.-quadruple {
    width: calc((100% - clamp(8px, 1.7vw, 24px) * 1) / 2);
  }
}
.approachOtherBtn:hover {
  background-color: #c8ae78;
  opacity: 1;
  color: white;
}
.approachOtherBtn:hover .approachOtherMark {
  background-color: white;
}
.approachOtherBtn:hover .approachOtherMark::before {
  background-image: url(./img/common/icon_arrow.svg);
}
.approachOtherBtn:hover .approachOtherType.-phone::before {
  background-image: url(./img/access/icon_phone_white.svg);
}

.approachOtherWrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(0px, 0.6vw, 8px);
}

.approachOtherName {
  font-size: clamp(1.4rem, (1.3vw), 1.8rem);
  font-weight: 500;
  line-height: 1.4444444444;
  letter-spacing: 0.1em;
}

.approachOtherTxt {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.4285714286;
}
@media (max-width: 767px) {
  .approachOtherTxt {
    line-height: 1.4285714286;
  }
}

.approachOtherType {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 4px;
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 1.4285714286;
}
@media (max-width: 767px) {
  .approachOtherType {
    line-height: 1.4285714286;
  }
}
.approachOtherType.-phone::before {
  transform: translateY(3px);
  content: "";
  display: block;
  width: 15px;
  min-width: 15px;
  height: 15px;
  background-image: url(./img/access/icon_phone.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.approachOtherMark {
  width: 36px;
  min-width: 36px;
  height: 32px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  background-color: #c8ae78;
  border-radius: 36px;
}
.approachOtherMark::before {
  rotate: -45deg;
  content: "";
  display: block;
  width: clamp(9.1px, 0.9vw, 13px);
  height: clamp(9.1px, 0.9vw, 13px);
  background-image: url(./img/common/icon_arrow_white.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.approachBodyTxt + .approachBodyTtl.-second {
  margin-top: clamp(24px, 2.2vw, 32px);
}

.company {
  margin-left: auto;
  margin-right: auto;
  max-width: 1440px;
  width: 100%;
  padding-left: clamp(16px, (5.6vw), 80px);
  padding-right: clamp(16px, (5.6vw), 80px);
}
@media (max-width: 767px) {
  .company {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.companyInner {
  padding-left: clamp(0px, 7.6vw, 110px);
  padding-right: clamp(0px, 7.6vw, 110px);
}
@media (max-width: 767px) {
  .companyInner {
    padding-left: 0;
    padding-right: 0;
  }
}

.companyBreadcrumb {
  margin-top: clamp(14px, 1.1vw, 16px);
}

.companyBody {
  width: 100%;
  margin-top: clamp(49px, 4.4vw, 64px);
}

.companyBodyTtl.-first {
  font-size: clamp(2.4rem, (2.2vw), 3.2rem);
  font-weight: 500;
  line-height: 1.446875;
}
@media (max-width: 767px) {
  .companyBodyTtl.-first {
    line-height: 1.45;
  }
}
.companyBodyTtl.-second {
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 2;
  border-radius: 8px;
  background: rgba(165, 183, 204, 0.3);
  padding-left: 10px;
  padding-right: 10px;
}
.companyBodyTtl.-third {
  font-size: clamp(1.6rem, (1.1vw), 1.6rem);
  font-weight: 500;
  line-height: 2;
}

.companyBodyContainer {
  margin-top: 40px;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(24px, 2.8vw, 40px);
}

.companyBodyGroup {
  width: 100%;
}

.companyBodyType {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(8px, 1.1vw, 16px);
}
@media (max-width: 767px) {
  .companyBodyType {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.companyBodyTable {
  margin-top: clamp(8px, 1.1vw, 16px);
  width: 100%;
  border-top: 1px solid rgba(165, 183, 204, 0.3);
}
.companyBodyTable tbody {
  width: 100%;
}
.companyBodyTable tr {
  width: 100%;
  border-bottom: 1px solid rgba(165, 183, 204, 0.3);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
}
@media (max-width: 767px) {
  .companyBodyTable tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 4px;
  }
}
.companyBodyTable th {
  width: clamp(151.2px, 17.5vw, 252px);
  min-width: clamp(151.2px, 17.5vw, 252px);
  padding-right: clamp(8px, 1.1vw, 16px);
  font-size: clamp(1.2rem, (1vw), 1.4rem);
  font-weight: 500;
  line-height: 2;
  padding-top: clamp(8px, 1.1vw, 16px);
  padding-bottom: clamp(8px, 1.1vw, 16px);
  border-right: 1px solid rgba(165, 183, 204, 0.3);
}
@media (max-width: 767px) {
  .companyBodyTable th {
    line-height: 1.5;
  }
}
@media (max-width: 767px) {
  .companyBodyTable th {
    width: 100%;
    min-width: 100%;
    border: none;
    padding-right: 0;
    padding-bottom: 0;
  }
}
.companyBodyTable td {
  width: calc(100% - clamp(151.2px, 17.5vw, 252px));
  padding-left: clamp(8px, 1.1vw, 16px);
  font-size: clamp(1.4rem, (1vw), 1.4rem);
  font-weight: 400;
  line-height: 1.7142857143;
  padding-top: clamp(8px, 1.1vw, 16px);
  padding-bottom: clamp(8px, 1.1vw, 16px);
}
@media (max-width: 767px) {
  .companyBodyTable td {
    width: 100%;
    min-width: 100%;
    padding-left: 0;
    padding-top: 0;
  }
}

.companyBodyLinks {
  margin-top: clamp(40px, 5.6vw, 80px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
  gap: clamp(16px, 1.7vw, 24px);
  flex-wrap: wrap;
}

.companyBodyLink {
  width: calc((100% - clamp(16px, 1.7vw, 24px)) / 2);
  justify-content: space-between !important;
  padding-right: clamp(16px, 1.7vw, 24px) !important;
}
@media (max-width: 767px) {
  .companyBodyLink {
    width: 100%;
  }
}

.companyBodyIcon {
  rotate: -45deg;
}