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

/* ============================================================
   CSS カスタムプロパティ
   ============================================================ */
:root {
  /* ボタン */
  --color_btn:      #a09577;
  --color_btn_text: #ffffff;

  /* アクセント */
  --color_accent:   #77acfd;

  /* ゴールド系（ダークテーマ共通） */
  --gold_border:    rgba(159, 147, 117, 0.4);   /* ボーダー標準 */
  --gold_border_md: rgba(159, 147, 117, 0.6);   /* ボーダー強め */
  --gold_border_sm: rgba(159, 147, 117, 0.2);   /* ボーダー薄め */
  --gold_bg:        rgba(160, 149, 119, 0.1);   /* 背景薄 */
  --gold_bg_md:     rgba(160, 149, 119, 0.15);  /* 背景中 */
  --gold_bg_dark:   rgba(69,  68,  66,  0.7);   /* クーポン・料金ボックス背景 */
  --gold_text:      #9f9375;                     /* ラベル・小見出し */
  --gold_text_lt:   #d4c9a8;                     /* 明るめゴールド */
  --gold_value:     #93835c;                     /* 金額・h2タイトル */

  /* テキスト（ダーク背景上） */
  --text_primary:   #e0dbd0;   /* 値・本文 */
  --text_secondary: #c8c0a8;   /* 補足・自己紹介 */
  --text_muted:     #7a6e58;   /* 薄いテキスト */

  /* 白系 */
  --white_line:     rgba(255, 255, 255, 0.1);   /* テーブル区切り線 */
  --white_bg_sm:    rgba(255, 255, 255, 0.03);  /* 極薄背景 */
  --white_bg_md:    rgba(255, 255, 255, 0.05);  /* 薄背景 */
}


/* ============================================================
   リセット
   ============================================================ */

/* WordPress テーブルブロック初期化 */
.wp-block-table {
  width: auto;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  border: none;
}
.wp-block-table table,
.wp-block-table td,
.wp-block-table th { border: none; margin: 0; padding: 0; }
.wp-block-table th { font-weight: normal; }
.wp-block-table td,
.wp-block-table th { padding: 0; border: none; text-align: left; }
.wp-block-table tbody tr:nth-child(odd) { background: none; }
.wp-block-table thead { border-bottom: none; }
.wp-block-table tfoot  { border-top: none; }

/* ボタンリセット */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] { border: none; box-shadow: none; }
button::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner { border: 0; padding: 0; }

/* 汎用要素リセット */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p,
dl, dt, dd, ol, ul, li {
  margin: 0; padding: 0; border: 0; outline: 0;
  font-size: 100%; vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  letter-spacing: 0.02em;
  color: #ffffff;
}

div, section { box-sizing: border-box; letter-spacing: 0.02em; color: #ffffff; }

ul  { list-style: none; }
img { max-width: 100%; }
table { border-collapse: collapse; border-spacing: 0; }
textarea { resize: vertical; }
input, select { vertical-align: middle; }

input[type="submit"],
input[type="button"],
label, button, select { cursor: pointer; }

a {
  margin: 0; padding: 0; font-size: 100%;
  vertical-align: baseline; background: transparent;
  transition: 0.5s;
  color: inherit;
}
a:hover { opacity: 0.8; color: inherit;}

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

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del  { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }


/* ============================================================
   フォント
   ============================================================ */
.eng,
.eng * { font-family: "Castoro Titling", serif; font-weight: 400; font-style: normal; }
.min,
.min * { font-family: "Shippori Mincho B1", serif; font-weight: 400; font-style: normal; }
.min02,
.min02 * { font-family: "Noto Serif JP", serif; font-weight: 400; font-style: normal; }
.fw-n { font-weight: normal !important; }


/* ============================================================
   ユーティリティ
   ============================================================ */
.sp          { display: none; }
.oz_tc       { text-align: center; }
.oz_tdnone   { text-decoration: none; }
.oz_pink     { color: #77acfd; }
.oz_wt       { color: #ffffff; }
.oz_mb65     { margin-bottom: 65px; }
.oz_mb70     { margin-bottom: 70px; }
.ft20        { font-size: 20px; color: #ffffff; display: inline-block; margin-right: 5px; }


/* ============================================================
   body / 背景
   ============================================================ */
body {
  line-height: 1.5;
  font-family: 'Noto Sans JP', sans-serif;
  padding-top: 153px;
  min-height: 100vh;
  background: url("../images/bg.jpg") center top / cover no-repeat fixed !important;
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  pointer-events: none;
  z-index: 0;
}


/* ============================================================
   SP 専用要素（非表示）
   ============================================================ */
.oz_spLogo, .oz_spHead, .oz_navFirst, .spFoot,
.oz_spfoot, .oz_spfoot02 { display: none; }
.oz_spfoot, .oz_spfoot02 { position: fixed; bottom: -100px; }


/* ============================================================
   ヘッダー
   ============================================================ */
.oz_head {
  position: absolute; height: auto; width: 100%;
  box-sizing: border-box; z-index: 100; top: 0; left: 0;
}

.oz_head.oz_pageHead { background: #ffffff !important; }

.oz_header_wrap {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 15px 30px; position: relative;
  height: 80px; max-width: 1600px; margin: auto; box-sizing: border-box;
}

.oz_logo { flex: 0 0 auto; font-size: 13px; font-weight: normal; letter-spacing: 0; }
.oz_logo img { display: block; width: 144px; }
.oz_logo .oz_h1span { font-size: 28px; font-weight: normal; }
.oz_logo .oz_h1span a { color: initial; }

.oz_headInfo { display: flex; align-items: center; margin-left: auto; margin-right: 20px; gap: 15px; }
.oz_headText02_pt02 { font-size: 28px; display: flex; align-items: center; margin-left: 0; line-height: 1; }
.oz_headText02_pt01 { font-size: 14px; margin-top: 3px; }

.oz_headReserve { flex: 0 0 auto; }

.oz_headBtn,
.oz_headlink.oz_headBtn {
  display: flex; align-items: center; justify-content: center;
  height: 40px; width: 130px; border-radius: 100px;
  background: var(--color_btn); color: #ffffff;
  text-decoration: none; font-size: 16px;
}

.oz_menuBox { display: flex; align-items: center; width: 90%; max-width: 1100px; margin: auto; }

@media screen and (min-width: 1101px) {
  .oz_menuBox { width: auto; justify-content: space-between; flex-wrap: wrap; text-align: center; }
  .oz_menuBox .oz_menuBoxList { position: relative; }
  .oz_logo02 { padding-left: 50px; }
  .oz_menuBox .oz_headlink { padding: 10px; display: block; }
  .oz_headlink_text02 { font-size: 20px; margin-bottom: 0; color: var(--color_sub); display: block; width: 100%; }
  .oz_headlink_text01 { font-size: 14px; display: block; width: 100%; }
}

.oz_headline_inner { width: 100%; max-width: 1100px; margin: auto; }


/* ============================================================
   メインビジュアル / スライダー
   ============================================================ */
.oz-image { position: relative; width: 100%; height: 460px; overflow: hidden; }
.oz-image_img { object-fit: cover; object-position: center; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.single-image .oz-image_img { display: block; margin: 0 auto; }
.oz_maintext { position: absolute; top: calc(50% - 88px); width: 100%; text-align: center; }
.oz-slider .slick-slide .oz_maintextimg { display: inline; }

.oz-slider02Wrap { width: 100%; overflow: hidden; }
.oz-slider02 { width: 100%; margin: auto; overflow: visible; }
.oz-slider02 .slick-list { overflow: visible !important; margin: auto; width: 100%; max-width: 1000px; }
.oz-slider02 .oz-image02 { padding: 0 25px; }
.oz-slider02 .slick-dots { display: flex !important; justify-content: center; position: absolute; width: 100%; bottom: 20px; left: 0; }
.oz-slider02 .slick-dots li { margin: 0 5px; text-indent: -9999px; height: 10px; width: 10px; background: #d9d9d9; border-radius: 100px; }
.oz-slider02 .slick-dots li.slick-active { background: var(--color_sub); }
.oz-slider02 .slick-dots li button:before { font-size: 12px; color: black; opacity: 0.75; }
.oz-slider02 .slick-dots li.slick-active button:before { color: black; opacity: 1; }

.oz_TopSec_slide { width: 100%; overflow: hidden; padding: 145px 0 90px; }
.oz_topSlide_list { overflow: visible; position: relative; }
.oz_topSlide_list .slick-list { overflow: visible; }
.oz_topSlide_list__item { padding: 0 10px; position: relative; }
.oz_topSlide_list__inner { height: 100%; }
.oz_topSlide_list__img { width: 100%; height: auto; object-fit: cover; object-position: center; aspect-ratio: 1/1.312; position: relative; }
.oz_topSlide_list__box { padding: 20px 0 40px; }
.oz_topSlide_list__text01 { font-size: 22px; line-height: 28px; }
.oz_topSlide_list__text02 { font-size: 13px; color: var(--gold_text); margin-bottom: 30px; }
.oz_topSlide_list .prev { position: absolute; z-index: 10; left: -15px; top: 160px; }
.oz_topSlide_list .next { position: absolute; z-index: 10; right: -15px; top: 160px; }
.oz_topSlide_listIcon { padding: 8px 20px; background: #77acfd; color: #ffffff; position: absolute; top: 10px; left: 20px; }


/* ============================================================
   コンテンツ共通
   ============================================================ */
.oz_content { width: 90%; max-width: 900px; margin: auto; }
.oz_Title    { font-size: 40px; font-weight: normal; margin-bottom: 50px; line-height: 1.5em; }
.oz_SubTitle { display: block; font-size: 15px; color: var(--color_sub); line-height: 1.5em; }

.oz_profBtn {
  display: inline-flex; font-size: 16px; color: var(--color_btn_text);
  justify-content: center; align-items: center; height: 40px; width: 180px;
  border-radius: 100px; text-decoration: none; background: var(--color_btn); margin-top: 50px;
}

.oz_linkBtn01 {
  display: inline-flex; font-size: 16px; color: #ffffff;
  justify-content: center; align-items: center; height: 40px; width: 260px;
  border-radius: 100px; text-decoration: none; background: var(--color_sub); margin-bottom: 20px;
}

.oz_linkBtn02 {
  display: inline-flex; font-size: 16px; color: var(--color_sub);
  justify-content: center; align-items: center; height: 40px; width: 260px;
  border-radius: 100px; text-decoration: none; border: 1px solid var(--color_sub);
}

.oz_linkBtnWrap   { text-align: center; }
.oz_linkBtnWrap02 { margin-top: 60px; }


/* ============================================================
   トップ Sec01
   ============================================================ */
.oz_TopSec01 { padding: 140px 0 110px; background-image: url("../images/oz_sec01Bk.png"); background-size: cover; background-position: center left; }
.oz_TopSec01 .oz_content { display: flex; justify-content: flex-end; }
.oz_TopSec01_cont { width: 50%; }

.oz_TopSec01_b { padding: 80px 0 100px; }
.oz_TopSec01_b_Box { max-width: 620px; margin: auto; }
.oz_TopSec01_b_Box:not(:last-child) { margin-bottom: 60px; }
.oz_TopSec01_b_text01 { margin-bottom: 5px; color: var(--gold_text); font-size: 13px; }
.oz_TopSec01_b_text02 { font-size: 20px; padding-bottom: 8px; margin-bottom: 20px; border-bottom: 1px dashed #cccccc; }
.oz_TopSec01_b_text03 { font-size: 16px; text-align: justify; }


/* ============================================================
   トップ Sec02
   ============================================================ */
.oz_TopSec02 { padding: 160px 0 80px; background: url("../images/oz_sec02BK.png") center; background-size: cover; }
.oz_TopSec02_list { display: flex; flex-wrap: wrap; justify-content: center; }
.oz_TopSec02_item { width: calc((100% - 130px) / 3); margin-right: 65px; }
.oz_TopSec02_item:nth-child(3n+3), .oz_TopSec02_item:last-child { margin-right: 0; }
.oz_TopSec02_item:nth-child(n+4) { margin-top: 40px; }
.oz_TopSec02_item_img  { text-align: center; }
.oz_TopSec02_item_text01 { text-align: center; margin: 20px 0; font-size: 22px; }


/* ============================================================
   トップ Sec03
   ============================================================ */
.oz_TopSec03 { padding: 100px 0 160px; background: url("../images/bg2.png") center; background-size: cover; }
.oz_TopSec03Cont, .oz_TopSec03Cont * { color: #333; }
.oz_TopSec03Cont { display: flex; justify-content: space-between; background: #ffffff; align-items: center; }
.oz_TopSec03Cont_box01 { width: 50%; padding: 40px 50px; }
.oz_TopSec03Cont_box02 { width: 50%; padding: 20px; }
.oz_sec03Img { object-fit: cover; object-position: center; height: auto; width: 100%; aspect-ratio: 1/1.314; }
.oz_profText01 { font-size: 36px; margin-bottom: 10px; }
.oz_profText_span { font-size: 22px; display: inline-block; margin-left: 10px; }
.oz_profText02 { color: var(--gold_value); margin-bottom: 50px; }


/* ============================================================
   トップ Sec04（スケジュール）
   ============================================================ */
.oz_TopSec04 { padding: 130px 0 100px; }
.oz_week { display: flex; justify-content: center; margin-bottom: 40px; }

.oz_date {
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  border-radius: 50%; height: 72px; width: 72px; margin: 0 5px;
  background: var(--white_bg_md); border: 1px solid var(--gold_border);
  color: #a09070; font-size: 13px; text-align: center;
  cursor: pointer; transition: all 0.25s;
}

.oz_date:hover { border-color: var(--gold_border_md); background: var(--gold_bg); opacity: 1; }

.oz_date_block { text-decoration: none; color: var(--gold_text_lt); font-size: 15px; font-family: 'Noto Serif JP', serif; }
.oz_dateText   { font-size: 11px; color: var(--text_muted); margin-top: 2px; }

.oz_date.oz_sun { background: rgba(253, 223, 232, 0.06); border-color: rgba(200, 100, 100, 0.3); }
.oz_date.oz_sun .oz_date_block { color: #d4a0a0; }
.oz_date.oz_sun .oz_dateText   { color: #a07070; }

.oz_date.oz_mon, .oz_date.active { border-color: var(--gold_text); background: var(--gold_bg_md); }
.oz_date.oz_mon .oz_date_block, .oz_date.active .oz_date_block { color: #f0e8d0; }
.oz_date.oz_mon .oz_dateText,   .oz_date.active .oz_dateText   { color: var(--gold_text_lt); }

.oz_TopSec04Cont_box_link { text-decoration: none; }
.oz_TopSec04Cont { display: flex; flex-wrap: wrap; margin-bottom: 80px; }
.oz_TopSec04Cont_box { width: calc((100% - 60px) / 3); }
.oz_TopSec04Cont_box:nth-child(3n+2) { margin-left: 30px; margin-right: 30px; }
.oz_TopSec04Cont_img { width: 100%; height: auto; aspect-ratio: 1/1.311; position: relative; background: #1e1e1e; }
.oz_sec04Img { object-fit: cover; object-position: center; width: 100%; height: 100%; }

.oz_TopSec04Icon { padding: 8px 20px; background: #77acfd; color: #ffffff; position: absolute; top: 10px; left: 10px; font-size: 12px; letter-spacing: 0.06em; }

.oz_TopSec04Schedule {
  text-align: center; padding: 8px 12px;
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(0, 0, 0, 0.72);
  border-top: 1px solid var(--gold_border);
  color: var(--gold_text_lt); font-size: 13px; letter-spacing: 0.05em;
}

.oz_TopSec04Span   { color: var(--gold_text_lt); }
.oz_TopSec04Text01 { font-size: 14px; margin-top: 10px; color: var(--gold_text); }
.oz_TopSec04Text02 { font-size: 22px; color: var(--text_primary); font-family: 'Noto Serif JP', serif; }
.oz_TopSec04Text03 { font-size: 14px; margin-bottom: 20px; color: var(--text_muted); }
.oz_TopSec04list { display: flex; flex-wrap: wrap; margin-top: 10px; }
.oz_TopSec04item { padding: 5px 10px; border: 1px solid var(--gold_border); margin-right: 8px; font-size: 15px; color: var(--gold_text); margin-bottom: 4px; }


/* ============================================================
   トップ Sec05
   ============================================================ */
.oz_TopSec05 { padding: 95px 0 100px; background-size: cover; }
.oz_TopSec05 .oz_wt, .oz_TopSec05 .oz_SubTitle { color: #ffffff; }
.oz_TopSec05_cont, .oz_TopSec05_cont * { color: #333; }
.oz_TopSec05_cont { padding: 20px; display: flex; justify-content: space-between; background: #ffffff; margin-bottom: 30px; }
.oz_TopSec05_img  { aspect-ratio: 1/0.684; padding: 10px; width: 50%; }
.oz_TopSec05_box  { padding: 10px; width: 50%; }
.oz_sec05Img { object-fit: cover; object-position: center; width: 100%; height: 100%; }
.oz_TopSec05_boxText01 { margin: 10px 0; font-size: 18px; }
.oz_TopSec05_boxText02 { margin-bottom: 15px; font-size: 13px; color: var(--gold_value); }


/* ============================================================
   コンセプト
   ============================================================ */
.oz_TopSec_concept { padding: 100px 0 120px; background-size: cover; background-position: center left; }
.oz_TopSec_conceptBox { width: 90%; margin: auto; border: 1px solid var(--gold_text); padding: 60px 90px; }


/* ============================================================
   料金
   ============================================================ */
.oz_TopPrice { padding: 110px 0 100px; background: #e0e0e0; }
.oz_TopPriceBox { display: flex; justify-content: space-between; }
.oz_TopPriceTable { width: calc((100% - 65px) / 2); }
.oz_TopPriceTh { font-size: 16px; font-weight: normal; padding: 10px; border-bottom: 1px dashed #cccccc; width: 50%; text-align: left; }
.oz_TopPriceTd { padding: 10px; vertical-align: middle; font-size: 22px; border-bottom: 1px dashed #cccccc; text-align: right; width: 50%; }
.oz_TopPriceSpan { font-size: 16px; }


/* ============================================================
   クーポン
   ============================================================ */
.oz_TopSecCupon { padding: 100px 0 120px; }

.oz_TopSecCupon_cont {
  padding: 60px;
  background: var(--gold_bg_dark);
  border: 1px solid var(--gold_border);
}

.oz_TopSecCupon_cont:not(:last-child) { margin-bottom: 60px; }

.oz_TopSecCuponTitle {
  display: flex; padding: 10px 0; margin-bottom: 20px;
  border-top: 1px solid var(--gold_value); border-bottom: 1px solid var(--gold_value);
  font-size: 22px; align-items: center;
  color: var(--gold_text_lt);
  font-family: 'Noto Serif JP', serif; letter-spacing: 0.1em;
}

.oz_cpIcon { display: inline-flex; align-items: center; justify-content: center; margin-right: 10px; }
.oz_TopSecCuponText { font-size: 16px; color: var(--text_secondary); line-height: 1.85; }


/* ============================================================
   アクセス
   ============================================================ */
.oz_TopSecAccess { padding: 120px 0; background: #f4f4f4; }
.oz_TopSecAccess_cont { display: flex; justify-content: space-between; }
.oz_TopSecAccess_box  { width: 50%; }
.oz_TopSecAccess_box02 { width: 50%; padding: 20px 40px; }
.oz_TopSecAccess_text01 { font-size: 18px; margin-bottom: 10px; }
.oz_TopSecAccess_text02 { font-size: 16px; margin-bottom: 30px; }


/* ============================================================
   店舗情報
   ============================================================ */
.oz_TopSecShopinfo { padding: 120px 0 100px; background: #e0e0e0; }
.oz_TopSecShopinfoTable { width: 100%; }
.oz_TopSecShopinfoTh { padding: 20px 0; font-weight: normal; text-align: left; width: 150px; border-bottom: 1px solid #cccccc; }
.oz_TopSecShopinfoTd { padding: 10px 0; text-align: left; width: calc(100% - 150px); border-bottom: 1px solid #cccccc; }


/* ============================================================
   バナー
   ============================================================ */
.oz_TopSecBnr { padding: 50px 0; }


/* ============================================================
   エントリーオーバーレイ
   ============================================================ */
.oz_overlay { display: none; width: 100%; height: 100%; background: rgba(0,0,0,0.8); position: fixed; z-index: 9999999; top: 0; left: 0; }
.oz_entryLogo { text-align: center; width: 100%; position: absolute; left: 0; top: calc(50% - 250px); }
.oz_entry_text { text-align: center; position: absolute; width: 100%; bottom: 70px; color: #ffffff; font-size: 15px; line-height: 26px; }
.oz_entry_wrap { width: 660px; height: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: flex; justify-content: space-between; }
.oz_entry { display: flex; justify-content: center; text-align: center; align-items: center; height: 120px; width: 300px; background: #000000; transition: 0.5s; }
.oz_entry:hover { opacity: 0.8; }
.oz_entry .oz_entry_text01 { font-size: 40px; letter-spacing: 0.1em; color: #ffffff; line-height: 1em; }
.oz_entry .oz_entry_text02 { font-size: 18px; color: #77acfd; }
.oz_entry.oz_pt02 { box-sizing: border-box; background: #77acfd; }
.oz_entry.oz_pt02 .oz_entry_text01 { color: #ffffff; }
.oz_entry.oz_pt02 .oz_entry_text02 { color: #000000; }
.oz_entrylink { color: #ffffff; }


/* ============================================================
   システム（料金表）
   ============================================================ */
.oz_systemWrap { padding: 0 0 130px; }

.oz_systemBox {
  background: var(--gold_bg_dark) !important;
  padding: 80px 0 50px;
  position: relative;
  margin-bottom: 40px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-style: normal;
}

.oz_systemBox * { color: var(--text_secondary); }

.oz_systemBox .oz-block-fullWide__inner { margin: 0; max-width: none; padding: 0; position: static; }

/* 四隅の装飾 */
.oz_systemBox::before,
.oz_systemBox::after,
.oz_systemBox h2::before,
.oz_systemBox h2::after {
  content: " "; display: block; width: 61px; height: 61px;
  background: url("../images/other/oz_systemImg.png") center no-repeat;
  background-size: contain; position: absolute; opacity: 0.85;
}

.oz_systemBox::before    { top: 10px;    left: 10px;  transform: none; }
.oz_systemBox::after     { bottom: 10px; left: 10px;  transform: rotate(-90deg); }
.oz_systemBox h2::before { top: 10px;    right: 10px; left: auto; transform: rotate(90deg); }
.oz_systemBox h2::after  { bottom: 10px; right: 10px; left: auto; transform: rotate(180deg); }

.oz_systemBox h2 {
  /*background: url("../images/other/oz_systemTitle.png") center no-repeat;*/
  background-size: contain; 
  /*width: 308px; */
  text-align: center; height: 35px;
  display: flex; justify-content: center; align-items: center;
  font-size: 26px; font-weight: normal; margin: 0 auto 20px;
  color: var(--gold_text_lt);
}

.oz_systemBox table { width: 100%; max-width: 630px; margin: 0 auto 20px; }
.oz_systemBox tr    { display: flex; width: 100%; justify-content: space-between; }

.oz_systemBox td:first-child {
  font-size: 18px; text-align: left; font-weight: normal; padding: 8px;
  border-bottom: 1px solid var(--gold_border_sm); vertical-align: middle; width: 50%;
  color: var(--text_secondary);
}

.oz_systemBox td + td {
  text-align: right; font-weight: normal; padding: 8px;
  border-bottom: 1px solid var(--gold_border_sm); vertical-align: middle; width: 50%;
  color: var(--gold_text); font-size: 20px;
}

.oz_systemBox p { width: 100%; max-width: 630px; margin: auto; font-size: 15px; color: var(--text_primary); }

.oz_systemTitle {
  background: url("../images/other/oz_systemTitle.png") center no-repeat;
  background-size: contain; width: 308px; text-align: center; height: 35px;
  display: flex; justify-content: center; align-items: center;
  font-size: 26px; font-weight: normal; margin: 0 auto 20px; color: var(--gold_value);
}

.oz_systemTitle02 { color: var(--text_primary); }
.oz_systemLastBox { margin-bottom: 0; }

.oz_TopSystem_table { width: 100%; max-width: 630px; margin: 0 auto 20px; }
.oz_TopSystem_tr    { display: flex; width: 100%; }
.oz_TopSystem_th    { font-size: 18px; text-align: left; font-weight: normal; padding: 8px; border-bottom: 1px solid var(--gold_border_sm); vertical-align: middle; width: 50%; }
.oz_TopSystem_td    { font-size: 18px; text-align: right; font-weight: normal; padding: 8px; border-bottom: 1px solid var(--gold_border_sm); vertical-align: middle; width: 50%; }
.oz_TopSystem_th_last { width: 100%; }
.oz_TopSystem_span  { color: var(--gold_text); font-size: 20px; }
.oz_TopSystem_small { color: var(--gold_text); font-size: 24px; }
.oz_TopSystem_text  { width: 100%; max-width: 630px; margin: auto; font-size: 15px; }
.oz_TopSystem_text02 { font-size: 16px; margin-top: 10px; }
.oz_TopSystem_text03 { width: 100%; max-width: 630px; margin: 0 auto 20px; font-size: 18px; }
.oz_TopSystem_card   { width: 100%; max-width: 630px; margin: 0 auto 30px; }


/* ============================================================
   フッター
   ============================================================ */
.oz_foot { padding: 145px 0 50px; background: var(--color_footer); text-align: center; }
.foot_logo { font-size: 44px; color: #ffffff; margin-bottom: 10px; }
.foot_tel__link { text-decoration: none; color: #ffffff; }
.foot_tel__text01 { color: #ffffff; font-size: 32px; line-height: 1.5em; }
.foot_tel__text02 { color: #ffffff; font-size: 14px; line-height: 1.5em; }
.oz_footTel { display: inline-block; margin-right: 10px; }
.oz_foot__cont02__ListWrap { max-width: 1200px; margin: 50px auto 0; display: flex; justify-content: center; flex-wrap: wrap; }
.oz_foot__cont02__List { margin-top: 8px; }
.oz_foot__cont02__List .oz_tdnone { color: #ffffff; font-size: 15px; text-decoration: none; }
.oz_foot__cont02__List:not(:last-child)::after { content: "　｜　"; color: #ffffff; }
.oz_foot__cont02__copy { text-align: center; margin-top: 30px; color: #ffffff; font-size: 12px; }


/* ============================================================
   プロフィール
   ============================================================ */
.oz_other_pageTitle { margin-top: 80px; margin-bottom: 50px; }
.oz_other_pageTitle_span  { text-align: center; font-size: 40px; display: block; }
.oz_other_pageTItle_small { font-size: 22px; display: block; text-align: center; }

.oz_profileTable { margin-top: 35px; width: 100%; }
.oz_profileTable_tr { display: flex; border-bottom: 1px solid var(--white_line); }
.oz_profileTable_tr.col2,
.oz_profileTable_tr.col2 .oz_profileTable_td,
.oz_profileTable_tr.col2 .oz_profileTable_th { display: block; width: 100%; }
.oz_profileTable_tr.col2 { border-bottom: none; }

.oz_profileTable_th {
  width: 50%; padding: 12px 0; font-weight: normal; font-size: 14px;
  color: var(--gold_text); text-align: left; border-bottom: none; letter-spacing: 0.05em;
}

.oz_profileTable_td {
  width: 50%; padding: 12px 0; font-weight: normal; font-size: 14px;
  color: var(--text_primary); text-align: left; border-bottom: none;
}

.oz_profileTable_tr.col2 .oz_profileTable_th { color: var(--gold_text); padding-top: 20px; padding-bottom: 6px; }
.oz_profileTable_tr.col2 .oz_profileTable_td { color: var(--text_secondary); line-height: 1.85; font-size: 14px; padding-top: 0; }

.oz_bdnone { border-bottom: none; width: 100%; }
.oz_profileTable_td.oz_bdnone { padding-top: 0; }

.oz_profSns { display: flex; margin-top: 110px; }
.oz_prof    { margin-right: 15px; }

.oz_profileSec01 { padding-bottom: 120px; }
.oz_profileSec01_cont01 { display: flex; justify-content: space-between; margin: 0 auto 130px; }
.oz_profileSec01_box01 { max-width: 420px; aspect-ratio: 1/0.764; height: 550px; width: 100%; }
.oz_profileSec01_box01_img { width: 100%; height: 550px; object-fit: cover; }

.oz_profileSec01_box02 { width: 100%; max-width: 420px; }
.oz_profileSec01_box02_Icon { display: flex; flex-wrap: wrap; }

.oz_profileSec01_box02_IconDetail {
  margin-right: 8px; border: 1px solid var(--gold_border_md); font-size: 13px;
  padding: 6px 16px; color: var(--gold_text_lt); background: var(--gold_bg);
  margin-bottom: 8px; letter-spacing: 0.08em;
}

.oz_profileSec01_box02_text01 { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 30px; }
.oz_profileSec01_box02_text01_a { font-size: 26px; letter-spacing: 0.1em; font-weight: 400; margin: 10px 0; }
.oz_profileSec01_box02_text01_a .oz_profileSec01_box02_text01_a_span { font-size: 18px; display: inline-block; margin-left: 10px; letter-spacing: 0.1em; }
.oz_profileSec01_box02_text01_aBox { width: calc(100% - 30px); padding-right: 10px; }
.oz_profileSec01_box02_text01_b { display: flex; align-items: center; position: relative; top: -5px; width: 178px; }

.oz_profileSec01_box02_text01_b_icon01 {
  height: 38px; padding: 10px 20px; color: #ffffff;
  display: flex; justify-content: center; text-align: center; align-items: center;
  background: #ba002f; margin-right: 8px; font-size: 16px;
}

.oz_profileSec01_box02_text01_b_icon02 { padding-top: 5px; }

.oz_profileSec01_ImgBox { width: 100%; max-width: 420px; display: flex; flex-wrap: wrap; margin-top: 10px; }
.oz_profileSec01_ImgBoxInner { width: calc((100% - 12px) / 5); margin-right: 3px; margin-bottom: 3px; line-height: 0; box-sizing: border-box; aspect-ratio: 0.764/1; }
.oz_profileSec01_ImgBoxInner.oz_current { border: 1px solid #000000; }
.oz_profileSec01_ImgBoxInner:nth-child(5n+5) { margin-right: 0; }
.oz_profileSec01_ImgBox_img { width: 100%; object-fit: cover; height: 100%; object-position: center; }

.oz_profileSec01Title { margin-top: 70px; color: var(--text_primary); font-size: 22px; font-weight: normal; margin-bottom: 40px; background-repeat: no-repeat; text-align: center; }

/* スケジュールセル */
.oz_profileSec01_cont02_box { display: flex; flex-wrap: wrap; }
.oz_profileSec01_cont02_boxInner { width: 126px; margin-right: 3px; margin-bottom: 3px; }
.oz_profileSec01_cont02_boxInner:nth-child(7n+7) { margin-right: 0; }

.oz_profileSec01_cont02_boxTitle01 {
  font-size: 16px; color: var(--gold_text_lt); height: 45px;
  background: var(--white_bg_md); border: 1px solid var(--gold_border); border-bottom: none;
  display: flex; align-items: center; text-align: center; justify-content: center; font-weight: normal;
}

.oz_profileSec01_cont02_boxTitle01 .oz_profileSec01_cont02_boxTitle01_span { font-size: 13px; color: var(--gold_text_lt); }

.oz_profileSec01_cont02_boxTitle02 {
  font-size: 15px; color: #ffffff; height: 65px;
  display: flex; align-items: center; text-align: center; justify-content: center;
  background: var(--white_bg_sm); border: 1px solid var(--gold_border);
  border-top: none; border-bottom: none; margin-bottom: 0; line-height: 22px;
}

.oz_profileSec01_cont02_boxTitle02.oz_none::after { content: " "; display: inline-block; background: rgba(255,255,255,0.3); height: 1px; width: 25px; }

.oz_profileSec01_cont02_boxTitle03 {
  font-size: 14px; height: 45px;
  display: flex; align-items: center; text-align: center; justify-content: center;
  background: var(--gold_bg_md); border: 1px solid var(--gold_border); border-top: none;
  transition: background 0.3s;
}

.oz_profileSec01_cont02_boxTitle03:hover { background: rgba(160, 149, 119, 0.3); }

.oz_profileSec01_cont02_boxTitle03 .oz_profileSec01_cont02_boxLink {
  color: var(--gold_text_lt); text-decoration: none; font-size: 14px; letter-spacing: 0.05em;
}

.oz_profileSec01_cont02_boxTitle03 .oz_profileSec01_cont02_boxLink:hover { color: #ffffff; }

/* ブログ */
.oz_profBlog_contWrap { display: flex; flex-wrap: wrap; }
.oz_profBlog_cont, .oz_profBlog_cont * { color: #333; }
.oz_profBlog_cont { width: calc((100% - 60px) / 3); margin-right: 30px; background: #ffffff; }
.oz_profBlog_cont:nth-child(3n+3) { margin-right: 0; }
.oz_profBlog_img { width: 100%; height: auto; aspect-ratio: 1/1.3; line-height: 0; }
.oz_profBlog_img .oz_sec05Img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.oz_oz_profBlog_box    { padding: 20px; }
.oz_oz_profBlog_Text01 { margin-bottom: 3px; font-size: 13px; color: var(--gold_value); }
.oz_oz_profBlog_Text02 { font-size: 16px; }
.oz_profBlog_link { text-decoration: none; }


/* ============================================================
   採用
   ============================================================ */
.oz_recruitSec01 { padding: 65px 0; }
.oz_recruitSec01--text01 { text-align: center; font-size: 18px; margin-bottom: 45px; }
.oz_recruitSec01--text02Wrap { display: flex; justify-content: center; }
.oz_recruitSec01--text02 { display: inline-block; padding: 10px; margin: 0 10px; border-bottom: 1px solid #000000; font-weight: 500; font-size: 26px; line-height: 1.5em; }
.oz_recruitSec01--text02_span01 { font-size: 40px; color: #a78f5a; font-weight: normal; display: inline-block; margin-left: 20px; }
.oz_recruitSec01--text02_span02 { font-size: 50px; font-weight: normal; color: #a78f5a; }
.oz_recruitSec01--table { margin-top: 80px; }
.oz_recruitSec01--th { padding: 15px 0; text-align: left; font-weight: 500; width: 110px; font-size: 18px; vertical-align: top; }
.oz_recruitSec01--td { padding: 15px 0; font-weight: normal; width: calc(100% - 110px); font-size: 18px; }
.oz_recruitSec01--ul { display: flex; flex-wrap: wrap; }
.oz_recruitSec01--li { display: flex; align-items: center; justify-content: center; font-size: 15px; height: 50px; width: calc((100% - 12px) / 5); margin-bottom: 3px; margin-right: 3px; border: 1px solid #000000; }
.oz_recruitSec01--li:nth-child(5n+5) { margin-right: 0; }

.oz_recruitSec02 { padding: 65px 0 0; }
.oz_recruitSec02--cont { margin-top: 50px; }
.oz_recruitSec02--cont .oz_recruitSec02--dt  { font-size: 16px; font-weight: 500; }
.oz_recruitSec02--cont .oz_recruitSec02--req { color: #e64242; }
.oz_recruitSec02--cont .oz_recruitSec02--input { display: block; margin-bottom: 20px; padding: 10px 20px; border: 1px solid #a4a4a4; border-radius: 6px; width: 100%; margin-top: 8px; box-sizing: border-box; }
.oz_recruitSec02--area { height: 130px; }
.oz_recruitSec02--submitWrap { text-align: center; padding-top: 30px; }
.oz_recruitSec02--submit { display: inline-flex; border-radius: 100px; color: #ffffff; justify-content: center; align-items: center; font-weight: 500; font-size: 20px; height: 60px; width: 260px; border: none; background: #000000; text-align: center; }


/* ============================================================
   レビュー
   ============================================================ */
.oz_Review__Rate { font-size: 20px; margin-bottom: 10px; color: #e14169; }
.oz_Review__Rate .oz_Review__RateSpan { color: #c1c1c1; }
.oz_Review__revierName { font-size: 16px; display: flex; align-items: center; margin: 25px 0 20px; }
.oz_Review__revierNameSpan { font-size: 13px; font-weight: normal; display: inline-block; margin-left: 12px; color: #929292; }
.oz_Review__Text { font-size: 14px; line-height: 24px; letter-spacing: 0; }
.oz_reviewBox { margin-top: 40px; border: 1px solid #f5f5f5; padding: 25px 260px 25px 25px; }
.oz_reviewBox_text { font-weight: 700; margin-bottom: 10px; display: flex; align-items: center; }
.oz_Review__wrap { padding: 50px 0; border-bottom: 1px dotted #eeeeee; }
.oz_reviewBox_icon { display: inline-block; margin-right: 5px; position: relative; top: 1px; }
.oz_reviewSec01__text { text-align: center; font-size: 15px; line-height: 24px; margin-bottom: 30px; }
.oz_btn02 { background: #ba002f; }
.oz_btn03 { background: #473eb5; }
.oz_reviewSec02_cont { display: flex; justify-content: space-between; margin-bottom: 60px; padding-bottom: 45px; border-bottom: 1px dotted #eeeeee; }
.oz_reviewSec02_box01 { width: 200px; }
.oz_reviewSec02_box01_img { width: 100%; height: auto; object-fit: cover; object-position: center; aspect-ratio: 1/1.294; }
.oz_reviewSec02_box02 { width: calc(100% - 230px); }
.oz_Review__Name { font-size: 20px; margin-bottom: 15px; }
.oz_Review__Name a { color: initial; }
.oz_Review__Name_span { font-size: 16px; }
.oz_reviewSec02_box02 .oz_reviewBox { padding-right: 60px; }


/* ============================================================
   ページャー
   ============================================================ */
.oz_pager { padding-top: 30px; justify-content: center; display: flex; align-items: center; }
.oz_link { text-decoration: none; font-size: 14px; margin: 0 5px; color: #000000; cursor: pointer; }
.oz_linkactive { display: flex; justify-content: center; align-items: center; color: #000000; border: 1px solid #000000; width: 27px; height: 27px; font-size: 17px; }
.oz_linkbox    { display: flex; justify-content: center; align-items: center; color: #ffffff; border: 1px solid #000000; background: #000000; width: 27px; height: 27px; font-size: 17px; }


/* ============================================================
   記事本文
   ============================================================ */
.oz_Content__Text p { padding-bottom: 1rem; padding-top: 0; margin-top: 0; margin-bottom: 0; letter-spacing: 0.05em; line-height: 1.8em; font-size: 1rem; }

.oz_profileListSec01_btnBtn { -webkit-appearance: none; }



/*　20260315　*/

/* ============================================================
   ブログ機能追加 CSS
   style_clean.css の末尾に追記
   ============================================================ */

/* ラベル（カテゴリ・タグ） */
.oz_blogLabels { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }

.oz_label {
  text-decoration: none !important;
  color: inherit !important;
  display: inline-block;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #ccc;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease;
}


/* ============================================================
   ブログ本文（.oz_blog）
   ============================================================ */
.oz_blog h1 { font-size: 24px; font-weight: bold; padding-bottom: 12px; margin-top: 30px; margin-bottom: 30px; }
.oz_blog h2 { font-size: 18px; font-weight: bold; border-left: 4px solid var(--color_sub); padding-left: 10px; margin-top: 30px; margin-bottom: 15px; color: #ffffff; }
.oz_blog h3 { font-size: 18px; font-weight: normal; border-bottom: 1px dashed #ccc; padding-bottom: 5px; margin-top: 30px; margin-bottom: 15px; color: #ffffff; }
.oz_blog h4 { font-size: 16px; font-weight: normal; color: #666; margin-top: 20px; margin-bottom: 10px; }

.oz_blog p { line-height: 1.8; margin-bottom: 1.5em; word-break: break-word; }
.oz_blog br { line-height: 1.2; display: block; content: ""; margin-bottom: 0.5em; }

.oz_blog ul,
.oz_blog ol { padding-left: 1.5em; margin-bottom: 1.5em; }
.oz_blog ul li { list-style-type: disc; margin-bottom: 0.5em; }
.oz_blog ol li { list-style-type: decimal; margin-bottom: 0.5em; }

.oz_blog blockquote {
  border-left: 4px solid var(--color_sub);
  background-color: #f9f9f9;
  padding: 12px 16px;
  margin: 20px 0;
  font-style: italic;
  color: #555;
}

.oz_blog table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
.oz_blog th,
.oz_blog td  { border: 1px solid #ddd; padding: 8px 12px; text-align: left; }
.oz_blog th  { background-color: #f3f3f3; font-weight: bold; }

.oz_blog a        { color: #007acc; text-decoration: underline; }
.oz_blog a:hover  { text-decoration: none; }
.oz_blog strong   { font-weight: bold; color: #333; }
.oz_blog em       { font-style: italic; color: #666; }

.oz_blog figcaption.wp-element-caption { font-size: 13px; color: #777; text-align: left; margin-top: 8px; }
.oz_blog figcaption.wp-element-caption a { color: #007acc; text-decoration: underline; }
.oz_blog figcaption.wp-element-caption a:hover { text-decoration: none; }


/* ============================================================
   目次（.oz_blogToc）
   ============================================================ */
.oz_blogToc {
  background: color-mix(in srgb, var(--color_sub) 10%, white);
  border-left: 4px solid var(--color_sub);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  padding: 20px 25px;
  margin-bottom: 40px;
  font-family: "Helvetica Neue", sans-serif;
}

.oz_toc_title {
  font-size: 18px;
  font-weight: bold;
  color: var(--color_sub);
  margin-bottom: 15px;
  border-bottom: 1px dashed rgba(193, 151, 107, 0.3);
  padding-bottom: 5px;
}

.oz_blog .oz_toc_list { list-style: none; padding-left: 0; margin: 0; }
.oz_blog .oz_toc_list li { margin-bottom: 10px; padding-left: 12px; position: relative; list-style: none; }
.oz_blog .oz_toc_list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; background: var(--color_sub); border-radius: 50%; }
.oz_blog .oz_toc_list li a { color: #444; font-size: 15px; text-decoration: none; transition: color 0.2s ease; }
.oz_blog .oz_toc_list li a:hover { color: var(--color_sub); text-decoration: underline; }


/* ============================================================
   関連記事
   ============================================================ */
.oz_relatedArticles { margin-top: 50px; }

.oz_relatedTitle { font-size: 20px; font-weight: bold; border-left: 4px solid var(--color_sub); padding-left: 10px; margin-bottom: 20px; }

.oz_relatedList { display: flex; flex-wrap: wrap; gap: 20px; padding: 0; margin: 0; list-style: none; }

.oz_relatedItem { width: calc(100% / 3 - 14px); border: 1px solid #eee; overflow: hidden; background: #fff; }
.oz_relatedItem a { text-decoration: none; color: inherit; display: block; }
.oz_relatedThumb img { width: 100%; height: 180px; display: block; object-fit: cover; object-position: center; }
.oz_relatedText h3 {  padding: 4px 10px 10px; font-size: 14px; line-height: 1.4; margin: 0; border-bottom: none; color: #333}

.oz_relatedText .oz_blogCardDate {
  position: static;
  display: block;
  font-size: 13px;
  color: #999;
  margin-bottom: 6px;
  padding: 10px 10px 0;
}

.oz_relatedSlider { overflow: hidden; }
.swiper-slide.oz_relatedItem { width: 80%; max-width: 300px; }


/* ============================================================
   ブログ日付・パンくず
   ============================================================ */
.oz_blogDateUnder { font-size: 13px; color: #888; margin: 20px 0; text-align: right; }
.oz_blogDateIcon  { margin-right: 5px; color: #888; }

.oz_breadcrumb    { font-size: 14px; margin-top: 40px; text-align: center; }
.oz_breadcrumb a  { text-decoration: none; color: #666; }


/* ============================================================
   ブログ一覧（.oz_blogList / .oz_blogCard）
   ============================================================ */
.oz_blogList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  margin-bottom: 40px;
}

.oz_blogCard {
  background: #fff;
  border: 1px solid #eee;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.oz_blogCard:hover { transform: translateY(-3px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }

.oz_blogCardLink { text-decoration: none; color: inherit; display: block; height: 100%; }
.oz_blogCardThumb img { width: 100%; height: auto; display: block; object-fit: cover; aspect-ratio: 16/9; }
.oz_blogCardContent { padding: 16px; }
.oz_blogCardDate { font-size: 13px; color: #999; margin-bottom: 6px; display: block; }

.oz_blogCardTitle {
  font-size: 16px !important;
  font-weight: normal !important;
  color: #333;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  line-height: 1.4;
}

.oz_blogList a { text-decoration: none; }
.oz_blogNoPosts { color: #888; text-align: center; padding: 40px 0; }


/* ============================================================
   採用フォーム追加クラス
   ============================================================ */
.oz_recruitSec01 table td:first-child {
  font-size: 18px;
  padding: 25px 0;
  text-align: left;
  width: 110px;
  border-bottom: 1px dotted #dddddd;
  font-weight: 500;
  vertical-align: top;
}

.oz_recruitSec01 table td:nth-child(2) {
  font-size: 18px;
  padding: 25px 0;
  text-align: left;
  width: calc(100% - 110px);
  border-bottom: 1px dotted #dddddd;
}

.oz_recruitSec02--note  { margin-bottom: 20px; }
.oz_recruitSec02--dd    { margin-bottom: 20px; }
.oz_recruitSec02--radio { margin-bottom: 20px; }

.oz_recruitSec02__input {
  padding: 10px;
  border: 1px solid #a4a4a4;
  display: block;
  border-radius: 6px;
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
}


/* ============================================================
   リンク（ニュース・ブロック内）
   ============================================================ */
.oz_news_list a,
.oz_block a {
  color: var(--oz-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
  text-decoration-color: var(--oz-link);
  transition: color 0.15s ease, text-decoration-color 0.15s ease, opacity 0.15s ease;
}

.oz_news_list a:visited,
.oz_block a:visited { color: var(--oz-link-visited); text-decoration-color: var(--oz-link-visited); }
.oz_news_list a:active,
.oz_block a:active   { opacity: 0.85; }


/* ============================================================
   予約フォーム ダークテーマ — 案A アンダーラインスタイル
   ============================================================ */

/* ベース */
.form {
  background: transparent;
  color: #ffffff;
}

/* グループ間隔 */
.form__group { margin-top: 2em; }
.form__group + .form__group { margin-top: 1.2em; }

/* ラベル行 */
.form__group-header {
  padding: 0.6em 1em 0.6em 0;
  background: transparent;
}

.form__group-label {
  color: #ffffff;
  font-size: 14px;
  background: transparent;
}

/* 必須バッジ */
.form__required-label {
  background: transparent !important;
  color: var(--gold_text);
  border: 0.5px solid var(--gold_border);
  border-radius: 2px;
  font-size: 10px;
  padding: 2px 6px;
  letter-spacing: 0.05em;
}

/* テキスト入力 — アンダーラインのみ */
.text-input { position: relative; }

.text-input__body {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(159, 147, 117, 0.4);
  border-radius: 0;
  color: #ffffff;
  padding: 8px 4px;
  font-size: 14px;
  box-shadow: none;
  transition: border-color 0.3s;
}

.text-input__body::placeholder { color: #4a4640; }

.text-input__body:focus {
  border-bottom-color: var(--gold_text);
  box-shadow: none;
  outline: none;
}

.text-input__body[data-is-valid=true] {
  border-bottom-color: #6ab08a;
  box-shadow: none;
}

.text-input__body[data-is-valid=false] {
  border-bottom-color: #c06060;
  box-shadow: none;
}

/* セレクトボックス — アンダーラインのみ */
.select-box { position: relative; }

.select-box::after {
  border-color: var(--gold_text) transparent transparent transparent;
}

.select-box__body {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(159, 147, 117, 0.4);
  border-radius: 0;
  color: #ffffff;
  padding: 8px 4px;
  font-size: 14px;
  box-shadow: none;
  transition: border-color 0.3s;
}

.select-box__body:focus {
  border-bottom-color: var(--gold_text);
  box-shadow: none;
  outline: none;
}

.select-box__body[data-is-valid=true]  { border-bottom-color: #6ab08a; box-shadow: none; }
.select-box__body[data-is-valid=false] { border-bottom-color: #c06060; box-shadow: none; }

/* テキストエリア */
.textarea__body {
  background: rgba(255, 255, 255, 0.04);
  border: 0.5px solid rgba(159, 147, 117, 0.3);
  border-radius: 4px;
  color: #ffffff;
  font-size: 14px;
  padding: 10px 12px;
}

.textarea__body:focus {
  border-color: var(--gold_text);
  box-shadow: none;
  outline: none;
}

/* ラジオボタン */
.form__radio label { color: #ffffff; font-size: 14px; }

.radio__icon {
  border-color: rgba(159, 147, 117, 0.4);
  background: transparent;
}

/* バリデーションエラー */
.form__validation { color: #c07070; }

/* 区切り線 */
.form__group-list { border-bottom-color: rgba(159, 147, 117, 0.15); }

/* 送信ボタン */
.button {
  background: var(--color_btn);
  color: #ffffff;
  border: none;
  border-radius: 99px;
  padding: 12px 52px;
  font-size: 14px;
  letter-spacing: 0.12em;
  cursor: pointer;
  box-shadow: none;
  transition: opacity 0.2s;
}

.button:hover,
.button:not([aria-disabled=true]):hover {
  background: var(--gold_value);
  opacity: 1;
}

/* ============================================================
   上段バー：店名 h1 + 言語切替
   親テーマ style.css 末尾に追記
   ============================================================ */
.oz_topBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 30px;
  background: rgba(0, 0, 0, 0.45);
  border-bottom: 1px solid rgba(159, 147, 117, 0.2);
}

.oz_topBar_title {
  font-size: 11px;
  color: #9f9375;
  letter-spacing: 0.08em;
  font-weight: 400;
  margin: 0;
}

/* 上段バー分だけ body の padding-top を調整 */
body { padding-top: calc(153px + 31px) !important; }

@media screen and (max-width: 750px) {
  .oz_topBar       { padding: 4px 14px; }
  .oz_topBar_title { font-size: 10px; }
  body { padding-top: calc(60px + 31px) !important; }
}