@charset "UTF-8";
/*-----------------setting---------------------*/
/* ==========================================================================
   Modern Reset CSS
   ========================================================================== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

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

html {
  font-size: 62.5%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1.5;
  font-size: 1.6rem;
  color: #333;
  width: 100%;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body:has(dialog[open]) {
  /* ダイアログ表示時の背景スクロール停止 */
  overflow: hidden;
}

ol,
ul {
  list-style: none;
}

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

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

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

._sp {
  display: none;
}

._pc {
  display: block;
}

@media screen and (max-width: 768px) {
  ._sp {
    display: block;
  }
  ._pc {
    display: none;
  }
}
main {
  overflow: hidden;
}
main p {
  line-height: 1.5;
  letter-spacing: 0.05em;
}

html,
body {
  overflow-x: hidden;
}

/* ==========================================================================
   Mixins (定義エリア)
   ========================================================================== */
/* ==========================================================================
   Common Classes (適用エリア)
   ========================================================================== */
.com_col_wh {
  color: #fff;
}
.com_col_blk {
  color: #000000;
}
.com_center {
  position: absolute;
  inset: 0;
  margin: auto;
}
.com_imgBox {
  position: relative;
}
.com_imgBox .com_imgNote {
  position: absolute;
  font-size: 1rem;
  inset: auto 5px 5px auto;
}
.com_imgBox .com_imgNote_l {
  position: absolute;
  font-size: 1rem;
  inset: auto auto 5px 5px;
}
.com_imgBox .com_imgNote_b {
  position: absolute;
  font-size: 1rem;
  inset: calc(100% + 5px) 5px auto auto;
}
.com_text {
  font-size: 1.4rem;
  font-size: clamp(1.4rem, 3.5vw, 1.6rem);
}
.com_note {
  font-size: 1rem;
  text-align: justify;
  word-break: break-all;
}
.com_w800 {
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
}
.com_w1000 {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
}
.com_w1400 {
  width: 95%;
  max-width: 1400px;
  margin: 0 auto;
}
.com_flbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.com_notebox {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(20px, 6vw, 50px) 0;
}
.com_note_item {
  font-size: 1rem;
  padding-left: 1em;
  text-indent: -1em;
  position: relative;
}
.com_note_item::before {
  content: "※";
}
.com_num {
  margin-top: -5px;
  display: inline-block;
  font-size: 1.2em;
}

/* ==========================================================================
   Color
   ========================================================================== */
/* ==========================================================================
   Page MV & Page Title
   ========================================================================== */
.mv {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1200/712;
}

.mv__image {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
}

.mv__caption {
  position: absolute;
  left: 1rem;
  bottom: 0.5rem;
  z-index: 2;
  font-size: 1rem;
  color: #ffffff;
}

.mv__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  -webkit-transform: scale(1.06);
          transform: scale(1.06);
}

.mv__inner {
  position: relative;
  z-index: 2;
  height: 100%;
}

.page-title {
  position: absolute;
  top: 8%;
  left: 0;
}

.page-title__label {
  position: relative;
  display: inline-block;
  padding: 10px 0;
  font-family: "Cinzel", serif;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #ffffff;
}
.page-title__label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 105%;
  height: 1px;
  background: linear-gradient(-150deg, #8f6500 0%, #f7f6e5 100%);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-animation: page-title-line 1.2s cubic-bezier(0.65, 0, 0.35, 1) forwards;
          animation: page-title-line 1.2s cubic-bezier(0.65, 0, 0.35, 1) forwards;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.page-title__label-text {
  display: inline-block;
  letter-spacing: 0.1em;
  margin-left: min(8vw, 96px);
  text-transform: uppercase;
  color: #ffffff;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8);
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, transform 0.6s;
  transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
  clip-path: inset(0 100% 0 0);
  -webkit-animation: page-title-text 1s cubic-bezier(0.65, 0, 0.35, 1) 0.9s forwards;
          animation: page-title-text 1s cubic-bezier(0.65, 0, 0.35, 1) 0.9s forwards;
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}

.mv__lead {
  position: absolute;
  z-index: 1;
  line-height: 1.5;
  letter-spacing: 0.1em;
  opacity: 0;
}
.mv__lead span {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translate3d(0, 8px, 0);
          transform: translate3d(0, 8px, 0);
}

body.is-mv-started .page-title__label::before,
body.is-mv-started .page-title__label-text {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

@-webkit-keyframes page-title-line {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes page-title-line {
  0% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@-webkit-keyframes page-title-text {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes page-title-text {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@media screen and (max-width: 768px) {
  .page-title__label {
    padding: 0 0 5px;
    font-size: clamp(1.4rem, 0.5176rem + 2.451vw, 2.4rem);
  }
}
/*-----------------font---------------------*/
@font-face {
  font-family: "";
  src: url(../fonts/) format("opentype");
}
.eb-garamond {
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.cinzel {
  font-family: "Cinzel", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.roboto {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.shippori-mincho {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

body {
  font-family: YakuHanMP, "EB Garamond", "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
  color: #231815;
}

/* ==========================================================================
   アニメーション共通設定
   ========================================================================== */
[class*=anime].scrollin {
  opacity: 1 !important;
  -webkit-filter: blur(0) !important;
          filter: blur(0) !important;
  -webkit-transform: translate(0, 0) !important;
          transform: translate(0, 0) !important;
}
[class*=anime].scrollin img {
  scale: 1;
}

/* -----------------------------------------------------------
	ぼかしフェード
   ----------------------------------------------------------- */
[class*=anime_blur_] {
  opacity: 0;
  -webkit-filter: blur(100px);
          filter: blur(100px);
  -webkit-transition: opacity 1s, -webkit-filter 1s;
  transition: opacity 1s, -webkit-filter 1s;
  transition: opacity 1s, filter 1s;
  transition: opacity 1s, filter 1s, -webkit-filter 1s;
}

.anime_blur_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_blur_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_blur_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_blur_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_blur_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_blur_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_blur_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_blur_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_blur_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	下からふわっと表示
   ----------------------------------------------------------- */
[class*=anime_fadeUp_] {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.anime_fadeUp_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_fadeUp_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_fadeUp_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_fadeUp_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_fadeUp_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_fadeUp_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_fadeUp_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_fadeUp_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_fadeUp_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	透明度変更
   ----------------------------------------------------------- */
[class*=anime_fade_] {
  opacity: 0;
  -webkit-transition: opacity 1.5s;
  transition: opacity 1.5s;
}

.anime_fade_1 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.anime_fade_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_fade_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_fade_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_fade_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_fade_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_fade_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_fade_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_fade_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_fade_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

/* -----------------------------------------------------------
	画像表示（scale:1.1 → 1）
   ----------------------------------------------------------- */
[class*=anime_imgScale_] {
  overflow: hidden;
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
}
[class*=anime_imgScale_] img {
  scale: 1.1;
  -webkit-transition: 1.5s;
  transition: 1.5s;
}

.anime_imgScale_1 {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.anime_imgScale_2 {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.anime_imgScale_3 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.anime_imgScale_4 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.anime_imgScale_5 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.anime_imgScale_6 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.anime_imgScale_7 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.anime_imgScale_8 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.anime_imgScale_9 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.anime_imgScale_10 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

header {
  position: relative;
  z-index: 10;
  color: #231815;
  background-color: #ffffff;
}

.top_header {
  background-color: #ffffff;
}
.top_header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 95%;
  margin-inline: auto;
  padding-top: 1.6rem;
}

.top_header__logo {
  position: absolute;
  top: 50%;
  left: 5%;
  width: 23%;
  max-width: 29.6rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.top_header__logo figure {
  width: 100%;
}
.top_header__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.top_header__logo a {
  display: block;
}

.top_header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 36px;
}

.top_header__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 26px;
}

.top_header__links a {
  position: relative;
  color: #231815;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 1.6rem;
}

.top_header__links a::before {
  content: ">";
  position: absolute;
  top: 42%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.top_header__company {
  width: 180px;
}

.top_header__company figure {
  width: 100%;
}

.top_header__company img {
  display: block;
  width: 100%;
  height: auto;
}

.top_header__company a {
  display: block;
}

.bottom_header {
  background-color: #ffffff;
}

.bottom_header .inner {
  width: 95%;
  margin-inline: auto;
}

.g_nav {
  background-color: #ffffff;
}

.g_nav nav {
  width: 100%;
}

.g_nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  min-height: 5.2rem;
}

.g_nav__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-left: 1px solid #231815;
}
.g_nav__item.g_nav__item--sp {
  display: none;
}
.g_nav__item:last-child {
  border-right: 1px solid #231815;
}

.g_nav__link {
  position: relative;
  display: block;
  padding-inline: min(1.2vw, 1.6rem);
  color: #231815;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.g_nav__link p {
  font-size: clamp(1.3rem, 0.5759rem + 0.9416vw, 1.8rem);
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-transform: uppercase;
}
.g_nav__link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #231815;
  opacity: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.g_nav__link.is-current::after {
  opacity: 1;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.g_nav__link.none p {
  opacity: 0.5;
}

.g_menu_btn {
  display: none;
}

body.is-nav-open {
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .top_header__links a:hover {
    opacity: 0.6;
  }
  .g_nav__link:hover {
    color: #9d8545;
  }
  .g_nav__link:hover::after {
    opacity: 1;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@media screen and (max-width: 768px) {
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }
  body {
    padding-top: 60px;
  }
  body.is-nav-open {
    position: fixed;
    width: 100%;
  }
  .top_header .inner {
    padding-top: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    min-height: 60px;
  }
  .top_header__logo {
    position: static;
    width: 44%;
    -webkit-transform: none;
            transform: none;
    max-width: 26rem;
  }
  .top_header__links {
    display: none;
  }
  .top_header__company {
    width: clamp(11rem, 4.8235rem + 17.1569vw, 18rem);
  }
  .g_menu_btn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 60px;
    height: 60px;
    padding: 0;
    border: 0;
    background-color: #c11920;
    cursor: pointer;
  }
  .g_menu_btn__line {
    position: absolute;
    width: 26px;
    height: 1px;
    background-color: #ffffff;
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  }
  .g_menu_btn__line:nth-child(1) {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
  .g_menu_btn__line:nth-child(3) {
    -webkit-transform: translateY(8px);
            transform: translateY(8px);
  }
  .g_menu_btn.is-open .g_menu_btn__line:nth-child(1) {
    -webkit-transform: translateY(0) rotate(45deg);
            transform: translateY(0) rotate(45deg);
  }
  .g_menu_btn.is-open .g_menu_btn__line:nth-child(2) {
    opacity: 0;
  }
  .g_menu_btn.is-open .g_menu_btn__line:nth-child(3) {
    -webkit-transform: translateY(0) rotate(-45deg);
            transform: translateY(0) rotate(-45deg);
  }
  .bottom_header {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    overflow-y: auto;
    z-index: 15;
    border-top: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    pointer-events: none;
    -webkit-transition: opacity 0.35s ease, visibility 0.35s ease, -webkit-transform 0.35s ease;
    transition: opacity 0.35s ease, visibility 0.35s ease, -webkit-transform 0.35s ease;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease, -webkit-transform 0.35s ease;
  }
  .bottom_header.is-open {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: auto;
  }
  .bottom_header .inner {
    max-width: none;
    padding-inline: 20px;
  }
  .top_header__right {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 70px;
    height: 44px;
    gap: 0;
  }
  .g_nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    min-height: 0;
  }
  .g_nav__item {
    display: block;
    border-left: 0;
    border-bottom: 1px solid rgba(35, 24, 21, 0.12);
  }
  .g_nav__item.g_nav__item--sp {
    display: block;
  }
  .g_nav__item:last-child {
    border-right: 0;
  }
  .g_nav__link {
    padding-inline: 0;
    padding-block: 14px;
  }
  .g_nav__link p {
    font-size: 16px;
  }
  .g_nav__link.is-current p {
    text-decoration: none;
  }
  .g_nav__link::after {
    display: none;
  }
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
footer .top_footer {
  margin-top: min(4.16vw, 50px);
}
footer .top_footer .bnr_area {
  width: 66%;
  max-width: 800px;
  margin-inline: auto;
}
footer .top_footer .footer__nav {
  width: 90%;
  max-width: 1000px;
  margin-inline: auto;
  margin-top: min(8.83vw, 106px);
  padding-bottom: min(2.3vw, 28px);
  background-color: #ffffff;
  border-bottom: 2px solid #8f6500;
  border-image-source: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  border-image-slice: 1;
}
footer .top_footer .footer__nav nav {
  width: 100%;
}
footer .top_footer .footer__nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 5.2rem;
}
footer .top_footer .footer__nav__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-left: 1px solid #231815;
}
footer .top_footer .footer__nav__item:last-child {
  border-right: 1px solid #231815;
}
footer .top_footer .footer__nav__link {
  position: relative;
  display: block;
  padding-inline: min(1.2vw, 1.6rem);
  color: #231815;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
footer .top_footer .footer__nav__link p {
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-transform: uppercase;
}
footer .top_footer .footer__nav__link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #231815;
  opacity: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
footer .top_footer .footer__nav__link.is-current::after {
  opacity: 1;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
footer .top_footer .footer__nav__link.none p {
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  footer .top_footer .bnr_area {
    width: 90%;
  }
  footer .top_footer {
    /*@media screen end*/
  }
}
footer .bottom_footer {
  margin-top: min(8.5vw, 102px);
}
footer .bottom_footer .logo--footer {
  width: 12%;
  max-width: 124px;
  margin-inline: auto;
}
footer .bottom_footer .owner_area {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  margin: 2.5% auto 3%;
}
footer .bottom_footer .owner_area ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2%;
}
footer .bottom_footer .owner_area ul .bottom_footer-contact {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 38%;
}
footer .bottom_footer .owner_area ul .owner {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30%;
}
footer .bottom_footer .owner_area ul .owner p {
  font-size: 1rem;
}
footer .bottom_footer .owner_area ul .owner .logo {
  margin-top: 5%;
  width: 100%;
}
footer .bottom_footer .owner_area ul .owner:nth-child(2) {
  width: 23%;
}
footer .bottom_footer .owner_area ul .owner:nth-child(2) .logo {
  margin-top: 8%;
}
@media screen and (max-width: 768px) {
  footer .bottom_footer .logo--footer {
    width: 30%;
  }
  footer .bottom_footer .owner_area {
    margin: 10% auto 15%;
  }
  footer .bottom_footer .owner_area ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer .bottom_footer .owner_area ul .bottom_footer-contact {
    width: 100%;
  }
  footer .bottom_footer .owner_area ul .owner {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
  footer .bottom_footer .owner_area ul .owner .logo {
    margin-top: 5%;
    width: 100%;
  }
  footer .bottom_footer .owner_area ul .owner p {
    margin-left: 10%;
  }
  footer .bottom_footer .owner_area ul .owner:nth-child(2) {
    width: 70%;
    max-width: 540px;
    margin: 6% auto 0;
  }
  footer .bottom_footer .owner_area ul .owner:nth-child(2) .logo {
    margin-top: 5%;
  }
  footer .bottom_footer {
    /*@media screen end*/
  }
}
footer .copy {
  background-color: #ffffff;
  padding: 1rem 0;
}
footer .copy p {
  text-align: center;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
.login {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-image: url("../img/common/login_mv.jpg");
  background-position: center;
  background-size: cover;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 1s ease, visibility 1s ease;
  transition: opacity 1s ease, visibility 1s ease;
}

.login__note {
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 1rem;
  color: #ffffff;
}

.login-contact__wrap {
  position: absolute;
  bottom: 4%;
  left: 3.2%;
  width: 38%;
  max-width: 260px;
  max-width: 32rem;
}

.login-chuden__wrap {
  position: absolute;
  right: 3.2%;
  bottom: 4%;
  max-width: 220px;
}

.login__inner {
  width: min(90%, 500px);
  text-align: center;
}

.login__sub-title {
  margin: 0 0 8px;
  font-family: "Cinzel", serif;
  font-size: 2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
}

.login__title {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 5.4rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
}

.login__description {
  margin: 8px 0 24px;
  font-size: 12px;
  color: #ffffff;
}

.login__form {
  width: min(100%, 320px);
  margin-inline: auto;
}

.login__label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
}

.login__form-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.login__input {
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 38px;
  padding: 0 12px;
  font-family: "Shippori Mincho", serif;
  color: #cccccc;
  background-color: #ffffff;
  border: 0;
  font-size: 1.6rem;
}

.login__button {
  padding: min(0.8vw, 1rem) min(1.3vw, 1.6rem);
  font-family: "Shippori Mincho", serif;
  color: #ffffff;
  background-color: #b79b4f;
  border: 0;
  cursor: pointer;
  font-size: 1.2rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.login__button:hover {
  background-color: #897443;
}

.login__error {
  display: none;
  margin: 12px 0 0;
  color: #ffffff;
  font-size: 1.2rem;
}

/* パスワードが間違っていた場合 */
.login.is-error .login__error {
  display: block;
}

/* 認証成功後 */
.login.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .login {
    background-image: url("../img/common/login_mv_sp.jpg");
  }
  .login-chuden__wrap {
    width: 45%;
  }
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
@media screen and (max-width: 768px) {
  /*@media screen end*/
}
html.is-authenticated #login,
html.is-authenticated #message {
  display: none !important;
}
html.is-authenticated #site-content {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transition: none !important;
  transition: none !important;
}

#top .message {
  position: fixed;
  inset: 0;
  z-index: 900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #231815;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 1s ease, visibility 1s ease;
  transition: opacity 1s ease, visibility 1s ease;
}
#top .message.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#top .message.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#top .message.is-active:not(.is-ready) .message__inner {
  opacity: 0;
}
#top .message__title {
  margin: 0;
  color: #ffffff;
  font-size: 7.4rem;
  text-transform: uppercase;
  line-height: 1.2;
  letter-spacing: 0.06em;
}
#top .message__line {
  display: block;
}
#top .message__char {
  display: inline-block;
  opacity: 0;
}
#top .message__text {
  margin: 28px 0 0;
  color: #ffffff;
  font-size: 3.9rem;
  letter-spacing: 0.2em;
}
#top .message__text .message__char {
  display: inline-block;
  opacity: 0;
}
#top .site-content {
  -webkit-transition: opacity 1s ease, visibility 1s ease;
  transition: opacity 1s ease, visibility 1s ease;
}
#top .site-content.is-waiting {
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  #top .message__title {
    font-size: clamp(4.4rem, 1.0471rem + 9.3137vw, 8.2rem);
  }
  #top .message__text {
    font-size: clamp(2.4rem, 0.8118rem + 4.4118vw, 4.2rem);
  }
  #top {
    /*@media screen end*/
  }
}
#top .top-fv {
  min-height: 100vh;
  background-image: url("../img/top/mv.jpg");
  background-position: center;
  background-size: cover;
  position: relative;
}
#top .top-fv__title {
  position: absolute;
  top: 22%;
  left: 11%;
  font-family: "Cinzel", serif;
  text-transform: uppercase;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #ffffff;
}
#top .top-fv__note {
  position: absolute;
  bottom: 2rem;
  right: 1rem;
  font-size: 1rem;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  #top .top-fv {
    min-height: 100svh;
    background-image: url("../img/top/mv_sp.jpg");
  }
  #top .top-fv__title {
    left: 7%;
    font-size: clamp(2rem, 0.5882rem + 3.9216vw, 3.6rem);
  }
  #top {
    /*@media screen end*/
  }
}
#top .ups {
  color: #231815;
  background-color: #ffffff;
  padding-block: min(8.5vw, 102px) min(11vw, 132px);
}
#top .ups__inner {
  width: min(1000px, 95%);
  margin-inline: auto;
}
#top .ups__overview,
#top .ups__zeh,
#top .ups__features {
  opacity: 0;
  -webkit-transform: translateY(24px);
          transform: translateY(24px);
  will-change: opacity, transform;
}
#top .ups__overview {
  width: 72%;
  margin-inline: auto;
  text-align: center;
}
#top .ups__city {
  margin: 0;
  font-size: 3.3rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
#top .ups__city-en {
  margin-top: -8px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}
#top .ups__project {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: min(1vw, 12px);
  padding-block: 8px 7px;
  border-top: 1px solid rgba(35, 24, 21, 0.3);
  border-bottom: 1px solid rgba(35, 24, 21, 0.3);
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  white-space: nowrap;
}
#top .ups__project .ups__project--en {
  font-family: "Cinzel", serif;
  font-size: 1.2em;
  text-transform: uppercase;
}
#top .ups__access {
  margin-top: 32px;
}
#top .ups__station-note {
  max-width: 522px;
  margin-inline: auto;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: left;
}
#top .ups__station {
  margin-top: -2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  font-size: 4.2rem;
  letter-spacing: 0;
}
#top .ups__station-name {
  font-size: 1.35em;
}
#top .ups__station-number {
  color: #b79b4f;
  font-size: 2.4em;
  line-height: 0.85;
}
#top .ups__distance {
  max-width: 522px;
  margin-inline: auto;
  margin-top: 3px;
  font-size: 9px;
  line-height: 1.5;
  text-align: right;
}
#top .ups__zeh {
  position: relative;
  margin-top: min(6.5vw, 78px);
  padding-block: min(2.2vw, 27px) min(2.3vw, 27px);
  --zeh-line-before: 0;
  --zeh-line-after: 0;
}
#top .ups__zeh::before, #top .ups__zeh::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
}
#top .ups__zeh::before {
  top: 0;
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scaleX(var(--zeh-line-before));
          transform: scaleX(var(--zeh-line-before));
}
#top .ups__zeh::after {
  bottom: 0;
  background: linear-gradient(282deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  -webkit-transform-origin: right center;
          transform-origin: right center;
  -webkit-transform: scaleX(var(--zeh-line-after));
          transform: scaleX(var(--zeh-line-after));
}
#top .ups__zeh-title {
  margin: 0;
  font-size: 29px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
}
#top .ups__zeh-title .gold {
  color: #b79b4f;
}
#top .ups__zeh-title sup {
  position: relative;
  top: -1.5em;
  font-size: 11px;
  vertical-align: baseline;
}
#top .ups__zeh-highlight {
  color: #b79b4f;
  font-size: 1.2em;
  letter-spacing: 0em;
  font-family: "EB Garamond", serif;
}
#top .zeh-m__hyphen {
  font-family: serif;
  display: inline-block;
}
#top .ups__zeh-points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 9px;
  margin-top: 9px;
}
#top .ups__zeh-point {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 207px;
  min-height: 26px;
  padding: 4px 10px;
  background: -webkit-gradient(linear, left top, right top, from(#8f6500), color-stop(53%, #b1ac7a), to(#8f6500));
  background: linear-gradient(90deg, #8f6500 0%, #b1ac7a 53%, #8f6500 100%);
  color: #ffffff;
  font-size: clamp(1.3rem, 1.1216rem + 0.232vw, 1.4rem);
  letter-spacing: 0.02em;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
}
#top .ups__zeh-point:nth-of-type(2) {
  width: 265px;
}
#top .ups__zeh-point:nth-of-type(3) {
  width: 207px;
}
#top .ups__zeh-cross {
  color: #b79b4f;
  font-size: 18px;
  font-weight: 400;
}
#top .ups__features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 3.2rem;
}
#top .ups__feature {
  min-height: 74px;
  padding-inline: min(2vw, 25px);
  text-align: center;
}
#top .ups__feature + .ups__feature {
  border-left: 1px solid rgba(35, 24, 21, 0.3);
}
#top .ups__feature-lead {
  margin: 0;
  font-size: 1.7rem;
  letter-spacing: 0em;
  line-height: 1.6;
  white-space: nowrap;
}
#top .ups__feature-title {
  margin: 2px 0 0;
  font-size: 2.9rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
  white-space: nowrap;
}
#top .ups__feature-title.ups__feature-title--park {
  margin-top: -14px;
}
#top .ups__feature-title span {
  font-size: 2em;
  letter-spacing: -0.01em;
}
#top .ups__feature-note {
  margin: 1px 0 0;
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.5;
  white-space: nowrap;
}
#top .ups__feature-note.ups__feature-note--park {
  margin-top: -8px;
}
@media screen and (max-width: 768px) {
  #top .ups__overview {
    width: 95%;
  }
  #top .ups__project {
    font-size: clamp(1.8rem, 0.2118rem + 4.4118vw, 3.6rem);
  }
  #top .ups__station {
    font-size: clamp(2.6rem, 0.5706rem + 5.6373vw, 4.9rem);
  }
  #top .ups__station-note {
    max-width: 610px;
  }
  #top .ups__zeh {
    padding-block: min(8vw, 32px);
  }
  #top .ups__zeh-title {
    font-size: clamp(2.6rem, -0.0471rem + 7.3529vw, 5.6rem);
  }
  #top .ups__zeh-points {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6px;
  }
  #top .ups__zeh-point {
    width: 80%;
    font-size: clamp(1.5rem, 0.7059rem + 2.2059vw, 2.4rem);
  }
  #top .ups__zeh-point:nth-of-type(2), #top .ups__zeh-point:nth-of-type(3) {
    width: 80%;
  }
  #top .ups__features {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #top .ups__feature:first-of-type {
    padding-bottom: min(3.3vw, 25px);
  }
  #top .ups__feature:not(:first-of-type) {
    padding-block: min(3.3vw, 25px);
    border-top: 1px solid rgba(35, 24, 21, 0.3);
  }
  #top .ups__feature + .ups__feature {
    border-left: 0;
  }
  #top .ups__feature-title {
    font-size: clamp(4rem, 2.7647rem + 3.4314vw, 5.4rem);
  }
  #top .ups__feature-lead {
    font-size: clamp(1.9rem, 0.7529rem + 3.1863vw, 3.2rem);
  }
  #top .ups__feature-note {
    font-size: clamp(1rem, 0.1176rem + 2.451vw, 2rem);
  }
  #top {
    /*@media screen end*/
  }
}
#top .sec__title {
  width: 400px;
  margin: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease;
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-transform 0.8s ease;
}
#top .sec__title--center {
  margin-inline: auto;
}
#top .sec__title-link {
  display: block;
  text-decoration: none;
}
#top .sec__title-text {
  display: block;
  font-family: "Cinzel", serif;
  text-transform: uppercase;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: #9d8545;
  -webkit-transition: letter-spacing 0.5s ease, color 0.5s ease;
  transition: letter-spacing 0.5s ease, color 0.5s ease;
}
#top .sec__title-line {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 6px;
  background: linear-gradient(102deg, #f7f6e5 0%, #8f6500 100%);
  background-size: 200% 100%;
  background-position: 0% 0%;
  -webkit-transition: background-position 0.6s ease;
  transition: background-position 0.6s ease;
}
#top .sec__title-more {
  display: block;
  margin-top: 5px;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  color: #231815;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
#top .sec__title-link:hover .sec__title-text {
  letter-spacing: 0.15em;
}
#top .sec__title-link:hover .sec__title-line {
  background-position: 100% 0%;
}
#top .sec__title-link:hover .sec__title-more {
  letter-spacing: 0.15em;
}
#top .sec__title--reverse .sec__title-line {
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 100%);
}
#top .sec__content {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 3;
}
#top .sec__lead {
  font-size: 2.4rem;
}
#top .sec__feature {
  margin-top: 4rem;
  color: #615223;
  font-size: 1.8rem;
}
#top .sec__feature .num {
  font-size: 1.4em;
}
@media screen and (max-width: 768px) {
  #top .sec__title {
    width: 100%;
    max-width: 535px;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  #top .sec__content {
    top: 5%;
    left: 10%;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    width: 76%;
  }
  #top .sec__title--center {
    width: 80%;
    margin-inline: auto;
  }
  #top .sec__lead {
    font-size: clamp(2.4rem, 0.6353rem + 4.902vw, 4.4rem);
  }
  #top .sec__title-text {
    font-size: clamp(2.6rem, 1.1882rem + 3.9216vw, 4.2rem);
  }
  #top .sec__feature {
    margin-top: 1.5rem;
    font-size: clamp(1.6rem, 0.1882rem + 3.9216vw, 3.2rem);
    letter-spacing: 0em;
    text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8);
  }
  #top {
    /*@media screen end*/
  }
}
#top .top-concept {
  position: relative;
}
#top .top-concept::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  width: 100%;
  height: 10px;
}
#top .top-concept__imgBox {
  position: relative;
  overflow: hidden;
}
#top .top-concept__imgBox img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top .top-concept__imgBox figcaption {
  position: absolute;
  bottom: 5px;
  left: 10px;
  font-size: 1rem;
  color: #ffffff;
}
#top .top-concept__lead-box {
  position: absolute;
  top: 10%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#top .top-concept__lead {
  font-family: "Cinzel", serif;
  font-size: 7.6rem;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 1.2;
}
#top .top-concept__lead--gold {
  color: #a8ac60;
  will-change: clip-path;
}
#top .top-concept__lead--ja {
  margin-top: min(4.5vw, 54px);
  font-size: clamp(4.2rem, 3.4863rem + 0.9281vw, 4.6rem);
  color: #ffffff;
}
#top .sec__title--concept {
  position: absolute;
  bottom: 5%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#top .sec__title--concept .sec__title-text,
#top .sec__title--concept .sec__title-more {
  text-align: center;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  #top .top-concept__lead {
    font-size: clamp(4rem, 0.8235rem + 8.8235vw, 7.6rem);
  }
  #top .top-concept__lead--ja {
    font-size: clamp(2.2rem, 0.4353rem + 4.902vw, 4.2rem);
  }
  #top {
    /*@media screen end*/
  }
}
#top .top-plan,
#top .top-location {
  --line-progress: 0;
}
#top .top-plan::before,
#top .top-location::before {
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scaleX(var(--line-progress));
          transform: scaleX(var(--line-progress));
  will-change: transform;
}
#top .top-plan {
  margin-top: 10px;
  aspect-ratio: 2000/974;
  position: relative;
}
#top .top-plan::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  background: linear-gradient(282deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  width: 100%;
  height: 10px;
}
#top .top-plan__imgBox1 {
  position: absolute;
  inset: 0;
  aspect-ratio: 2000/974;
  overflow: hidden;
  opacity: 0;
  will-change: opacity, transform;
}
#top .top-plan__imgBox1 img {
  position: absolute;
  top: -5%;
  left: 0;
  width: 100%;
  height: 110%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top .top-plan__imgBox2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 63%;
  height: 76.7%;
  z-index: 2;
  overflow: hidden;
  clip-path: inset(0 100% 0 0);
  will-change: clip-path, transform;
}
#top .top-plan__imgBox2 img {
  position: absolute;
  top: -5%;
  left: 0;
  width: 100%;
  height: 111%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
#top .top-plan__imgBox2 figcaption {
  position: absolute;
  bottom: 5px;
  left: 10px;
  font-size: 1rem;
  color: #ffffff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
}
#top .sec__content--plan {
  left: 55%;
}
@media screen and (max-width: 768px) {
  #top .top-plan,
  #top .top-plan__imgBox1 {
    aspect-ratio: 1000/1418;
  }
  #top .top-plan__imgBox2 {
    aspect-ratio: 990/1400;
    height: 65%;
  }
  #top .sec__content--plan {
    left: 10%;
  }
  #top {
    /*@media screen end*/
  }
}
#top .top-location {
  margin-top: 10px;
  aspect-ratio: 2000/974;
  position: relative;
}
#top .top-location::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  width: 100%;
  height: 10px;
}
#top .top-location__imgBox1 {
  position: absolute;
  inset: 0;
  aspect-ratio: 2000/974;
  overflow: hidden;
  opacity: 0;
  will-change: opacity, transform;
}
#top .top-location__imgBox1 img {
  position: absolute;
  top: -5%;
  left: 0;
  width: 100%;
  height: 110%;
  -o-object-fit: cover;
     object-fit: cover;
}
#top .top-location__imgBox2 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 63%;
  height: 76.7%;
  z-index: 2;
  overflow: hidden;
  clip-path: inset(0 0 0 100%);
  will-change: clip-path, transform;
}
#top .top-location__imgBox2 img {
  position: absolute;
  top: -5%;
  left: 0;
  width: 100%;
  height: 111%;
  -o-object-fit: cover;
     object-fit: cover;
  will-change: transform;
}
#top .top-location__imgBox2 figcaption {
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 1rem;
  color: #ffffff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
}
#top .sec__content--location {
  left: 5%;
}
@media screen and (max-width: 768px) {
  #top .top-location,
  #top .top-location__imgBox1 {
    aspect-ratio: 1000/1418;
  }
  #top .top-location__imgBox2 {
    aspect-ratio: 990/1400;
    height: 65%;
  }
  #top {
    /*@media screen end*/
  }
}

#concept.is-anim-ready .page-title {
  top: 3%;
}
#concept.is-anim-ready .mv {
  position: relative;
  overflow: hidden;
  aspect-ratio: 2000/2468;
}
#concept.is-anim-ready .mv__image {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0;
}
#concept.is-anim-ready .mv__caption {
  position: absolute;
  left: 1rem;
  bottom: 0.5rem;
  z-index: 2;
  font-size: 1rem;
  color: #ffffff;
}
#concept.is-anim-ready .mv__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#concept.is-anim-ready .mv__inner {
  position: relative;
  z-index: 2;
  height: 100%;
}
#concept.is-anim-ready .mv__title {
  position: absolute;
  top: 10%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(6.8rem, -6.0464rem + 16.7053vw, 14rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.02em;
  color: #a8ac60;
}
#concept.is-anim-ready .mv__title-line {
  opacity: 0;
  -webkit-transform: translate3d(0, 32px, 0);
          transform: translate3d(0, 32px, 0);
  color: transparent;
  background-image: linear-gradient(105deg, #a8ac60 0%, #a8ac60 42%, #f8f2cf 48%, #fff 50%, #f8f2cf 52%, #a8ac60 58%, #a8ac60 100%);
  background-size: 250% 100%;
  background-position: 100% 0;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
}
#concept.is-anim-ready .mv__message {
  position: absolute;
  top: 50%;
  right: clamp(0.8rem, 26.4501vw - 19.5401rem, 12.2rem);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #ffffff;
  opacity: 0;
  -webkit-transform: translate3d(0, calc(-50% + 24px), 0);
          transform: translate3d(0, calc(-50% + 24px), 0);
}
#concept.is-anim-ready .mv__catch {
  font-size: clamp(2.6rem, 0.8158rem + 2.3202vw, 3.6rem);
}
#concept.is-anim-ready .mv__text {
  margin-top: min(2.5vw, 56px);
  font-size: 1.6rem;
  line-height: 2.3;
}
@media screen and (max-width: 768px) {
  #concept.is-anim-ready .mv__title {
    top: 12%;
    font-size: clamp(3.6rem, -0.8118rem + 12.2549vw, 8.6rem);
  }
  #concept.is-anim-ready .mv__message {
    top: 64%;
    right: clamp(1rem, -0.0588rem + 2.9412vw, 2.2rem);
  }
  #concept.is-anim-ready .mv__catch {
    font-size: clamp(2rem, -0.1176rem + 5.8824vw, 4.4rem);
  }
  #concept.is-anim-ready .mv__text {
    line-height: 1.8;
    font-size: clamp(1rem, 0.1176rem + 2.451vw, 2rem);
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
  }
  #concept.is-anim-ready {
    /*@media screen end*/
  }
}
#concept.is-anim-ready .con-sec__title {
  text-align: center;
  opacity: 0;
  -webkit-transform: translate3d(0, 28px, 0);
          transform: translate3d(0, 28px, 0);
}
#concept.is-anim-ready .con-sec__title-jp {
  font-size: 4.4rem;
}
#concept.is-anim-ready .con-sec__title-en {
  color: #b79b4f;
  font-family: "Cinzel", serif;
  font-size: 2.6rem;
  text-transform: uppercase;
}
#concept.is-anim-ready .con-sec__text {
  margin-top: min(2.16vw, 26px);
  padding-top: min(2.16vw, 26px);
  width: 58%;
  max-width: 585px;
  margin-inline: auto;
  border-top: 1px solid rgba(4, 0, 0, 0.3);
  text-align: justify;
  line-height: 2;
  opacity: 0;
  -webkit-transform: translate3d(0, 24px, 0);
          transform: translate3d(0, 24px, 0);
}
@media screen and (max-width: 999px) {
  #concept.is-anim-ready .con-sec__title-jp {
    font-size: clamp(3.4rem, 2.8366rem + 1.5649vw, 4.4rem);
  }
  #concept.is-anim-ready .con-sec__title-en {
    font-size: clamp(2rem, 1.662rem + 0.939vw, 2.6rem);
  }
  #concept.is-anim-ready .con-sec__text {
    width: 85%;
    margin-top: min(3.4vw, 26px);
    padding-top: min(3.4vw, 26px);
  }
  #concept.is-anim-ready {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #concept.is-anim-ready {
    /*@media screen end*/
  }
}
#concept.is-anim-ready .shirobashi {
  margin-top: min(10.5vw, 126px);
}
#concept.is-anim-ready .con-sec__img-wrap {
  margin-top: min(10.5vw, 126px);
}
#concept.is-anim-ready .shirobashi__list1 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0 1fr;
  grid-template-columns: repeat(2, 1fr);
  place-items: center;
  gap: 0;
}
#concept.is-anim-ready .shirobashi__list1-item {
  position: relative;
  opacity: 0;
  -webkit-transform: translate3d(0, 32px, 0);
          transform: translate3d(0, 32px, 0);
}
#concept.is-anim-ready .shirobashi__list1-item img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#concept.is-anim-ready .con-sec__img-wrap > .shirobashi__imgBox {
  clip-path: inset(0 100% 0 0);
}
#concept.is-anim-ready .shirobashi__imgBox {
  position: relative;
}
#concept.is-anim-ready .shirobashi__imgBox figcaption {
  position: absolute;
  left: 5px;
  bottom: 5px;
  font-size: 1.2rem;
  color: #ffffff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 0, 0, 0.8);
}
#concept.is-anim-ready .shirobashi__imgBox2 {
  width: 60%;
  margin-inline: auto;
}
#concept.is-anim-ready .shirobashi__imgBox2 img {
  -o-object-fit: contain;
     object-fit: contain;
}
#concept.is-anim-ready .shirobashi__imgBox2 figcaption {
  bottom: -20px;
  font-size: 1rem;
  color: #231815;
  text-shadow: none;
}
#concept.is-anim-ready .shirobashi__item-content {
  width: 100%;
}
#concept.is-anim-ready .shirobashi__imgBox5 {
  position: relative;
  float: right;
  width: 36%;
  margin-left: 15px;
}
#concept.is-anim-ready .shirobashi__imgBox5 figcaption {
  position: absolute;
  left: 10px;
  bottom: 0;
  font-size: 1rem;
  color: #ffffff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
}
#concept.is-anim-ready .shirobashi__item-container {
  width: 70%;
  margin-inline: auto;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translate3d(0, 24px, 0);
          transform: translate3d(0, 24px, 0);
}
#concept.is-anim-ready .shirobashi__list1-ttl {
  margin: 0 0 min(2.8vw, 34px);
  font-size: clamp(1.47rem, 0.0283rem + 1.4417vw, 3.2rem);
}
#concept.is-anim-ready .shirobashi__list1-text {
  line-height: 1.8;
  font-size: clamp(1.3rem, 0.6478rem + 0.6522vw, 1.9rem);
  text-align: justify;
  opacity: 0;
  -webkit-transform: translate3d(0, 24px, 0);
          transform: translate3d(0, 24px, 0);
}
#concept.is-anim-ready .shirobashi__list2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 0;
}
#concept.is-anim-ready .shirobashi__list2 img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#concept.is-anim-ready .shirobashi__list2-item {
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
  overflow: hidden;
  position: relative;
}
#concept.is-anim-ready .shirobashi__list2-item img {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
#concept.is-anim-ready .shirobashi__list2-item figcaption {
  position: absolute;
  left: 10px;
  bottom: 5px;
  font-size: 1.2rem;
  color: #ffffff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 999px) {
  #concept.is-anim-ready .shirobashi__item-container {
    width: 85%;
  }
  #concept.is-anim-ready .shirobashi__list1-item:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 1/1/2/3;
    height: 67vw;
    display: -ms-grid;
    display: grid;
    place-content: center;
    place-items: center;
  }
  #concept.is-anim-ready .shirobashi__list1-item:nth-of-type(2) {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/3/2;
  }
  #concept.is-anim-ready .shirobashi__list1-item:nth-of-type(3) {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 2/2/3/3;
  }
  #concept.is-anim-ready .shirobashi__list1-item:nth-of-type(4) {
    margin-top: 5vw;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 3/1/4/3;
  }
  #concept.is-anim-ready .shirobashi__imgBox2 {
    width: 68%;
    margin-bottom: 20px;
  }
  #concept.is-anim-ready .shirobashi__item-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #concept.is-anim-ready .shirobashi__list1-ttl {
    font-size: clamp(2.2rem, 0.8626rem + 1.7391vw, 2.6rem);
    text-align: center;
  }
  #concept.is-anim-ready .shirobashi__imgBox5 {
    display: block;
    margin-inline: auto;
    float: none;
    shape-outside: none;
    height: auto !important;
    margin-bottom: 1em;
  }
  #concept.is-anim-ready .shirobashi__list1-text {
    width: 75%;
    margin-inline: auto;
  }
  #concept.is-anim-ready .shirobashi__list2 {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 768px) {
  #concept.is-anim-ready .shirobashi__list1 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  #concept.is-anim-ready .shirobashi__list1-item:first-of-type {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/2/2;
  }
  #concept.is-anim-ready .shirobashi__list1-item:nth-of-type(2) {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/3/2;
  }
  #concept.is-anim-ready .shirobashi__list1-item:nth-of-type(3) {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 3/1/4/2;
  }
  #concept.is-anim-ready .shirobashi__list1-item:nth-of-type(4) {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 4/1/5/2;
  }
  #concept.is-anim-ready .shirobashi__list1-ttl {
    font-size: clamp(2rem, 0.9412rem + 2.9412vw, 3.2rem);
  }
  #concept.is-anim-ready .shirobashi__list1-text {
    width: 85%;
  }
  #concept.is-anim-ready .shirobashi__imgBox5 {
    width: 60%;
  }
  #concept.is-anim-ready {
    /*@media screen end*/
  }
}
#concept.is-anim-ready .otogawa {
  padding-block: min(10.5vw, 126px) min(12.5vw, 150px);
  background-color: #231815;
  position: relative;
}
#concept.is-anim-ready .otogawa .con-sec__title-jp,
#concept.is-anim-ready .otogawa .con-sec__text {
  color: #ffffff;
}
#concept.is-anim-ready .otogawa .con-sec__text {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
#concept.is-anim-ready .otogawa::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  width: 100%;
  height: 10px;
}
#concept.is-anim-ready .otogawa__imgBox,
#concept.is-anim-ready .otogawa__list-item,
#concept.is-anim-ready .otogawa__last-image {
  position: relative;
}
#concept.is-anim-ready .otogawa__imgBox figcaption,
#concept.is-anim-ready .otogawa__list-item figcaption,
#concept.is-anim-ready .otogawa__last-image figcaption {
  position: absolute;
  left: 10px;
  bottom: 5px;
  font-size: 1.2rem;
  color: #ffffff;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
}
#concept.is-anim-ready .otogawa__imgBox {
  clip-path: inset(0 0 0 100%);
}
#concept.is-anim-ready .otogawa__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
#concept.is-anim-ready .otogawa__list-item {
  opacity: 0;
  -webkit-transform: translate3d(0, 32px, 0);
          transform: translate3d(0, 32px, 0);
  overflow: hidden;
}
#concept.is-anim-ready .otogawa__list-item img {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
#concept.is-anim-ready .otogawa__text {
  margin-top: min(10vw, 120px);
  line-height: 2.04;
  font-size: 2.4rem;
  text-align: center;
  color: #ffffff;
  opacity: 0;
  -webkit-transform: translate3d(0, 24px, 0);
          transform: translate3d(0, 24px, 0);
}
#concept.is-anim-ready .otogawa__last-image {
  overflow: hidden;
}
#concept.is-anim-ready .otogawa__last-image img {
  -webkit-transform: scale(1.12);
          transform: scale(1.12);
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
@media screen and (max-width: 768px) {
  #concept.is-anim-ready .otogawa__text {
    font-size: clamp(2rem, 1.7746rem + 0.626vw, 2.4rem);
  }
  #concept.is-anim-ready .com_notebox {
    padding: min(8.8vw, 80px) 0;
  }
  #concept.is-anim-ready {
    /*@media screen end*/
  }
}
@media (prefers-reduced-motion: reduce) {
  #concept.is-anim-ready .shirobashi__list2-item,
  #concept.is-anim-ready .otogawa__list-item,
  #concept.is-anim-ready .otogawa__last-image {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  #concept.is-anim-ready .shirobashi__list2-item img,
  #concept.is-anim-ready .otogawa__list-item img,
  #concept.is-anim-ready .otogawa__last-image img {
    -webkit-transform: none;
            transform: none;
  }
  #concept.is-anim-ready .shirobashi__imgBox,
  #concept.is-anim-ready .otogawa__imgBox {
    clip-path: none;
  }
}

#plan .mv__lead {
  top: 47%;
  left: 10%;
  color: #ffffff;
  font-size: clamp(1.6rem, 0.4667rem + 1.6393vw, 3.2rem);
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 768px) {
  #plan .mv {
    aspect-ratio: 1000/1539;
  }
  #plan .mv__lead {
    top: 60%;
  }
  #plan {
    /*@media screen end*/
  }
}
#plan .plan__wrap {
  padding-top: min(10.3vw, 124px);
}
#plan .plan__ttl {
  font-size: 2.4rem;
  text-align: center;
}
#plan .plan__ttl .num {
  font-size: 1.25em;
}
#plan .plan__lead {
  margin-top: min(5.16vw, 62px);
  line-height: 2.4;
  text-align: center;
}
#plan .plan__list-container {
  margin-top: min(5.16vw, 62px);
  background: -webkit-gradient(linear, left top, right top, from(#b79e74), color-stop(40%, #d1c9ad), color-stop(60%, #d1c9ad), to(#b79e74));
  background: linear-gradient(90deg, #b79e74 0%, #d1c9ad 40%, #d1c9ad 60%, #b79e74 100%);
  padding-block: min(8.16vw, 98px) min(7.16vw, 86px);
  position: relative;
}
#plan .plan__list-container::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  width: 100%;
  height: 10px;
}
#plan .plan__list-ttl {
  font-family: "Cinzel", serif;
  text-transform: uppercase;
  font-size: 2.6rem;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
}
#plan .plan__list {
  width: 85%;
  max-width: 900px;
  margin-inline: auto;
  margin-top: min(5.4vw, 65px);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr min(2vw, 25px) 1fr min(2vw, 25px) 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: min(2vw, 25px);
}
#plan .plan__list-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: subgrid;
  grid-template-rows: subgrid;
  -ms-grid-row-span: 4;
  grid-row: span 4;
  gap: min(1vw, 20px);
  padding: min(3.83vw, 46px) min(2.5vw, 44px) min(2.3vw, 28px);
  background-color: #ffffff;
  outline: 1px solid rgba(188, 166, 128, 0.3);
  outline-offset: -5px;
  text-align: center;
}
#plan .type__name {
  position: relative;
  font-size: 3.6rem;
}
#plan .type__name span {
  font-size: 0.3em;
  vertical-align: middle;
}
#plan .type__name::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(min(1vw, 20px) / -2);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  border-bottom: 1px solid rgba(188, 166, 128, 0.3);
}
#plan .type__floor {
  font-size: clamp(2.4rem, 1.5584rem + 1.0944vw, 3.2rem);
}
#plan .type__floor .num {
  font-size: 1.25em;
}
#plan .type__area {
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0em;
}
#plan .type__area .num {
  font-size: 2em;
}
#plan .type__area-sub {
  display: block;
  margin-top: -0.8em;
  font-size: 1.1rem;
  letter-spacing: 0em;
}
#plan .plan__link-btn {
  display: block;
  width: 100%;
  max-width: 170px;
  margin-inline: auto;
  background: -webkit-gradient(linear, left top, right top, from(#b79e74), color-stop(40%, #d1c9ad), color-stop(60%, #d1c9ad), to(#b79e74));
  background: linear-gradient(90deg, #b79e74 0%, #d1c9ad 40%, #d1c9ad 60%, #b79e74 100%);
  padding-block: min(0.9vw, 11px);
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  #plan .plan__wrap {
    padding-top: min(16.5vw, 124px);
  }
  #plan .plan__ttl {
    font-size: clamp(1.8rem, 1.2706rem + 1.4706vw, 2.4rem);
  }
  #plan .plan__lead {
    margin-top: min(8.26vw, 62px);
  }
  #plan .plan__list-container {
    margin-top: min(8.26vw, 62px);
    padding-block: min(13vw, 98px) min(11.4vw, 86px);
  }
  #plan .plan__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: min(3.3vw, 25px);
  }
  #plan {
    /*@media screen end*/
  }
}
#plan .type__mv {
  padding-block: min(4.5vw, 54px);
  position: relative;
  overflow: hidden;
  padding-block: min(4.5vw, 54px);
}
#plan .type__mv::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: -webkit-gradient(linear, left top, right top, from(#b79e74), color-stop(40%, #d1c9ad), color-stop(60%, #d1c9ad), to(#b79e74));
  background: linear-gradient(90deg, #b79e74 0%, #d1c9ad 40%, #d1c9ad 60%, #b79e74 100%);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-animation: typeMvBg 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.1s forwards;
          animation: typeMvBg 0.9s cubic-bezier(0.65, 0, 0.35, 1) 0.1s forwards;
}
#plan .type__mv .type__mv-text {
  position: relative;
  z-index: 1;
  text-transform: uppercase;
  text-align: center;
  color: #ffffff;
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.15em;
}
#plan .type__mv .char {
  display: inline-block;
  opacity: 0;
  -webkit-animation: typeMvChar 0.5s cubic-bezier(0.22, 1, 0.36, 1) calc(0.8s + var(--i) * 0.12s) forwards;
          animation: typeMvChar 0.5s cubic-bezier(0.22, 1, 0.36, 1) calc(0.8s + var(--i) * 0.12s) forwards;
}
@-webkit-keyframes typeMvBg {
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@keyframes typeMvBg {
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
@-webkit-keyframes typeMvChar {
  to {
    opacity: 1;
  }
}
@keyframes typeMvChar {
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  #plan .type__mv::before,
  #plan .type__mv .type__mv-text {
    -webkit-animation: none;
            animation: none;
    -webkit-transform: none;
            transform: none;
    opacity: 1;
  }
}
#plan .type__wrap {
  padding-block: min(5.16vw, 62px) min(5.6vw, 68px);
  text-align: center;
  position: relative;
}
#plan .type__wrap::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  background: linear-gradient(102deg, #8f6500 0%, #f7f6e5 25%, #8f6500 100%);
  width: 100%;
  height: 10px;
}
#plan .type__wrap .type__name--detail {
  font-size: 4.4rem;
}
#plan .type__wrap .type__name--detail span {
  font-size: 0.5em;
}
#plan .type__wrap .type__name--detail::after {
  bottom: -28px;
}
#plan .type__wrap .floor {
  margin-top: min(5.25vw, 63px);
  font-size: 2.6rem;
  font-variant-numeric: lining-nums;
}
#plan .type__wrap .floor__num {
  font-size: 1.68em;
}
#plan .type__wrap .floor__main {
  font-size: 1.36em;
}
#plan .type__wrap .area {
  font-size: 1.7rem;
}
#plan .type__wrap .area__num1 {
  font-size: 2.17em;
  font-variant-numeric: lining-nums;
}
#plan .type__wrap .area__num2 {
  font-size: 1.1em;
  font-variant-numeric: lining-nums;
}
#plan .type__wrap .area__hebe {
  font-size: 1.47em;
}
#plan .type__wrap .area__sub {
  display: block;
  margin-top: -0.6em;
  font-size: 1.4rem;
  letter-spacing: 0em;
}
#plan .type__wrap .area__option {
  margin-top: min(1.6vw, 20px);
  font-size: 1.7rem;
}
#plan .type__image {
  width: 100%;
  max-width: 1000px;
  margin-top: min(5.66vw, 68px);
  margin-inline: auto;
}
#plan .type__option-wrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: min(5.4vw, 65px);
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.5vw, 18px);
}
#plan .type__option-break {
  display: none;
}
#plan .type__option-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  gap: 4px;
  font-size: 1.2rem;
}
#plan .type__option-item .icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#plan .type__option-item .icon img {
  width: 3.5rem;
  vertical-align: middle;
}
#plan .type__option-item .icon::after {
  content: "…";
  display: inline-block;
  margin-left: 0.2em;
  -webkit-transform: translateY(-0.3em);
          transform: translateY(-0.3em);
}
#plan .btn__back {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: min(5.4vw, 65px);
  margin-inline: auto;
}
#plan .btn__back--text {
  padding: 12px 28px;
  background: -webkit-gradient(linear, left top, right top, from(#b79e74), color-stop(40%, #d1c9ad), color-stop(60%, #d1c9ad), to(#b79e74));
  background: linear-gradient(90deg, #b79e74 0%, #d1c9ad 40%, #d1c9ad 60%, #b79e74 100%);
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  #plan .type__wrap {
    padding-block: min(5vw, 62px) min(15vw, 78px);
  }
  #plan .type__wrap .type__name--detail::after {
    bottom: clamp(-1.4rem, 1.9608vw - 2.9059rem, -2.2rem);
  }
  #plan .type__option-wrap {
    width: 90%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
  }
  #plan .type__option-break {
    display: block;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    height: 0;
  }
  #plan {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #plan {
    /*@media screen end*/
  }
}

@media print {
  #map header,
  #map footer,
  #map .btn {
    display: none;
  }
  #map {
    margin: 0;
  }
}
#map .main_wrap {
  background-image: url(../img/map/map_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: min(8.75vw, 105px);
}
#map .ttl_area {
  position: relative;
  padding: 5% 0;
}
#map .ttl_area h1 {
  text-align: center;
  font-size: 1rem;
  font-size: clamp(1rem, 4vw, 1.6rem);
  opacity: 0;
}
#map .ttl_area .ttl {
  font-family: "Cinzel", serif;
  color: #b79b4f;
  text-transform: uppercase;
  font-size: clamp(3.2rem, 0.7294rem + 6.8627vw, 6rem);
  text-align: center;
  opacity: 0;
}
#map .ttl_area .ttl_area__line {
  position: absolute;
  left: 50%;
  top: 59%;
  width: 18rem;
  height: 1px;
  background: #b79b4f;
  -webkit-transform: translateX(-50%) scaleX(0);
          transform: translateX(-50%) scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  z-index: 2;
}
#map .img_area .imgbox:last-child {
  margin-top: 10%;
}
#map .btn_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: min(7.3vw, 88px) auto 0;
}
#map .btn_box .btn {
  background: -webkit-gradient(linear, left top, right top, from(#b79e74), color-stop(40%, #d1c9ad), color-stop(60%, #d1c9ad), to(#b79e74));
  background: linear-gradient(to right, #b79e74 0%, #d1c9ad 40%, #d1c9ad 60%, #b79e74 100%);
  width: 30%;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: none;
  border-radius: 4rem;
  color: #231815;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  cursor: pointer;
  padding-block: 1.5%;
}
#map .btn_box .btn p {
  font-family: "Shippori Mincho", serif;
}
#map .btn_box .btn:last-child {
  margin-left: 5%;
}
#map .btn_box .btn::before {
  position: absolute;
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  background: #ffffff;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#map .btn_box .btn:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  #map .ttl_area .ttl_area__line {
    width: clamp(12rem, 6.7059rem + 14.7059vw, 18rem);
  }
  #map .btn_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 5% auto 10%;
  }
  #map .btn_box .btn {
    width: 80%;
    font-size: 1rem;
    font-size: clamp(1rem, 4vw, 1.5rem);
    padding-block: 4%;
  }
  #map .btn_box .btn:last-child {
    margin: 5% auto 0;
  }
  #map {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #map {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #map {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #map {
    /*@media screen end*/
  }
}

#outline {
  font-family: YakuHanMP, "Shippori Mincho", serif;
}
@media print {
  #outline header,
  #outline footer,
  #outline .btn {
    display: none;
  }
  #outline {
    margin: 0;
  }
}
#outline .ttl_area {
  padding: 5% 0;
  position: relative;
}
#outline .ttl_area h1 {
  text-align: center;
  font-size: 1rem;
  font-size: clamp(1rem, 4vw, 1.6rem);
  opacity: 0;
}
#outline .ttl_area .ttl {
  font-family: "Cinzel", serif;
  text-align: center;
  font-size: 1rem;
  font-size: clamp(1rem, 13vw, 6rem);
  opacity: 0;
}
#outline .ttl_area .ttl_area__line {
  position: absolute;
  left: 50%;
  top: 59%;
  width: 30rem;
  height: 1px;
  background: #231815;
  -webkit-transform: translateX(-50%) scaleX(0);
          transform: translateX(-50%) scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  z-index: 2;
}
#outline .outline_ttl {
  text-align: left;
  font-size: clamp(1.8rem, 1.4571rem + 0.9524vw, 2.6rem);
  font-weight: 500;
}
#outline .sec {
  width: 95%;
  max-width: 1000px;
  margin-inline: auto;
}
#outline table {
  width: 100%;
  margin: 3% auto 5%;
  border-collapse: separate;
  border-spacing: 10px 0;
}
#outline table th,
#outline table td {
  text-align: left;
  letter-spacing: 0.1em;
  line-height: 1.5em;
  font-size: 1rem;
  font-size: clamp(1rem, 3.4vw, 1.6rem);
  border-bottom: 1px solid #9e9e9e;
  padding: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#outline table th {
  width: 26%;
}
#outline table td {
  width: 75%;
}
#outline table td span {
  font-size: clamp(0px, 2.8vw, 14px);
  font-size: 1rem;
  font-size: clamp(1rem, 2.8vw, 1.4rem);
}
#outline .notice_box {
  margin: 3% auto 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#outline .notice_box .p1 {
  border: 1px solid #231815;
  width: 16%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  font-size: clamp(1rem, 4vw, 1.6rem);
}
#outline .notice_box .p2 {
  width: 82%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1rem;
  font-size: clamp(1rem, 2.8vw, 1.4rem);
  letter-spacing: 0.03em;
  text-align: justify;
  word-break: break-all;
}
#outline .update {
  margin: 5% auto;
}
#outline .update p {
  font-size: 1rem;
  font-size: clamp(1rem, 3.2vw, 1.6rem);
}
@media screen and (max-width: 768px) {
  #outline .ttl_area .ttl_area__line {
    width: clamp(22rem, 14.9412rem + 19.6078vw, 30rem);
  }
  #outline table th,
  #outline table td {
    display: block;
    width: 100%;
  }
  #outline table td {
    text-align: justify;
  }
  #outline table td:last-of-type {
    border-bottom: none;
  }
  #outline table th {
    background-color: #e8f5ff;
    border-top: 1px solid #9e9e9e;
  }
  #outline .notice_box .p1 {
    width: 100%;
    padding: 3% 5%;
  }
  #outline .notice_box .p2 {
    width: 100%;
    margin-top: 3%;
  }
  #outline {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #outline {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #outline {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #outline {
    /*@media screen end*/
  }
}

#limited {
  /* パスワード入力画面の装飾例 */
}
#limited .page_password {
  min-height: 60vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#limited .page_password .password_input {
  padding: 10px 15px;
  width: 250px;
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
#limited .page_password .password_submit {
  padding: 10px 30px;
  background: #333;
  color: #fff;
  cursor: pointer;
  border: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#limited .page_password .password_submit:hover {
  opacity: 0.7;
}
#limited .page_password .error_msg {
  color: #d9534f;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #limited {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #limited {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #limited {
    /*@media screen end*/
  }
}
@media screen and (max-width: 768px) {
  #limited {
    /*@media screen end*/
  }
}

#location .g_nav__link .eb,
#location .page-title__label-text .eb {
  font-size: 1em;
  display: inline;
  line-height: inherit;
  font-family: inherit;
}
#location .mv {
  aspect-ratio: 2000/1147;
}
#location .mv__lead {
  top: 28%;
  right: 13%;
  font-size: clamp(1.6rem, 0.4667rem + 1.6393vw, 3.2rem);
}
@media screen and (max-width: 768px) {
  #location .mv {
    aspect-ratio: 1000/1415;
  }
  #location .mv__lead {
    top: 16%;
    font-size: clamp(1.6rem, 0.7176rem + 2.451vw, 2.6rem);
  }
  #location {
    /*@media screen end*/
  }
}
#location .eb {
  font-family: "EB Garamond", serif;
  font-size: 1.17em;
  display: inline-block;
  line-height: 1;
}
#location .imgbox {
  position: relative;
}
#location .imgbox .imgnote {
  position: absolute;
  bottom: 5px;
  right: 5px;
  text-shadow: 0 0 5px #000;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0;
}
#location .imgbox .imgnote._l {
  right: auto;
  left: 5px;
}
#location .imgbox .imgnote._b {
  color: #000;
  text-shadow: none;
  left: 0;
  right: 0;
  bottom: -15px;
}
#location .tabbtnbox {
  max-width: 1000px;
  width: 85%;
  margin: 5vw auto 8vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .tabbtnbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .tabbtnbox .tabbtn {
  width: 32%;
  padding: min(4.5vw, 58px) 0 min(4vw, 52px);
  position: relative;
  border: 0.5px solid #231815;
  text-align: center;
  font-size: min(1.2vw, 16px);
  letter-spacing: 0.1em;
  -webkit-transition: 1s;
  transition: 1s;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #location .tabbtnbox .tabbtn {
    width: 100%;
    margin-bottom: 3vw;
    padding: min(7vw, 58px) 0 min(6vw, 52px);
    font-size: min(3vw, 16px);
  }
}
#location .tabbtnbox .tabbtn::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
}
#location .tabbtnbox .tabbtn._qrw::before {
  background: url(../img/location/tabbtn_qrw.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .tabbtnbox .tabbtn._li::before {
  background: url(../img/location/tabbtn_li.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .tabbtnbox .tabbtn._acc::before {
  background: url(../img/location/tabbtn_acc.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .tabbtnbox .tabbtn::after {
  content: "";
  display: block;
  width: 16px;
  height: 11px;
  position: absolute;
  bottom: 12px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../img/location/arrow_gry.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-transition: 1s;
  transition: 1s;
}
@media screen and (max-width: 768px) {
  #location .tabbtnbox .tabbtn::after {
    bottom: 3px;
  }
}
#location .tabbtnbox .tabbtn:hover {
  color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#location .tabbtnbox .tabbtn:hover::before {
  opacity: 1;
  -webkit-transition: 1s;
  transition: 1s;
}
#location .tabbtnbox .tabbtn:hover::after {
  content: "";
  display: block;
  width: 16px;
  height: 11px;
  background: url(../img/location/arrow_wh.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-transition: 1s;
  transition: 1s;
}
#location .tabbtnbox .tabbtn.on {
  color: #fff;
}
#location .tabbtnbox .tabbtn._qrw.on::before {
  opacity: 1;
}
#location .tabbtnbox .tabbtn._li.on::before {
  opacity: 1;
}
#location .tabbtnbox .tabbtn._acc.on::before {
  opacity: 1;
}
#location .tabbtnbox .tabbtn.on::after {
  content: "";
  display: block;
  width: 16px;
  height: 11px;
  background: url(../img/location/arrow_wh.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-transition: 1s;
  transition: 1s;
}
#location .tab {
  display: none;
}
#location .tab.on {
  display: block;
}
#location .sec._qrw {
  padding: 2vw 0 min(10vw, 130px);
}
@media screen and (max-width: 768px) {
  #location .sec._qrw {
    padding: 5vw 0 21vw;
  }
}
#location .sec._qrw .logobox {
  max-width: 180px;
  width: 60vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .logobox {
    width: 20vw;
  }
}
#location .sec._qrw .logobox._hgok {
  max-width: 220px;
  margin-top: 10vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .logobox._hgok {
    width: 25vw;
  }
}
#location .sec._qrw h2 {
  text-align: center;
  color: #fff;
  font-size: min(6.3vw, 81px);
  letter-spacing: 0.25em;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw h2 {
    font-size: min(9vw, 81px);
  }
}
#location .sec._qrw .copy {
  text-align: center;
}
#location .sec._qrw .copy._01 {
  margin-top: min(6vw, 78px);
  margin-bottom: min(2.3vw, 29px);
  margin-right: -0.75em;
  font-size: min(2.5vw, 32px);
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .copy._01 {
    margin-top: min(13vw, 169px);
    margin-bottom: min(7vw, 29px);
    font-size: min(5vw, 32px);
  }
}
#location .sec._qrw .copy._02 {
  margin-right: -0.25em;
  font-size: min(1.7vw, 22px);
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .copy._02 {
    font-size: min(3.5vw, 22px);
  }
}
#location .sec._qrw .copy._03 {
  max-width: 470px;
  width: 85%;
  margin: min(3vw, 39px) auto 0;
  padding-top: 2vw;
  border-top: 0.5px solid #040000;
  font-size: min(1vw, 13px);
  line-height: 2;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .copy._03 {
    margin: min(10vw, 72px) auto 0;
    padding-top: 5vw;
    border-top: 0.5px solid #040000;
    font-size: min(2.5vw, 13px);
  }
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 {
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #location .sec._qrw .imgbox._01::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 img {
    width: 150%;
  }
}
#location .sec._qrw .imgbox._01:has(.pl.on) .pl .click {
  -webkit-animation: none;
          animation: none;
  /* 初期状態（元の位置）に戻って停止 */
  /* animation-play-state: paused; にすると「その場でピタッと一時停止」になります */
}
#location .sec._qrw .imgbox._01 .pl {
  width: 2vw;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  -webkit-transition: 1s;
  transition: 1s;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl {
    width: 3vw;
  }
}
#location .sec._qrw .imgbox._01 .pl .click {
  width: 230%;
  position: absolute;
  top: -1.3vw;
  left: 47%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-animation: bounce 1.5s ease-in-out infinite;
          animation: bounce 1.5s ease-in-out infinite;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl .click {
    width: 345%;
    top: -2.3vw;
    left: 68%;
  }
}
@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
  50% {
    -webkit-transform: translateX(-50%) translateY(-6px);
            transform: translateX(-50%) translateY(-6px);
    /* 跳ねる高さ */
  }
}
@keyframes bounce {
  0%, 100% {
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
  50% {
    -webkit-transform: translateX(-50%) translateY(-6px);
            transform: translateX(-50%) translateY(-6px);
    /* 跳ねる高さ */
  }
}
#location .sec._qrw .imgbox._01 .pl::after {
  content: "";
  display: block;
  width: 101%;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/location/pl_01_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl::after {
    display: none;
  }
}
#location .sec._qrw .imgbox._01 .pl:hover {
  scale: 2;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition: 1s;
  transition: 1s;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl:hover {
    scale: 1;
  }
}
#location .sec._qrw .imgbox._01 .pl:hover::after {
  opacity: 1;
  -webkit-transition: 1s;
  transition: 1s;
}
#location .sec._qrw .imgbox._01 .pl.on {
  scale: 2;
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition: 1s;
  transition: 1s;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl.on {
    scale: 1;
  }
}
#location .sec._qrw .imgbox._01 .pl.on .click {
  -webkit-animation: none;
          animation: none;
}
#location .sec._qrw .imgbox._01 .pl.on::after {
  opacity: 1;
  -webkit-transition: 1s;
  transition: 1s;
}
#location .sec._qrw .imgbox._01 .pl._01 {
  bottom: 15vw;
  left: 87vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._01 {
    bottom: 22.5vw;
    left: 130.5vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._02 {
  bottom: 18.5vw;
  left: 42vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._02 {
    bottom: 27.75vw;
    left: 63vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._02::after {
  background: url(../img/location/pl_02_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .sec._qrw .imgbox._01 .pl._03 {
  bottom: 26vw;
  left: 25.5vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._03 {
    bottom: 39vw;
    left: 38.25vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._03::after {
  background: url(../img/location/pl_03_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .sec._qrw .imgbox._01 .pl._04 {
  bottom: 41.5vw;
  left: 25.5vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._04 {
    bottom: 62.25vw;
    left: 38.25vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._04::after {
  background: url(../img/location/pl_04_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .sec._qrw .imgbox._01 .pl._05 {
  bottom: 41.5vw;
  left: 66vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._05 {
    bottom: 62.25vw;
    left: 99vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._05::after {
  background: url(../img/location/pl_05_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .sec._qrw .imgbox._01 .pl._06 {
  bottom: 29.5vw;
  left: 65vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._06 {
    bottom: 44.25vw;
    left: 97.5vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._06::after {
  background: url(../img/location/pl_06_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .sec._qrw .imgbox._01 .pl._07 {
  bottom: 17vw;
  left: 59.5vw;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._01 .pl._07 {
    bottom: 24vw;
    left: 87.25vw;
  }
}
#location .sec._qrw .imgbox._01 .pl._07::after {
  background: url(../img/location/pl_07_r.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#location .sec._qrw .wrap_mdl {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  will-change: opacity;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
#location .sec._qrw .wrap_mdl.on {
  opacity: 1;
  pointer-events: all;
}
#location .sec._qrw .wrap_mdl::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #000;
  opacity: 0.8;
}
#location .sec._qrw .wrap_mdl .mdl_close {
  width: 50px;
  position: absolute;
  top: 50px;
  right: 50px;
  cursor: pointer;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl_close {
    top: 30px;
    right: 7.5%;
  }
}
#location .sec._qrw .wrap_mdl .pppbox {
  max-width: 250px;
  position: absolute;
  bottom: 20px;
  left: 50px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .pppbox {
    max-width: 180px;
    left: 7.5%;
  }
}
#location .sec._qrw .wrap_mdl .pppbox .pppttl {
  margin-bottom: 5px;
  font-family: sans-serif;
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .pppbox .pppttl {
    font-size: 10px;
  }
}
#location .sec._qrw .wrap_mdl .pppbox .pppttl .eb {
  font-size: 1em;
  font-family: sans-serif;
}
#location .sec._qrw .wrap_mdl .pppbox .pppbody {
  font-family: sans-serif;
  font-size: 10px;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .pppbox .pppbody {
    font-size: 7px;
  }
}
#location .sec._qrw .wrap_mdl .pppbox .pppbody .eb {
  font-size: 1em;
  font-family: sans-serif;
}
#location .sec._qrw .wrap_mdl .mdl {
  max-width: 850px;
  width: 70%;
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  will-change: opacity, visibility;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl {
    width: 75%;
    left: 50%;
  }
}
#location .sec._qrw .wrap_mdl .mdl.on {
  visibility: visible;
  opacity: 1;
}
#location .sec._qrw .wrap_mdl .mdl .num {
  width: 9%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl .num {
    width: 15%;
  }
}
#location .sec._qrw .wrap_mdl .mdl h3 {
  margin: 3vw 0;
  color: #fff;
  font-family: sans-serif;
  font-weight: bold;
  font-size: min(2.3vw, 29px);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl h3 {
    margin: 5vw 0;
    font-size: min(5vw, 29px);
  }
}
#location .sec._qrw .wrap_mdl .mdl h3 .s_txt {
  font-size: 0.6em;
}
#location .sec._qrw .wrap_mdl .mdl h3 .s_txt .eb {
  font-family: sans-serif;
  font-size: 1em;
}
#location .sec._qrw .wrap_mdl .mdl .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._qrw .wrap_mdl .mdl .box .imgbox {
  width: 47%;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl .box .imgbox {
    width: 100%;
  }
}
#location .sec._qrw .wrap_mdl .mdl .box .anno {
  margin-top: 1.2vw;
  color: #fff;
  font-size: min(0.6vw, 10px);
  letter-spacing: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl .box .anno {
    font-size: min(1.5vw, 10px);
  }
}
#location .sec._qrw .wrap_mdl .mdl .box .anno a {
  text-decoration: underline;
}
#location .sec._qrw .wrap_mdl .mdl .box .txtbox {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl .box .txtbox {
    width: 100%;
  }
}
#location .sec._qrw .wrap_mdl .mdl .box .p_body {
  color: #fff;
  font-weight: bold;
  font-size: min(1vw, 13px);
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .wrap_mdl .mdl .box .p_body {
    margin-top: 3.5vw;
    font-size: min(2.5vw, 13px);
  }
}
#location .sec._qrw .imgbox._02 {
  max-width: 850px;
  width: 85%;
  margin: 3vw auto 0;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._02 {
    margin-top: 7vw;
  }
}
#location .sec._qrw .imgbox._02 .imgnote {
  right: auto;
  left: 5px;
  font-size: min(0.7vw, 10px);
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .imgbox._02 .imgnote {
    font-size: min(1.5vw, 10px);
  }
}
#location .sec._qrw .box._hgok {
  max-width: 850px;
  width: 85%;
  margin: 5.5vw auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .box._hgok {
    margin-top: 15vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#location .sec._qrw .box._hgok .imgbox {
  width: 28%;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .box._hgok .imgbox {
    width: 100%;
    margin-top: 7vw;
  }
}
#location .sec._qrw .box._hgok .imgbox .imgnote {
  right: auto;
  left: 5px;
  bottom: 5px;
  font-size: min(0.7vw, 10px);
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .box._hgok .imgbox .imgnote {
    font-size: min(1.5vw, 10px);
  }
}
#location .sec._qrw .box._hgok .txtbox {
  width: 72%;
  padding-left: 5%;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .box._hgok .txtbox {
    width: 100%;
    padding: 0;
  }
}
#location .sec._qrw .box._hgok .p_copy {
  margin-bottom: 1.5vw;
  font-size: min(1.3vw, 17px);
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .box._hgok .p_copy {
    margin-bottom: 4vw;
    font-size: min(3.5vw, 17px);
  }
}
#location .sec._qrw .box._hgok .p_body {
  font-size: min(1vw, 13px);
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  #location .sec._qrw .box._hgok .p_body {
    font-size: min(2.5vw, 13px);
  }
}
#location .sec._li {
  padding-top: 2vw;
  background: url(../img/location/li_bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #location .sec._li {
    padding-top: 10vw;
  }
}
#location .sec._li h2 {
  text-align: center;
  color: #fff;
  font-size: min(6.3vw, 81px);
  letter-spacing: 0.25em;
}
@media screen and (max-width: 768px) {
  #location .sec._li h2 {
    font-size: min(9vw, 81px);
  }
}
#location .sec._li .copy {
  text-align: center;
}
#location .sec._li .copy._01 {
  margin-top: min(5vw, 65px);
  margin-bottom: min(2.3vw, 29px);
  margin-right: -0.75em;
  font-size: min(2.5vw, 32px);
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  #location .sec._li .copy._01 {
    margin-top: min(8vw, 36px);
    margin-bottom: min(7vw, 29px);
    font-size: min(5vw, 32px);
  }
}
#location .sec._li .copy._02 {
  margin-right: -0.25em;
  font-size: min(1.7vw, 22px);
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #location .sec._li .copy._02 {
    font-size: min(3.5vw, 22px);
  }
}
#location .sec._li .copy._03 {
  max-width: 470px;
  width: 85%;
  margin: min(5.5vw, 72px) auto 0;
  padding-top: 2vw;
  border-top: 0.5px solid #040000;
  font-size: min(1vw, 13px);
  line-height: 2;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .sec._li .copy._03 {
    margin: min(10vw, 72px) auto 0;
    padding-top: 5vw;
    border-top: 0.5px solid #040000;
    font-size: min(2.5vw, 13px);
  }
}
#location .sec._li .box._01 {
  margin-top: 9vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  #location .sec._li .box._01 {
    margin-top: 12vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._li .box._01 .imgboxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#location .sec .libtn {
  margin-bottom: 10vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 60px;
}
@media screen and (max-width: 768px) {
  #location .sec .libtn {
    margin-bottom: 22vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#location .sec .libtn li {
  width: 11.2em;
  padding-bottom: 0.5vw;
  border-bottom: 0.5px solid #040000;
  position: relative;
  color: #b79b4f;
  font-size: 1.5vw;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sec .libtn li {
    font-size: 4.5vw;
  }
}
#location .sec .libtn li:nth-of-type(2) {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}
@media screen and (max-width: 768px) {
  #location .sec .libtn li:nth-of-type(2) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
#location .sec .libtn li:nth-of-type(3) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
@media screen and (max-width: 768px) {
  #location .sec .libtn li:nth-of-type(3) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
#location .sec .libtn li a {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#location .sec .libtn li::after {
  content: "";
  display: block;
  width: 16px;
  height: 11px;
  background: url(../img/location/arrow_gry.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  bottom: -23px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#location .sec .libtn li.on::after {
  content: "";
  display: block;
  width: 16px;
  height: 11px;
  background: url(../img/location/arrow_gld.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  left: 50%;
  bottom: -23px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#location .sec .littl {
  max-width: 470px;
  width: 85%;
  margin: 0 auto 5vw;
  padding-bottom: 1vw;
  border-bottom: 0.5px solid #040000;
  color: #b79b4f;
  font-size: min(2.5vw, 32px);
  letter-spacing: 0.2em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sec .littl {
    margin-bottom: 10vw;
    padding-bottom: 3vw;
    font-size: min(6vw, 32px);
  }
}
#location .sec._sho {
  padding: 7vw 0;
}
@media screen and (max-width: 768px) {
  #location .sec._sho {
    padding: 20vw 0;
  }
}
#location .sec._sho h3 {
  max-width: 270px;
  font-size: min(1.2vw, 17px);
}
@media screen and (max-width: 768px) {
  #location .sec._sho h3 {
    font-size: min(4vw, 17px);
  }
}
#location .sec._sho .p_body {
  max-width: 270px;
  width: 25vw;
  margin: 1vw 0 2.2vw;
  font-size: min(0.75vw, 13px);
}
@media screen and (min-width: 1500px) {
  #location .sec._sho .p_body {
    max-width: 370px;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._sho .p_body {
    max-width: none;
    width: auto;
    margin: 4vw 0 6vw;
    font-size: min(3vw, 13px);
  }
}
#location .sec._sho .box._01 {
  margin-bottom: 5.5vw;
  padding-right: 7.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._01 {
    margin-bottom: 18vw;
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._sho .box._01 .item_l {
  width: 65%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._01 .item_l {
    width: 100%;
  }
}
#location .sec._sho .box._01 .item_r {
  width: 35%;
  padding-left: 4%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._01 .item_r {
    width: 85%;
    margin: 6vw auto 0;
    padding: 0;
  }
}
#location .sec._sho .box._02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._02 {
    margin-bottom: 12vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#location .sec._sho .box._02 .item_l {
  margin-right: 3%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._02 .item_l {
    width: 85%;
    margin: 6vw auto 0;
  }
}
#location .sec._sho .box._02 .item_r {
  width: 61%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._02 .item_r {
    width: 100%;
  }
}
#location .sec._sho .box._03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._03 {
    margin-bottom: 18vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._sho .box._03 .item_l {
  width: 31.5%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._03 .item_l {
    width: 100%;
  }
}
#location .sec._sho .box._03 .item_r {
  width: 61%;
  padding-left: 3%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._03 .item_r {
    width: 85%;
    margin: 6vw auto 0;
    padding: 0;
  }
}
#location .sec._sho .box._03 .p_body {
  width: 38%;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._03 .p_body {
    width: 100%;
  }
}
#location .sec._sho .box._04 {
  margin-top: 5.5vw;
  padding-left: 7.5vw;
  padding-right: 7.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 {
    margin-bottom: 12vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._sho .box._04 h3 {
  margin-top: 0.8vw;
}
#location .sec._sho .box._04 h3.rel {
  position: relative;
  top: -5em;
  left: -14em;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 h3.rel {
    position: static;
  }
}
#location .sec._sho .box._04 .item_l {
  width: 53%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 .item_l {
    width: 100%;
    margin-bottom: 10vw;
  }
}
#location .sec._sho .box._04 .item_r {
  width: 47%;
  padding-left: 12%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 .item_r {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 .item_r .item_rt {
    width: 70%;
    margin-left: auto;
    margin-bottom: 10vw;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 .item_r .item_rb {
    width: 70%;
    margin-right: auto;
  }
}
#location .sec._sho .box._04 .imgbox._b {
  width: 72%;
  margin-top: 4vw;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._04 .imgbox._b {
    width: 100%;
  }
}
#location .sec._sho .box._05 {
  width: 72%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  left: -2%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._05 {
    width: 85%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    position: static;
  }
}
#location .sec._sho .box._05 .item_l {
  width: 38%;
  padding-right: 5%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._05 .item_l {
    width: 100%;
    margin-top: 6vw;
    padding: 0;
  }
}
#location .sec._sho .box._05 .item_l .p_body {
  max-width: 100%;
  width: 100%;
}
#location .sec._sho .box._05 .item_r {
  width: 62%;
}
@media screen and (max-width: 768px) {
  #location .sec._sho .box._05 .item_r {
    width: 100%;
  }
}
#location .sec._sho .box._05 .p_body {
  width: 100%;
}
#location .sec._p_c {
  padding: 5vw 0 7vw;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c {
    padding-bottom: 20vw;
  }
}
#location .sec._p_c h3 {
  font-size: min(1.2vw, 17px);
}
@media screen and (max-width: 768px) {
  #location .sec._p_c h3 {
    font-size: min(4vw, 17px);
  }
}
#location .sec._p_c .p_body {
  max-width: 270px;
  width: 25vw;
  margin: 1vw 0 2.2vw;
  font-size: min(0.75vw, 13px);
}
@media screen and (min-width: 1500px) {
  #location .sec._p_c .p_body {
    max-width: 370px;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .p_body {
    max-width: none;
    width: auto;
    margin: 4vw 0 6vw;
    font-size: min(3vw, 13px);
  }
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box h3 {
    margin-top: 6vw;
  }
}
#location .sec._p_c .box._01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#location .sec._p_c .box._01 .item {
  width: 33.3333333333%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._01 .item {
    width: 50%;
  }
}
#location .sec._p_c .box._01 .item._copy {
  background: #003707;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._01 .item._copy {
    width: 100%;
    padding: 10vw 0;
  }
}
#location .sec._p_c .box._01 .item._copy h2 {
  font-size: min(1.8vw, 23px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._01 .item._copy h2 {
    font-size: min(4.5vw, 23px);
  }
}
#location .sec._p_c .box._01 .item._copy .p_copy {
  width: 65%;
  margin: 1.5vw auto 0;
  font-size: min(0.75vw, 13px);
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._01 .item._copy .p_copy {
    width: 80%;
    margin: 6vw auto 0;
    font-size: min(3vw, 13px);
  }
}
#location .sec._p_c .box._02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._p_c .box._02 .item_l {
  width: 33.3333333333%;
  position: relative;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._02 .item_l {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#location .sec._p_c .box._02 .item_r {
  width: 66.6666666667%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._02 .item_r {
    width: 100%;
  }
}
#location .sec._p_c .box._02 .txtbox {
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}
#location .sec._p_c .box._02 h3 {
  width: 70%;
  margin: 5.2vw auto 2vw;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._02 h3 {
    margin-top: 8vw;
  }
}
#location .sec._p_c .box._02 .p_body {
  max-width: none;
  width: 70%;
  margin: 0 auto 4.8vw;
  line-height: 1.8;
}
#location .sec._p_c .box._03 {
  width: 55vw;
  margin: 7vw auto 4.5vw;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._03 {
    width: 85%;
    margin: 18vw auto;
  }
}
#location .sec._p_c .box._03 .imgbox {
  margin-bottom: 1.5vw;
}
#location .sec._p_c .box._04 {
  margin-bottom: 4.5vw;
  padding-right: 7vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._04 {
    width: 85%;
    margin: 0 auto 18vw;
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._p_c .box._04 .item_l {
  width: 62%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._04 .item_l {
    width: 100%;
  }
}
#location .sec._p_c .box._04 .item_r {
  width: 38%;
  padding-left: 3%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._04 .item_r {
    width: 100%;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._04 .item_r img {
    width: 70%;
    display: block;
    margin-left: auto;
  }
}
#location .sec._p_c .box._05 {
  margin-bottom: 4.5vw;
  padding-left: 9vw;
  padding-right: 7vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._05 {
    width: 85%;
    margin: 0 auto 18vw;
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#location .sec._p_c .box._05 .item_l {
  width: 36%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._05 .item_l {
    width: 100%;
  }
}
#location .sec._p_c .box._05 .item_l .txtbox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._05 .item_l img {
    width: 70%;
    display: block;
  }
}
#location .sec._p_c .box._05 .item_r {
  width: 64%;
  padding-left: 3%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._05 .item_r {
    width: 100%;
    padding: 0;
  }
}
#location .sec._p_c .box._06 {
  padding-left: 9vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._06 {
    width: 85%;
    margin: 0 auto;
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._p_c .box._06 .item_l {
  width: 56%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._06 .item_l {
    width: 100%;
  }
}
#location .sec._p_c .box._06 .item_r {
  width: 44%;
  padding-left: 3%;
}
@media screen and (max-width: 768px) {
  #location .sec._p_c .box._06 .item_r {
    width: 100%;
    padding: 0;
  }
}
#location .sec._oth .wrap_oth {
  max-width: 1100px;
  width: 85%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .othcopybox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#location .sec._oth .othcopy {
  margin: min(4vw, 52px) 0 min(2vw, 26px);
  font-size: min(1.4vw, 18px);
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .othcopy {
    margin: min(0vw, 52px) 0 min(6vw, 26px);
    font-size: min(4vw, 18px);
    text-align: center;
  }
}
#location .sec._oth .othttl {
  margin-bottom: 0.8vw;
  padding-bottom: 0.5vw;
  color: #b79b4f;
  font-size: min(1.5vw, 22px);
}
@media screen and (max-width: 768px) {
  #location .sec._oth .othttl {
    width: 85%;
    margin: 0 auto 2vw;
    padding-bottom: 2vw;
    font-size: min(4vw, 22px);
    text-align: center;
  }
}
#location .sec._oth .othttl._en {
  border-bottom: 0.5px solid #040000;
  letter-spacing: 0.1em;
}
#location .sec._oth .othttl._en .ini {
  font-size: 1.2em;
}
#location .sec._oth .othttl._jp {
  font-size: min(1.2vw, 15px);
}
@media screen and (max-width: 768px) {
  #location .sec._oth .othttl._jp {
    font-size: min(4vw, 52px);
  }
}
#location .sec._oth h3 {
  margin-top: 1vw;
  font-size: min(1.2vw, 17px);
}
@media screen and (max-width: 768px) {
  #location .sec._oth h3 {
    margin-top: 3vw;
    font-size: min(3.5vw, 17px);
  }
}
#location .sec._oth .p_body {
  max-width: 270px;
  margin: 1vw 0 2.2vw;
  font-size: min(0.75vw, 13px);
}
@media screen and (max-width: 768px) {
  #location .sec._oth .p_body {
    max-width: none;
    width: auto;
    margin: 3vw 0 6vw;
    font-size: min(3vw, 13px);
  }
}
#location .sec._oth .item {
  width: 31.3333333333%;
}
#location .sec._oth .item_x2 {
  width: 65.6666666667%;
}
#location .sec._oth .box._01 {
  margin-bottom: 4.5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._01 {
    margin-bottom: 10vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._01 .item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._01 .item_x2 {
    width: 100%;
  }
}
#location .sec._oth .box._01 .txtbox {
  max-width: 270px;
  width: 21vw;
  position: absolute;
  left: min(6vw, 78px);
  bottom: 0;
}
@media screen and (min-width: 1500px) {
  #location .sec._oth .box._01 .txtbox {
    max-width: 100%;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._01 .txtbox {
    max-width: none;
    width: 100%;
    position: static;
  }
}
#location .sec._oth .box._01 .txtbox .p_body {
  margin-bottom: 0;
}
@media screen and (min-width: 1500px) {
  #location .sec._oth .box._01 .txtbox .p_body {
    max-width: 344.66px;
  }
}
#location .sec._oth .box._02 {
  margin-bottom: 7vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#location .sec._oth .box._02 .txtbox {
  position: relative;
  right: max(-58vw, -754px);
  bottom: calc(2.5em + 1vw);
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._02 .txtbox {
    position: static;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._02 .item_x2 {
    width: 100%;
    margin-bottom: 7vw;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._02 .item {
    width: 48%;
    margin-bottom: 7vw;
  }
}
#location .sec._oth .box._03._t {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._03._t {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._03 .item._copy {
    width: 85%;
    margin: 0 auto;
  }
}
#location .sec._oth .box._03 .othcopy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._03 .othcopy {
    text-align: center;
  }
}
#location .sec._oth .box._03 .othttl {
  text-align: right;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._03 .othttl {
    text-align: center;
  }
}
#location .sec._oth .box._04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#location .sec._oth .box._04 .item {
  margin-bottom: 3vw;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._04 .item {
    margin-bottom: 7vw;
  }
}
#location .sec._oth .box._04 .othcopy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 0;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._04 .othcopy {
    margin-left: auto;
    text-align: center;
  }
}
#location .sec._oth .box._04 .othttl {
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .sec._oth .box._04 .othttl {
    text-align: center;
  }
}
#location .sec._oth .box._04 .s_txt {
  font-size: 0.7em;
}
#location .sec._acc {
  padding-bottom: min(12vw, 156px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc {
    padding-bottom: min(25vw, 156px);
  }
}
#location .sec._acc .bgwrap {
  padding: min(5.5vw, 71px) 0 min(7vw, 91px);
  background: url(../img/location/acc_bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .bgwrap {
    padding: min(18vw, 71px) 0 min(20vw, 91px);
  }
}
#location .sec._acc h2 {
  text-align: center;
  font-size: min(6.3vw, 81px);
  letter-spacing: 0.18em;
}
@media screen and (max-width: 768px) {
  #location .sec._acc h2 {
    font-size: min(12vw, 81px);
  }
}
#location .sec._acc .copy {
  text-align: center;
}
#location .sec._acc .copy._01 {
  margin-top: min(2.8vw, 36px);
  margin-bottom: min(2.3vw, 29px);
  margin-right: -0.75em;
  font-size: min(2.5vw, 32px);
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .copy._01 {
    margin-top: min(8vw, 36px);
    margin-bottom: min(7vw, 29px);
    font-size: min(5vw, 32px);
  }
}
#location .sec._acc .copy._02 {
  margin-right: -0.25em;
  font-size: min(1.7vw, 22px);
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .copy._02 {
    font-size: min(3.5vw, 22px);
  }
}
#location .sec._acc .copy._03 {
  max-width: 470px;
  width: 85%;
  margin: min(5.5vw, 72px) auto 0;
  padding-top: 2vw;
  border-top: 1px solid #040000;
  font-size: min(1vw, 13px);
  line-height: 2;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .copy._03 {
    margin: min(10vw, 72px) auto 0;
    padding-top: 5vw;
    border-top: 0.5px solid #040000;
    font-size: min(2.5vw, 13px);
  }
}
#location .sec._acc .box._01 {
  margin-top: min(3.5vw, 45px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._01 {
    margin-top: min(11vw, 45px);
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#location .sec._acc .box._01 .imgbox {
  width: 32.8%;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._01 .imgbox {
    width: 49%;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._01 .imgbox:nth-of-type(1) {
    width: 100%;
    margin-bottom: 2%;
  }
}
#location .sec._acc .box._01 .imgbox:nth-of-type(2) {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._01 .imgbox:nth-of-type(2) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
#location .sec._acc .box._01 .imgbox:nth-of-type(3) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._01 .imgbox:nth-of-type(3) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
}
#location .sec._acc .box._01 .imgnote {
  font-size: min(1.1vw, 14px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._01 .imgnote {
    font-size: min(2.5vw, 14px);
  }
}
#location .sec._acc .imgbox._04 {
  max-width: 750px;
  width: 85%;
  margin: min(7.5vw, 97px) auto min(9vw, 117px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .imgbox._04 {
    width: 100%;
    margin: min(20vw, 97px) auto min(22vw, 117px);
    padding-left: 7.5%;
    overflow: scroll;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._acc .imgbox._04 img {
    width: 130%;
    margin-right: 7.5%;
  }
}
#location .sec._acc .imgbox._04 .imgnote {
  left: auto;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .imgbox._04 .imgnote {
    left: 7.5%;
    bottom: 0;
  }
}
#location .sec._acc .box._02 {
  max-width: 750px;
  width: 85%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._02 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._acc .box._02 .imgbox {
  width: 53%;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._02 .imgbox {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._02 .imgbox .imgnote {
    left: auto;
    right: 0;
  }
}
#location .sec._acc .box._02 .txtbox {
  width: 43%;
  margin-top: -1vw;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._02 .txtbox {
    width: 100%;
    margin-top: 2vw;
  }
}
#location .sec._acc .box._02 .p01 {
  position: relative;
  font-size: min(2vw, 26px);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._02 .p01 {
    font-size: min(5vw, 26px);
  }
}
#location .sec._acc .box._02 .p01._t {
  line-height: 0;
}
#location .sec._acc .box._02 .p01 .abs {
  position: absolute;
  top: 1.2em;
  line-height: 1.1;
}
#location .sec._acc .box._02 .p01 .xs_txt {
  display: block;
  font-size: 0.3em;
  letter-spacing: 0;
}
#location .sec._acc .box._02 .p01 .s_txt {
  font-size: 0.55em;
}
#location .sec._acc .box._02 .p01 .m_txt {
  font-size: 0.8em;
}
#location .sec._acc .box._02 .p01 .l_txt {
  font-size: 2em;
  letter-spacing: -0.1em;
}
#location .sec._acc .box._02 .p01 .ll_txt {
  margin-left: -0.05em;
  margin-right: -0.2em;
  display: inline-block;
  font-size: 3em;
}
#location .sec._acc .box._02 .p02 {
  margin-top: min(0.7vw, 9px);
  margin-bottom: min(1.5vw, 19px);
  padding-bottom: min(2vw, 26px);
  border-bottom: 0.5px solid #231815;
  font-size: min(0.9vw, 11.5px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._02 .p02 {
    margin-top: min(2vw, 26px);
    margin-bottom: min(3vw, 39px);
    padding-bottom: min(4vw, 52px);
    font-size: min(3vw, 11.5px);
  }
}
#location .sec._acc .box._03 {
  max-width: 1100px;
  width: 85%;
  margin: min(9vw, 117px) auto 0;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 {
    margin: min(15vw, 117px) auto 0;
  }
}
#location .sec._acc .box._03._b {
  max-width: 550px;
  width: 85%;
  margin-top: min(5vw, 65px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03._b {
    margin-top: min(8vw, 65px);
  }
}
#location .sec._acc .box._03._b .itembox .item {
  width: 49.5%;
}
#location .sec._acc .box._03 .p01 {
  margin-bottom: min(0.8vw, 10px);
  padding: 0.2em 0 0.15em;
  background: #707f87;
  color: #fff;
  font-size: min(1.1vw, 14px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .p01 {
    margin-bottom: min(2vw, 10px);
    font-size: min(3vw, 14px);
  }
}
#location .sec._acc .box._03 .itembox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#location .sec._acc .box._03 .itembox .item {
  width: 24.5%;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .itembox .item {
    width: 49%;
    margin-bottom: 3vw;
  }
}
#location .sec._acc .box._03 .itembox .txtitem {
  width: 100%;
  margin-top: min(1vw, 13px);
  padding-top: min(1vw, 13px);
  border-top: 0.5px solid #231815;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .itembox .txtitem {
    margin-top: min(2vw, 13px);
    padding-top: min(2vw, 13px);
  }
}
#location .sec._acc .box._03 .p02 {
  width: 100%;
  position: absolute;
  top: 53%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  font-size: min(2vw, 26px);
  line-height: 0.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .p02 {
    font-size: min(3.5vw, 26px);
  }
}
#location .sec._acc .box._03 .p02 .l_txt {
  font-size: 2.2em;
}
#location .sec._acc .box._03 .p03 {
  margin-top: min(0.5vw, 7px);
  font-size: min(1.7vw, 22px);
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .p03 {
    margin-top: 1.5vw;
    font-size: min(3.5vw, 22px);
  }
}
#location .sec._acc .box._03 .p03 .s_txt {
  position: relative;
  top: -0.7em;
  font-size: 0.4em;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .p03 .s_txt {
    top: 0;
    font-size: 0.7em;
  }
}
#location .sec._acc .box._03 .p03 .s_txt.rel {
  position: relative;
  top: 0em;
}
#location .sec._acc .box._03 .p03 .m_txt {
  font-size: 0.45em;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._03 .p03 .m_txt {
    font-size: 0.6em;
  }
}
#location .sec._acc .box._04 {
  max-width: 850px;
  width: 85%;
  margin: 0 auto;
}
#location .sec._acc .box._04 .item {
  margin-top: min(10vw, 130px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .item {
    margin-top: min(18vw, 130px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._acc .box._04 .item.rev {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .item.rev {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .sec._acc .box._04 .item.rev .p01 {
  text-align: right;
}
#location .sec._acc .box._04 .item.rev .p02 {
  padding-left: min(2.5vw, 32px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .item.rev .p02 {
    padding: 0;
  }
}
#location .sec._acc .box._04 .item.rev .p03 {
  padding-left: min(2.5vw, 32px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .item.rev .p03 {
    padding: 0;
  }
}
#location .sec._acc .box._04 .item.rev .p04 {
  padding-left: min(2.5vw, 32px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .item.rev .p04 {
    padding: 0;
  }
}
#location .sec._acc .box._04 .txtbox {
  width: 52%;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .txtbox {
    width: 100%;
  }
}
#location .sec._acc .box._04 .imgbox {
  width: 46%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .imgbox {
    width: 100%;
    margin-top: 5vw;
  }
}
#location .sec._acc .box._04 .imgbox .imgnote {
  bottom: -25px;
  font-size: min(1.1vw, 14px);
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .imgbox .imgnote {
    bottom: -1.8em;
    font-size: min(2.5vw, 14px);
  }
}
#location .sec._acc .box._04 .p01 {
  margin-bottom: min(1.8vw, 23px);
  border-bottom: 0.5px solid #040000;
  color: #b79b4f;
  font-size: min(2.2vw, 28px);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .p01 {
    margin-bottom: min(4vw, 23px);
    padding-bottom: min(2vw, 23px);
    font-size: min(5vw, 28px);
  }
}
#location .sec._acc .box._04 .p02 {
  margin-bottom: min(1.2vw, 15px);
  font-size: min(1.3vw, 17px);
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .p02 {
    margin-bottom: min(3vw, 15px);
    font-size: min(4vw, 17px);
  }
}
#location .sec._acc .box._04 .p03 {
  font-size: min(1vw, 13px);
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .p03 {
    font-size: min(2.5vw, 13px);
  }
}
#location .sec._acc .box._04 .p04 {
  margin-top: min(0.8vw, 10px);
  font-size: min(1.6vw, 20px);
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  #location .sec._acc .box._04 .p04 {
    margin-top: min(3vw, 39px);
    font-size: min(4vw, 20px);
  }
}
#location .sec._acc .box._04 .p04 .s_txt {
  font-size: 0.55em;
}
#location .sec._acc .box._04 .p04 .s_txt.rel {
  position: relative;
  top: -0.5em;
}
#location .sec._acc .box._04 .p04 .s_txt._b {
  top: -0.9em;
}
#location .sec._acc .box._04 .p04 .m_txt {
  font-size: 0.8em;
}
#location .anime0 {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#location .anime0.scrollin {
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
#location .anime1 {
  opacity: 0;
  -webkit-transform: translate(0, 20px);
          transform: translate(0, 20px);
  -webkit-transition: all 1s;
  transition: all 1s;
}
#location .anime1.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
#location .anime2 {
  opacity: 0;
  -webkit-transform: translate(10px, 0);
          transform: translate(10px, 0);
  -webkit-transition: all 1.5s;
  transition: all 1.5s;
}
#location .anime2.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
#location .anime3 {
  opacity: 0;
  -webkit-transform: translate(-30px, 0);
          transform: translate(-30px, 0);
  -webkit-transition: all 1.8s;
  transition: all 1.8s;
}
#location .anime3.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
#location .anime_par {
  overflow: hidden;
}
#location .mdl {
  max-width: 850px;
  width: 70%;
  position: absolute;
  top: 45%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  will-change: opacity, visibility;
}
@media screen and (max-width: 768px) {
  #location .mdl {
    width: 75%;
    left: 50%;
  }
}
#location .mdl.on {
  visibility: visible;
  opacity: 1;
}
#location .mdl .num {
  width: 9%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #location .mdl .num {
    width: 15%;
  }
}
#location .mdl h3 {
  margin: 3vw 0;
  color: #fff;
  font-family: sans-serif;
  font-weight: bold;
  font-size: min(2.3vw, 29px);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #location .mdl h3 {
    margin: 5vw 0;
    font-size: min(5vw, 29px);
  }
}
#location .mdl h3 .s_txt {
  font-size: 0.6em;
}
#location .mdl h3 .s_txt .eb {
  font-family: sans-serif;
  font-size: 1em;
}
#location .mdl .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #location .mdl .box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#location .mdl .box .imgbox {
  width: 47%;
}
@media screen and (max-width: 768px) {
  #location .mdl .box .imgbox {
    width: 100%;
  }
}
#location .mdl .box .anno {
  margin-top: 1.2vw;
  color: #fff;
  font-size: min(0.6vw, 10px);
  letter-spacing: 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .mdl .box .anno {
    font-size: min(1.5vw, 10px);
  }
}
#location .mdl .box .anno a {
  text-decoration: underline;
}
#location .mdl .box .txtbox {
  width: 48%;
}
@media screen and (max-width: 768px) {
  #location .mdl .box .txtbox {
    width: 100%;
  }
}
#location .mdl .box .p_body {
  color: #fff;
  font-weight: bold;
  font-size: min(1vw, 13px);
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 768px) {
  #location .mdl .box .p_body {
    margin-top: 3.5vw;
    font-size: min(2.5vw, 13px);
  }
}