@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  /* line-heightをemベースでcalc()で計算。font-sizeを小さくするとline-heightは大きくなり、font-sizeを大きくするとline-heightは小さくなります。参考: https://kittygiraudel.com/2020/05/18/using-calc-to-figure-out-optimal-line-height/ */
  line-height: calc(0.25rem + 1em + 0.25rem);
  font-size: 62.5%;
  font-style: normal;
  font-weight: unset;
}

/* より直感的なボックスサイズのモデルを使用 */
*,
::before,
::after {
  box-sizing: border-box;
}

/* fieldset, progress, meter以外のすべての要素でボーダーを削除し、背景に適切なデフォルトを設定 */
*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

html {
  /* アプリケーションでパーセントによる高さを許可する  */
  block-size: 100%;
  /* テキストのサイズはfont-sizeのみで制御されるようにする */
  text-size-adjust: none;
  font-size: 62.5%;
  height: fit-content;
  min-height: 100%;
  overflow-x: hidden;
  /* スムーススクロール */
  scroll-behavior: smooth;
}

/* 減速を好まないユーザーのためにスムーズなスクロールを実現 */
@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }
}
body {
  position: relative;
  font-size: 1.6em;
  height: fit-content;
  min-height: 100%;
  overflow-x: hidden;
  min-block-size: 100%;
}

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

/* 各メディア要素のデフォルトを改善 */
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, svg, video) {
  block-size: auto;
  max-inline-size: 100%;
}

/* ストロークを削除し、fillの塗りつぶしカラーはフォントカラーを継承 */
:where(svg) {
  stroke: none;
  fill: currentcolor;
}

/* fill属性のないSVG */
:where(svg):where(:not([fill])) {
  /* fillを取り除き、ストロークのカラーはフォントカラーを継承 */
  stroke: currentcolor;
  fill: none;
  /* 丸みを帯びたストローク */
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* width属性のないSVGのサイズを設定 */
:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

/* テキストのオーバーフローを回避 */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* リストの役割をするul、ol要素のリストスタイルを削除。デフォルトのスタイルが削除されることを示唆しています */
:where(ul, ol, li)[role=list] {
  list-style: none;
}

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

/* クラスを持たないアンカータグに、より読みやすい下線スタイルを設定。アンカータグに設定することもできますが、コンフリクトを引き起こす可能性があります */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* フォーカスのアウトラインをアニメーション化 */
@media (prefers-reduced-motion: no-preference) {
  :focus-visible {
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    transition-duration: 0.25s;
  }
}
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

/* ユーザーがボタンのテキストを選択できないようにする */
:where(button,
button[type],
input[type=button],
input[type=submit],
input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  user-select: none;
  text-align: center;
}

/* 無効化されたボタンには無効化されたカーソルを表示 */
:where(button,
button[type],
input[type=button],
input[type=submit],
input[type=reset])[disabled] {
  cursor: not-allowed;
}

time {
  font-size: 1em;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

span,
strong,
em,
small,
i,
b {
  font-size: 1em;
}

button {
  border: none;
  text-decoration: none;
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none;
  appearance: none;
  cursor: pointer;
}

/* ==========================================================
	formタグ
========================================================== */
/* フォーム内のタイポグラフィのスタイルを削除 */
:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
}

/*==========================================================
	ウィンドウ・フォントサイズ設定
==========================================================*/
/*==========  サイズ設定 END  =============================*/
/*==========================================================
	レスポンシブ設定
==========================================================*/
/*==========================================================
	ホバー処理
==========================================================*/
/*=========================================
ボタン
-----------------------------------------*/
/*=======================================   
    ボタン装飾
---------------------------------------*/
/*=======================================
基本外側レイアウト
---------------------------------------*/
/*================================
 日付選択
--------------------------------*/
/*=========================================
モーダルエラーメッセージ
-----------------------------------------*/
/*==========================================================
	フォント読み込み
==========================================================*/
@font-face {
  font-display: swap;
  font-family: "OldStandard-Regular";
  src: url("../fonts/OldStandard-Regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  @import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
}
/*==========================================================
	フォント指定
==========================================================*/
/*==========================================================
	オフィシャルサイトCOMMON
==========================================================*/
html {
  background-color: #faf9f6;
  border-image-source: url(../img/main_frame.webp);
  border-image-width: 8px;
  border-width: 8px;
  border-image-repeat: repeat;
  border-image-slice: 10;
  margin: 5px;
  padding: 5px;
  border-style: solid;
}
@media (max-width: 834px) and (orientation: portrait) {
  html {
    border-image: unset;
    margin: 0;
    padding: unset;
    border: unset;
  }
}

body {
  position: relative;
  align-items: flex-start;
  overflow: unset;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #141418;
  display: flex;
  z-index: 1;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  font-size: clamp(1.2rem, 0.4036326942vw + 10.4863773966px, 1.6rem);
  border-image-source: url(../img/main_frame.webp);
  border-image-width: 5px;
  border-width: 5px;
  border-image-slice: 7;
}
@media (max-width: 1280px) {
  body {
    overflow-x: clip;
  }
}
@media (max-width: 834px) and (orientation: portrait) {
  body {
    font-size: 1.4vw;
    border: unset;
    padding-top: 8vw;
    flex-direction: column;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  body {
    font-size: 3.6vw;
    padding-top: 12vw;
  }
}
body img {
  width: 100%;
  user-drag: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  pointer-events: none;
}
@media (min-width: 768px) {
  body a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  body br.pc {
    display: none;
  }
}
body br.sp {
  display: none;
}
@media (max-width: 500px) and (orientation: portrait) {
  body br.sp {
    display: inline;
  }
}

/*================================
 フォームタグ初期化
--------------------------------*/
input {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  outline: none;
  appearance: none;
}

textarea {
  outline: none;
}

input[type=radio],
input[type=checkbox] {
  position: absolute;
  inset: 0;
  z-index: 1;
}
input[type=radio].read-only,
input[type=checkbox].read-only {
  pointer-events: none;
}

/*================================
 セレクトボックス(マスター)
--------------------------------*/
/*================================
 セレクトボックス(UL>LI版 中央寄せ)
--------------------------------*/
/*================================
 セレクトボックス(UL>LI版)左寄せ
--------------------------------*/
/*==========================================================
	共通
==========================================================*/
main {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  width: calc(100% - 16rem);
}
@media (max-width: 834px) and (orientation: portrait) {
  main {
    width: 100%;
  }
}
main::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 4;
  transition: 0.3s ease-out;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
}
main.is-active::after {
  clip-path: inset(0);
  transition: 0.3s ease-out;
  opacity: 1;
}

section,
article {
  width: 100%;
  width: stretch;
  position: relative;
  font-size: 1em;
}

svg {
  fill: transparent;
  stroke: transparent;
}

.display_mode::after {
  content: "pc";
  display: none;
}
@media (max-width: 1280px) {
  .display_mode::after {
    content: "tbw";
    display: none;
  }
}
@media (max-width: 834px) and (orientation: portrait) {
  .display_mode::after {
    content: "tb";
    display: none;
  }
}
@media (max-width: 928px) and (orientation: landscape) {
  .display_mode::after {
    content: "spw";
    display: none;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  .display_mode::after {
    content: "sp";
    display: none;
  }
}

.inner_main h1 {
  font-size: 12px;
  letter-spacing: 0.08em;
}
@media (max-width: 500px) and (orientation: portrait) {
  .inner_main h1 {
    padding: 1vw 2vw;
  }
}
.inner_main .container_head {
  display: flex;
  flex-direction: column;
  color: #fff;
  padding: 4em;
}
@media (max-width: 500px) and (orientation: portrait) {
  .inner_main .container_head {
    padding: 6vw;
  }
}
.inner_main .container_head::before, .inner_main .container_head::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
}
.inner_main .container_head::before {
  background: url(../img/h2_bg.webp) no-repeat center center/cover;
}
.inner_main .container_head::after {
  background-color: #686154;
  mix-blend-mode: multiply;
}
.inner_main .container_head h2 {
  font-size: max(12px, 1.9375em);
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media (max-width: 500px) and (orientation: portrait) {
  .inner_main .container_head h2 {
    font-size: max(12px, 1.75em);
  }
}
.inner_main .container_head .h2_sidebar {
  font-size: max(12px, 0.875em);
  font-weight: 700;
  margin-top: 2em;
  letter-spacing: 0.08em;
}
@media (max-width: 500px) and (orientation: portrait) {
  .inner_main .container_head .h2_sidebar {
    margin-top: 2vw;
  }
}

/*==========================================
	ハンバーガーメニュー
==========================================*/
.hamburger-button {
  position: absolute;
  --boxSize: 8vw;
  width: var(--boxSize);
  right: 2vw;
  top: 50%;
  translate: 0 -50%;
  aspect-ratio: 1;
  z-index: 100;
  transition: 0.8s ease-out;
  font-size: 1em;
  border-radius: 0.5rem;
}
.hamburger-button span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60%;
  height: 2px;
  background-color: #141418;
  transition: 0.5s ease-out;
}
@media (max-width: 500px) and (orientation: portrait) {
  .hamburger-button span {
    width: 80%;
  }
}
.hamburger-button span:nth-of-type(1) {
  transform: translate(-50%, calc(-50% - 1.4vw));
}
@media (max-width: 500px) and (orientation: portrait) {
  .hamburger-button span:nth-of-type(1) {
    transform: translate(-50%, calc(-50% - 2vw));
  }
}
.hamburger-button span:nth-of-type(2) {
  transform: translate(-50%, -50%);
  transition-delay: 0.3s;
}
.hamburger-button span:nth-of-type(3) {
  transform: translate(-50%, calc(-50% + 1.4vw));
}
@media (max-width: 500px) and (orientation: portrait) {
  .hamburger-button span:nth-of-type(3) {
    transform: translate(-50%, calc(-50% + 2vw));
  }
}
.hamburger-button.active span {
  transition: 0.3s ease-out;
}
.hamburger-button.active span:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(135deg);
}
.hamburger-button.active span:nth-of-type(2) {
  transform: translate(100%, -50%);
  opacity: 0;
}
.hamburger-button.active span:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(-135deg);
}

/*==========================================================
    header(ヘッダー)
==========================================================*/
header {
  position: sticky;
  top: 0;
  font-size: initial;
  display: flex;
  flex-direction: column;
  width: 16rem;
  border-image-source: url(../img/main_frame.webp);
  border-width: 0 5px 0 0;
  border-image-slice: 3;
  height: 100vh;
  height: 100dvh;
  background-color: #faf9f6;
  z-index: 2;
}
header > section {
  overflow: scroll;
  height: 100%;
}
@media (max-width: 834px) and (orientation: portrait) {
  header {
    max-width: unset;
    z-index: 50;
    height: unset;
  }
}
header section {
  position: relative;
  font-size: inherit;
}
@media (max-width: 834px) and (orientation: portrait) {
  header section {
    display: contents;
  }
}
header .block_head-menu {
  display: none;
}
@media (max-width: 834px) and (orientation: portrait) {
  header .block_head-menu {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    z-index: 10;
    background-color: #faf9f6;
    width: 100vw;
    width: 100dvw;
    height: 8vw;
    padding: 2vw;
    border-image-source: url(../img/main_frame.webp);
    border-width: 0 0 5px 0;
    border-image-slice: 14;
    z-index: 100;
  }
  header .block_head-menu .wrap_logo {
    width: 20vw;
  }
  header .block_head-menu .wrap_logo img {
    width: 100%;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  header .block_head-menu {
    height: 12vw;
  }
}
header .block_side-menu {
  display: contents;
}
@media (max-width: 834px) and (orientation: portrait) {
  header .block_side-menu {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #faf9f6;
    position: fixed;
    min-height: 100vh;
    min-height: 100dvh;
    top: 8vw;
    right: 0;
    z-index: 1;
    width: 25vw;
    transform: translateX(25vw);
    opacity: 1;
    clip-path: inset(0 100% 0 0);
    transition: 0.5s ease-out;
  }
  header .block_side-menu.active {
    transform: translateX(0);
    transition: 0.3s ease-out;
    opacity: 1;
    clip-path: inset(0);
  }
}
@media (max-width: 834px) and (orientation: portrait) {
  header .block_side-menu {
    padding: 1rem;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  header .block_side-menu {
    top: 12vw;
    width: 60vw;
    overflow-y: scroll;
    height: 100%;
    transform: translateX(50vw);
  }
}
header .block_side-menu .block_side-menu_inner {
  display: contents;
  font-size: inherit;
}
@media (max-width: 834px) and (orientation: portrait) {
  header .block_side-menu .block_side-menu_inner {
    background-color: #faf9f6;
    border-image-source: url(../img/main_frame.webp);
    border-width: 3px 3px 0 3px;
    border-image-slice: 14;
    display: flex;
    flex-direction: column;
  }
}
header .box_logo {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  background-color: #141418;
  display: grid;
  place-items: center;
  padding: 1em;
}
@media (max-width: 834px) and (orientation: portrait) {
  header .box_logo {
    display: none;
  }
}
header section {
  padding-bottom: 3em;
}
header section .box_lang {
  position: relative;
  margin-top: 0.5em;
  width: stretch;
  margin-inline: 0.3em;
  font-size: 1em;
}
header section .box_lang::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0.65em;
  width: 1.1em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19" fill="none"><path d="M17.04,3.74s-.01-.01-.02-.02C13.85-.43,7.91-1.23,3.76,1.94c-.67.51-1.27,1.11-1.78,1.78,0,0-.01.01-.02.02s0,.01,0,.02C-.65,7.15-.65,11.85,1.95,15.24c0,0,0,.01,0,.02s.01.01.02.02c3.17,4.15,9.11,4.95,13.27,1.78.67-.51,1.27-1.11,1.78-1.78,0,0,.01,0,.02-.01s0-.01,0-.02c2.6-3.39,2.6-8.1,0-11.48,0,0,0-.01,0-.02M16.4,14.13c-.62-.37-1.28-.67-1.97-.9.24-1.03.37-2.08.4-3.14h2.95c-.1,1.44-.58,2.83-1.38,4.03M1.22,10.09h2.96c.03,1.06.16,2.11.4,3.14-.69.23-1.35.53-1.97.9-.81-1.2-1.28-2.59-1.38-4.04M2.6,4.87c.62.37,1.28.67,1.97.9-.24,1.03-.37,2.08-.4,3.14H1.22c.1-1.44.57-2.84,1.38-4.04M10.09,6.51c1.07-.03,2.14-.17,3.18-.42.21.92.33,1.87.37,2.81h-3.55v-2.39ZM10.09,5.33V1.29c1.18.35,2.21,1.74,2.86,3.67-.94.22-1.9.34-2.86.37M8.91,1.29v4.04c-.96-.03-1.92-.16-2.86-.37.65-1.93,1.68-3.31,2.86-3.67M8.91,6.51v2.4h-3.55c.03-.95.16-1.89.37-2.82,1.04.25,2.11.39,3.18.42M5.36,10.09h3.55v2.4c-1.07.03-2.14.17-3.18.42-.21-.93-.33-1.87-.37-2.82M8.91,13.67v4.04c-1.18-.35-2.21-1.74-2.86-3.67.94-.22,1.9-.34,2.86-.37M10.09,17.71v-4.04c.96.03,1.92.16,2.86.37-.64,1.93-1.68,3.31-2.86,3.67ZM10.09,12.49v-2.4h3.55c-.03.95-.16,1.89-.37,2.81-1.04-.24-2.11-.38-3.18-.41ZM14.82,8.91c-.03-1.06-.16-2.11-.4-3.14.69-.23,1.35-.53,1.97-.9.81,1.2,1.29,2.59,1.39,4.04h-2.96ZM15.65,3.94c-.5.28-1.02.51-1.55.69-.32-1.01-.8-1.96-1.43-2.81,1.14.48,2.16,1.2,2.98,2.12M6.33,1.82c-.63.85-1.11,1.8-1.43,2.81-.54-.18-1.06-.41-1.55-.69.83-.92,1.85-1.64,2.99-2.12ZM3.34,15.07c.5-.28,1.02-.51,1.55-.69.32,1.01.8,1.96,1.43,2.81-1.14-.48-2.16-1.2-2.98-2.12M12.67,17.18c.63-.85,1.11-1.8,1.43-2.81.54.18,1.06.42,1.55.69-.83.92-1.84,1.64-2.98,2.12h0Z" fill="%23000000"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  z-index: 2;
}
header section .box_lang > ul {
  --boxHeight: 3rem;
  width: 100%;
  outline: 1px solid #141418;
  border-radius: unset;
  --itemPaddingLeft: 1.4em;
  height: var(--boxHeight);
  background-color: #fff;
  font-size: 1em;
  outline: 1px solid #c7c7c7;
  border-radius: 0.5rem;
  position: relative;
  transition: 0.3s ease-out;
  z-index: 1;
}
header section .box_lang > ul .select_label {
  display: block;
  width: 100%;
  transition: all 0.2s cubic-bezier(0.4, 0.25, 0.3, 1);
  height: 0;
  font-size: max(12px, 0.875em);
  line-height: var(--boxHeight);
  overflow: hidden;
  background-color: #fff;
  cursor: pointer;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section .box_lang > ul .select_label {
    font-size: 3.6vw;
  }
}
header section .box_lang > ul .select_label::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 0.8em;
  width: 0.7em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 8" fill="%23335D95"><polygon points="6.5 8 0 1.59 1.61 0 6.5 4.82 11.39 0 13 1.59 6.5 8" /></svg>');
  aspect-ratio: 13/8;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: 0.2s cubic-bezier(0.4, 0.25, 0.3, 1);
}
header section .box_lang > ul .select_label-placeholder {
  height: var(--boxHeight);
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
}
header section .box_lang > ul > li {
  position: relative;
  font-size: 1em;
}
header section .box_lang > ul > li.select_items {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 2px;
  padding-top: var(--boxHeight);
}
header section .box_lang > ul > li.select_items > ul {
  position: relative;
  font-size: 1em;
  margin: 0;
}
header section .box_lang > ul > li.select_items > ul:has(input[type=radio]:checked) {
  overflow: unset;
  max-height: unset;
}
header section .box_lang > ul > li.select_items > ul > li {
  position: relative;
  font-size: 1em;
}
header section .box_lang > ul > li.select_items > ul > li > label {
  z-index: -1;
}
header section .box_lang > ul > li.select_items > ul > li > label::after {
  display: none;
}
header section .box_lang > ul > li.select_items input[type=radio] {
  width: 0;
  height: var(--boxHeight);
  position: absolute;
  top: 0;
  right: 0;
}
header section .box_lang > ul > li.select_items input[type=radio]:hover::after {
  opacity: 1;
}
header section .box_lang > ul > li.select_items input[type=radio]:checked::after {
  transform: scaleY(-1);
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_label {
  width: 100%;
  height: var(--boxHeight);
  margin-top: calc(var(--boxHeight) * -1);
  border-radius: 0.5rem;
  background-color: #edf1f8;
  display: flex;
  align-items: center;
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_label::after {
  display: inline-block;
  rotate: 90deg;
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_closeLabel {
  display: block;
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_closeLabel + ul {
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_closeLabel + ul .select_label {
  height: var(--boxHeight);
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_closeLabel + ul .select_label:hover {
  background-color: #335d95;
  color: #fff;
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_closeLabel > .select_expandLabel {
  display: none;
}
header section .box_lang > ul > li .select_closeLabel {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
}
header section .box_lang > ul > li .select_expandLabel {
  display: block;
  width: 100%;
  font-size: 1em;
  height: var(--boxHeight);
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
header section .box_lang > ul:hover {
  outline-color: #335d95;
  transition: 0.3s ease-out;
}
header section .box_lang > ul .select_label {
  padding-left: var(--itemPaddingLeft);
}
header section .box_lang > ul:hover {
  outline-color: #335d95;
  transition: 0.3s ease-out;
}
header section .box_lang > ul .select_label {
  display: flex;
  justify-content: flex-start;
  padding-left: 2.6em;
  font-size: 1.3rem;
  font-weight: 700;
}
header section .box_lang > ul .select_label-placeholder {
  font-size: 1.3rem;
  height: var(--boxHeight);
}
header section .box_lang > ul > li a {
  position: absolute;
  inset: 0;
  z-index: 1;
}
header section .box_lang > ul > li a::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  transition: 0.3s ease-out;
  background-color: rgba(0, 0, 0, 0);
}
header section .box_lang > ul > li a:hover::before {
  background-color: rgba(0, 0, 0, 0.2);
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_label {
  justify-content: flex-start;
  background-color: #faf9f6;
}
header section .box_lang > ul > li.select_items input[type=radio]:checked + .select_closeLabel + ul .select_label:hover {
  background-color: #141418;
  color: #fff;
}
header section .link_member {
  position: relative;
  background-color: #141418;
  color: #faf9f6;
  margin-top: 0.5em;
  border: 1px solid;
  width: stretch;
  margin-inline: 0.3em;
  display: none;
  justify-content: center;
  font-size: max(12px, 0.875em);
  letter-spacing: 0.04em;
  font-weight: 700;
  padding: 0.5em 0 0.5em 1.4em;
}
header section .link_member::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0.9em;
  width: 1em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 25" fill="none"><path d="M16.27,9.66H5.24v-3.89c0-2.07,1.68-3.74,3.76-3.74s3.76,1.67,3.76,3.74v1.55h2.03v-1.55c0-3.18-2.59-5.76-5.79-5.76S3.21,2.58,3.21,5.76v3.89h-1.48C.77,9.66,0,10.43,0,11.38H0v5.46C0,21.35,4.03,25,9,25s9-3.65,9-8.15v-5.46c0-.95-.77-1.72-1.73-1.72ZM16.37,16.85c0,3.6-3.31,6.53-7.37,6.53s-7.37-2.93-7.37-6.53v-5.46c0-.06.05-.1.1-.1h14.54c.06,0,.1.05.1.1v5.46Z" fill="%23ffffff"/><path d="M9,13.98h0c-.97,0-1.76.79-1.76,1.76,0,.71.44,1.36,1.1,1.62l-.53,2.25h2.37l-.53-2.24c.9-.36,1.34-1.38.98-2.28-.27-.66-.91-1.1-1.63-1.1Z" fill="%23ffffff"/></svg>');
  aspect-ratio: 0.72;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
header section .link_member.en {
  padding-left: 0;
}
header section .link_member.en::before {
  display: none;
}
@media (max-width: 834px) and (orientation: portrait) {
  header section .link_member {
    display: flex;
  }
}
header section nav {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  border-image-source: url(../img/main_frame.webp);
  border-width: 0 0 2px 0;
  border-image-slice: 5;
  padding: 1rem;
  gap: 2px 0;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section nav {
    padding: 1.2rem;
  }
}
header section nav a {
  position: relative;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.2em;
  padding: 3px;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section nav a {
    font-size: 1.4rem;
  }
}
header section nav a::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #000000;
  opacity: 0;
  z-index: -1;
}
@media (hover: hover) {
  header section nav a:where(:any-link, :enabled, summary):hover {
    color: #faf9f6;
  }
  header section nav a:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}
header section nav a.is-mobile {
  display: none;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section nav a.is-mobile {
    display: inline-block;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  header section nav a.is-pc {
    display: none;
  }
}
header section nav .link_online-store::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 1em;
  width: 1.2em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19" fill="none"><path d="M18.08,0h-5.66C11.92,0,11.51.42,11.51.93s.41.93.92.93h2.8l-4.55,4.6c-.54.54-.54,1.42,0,1.97.54.54,1.41.54,1.95,0l4.55-4.6v2.83c0,.51.41.93.92.93s.92-.42.92-.93V.93C19,.41,18.59,0,18.08,0c0,0,0,0,0,0" fill="%23000000"/><path d="M16.13,9.97c-.54,0-.97.44-.97.98h0v5.11c0,.54-.43.97-.96.97H2.91c-.53,0-.96-.44-.96-.97V4.65c0-.54.43-.97.96-.97h4.67c.54,0,.97-.44.97-.98,0-.54-.43-.98-.97-.98H2.91C1.3,1.72,0,3.03,0,4.65v11.41c0,1.62,1.3,2.94,2.91,2.94h11.29c1.6,0,2.91-1.32,2.91-2.94v-5.11c0-.54-.44-.98-.97-.98h0" fill="%23000000"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: 0.5s ease-out;
}
@media (hover: hover) {
  header section nav .link_online-store:where(:any-link, :enabled, summary):hover::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19" fill="none"><path d="M18.08,0h-5.66C11.92,0,11.51.42,11.51.93s.41.93.92.93h2.8l-4.55,4.6c-.54.54-.54,1.42,0,1.97.54.54,1.41.54,1.95,0l4.55-4.6v2.83c0,.51.41.93.92.93s.92-.42.92-.93V.93C19,.41,18.59,0,18.08,0c0,0,0,0,0,0" fill="%23faf9f6"/><path d="M16.13,9.97c-.54,0-.97.44-.97.98h0v5.11c0,.54-.43.97-.96.97H2.91c-.53,0-.96-.44-.96-.97V4.65c0-.54.43-.97.96-.97h4.67c.54,0,.97-.44.97-.98,0-.54-.43-.98-.97-.98H2.91C1.3,1.72,0,3.03,0,4.65v11.41c0,1.62,1.3,2.94,2.91,2.94h11.29c1.6,0,2.91-1.32,2.91-2.94v-5.11c0-.54-.44-.98-.97-.98h0" fill="%23faf9f6"/></svg>');
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    transition: 0.3s ease-out;
  }
}
header section nav.box_nav_05 p {
  font-size: 12px;
  font-weight: 700;
  padding-left: 1.3em;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section nav.box_nav_05 p {
    display: none;
  }
}
header section nav.box_nav_05 a {
  font-weight: 400;
  font-size: 12px;
}
header section nav.box_nav_06 a {
  font-size: 1.1rem;
  position: relative;
}
header section nav.box_nav_06 a.tel {
  font-size: 1.6rem;
  padding-left: 2rem;
}
header section nav.box_nav_06 a.tel::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 1.6rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M20,15.4c-1.2,0-2.4-0.2-3.5-0.6c-0.4-0.1-0.7,0-1,0.2l-1.6,2c-2.8-1.3-5.5-3.9-6.9-6.8l2-1.7c0.3-0.3,0.4-0.7,0.2-1C8.8,6.4,8.6,5.2,8.6,4c0-0.5-0.4-1-1-1H4.2C3.7,3,3,3.2,3,4c0,9.3,7.7,17,17,17c0.7,0,1-0.6,1-1.2v-3.5C21,15.8,20.5,15.4,20,15.4z" fill="%23000000"/></svg>');
  aspect-ratio: 1/2;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
header section nav.box_nav_06 a.contact {
  font-size: 1.1rem;
  padding-left: 2rem;
}
header section nav.box_nav_06 a.contact::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  width: 1.6rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
@media (hover: hover) {
  header section nav.box_nav_06 a.contact:where(:any-link, :enabled, summary):hover::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
  }
}
header section .box_sns {
  font-size: 1em;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
  padding: 1rem;
}
header section .box_sns a {
  display: flex;
  align-items: center;
  gap: 0 1rem;
  padding-block: 4px;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section .box_sns a {
    gap: 0.6rem 0;
  }
}
header section .box_sns a svg {
  width: 1.6rem;
  aspect-ratio: 1;
  fill: #000000;
}
header section .box_sns a span {
  font-size: 1.1rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  header section .box_sns a span {
    font-size: 1.2rem;
  }
}
@media (hover: hover) {
  header section .box_sns a:where(:any-link, :enabled, summary):hover svg {
    fill: #ffffff;
  }
}

/*==========================================================
    footer(フッター)
==========================================================*/
footer {
  position: relative;
  font-size: 1em;
  width: 100%;
  border-image-source: url(../img/main_frame.webp);
  border-width: 6px 0 0 0;
  border-image-slice: 5;
  padding: 4em clamp(2rem, 6vw, 8rem) 3em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer {
    padding: 6vw 2rem 4vw;
  }
}
footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4.2em;
  background: url(../img/footer_object01.webp) no-repeat center center/contain;
  aspect-ratio: 1;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer::before {
    top: -4rem;
    width: 7rem;
  }
}
footer .block_top {
  position: relative;
  font-size: 1em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding-bottom: 4em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top {
    display: flex;
    flex-direction: column;
    padding-bottom: 4vw;
  }
}
footer .block_top .box_company {
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  gap: 0.2em 0;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company {
    gap: unset;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company.en p {
    font-size: 12px;
  }
}
footer .block_top .box_company.en address {
  font-size: 12px;
  text-align: center;
}
footer .block_top .box_company .wrap_logo {
  max-width: 10rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company .wrap_logo {
    max-width: unset;
    width: 9.3rem;
  }
}
footer .block_top .box_company p {
  font-size: max(12px, 0.875em);
  font-weight: 700;
  margin-top: 0.3em;
  display: flex;
  flex-direction: column;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company p {
    flex-direction: column;
    font-size: 1.4rem;
  }
}
footer .block_top .box_company p span {
  font-size: 1rem;
  margin-left: 0.5em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company p span {
    margin-left: unset;
    font-size: 0.8em;
  }
}
footer .block_top .box_company address {
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company address {
    font-size: 1.2rem;
    margin-top: 2vw;
    opacity: 0.7;
  }
}
footer .block_top .box_company address span {
  margin-right: 0.5em;
}
footer .block_top .box_company .tel {
  font-size: max(12px, 1.5em);
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 1em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_company .tel {
    font-size: 2rem;
    font-weight: 700;
    padding-left: 2.4rem;
    margin-top: 0.5rem;
  }
}
footer .block_top .box_company .tel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 53%;
  translate: 0 -50%;
  width: 1em;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none"><path d="M20,15.4c-1.2,0-2.4-0.2-3.5-0.6c-0.4-0.1-0.7,0-1,0.2l-1.6,2c-2.8-1.3-5.5-3.9-6.9-6.8l2-1.7c0.3-0.3,0.4-0.7,0.2-1C8.8,6.4,8.6,5.2,8.6,4c0-0.5-0.4-1-1-1H4.2C3.7,3,3,3.2,3,4c0,9.3,7.7,17,17,17c0.7,0,1-0.6,1-1.2v-3.5C21,15.8,20.5,15.4,20,15.4z" fill="%23000000"/></svg>');
  aspect-ratio: 1/2;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
footer .block_top .box_company .fax {
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}
footer .block_top .box_company .fax::before {
  content: "FAX";
  margin-right: 0.3em;
}
footer .block_top .box_company .wrap-ban {
  padding: 2rem 2rem 0 0;
}
footer .block_top .box_company .wrap-ban a {
  width: 100%;
}
footer .block_top .box_site-map {
  position: relative;
  font-size: 1em;
  padding-inline: 2em;
  display: flex;
  flex-direction: column;
  gap: 1em 0;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_site-map {
    border: unset;
    padding-inline: unset;
    gap: 2vw 0;
    margin-top: 6vw;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_site-map.en > nav {
    display: flex;
    justify-content: center;
    grid-template-columns: unset;
    gap: 0 6vw;
  }
}
footer .block_top .box_site-map > nav {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  font-size: 1em;
  gap: 0.8em 1em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_site-map > nav {
    display: grid;
    grid-template-columns: repeat(2, 9em);
    gap: 2vw;
    margin-bottom: 2vw;
  }
}
footer .block_top .box_site-map > nav a {
  font-size: 12px;
  letter-spacing: 0.08em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_site-map > nav a {
    display: flex;
    font-size: 1.2rem;
  }
}
footer .block_top .box_site-map > a {
  max-width: 28rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_site-map > a {
    max-width: unset;
    width: 28rem;
  }
}
footer .block_top .box_link {
  position: relative;
  font-size: 1em;
  padding-inline: 2em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_link {
    padding-inline: 4vw;
    margin-top: 6vw;
  }
}
footer .block_top .box_link nav {
  font-size: 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_top .box_link nav {
    gap: 2vw 2vw;
    max-width: 26rem;
    align-items: flex-start;
  }
}
footer .block_top .box_link nav a {
  max-width: 8rem;
}
footer .block_top .box_link nav a.ban_pinkribbon {
  width: 3rem;
}
footer .block_top .box_link nav a img {
  filter: saturate(0);
}
@media (hover: hover) {
  footer .block_top .box_link nav a:where(:any-link, :enabled, summary):hover img {
    filter: saturate(100%);
  }
}
footer .block_bottom {
  position: relative;
  font-size: 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #cccccc;
  padding-top: 2.6em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_bottom {
    flex-direction: column;
    padding-top: 3rem;
    align-items: flex-start;
    gap: 2vw 0;
  }
  footer .block_bottom.en .copyright {
    width: stretch;
    margin-inline: 4vw;
    margin-bottom: 6vw;
  }
}
footer .block_bottom::after {
  content: "";
  position: absolute;
  width: 2.6rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 218 228" fill="%23f25c47"><path d="M128.34,134.01c.52-7.6.9-13.81,1.4-20.02.21-2.61,1.91-3.57,4.13-2.38,9.4,5.04,19.44,9.29,27.87,15.65,8.58,6.47,15.73,14.9,23.17,22.78,7.87,8.34,15.3,17.1,23.05,25.55,2.3,2.51,2.58,3.82,1.01,7.66-3.64,8.94-9.51,7.46-16.73,7.09-13.08-.67-22.01-9.2-32.6-14.78-13.77-7.26-21.27-20.1-29.88-31.91-1.93-2.64-1.13-7.27-1.42-9.65Z"/><path d="M185.31,118.47c-14.24-.4-27.06-4.38-36.99-15.16-4.51-4.89-3.81-11.82.88-15.76,7.26-6.11,14.3-12.48,21.47-18.71,2.48-2.15,4.83-4.57,7.63-6.2,6.31-3.66,12.96-5.72,20.09-1.94.72.38,1.51.77,2.3.88,11.34,1.52,14.59,10.39,17.12,19.47.64,2.29-.35,5.6-1.67,7.78-5.26,8.68-10.7,17.27-16.64,25.49-1.55,2.14-5.03,3.15-7.83,4.04-1.94.61-4.22.12-6.35.12ZM182.75,93.73c7.41,0,9.61-1.48,10.23-6.88.4-3.5-4.82-10.19-7.47-9.26-5.16,1.82-9.35,5.02-10.8,10.6-.82,3.16.15,5.6,4.09,5.55,1.31-.02,2.63,0,3.94-.01Z"/><path d="M138.73,97.84c-.28,7.66-4.18,10.17-9.81,6.81-17.57-10.47-35.02-21.13-52.51-31.74-.54-.33-1.16-.77-1.42-1.31-4.84-10.08-12.41-18.84-12.94-30.98-.39-8.81-2.85-17.51-3.89-26.32-.47-4,.11-8.15.59-12.19.1-.85,2.14-2.32,2.83-2.1,4.17,1.35,8.32,2.61,10.64,7.17,6.45,12.72,13.06,25.37,19.94,37.87,6.61,12.02,13.29,23.79,25.5,31.72,7.32,4.75,13.11,11.87,19.48,18.04.96.93,1.32,2.48,1.6,3.02Z"/><path d="M77.67,108.26c-9.91,0-19.69-.08-29.46.04-4.35.05-7.94-1.15-11.04-4.32-10.71-10.92-21.48-21.78-32.36-32.53-3.08-3.04-6.77-6.89-3.58-10.37,2.44-2.67,7.99-3.78,11.95-3.43,4.88.44,9.55,3.15,14.33,4.83,5.27,1.86,10.46,4.04,15.85,5.46,17.61,4.64,31.63,15.66,46.17,25.72,1.87,1.29,3.47,3.61,4.18,5.78,1.19,3.66-1.19,6.92-4.96,7.49-3.72.56-7.47.9-11.09,1.32Z"/><path d="M135.91,74.12c-3.39-1.9-6.55-4.61-10.15-5.47-5.16-1.24-4.8-5.02-5.61-8.58-1.45-6.4-3.3-12.72-4.37-19.18-.36-2.17.49-5.17,1.9-6.87,3.76-4.55,8.21-8.51,12.22-12.86,2.73-2.96,5.83-3.9,9.73-3.13,4.98.98,10.05,1.51,15.01,2.55,7.53,1.59,13.34,6.21,18.48,11.58,1.1,1.15,1.5,3.8,1.06,5.45-1.24,4.73-2.52,9.61-4.83,13.86-2.44,4.48-5.8,8.57-9.27,12.35-6.31,6.87-15.7,6.55-24.17,10.3ZM135.26,47.61c-.25.11-.51.21-.76.32.97,2.61,1.21,6.31,3.09,7.6,3.16,2.17,6.91.93,9.67-2.09.32-.35.84-.51,1.27-.75,2.73-1.53,2.77-3.43.7-5.54-2.07-2.11-4.09-4.29-6.32-6.21-1.08-.94-3.07-2.25-3.83-1.85-1.56.83-2.91,2.53-3.7,4.18-.57,1.19-.11,2.88-.11,4.34Z"/><path d="M158.73,227.99c-6.7.18-11.56-1.92-15.68-5.69-13.07-11.97-26.21-23.88-38.94-36.2-2.63-2.54-4.15-6.59-5.33-10.22-4.33-13.42.86-25.89,4.7-38.34,2.07-6.71,5.65-7.29,10.02-1.71,2.2,2.81,3.18,6.66,4.37,10.16,1.99,5.85,2.83,12.27,5.69,17.63,10.56,19.72,21.76,39.1,32.68,58.63.86,1.53,1.41,3.24,2.49,5.75Z"/><path d="M74.79,144.35c-8.39,17.35-26.8,28.79-44.09,27.1.38-1.25.58-2.45,1.1-3.5,6.06-12.21,16.4-20.79,25.94-29.99,1.06-1.02,4.13-.93,5.73-.2,3.84,1.76,7.36,4.22,11.31,6.58Z"/><path d="M100.68,135.05c-6.8,2.24-13.22,4.91-19.91,6.25-2.15.43-5.03-2.58-7.5-4.13-1.23-.77-2.19-2.01-3.46-2.67-5.5-2.83-5.9-3.68-1.37-7.7,4.24-3.77,8.93-7.14,13.82-10.01,1.35-.79,4.95.15,6.08,1.49,4.14,4.9,7.68,10.32,12.34,16.77Z"/><path d="M95.07,111.94c.17-4.46,7.37-13.03,11.27-13.22,1.89-.09,3.98,1.13,5.75,2.15,2.62,1.51,5.07,3.34,7.54,5.11.76.54,1.69,1.2,1.97,2.01,1.83,5.27-5.42,16.33-11,16.67-1.36.08-3.04-.43-4.11-1.27-3.72-2.91-7.3-6.03-10.79-9.21-.6-.54-.53-1.82-.64-2.24Z"/></svg>');
  aspect-ratio: 1/1.459;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  opacity: 0.7;
  right: 1rem;
  bottom: calc(100% - 1.4rem);
  rotate: -50deg;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_bottom::after {
    bottom: calc(100% - 3.6rem);
  }
}
footer .block_bottom .copyright {
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  line-height: 1.6em;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_bottom .copyright {
    font-size: 1rem;
    letter-spacing: unset;
    letter-spacing: 0.08em;
    line-height: 1.8em;
  }
}
footer .block_bottom .copyright_en {
  position: relative;
  font-size: 1rem;
  letter-spacing: 0.08em;
  line-height: 1.6em;
  color: rgba(20, 20, 24, 0.7);
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_bottom .copyright_en {
    letter-spacing: unset;
  }
}
footer .block_bottom .copyright_en::after {
  content: "";
  position: absolute;
  width: 2.6rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 218 228" fill="%23f25c47"><path d="M128.34,134.01c.52-7.6.9-13.81,1.4-20.02.21-2.61,1.91-3.57,4.13-2.38,9.4,5.04,19.44,9.29,27.87,15.65,8.58,6.47,15.73,14.9,23.17,22.78,7.87,8.34,15.3,17.1,23.05,25.55,2.3,2.51,2.58,3.82,1.01,7.66-3.64,8.94-9.51,7.46-16.73,7.09-13.08-.67-22.01-9.2-32.6-14.78-13.77-7.26-21.27-20.1-29.88-31.91-1.93-2.64-1.13-7.27-1.42-9.65Z"/><path d="M185.31,118.47c-14.24-.4-27.06-4.38-36.99-15.16-4.51-4.89-3.81-11.82.88-15.76,7.26-6.11,14.3-12.48,21.47-18.71,2.48-2.15,4.83-4.57,7.63-6.2,6.31-3.66,12.96-5.72,20.09-1.94.72.38,1.51.77,2.3.88,11.34,1.52,14.59,10.39,17.12,19.47.64,2.29-.35,5.6-1.67,7.78-5.26,8.68-10.7,17.27-16.64,25.49-1.55,2.14-5.03,3.15-7.83,4.04-1.94.61-4.22.12-6.35.12ZM182.75,93.73c7.41,0,9.61-1.48,10.23-6.88.4-3.5-4.82-10.19-7.47-9.26-5.16,1.82-9.35,5.02-10.8,10.6-.82,3.16.15,5.6,4.09,5.55,1.31-.02,2.63,0,3.94-.01Z"/><path d="M138.73,97.84c-.28,7.66-4.18,10.17-9.81,6.81-17.57-10.47-35.02-21.13-52.51-31.74-.54-.33-1.16-.77-1.42-1.31-4.84-10.08-12.41-18.84-12.94-30.98-.39-8.81-2.85-17.51-3.89-26.32-.47-4,.11-8.15.59-12.19.1-.85,2.14-2.32,2.83-2.1,4.17,1.35,8.32,2.61,10.64,7.17,6.45,12.72,13.06,25.37,19.94,37.87,6.61,12.02,13.29,23.79,25.5,31.72,7.32,4.75,13.11,11.87,19.48,18.04.96.93,1.32,2.48,1.6,3.02Z"/><path d="M77.67,108.26c-9.91,0-19.69-.08-29.46.04-4.35.05-7.94-1.15-11.04-4.32-10.71-10.92-21.48-21.78-32.36-32.53-3.08-3.04-6.77-6.89-3.58-10.37,2.44-2.67,7.99-3.78,11.95-3.43,4.88.44,9.55,3.15,14.33,4.83,5.27,1.86,10.46,4.04,15.85,5.46,17.61,4.64,31.63,15.66,46.17,25.72,1.87,1.29,3.47,3.61,4.18,5.78,1.19,3.66-1.19,6.92-4.96,7.49-3.72.56-7.47.9-11.09,1.32Z"/><path d="M135.91,74.12c-3.39-1.9-6.55-4.61-10.15-5.47-5.16-1.24-4.8-5.02-5.61-8.58-1.45-6.4-3.3-12.72-4.37-19.18-.36-2.17.49-5.17,1.9-6.87,3.76-4.55,8.21-8.51,12.22-12.86,2.73-2.96,5.83-3.9,9.73-3.13,4.98.98,10.05,1.51,15.01,2.55,7.53,1.59,13.34,6.21,18.48,11.58,1.1,1.15,1.5,3.8,1.06,5.45-1.24,4.73-2.52,9.61-4.83,13.86-2.44,4.48-5.8,8.57-9.27,12.35-6.31,6.87-15.7,6.55-24.17,10.3ZM135.26,47.61c-.25.11-.51.21-.76.32.97,2.61,1.21,6.31,3.09,7.6,3.16,2.17,6.91.93,9.67-2.09.32-.35.84-.51,1.27-.75,2.73-1.53,2.77-3.43.7-5.54-2.07-2.11-4.09-4.29-6.32-6.21-1.08-.94-3.07-2.25-3.83-1.85-1.56.83-2.91,2.53-3.7,4.18-.57,1.19-.11,2.88-.11,4.34Z"/><path d="M158.73,227.99c-6.7.18-11.56-1.92-15.68-5.69-13.07-11.97-26.21-23.88-38.94-36.2-2.63-2.54-4.15-6.59-5.33-10.22-4.33-13.42.86-25.89,4.7-38.34,2.07-6.71,5.65-7.29,10.02-1.71,2.2,2.81,3.18,6.66,4.37,10.16,1.99,5.85,2.83,12.27,5.69,17.63,10.56,19.72,21.76,39.1,32.68,58.63.86,1.53,1.41,3.24,2.49,5.75Z"/><path d="M74.79,144.35c-8.39,17.35-26.8,28.79-44.09,27.1.38-1.25.58-2.45,1.1-3.5,6.06-12.21,16.4-20.79,25.94-29.99,1.06-1.02,4.13-.93,5.73-.2,3.84,1.76,7.36,4.22,11.31,6.58Z"/><path d="M100.68,135.05c-6.8,2.24-13.22,4.91-19.91,6.25-2.15.43-5.03-2.58-7.5-4.13-1.23-.77-2.19-2.01-3.46-2.67-5.5-2.83-5.9-3.68-1.37-7.7,4.24-3.77,8.93-7.14,13.82-10.01,1.35-.79,4.95.15,6.08,1.49,4.14,4.9,7.68,10.32,12.34,16.77Z"/><path d="M95.07,111.94c.17-4.46,7.37-13.03,11.27-13.22,1.89-.09,3.98,1.13,5.75,2.15,2.62,1.51,5.07,3.34,7.54,5.11.76.54,1.69,1.2,1.97,2.01,1.83,5.27-5.42,16.33-11,16.67-1.36.08-3.04-.43-4.11-1.27-3.72-2.91-7.3-6.03-10.79-9.21-.6-.54-.53-1.82-.64-2.24Z"/></svg>');
  aspect-ratio: 1/1.459;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  opacity: 0.7;
  right: 0;
  bottom: calc(100% - 1rem);
  rotate: -40deg;
}
@media (max-width: 500px) and (orientation: portrait) {
  footer .block_bottom .copyright_en::after {
    bottom: calc(100% - 2rem);
  }
}

/*=========================================
サイトHEADブロック
-----------------------------------------*/
.containerSiteHead {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 6rem;
  width: 100%;
  border-image-source: url(../img/main_frame.webp);
  border-width: 0 0 5px 0;
  border-image-slice: 5;
}
@media (max-width: 834px) and (orientation: portrait) {
  .containerSiteHead {
    display: none !important;
  }
}
.containerSiteHead::before {
  content: "";
  position: absolute;
  top: -2rem;
  left: -5px;
  width: 16.5rem;
  height: 82px;
  background: url(../img/containerSiteHead-illust.webp) no-repeat center center/contain;
}
.containerSiteHead > div {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.containerSiteHead > div:not(:has(.breadcrumb)) {
  justify-content: flex-end;
}
.containerSiteHead > div .breadcrumb {
  font-size: 1.2rem;
  font-weight: 700;
  margin-left: 5rem;
  letter-spacing: 0.12em;
}
.containerSiteHead > div > nav {
  display: flex;
  align-items: center;
  gap: 0 2rem;
  padding: 0.8rem 2rem;
  justify-self: flex-end;
}
.containerSiteHead > div > nav a {
  position: relative;
  font-size: 1.1rem;
  font-weight: 700;
}
.containerSiteHead > div > nav a.link_availability {
  background-color: #000;
  color: #fff;
  padding: 1.2em 2.8rem;
  border: 1px solid #000;
  transition: 0.3s ease-out;
}
@media (hover: hover) {
  .containerSiteHead > div > nav a.link_availability:where(:any-link, :enabled, summary):hover {
    background-color: transparent;
    color: #000;
  }
}
.containerSiteHead > div > nav a.link_login {
  padding: 1.1rem 1rem 1.1rem 3.6rem;
  transition: 0.3s ease-out;
}
.containerSiteHead > div > nav a.link_login::before {
  transition: 0.3s ease-out;
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 2.4rem;
  aspect-ratio: 1;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23000000"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  right: calc(100% - 2.4rem);
}
.containerSiteHead > div > nav a.link_login::after {
  transition: 0.3s ease-out;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: calc(100% + 1rem);
  height: 100%;
}
@media (hover: hover) {
  .containerSiteHead > div > nav a.link_login:where(:any-link, :enabled, summary):hover {
    color: #fff;
    z-index: 1;
  }
  .containerSiteHead > div > nav a.link_login:where(:any-link, :enabled, summary):hover::after {
    z-index: -1;
    background-color: #000;
  }
  .containerSiteHead > div > nav a.link_login:where(:any-link, :enabled, summary):hover::before {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/><path d="M0 0h24v24H0z" fill="none"/></svg>');
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    z-index: 1;
  }
}

/* =======================================
 * _mixin
 * Created: 2025-04-1
 * Last updated: 2025-04-05
 * ======================================= */
/*=========================================
H2ブロック
-----------------------------------------*/
/*=========================================
黒飾り枠
-----------------------------------------*/
/*=========================================
袋文字
-----------------------------------------*/
/*==========================================================
  main
==========================================================*/
main .inner_main {
  position: relative;
  flex-grow: 1;
  padding-top: 5px;
  padding-top: 5px;
  display: flex;
  flex-direction: column;
  font-size: 1em;
}
@media (max-width: 834px) and (orientation: portrait) {
  main .inner_main {
    padding-inline: 0;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main {
    gap: 0;
    padding-top: unset;
  }
}
main .inner_main > nav {
  position: relative;
  font-size: inherit;
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: center;
  gap: 0 2em;
  margin-top: 2em;
  display: none;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main > nav {
    grid-template-columns: repeat(2, 1fr);
    margin-inline: 2vw;
    gap: 0 4vw;
    margin-top: 4vw;
  }
}
main .inner_main > nav a {
  position: relative;
  font-size: max(12px, 1.5em);
  font-weight: 600;
  position: relative;
  display: grid;
  place-items: center;
  border: 1px solid #335d95;
  height: 2.3em;
  width: 16em;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main > nav a {
    width: stretch;
    font-size: max(12px, 1.125em);
  }
}
main .inner_main > nav a.is-active {
  color: #fff;
  background-color: #335d95;
}
main .inner_main > nav a.is-active::before {
  content: "";
  position: absolute;
  left: 50%;
  translate: -50%;
  top: 100%;
  width: 0.8em;
  aspect-ratio: 1/0.85;
  background-color: #335d95;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
main .inner_main section {
  padding: 5em 3em;
  display: flex;
  flex-direction: column;
  width: stretch;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main section {
    padding: 6vw 2vw;
  }
}
main .inner_main section h3 {
  font-size: max(12px, 1.5em);
  font-weight: 700;
  align-self: center;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main section h3 {
    font-size: max(12px, 1.25em);
  }
}
main .inner_main section .h3_sidebar {
  font-size: max(12px, 0.875em);
  margin-top: 1em;
  display: flex;
  align-self: center;
  align-items: center;
}
main .inner_main section .h3_sidebar span {
  font-size: inherit;
  display: block;
  font-size: 1em;
  margin-right: 0.1em;
}
main .inner_main section .h3_sidebar span img {
  width: 2.2rem;
  object-fit: contain;
}
main .inner_main .containerSiteHead {
  padding: 0;
  padding-inline: 8px;
}
main .inner_main .container-h2-block {
  display: flex;
  flex-direction: column;
  color: #fff;
  padding: 4em;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container-h2-block {
    padding: 6vw;
  }
}
main .inner_main .container-h2-block::before, main .inner_main .container-h2-block::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: -1;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
}
main .inner_main .container-h2-block::before {
  background: url(../img/h2_bg.webp) no-repeat center center/cover;
}
main .inner_main .container-h2-block::after {
  background-color: #686154;
  mix-blend-mode: multiply;
}
main .inner_main .container-h2-block h2 {
  font-size: max(12px, 1.9375em);
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container-h2-block h2 {
    font-size: max(12px, 1.75em);
  }
}
main .inner_main .container-h2-block .h2_sidebar {
  font-size: max(12px, 0.875em);
  font-weight: 700;
  margin-top: 2em;
  letter-spacing: 0.08em;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container-h2-block .h2_sidebar {
    margin-top: 2vw;
  }
}
main .inner_main .container_pdf {
  display: flex;
  flex-direction: column;
  padding-bottom: 5em;
  padding-top: 0;
  padding-inline: 5px;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_pdf {
    padding-inline: 4vw;
    gap: 8vw 0;
    padding-bottom: 6vw;
  }
}
main .inner_main .container_pdf > article {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
}
main .inner_main .container_pdf > article h3 {
  font-size: max(12px, 1.5em);
  font-weight: 700;
}
main .inner_main .container_pdf > article .h3_sidebar {
  font-size: max(12px, 0.875em);
  margin-top: 1em;
}
main .inner_main .container_pdf > article > a {
  border: 5px solid #141418;
  font-size: 1em;
  width: 100%;
  max-width: 128rem;
}
main .inner_main .container_pdf > article > a img {
  width: 100%;
}
main .inner_main .container_realtime {
  padding-top: 0;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime {
    padding-top: unset;
  }
  main .inner_main .container_realtime .h3_sidebar {
    max-width: 15em;
    flex-wrap: wrap;
  }
  main .inner_main .container_realtime .h3_sidebar.lang-en {
    max-width: 23em;
  }
}
main .inner_main .container_realtime .box_date {
  font-size: inherit;
  display: flex;
  justify-content: center;
  background-color: #141418;
  color: #fff;
  align-self: center;
  padding: 0.5em 2em;
  margin-top: 1em;
}
main .inner_main .container_realtime .box_date time {
  font-size: max(12px, 1.5em);
  font-weight: 600;
  display: flex;
  gap: 0 1em;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime .box_date time {
    font-size: max(12px, 1.25em);
  }
}
main .inner_main .container_realtime .box-map {
  display: none;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime .box-map {
    display: block;
    margin-top: 1em;
  }
}
main .inner_main .container_realtime .box-notice {
  display: flex;
  font-size: inherit;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 1em;
  gap: 1em;
}
main .inner_main .container_realtime .box-notice .wrap-icon {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 0.8em 1em;
  font-size: inherit;
  padding: 1em 2em;
  border: solid 1px #141418;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime .box-notice .wrap-icon {
    grid-template-columns: repeat(3, auto);
    width: 100%;
    margin-bottom: 1em;
    padding: 1em;
  }
}
main .inner_main .container_realtime .box-notice .wrap-icon li {
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  font-size: max(12px, 1em);
}
main .inner_main .container_realtime .box-notice .wrap-icon li::before {
  content: "";
  width: 3rem;
  min-width: 3rem;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-bath::before {
  aspect-ratio: 1;
  background: url(../img/live/icons/bath.webp) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-shower::before {
  aspect-ratio: 1;
  background: url(../img/live/icons/shower.webp) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-soap::before {
  aspect-ratio: 1;
  background: url(../img/live/icons/soap.webp) no-repeat center center/contain;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime .box-notice .wrap-icon li.icon-shampoo {
    grid-column: span 3;
  }
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-shampoo::before {
  aspect-ratio: 1;
  background: url(../img/live/icons/shampoo.webp) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker {
  grid-column: span 3;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker:not(.lang-en) {
    grid-column: span 2;
  }
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker::before {
  aspect-ratio: 1;
  background: url(../img/live/icons/locker.webp) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div {
  display: flex;
  gap: 0 0.2em;
  font-size: inherit;
  translate: 0 0.1em;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div span {
  font-size: 0.8em;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div span:not(:last-of-type)::after {
  content: "/";
  font-size: inherit;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div span:not(:first-of-type) {
  display: flex;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div span:not(:first-of-type)::before {
  content: "";
  width: 1.6rem;
  min-width: 1.6rem;
  margin-right: 0.1em;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div span.paid::before {
  aspect-ratio: 1;
  background: url(../img/live/icon-yen.png) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-locker div span.returnable::before {
  aspect-ratio: 1;
  background: url(../img/live/icon-returnable.webp) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-icon li.icon-parking::before {
  aspect-ratio: 1;
  background: url(../img/live/icons/parking.webp) no-repeat center center/contain;
}
main .inner_main .container_realtime .box-notice .wrap-notice {
  display: flex;
  align-items: center;
  gap: 0 1em;
  font-size: inherit;
}
main .inner_main .container_realtime .box-notice .wrap-notice .qr-code {
  width: 11rem;
  min-width: 11rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime .box-notice .wrap-notice .qr-code {
    display: none;
  }
}
main .inner_main .container_realtime .box-notice .wrap-notice p {
  font-size: max(12px, 1em);
  max-width: 38em;
  line-height: 1.6em;
  letter-spacing: 0.04em;
  color: #ff0000;
}
main .inner_main .container_realtime > ul {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  font-size: inherit;
  margin-top: 2em;
  width: 100%;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul {
    display: flex;
    flex-direction: column;
  }
}
main .inner_main .container_realtime > ul > li {
  position: relative;
  font-size: inherit;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.16);
  padding: 2rem 2rem 1rem;
  container-type: inline-size;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li {
    display: grid;
    grid-template-columns: 48vw 1fr;
    padding: 2vw;
    gap: 0 4vw;
    container-type: unset;
  }
}
main .inner_main .container_realtime > ul > li h4 {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  font-size: min(9cqw, 2.6rem);
  justify-self: start;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  position: relative;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li h4 {
    grid-column: span 2;
    font-size: max(12px, 1.375em);
  }
}
main .inner_main .container_realtime > ul > li h4 span {
  position: absolute;
  top: calc(100% - 0.1em);
  left: 0;
  font-size: 1em;
  width: max-content;
  display: none;
}
main .inner_main .container_realtime > ul > li h4::before {
  content: attr(data-number);
  display: grid;
  place-items: center;
  color: #fff;
  background-color: #e95513;
  font-family: "Roboto", "Noto Sans JP", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 400;
  font-style: normal;
  width: 4.2rem;
  aspect-ratio: 1;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li h4::before {
    width: 9vw;
  }
}
main .inner_main .container_realtime > ul > li h4.lang-en {
  font-size: min(7cqw, 2.6rem);
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li h4.lang-en {
    font-size: max(12px, 1.375em);
  }
}
main .inner_main .container_realtime > ul > li .text-contents {
  flex: 1;
  font-size: max(12px, 1em);
  text-align: justify;
  margin-top: 1em;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .text-contents {
    margin-top: 2vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen {
  display: flex;
  justify-content: center;
  font-size: inherit;
  justify-content: center;
  gap: 0 20cqw;
  margin-top: 1rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen {
    margin-top: unset;
    width: stretch;
    gap: 0 4vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen.yamanoyu {
  display: flex;
  justify-content: center;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span {
  position: relative;
  font-size: inherit;
  display: flex;
  justify-content: space-between;
  min-height: 7rem;
  width: 13rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span {
    width: 18vw;
    min-height: 10vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen span:nth-of-type(2)::after {
  content: "";
  position: absolute;
  left: -10cqw;
  top: 50%;
  translate: 0 -50%;
  width: 1px;
  background-color: #141418;
  height: 80%;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span:nth-of-type(2)::after {
    left: -2vw;
    height: 8vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen span .gender-item {
  position: relative;
  font-size: inherit;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span .gender-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span .icon-status {
  position: relative;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span .icon-status::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  width: 18cqw;
  max-width: 7rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span .icon-status::after {
    width: 8vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.men .gender-item::before {
  width: 16cqw;
  max-width: 4rem;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39 41" fill="%23000000"><path d="M12.19,21.44l-7.29-.09-.52.28c-.66-3.55-.99-7.15-.99-10.77-.1-4.58-.14-8.2-.14-10.86l27.95.23c2.19-.12,4.39.05,6.54.52l-.8,6.38c.25,6.54.4,10.26.45,11.18-.06,1.21-.53,2.36-1.34,3.26l-1.22.14-2.82-.14-10.26-.09.71,1.45-1.74,1.41h6.26l10.16-.28,1.88.94-.75,5.21-.8,5.3v4.36l-.23.61-9.03.52-2.07-.89-2.45-3.42,6.4-.47.24-1.5,1.36-4.69-3.01-.05h-6.96l-2.45.28c-1.6,1.38-3.23,2.9-4.89,4.58s-3.23,3.25-4.7,4.72l-1.55.75c-3.64-.32-6.33-1.05-8.09-2.21l.99-1.08c1.51-.64,2.96-1.41,4.33-2.3,1.2-.79,2.29-1.74,3.25-2.81l2.12-1.6h-1.04l-5.27.1-.38-.19c-1.37-1.64-2.42-3.52-3.11-5.54l.99-.28,6.21.23,4.38-.09c.35-.64.66-1.3.94-1.97.13-.37.24-.74.33-1.13h-1.55ZM8.61,15.39c1.44.19,4.36.34,8.75.47-.13-.44-.21-.9-.23-1.36l.19-1.08h-2.63l-4.75.47c-.36-.15-.74-.21-1.13-.19l-.19,1.69ZM11.71,5.77l-2.54-.05-.19,2.58h8.33v-1.59l.23-1.22h-.56l-5.27.28ZM31.71,6l.14-.14-6.96-.19-1.13.75v2.01l7.15.14h.8v-2.58ZM31.66,16.14v-2.72h-4.89l-2.87-.19v2.77c2.92.06,5.5.11,7.76.14"/></svg>');
  aspect-ratio: 39/41;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span.men .gender-item::before {
    width: 7vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.women .gender-item::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45 45" fill="%23000000"><path d="M13,45c-1.55-.63-3-1.47-4.31-2.5-1.38-1.08-2.75-2.08-4.11-3.01v-.5c1.96-.56,3.99-1.04,6.1-1.44,2.39-.5,4.7-1.33,6.85-2.48l-6.98-3.57-1.34-3.27c1.38-1.78,2.38-3.82,2.94-6h-.55l-8.07.69-.5-.2L0,14.44c2.59,0,5.03-.1,7.32-.3s4.44-.3,6.43-.3c1.06-2.27,1.84-4.65,2.34-7.09.45-2.28,1.03-4.53,1.74-6.75h.5l4.98,3.08c.88.86,1.43,2,1.54,3.23l-2.59,7.39h8.07l.15-1.04h1.4c1.99.93,4.18,1.35,6.38,1.22,2.17-.14,4.35.26,6.33,1.17.37,2.1.48,4.23.35,6.35l-1,.35v.35h-2.6l-6.73-.35c-.8,2.28-1.51,4.61-2.14,7-.64,2.4-1.7,4.67-3.14,6.7,2.06,1.13,4.22,2.39,6.48,3.8,2.26,1.41,4.37,2.79,6.33,4.14l.15.69h-7.87l-3.64.35c-2.16-1.36-4.65-2.88-7.47-4.57l-10.31,5.15ZM23.47,31.65c1.6-1.1,2.84-2.66,3.54-4.47.64-1.74,1.19-3.51,1.64-5.31h-7.72l-1.79.1-3.04,6.25,7.22,3.57.14-.15Z"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 17cqw;
  max-width: 5rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span.women .gender-item::before {
    width: 8vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.yamanoyu {
  width: 7rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span.yamanoyu {
    width: 10vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.yamanoyu .gender-item {
  display: none;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.yamanoyu .icon-status::after {
  right: unset;
  left: 0;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.status-rank01 .icon-status::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 68" fill="%2321649d"><path d="M34,68C15.25,68,0,52.75,0,34S15.25,0,34,0s34,15.25,34,34-15.25,34-34,34ZM34,4c-16.54,0-30,13.46-30,30s13.46,30,30,30,30-13.46,30-30S50.54,4,34,4Z"/></svg>');
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.status-rank02 .icon-status::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 67 58" fill="%23ff8900"><path d="M33.5,5.24L5.01,53.79h56.98L33.5,5.24M33.5,0c1.06,0,2.12.52,2.73,1.56l30.33,51.68c1.24,2.11-.28,4.76-2.73,4.76H3.17c-2.44,0-3.97-2.65-2.73-4.76L30.77,1.56c.61-1.04,1.67-1.56,2.73-1.56Z"/></svg>');
  aspect-ratio: 64/58;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.status-rank03 i::after {
  aspect-ratio: 1;
  background: url(../img/icon_busy02.svg) no-repeat center center/contain;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.status-rank04 i::after {
  aspect-ratio: 1;
  background: url(../img/icon_full.svg) no-repeat center center/contain;
}
main .inner_main .container_realtime > ul > li .box-status-onsen span.is-inactive i::after {
  width: 17cqw;
  max-width: 4.4rem;
  height: 4px;
  background-color: #707070;
  border-radius: 100vmax;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen span.is-inactive i::after {
    width: 6vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  gap: 0.5em 0;
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span .gender-item {
  display: flex;
  justify-content: center;
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span .gender-item::before {
  top: unset;
  position: relative;
  top: unset;
  left: unset;
  translate: unset;
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span .icon-status {
  display: flex;
  justify-content: center;
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span .icon-status::after {
  right: unset;
  position: relative;
  top: unset;
  left: unset;
  translate: unset;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span .icon-status::after {
    width: 10vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span.men .gender-item {
  display: flex;
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span.men .gender-item::before {
  width: 22cqw;
  max-width: 5rem;
  background: url(../../assets/img/nyuyoku_man_en.svg) no-repeat center center/contain;
  aspect-ratio: 60/32;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span.men .gender-item::before {
    width: 10vw;
  }
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span.women .gender-item {
  display: flex;
}
main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span.women .gender-item::before {
  width: 36cqw;
  max-width: 8rem;
  background: url(../../assets/img/nyuyoku_woman_en.svg) no-repeat center center/contain;
  aspect-ratio: 86/28;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-status-onsen.lang-en span.women .gender-item::before {
    width: 16vw;
  }
}
main .inner_main .container_realtime > ul > li .status-text {
  font-size: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 25rem;
  height: 8rem;
  background-color: #d9d9d9;
  border-radius: 1rem;
  align-self: center;
  justify-content: center;
  margin-top: 1rem;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .status-text {
    margin-top: unset;
  }
}
main .inner_main .container_realtime > ul > li .status-text p {
  font-size: max(12px, 1.125em);
  font-weight: 600;
  letter-spacing: 0.02em;
}
main .inner_main .container_realtime > ul > li .status-text span {
  font-size: max(12px, 0.875em);
  font-weight: 600;
  letter-spacing: 0.02em;
}
main .inner_main .container_realtime > ul > li .box-bottom {
  position: relative;
  font-size: inherit;
  display: flex;
  justify-content: space-between;
  grid-column: span 2;
  margin-top: 1rem;
  align-items: center;
  gap: 0 5cqw;
}
@media (max-width: 1330px) {
  main .inner_main .container_realtime > ul > li .box-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5em 0;
  }
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-bottom {
    flex-direction: unset;
    align-items: center;
    gap: 0 5cqw;
  }
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price {
  font-size: inherit;
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid;
  border-radius: 5px;
  padding: 5px;
}
@media (max-width: 1330px) {
  main .inner_main .container_realtime > ul > li .box-bottom .wrap-price {
    align-self: center;
  }
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price::before {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: 0.8rem;
  width: 1.5rem;
  aspect-ratio: 1;
  background: url(../img/live/icon-yen.png) no-repeat center center/contain;
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price span {
  font-size: max(12px, 1em);
  margin-left: 1.2em;
  width: max-content;
  font-weight: 600;
}
@media (max-width: 500px) and (orientation: portrait) {
  main .inner_main .container_realtime > ul > li .box-bottom .wrap-price span {
    margin-left: 1.6em;
  }
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price span::before {
  content: "入浴料";
  font-size: 0.8em;
  font-weight: 500;
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price span::after {
  content: "円";
  font-size: 0.8em;
  font-weight: 500;
  margin-left: 0.15em;
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price span.lang-en::before {
  content: "JPY.";
}
main .inner_main .container_realtime > ul > li .box-bottom .wrap-price span.lang-en::after {
  content: "";
}
main .inner_main .container_realtime > ul > li .box-bottom .icon-image {
  font-size: inherit;
  flex-shrink: 1;
}
main .inner_main .container_realtime > ul > li .box-bottom .icon-image img {
  height: 3.4rem;
  object-fit: contain;
}

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