@charset "UTF-8";
/* ==========================================================================
Mixins & Variables (SCSS)
========================================================================== */
/* --- 共通デザイン用 Mixin --- */
/* ==========================================================================
Variables (CSS Custom Properties)
========================================================================== */
:root {
  /* Colors */
  --color-brand-navy: #000526;
  --color-brand-navy-light: #202d71;
  --color-brand-gold: #b9965f;
  --color-brand-gold-dark: #a3874b;
  --color-brand-beige: #f6f4ee;
  --color-brand-orange: #b76a31;
  --color-sns-ig: #ff0069;
  --color-text-main: #ffffff;
  --color-text-dark: #333333;
  --color-text-gray: #888888;
  --color-text-gray-light: #d1d5db;
  /* Typography & Layout */
  --font-family-serif: "Noto Serif JP", serif;
  --container-max-width: 1152px;
  --header-inner-width: 95.3125%;
  --icon-size-md: 50px;
  /* Z-index Scale */
  --z-index-bg: -1;
  --z-index-default: 1;
  --z-index-content: 10;
  --z-index-overlay: 40;
  --z-index-header: 50;
  --z-index-menu: 60;
}

/* ==========================================================================
Reset & Base
========================================================================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

#rooms_recommend,
#rooms_west-1,
#rooms_west-2,
#rooms_west-3,
#rooms_east-1,
#rooms_east-2,
#rooms_east-3,
#rooms_east-4 {
  scroll-margin-top: 120px; 
}

body {
  color: var(--color-text-main);
  font-family: var(--font-family-serif);
  line-height: 1.6;
  background-color: var(--color-brand-navy);
  overflow-x: clip; /* ① Edgeで sticky ヘッダーを無効化しないように hidden から clip に変更 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.3s ease;
}

button {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

input,
select,
textarea {
  font: inherit;
}

/* Accessibility Focus Ring */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-brand-gold);
  outline-offset: 2px;
}

::-moz-selection {
  background-color: var(--color-brand-gold);
  color: var(--color-text-main);
}

::selection {
  background-color: var(--color-brand-gold);
  color: var(--color-text-main);
}

/* ==========================================================================
Utilities
========================================================================== */
.l-container {
  width: 100%;
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}
.l-container--narrow {
  max-width: 880px;
}
.l-container--wide {
  max-width: 1170px;
}

.u-text-center {
  text-align: center;
}

.u-tracking-wide {
  letter-spacing: 0.1em;
}

.u-tracking-widest {
  letter-spacing: 0.2em;
}

.u-hidden {
  display: none;
}

@media (min-width: 768px) {
  .u-md-flex {
    display: flex;
  }
}

@media (min-width: 768px) {
  .u-md-hidden {
    display: none;
  }
}

/* Fade-in Animation */
.js-fade-in {
  opacity: 0;
  transform: translateY(30px);
  /* will-changeはEdgeでレンダリンググリッチを引き起こすため削除 */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.js-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.u-mt-2 {
  margin-top: 2rem;
}
.u-mt-4 {
  margin-top: 4rem;
}
.u-pt-1 {
  padding-top: 1rem;
}

.u-pt-1-5 {
  padding-top: 1.5rem;
}

.u-text-lg {
  font-size: 1.875rem;
}

.u-br-pc {
  display: block;
}
@media (max-width: 767px) {
  .u-br-pc {
    display: none;
  }
}

.u-br-sp {
  display: none;
}
@media (max-width: 767px) {
  .u-br-sp {
    display: block;
  }
}

/* ==========================================================================
Components
========================================================================== */
/* Buttons */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 2rem;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.c-btn--gold-text {
  position: relative;
  padding: 0.75rem 2rem 0.75rem 0;
  color: var(--color-brand-gold);
}
.c-btn--gold-text::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  box-sizing: border-box;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 1px solid var(--color-brand-gold);
  border-right: 1px solid var(--color-brand-gold);
  transform: rotate(45deg);
  transition: border-color 0.3s ease;
}
.c-btn--gold-text:hover {
  color: var(--color-text-gray);
}
.c-btn--gold-text:hover::after {
  border-color: var(--color-text-gray);
}
.c-btn--gold-outline {
  border: 1px solid var(--color-brand-gold);
  color: var(--color-brand-gold);
}
.c-btn--gold-outline:hover {
  background-color: var(--color-brand-gold);
  color: var(--color-brand-navy);
}
.c-btn--gold {
  background-color: var(--color-brand-gold);
  color: var(--color-text-main);
}
.c-btn--gold:hover {
  background-color: var(--color-brand-gold-dark);
}
.c-btn--gold-radius {
  position: relative;
  padding: 0.25rem 3rem 0.25rem 1.5rem;
  background-color: var(--color-brand-gold);
  color: var(--color-text-main);
  border-radius: 8px;
}
.c-btn--gold-radius::after {
  content: "";
  position: absolute;
  top: 0;
  right: 18px;
  bottom: 0;
  box-sizing: border-box;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 1px solid var(--color-text-main);
  border-right: 1px solid var(--color-text-main);
  transform: rotate(45deg);
}
.c-btn--gold-radius:hover {
  background-color: var(--color-brand-gold-dark);
}
.c-btn--navy-outline {
  border: 1px solid var(--color-brand-navy);
  color: var(--color-brand-navy);
}
.c-btn--navy-outline:hover {
  background-color: var(--color-brand-navy);
  color: var(--color-text-main);
}
.c-btn--white-glass {
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid var(--color-text-main);
  color: var(--color-text-main);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.c-btn--white-glass:hover {
  background-color: var(--color-text-main);
  color: var(--color-brand-navy);
}
.c-btn--gray-solid {
  padding: 1.25rem 4rem;
  background-color: #6b7280;
  color: var(--color-text-main);
  font-size: 1.125rem;
  letter-spacing: 0.15em;
}
.c-btn--gray-solid:hover {
  background-color: #4b5563;
  color: var(--color-text-main);
}

/* Section Title */
.c-sec-title {
  margin-bottom: 3rem;
  text-align: center;
}
.c-sec-title__main {
  margin-bottom: 0.5rem;
  font-weight: 500;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
}
.c-sec-title__main--recommend {
  color: var(--color-brand-gold);
}
.c-sec-title__main--rooms {
  padding-top: var(--icon-size-md);
  background-image: url(../images/icon_aoi.png);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: var(--icon-size-md);
}
.c-sec-title__main--rooms span {
  display: block;
  font-size: 1.5rem;
}

.p-onsen__title span,
.p-rooms__title span,
.p-dining__catch span,
.p-facility__title span,
.p-sightseeing__title span,
.p-access__title span{
	display:inline-block;
	padding:0.3rem 0.5rem;
	font-size: 1.2rem;
	text-align:center;
	margin-bottom:1rem;
}
.p-onsen__title span,
.p-rooms__title span,
.p-dining__catch span,
.p-facility__title span,
.p-sightseeing__title span{
	border:1px solid #fff;
}
.p-access__title span{
	margin-left:10rem;
	color:var(--color-brand-navy);
	border:1px solid var(--color-brand-navy);
}
/* ==========================================================================
Layout & Sections
========================================================================== */
/* --- Hero Section --- */
.p-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80vh;
  overflow: hidden;
}
.p-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-hero__bg img,
.p-hero__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-hero__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

/* --- Header --- */
.l-header {
  position: sticky;
  top: 1.5em;
  z-index: var(--z-index-header);
  width: 100%;
  transition: box-shadow 0.3s ease;
}
.l-header.is-scrolled .l-header__logo-area {
  max-width: 300px;
	  display: none;
}
.l-header.is-scrolled .l-header__nav {
  display: none;
}
@media (min-width: 768px) {
	  .l-header.is-scrolled .l-header__nav-area {
		  margin-top:0;
  }
  .l-header.is-scrolled .l-header__hamburger {
    display: flex;
  }
}
.l-header__inner {
  z-index: var(--z-index-header);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: var(--header-inner-width);

}
.l-header__logo-area {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	width: 100%;
	max-width: 300px;
	padding:1rem;
	background-color: rgba(0, 5, 38, 0.7); /* Edge Fallback */
	background-color: color-mix(in srgb, var(--color-brand-navy), transparent 30%);
	border-radius: 10px;
}
.l-header__logo-area img {
  width: 100%;
}
@media (min-width: 768px) {
  .l-header__logo-area {
  max-width: 250px;
  }
}
.l-header__nav-area {
  z-index: var(--z-index-content);
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: flex-end;
}

.l-header__nav {
  display: none;
  width: 100%;
 /* margin-left: 130px;*/
}
@media (min-width: 768px) {
  .l-header__nav {
    display: flex;
  }
}
.l-header__nav-row {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  width: 100%;
  text-align: center;
}
.l-header__nav-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem 0;
  width: 9%;
  color: var(--color-text-main);
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.59);
  transition: color 0.3s ease, background-color 0.3s ease;
  border-radius: 10px;
  background-color: rgba(0, 5, 38, 0.7); /* Edge Fallback */
  background-color: color-mix(in srgb, var(--color-brand-navy), transparent 30%);
}
.l-header__nav-item:hover {
  background-color: rgba(209, 213, 219, 0.5); /* Edge Fallback */
  background-color: color-mix(in srgb, var(--color-text-gray-light), transparent 50%);
  text-shadow: none;
  color: var(--color-brand-navy);
}
.l-header__nav-item:hover .l-header__nav-en {
  color: var(--color-brand-navy);
}
.l-header__nav-ja {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
}
.l-header__nav-en {
  color: var(--color-text-gray-light);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  transition: color 0.3s ease;
}
.l-header__nav-reservation {
  padding: 0.5rem;
  background-color: var(--color-brand-orange);
  border-radius: 10px;
}
.l-header__nav-reservation .l-header__nav-ja {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}
.l-header__hamburger {
  position: relative;
  z-index: calc(var(--z-index-header) + 1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 1.5rem;
  height: 1rem;
}
@media (min-width: 768px) {
  .l-header__hamburger {
    display: none;
  }
}

/* Hamburger & Mobile Menu */
.hamburger-line {
  width: 100%;
  height: 1px;
  background-color: var(--color-text-main);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.is-menu-open .hamburger-line-1 {
  transform: translateY(7px) rotate(45deg);
}
.is-menu-open .hamburger-line-2 {
  opacity: 0;
}
.is-menu-open .hamburger-line-3 {
  transform: translateY(-7px) rotate(-45deg);
}

.l-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: var(--z-index-overlay);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--color-brand-navy-light);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.l-mobile-menu.is-open {
  opacity: 1;
  pointer-events: auto;
}
.l-mobile-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  text-align: center;
}

/* --- Banners Section --- */
.p-banners {
  position: relative;
  z-index: 30;
  padding: 3rem 1rem;
  background-color: var(--color-brand-navy-light);
}
.p-banners::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
  background-image: url(../images/bg_washi.png);
  background-position: center;
  background-size: cover;
  opacity: 0.2;
}
.p-banners__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 768px) {
  .p-banners__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}
.p-banners__item {
  display: block;
  border-radius: 2px;
  overflow: hidden;
}
.p-banners__img {
  width: 100%;
  opacity: 0.85;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform, opacity;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

/* --- Utility Background Colors --- */
.l-bg-beige {
  background-color: var(--color-brand-beige);
  color: var(--color-text-dark);
}

.l-bg-navy {
  position: relative;
}

/* --- News Section --- */
.p-news {
  padding: 5rem 0;
}
.p-news__list {
  display: flex;
  flex-direction: column;
}
.p-news__item {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  border-bottom: 1px solid var(--color-text-dark);
  transition: background-color 0.3s ease;
}
@media (min-width: 768px) {
  .p-news__item {
    flex-direction: row;
    gap: 0.5rem;
  }
}
.p-news__item:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.p-news__date {
  width: auto;
  margin-bottom: 0.5rem;
  color: var(--color-text-dark);
  font-size: 0.875rem;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .p-news__date {
    width: 5rem;
    margin-bottom: 0;
  }
}
.p-news__content {
  flex-grow: 1;
}
.p-news__badge {
  display: inline-block;
  margin-right: 0;
  margin-bottom: 0.5rem;
  padding: 0.25rem 0.5rem;
  color: var(--color-text-main);
  font-size: 0.75rem;
  border-radius: 2px;
}
@media (min-width: 768px) {
  .p-news__badge {
    margin-right: 0.75rem;
    margin-bottom: 0;
  }
}
.p-news__badge--info {
  background-color: var(--color-brand-navy);
}
.p-news__badge--event {
  background-color: var(--color-brand-gold);
}
.p-news__badge--important {
  background-color: #6b7280;
}
.p-news__link:hover {
  color: var(--color-brand-gold);
}
.p-news__btn-wrap {
  margin-top: 2.5rem;
  text-align: center;
}
.p-news__banner-slider {
  margin-top: 4rem;
}
.p-news__banner-item {
  display: block;
  border-radius: 4px;
  overflow: hidden;
}
.p-news__banner-item:hover .p-news__banner-img {
  opacity: 1;
  transform: scale(1.05);
}
.p-news__banner-inner {
  position: relative;
}
.p-news__banner-img {
  width: 100%;
  opacity: 0.9;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform, opacity;
  transition: transform 0.5s ease, opacity 0.3s ease;
}
@media (min-width: 768px) {
  .p-news__banner-img {
    height: 11rem;
  }
}
.p-news__banner-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.3);
  transition: background-color 0.3s ease;
}
.p-news .news-banner-swiper {
  padding-bottom: 2.5rem;
}

.p-news-detail {
  padding: 3rem 3rem;
  background-color: var(--color-text-main);
}
.p-news-detail__header {
  padding-bottom: 2rem;
}
/* --- Recommended Section --- */
.p-recommended {
  position: relative;
  padding: 3rem 1rem;
  background-color: var(--color-brand-navy);
}
@media (min-width: 768px) {
  .p-recommended {
    padding: 6rem 2rem;
  }
}
.p-recommended__inner {
  position: relative;
  z-index: var(--z-index-content);
  max-width: var(--container-max-width);
  margin: 0 auto;
  padding: 2rem;
  border: 3px solid var(--color-brand-gold);
}

.p-plan-card {
  display: flex;
  flex-direction: column;
  background-color: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  color: var(--color-text-main);
}
.p-plan-card:hover {
  box-shadow: none;
}
.p-plan-card:hover .p-plan-card__img {
  transform: scale(1.05);
}
.p-plan-card__icon {
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.p-plan-card__icon img {
  width: 100%;
  max-width: 50px;
}
.p-plan-card__img-wrap {
  margin-bottom: 1.5rem;
  overflow: hidden;
	border:1px solid var(--color-brand-gold);
}
.p-plan-card__img {
  width: 100%;
  aspect-ratio: 16/10;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-plan-card__body {
  padding: 0;
}
.p-plan-card__title {
  font-size: 1rem;
  text-align: center;
}
.recommended-swiper {
  position: relative;
}
.recommended-swiper .swiper-button-prev,
.recommended-swiper .swiper-button-next {
  top: 50%;
  z-index: 5;
  width: 40px;
  height: 40px;
  color: var(--color-brand-gold);
  border: 1px solid var(--color-brand-gold);
  border-radius: 50%;
  transform: translateY(-50%);
  --swiper-navigation-size: 24px;
}
.recommended-swiper .swiper-button-prev::after,
.recommended-swiper .swiper-button-next::after {
  font-weight: bold;
  font-size: 14px;
}

.swiper-pagination .swiper-pagination-bullet-active {
  background: var(--color-brand-gold);
}

/* --- Onsen Section --- */
#onsen .p-hero__bg img,
#onsen .p-hero__bg video {
  -o-object-position: 0% 100%;
     object-position: 0% 100%;
}

.p-onsen {
  position: relative;
  z-index: var(--z-index-content);
  padding: 6rem 0;
}
.p-onsen::before {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
  content: "";
  background-image: url(../images/bg_line.png);
  background-repeat: no-repeat;
  background-position: 50% 6rem;
  background-size: contain;
  transform: scaleX(-1);
}
.p-onsen__flex {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-onsen__flex {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .p-onsen__flex {
    align-items: center;
  }
}
.p-onsen__content {
  order: 2;
  width: 100%;
}
@media (min-width: 768px) {
  .p-onsen__content {
    order: 1;
    width: 65%;
  }
}
.p-onsen__title {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .p-onsen__title {
    font-size: 2rem;
  }
}

.p-onsen__desc {
  margin-bottom: 1.5rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .p-onsen__desc {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .p-onsen__desc {
    margin-top: 10rem;
  }
}
.p-onsen__img-area {
  order: 1;
  width: 100%;
}
@media (min-width: 768px) {
  .p-onsen__img-area {
    order: 2;
    width: 50%;
  }
}
.p-onsen__img-wrap {
  position: relative;
}
.p-onsen__img {
  position: relative;
  z-index: var(--z-index-content);
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
@media (min-width: 768px) {
  .p-onsen__img {
    height: 400px;
  }
}

/* BEM Modifier: Onsen West & East */
.p-onsen__west .p-onsen__title,
.p-onsen__east .p-onsen__title {
  text-align: center;
}

@media (min-width: 768px) {
  .p-onsen__east .p-onsen__content {
    order: 2;
  }
}
.p-onsen__east .p-onsen__desc h4 {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  .p-onsen__east .p-onsen__desc {
    padding: 3rem;
  }
}
@media (min-width: 768px) {
  .p-onsen__east .p-onsen__img-area {
    order: 1;
  }
}

.p-onsen__west-layer,
.p-onsen__east-layer {
  padding: 6rem 0;
}
.p-onsen__west-layer .p-onsen__title,
.p-onsen__east-layer .p-onsen__title {
  text-align: center;
}

/* --- Sauna Section --- */
.p-sauna {
  max-width: var(--content-width, 1000px);
  margin: 0 auto 120px;
  padding: 0 20px;
}
.p-sauna__inner {
  display: flex;
  align-items: center;
  gap: 60px;
}
.p-sauna__img-area {
  flex: 1;
  position: relative;
}
.p-sauna__img-area img {
  width: 100%;
  height: auto;
}
.p-sauna__deco {
  position: absolute;
  bottom: -20px;
  left: -20px;
  z-index: 2;
}
.p-sauna__text-area {
  flex: 1;
}
.p-sauna__title {
  margin-bottom: 30px;
  padding-bottom: 1rem;
  letter-spacing: 0.1em;
  border-bottom: 1px solid var(--color-text-main);
}
.p-sauna__desc h4 {
  margin-bottom: 20px;
}
.p-sauna__desc p {
  margin-bottom: 20px;
  text-align: justify;
}

/* --- Slider Section --- */
.p-slider {
  position: relative;
  margin-bottom: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
.p-slider__track {
  display: flex;
  transition: transform 0.5s ease;
}
.p-slider__slide {
  flex: 0 0 100%;
  width: 100%;
}
.p-slider__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 2/1;
}
.p-slider__nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: white;
  font-size: 18px;
  background: rgba(0, 0, 0, 0.5);
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 0.3s;
}
.p-slider__nav:hover {
  background: #cda85f; /* アクセントカラー（ゴールド系） */
}
.p-slider__nav--prev {
  left: 10px;
}
.p-slider__nav--next {
  right: 10px;
}
.p-slider__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
}
@media (max-width: 767px) {
  .p-slider__thumbs {
    gap: 5px;
  }
}
.p-slider__thumb {
  overflow: hidden;
  cursor: pointer;
  opacity: 0.5;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  transition: opacity 0.3s, transform 0.3s;
}
.p-slider__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  transition: transform 0.3s ease;
}
.p-slider__thumb.is-active, .p-slider__thumb:hover {
  opacity: 1;
}
.p-slider__thumb:hover img {
  transform: scale(1.05);
}

/* --- Rooms Section --- */
.p-rooms {
  padding-top: 13rem;
}
.p-rooms::before {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
  content: "";
  background-image: url(../images/bg_line.png);
  background-repeat: no-repeat;
  background-position: 50% 4rem;
	background-size: 1200px;
}
.p-rooms__bg {
  margin-top: 3rem;
  margin-bottom: 6rem;
}
.p-rooms__bg img,
.p-rooms__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-rooms__flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-rooms__flex {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .p-rooms__flex {
    justify-content: space-between;
  }
}
.p-rooms__content {
  width: 100%;
}
@media (min-width: 768px) {
  .p-rooms__content {
    width: 50%;
    padding-right: 2rem;
  }
}
.p-rooms__title {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .p-rooms__title {
    font-size: 2.25rem;
  }
}
.p-rooms__desc {
  margin-bottom: 1.5rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
  width: 100%;
}
@media (min-width: 768px) {
  .p-rooms__desc {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .p-rooms__desc {
    width: 30%;
  }
}
.p-rooms__img-area {
  width: 100%;
  order: 1;
}
@media (min-width: 768px) {
  .p-rooms__img-area {
    width: 85%;
    order: 2;
  }
}
.p-rooms__img-wrap {
  position: relative;
}
.p-rooms__img {
  position: relative;
  z-index: var(--z-index-content);
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .p-rooms__img {
    height: 400px;
  }
}
.p-rooms__recommend {
  position: relative;
  z-index: 0;
  margin-bottom: 6rem;
  padding: 6rem 0;
}
.p-rooms__recommend::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
  background-image: url(../images/bg_washi.png);
  background-size: cover;
  opacity: 0.1;
}
.p-rooms__recommend .l-container--narrow {
  margin: 0 auto;
}
.p-rooms__recommend .p-room-item {
  margin-bottom: 0;
}
.p-rooms__list-east {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-rooms__list-east {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-rooms__list-east .p-room-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-bottom: 6rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-rooms__list-east .p-room-item {
    width: 47%;
  }
}
.p-rooms__list-east .p-room-item__img-area {
  width: 100%;
}
.p-rooms__list-east .p-room-item__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-rooms__list-east .p-room-item__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
.p-rooms__list-east .p-room-item__label {
  color: var(--color-brand-gold);
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
.p-rooms__list-east .p-room-item__title {
  font-weight: 500;
  font-size: 1.85rem;
}
.p-rooms__list-east .p-room-item__desc {
  padding: 0.5rem 0;
  font-size: 1rem;
  line-height: 1.8;
}
.p-rooms__list-east .p-room-item__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--color-brand-navy);
  font-size: 0.8rem;
}
.p-rooms__list-east .p-room-item__spec-item {
  display: flex;
  align-items: center;
  padding: 0.2rem 1rem;
  background-color: var(--color-text-gray-light);
  font-family: sans-serif;
  border-radius: 5px;
}

.p-room-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-room-item {
    flex-direction: row;
    gap: 3rem;
  }
  .p-room-item--reverse {
    flex-direction: row-reverse;
  }
}
.p-room-item__img-area {
  width: 100%;
}
@media (min-width: 768px) {
  .p-room-item__img-area {
    width: 45%;
  }
}
.p-room-item__img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-room-item__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
@media (min-width: 768px) {
  .p-room-item__content {
    width: 50%;
    padding-top: 1rem;
  }
}
.p-room-item__label {
  color: var(--color-brand-gold);
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
.p-room-item__title {
  font-weight: 500;
  font-size: 1.85rem;
}
.p-room-item__desc {
  padding: 0.5rem 0;
  font-size: 1rem;
  line-height: 1.8;
}
.p-room-item__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  color: var(--color-brand-navy);
  font-size: 0.8rem;
}
.p-room-item__spec-item {
  display: flex;
  align-items: center;
  padding: 0.2rem 1rem;
  background-color: var(--color-text-gray-light);
  font-family: sans-serif;
  border-radius: 5px;
}

/* ==========================================================================
ROOMS Gallery Grid (添付画像風)
========================================================================== */
.p-rooms-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 6rem;
}
@media (min-width: 768px) {
  .p-rooms-gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-rooms-gallery-grid__item {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1/1;
}
@media (hover: hover) {
  .p-rooms-gallery-grid__item:hover .p-rooms-gallery-grid__img {
    transform: scale(1.05);
  }
  .p-rooms-gallery-grid__item:hover .p-rooms-gallery-grid__overlay {
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.p-rooms-gallery-grid__img-wrap {
  width: 100%;
  height: 100%;
}
.p-rooms-gallery-grid__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-rooms-gallery-grid__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background-color: rgba(0, 0, 0, 0.2);
  color: var(--color-text-main);
  text-align: center;
  transition: background-color 0.3s ease;
}
.p-rooms-gallery-grid__number {
  margin-bottom: 0.5rem;
  font-weight: 300;
  font-size: 3rem;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .p-rooms-gallery-grid__number {
    font-size: 4.5rem;
  }
}
.p-rooms-gallery-grid__title {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .p-rooms-gallery-grid__title {
    font-size: 1rem;
  }
}

.room-swiper {
  width: 100%;
  height: 100%;
}
.room-swiper .p-room-item__img {
  border: none;
}
.room-swiper .swiper-button-next,
.room-swiper .swiper-button-prev {
  color: var(--color-text-main);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  --swiper-navigation-size: 20px;
}
.room-swiper .swiper-pagination-bullet {
  background: var(--color-text-main);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  opacity: 0.7;
}
.room-swiper .swiper-pagination-bullet-active {
  background: var(--color-brand-gold);
  opacity: 1;
}

/* --- Dining Section --- */
.p-dining {
  position: relative;
  z-index: var(--z-index-content);
  padding: 6rem 0;
  background-image: url(../images/bg_line.png);
  background-repeat: no-repeat;
  background-position: 50% 10rem;
  background-size: contain;
}
@media (min-width: 768px) {
  .p-dining {
    padding-top: 13rem;
  }
}
@media (min-width: 768px) {
  .p-dining {
    padding-bottom: 13rem;
  }
}
.p-dining__top {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 5rem;
  padding: 0 1.5rem;
}
.p-dining__top-img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-dining__bottom {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media (min-width: 768px) {
  .p-dining__bottom {
    flex-direction: row;
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
  }
}
.p-dining__info {
  width: 100%;
  padding-left: 0;
}
@media (min-width: 768px) {
  .p-dining__info {
    width: 45%;
    padding-left: 2rem;
  }
}
.p-dining__catch {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .p-dining__catch {
    font-size: 1.75rem;
  }
}
.p-dining__desc {
  margin-top: 3rem;
  margin-bottom: 2rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.p-dining__link {
  display: inline-flex;
  align-items: center;
  color: var(--color-brand-gold);
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  transition: color 0.3s ease;
}
.p-dining__link:hover {
  color: var(--color-text-main);
}
.p-dining__link i {
  width: 1rem;
  height: 1rem;
  margin-left: 0.5rem;
}
.p-dining__gallery {
  position: relative;
  width: 100%;
  height: 450px;
}
@media (min-width: 768px) {
  .p-dining__gallery {
    width: 50%;
    height: 650px;
  }
}
.p-dining__gallery-img {
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
.p-dining__img-1 {
  top: 0;
  right: 0;
  z-index: 4;
  width: 65%;
  height: auto;
}
.p-dining__img-2 {
  top: 30%;
  left: 0;
  z-index: 3;
  width: 60%;
  height: auto;
}
.p-dining__img-3 {
  right: 5%;
  bottom: 5rem;
  z-index: 2;
  width: 55%;
  height: auto;
}
.p-dining__img-4 {
  left: 5%;
  bottom: -5rem;
  z-index: 1;
  width: 63%;
  height: auto;
}
.p-dining__bg {
  margin-top: 3rem;
  margin-bottom: 6rem;
}
.p-dining__bg img,
.p-dining__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* --- Menu Section --- */
.p-menu {
  position: relative;
  padding: 6rem 0;
  background-color: #f6f4ee;
  color: var(--color-text-dark);
}
.p-menu::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background-image: url(./assets/images/bg_washi.png);
  background-position: center;
  background-size: cover;
  opacity: 0.5;
  pointer-events: none;
}
.p-menu .l-container {
  position: relative;
  z-index: 1;
}
.p-menu__title {
  margin-bottom: 4rem;
  text-align: center;
  font-weight: 500;
  font-size: 1.5rem;
  font-family: var(--font-family-serif);
  letter-spacing: 0.2em;
}
@media (min-width: 768px) {
  .p-menu__title {
    font-size: 1.875rem;
  }
}
.p-menu__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 576px) {
  .p-menu__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .p-menu__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 3rem;
  }
}
.p-menu__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.p-menu__item:hover .p-menu__img {
  transform: scale(1.05);
}
.p-menu__img-wrap {
  width: 100%;
  margin-bottom: 1.5rem;
  background-color: var(--color-text-main);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.p-menu__img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-menu__img-reco {
	position: absolute;
	top: -15px;
	left: -5px;
	z-index: 2;
	width: 150px;
	margin: 0 auto;
}
.p-menu__name {
  margin-bottom: 0.5rem;
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}
.p-menu__price {
  color: #555;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
}
.p-menu__desc {
  margin-bottom: 3rem;
  padding: 2rem;
  border: 1px solid #ccc;
}
.p-menu .c-gallery {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-menu .c-gallery {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .p-menu .c-gallery__item {
    width: 30%;
  }
}

/* --- Scenery Section --- */
.p-scenery {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80vh;
}
@media (min-width: 768px) {
  .p-scenery {
    align-items: flex-start;
  }
}
.p-scenery__inner {
  position: relative;
  z-index: var(--z-index-content);
}
.p-scenery__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .p-scenery__content {
    align-items: flex-start;
    padding: 3rem 0;
    font-size: 3rem;
  }
}
.p-scenery__title {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.6;
  position: relative;
	text-shadow: 0px 0px 10px rgb(183 106 49 / 100%);
}
@media (min-width: 768px) {
  .p-scenery__title {
    font-size: 2.25rem;
  }
}
.p-scenery__desc {
  margin-bottom: 1.5rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.1em;
	text-shadow: 0px 0px 10px rgb(183 106 49 / 100%);
}
@media (min-width: 768px) {
  .p-scenery__desc {
    font-size: 1rem;
  }
}
.p-scenery__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-scenery__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* --- Scenery Lower Section --- */
.p-scenery-lower {
  position: relative;
  z-index: var(--z-index-content);
  padding: 6rem 0;
}
.p-scenery-lower::before {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
  content: "";
  background-image: url(../images/bg_line.png);
  background-repeat: no-repeat;
  background-position: 50% 6rem;
	background-size: 1200px;
  transform: scaleX(-1);
}
.p-scenery-lower__bg img,
.p-scenery-lower__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-scenery-lower__content {
  width: 100%;
}
.p-scenery-lower__title {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .p-scenery-lower__title {
    font-size: 2.25rem;
  }
}
.p-scenery-lower__title span {
  display: block;
  font-size: 1.2rem;
}
.p-scenery-lower__desc {
  margin-bottom: 1.5rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .p-scenery-lower__desc {
    font-size: 1rem;
  }
}
.p-scenery-lower__img-area {
  position: relative;
  width: 100%;
}
.p-scenery-lower__img-gallery {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 768px) {
  .p-scenery-lower__img-gallery {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.p-scenery-lower__img-item {
  width: 100%;
}
@media (min-width: 768px) {
  .p-scenery-lower__img-item {
    width: calc(50% - 2.5rem);
  }
}
.p-scenery-lower__img-item img {
  width: 100%;
}
.p-scenery-lower__calendar {
  overflow: auto;
}
.p-scenery-lower table {
  width: 100%;
  min-width: 800px;
  margin-top: 6rem;
  margin-bottom: 6rem;
  border-collapse: collapse;
}
.p-scenery-lower th,
.p-scenery-lower td {
  padding: 0.5rem;
  text-align: center;
}
.p-scenery-lower th {
  border-color: var(--color-text-main);
  border-style: solid dotted solid solid;
  border-width: 1px 1px 1px 1px;
}
.p-scenery-lower td {
  border-color: var(--color-text-main);
  border-style: solid solid solid none;
  border-width: 1px 1px 1px 1px;
}

/* --- Sightseeing Section --- */
.p-sightseeing {
  position: relative;
  z-index: var(--z-index-content);
  padding: 6rem 0;
  /* DRY refactoring for local titles */
}
.p-sightseeing__content {
  width: 100%;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .p-sightseeing__content {
    margin: 0 auto;
    width: 77%;
  }
}
.p-sightseeing__title {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .p-sightseeing__title {
    font-size: 2.25rem;
  }
}

.p-sightseeing__desc {
  margin-bottom: 1.5rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .p-sightseeing__desc {
    font-size: 1rem;
  }
}
.p-sightseeing__links-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3rem;
}
.p-sightseeing__links-item h3 {
  padding: 2rem 2rem 4rem 100px;
}
@media (min-width: 768px) {
  .p-sightseeing__links-item {
    flex-direction: row;
    gap: 3rem;
  }
  .p-sightseeing__links-item h3 {
    padding: 2rem 2rem 4rem 100px;
    border-right: 1px solid var(--color-text-main);
	width: 215px;
  }
}
.p-sightseeing__links-item ul {
  list-style: none;
  margin-left: 3rem;
}
@media (min-width: 768px) {
  .p-sightseeing__links-item ul {
    margin-left: 0;
  }
}
.p-sightseeing__links-item ul li {
  margin-bottom: 1rem;
  width: 100%;
}
.p-sightseeing__links-item ul li a {
  color: var(--color-brand-gold);
  transition: all 0.5s ease 0s;
}
.p-sightseeing__links-item ul li a:hover {
  color: var(--color-text-main);
  background-color: var(--color-brand-gold);
}
.p-sightseeing__links-recommend {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 3rem auto;
  width: 80%;
}
@media (min-width: 768px) {
  .p-sightseeing__links-recommend {
    justify-content: space-evenly;
  }
}
.p-sightseeing__links-recommend-item {
  padding: 1rem;
}
@media (min-width: 768px) {
  .p-sightseeing__links-recommend-item {
    justify-content: space-evenly;
    width: 30%;
  }
}
.p-sightseeing .c-title-tsuruoka {
  background-image: url(../images/local-1.png);
  background-repeat: no-repeat;
  background-size: 100px;
}
.p-sightseeing .c-title-sakata {
  background-image: url(../images/local-2.png);
  background-repeat: no-repeat;
  background-size: 100px;
}
.p-sightseeing .c-title-mikawa {
  background-image: url(../images/local-3.png);
  background-repeat: no-repeat;
  background-size: 100px;
}
.p-sightseeing .c-title-shonai {
  background-image: url(../images/local-4.png);
  background-repeat: no-repeat;
  background-size: 100px;
}
.p-sightseeing .c-title-yuza {
  background-image: url(../images/local-5.png);
  background-repeat: no-repeat;
  background-size: 100px;
}

iframe.map {
  width: 100%;
  height: 500px;
  margin: 0 auto;
}

/* --- Access Section --- */
.p-access {
  position: relative;
  z-index: var(--z-index-content);
  display: flex;
  align-items: center;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-access {
    min-height: auto;
  }
}
.p-access__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-access__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: -300px center;
     object-position: -300px center;
}
.p-access__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media (min-width: 768px) {
	
  .p-access__overlay {
	  background-image: url(../images/access_map.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
    background-position:0 50%;
	      transform: translateZ(0);
    backface-visibility: hidden;
  }
}

.p-access__map{
	display:block

}
.p-access__map img{
  width: 100%;
  height: 400px;
  object-fit: cover;
	object-position:bottom right;
}
@media (min-width: 768px) {
.p-access__map{
	display:none
}
}
.p-access__content {
  position: relative;
  z-index: var(--z-index-content);
  display: flex;
  flex-direction: column;
  justify-content:space-around;
  gap: 20rem;
  width: 100%;
  height: 100%;
padding: 3rem 0 0 0;
}
@media (min-width: 768px) {
  .p-access__content {
    flex-direction: row;
    gap: 0;
	  padding: 4rem 0;
  }
}
.p-access__left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}
@media (min-width: 768px) {
  .p-access__left {
    width: 70%;
  }
}
.p-access__right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
}
@media (min-width: 768px) {
  .p-access__right {
    align-items: center;
    width: 50%;
  }
}
.p-access__catch {
  margin-bottom: 18rem;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.1em;
}
.p-access__catch span {
  padding-left: 1rem;
  padding-right: 1rem;
  color: var(--color-brand-navy);
  background-color: rgba(255, 255, 255, 0.8); 
}
@media (min-width: 768px) {
	.p-access__catch {
		margin-left:10rem;
		font-size: 1.875rem;
	}
}
.p-access__transport {
	padding:2rem 0 1rem 2rem;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	background:#000526;
	color: #fff;
	width:100%;
	max-width:360px;
}
.p-access__transport-title {
	margin-bottom: 0.5rem;
}
.p-access__transport-list {
	margin-bottom: 1rem;
	margin-left: 1rem;
	list-style: none;
}
.p-access__transport-list li {
	display: flex;
	align-items: flex-start;
}
.p-access__transport-desc {

  font-size: 0.75rem;
  line-height: 1.8;
}
.p-access__links {
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 768px) {
  .p-access__links {
    flex-direction: row;
    justify-content: space-between;
  }
}

/* --- Facility Section --- */
.p-facility {
  position: relative;
  z-index: var(--z-index-content);
  padding: 6rem 0;
}
.p-facility::before {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
  content: "";
  background-image: url(../images/bg_line.png);
  background-repeat: no-repeat;
  background-position: 50% 8rem;
	background-size: 1200px;
  transform: scaleX(-1);
}
.p-facility__bg {
  margin-top: 3rem;
  margin-bottom: 6rem;
}
.p-facility__bg img,
.p-facility__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-facility__flex {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .p-facility__flex {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .p-facility__flex {
    align-items: center;
  }
}
.p-facility__content {
  order: 2;
  width: 100%;
}
@media (min-width: 768px) {
  .p-facility__content {
    order: 1;
    width: 50%;
  }
}
.p-facility__title {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .p-facility__title {
    font-size: 2rem;
  }
}
.p-facility__desc {
  margin-bottom: 1.5rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .p-facility__desc {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .p-facility__desc {
    margin-top: 10rem;
  }
}
.p-facility__img-area {
  order: 1;
  width: 100%;
}
@media (min-width: 768px) {
  .p-facility__img-area {
    order: 2;
    width: 50%;
  }
}
.p-facility__img-wrap {
  position: relative;
}
.p-facility__img {
  position: relative;
  z-index: var(--z-index-content);
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0 50%;
     object-position: 0 50%;
}
@media (min-width: 768px) {
  .p-facility__img {
    height: 400px;
  }
}

.p-facility-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  overflow: hidden;
}
.p-facility-hero__bg {
  position: absolute;
  inset: 0;
  z-index: var(--z-index-bg);
}
.p-facility-hero__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-facility-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 5, 38, 0.2), rgba(0, 5, 38, 0.7), var(--color-brand-navy));
}
.p-facility-hero__inner {
  position: relative;
  z-index: var(--z-index-content);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  margin-top: 4rem;
}
@media (min-width: 768px) {
  .p-facility-hero__inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 5rem;
  }
}
.p-facility-hero__badge {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  background-color: var(--color-brand-navy);
  border: 1px solid var(--color-brand-gold);
  border-radius: 50%;
  box-shadow: 0 0 40px rgba(185, 150, 95, 0.4);
}
@media (min-width: 768px) {
  .p-facility-hero__badge {
    width: 180px;
    height: 180px;
  }
}
.p-facility-hero__badge-ja {
  margin-bottom: 0.25rem;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.p-facility-hero__badge-en {
  color: var(--color-brand-gold);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.p-facility-hero__badge-line {
  width: 50%;
  margin: 0.5rem 0;
  border-top: 1px solid rgba(185, 150, 95, 0.5);
}
.p-facility-hero__badge-sub {
  font-size: 0.75rem;
  letter-spacing: 0.2em;
}
.p-facility-hero__info {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 2rem;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  text-align: center;
}
@media (min-width: 768px) {
  .p-facility-hero__info {
    padding-left: 4rem;
    text-align: left;
    border-left: 1px solid rgba(185, 150, 95, 0.3);
  }
}
.p-facility-hero__info-item {
  display: flex;
  flex-direction: column;
}
.p-facility-hero__info-item--full {
  grid-column: span 2;
}
.p-facility-hero__info-dt {
  margin-bottom: 0.5rem;
  color: var(--color-brand-gold);
  font-size: 0.875rem;
  letter-spacing: 0.2em;
}
.p-facility-hero__info-dd {
  font-size: 1.25rem;
}
@media (min-width: 768px) {
  .p-facility-hero__info-dd {
    font-size: 1.5rem;
  }
}
.p-facility-hero__info-note {
  margin-top: 0.25rem;
  color: var(--color-text-gray-light);
  font-size: 0.875rem;
}

/* Facility Lead Section */
.p-facility-lead {
  position: relative;
  padding: 6rem 0;
  text-align: center;
  background-color: var(--color-brand-navy);
}
@media (min-width: 768px) {
  .p-facility-lead {
    padding: 10rem 0;
  }
}
.p-facility-lead__arch {
  position: absolute;
  top: 3rem;
  left: 50%;
  width: 150%;
  height: 250px;
  border-top: 1px solid var(--color-brand-gold);
  border-radius: 50%;
  opacity: 0.4;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-facility-lead__arch {
    top: 5rem;
    width: 80%;
    height: 400px;
  }
}
.p-facility-lead__icon {
  position: absolute;
  top: 2rem;
  left: 50%;
  color: var(--color-brand-gold);
  opacity: 0.8;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .p-facility-lead__icon {
    top: 4rem;
  }
}
.p-facility-lead__text {
  position: relative;
  z-index: 10;
  font-size: 1.125rem;
  line-height: 2.5;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .p-facility-lead__text {
    font-size: 1.25rem;
  }
}

/* Facility Index Grid */
.p-facility-index {
  padding: 4rem 0 6rem;
}
.p-facility-index__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-facility-index__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
.p-facility-index__item {
  display: block;
  padding: 0.5rem;
  background-color: var(--color-text-main);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-facility-index__item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(185, 150, 95, 0.2);
}
.p-facility-index__item:hover .p-facility-index__img {
  transform: scale(1.05);
}
.p-facility-index__img-wrap {
  margin-bottom: 0.5rem;
  overflow: hidden;
}
.p-facility-index__img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-facility-index__name {
  padding: 0.5rem 0;
  color: var(--color-brand-navy);
  font-weight: 500;
  font-size: 0.875rem;
  text-align: center;
}
@media (min-width: 768px) {
  .p-facility-index__name {
    font-size: 1rem;
  }
}

/* Facility Details */
.p-facility-details {
  position: relative;
  padding: 6rem 0;
}
.p-facility-details::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(var(--color-brand-gold) 1px, transparent 1px);
  background-size: 40px 40px;
  opacity: 0.05;
  pointer-events: none;
}

.p-facility-article {
  margin-bottom: 8rem;
  text-align: center;
}
.p-facility-article:last-child {
  margin-bottom: 0;
}
    /* 追加：タイトル（左）と時間（右）のレイアウト用スタイル */
    .p-facility-article__title {
        display: flex;
        justify-content: space-between;
align-items: flex-start;
		padding-bottom: 1rem;
		
    }
    
    .p-facility-article__time {
        font-size: 1rem; /* 既存のタイトルの大きさに合わせて適宜調整してください */
        font-weight: normal;
        text-align: right;
        line-height: 1.5;
    }

    /* スマホなどで画面幅が狭い場合は、縦並びに切り替える処理 */
    @media screen and (max-width: 768px) {
        .p-facility-article__title {
            align-items: flex-start;
        }
        .p-facility-article__time {
            margin-top: 8px;
            text-align: right;
        }
    }
.p-facility-article__img-wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
}
.p-facility-article__img {
  width: 100%;
  max-height: 600px;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Facility Summary Table */
.p-facility-summary {
  padding: 8rem 0;
  background-color: #0a1033;
  border-top: 1px solid rgba(185, 150, 95, 0.2);
}
.p-facility-summary__list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(185, 150, 95, 0.3);
}
@media (min-width: 768px) {
  .p-facility-summary__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-facility-summary__item {
  display: flex;
  flex-direction: column;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
@media (min-width: 640px) {
  .p-facility-summary__item {
    flex-direction: row;
    align-items: baseline;
  }
}
.p-facility-summary__item--full {
  grid-column: 1/-1;
}
.p-facility-summary__dt {
  flex-shrink: 0;
  width: 10rem;
  margin-bottom: 0.5rem;
  color: var(--color-brand-gold);
}
@media (min-width: 640px) {
  .p-facility-summary__dt {
    margin-bottom: 0;
  }
}
.p-facility-summary__dd {
  color: #e5e7eb;
  line-height: 1.8;
}
.p-facility-summary__note {
  display: block;
  margin-top: 0.25rem;
  color: var(--color-text-gray-light);
  font-size: 0.8rem;
}

.c-diamond-icon {
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 auto 1.5rem;
  background-color: var(--color-brand-gold);
  box-shadow: 0 0 10px rgba(185, 150, 95, 0.5);
  transform: rotate(45deg);
}

/* --- Footer --- */
.l-footer {
  padding: 8rem 0;
}
.l-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-text-main);
  text-align: center;
}
.l-footer__logo-area {
  position: relative;
  display: flex;
  align-items: center;
}
.l-footer__logo-area img {
  width: 100%;
  max-width: 200px;
  margin-bottom: 0.5rem;
}
.l-footer__number {
  font-weight: normal;
  font-size: 1.6rem;
  font-family: "Times New Roman", Times, serif;
  letter-spacing: 0.1em;
}
.l-footer__address {
  color: var(--color-text-main);
  font-size: 0.8rem;
  letter-spacing: 0.2em;
}

/* --- Side Menu --- */
.l-side-menu {
  position: fixed;
  inset: auto 0 0 0;
  z-index: var(--z-index-menu);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 0;
  color: var(--color-text-main);
  white-space: nowrap;
  writing-mode: horizontal-tb;
}
@media (min-width: 768px) {
  .l-side-menu {
    top: 3rem;
    right: 0;
    left: auto;
    width: 30px;
    writing-mode: vertical-rl;
  }
}
.l-side-menu__list {
  display: flex;
  flex-direction: row;
  margin-block-start: 0;
  margin-block-end: 0;
}
.l-side-menu__item {
  margin: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .l-side-menu__item {
    width: 100%;
  }
}
.l-side-menu__link {
  display: block;
  width: 100%;
  padding: 0.8rem;
  letter-spacing: 0.2em;
  transition: background-color 0.3s ease;
}
.l-side-menu__link--reservation {
  padding-right: 35px;
  padding-left: 25px;
  background-color: var(--color-brand-orange);
  background-image: url(../images/ic-loupe.svg);
  background-repeat: no-repeat;
  background-position: 88% 50%;
  background-size: 15px;
}
@media (min-width: 768px) {
  .l-side-menu__link--reservation {
    padding: 1.5rem 0.8rem 3rem;
    background-position: 50% 85%;
  }
}
.l-side-menu__link--reservation:hover {
  background-color: color-mix(in srgb, var(--color-brand-orange) 80%, transparent);
}
.l-side-menu__link--lang {
  background-color: var(--color-brand-navy-light);
}
.l-side-menu__link--lang:hover {
  background-color: color-mix(in srgb, var(--color-brand-navy-light) 80%, transparent);
}
.l-side-menu__link--ig {
  background-color: var(--color-sns-ig);
  background-image: url(../images/ic-ig.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 25px;
  text-indent: -999999px;
}
@media (min-width: 768px) {
  .l-side-menu__link--ig {
    padding: 1.5rem 0.8rem 2rem;
  }
}
.l-side-menu__link--ig:hover {
  background-color: color-mix(in srgb, var(--color-sns-ig) 80%, transparent);
}
.l-side-menu__link--top {
  background-color: var(--color-brand-navy);
}
@media (min-width: 768px) {
  .l-side-menu__link--top {
    padding: 1.5rem 0.8rem 2rem;
  }
}
.l-side-menu__link--top:hover {
  background-color: color-mix(in srgb, var(--color-brand-navy) 80%, transparent);
}

/* --- Photo Gallery Section --- */

.p-gallery {
  background-color: var(--color-brand-navy);
}
.p-gallery__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .p-gallery__list {
    grid-template-columns: repeat(5, 1fr);
  }
}
.p-gallery__item {
  position: relative;
  overflow: hidden;
}
.p-gallery__img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
  transition: transform 0.5s ease;
}
@media (hover: hover) {
  .p-gallery__img:hover {
    transform: scale(1.05);
  }
}
@media (min-width: 768px) {
  .p-top-garalley .p-gallery__list{
    grid-template-columns: repeat(7, 1fr);
  }
.p-viking .p-gallery__list{
    grid-template-columns: repeat(8, 1fr);
  }
}


/* --- Contact Section --- */
.p-contact {
  padding: 80px 0;
  color: var(--color-text-main);
  font-family: var(--font-family-serif);
}
@media (max-width: 767px) {
  .p-contact {
    padding: 40px 0;
  }
}
.p-contact__intro {
  margin-bottom: 60px;
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-contact__intro-tel {
  display: inline-block;
  margin-top: 30px;
  padding: 24px 40px;
  font-weight: 500;
  font-size: 16px;
  background-color: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
}
@media (max-width: 767px) {
  .p-contact__intro-tel {
    box-sizing: border-box;
    width: 100%;
    padding: 16px;
  }
}
.p-contact__intro-tel .tel {
  margin: 8px 0;
  font-weight: 600;
  font-size: 24px;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .p-contact__intro-tel .tel {
    font-size: 20px;
  }
}
.p-contact__form-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 50px;
  color: var(--color-text-dark);
  font-family: sans-serif;
  background-color: var(--color-text-main);
  border-radius: 8px;
}
@media (max-width: 767px) {
  .p-contact__form-wrapper {
    padding: 24px 16px;
  }
}
.p-contact__table {
  width: 100%;
  border-collapse: collapse;
}
.p-contact__table th,
.p-contact__table td {
  padding: 24px 16px;
  vertical-align: middle;
  text-align: left;
  border-bottom: 1px solid #e0e0e0;
}
@media (max-width: 767px) {
  .p-contact__table th,
  .p-contact__table td {
    display: block;
    width: 100%;
    padding: 16px 8px;
  }
}
.p-contact__table th {
  width: 35%;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
  background-color: #f9f9f9;
}
@media (max-width: 767px) {
  .p-contact__table th {
    padding-bottom: 8px;
    border-bottom: none;
  }
}
@media (max-width: 767px) {
  .p-contact__table td {
    padding-top: 0;
  }
}
.p-contact__req {
  display: inline-block;
  margin-left: 12px;
  padding: 4px 8px;
  color: var(--color-text-main);
  font-size: 11px;
  vertical-align: text-bottom;
  background-color: #c73a3a;
  border-radius: 4px;
}
.p-contact__input, .p-contact__textarea {
  width: 100%;
  padding: 12px;
  color: var(--color-text-dark);
  font-size: 15px;
  font-family: inherit;
  background-color: var(--color-text-main);
  border: 1px solid #ccc;
  border-radius: 4px;
  transition: border-color 0.3s;
}
.p-contact__input:focus, .p-contact__textarea:focus {
  border-color: #8c734b;
  outline: none;
}
.p-contact__textarea {
  min-height: 180px;
  resize: vertical;
}
.p-contact__radio-group {
  display: flex;
  gap: 24px;
}
.p-contact__radio-label {
  display: flex;
  align-items: center;
  font-size: 15px;
  cursor: pointer;
}
.p-contact__radio-label input {
  margin-right: 8px;
  transform: scale(1.2);
}
.p-contact__submit {
  margin-top: 50px;
  text-align: center;
}
.p-contact__btn {
  display: inline-block;
  padding: 18px 80px;
  color: var(--color-text-main);
  font-size: 16px;
  letter-spacing: 0.1em;
  text-decoration: none;
  background-color: var(--color-text-dark);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.p-contact__btn:hover {
  background-color: var(--color-text-gray);
}

/* GTranslateウィジェットの微調整 */
.l-side-menu__link--lang {
  /* aタグからdivタグに変更したための調整（元のaタグと同じ挙動にする）*/
  display: block;
  width: 100%;
  cursor: pointer;
  /* GTranslate内の不要な余白を消す場合 */
  /* セレクトボックスの見た目調整例 */
}
.l-side-menu__link--lang #gt_widget {
  margin: 0 !important;
}
.l-side-menu__link--lang select {
  background: transparent;
  color: inherit;
  border: none;
  outline: none;
  /* 必要であればフォントサイズ等も指定 */
}

.gt_white_content {
  width: 235px !important;
}

.gt_white_content .gt_languages {
  writing-mode: horizontal-tb;
}

/* ==========================================================================
Archive Grid & Card (archive.php用)
========================================================================== */
.p-archive-grid {
  display: grid;
  /* スマホ: 1カラム */
  grid-template-columns: 1fr;
  gap: 3rem 1.5rem; /* 行間を少し広めに設定 */
  /* タブレット: 2カラム */
  /* PC: 3カラム */
}
@media (min-width: 768px) {
  .p-archive-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .p-archive-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-archive-card {
  background: #ffffff;
  border-radius: 0; /* シャープな印象にするため角丸を無効化 */
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* 影を柔らかく */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.p-archive-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}
.p-archive-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--color-text-dark);
  text-decoration: none;
}
.p-archive-card__link:hover {
  color: var(--color-text-dark);
}
.p-archive-card__img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3; /* サムネイル画像の比率 */
  background-color: var(--color-brand-navy-light);
  overflow: hidden;
}
.p-archive-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.5s ease;
}
.p-archive-card__link:hover .p-archive-card__img {
  transform: scale(1.05);
}
.p-archive-card__badge {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  margin: 0;
  padding: 0.4rem 1rem;
  font-size: 0.75rem;
  color: #fff;
  letter-spacing: 0.1em;
  /* 背景色は付与されるモディファイアクラス（--info等）に依存します */
}
.p-archive-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 1.5rem;
}
.p-archive-card__title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 1rem 0;
  /* 長いタイトルは3行目で「...」省略 */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.3s ease;
}
.p-archive-card__link:hover .p-archive-card__title {
  color: var(--color-brand-gold);
}
.p-archive-card__meta {
  margin-top: auto; /* 余白があれば下部に押しやる */
  display: flex;
  justify-content: flex-end; /* 日付を右寄せに */
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  font-size: 0.8rem;
  font-family: sans-serif;
  color: var(--color-text-gray);
}
.p-archive-card__date {
  display: flex;
  align-items: center;
}
.p-archive-card__date--update {
  /* 更新日用のスタイルがあればここに */
}
.blog .p-hero,
#legend .p-hero,
.single-post .p-hero{
	height: 7vh;
}

h2,p{
	margin-bottom:1.2rem;
	line-height:1.8;
}

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