@charset "UTF-8";
/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RESET CSS

html5doctor.com Reset Stylesheet

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
  width: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
} /* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
} /* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  padding: 0;
}

/* ------------------------- 使い方 ----------------------------------------------------------

    @include sizing(width, wide, 365px, sp, 276px);
    ==> width: clamp(276px, 7.46vw + 248px, 365px);
    （ビューポートがwide(1568px)のとき365px, sp(375px)のとき276pxになる自動補完値を上限下限をつけて設定）

    @include sizing(width, wide, 365px, sp, 276px, noClamp);
    ==> width: calc(7.46vw + 248px);
    （ビューポートがwide(1568px)のとき365px, sp(375px)のとき276pxになる自動補完値を設定）

    @include sizingRem(font-size, wide, 14px, sp, 12px);
    ==> font-size: clamp(0.75rem, 0.17vw + 0.70625rem, 0.875rem;
    （ビューポートがwide(1568px)のとき14px, sp(375px)のとき12pxになる自動補完値をremに変換して設定）
　　
    ※使いたいsassファイル上で@useしてください。
    ※scssファイル上での読みやすさ重視のため、mixinの引数に単位[px]が必要な仕様にしてあります。

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

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  scroll-behavior: smooth;
  line-height: 2;
}

body {
  color: #272727;
  background-color: #F2F2F0;
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  font-family: "Zen Old Mincho", serif, sans-serif;
  font-weight: 500;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: clamp(0.9375rem, 0.19vw + 14.3px, 1.0625rem);
}
@media screen and (min-width: 960px) {
  body {
    line-height: 2;
  }
  body.lang-en {
    line-height: 1.8;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
}

video {
  max-width: 100%;
  height: auto;
}

a,
a:link,
a:visited {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a:active,
a:hover {
  color: inherit;
  text-decoration: none;
}

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

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p {
  margin: 0;
  padding: 0;
}

img {
  border: 0;
  line-height: 0;
  vertical-align: bottom;
}

svg {
  vertical-align: bottom;
}

hr {
  display: none;
}

table {
  margin: 0;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
  margin: 0;
}

td {
  margin: 0;
}

em {
  font-weight: bold;
  font-style: normal;
}

form {
  margin: 0;
  padding: 0;
}

label {
  margin: 0;
  padding: 0;
}

input.btn {
  margin: 0 0.5em;
  padding: 0 1em;
}

button {
  border: none;
  font: inherit;
  line-height: inherit;
  background: none;
  margin: 0;
}

address {
  font-style: normal;
}

/* キーボード操作"以外"でフォーカスされた際はoutlineを消す */
.js-focus-visible :focus:not(.focus-visible) {
  outline: 0;
}

/*
header
-----------------------------------------------------*/
.l-header__logo {
  position: absolute;
  top: clamp(16px, 1.5vw + 10.4px, 32px);
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  z-index: 99;
  margin-top: -10px;
}
.l-header__logo .logo {
  width: clamp(60px, 5.07vw + 41px, 114px);
}
.l-header__logo .logo.-home {
  width: clamp(95px, 6.1vw + 72.1px, 160px);
}
.l-header__logo .copy {
  width: clamp(16px, 0.38vw + 14.6px, 20px);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0.3em 0 0;
}
.l-header.-white .l-header__logo {
  -webkit-filter: invert(1) brightness(1.3);
          filter: invert(1) brightness(1.3);
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    top: 44px;
  }
}

.l-header__skiplink {
  position: absolute;
  left: clamp(70px, 4.69vw + 52.4px, 120px);
  top: 10px;
  margin: auto;
  z-index: 50;
  background: #FFF;
  border: 1px solid;
  text-align: center;
  padding: 0.5em 2em;
  opacity: 0;
  font-size: clamp(0.625rem, 0.28vw + 8.9px, 0.8125rem);
}
.l-header__skiplink.is-visible {
  opacity: 1;
}

.l-header-menu {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  margin: auto;
  z-index: 998;
  opacity: 0;
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition: opacity 0.5s, -webkit-filter 0.5s;
  transition: opacity 0.5s, -webkit-filter 0.5s;
  transition: opacity 0.5s, filter 0.5s;
  transition: opacity 0.5s, filter 0.5s, -webkit-filter 0.5s;
  visibility: hidden;
  overflow-y: scroll;
  font-size: 1.0625rem;
  padding-bottom: 100px;
}
@media screen and (min-width: 960px) {
  .l-header-menu {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-bottom: 0;
  }
}
.l-header-menu .l-header-menu__inner,
.l-header-menu .l-header-menu__title {
  opacity: 0;
  -webkit-filter: blur(5px);
          filter: blur(5px);
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-transition: opacity 0.3s, -webkit-transform 0.3s, -webkit-filter 0.3s;
  transition: opacity 0.3s, -webkit-transform 0.3s, -webkit-filter 0.3s;
  transition: transform 0.3s, opacity 0.3s, filter 0.3s;
  transition: transform 0.3s, opacity 0.3s, filter 0.3s, -webkit-transform 0.3s, -webkit-filter 0.3s;
}
.l-header-menu.is-open {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  color: #FFF;
  background: #767973 url(../img/common/bg-sand.jpg) no-repeat center center/cover;
  visibility: visible;
  background-blend-mode: multiply;
}
.l-header-menu.is-open .l-header-menu__inner,
.l-header-menu.is-open .l-header-menu__title {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition: opacity 0.5s 0.2s, -webkit-transform 1s, -webkit-filter 0.7s 0.2s;
  transition: opacity 0.5s 0.2s, -webkit-transform 1s, -webkit-filter 0.7s 0.2s;
  transition: transform 1s, opacity 0.5s 0.2s, filter 0.7s 0.2s;
  transition: transform 1s, opacity 0.5s 0.2s, filter 0.7s 0.2s, -webkit-transform 1s, -webkit-filter 0.7s 0.2s;
}
.l-header-menu__toggle {
  position: fixed;
  top: clamp(15px, 1.6vw + 9px, 32px);
  right: clamp(15px, 1.6vw + 9px, 32px);
  margin: auto;
  z-index: 999;
  mix-blend-mode: exclusion;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .l-header-menu__toggle {
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    pointer-events: none;
  }
  .l-header-menu__toggle.-show {
    opacity: 1;
    pointer-events: auto;
  }
}
.l-header-menu__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 25px 0 60px;
}
@media screen and (min-width: 960px) {
  .l-header-menu__title {
    padding-top: 30vh;
  }
}
@media screen and (min-width: 960px) {
  .l-header-menu__title-wrap {
    background: rgba(0, 0, 0, 0.7) url(../img/common/limestone.jpg) no-repeat center center/cover;
    background-blend-mode: multiply;
  }
}
.l-header-menu__logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-filter: invert(1);
          filter: invert(1);
  position: relative;
  z-index: 2;
}
.l-header-menu__logo .logo {
  width: clamp(43px, 3.29vw + 30.7px, 78px);
  height: auto;
}
.l-header-menu__logo .shinshu {
  width: clamp(10px, 0.75vw + 7.2px, 18px);
  margin-left: 10px;
  margin-top: 10px;
}
.l-header-menu__lead {
  display: none;
}
@media screen and (min-width: 960px) {
  .l-header-menu__lead {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-filter: invert(1);
            filter: invert(1);
    margin-right: 23px;
  }
  .l-header-menu__lead .title {
    width: 24px;
  }
  .l-header-menu__lead .lead {
    width: 33px;
    margin-right: 15px;
  }
}
.l-header-menu__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header-menu__wrap {
  width: 85%;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .l-header-menu__wrap {
    max-width: 416px;
  }
}
.l-header-menu .c-button::after {
  -webkit-filter: invert(1);
          filter: invert(1);
}

/*
footer
-----------------------------------------------------*/
.l-footer {
  padding: clamp(52px, 6.85vw + 26.3px, 125px) 0 clamp(32px, 9.2vw - 2.5px, 130px);
}
.l-footer__link {
  width: clamp(281px, 66.76vw + 30.6px, 992px);
  font-size: clamp(1.4375rem, 0.66vw + 20.5px, 1.875rem);
  display: -ms-grid;
  display: grid;
  gap: clamp(40px, 11.27vw - 2.3px, 160px);
  margin: clamp(100px, -1.88vw + 127.1px, 120px) auto;
}
@media screen and (min-width: 768px) {
  .l-footer__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__link > li:nth-child(2n) .l-footer__link-item {
    margin-left: clamp(40px, 11.27vw - 2.3px, 160px);
  }
  .l-footer__link-item {
    width: calc(50% - clamp(40px, 11.27vw - 2.3px, 160px) / 2);
  }
}
.l-footer__poem {
  background: url(../img/common/bottom.jpg) no-repeat center center/cover;
  padding: clamp(68px, 14.74vw + 12.7px, 225px) 0 clamp(65px, 13.99vw + 12.5px, 214px);
  color: #FFF;
}
.l-footer__poem-lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.l-footer__poem .ttl {
  width: clamp(25px, 1.41vw + 19.7px, 40px);
  -webkit-filter: invert(1);
          filter: invert(1);
  margin-left: clamp(25px, 0.94vw + 21.5px, 35px);
}
.l-footer__poem .lead {
  width: clamp(32px, 1.88vw + 24.9px, 52px);
  -webkit-filter: invert(1);
          filter: invert(1);
}
@media screen and (min-width: 768px) {
  .l-footer__top {
    width: 92%;
    margin: 0 0 0 auto;
  }
}
@media screen and (min-width: 960px) {
  .l-footer__top {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.l-footer__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 50px;
}
@media screen and (min-width: 960px) {
  .l-footer__title {
    margin-top: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
  }
}
.l-footer__logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.l-footer__logo .logo {
  width: clamp(70px, 3.76vw + 55.9px, 110px);
  margin-top: -5px;
}
.l-footer__logo .shinshu {
  margin-top: 5px;
  margin-left: 5px;
}
.l-footer__lead {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-right: clamp(10px, -1.88vw + 37.1px, 30px);
}
.l-footer__lead .title {
  width: 24px;
}
.l-footer__lead .lead {
  width: 32px;
  margin-right: 14px;
}
@media screen and (min-width: 960px) {
  .l-footer__sitemap {
    width: auto;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-left: clamp(50px, 29.17vw - 230px, 190px);
  }
}
.l-footer__bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: clamp(50px, 4.69vw + 32.4px, 100px);
}
@media screen and (min-width: 768px) {
  .l-footer__bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.l-footer__seolinks {
  font-size: clamp(0.8125rem, 0.09vw + 12.7px, 0.875rem);
  margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .l-footer__seolinks {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-top: 2em;
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 0;
  }
}
.l-footer__seolinks-item + .l-footer__seolinks-item {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .l-footer__seolinks-item + .l-footer__seolinks-item {
    margin-top: 0;
    margin-left: 2em;
  }
}
.l-footer__seolinks .c-button::before {
  background: #D3D3D3;
}
.l-footer__privacy {
  font-size: clamp(0.75rem, 0.09vw + 11.7px, 0.8125rem);
}
.l-footer__copyright {
  font-size: clamp(0.75rem, 0.09vw + 11.7px, 0.8125rem);
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .l-footer__copyright {
    margin-top: 0;
  }
}

/*
 container
-----------------------------------------------------*/
.l-container.-primary {
  width: clamp(317px, 81.41vw + 11.7px, 1184px);
  max-width: 85%;
  margin: 0 auto;
}
.l-container.-primary--right-full {
  width: calc(50% + clamp(317px, 81.41vw + 11.7px, 1184px) / 2);
  max-width: 92.5%;
  margin: 0 0 0 auto;
}
.l-container.-secondary {
  width: clamp(317px, 82.56vw + 7.4px, 800px);
  max-width: 85%;
  margin: 0 auto;
}
.l-container.-tertiary {
  width: clamp(317px, 63.38vw + 79.3px, 992px);
  max-width: 85%;
  margin: 0 auto;
}
.l-container.-semiwide {
  width: clamp(347px, 81.6vw + 41px, 1216px);
  max-width: 94%;
  margin: 0 auto;
}
.l-container.-right-shifted--slight {
  width: 92%;
  margin: 0 0 0 auto;
}
.l-container.-right-shifted--slight-touch {
  width: 84%;
  margin: 0 0 0 auto;
}
.l-container.-full {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-container.-pc-mainwrap {
    padding-left: 120px;
  }
  .l-container.-pc-primary {
    width: clamp(317px, 81.41vw + 11.7px, 1184px);
    max-width: 85%;
    margin: 0 auto;
  }
  .l-container.-pc-secondary {
    width: clamp(317px, 45.35vw + 146.9px, 800px);
    max-width: 85%;
    margin: 0 auto;
  }
  .l-container.-pc-right-shifted--slight {
    width: clamp(317px, 84.41vw + 0.5px, 1216px);
    max-width: 92%;
    margin: 0 0 0 auto;
  }
  .l-container.-pc-right-shifted--strong {
    width: clamp(300px, 39.44vw + 152.1px, 720px);
    margin: 0 0 0 auto;
  }
  .l-container.-pc-right-shifted--strong-touch {
    width: calc(max(5%, (100% - clamp(317px, 84.41vw + 0.5px, 1216px)) / 2) + clamp(300px, 39.44vw + 152.1px, 720px));
    max-width: 82.5%;
    margin: 0 0 0 auto;
  }
  .l-container.-pc-semiwide {
    width: clamp(317px, 84.41vw + 0.5px, 1216px);
    max-width: 90%;
    margin: 0 auto;
  }
  .l-container.-pc-full {
    width: 100%;
    max-width: none;
  }
}
@media screen and (min-width: 960px) {
  .l-container__column {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 80% 20%;
    grid-template-columns: 80% 20%;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.l-column2 {
  display: -ms-grid;
  display: grid;
  gap: 13px;
}
@media screen and (min-width: 768px) {
  .l-column2 {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.l-column3 {
  display: -ms-grid;
  display: grid;
  gap: 13px;
}
@media screen and (min-width: 768px) {
  .l-column3 {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.l-column-manual {
  display: -ms-grid;
  display: grid;
  gap: var(--gap);
}
@media screen and (min-width: 768px) {
  .l-column-manual {
    -ms-grid-columns: var(--lwidth) var(--rwidth);
    grid-template-columns: var(--lwidth) var(--rwidth);
  }
}

/*
spacer
-----------------------------------------------------*/
.l-spacer.-ss {
  margin-top: clamp(45px, 2.35vw + 36.2px, 70px);
}
.l-spacer.-ss.-both {
  margin-bottom: clamp(45px, 2.35vw + 36.2px, 70px);
}
.l-spacer.-ss.-bottom {
  margin-top: 0;
  margin-bottom: clamp(45px, 2.35vw + 36.2px, 70px);
}
.l-spacer.-small {
  margin-top: clamp(50px, 4.69vw + 32.4px, 100px);
}
.l-spacer.-small.-both {
  margin-bottom: clamp(50px, 4.69vw + 32.4px, 100px);
}
.l-spacer.-small.-bottom {
  margin-top: 0;
  margin-bottom: clamp(50px, 4.69vw + 32.4px, 100px);
}
.l-spacer.-sm {
  margin-top: clamp(70px, 4.69vw + 52.4px, 120px);
}
.l-spacer.-sm.-both {
  margin-bottom: clamp(70px, 4.69vw + 52.4px, 120px);
}
.l-spacer.-medium {
  margin-top: clamp(100px, 6.57vw + 75.4px, 170px);
}
.l-spacer.-medium.-both {
  margin-bottom: clamp(100px, 6.57vw + 75.4px, 170px);
}
.l-spacer.-medium.-bottom {
  margin-top: 0;
  margin-bottom: clamp(70px, 4.69vw + 52.4px, 120px);
}
.l-spacer.-large {
  margin-top: clamp(130px, 7.51vw + 101.8px, 210px);
}
.l-spacer.-large.-both {
  margin-bottom: clamp(130px, 7.51vw + 101.8px, 210px);
}
.l-spacer.-large.-bottom {
  margin-top: 0;
  margin-bottom: clamp(130px, 7.51vw + 101.8px, 210px);
}
.l-spacer.-emhalf {
  margin-top: 0.5em;
}
.l-spacer.-em1 {
  margin-top: 1em;
}
.l-spacer.-em2 {
  margin-top: 2em;
}
.l-spacer.-em3 {
  margin-top: 3em;
}

/*
main
-----------------------------------------------------*/
.l-main__poem {
  position: absolute;
  top: clamp(15px, 1.6vw + 9px, 32px);
  left: clamp(12px, 1.13vw + 7.8px, 24px);
  margin: auto;
  z-index: 10;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
  font-family: "Hina Mincho", serif;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  font-size: clamp(0.875rem, 0.56vw + 11.9px, 1.25rem);
  line-height: 1.8;
}
.l-main__poem.-fixed {
  color: #FFF;
  mix-blend-mode: exclusion;
  -webkit-filter: brightness(2);
          filter: brightness(2);
}
@media screen and (min-width: 768px) {
  .l-main__poem.-fixed {
    position: fixed;
  }
}
@media screen and (max-width: 767px) {
  .single-accommodation .l-main__poem.-fixed {
    color: #272727;
    mix-blend-mode: initial;
  }
}
.l-main__poem .author {
  display: block;
  text-align: right;
  font-style: normal;
  font-size: clamp(0.75rem, 0.38vw + 10.6px, 1rem);
  margin-right: 0.5em;
}
.l-main__poem .author::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 2em;
  background: currentColor;
  margin-bottom: 0.5em;
}
.l-main__mainvisual {
  height: clamp(243px, 19.81vw + 168.7px, 454px);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  position: relative;
  z-index: 10;
}
.l-main__mainvisual img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-main__mainvisual .l-main__poem.-fixed {
  mix-blend-mode: initial;
}
.l-main__simple-head {
  padding-top: clamp(215px, 12.21vw + 169.2px, 345px);
}

[inert] {
  pointer-events: none;
}

/*
category
-----------------------------------------------------*/
.c-bg--wave {
  position: relative;
}
.c-bg--wave::before {
  content: "";
  width: 100%;
  height: 100dvh;
  background: #F2F2F0 url(../img/common/bg-sand.jpg) no-repeat center center/cover;
  background-blend-mode: multiply;
  position: fixed;
  top: 0;
  left: 0;
  margin: auto;
  z-index: -1;
}

.c-bg--gray {
  position: relative;
  color: #FFF;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
.c-bg--gray::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  background: #585957;
  z-index: -1;
  mix-blend-mode: multiply;
}

.c-bg--green {
  position: relative;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}
.c-bg--green::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  background: rgba(138, 143, 130, 0.4);
  z-index: -1;
  mix-blend-mode: multiply;
}

.c-bg--white {
  position: relative;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  background: rgba(255, 255, 255, 0.6);
}

/*button
-----------------------------------------------------*/
.c-button {
  display: block;
  position: relative;
  padding: 0 1em 0.5em 0;
}
.c-button::before {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  background: currentColor;
}
.c-button::after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  position: absolute;
  right: 0;
  bottom: 0.8em;
  margin: auto;
  background: url(../img/common/hover0.png) no-repeat center center/100% 100%;
}
.c-button.-inline {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 4em;
}
.c-button.-outer::after {
  width: 0.5em;
  height: 0.5em;
  bottom: 1.2em;
  background: url(../img/common/out.svg) no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  .c-button.-vertical {
    padding: 0 0 0 0.5em;
    height: 10em;
    border: none;
  }
  .c-button.-vertical::before {
    width: 1px;
    height: 100%;
  }
  .c-button.-vertical::after {
    top: auto;
    left: 0.7em;
    bottom: 0;
    right: 0;
  }
}
@media screen and (min-width: 960px) {
  .c-button.-vertical--lap {
    padding: 0 0 0 0.5em;
    height: 10em;
    border: none;
  }
  .c-button.-vertical--lap::before {
    width: 1px;
    height: 100%;
  }
  .c-button.-vertical--lap::after {
    top: auto;
    left: 0.7em;
    bottom: 0;
    right: 0;
  }
}
@media (hover: hover) {
  .c-button.-animate::after {
    -webkit-animation: pod-reverse 0.3s steps(5) forwards;
            animation: pod-reverse 0.3s steps(5) forwards;
  }
  .u-hover:hover .c-button.-animate::after, .c-button.-animate:hover::after {
    -webkit-animation: pod 0.3s steps(5) forwards;
            animation: pod 0.3s steps(5) forwards;
  }
  .c-button.-outer.-animate::after {
    -webkit-animation: out-pod-reverse 0.3s steps(6) forwards;
            animation: out-pod-reverse 0.3s steps(6) forwards;
  }
  .u-hover:hover .c-button.-outer.-animate::after, .c-button.-outer.-animate:hover::after {
    -webkit-animation: out-pod 0.3s steps(6) forwards;
            animation: out-pod 0.3s steps(6) forwards;
  }
}

@-webkit-keyframes pod {
  0% {
    background-image: url(../img/common/hover0.png);
  }
  20% {
    background-image: url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
}

@keyframes pod {
  0% {
    background-image: url(../img/common/hover0.png);
  }
  20% {
    background-image: url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
}
@-webkit-keyframes pod-reverse {
  0% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  20% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/hover0.png);
  }
}
@keyframes pod-reverse {
  0% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  20% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/hover0.png);
  }
}
.c-button--line {
  position: relative;
}
.c-button--line.-outer::after {
  content: "";
  width: 0.7em;
  height: 0.7em;
  display: inline-block;
  background: url(../img/common/out.svg) no-repeat center center/contain;
  vertical-align: middle;
  position: absolute;
  bottom: 0.2em;
  left: calc(100% + 0.5em);
  margin: auto;
}
@media (hover: hover) {
  .c-button--line.-outer.-animate::after {
    -webkit-animation: out-pod-reverse 0.3s steps(6) forwards;
            animation: out-pod-reverse 0.3s steps(6) forwards;
  }
  .u-hover:hover .c-button--line.-outer.-animate::after, .c-button--line.-outer.-animate:hover::after {
    -webkit-animation: out-pod 0.3s steps(6) forwards;
            animation: out-pod 0.3s steps(6) forwards;
  }
}

a.c-button--line {
  text-decoration: underline;
}

.c-button--plain {
  -webkit-transform: opacity 0.3s;
          transform: opacity 0.3s;
}
.c-button--plain:hover, .u-hover .c-button--plain:hover {
  opacity: 0.6;
}

/*
sitemap
-----------------------------------------------------*/
.c-sitemap {
  font-size: 1.125rem;
  font-weight: 500;
}
.c-sitemap__item {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-sitemap--header {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "home spring" "story around" "story news" "story access" "story contact" "inn inn";
    gap: 33px 30px;
    -ms-grid-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -ms-grid-rows: auto 33px auto 33px auto 33px auto 33px auto 33px auto;
    grid-template-rows: repeat(6, auto);
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.c-sitemap--header .c-button::before {
  opacity: 0.3;
}
.c-sitemap--footer {
  font-size: 1.0625rem;
}
@media screen and (min-width: 1280px) {
  .c-sitemap--footer {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "home blank blank" "story inn spring" "story inn around" "story inn news" "story inn access" "story inn contact";
    gap: 30px 40px;
    -ms-grid-columns: 20% 40px minmax(0, 1fr) 40px 27%;
    grid-template-columns: 20% minmax(0, 1fr) 27%;
    -ms-grid-rows: auto 30px auto 30px auto 30px auto 30px auto 30px 1fr;
    grid-template-rows: auto auto auto auto auto 1fr;
    -webkit-box-align: start;
    -webkit-align-items: start;
        -ms-flex-align: start;
            align-items: start;
  }
}
.c-sitemap--footer .c-button::before {
  background: #D3D3D3;
}
.c-sitemap__item {
  margin-bottom: 1em;
}
@media screen and (min-width: 1280px) {
  .c-sitemap__item {
    margin: 0;
  }
}
.c-sitemap .home {
  grid-area: home;
}
.c-sitemap .story {
  grid-area: story;
}
.c-sitemap .inn {
  grid-area: inn;
}
.c-sitemap .spring {
  grid-area: spring;
}
.c-sitemap .around {
  grid-area: around;
}
.c-sitemap .news {
  grid-area: news;
}
.c-sitemap .access {
  grid-area: access;
}
.c-sitemap .contact {
  grid-area: contact;
}
@media screen and (min-width: 768px){
  .c-sitemap .home {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-sitemap .story {
    -ms-grid-row: 3;
    -ms-grid-row-span: 7;
    -ms-grid-column: 1;
  }
  .c-sitemap .inn {
    -ms-grid-row: 11;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
  .c-sitemap .spring {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .c-sitemap .around {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .c-sitemap .news {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
  .c-sitemap .access {
    -ms-grid-row: 7;
    -ms-grid-column: 3;
  }
  .c-sitemap .contact {
    -ms-grid-row: 9;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 1280px){
  .c-sitemap--footer > .home {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-sitemap--footer > .story {
    -ms-grid-row: 3;
    -ms-grid-row-span: 9;
    -ms-grid-column: 1;
  }
  .c-sitemap--footer > .inn {
    -ms-grid-row: 3;
    -ms-grid-row-span: 9;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .c-sitemap--footer > .spring {
    -ms-grid-row: 3;
    -ms-grid-column: 5;
  }
  .c-sitemap--footer > .around {
    -ms-grid-row: 5;
    -ms-grid-column: 5;
  }
  .c-sitemap--footer > .news {
    -ms-grid-row: 7;
    -ms-grid-column: 5;
  }
  .c-sitemap--footer > .access {
    -ms-grid-row: 9;
    -ms-grid-column: 5;
  }
  .c-sitemap--footer > .contact {
    -ms-grid-row: 11;
    -ms-grid-column: 5;
  }
}

.c-sitemap-sub {
  margin: 1em 0 2em;
  font-size: clamp(0.875rem, 0.19vw + 13.3px, 1rem);
}
.c-sitemap-sub > li {
  margin-bottom: 1em;
}
@media screen and (min-width: 960px) {
  .c-sitemap-sub > li {
    margin-bottom: 0.7em;
  }
}
@media screen and (min-width: 960px) {
  .c-sitemap-sub.-inn {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}
@media (hover: hover) {
  .c-sitemap-sub a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .c-sitemap-sub a:hover {
    opacity: 0.6;
  }
}

/*
category
-----------------------------------------------------*/
.c-category {
  font-size: 0.8rem;
}
.c-category a {
  margin-right: 1em;
  text-decoration: underline;
}
.c-category span {
  margin-right: 1em;
}

.c-category-list a {
  text-decoration: underline;
  margin-right: 2em;
}

/*
hamburger buttom
-----------------------------------------------------*/
.c-hamburger {
  color: #FFF;
}
.c-hamburger__icon {
  position: relative;
  width: 33px;
  height: 33px;
  display: block;
  margin: 0 auto;
}
.c-hamburger__icon::before, .c-hamburger__icon::after {
  content: "";
  width: 33px;
  height: 1px;
  display: block;
  background: currentColor;
  position: absolute;
  inset: 0;
  margin: auto;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-hamburger__icon::before {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}
.c-hamburger__icon::after {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}
.c-hamburger.is-open {
  mix-blend-mode: normal;
}
.c-hamburger.is-open .c-hamburger__icon::before {
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.c-hamburger.is-open .c-hamburger__icon::after {
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}

/*
  title
-----------------------------------------------------*/
.c-title--page-main {
  font-size: clamp(2.5rem, 2.35vw + 31.2px, 4.0625rem);
  line-height: 1.5;
  font-family: "Hina Mincho", serif;
}

.c-title--archive-main {
  text-align: center;
  font-size: clamp(2.1875rem, 1.22vw + 30.4px, 3rem);
}

.c-title--section {
  font-size: clamp(2.0625rem, 1.13vw + 28.8px, 2.8125rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.4;
}
.c-title--section-sub {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
  line-height: 1.7;
}

.c-title--section-m {
  font-size: clamp(2.1875rem, 0.47vw + 33.2px, 2.5rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.4;
}

.c-title--section-s {
  font-size: clamp(1.625rem, 0.94vw + 22.5px, 2.25rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.4;
}

.c-title--section-sub {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
}

/*
text
-----------------------------------------------------*/
.c-text-center {
  text-align: center;
}

.c-text-right {
  text-align: right;
}

.c-text-underline {
  text-decoration: underline;
}

.c-text-ruby {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  line-height: 1.5;
}
.c-text-ruby ruby {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.c-text-ruby rt {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  line-height: 1.2;
}
.c-text-ruby .main {
  display: block;
  line-height: 1.5;
}

.c-text--italic {
  font-style: italic;
}

/*
image
-----------------------------------------------------*/
.c-img--border {
  border: 2px solid #272727;
  border-radius: 5px;
}

/*table
-----------------------------------------------------*/
.c-table-std.border-t {
  border-top: 2px solid;
}
.c-table-std.border-t tr:first-child th,
.c-table-std.border-t tr:first-child td {
  padding-top: 1em;
}
.c-table-std tr + tr {
  border-top: 2px solid;
}
.c-table-std tr + tr.border-thin {
  border-top-width: 1px;
}
.c-table-std.border-b tr:last-child {
  border-bottom: 2px solid;
}
.c-table-std th {
  padding: 1em 0;
  font-size: clamp(1rem, 0.19vw + 15.3px, 1.125rem);
  font-weight: bold;
}
.c-table-std td {
  padding: 1em 0 1em 1em;
}
@media screen and (max-width: 767px) {
  .c-table-std tr,
  .c-table-std th,
  .c-table-std td {
    display: block;
    width: 100%;
  }
  .c-table-std td {
    padding-left: 0;
    padding-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-table-std.-manual th:first-child {
    width: var(--lwidth);
  }
}

.c-table--rounded {
  border: 2px solid;
  border-radius: 10px;
  background: #FFF;
  overflow: hidden;
}
.c-table--rounded table {
  width: 100%;
}
.c-table--rounded thead {
  text-align: center;
}
.c-table--rounded thead th,
.c-table--rounded thead td {
  text-align: center;
}
.c-table--rounded th,
.c-table--rounded td {
  padding: 1em;
}
.c-table--rounded th + th,
.c-table--rounded th + td,
.c-table--rounded th + td,
.c-table--rounded td + td {
  border-left: 2px solid;
}
.c-table--rounded tbody tr {
  border-top: 2px solid;
}
@media screen and (min-width: 768px) {
  .c-table--rounded tbody tr.-noborder {
    border-top: none;
  }
}
@media screen and (max-width: 767px) {
  .c-table--rounded thead {
    display: none;
  }
  .c-table--rounded {
    border: none;
    background: none;
  }
  .c-table--rounded tr,
  .c-table--rounded th,
  .c-table--rounded td {
    display: block;
    width: 100%;
  }
  .c-table--rounded tr {
    border-radius: 10px;
    border: 2px solid;
    overflow: hidden;
  }
  .c-table--rounded tr + tr {
    margin-top: 15px;
  }
  .c-table--rounded th {
    background: #EBE7E3;
    border-bottom: 2px solid;
    padding: 1em;
  }
  .c-table--rounded td {
    padding-left: 0;
    padding-top: 0;
    border: none;
    padding: 1em;
    background: #FFF;
  }
  .c-table--rounded th + th,
  .c-table--rounded th + td,
  .c-table--rounded th + td,
  .c-table--rounded td + td {
    border: none;
  }
}

/*
link card
-----------------------------------------------------*/
.c-linkcard {
  background: #FFF;
  padding: clamp(15px, 1.41vw + 9.7px, 30px) clamp(15px, 0.47vw + 13.2px, 20px);
  border-radius: 5px;
}
.c-linkcard__title {
  font-size: 1.3125rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.3em 0.5em minmax(0, 1fr);
  grid-template-columns: 1.3em minmax(0, 1fr);
  gap: 0.5em;
  line-height: 1.5;
  margin-bottom: 0.5em;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-linkcard__title::before {
  content: "";
  width: 1.375em;
  height: 1.375em;
  display: block;
  background: url(../img/common/arrow.svg) no-repeat center center/50% auto;
  border: 2px solid;
  border-radius: 50%;
  -webkit-transition: background 0.3s, -webkit-filter 0.3s;
  transition: background 0.3s, -webkit-filter 0.3s;
  transition: filter 0.3s, background 0.3s;
  transition: filter 0.3s, background 0.3s, -webkit-filter 0.3s;
}
.c-linkcard__desc {
  line-height: 1.5;
}
@media (hover: hover) {
  .c-linkcard:hover .c-linkcard__title {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
    text-underline-offset: 0.2em;
  }
  .c-linkcard:hover .c-linkcard__title::before {
    background-color: #FFF;
    -webkit-filter: invert(1);
            filter: invert(1);
  }
}

/*inner link
-----------------------------------------------------*/
.c-innerlinks .c-button--b {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4em;
}

/*
box
-----------------------------------------------------*/
.c-box--quote {
  padding: 2em 0;
  font-size: clamp(0.9375rem, 0.19vw + 14.3px, 1.0625rem);
  border-image-source: linear-gradient(#ADADAA 1px, transparent 1px, transparent calc(100% - 1px), #ADADAA calc(100% - 1px));
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
  font-style: italic;
}
.c-box--quote__cite {
  margin-top: 1em;
  display: block;
  padding-left: 2.5em;
  line-height: 1.5;
  font-size: 0.8em;
}
.c-box--quote__cite::before {
  content: "";
  width: 2em;
  height: 1px;
  display: inline-block;
  background: currentColor;
  vertical-align: middle;
  margin-left: -2.5em;
  margin-right: 0.5em;
}

.c-box--ink-puddle {
  position: relative;
  border: 1px solid #272727;
  min-height: 4px;
}
.c-box--ink-puddle::before, .c-box--ink-puddle::after {
  content: "";
  width: 100%;
  height: 4px;
  background: #272727;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
.c-box--ink-puddle::before {
  top: -1px;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 4px, calc(100% - 4px) 0, 4px 0, 0 4px);
          clip-path: polygon(0 0, 100% 0, 100% 4px, calc(100% - 4px) 0, 4px 0, 0 4px);
}
.c-box--ink-puddle::after {
  bottom: -1px;
  -webkit-clip-path: polygon(0 0, 4px 4px, calc(100% - 4px) 4px, 100% 0, calc(100% - 4px) 0, 100% 0, 100% 4px, 0 4px);
          clip-path: polygon(0 0, 4px 4px, calc(100% - 4px) 4px, 100% 0, calc(100% - 4px) 0, 100% 0, 100% 4px, 0 4px);
}

/*
list
-----------------------------------------------------*/
.c-list--dot > li {
  padding-left: 1em;
  position: relative;
}
.c-list--dot > li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}

.c-list--circle > li {
  padding-left: 1em;
  position: relative;
}
.c-list--circle > li::before {
  content: "●";
  display: inline-block;
  margin-left: -1em;
  width: 1em;
}

.c-list--num {
  counter-reset: listnum;
}
.c-list--num > li {
  counter-increment: listnum;
  padding-left: 2em;
}
.c-list--num > li::before {
  content: counter(listnum) ".";
  width: 2em;
  margin-left: -2em;
  display: inline-block;
}

.c-list--note > li {
  padding-left: 1em;
  position: relative;
}
.c-list--note > li::before {
  content: "※";
  margin-left: -1em;
  display: inline-block;
  width: 1em;
}

.c-list--row-comma > li {
  display: inline;
}
.c-list--row-comma > li:not(:last-child)::after {
  content: "、";
}

.c-list--dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: var(--lwidth) var(--gap) minmax(0, 1fr);
  grid-template-columns: var(--lwidth) minmax(0, 1fr);
  gap: var(--gap);
}
.c-list--dl.-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-list--space > li + li {
  margin-top: 1em;
}

.c-list--privacy {
  counter-reset: listnum;
}
.c-list--privacy > li {
  counter-increment: listnum;
}
.c-list--privacy > li + li {
  margin-top: 2em;
}
.c-list--privacy-title::before {
  content: counter(listnum) ".";
  margin-right: 0.5em;
}
.c-list--privacy-sub {
  padding-left: 2em;
  counter-reset: listnum;
}
.c-list--privacy-sub > li {
  counter-increment: listnum;
}
.c-list--privacy-sub .title {
  padding-left: 1.5em;
}
.c-list--privacy-sub .title::before {
  content: counter(listnum) ".";
  margin-left: -1.5em;
  width: 1.5em;
  display: inline-block;
}

/*
tab
-----------------------------------------------------*/
.c-tab__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .c-tab__buttons {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-tab__button {
  color: #A7A7A7;
  padding: 0 1em;
  position: relative;
  cursor: pointer;
}
.c-tab__button:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 1em;
  display: block;
  background: #A7A7A7;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.c-tab__button[aria-selected=true] {
  color: #272727;
}
.c-tab-panel {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
}
.c-tab-panel.is-visible {
  opacity: 1;
  z-index: 2;
  position: relative;
}
.c-tab-panel-wrap {
  position: relative;
}

/*
 mainvisual
-----------------------------------------------------*/
/*
breadcrumb
-----------------------------------------------------*/
.c-breadcrumb {
  color: #767973;
  font-size: clamp(0.875rem, 0.56vw + 11.9px, 1.25rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.6;
  margin-bottom: 0.2em;
  mix-blend-mode: multiply;
}
.c-breadcrumb > li {
  display: inline;
}
.c-breadcrumb > li + li::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 1px;
  background: currentColor;
  margin: 0 0.2em 0.4em 0.2em;
}

/*
title
-----------------------------------------------------*/
.c-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 5em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-pagination {
    padding: 0 12em;
  }
}
.c-pagination .page-numbers {
  line-height: 1.5;
  margin: 5px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  color: #B5B5B5;
}
@media screen and (min-width: 768px) {
  .c-pagination .page-numbers {
    margin: 5px 10px;
  }
}
.c-pagination .page-numbers::before {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  background: curretColor;
  border-radius: 50%;
  margin: 0 auto;
}
.c-pagination .page-numbers.current {
  color: #272727;
}
.c-pagination .page-numbers.current::after {
  background: currentColor;
}
.c-pagination .page-numbers.prev, .c-pagination .page-numbers.next {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  color: #272727;
  border-bottom: 1px solid;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding-bottom: 0.5em;
}
@media screen and (min-width: 768px) {
  .c-pagination .page-numbers.prev, .c-pagination .page-numbers.next {
    padding-right: 3em;
  }
}
.c-pagination .page-numbers.prev {
  left: 0;
}
.c-pagination .page-numbers.next {
  right: 0;
}

.c-post-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 5em;
  position: relative;
}
.c-post-pagination a[rel=prev],
.c-post-pagination a[rel=next] {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.c-post-pagination a[rel=prev] {
  left: 0;
}
.c-post-pagination a[rel=next] {
  right: 0;
}

/*
page list
-----------------------------------------------------*/
.c-pagelist__wrap {
  container-type: inline-size;
}
.c-pagelist {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 20px;
}
@container (min-width: 450px) {
  .c-pagelist {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@container (min-width: 768px) {
  .c-pagelist {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.c-pagelist .c-linkcard {
  height: 100%;
}

/*SNS
-----------------------------------------------------*/
/*
color
-----------------------------------------------------*/
/*
loading
-----------------------------------------------------*/
.c-loading {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 9999;
  pointer-events: none;
  -webkit-backdrop-filter: blur(100px);
          backdrop-filter: blur(100px);
}
.c-loading::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  background: #FFF url(../img/common/bg-sand.jpg) no-repeat center center/cover;
  opacity: 0.6;
  display: block;
}
.c-loading__poem {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
  font-family: "Hina Mincho", serif;
  font-size: clamp(1.25rem, 1.13vw + 15.8px, 2rem);
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: opacity 1s, -webkit-filter 1.3s;
  transition: opacity 1s, -webkit-filter 1.3s;
  transition: opacity 1s, filter 1.3s;
  transition: opacity 1s, filter 1.3s, -webkit-filter 1.3s;
  line-height: 2;
  position: relative;
  z-index: 2;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
}
.c-loading__poem.-en {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  white-space: normal;
  font-size: clamp(1.25rem, 1.13vw + 15.8px, 2rem);
  width: 90%;
  margin: 0 auto;
  text-align: center;
  -webkit-transform: none;
          transform: none;
}
.-no-opening .c-loading__poem {
  display: none;
}
.-loaded .c-loading__poem {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}
.-fadeout .c-loading__poem {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: opacity 1s, -webkit-filter 0.8s;
  transition: opacity 1s, -webkit-filter 0.8s;
  transition: opacity 1s, filter 0.8s;
  transition: opacity 1s, filter 0.8s, -webkit-filter 0.8s;
}

/*
card
-----------------------------------------------------*/
.c-card-std {
  background: #FFF;
  padding: clamp(16px, 0.38vw + 14.6px, 20px);
  border-radius: 10px;
}
.c-card-std.-strech {
  height: 100%;
}
.c-card-std__thumbnail {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  border-bottom-right-radius: 5px;
  margin-bottom: 1.25em;
}
.c-card-std__thumbnail.-size-auto {
  aspect-ratio: auto;
}
.c-card-std__title {
  font-size: clamp(1.1875rem, 0.19vw + 18.3px, 1.3125rem);
  font-weight: bold;
  margin-bottom: 0.5em;
  line-height: 1.5;
}

/*flow
-----------------------------------------------------*/
.c-flow {
  counter-reset: listnum;
}
.c-flow__step {
  counter-increment: listnum;
  position: relative;
}
.c-flow__step:not(:last-child)::after {
  content: "";
  width: 70px;
  height: 30px;
  display: block;
  background: #878787;
  margin: 1.5em auto;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.c-flow__step-conts.c-box--white {
  padding-left: 4.5rem;
}
.c-flow__step-title {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
  font-weight: bold;
  margin-bottom: 1em;
}
.c-flow__step-title::before {
  content: counter(listnum) ". ";
  margin-left: -2.5rem;
  width: 2.5rem;
  display: inline-block;
}

/*
accordion
-----------------------------------------------------*/
.c-accordion {
  background: #FFF;
  border: 2px solid;
  border-radius: 10px;
}
.c-accordion summary {
  list-style-type: none;
}
.c-accordion summary::marker {
  content: "";
}
.c-accordion summary::-webkit-details-marker {
  display: none;
}
.c-accordion__title {
  font-size: clamp(1rem, 0.47vw + 14.2px, 1.3125rem);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) 1em 37px;
  grid-template-columns: minmax(0, 1fr) 37px;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
  cursor: pointer;
  padding: 1.5em 1.2em;
}
.c-accordion__button {
  width: 37px;
  height: 37px;
  border: 2px solid #272727;
  border-radius: 50%;
  position: relative;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
.c-accordion__button::before, .c-accordion__button::after {
  content: "";
  width: 15px;
  height: 2px;
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  background: currentColor;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-accordion__button::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.is-opened .c-accordion__button {
  background: #272727;
  color: #FFF;
}
.is-opened .c-accordion__button::after {
  -webkit-transform: scaleY(0) rotate(90deg);
          transform: scaleY(0) rotate(90deg);
}
.c-accordion__inner {
  padding: 0 1.2em 1.5em;
}

/*
panel
-----------------------------------------------------*/
.c-panel-vertical {
  display: -ms-grid;
  display: grid;
  gap: clamp(25px, 2.07vw + 17.2px, 47px);
}
@media screen and (min-width: 768px) {
  .c-panel-vertical {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-flow: row;
    direction: rtl;
  }
}
.c-panel-vertical__img {
  direction: ltr;
  position: relative;
}
.c-panel-vertical__img video {
  width: 100%;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
.c-panel-vertical__text {
  direction: ltr;
}

/*
animation
-----------------------------------------------------*/
.c-anim-fade {
  -webkit-filter: blur(20px);
          filter: blur(20px);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  opacity: 0.5;
  -webkit-transition: opacity 0.5s, -webkit-filter 1s, -webkit-transform 0.5s;
  transition: opacity 0.5s, -webkit-filter 1s, -webkit-transform 0.5s;
  transition: filter 1s, transform 0.5s, opacity 0.5s;
  transition: filter 1s, transform 0.5s, opacity 0.5s, -webkit-filter 1s, -webkit-transform 0.5s;
}
.c-anim-fade.inview {
  -webkit-animation: fadein 0.6s forwards;
          animation: fadein 0.6s forwards;
}

@-webkit-keyframes fadein {
  0% {
    -webkit-filter: blur(20px);
            filter: blur(20px);
    opacity: 0.7;
  }
  50% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0.9;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    -webkit-filter: blur(20px);
            filter: blur(20px);
    opacity: 0.7;
  }
  50% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0.9;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
@-webkit-keyframes whole-fadein {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0.4;
  }
  50% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: 0.9;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
@keyframes whole-fadein {
  0% {
    -webkit-filter: blur(5px);
            filter: blur(5px);
    opacity: 0.4;
  }
  50% {
    -webkit-filter: blur(2px);
            filter: blur(2px);
    opacity: 0.9;
  }
  100% {
    -webkit-filter: blur(0);
            filter: blur(0);
    opacity: 1;
  }
}
/*
global menu
-----------------------------------------------------*/
.p-gmenu-summary {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  position: absolute;
  top: clamp(16px, 2.07vw + 8.2px, 38px);
  right: clamp(16px, 1.5vw + 10.4px, 32px);
  margin: auto;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  font-size: clamp(1.125rem, 0.19vw + 17.3px, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
  display: none;
  z-index: 99;
}
@media screen and (min-width: 768px) {
  .p-gmenu-summary {
    display: block;
  }
}
.p-gmenu-summary__item:not(:last-child) {
  margin-left: 0.35em;
}
.p-gmenu-summary__item.-current a {
  color: #727272;
}
@media (hover: hover) {
  .p-gmenu-summary__item a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .p-gmenu-summary__item a:hover {
    color: #727272;
  }
}
.l-header.-white .p-gmenu-summary {
  color: #FFF;
}
.l-header.-white .p-gmenu-summary .-current a {
  color: #CCC;
}
@media (hover: hover) {
  .l-header.-white .p-gmenu-summary a:hover {
    color: #CCC;
  }
}

/*mainvisual
-----------------------------------------------------*/
.p-mainvisual {
  position: relative;
}
.p-mainvisual__movie {
  position: absolute;
  top: 0;
  right: 10%;
  margin: auto;
  width: clamp(93px, 6.2vw + 69.7px, 159px);
  aspect-ratio: 3/4;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-mainvisual__movie {
    left: 13%;
    right: auto;
  }
}
.p-mainvisual__movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-mainvisual__slider-img {
  width: 100%;
  height: clamp(624px, 27.42vw + 521.2px, 916px);
  -o-object-fit: cover;
     object-fit: cover;
}

/*home
-----------------------------------------------------*/
@media screen and (min-width: 960px) {
  .p-home__story {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-home__story-lead {
  background: #F2F2F0;
  padding: clamp(12px, -0.38vw + 17.4px, 16px);
  position: relative;
  margin-top: calc(-1 * (clamp(100px, 6.57vw + 75.4px, 170px) + clamp(70px, 12.21vw + 24.2px, 200px)));
}
@media screen and (min-width: 960px) {
  .p-home__story-lead {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 450px;
  }
}
.p-home__story-inner {
  padding: clamp(39px, 0.85vw + 35.8px, 48px) clamp(19px, 2.72vw + 8.8px, 48px) clamp(39px, 0.85vw + 35.8px, 48px);
}
.p-home__story-title {
  text-align: center;
  margin-bottom: 1em;
  line-height: 1.6;
}
@media screen and (min-width: 960px) {
  .p-home__story-title {
    margin-bottom: 2em;
  }
}
.p-home__story-title ruby {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.p-home__story-title .main {
  font-size: clamp(2.1875rem, 1.41vw + 29.7px, 3.125rem);
  letter-spacing: 0.25em;
  display: block;
}
@media screen and (min-width: 960px) {
  .p-home__story-title .main {
    letter-spacing: 0.35em;
  }
}
.p-home__story-title rt {
  font-size: clamp(0.9375rem, 0.19vw + 14.3px, 1.0625rem);
  display: block;
  text-align: center;
}
.p-home__story-text {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
@media screen and (min-width: 960px) {
  .p-home__story-text {
    font-size: clamp(1rem, 0.63vw + 10px, 1.1875rem);
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
  }
  .p-home__story-text .text {
    margin-bottom: 3.5em;
  }
}
.p-home__story-links {
  padding: 0 clamp(12px, -0.38vw + 17.4px, 16px);
  margin-top: 75px;
}
@media screen and (min-width: 960px) {
  .p-home__story-links {
    padding: 0;
    margin-top: 0;
    margin-right: clamp(30px, 25vw - 210px, 150px);
  }
}
.p-home__story-links .p-story-card__list {
  margin: 0;
}
.p-home__story-links .p-story-card__img img {
  aspect-ratio: 317/200;
}
@media screen and (min-width: 960px) {
  .p-home__story-links .p-story-card__img img {
    aspect-ratio: auto;
    height: 100%;
  }
}
.p-home__story-more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2em 0 0 auto;
}
@media screen and (min-width: 960px) {
  .p-home__story-more {
    margin: auto 2em 0 0;
  }
}

@media screen and (min-width: 768px) {
  .p-home__accommodation-list {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: clamp(50px, 11.9vw - 41.4px, 130px);
       -moz-column-gap: clamp(50px, 11.9vw - 41.4px, 130px);
            column-gap: clamp(50px, 11.9vw - 41.4px, 130px);
  }
}
.p-home__accommodation-list > li {
  display: inline-block;
}
.p-home__accommodation-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 26% 15px minmax(0, 1fr);
  grid-template-columns: 26% minmax(0, 1fr);
  gap: 15px;
  margin-bottom: clamp(25px, 1.41vw + 19.7px, 40px);
}
.p-home__accommodation-thumb {
  overflow: hidden;
}
.p-home__accommodation-text {
  border-bottom: 1px solid;
  font-family: "Hina Mincho", serif;
}
.p-home__accommodation-copy {
  font-size: clamp(0.75rem, 0.38vw + 10.6px, 1rem);
  line-height: 1;
}
@media screen and (min-width: 960px) {
  .p-home__accommodation-copy {
    margin-bottom: clamp(0px, 2.08vw - 20px, 10px);
  }
}
.p-home__accommodation-title {
  font-size: clamp(1.25rem, 0.94vw + 16.5px, 1.875rem);
  line-height: 1.6;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-home__accommodation-title {
    font-size: clamp(1.25rem, 1.49vw + 8.6px, 1.875rem);
  }
}
.p-home__accommodation-title::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  background: url(../img/common/hover0.png) no-repeat center center/100% 100%;
  display: block;
  position: absolute;
  top: 0.5em;
  right: 0;
  margin: auto;
}
@media (hover: hover) {
  .-animate .p-home__accommodation-title::after {
    -webkit-animation: pod-reverse 0.3s steps(5) forwards;
            animation: pod-reverse 0.3s steps(5) forwards;
  }
  .-animate:hover .p-home__accommodation-title::after {
    -webkit-animation: pod 0.3s steps(5) forwards;
            animation: pod 0.3s steps(5) forwards;
  }
}

.p-home__conts-img {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-home__conts-img {
    width: 93%;
  }
  .p-home__conts-img.-right {
    margin: 0 0 0 auto;
  }
}
.p-home__conts-img img {
  width: 100%;
  height: clamp(221px, 24.79vw + 128px, 485px);
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home__conts-img img.accommodation {
  -o-object-position: center 75%;
     object-position: center 75%;
}
.p-home__conts-main {
  position: relative;
  z-index: 2;
}
.p-home__conts-movie {
  position: absolute;
  right: 5%;
  top: 0;
  z-index: 2;
  margin: auto;
  -webkit-transform: translateY(-70%);
          transform: translateY(-70%);
  width: clamp(90px, 6.57vw + 65.4px, 160px);
  aspect-ratio: 4/5;
}
@media screen and (min-width: 768px) {
  .p-home__conts-movie {
    right: 0;
  }
}
.p-home__conts-movie video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-home__conts-text {
  padding-top: clamp(65px, 0.47vw + 63.2px, 70px);
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-home__conts-text {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
.p-home__conts-title {
  font-size: clamp(2.0625rem, 1.03vw + 29.1px, 2.75rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.6;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .p-home__conts-title {
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: scaleY(0.9);
            transform: scaleY(0.9);
    margin-left: clamp(70px, 8.93vw + 1.4px, 130px);
    margin-bottom: 0;
  }
}
.p-home__conts-subtitle {
  font-size: clamp(1.25rem, 0.75vw + 17.2px, 1.75rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.6;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .p-home__conts-subtitle {
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: scaleY(0.9);
            transform: scaleY(0.9);
    margin-left: 1.5em;
  }
}
.p-home__conts-link {
  font-size: clamp(1.0625rem, 0.28vw + 15.9px, 1.25rem);
  margin-top: 2em;
}
@media screen and (min-width: 768px) {
  .p-home__conts-link {
    margin: auto clamp(15px, 5.21vw - 25px, 50px) 0 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

@media screen and (min-width: 960px) {
  .p-home__explore {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    height: 744px;
  }
}
.p-home__explore-title {
  font-size: clamp(2.0625rem, 0.66vw + 30.5px, 2.5rem);
  font-family: "Hina Mincho", serif;
  margin-bottom: 1em;
}
@media screen and (min-width: 960px) {
  .p-home__explore-title {
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: scaleY(0.9);
            transform: scaleY(0.9);
    margin-bottom: 0;
    margin-left: clamp(20px, 14.58vw - 120px, 90px);
    margin-top: -5em;
  }
}
.p-home__explore-subtitle {
  font-size: clamp(1.25rem, 0.38vw + 18.6px, 1.5rem);
  margin-bottom: 1em;
}
@media screen and (min-width: 960px) {
  .p-home__explore-subtitle {
    margin-bottom: 0;
    margin-left: 1em;
  }
}
.p-home__explore-subtitle .sub {
  display: block;
  font-size: clamp(0.875rem, 0.09vw + 13.7px, 0.9375rem);
  font-style: normal;
}
@media screen and (min-width: 960px) {
  .p-home__explore-subtitle .sub {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    text-align: right;
  }
}
.p-home__explore-subtitle .sub::before {
  content: "";
  width: 2em;
  height: 1px;
  display: inline-block;
  vertical-align: middle;
  background: currentColor;
  margin-right: 0.5em;
}
@media screen and (min-width: 960px) {
  .p-home__explore-subtitle .sub::before {
    width: 1px;
    height: 2em;
    margin: 0 auto 0.5em;
  }
}
.p-home__explore-text {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  padding: clamp(70px, 6.57vw + 45.4px, 140px) 0 clamp(90px, 2.82vw + 79.4px, 120px);
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 960px) {
  .p-home__explore-text {
    width: 60%;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.p-home__explore-gallery {
  display: -ms-grid;
  display: grid;
      grid-template-areas: "img1 img1" "img2 img4" "img3 img4";
  gap: 5px;
  -ms-grid-columns: minmax(0, 1fr) 5px minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -ms-grid-rows: minmax(0, 2fr) 5px minmax(0, 1fr) 5px minmax(0, 1fr);
  grid-template-rows: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}
@media screen and (min-width: 960px) {
  .p-home__explore-gallery {
    width: 40%;
  }
}
.p-home__explore-gallery .img1 {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-area: img1;
}
.p-home__explore-gallery .img2 {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: img2;
}
.p-home__explore-gallery .img3 {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  grid-area: img3;
}
.p-home__explore-gallery .img4 {
  -ms-grid-row: 3;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  grid-area: img4;
}
.p-home__explore-gallery .img {
  overflow: hidden;
}
.p-home__explore-gallery img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 960px) {
  .p-home__information {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-home__information-title {
  font-size: clamp(2.0625rem, 0.66vw + 30.5px, 2.5rem);
  font-family: "Hina Mincho", serif;
  margin-bottom: 1em;
}
@media screen and (min-width: 960px) {
  .p-home__information-title {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    -webkit-transform-origin: top center;
            transform-origin: top center;
    -webkit-transform: scaleY(0.9);
            transform: scaleY(0.9);
    margin-bottom: 0;
  }
}
@media screen and (min-width: 960px) {
  .p-home__information-conts {
    width: 80%;
  }
}
.p-home__information-more {
  font-size: clamp(1.0625rem, 0.28vw + 15.9px, 1.25rem);
}

.p-home__access-title {
  font-size: clamp(33px, 1.03vw + 29.1px, 44px);
  font-family: "Hina Mincho", serif;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
}
@media screen and (min-width: 768px) {
  .p-home__access-title {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
    margin: 0 auto 1em;
  }
}
.p-home__access-map {
  border: 1px solid;
  overflow: hidden;
  aspect-ratio: 317/244;
}
@media screen and (min-width: 768px) {
  .p-home__access-map {
    aspect-ratio: 992/575;
  }
}
.p-home__access-map img {
  width: 160%;
  margin-left: -23%;
  margin-top: -12%;
  max-width: none;
}
@media screen and (min-width: 768px) {
  .p-home__access-map img {
    width: auto;
    height: 120%;
    margin-top: 0;
    margin-left: -22%;
  }
}
@media screen and (min-width: 960px) {
  .p-home__access-map img {
    margin-left: -1%;
    height: 100%;
  }
}
.p-home__access-title-s {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
  margin-bottom: 0.5em;
  line-height: 1.2;
}
.p-home__access-text {
  margin-top: 30px;
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
@media screen and (min-width: 768px) {
  .p-home__access-text {
    position: relative;
    z-index: 2;
    background: #F2F2F0;
    width: 60%;
    margin: clamp(-470px, -25.3vw - 105.7px, -300px) 5% 0 auto;
    padding: clamp(30px, 1.49vw + 18.6px, 40px);
  }
}
@media screen and (min-width: 960px) {
  .p-home__access-text {
    width: 50%;
    margin-right: 6%;
  }
}
.p-home__access-more {
  margin-top: 1em;
}

/*post
-----------------------------------------------------*/
.p-post__head {
  padding: clamp(20px, 1.88vw + 12.9px, 40px) 0;
  background-image: url(../img/common/line.png), url(../img/common/line.png);
  background-size: auto 4px, auto 4px;
  background-repeat: no-repeat;
  background-position: top center, bottom center;
}
.p-post__head.-interview {
  padding-top: clamp(15px, 1.41vw + 9.7px, 30px);
}
.p-post__num {
  font-size: clamp(1rem, 0.56vw + 13.9px, 1.375rem);
  margin-bottom: 0.7em;
}
.p-post__title {
  font-size: clamp(1.5rem, 1.5vw + 18.4px, 2.5rem);
  line-height: 1.5;
}
.p-post__author {
  font-size: clamp(1rem, 0.09vw + 15.7px, 1.0625rem);
  margin-top: 0.5em;
}
.p-post__body {
  background: url(../img/common/line.png) no-repeat bottom center/auto 4px;
  padding: clamp(40px, 3.29vw + 27.7px, 75px) 0;
  margin-bottom: clamp(75px, 2.35vw + 66.2px, 100px);
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  line-height: 1.8;
}
.p-post__body.-noline {
  background: none;
  padding-bottom: 0;
}
.p-post__body h2 {
  font-size: clamp(1.375rem, 0.38vw + 20.6px, 1.625rem);
  margin-bottom: 0.5em;
}
.p-post__body h3 {
  font-size: clamp(1.25rem, 0.19vw + 19.3px, 1.375rem);
  margin-bottom: 0.5em;
}
.p-post__body h4 {
  font-size: clamp(1.125rem, 0.19vw + 17.3px, 1.25rem);
  margin-bottom: 0.5em;
}
.p-post__body p {
  margin-bottom: 3em;
}
.p-post__body img {
  margin-bottom: 2em;
}
.p-post__body a {
  text-decoration: underline;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-post__body a:hover {
    opacity: 0.6;
  }
}
.p-post__navigation {
  display: -ms-grid;
  display: grid;
  gap: 2em;
}
@media screen and (min-width: 768px) {
  .p-post__navigation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/*story
-----------------------------------------------------*/
.p-story__head {
  margin-bottom: clamp(60px, 1.88vw + 52.9px, 80px);
}
.p-story__title {
  font-size: clamp(2.1875rem, 1.22vw + 30.4px, 3rem);
  font-family: "Hina Mincho", serif;
  margin-bottom: 1em;
  text-align: center;
}
.p-story__title ruby {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-story__title .main {
  letter-spacing: 0.35em;
  display: block;
  line-height: 1.5;
}
.p-story__title rt {
  letter-spacing: 0.1em;
  display: block;
  font-size: clamp(0.8125rem, 0.09vw + 12.7px, 0.875rem);
}
.p-story__navi {
  font-size: clamp(1.0625rem, 0.09vw + 16.7px, 1.125rem);
  line-height: 1;
  display: -ms-grid;
  display: grid;
  gap: 1em;
}
@media screen and (min-width: 768px) {
  .p-story__navi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
  }
}
.p-story__navi > li {
  border-left: 1px solid;
  border-right: 1px solid;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-story__navi > li {
    margin: 0;
    border: none;
  }
}
.p-story__navi a {
  display: block;
  padding: 0 1.5em;
}
@media (hover: hover) {
  .p-story__navi a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .p-story__navi a:hover {
    color: #727272;
  }
}
.p-story__navi .-current a {
  color: #727272;
}
.p-story__navi-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-story__navi-sub {
    border-left: 1px solid;
  }
}
.p-story__navi-sub > li + li {
  border-left: 1px solid;
}

.p-story__lead {
  width: 100%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  color: #FFF;
  padding: clamp(67px, 3.1vw + 55.4px, 100px) 0 clamp(100px, 9.39vw + 64.8px, 200px);
}
.p-story__lead-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.p-story__lead-wrap::after {
  content: "";
  width: 100%;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  height: 100vh;
  display: block;
  background: url(../img/story/head.jpg) no-repeat center center/cover;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  margin-left: -100%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-story__lead-inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.p-story__lead-title {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
  font-size: clamp(2.8125rem, 2.82vw + 34.4px, 4.6875rem);
  font-family: "Hina Mincho", serif;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  line-height: 1.4;
  margin: 0 0 0 auto;
  display: block;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
@media screen and (min-width: 768px) {
  .p-story__lead-title {
    margin-left: 0.5em;
  }
}
.p-story__lead-text {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  line-height: 2;
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .p-story__lead-text {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
  }
}

@media screen and (min-width: 960px) {
  .l-container.p-story__interview {
    width: calc(50% + clamp(317px, 81.41vw + 11.7px, 1184px) / 2);
    max-width: 92.5%;
    margin-right: 0;
    padding-right: 5vw;
  }
  .l-container.p-story__interview .p-story__index {
    -ms-grid-columns: min(36% - 75px, 400px) minmax(0, 1fr);
    grid-template-columns: min(36% - 75px, 400px) minmax(0, 1fr);
  }
}

.p-story__index {
  display: -ms-grid;
  display: grid;
  gap: 75px;
  margin-top: clamp(150px, 9.39vw + 114.8px, 250px);
}
.p-story__guest .p-story__index {
  margin-bottom: clamp(150px, 9.39vw + 114.8px, 250px);
}
@media screen and (min-width: 960px) {
  .p-story__index {
    -ms-grid-columns: auto 60%;
    grid-template-columns: auto 60%;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 960px) {
  .p-story__index-titlearea {
    position: -webkit-sticky;
    position: sticky;
    top: 5em;
  }
}
.p-story__index-title {
  font-size: clamp(4.5rem, 3.57vw + 58.6px, 6.875rem);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
  line-height: 1.3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0.4em auto;
  font-family: "Hina Mincho", serif;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
@media screen and (min-width: 960px) {
  .p-story__index-title {
    margin: 0 0 0.4em;
  }
}
.p-story__index-subtitle {
  font-size: clamp(1.125rem, 0.94vw + 14.5px, 1.75rem);
  font-family: "Hina Mincho", serif;
  display: block;
  margin-top: -0.5em;
}
.p-story__index-desc {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  line-height: 2;
}

.p-story-archive__head {
  width: calc(50% + clamp(347px, 81.6vw + 41px, 1216px) / 2);
  max-width: 96%;
  margin: 0 auto clamp(55px, 8.92vw + 21.5px, 150px) 0;
}
@media screen and (min-width: 768px) {
  .p-story-archive__head {
    width: clamp(347px, 81.6vw + 41px, 1216px);
    max-width: 94%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
  }
}
.p-story-archive__desc {
  margin-top: clamp(25px, 15.02vw - 31.3px, 185px);
}
@media screen and (min-width: 768px) {
  .p-story-archive__desc {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-story-archive__title {
  font-size: clamp(3.75rem, 5.45vw + 39.6px, 7.375rem);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
  -webkit-transform: scaleY(0.9);
          transform: scaleY(0.9);
  line-height: 1.3;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Hina Mincho", serif;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 768px) {
  .p-story-archive__title {
    position: absolute;
    top: 0;
    right: 0;
    margin: clamp(-185px, -14.08vw + 17.8px, -35px) auto 0;
  }
}
.p-story-archive__subtitle {
  font-size: clamp(1.125rem, 1.13vw + 13.8px, 1.875rem);
  font-family: "Hina Mincho", serif;
  display: block;
  margin-top: -0.5em;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
.p-story-archive__lead {
  width: clamp(347px, 81.6vw + 41px, 1216px);
  max-width: 95%;
  margin: 2em 0 0 auto;
  font-size: clamp(1rem, 0.85vw + 12.8px, 1.5625rem);
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-story-archive__lead {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
    -webkit-transform: scaleY(0.9);
            transform: scaleY(0.9);
    -webkit-transform-origin: top center;
            transform-origin: top center;
    margin-top: 0;
    margin-left: 2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 768px) {
  .p-story-archive__thumbnail {
    width: 60%;
  }
}

.p-story-card {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
@media screen and (min-width: 768px) {
  .p-story-card {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 162px 30px minmax(0, 1fr);
    grid-template-columns: 162px minmax(0, 1fr);
    gap: 30px;
  }
}
@media screen and (min-width: 960px) {
  .p-story-card__wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-story-card__wraptitle {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-right: 2em;
}
.p-story-card__list {
  margin: 40px 0 0 auto;
  max-width: 608px;
}
@media screen and (min-width: 960px) {
  .p-story-card__list {
    margin: 0 auto;
  }
}
.p-story-card__list-item {
  display: block;
}
.p-story-card__list-item + .p-story-card__list-item {
  margin-top: clamp(60px, 0.47vw + 58.2px, 65px);
}
.p-story-card__img {
  overflow: hidden;
}
.p-story-card__img img {
  width: 100%;
  aspect-ratio: 317/125;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-story-card__img img {
    aspect-ratio: 162/216;
  }
}
.p-story-card__img .interview {
  -o-object-position: center 45%;
     object-position: center 45%;
}
.p-story-card__img .blog {
  -o-object-position: center 70%;
     object-position: center 70%;
}
@media screen and (min-width: 768px) {
  .p-story-card__img .blog {
    -o-object-position: center center;
       object-position: center center;
  }
}
.p-story-card__title {
  font-size: clamp(2.5rem, 1.88vw + 32.9px, 3.75rem);
  line-height: 1;
  margin-bottom: 1rem;
}
.p-story-card__title::after {
  top: 1em;
  width: 0.6em;
  height: 0.6em;
}
.p-story-card__subtitle {
  font-size: clamp(1rem, 0.38vw + 14.6px, 1.25rem);
  display: block;
  line-height: 1.4;
  margin-bottom: 0.5em;
}

/*history
-----------------------------------------------------*/
.p-history {
  background: #F2F2F0;
  padding: clamp(30px, 2.82vw + 19.4px, 60px) clamp(30px, 5.63vw + 8.9px, 90px) clamp(30px, 5.63vw + 8.9px, 90px);
}

.p-history__card {
  color: #272727;
  display: -ms-grid;
  display: grid;
  gap: clamp(30px, 4.46vw - 4.3px, 60px);
}
@media screen and (min-width: 768px) {
  .p-history__card {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.p-history__card-title {
  font-size: clamp(1.875rem, 1.41vw + 24.7px, 2.8125rem);
  font-family: "Hina Mincho", serif;
  background: url(../img/common/line.png) repeat-x top center/auto 4px;
  padding-top: 0.3em;
  margin-bottom: 1em;
}
.p-history__card-img {
  width: 100%;
}
.p-history__card-img img {
  aspect-ratio: 280/210;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-history__card-img img {
    aspect-ratio: 447/597;
  }
}
.p-history__card-img img.sengoku {
  -o-object-position: center 90%;
     object-position: center 90%;
}
.p-history__card-img img.showa {
  -o-object-position: center 90%;
     object-position: center 90%;
}
.p-history__card-img img.heisei {
  -o-object-position: center 70%;
     object-position: center 70%;
}
@media screen and (min-width: 768px) {
  .p-history__card-img img.heisei {
    -o-object-position: center bottom;
       object-position: center bottom;
  }
}
.p-history__card-text {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
@media screen and (min-width: 768px) {
  .p-history__card-text {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

/*interview
-----------------------------------------------------*/
.p-interview__index {
  counter-reset: listnum;
  font-family: "Hina Mincho", serif;
}
.p-interview__index > li + li {
  border-image-source: linear-gradient(to bottom, #888 1px, transparent 1px);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
  margin-top: clamp(28px, 0.38vw + 26.6px, 32px);
  padding-top: clamp(28px, 0.38vw + 26.6px, 32px);
}
.p-interview__index-item {
  counter-increment: listnum;
}
@media screen and (min-width: 768px) {
  .p-interview__index-item {
    padding-left: 10em;
    position: relative;
  }
}
.p-interview__index-num {
  font-size: clamp(0.875rem, 0.28vw + 12.9px, 1.0625rem);
  margin-bottom: 0.5em;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-interview__index-num {
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
  }
}
.p-interview__index-title {
  font-size: clamp(1.875rem, 0.94vw + 26.5px, 2.5rem);
  line-height: 1.3;
  letter-spacing: -0.03em;
}
@media screen and (max-width: 767px) {
  .p-interview__index-title br {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-interview__index-title {
    font-size: clamp(1.5rem, 1.5vw + 18.4px, 2.5rem);
  }
}
.p-interview__index-author {
  font-size: clamp(1rem, 0.09vw + 15.7px, 1.0625rem);
  margin-top: 1em;
}
@media screen and (max-width: 1279px) {
  .p-story__index .p-interview__index-item {
    padding-left: 0;
  }
  .p-story__index .p-interview__index-num {
    position: relative;
  }
  .p-story__index .p-interview__index-title {
    font-size: clamp(1.5rem, 1.13vw + 19.8px, 2.25rem);
  }
}
@media screen and (min-width: 1280px) {
  .p-story__index .p-interview__index-title {
    font-size: clamp(1.5rem, 2.5vw + 0px, 2.25rem);
  }
}

/*blog
-----------------------------------------------------*/
.p-blog__index > li + li {
  margin-top: clamp(45px, -1.41vw + 65.3px, 60px);
}
.p-blog__index-item {
  display: -ms-grid;
  display: grid;
  gap: clamp(24px, 0.66vw + 21.5px, 31px);
}
@media screen and (min-width: 768px) {
  .p-blog__index-item {
    -ms-grid-columns: 35% minmax(0, 1fr);
    grid-template-columns: 35% minmax(0, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .p-blog__index.-archive .p-blog__index-item {
    -ms-grid-columns: 225px minmax(0, 1fr);
    grid-template-columns: 225px minmax(0, 1fr);
  }
}
.p-blog__index-thumbnail img {
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-blog__index-time {
  font-size: clamp(0.875rem, 0.28vw + 12.9px, 1.0625rem);
  margin-bottom: 1em;
  display: block;
  line-height: 0.9;
}
.p-blog__index-title {
  font-size: clamp(1.5625rem, 0.66vw + 22.5px, 2rem);
  line-height: 1.4;
}
.p-blog__index-author {
  font-size: clamp(1rem, 0.09vw + 15.7px, 1.0625rem);
  margin-top: 0.5em;
}

/*guest
-----------------------------------------------------*/
.p-guest__index .brick {
  width: calc(50% - 2rem);
}
@media (hover: hover) {
  .p-guest__index .brick a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .p-guest__index .brick a:hover {
    opacity: 0.5;
  }
}
.p-guest__index-item {
  border: 1px solid;
  padding: 20px;
}
.p-guest__index-cat {
  border-bottom: 1px solid;
  font-size: clamp(1.0625rem, 0.28vw + 15.9px, 1.25rem);
  margin-bottom: 0.5em;
  line-height: 1;
  padding-bottom: 0.5em;
}
.p-guest__index-cat a::before,
.p-guest__index-cat span::before {
  content: "#";
}
.p-guest__index-title {
  font-size: clamp(1.5625rem, 0.47vw + 23.2px, 1.875rem);
  line-height: 1.4;
}
.p-guest__index-voice {
  font-size: clamp(1.125rem, 0.19vw + 17.3px, 1.25rem);
  line-height: 1.4;
  width: 100%;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.brick:nth-child(2n+1) .p-guest__index-voice {
  -webkit-line-clamp: 7;
}
.p-guest__index-author {
  font-size: 0.9375rem;
  line-height: 1.4;
  margin-top: 1em;
}
.p-guest__index-thumbnail {
  margin-bottom: 1em;
}

/*information
-----------------------------------------------------*/
.p-information__list-item {
  border-bottom: 1px solid #D3D3D3;
}
.p-information__list-link {
  display: block;
  padding: clamp(20px, 0.75vw + 17.2px, 28px) 0;
}
@media (hover: hover) {
  .p-information__list-link {
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
  }
  .p-information__list-link:hover {
    color: #727272;
  }
}
.p-information__list-date {
  font-size: clamp(0.8125rem, 0.19vw + 12.3px, 0.9375rem);
}
.p-information__list-title {
  font-size: clamp(1rem, 0.38vw + 14.6px, 1.25rem);
}

/*accommodation
-----------------------------------------------------*/
.p-accommodation__pagehead {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  line-height: 2;
  position: relative;
  padding-bottom: 100px;
}
.p-accommodation__pagehead-text p + p {
  margin-top: 1em;
}
.p-accommodation__pagehead-img {
  width: clamp(147px, 17.09vw + 82.9px, 329px);
  display: block;
  margin: 0 0 0 auto;
  right: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-accommodation__pagehead-img {
    bottom: -100px;
    right: clamp(-50px, -1.49vw - 28.6px, -40px);
  }
}
@media screen and (min-width: 960px) {
  .p-accommodation__pagehead-img {
    bottom: 50px;
  }
}
.p-accommodation__list {
  display: -ms-grid;
  display: grid;
  gap: 75px;
}
@media screen and (min-width: 768px) {
  .p-accommodation__list {
    -ms-grid-columns: minmax(0, 1fr) 60px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 120px 60px;
  }
}
@media screen and (min-width: 960px) {
  .p-accommodation__list {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.p-accommodation__list-thumb {
  margin-bottom: 1em;
}
.p-accommodation__list-copy {
  font-size: clamp(0.875rem, 0.28vw + 12.9px, 1.0625rem);
}
.p-accommodation__list-title {
  font-size: clamp(1.5625rem, 0.75vw + 22.2px, 2.0625rem);
  font-family: "Hina Mincho", serif;
  line-height: 1.4;
}
.p-accommodation__list-info {
  margin: 1.5em 0;
}
.p-accommodation__list-info .item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 7em minmax(0, 1fr);
  grid-template-columns: 7em minmax(0, 1fr);
  border-bottom: 1px solid #979996;
  padding: 0.3em 0;
}
@media screen and (min-width: 768px) {
  .p-accommodation__list-info .item {
    padding: 0;
  }
}
.p-accommodation__list-info .none {
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  width: 1em;
  height: 1px;
  background: currentColor;
  display: inline-block;
  vertical-align: middle;
}
.p-accommodation__list-desc {
  font-size: clamp(0.9375rem, 0.19vw + 14.3px, 1.0625rem);
  line-height: 2;
}
.p-accommodation__list-link {
  margin: 1em 0 0 auto;
}
.p-accommodation__head {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-accommodation__head {
    text-align: left;
  }
}
.p-accommodation__head-copy {
  font-size: clamp(0.875rem, 0.56vw + 11.9px, 1.25rem);
  font-family: "Hina Mincho", serif;
}
.p-accommodation__head-title {
  font-family: "Hina Mincho", serif;
  font-size: clamp(1.875rem, 2.35vw + 21.2px, 3.4375rem);
  line-height: 1.4;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .p-accommodation__head-title {
    margin-bottom: 0.8em;
  }
}
.p-accommodation__head-thumbnail img {
  width: 100%;
}
.p-accommodation__profile {
  display: -ms-grid;
  display: grid;
  gap: clamp(60px, 2.82vw + 49.4px, 90px);
}
@media screen and (min-width: 960px) {
  .p-accommodation__profile {
    -ms-grid-columns: minmax(0, 1fr) 50%;
    grid-template-columns: minmax(0, 1fr) 50%;
  }
}
.p-accommodation__info-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 8em 0.5em minmax(0, 1fr);
  grid-template-columns: 8em minmax(0, 1fr);
  gap: 0.5em;
  padding: 0.5em 0;
  line-height: 1.6;
  border-bottom: 1px solid #979996;
}
.p-accommodation__info a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-accommodation__info a:hover {
    opacity: 0.6;
  }
}
.p-accommodation__info a::after {
  content: "";
  width: 0.7em;
  height: 0.7em;
  background: url(../img/common/out.svg) no-repeat center center/80% auto;
  display: inline-block;
  margin-left: 0.5em;
  vertical-align: baseline;
}
.p-accommodation__gallery {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) clamp(15px, 1.41vw + 9.7px, 30px) minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(15px, 1.41vw + 9.7px, 30px);
}
.p-accommodation__gallery img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}

/*onsen
-----------------------------------------------------*/
.p-onsen__lead {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
.p-onsen__lead p + p {
  margin-top: 1.5em;
}

.p-onsen__conts {
  position: relative;
  z-index: 2;
}
.p-onsen__conts-text {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
.p-onsen__conts-wrap {
  margin-bottom: clamp(50px, 2.82vw + 39.4px, 80px);
  position: relative;
}
.p-onsen__conts-wrap::after {
  content: "";
  width: 100%;
  height: clamp(436px, 32.96vw + 312.4px, 787px);
  display: block;
  background: rgba(0, 0, 0, 0.5) url(../img/onsen/bg-feature.jpg) no-repeat center center/cover;
  background-blend-mode: multiply;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: none;
}
.p-onsen__conts-bottomimg {
  margin: clamp(50px, 4.69vw + 32.4px, 100px) 0 clamp(50px, 3.29vw + 37.7px, 85px) auto;
  display: block;
  width: 93%;
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-onsen__conts-bottomimg {
    width: 100%;
  }
}

.p-onsen__howto {
  border: 1px solid #272727;
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  padding: clamp(20px, 6.1vw - 2.9px, 85px) clamp(20px, 7.04vw - 6.4px, 95px);
}
.p-onsen__howto-head .c-title--section {
  line-height: 1.4;
}
@media screen and (min-width: 1280px) {
  .p-onsen__howto-head {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 320px 1rem minmax(0, 1fr);
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 1rem;
  }
}
.p-onsen__howto-list {
  counter-reset: listnum;
  margin-top: clamp(25px, 8.17vw - 5.6px, 112px);
}
.p-onsen__howto-list > li {
  counter-increment: listnum;
  line-height: 1.7;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 2em 1rem minmax(0, 1fr);
  grid-template-columns: 2em minmax(0, 1fr);
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-onsen__howto-list > li {
    -ms-grid-columns: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem) 2rem calc(clamp(80px, 31.99vw - 165.7px, 295px) - 3rem) 2rem minmax(0, 1fr);
    grid-template-columns: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem) calc(clamp(80px, 31.99vw - 165.7px, 295px) - 3rem) minmax(0, 1fr);
        grid-template-areas: "num line conts";
    gap: 2rem;
  }
}
.p-onsen__howto-list > li::before {
  content: counter(listnum) ".";
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
}
@media screen and (min-width: 768px) {
  .p-onsen__howto-list > li::before {
    grid-area: num;
  }
}
@media screen and (min-width: 768px) {
  .p-onsen__howto-list > li::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #272727;
    grid-area: line;
    margin-top: calc(clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem) * 1.4);
  }
}
.p-onsen__howto-list > li + li {
  margin-top: clamp(25px, 2.82vw + 14.4px, 55px);
}
@media screen and (min-width: 768px) {
  .p-onsen__howto-list > li .inner {
    grid-area: conts;
  }
}
@media screen and (min-width: 768px){
  .p-onsen__howto-list > li::before {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-onsen__howto-list > li::after {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-onsen__howto-list > li .inner {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
  }
}
.p-onsen__howto-item {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
  margin-bottom: 0.5em;
  line-height: 1.5;
}

/*story
-----------------------------------------------------*/
.p-access__head {
  margin-bottom: clamp(60px, 1.88vw + 52.9px, 80px);
}
.p-access__navi {
  font-size: clamp(1.0625rem, 0.09vw + 16.7px, 1.125rem);
  line-height: 1;
  display: -ms-grid;
  display: grid;
  gap: 1em;
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  .p-access__navi {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    margin-top: 2em;
  }
}
.p-access__navi > li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-access__navi > li {
    margin: 0;
    border: none;
  }
}
.p-access__navi a {
  display: block;
  padding: 0 1.5em;
}
.p-access__navi-sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-access__navi-sub > li + li {
  border-left: 1px solid;
}
@media screen and (min-width: 768px) {
  .p-access__navi-sub + .p-access__navi-sub {
    border-left: 1px solid;
  }
}
.p-access__taxi-info {
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-access__taxi-info {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 2em minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5em 2em;
  }
}
.p-access__taxi-info dd:not(:last-child) {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  .p-access__taxi-info dd:not(:last-child) {
    margin-bottom: 0;
  }
}

.p-access__conts {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2em;
}
@media screen and (min-width: 960px) {
  .p-access__conts {
    -ms-grid-columns: 30% 0 minmax(0, 1fr);
    grid-template-columns: 30% minmax(0, 1fr);
    gap: 0;
  }
}
.p-access__conts-title {
  font-size: clamp(2.0625rem, 1.13vw + 28.8px, 2.8125rem);
  line-height: 1.6;
}
.p-access__conts-subtitle {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
  line-height: 1.6;
}
.p-access__conts-subtitle.-line {
  border-bottom: 1px solid #ADADAA;
  padding-bottom: 1em;
  margin-bottom: 1em;
}
@media screen and (min-width: 960px) {
  .p-access__conts-text {
    padding-top: 1em;
  }
}

.p-access__map {
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
}
.p-access__map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}

.p-access__note {
  padding: clamp(16px, 1.88vw + 8.9px, 36px);
}
.p-access__note-title {
  font-size: clamp(1.25rem, 0.47vw + 18.2px, 1.5625rem);
  margin-bottom: 1em;
}

/*explore
-----------------------------------------------------*/
.p-explore__lead {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  line-height: 2;
}
.p-explore__lead p + p {
  margin-top: 1.5em;
}
.p-explore__bnr-list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1fr) clamp(11px, 0.85vw + 7.8px, 20px) minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(12px, 1.69vw + 5.7px, 30px) clamp(11px, 0.85vw + 7.8px, 20px);
}
@media screen and (min-width: 768px) {
  .p-explore__bnr-list {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 960px) {
  .p-explore__bnr-list {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.p-neighborhood__list {
  display: -ms-grid;
  display: grid;
  gap: 75px;
}
@media screen and (min-width: 768px) {
  .p-neighborhood__list {
    -ms-grid-columns: minmax(0, 1fr) 60px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 120px 60px;
  }
}
@media screen and (min-width: 960px) {
  .p-neighborhood__list {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.p-neighborhood__img {
  width: 100%;
}
.p-neighborhood__title {
  font-size: clamp(1.4375rem, 0.47vw + 21.2px, 1.75rem);
  font-family: "Hina Mincho", serif;
  margin-top: 0.7em;
  line-height: 1.4;
}
.p-neighborhood__access {
  font-size: clamp(1rem, 0.09vw + 15.7px, 1.0625rem);
  border-bottom: 1px solid #979996;
  padding-bottom: 0.5em;
  margin: 1em 0;
}
.p-neighborhood__desc {
  font-size: clamp(1rem, 0.09vw + 15.7px, 1.0625rem);
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-neighborhood__desc p + p {
  margin-top: 1em;
}
.p-neighborhood__desc.is-not-clamped + .p-neighborhood__more {
  display: none;
}
.p-neighborhood__desc.is-expanded {
  -webkit-line-clamp: unset;
  display: block;
}
.p-neighborhood__more {
  width: 10em;
  margin: 1em 0 0 auto;
  cursor: pointer;
}

.p-nearby__list {
  display: -ms-grid;
  display: grid;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .p-nearby__list {
    -ms-grid-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px 40px;
  }
}
@media screen and (min-width: 960px) {
  .p-nearby__list {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.p-nearby__name {
  font-size: clamp(1.375rem, 0.38vw + 20.6px, 1.625rem);
  font-family: "Hina Mincho", serif;
  margin-top: 0.5em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: color 0.5s;
  transition: color 0.5s;
  line-height: 1.4;
}
.p-nearby__name::after {
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background: url(../img/common/out.svg) no-repeat center center/50% auto;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-left: 0.5em;
}
@media (hover: hover) {
  a.-animate .p-nearby__name::after {
    -webkit-animation: out-pod-reverse 0.3s steps(4) forwards;
            animation: out-pod-reverse 0.3s steps(4) forwards;
  }
  a.-animate:hover .p-nearby__name::after {
    -webkit-animation: out-pod 0.3s steps(4) forwards;
            animation: out-pod 0.3s steps(4) forwards;
  }
}

@-webkit-keyframes out-pod {
  0% {
    background-image: url(../img/common/out.svg);
  }
  20% {
    background-image: url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
}

@keyframes out-pod {
  0% {
    background-image: url(../img/common/out.svg);
  }
  20% {
    background-image: url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
}
@-webkit-keyframes out-pod-reverse {
  0% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  20% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/out.svg);
  }
}
@keyframes out-pod-reverse {
  0% {
    background-image: url(../img/common/hover3.png), url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  20% {
    background-image: url(../img/common/hover3-2.png), url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  40% {
    background-image: url(../img/common/hover2.png), url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  60% {
    background-image: url(../img/common/hover1-2.png), url(../img/common/hover1.png);
  }
  80% {
    background-image: url(../img/common/hover1.png);
  }
  100% {
    background-image: url(../img/common/out.svg);
  }
}
/*
contact
-----------------------------------------------------*/
@media screen and (min-width: 960px) {
  .p-contact__main {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-contact__msg {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
.p-contact__form {
  margin-top: 4em;
  width: 100%;
}
.p-contact__form .label, .p-contact__form .input {
  width: 100%;
  display: block;
}
.p-contact__form .label {
  font-size: clamp(1.125rem, 0.19vw + 17.3px, 1.25rem);
}
@media screen and (min-width: 960px) {
  .p-contact__form .label {
    padding-top: 0.5em;
  }
}
.p-contact__form .require {
  color: #C21000;
  font-size: clamp(0.9375rem, 0.09vw + 14.7px, 1rem);
}
.p-contact__form .note {
  font-size: 0.8571428571rem;
  margin-left: auto;
  line-height: 150%;
}
@media screen and (min-width: 960px) {
  .p-contact__form .note {
    font-size: 0.875rem;
  }
}
.p-contact__form__item {
  margin-bottom: clamp(15px, 3.76vw + 0.9px, 55px);
}
@media screen and (min-width: 960px) {
  .p-contact__form__item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 18em minmax(0, 1fr);
    grid-template-columns: 18em minmax(0, 1fr);
  }
}
.p-contact__form input[type=text],
.p-contact__form input[type=number],
.p-contact__form input[type=date],
.p-contact__form input[type=email],
.p-contact__form input[type=tel],
.p-contact__form select,
.p-contact__form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 0.9rem;
  font-family: inherit;
  line-height: 150%;
  width: 100%;
  height: 3.5em;
  padding: 1em;
  vertical-align: middle;
  display: inline-block;
  background: #FFF;
  border: 1px solid #272727;
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
  color: inherit;
}
@media screen and (min-width: 768px) {
  .p-contact__form input[type=text],
  .p-contact__form input[type=number],
  .p-contact__form input[type=date],
  .p-contact__form input[type=email],
  .p-contact__form input[type=tel],
  .p-contact__form select,
  .p-contact__form textarea {
    padding: 1em 1.5em;
  }
}
@media screen and (min-width: 960px) {
  .p-contact__form input[type=text],
  .p-contact__form input[type=number],
  .p-contact__form input[type=date],
  .p-contact__form input[type=email],
  .p-contact__form input[type=tel],
  .p-contact__form select,
  .p-contact__form textarea {
    font-size: 1rem;
  }
}
.p-contact__form input[type=text].p-contact--input-s,
.p-contact__form input[type=number].p-contact--input-s,
.p-contact__form input[type=date].p-contact--input-s,
.p-contact__form input[type=email].p-contact--input-s,
.p-contact__form input[type=tel].p-contact--input-s,
.p-contact__form select.p-contact--input-s,
.p-contact__form textarea.p-contact--input-s {
  width: 17em;
  max-width: 80%;
}
.p-contact__form .input span[data-name=your-zip] {
  position: relative;
}
.p-contact__form .input span[data-name=your-zip]::before {
  content: "〒";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1em;
  margin: auto;
  pointer-events: none;
}
.p-contact__form .input span[data-name=your-zip] input {
  padding-left: 2.5em;
}
.p-contact__form select {
  background: #FFF url(../img/common/arrow-down-normal.svg) no-repeat right 1.5em top 1.5em/0.7rem auto;
  padding-right: 3em;
}
.p-contact__form textarea {
  height: auto;
  min-height: 20em;
}
.p-contact__form .wpcf7-spinner {
  display: none;
}
.p-contact__form .wpcf7-checkbox .wpcf7-list-item {
  display: block;
}
.p-contact__form input[type=radio],
.p-contact__form input[type=checkbox] {
  margin-top: 0;
  margin-right: 8px;
}
.p-contact__form .wpcf7-checkbox label,
.p-contact__form .wpcf7-radio label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-contact__submit {
  width: 8em;
  border: none;
  margin: 0 auto;
  background: transparent url(../img/common/hover0.png) no-repeat right 0.2em/1em 1em;
  display: block;
  border-bottom: 1px solid;
  font-size: clamp(1.4375rem, 0.66vw + 20.5px, 1.875rem);
  font-family: "Hina Mincho", serif;
  text-align: left;
  cursor: pointer;
}
@media screen and (min-width: 960px) {
  .p-contact__submit {
    margin-left: 19rem;
  }
}
.p-contact__submit.-animate {
  -webkit-animation: pod-reverse 0.3s steps(5) forwards;
          animation: pod-reverse 0.3s steps(5) forwards;
}
.p-contact__submit.-animate:hover {
  -webkit-animation: pod 0.3s steps(5) forwards;
          animation: pod 0.3s steps(5) forwards;
}
.p-contact__privacy-check {
  margin: 2em 0;
  text-align: center;
}
@media screen and (min-width: 960px) {
  .p-contact__privacy-check {
    padding-left: 18em;
    text-align: left;
  }
}
.p-contact__privacy-check a {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-contact__privacy-check {
    margin: 4em 0;
  }
}
.p-contact__label + .p-contact_label {
  margin-top: 2em;
}

::-webkit-input-placeholder {
  color: #969696;
  font-family: "Zen Old Mincho", serif;
}

::-moz-placeholder {
  color: #969696;
  font-family: "Zen Old Mincho", serif;
}

:-ms-input-placeholder {
  color: #969696;
  font-family: "Zen Old Mincho", serif;
}

::-ms-input-placeholder {
  color: #969696;
  font-family: "Zen Old Mincho", serif;
}

::placeholder {
  color: #969696;
  font-family: "Zen Old Mincho", serif;
}

.grecaptcha-badge {
  visibility: hidden;
}

.grecaptcha-text {
  font-size: 0.7142857143rem;
  margin-top: 2em;
  text-align: center;
}

/*404
-----------------------------------------------------*/
.p-404__title {
  font-size: clamp(1.5rem, 1.5vw + 18.4px, 2.5rem);
  line-height: 1.5;
  text-align: center;
}
.p-404__body {
  font-size: clamp(1rem, 0.28vw + 14.9px, 1.1875rem);
}
.p-404__link {
  font-size: clamp(1.25rem, 0.66vw + 17.5px, 1.6875rem);
  max-width: 20em;
  margin: 0 auto;
}

/*english
-----------------------------------------------------*/
.p-gmenu-summary.-en {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
}
.p-gmenu-summary.-en .p-gmenu-summary__item:not(:last-child) {
  margin-left: 0;
}

.l-main__poem.-en {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  width: 11em;
  white-space: normal;
  line-height: 1.5;
  mix-blend-mode: none;
  z-index: 49;
}
.l-main__poem.-en.-white {
  color: #FFF;
}
.l-main__poem.-en .author {
  margin-top: 0.5em;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.l-main__poem.-en .author::before {
  width: 1.5em;
  height: 1px;
  margin: 0 0.5em 0 0;
}

.p-home__conts-main.-en .p-home__conts-text {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
}
.p-home__conts-main.-en .p-home__conts-title {
  margin-left: 0;
}
.p-home__conts-main.-en .p-home__conts-subtitle {
  margin-left: 0;
}

.p-home__accommodation-title.-en {
  padding-bottom: 0.5em;
}
.p-home__accommodation-title.-en::after {
  display: none;
}

.p-home__explore.-en .p-home__explore-text {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
}
@media screen and (min-width: 768px) {
  .p-home__explore.-en .p-home__explore-inner {
    width: 90%;
    max-width: 600px;
    margin: 0 auto;
  }
}
.p-home__explore.-en .p-home__explore-subtitle {
  margin-left: 0;
}
.p-home__explore.-en .p-home__explore-subtitle .sub {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-home__explore.-en .p-home__explore-subtitle .sub::before {
  width: 2em;
  height: 1px;
  margin: 0 0.5em 0 0;
  vertical-align: middle;
}

.p-home__access-title.-en {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  text-align: center;
}

.l-footer__poem.-en {
  height: clamp(282px, 37.18vw + 142.6px, 678px);
}
.l-footer__poem.-en .l-footer__poem-title {
  line-height: 1.5;
  margin-bottom: 1em;
}
.l-footer__poem.-en .l-footer__poem-lead {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.c-sitemap--header.-en {
      grid-template-areas: "home" "inn" "spring" "around" "access";
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}

@media screen and (min-width: 960px) {
  .c-sitemap--footer.-en {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "home inn" "spring around";
    -ms-grid-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    gap: 30px 40px;
  }
  .c-sitemap--footer.-en > .home {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-sitemap--footer.-en > .inn {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
  }
  .c-sitemap--footer.-en > .spring {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-sitemap--footer.-en > .around {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}
@media screen and (min-width: 1280px) {
  .c-sitemap--footer.-en {
        grid-template-areas: "home blank" "inn spring" "around access";
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .c-sitemap--footer.-en > .home {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .c-sitemap--footer.-en > .inn {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-sitemap--footer.-en > .spring {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .c-sitemap--footer.-en > .around {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .c-sitemap--footer.-en > .access {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
  }
}

.p-accommodation__list-link.-en .p-accommodation__list-copy {
  display: none;
}
.p-accommodation__list-link.-en .item-wide {
  border-bottom: 1px solid #979996;
}
.p-accommodation__list-link.-en .item-wide .c-button {
  padding-bottom: 0.2em;
}
.p-accommodation__list-link.-en .item-wide .c-button::before {
  display: none;
}
.p-accommodation__list-link.-en .p-accommodation__list-info .item {
  -ms-grid-columns: 9em minmax(0, 1fr);
  grid-template-columns: 9em minmax(0, 1fr);
  -ms-grid-rows: auto;
  grid-template-rows: auto;
}
.p-accommodation__list-link.-en .p-accommodation__list-info .item > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-accommodation__list-link.-en .p-accommodation__list-info .item > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}

.l-footer__bottom.-en {
  -webkit-box-pack: row;
  -webkit-justify-content: row;
      -ms-flex-pack: row;
          justify-content: row;
}

/*
  block
-----------------------------------------------------*/
.u-block-rounded {
  border-radius: 10px;
}

.u-block-rounded-s {
  border-radius: 5px;
}

/*
  Responsive
-----------------------------------------------------*/
@media screen and (min-width: 768px) {
  .u-sp-visible {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .u-tab-visible {
    display: none;
  }
}

.u-sp-hidden {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-sp-hidden {
    display: initial;
  }
}

.u-tab-hidden {
  display: none;
}
@media screen and (min-width: 960px) {
  .u-tab-hidden {
    display: initial;
  }
}

.u-br-wrap {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/*
  Screen Reader Text
-----------------------------------------------------*/
.screen-reader-text {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
}

.tab-control .l-header-menu__toggle {
  opacity: 1;
  pointer-events: auto;
}