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

/* ============================================================
   768px 以上のみ適用
   ============================================================ */
@media screen and (min-width: 768px) {
  .oz_TopSec04Cont_box:nth-child(n+4) { margin-top: 40px; }
  .oz_profBlog_cont:nth-child(n+4)    { margin-top: 40px; }
}


/* ============================================================
   〜1100px（タブレット・SP メニュー）
   ============================================================ */
@media screen and (max-width: 1100px) {

  .oz_content,
  .oz_content02,
  .oz_content03 { width: calc(100% - 30px); }

  /* SP メニュー表示切替 */
  .oz_spLogo,
  .oz_navFirst  { display: block; }
  .oz_headPcText { display: none; }

  .oz_pcLogo { max-width: 100%; max-height: 100%; }

  /* ヘッダー */
  .oz_header_wrap {
    padding: 0 10px;
    height: 87px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 95%;
  }

  .oz_spHead {
    display: flex;
    padding: 10px 8px 8px;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    right: 58.88px;
    font-size: 10px;
    text-align: center;
    height: 94px;
    z-index: 9999;
  }

  .oz_spHead .oz_headlink { color: #000000; text-decoration: none; }

  .oz_head {
    height: 87px;
    justify-content: center;
    z-index: 999999;
    position: fixed;
    width: 100vw;
  }

  /* ハンバーガーボタン */
  #oz_nav-toggle {
    display: block;
    position: absolute;
    width: 58.88px;
    height: 53px;
    cursor: pointer;
    z-index: 99999;
    right: 0;
    top: 9px;
    background: initial;
  }

  .oz_navFixed { display: block; }

  #oz_nav-toggle .oz_nav-toggle__in { position: relative; width: 50px; }

  #oz_nav-toggle .oz_nav-toggle__in_span {
    display: block;
    position: absolute;
    height: 1px;
    width: 60%;
    background: var(--color_sub);
    left: 15px;
    transition: .35s ease-in-out;
    border-radius: 50px;
  }

  #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(1) { top: 13px; }
  #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(2) { top: 23px; }
  #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(3) { top: 33px; }
  #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(4) { top: 38px; font-size: 10px; background: none; left: 13px; }

  /* open 状態 */
  .open #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(1) { top: 20px; transform: rotate(315deg); }
  .open #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(2) { width: 0; left: 50%; }
  .open #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(3) { top: 20px; transform: rotate(-315deg); }
  .open #oz_nav-toggle .oz_nav-toggle__in_span:nth-child(4) { background: none; }

  /* グローバルナビ */
  #oz_global-nav {
    position: absolute;
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    height: 100vh;
    text-align: center;
    padding: 30px 0 10px;
    transition: .5s ease-in-out;
    right: -100%;
    top: 0;
    z-index: 9999;
    box-sizing: border-box;
    overflow: scroll;
  }

  .open #oz_global-nav { transform: translateX(-100%); opacity: 1; }

  .oz_nav-in { padding: 0; }

  /* メニューボックス */
  .oz_menuBox {
    display: block;
    padding-top: 10px;
    float: none;
    width: calc(100% - 80px);
    max-width: 600px;
    margin: auto;
    position: inherit;
  }

  .oz_menuBox .oz_linkBtn .oz_headlink { font-size: 18px; height: 50px; width: 100%; }

  .oz_menuBox .oz_menuBoxList:not(.oz_linkBtn) .oz_headlink {
    text-align: left;
    padding: 8px 0;
    display: block;
    font-size: 10px;
    border-bottom: 1px solid #cccccc;
    position: relative;
  }

  .oz_menuBox .oz_menuBoxList:not(.oz_linkBtn) .oz_headlink::after {
    content: "\3e";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    font-size: 15px;
    right: 15px;
    top: calc(50% - 7.5px);
    color: #000000;
  }

  .oz_menuBox .oz_headlink { width: 100%; color: #ffffff; font-weight: 500; }
  .oz_menuBox .oz_menuBoxList { position: relative; }
  .oz_bdNone .oz_headlink { border-bottom: none !important; }

  .oz_pc01 { font-size: 25px; color: var(--color_sub); }

  .oz_headlink.oz_headBtn { margin: 40px auto 0; padding: 8px 0; width: 90%; }

  /* 電話・営業時間 */
  .oz_pageUd_tel a { color: #ffffff; text-decoration: none; }
  .oz_pageUd_tel { font-size: 35px; margin-top: 10px; }
  .oz_menuTelicon { display: inline-block; margin-right: 7px; font-size: 22px; }
  .oz_pageUd_time { font-size: 12px; margin-bottom: 20px; }

  /* SP SNSアイコン */
  .oz_spMenuIconWrap { margin-top: 30px; display: flex; justify-content: center; }
  .oz_spMenuIcon { margin: 0 10px; }

  /* ロゴ */
  .oz_logo { font-size: 10px; }
  .oz_logo img { width: 160px; }
  .oz_logo .oz_h1span { font-size: 19px; width: 209px; }

  .oz_spHead .oz_tdnone { text-decoration: none; color: #ffffff; }

  .oz_headText { display: none; }
  .oz_headText02_pt02,
  .oz_headText02_pt01 { display: none; }
  .oz_headWrap02 { margin-top: 0; }
  .oz_headlink_text02 { font-size: 16px; margin-bottom: 0; color: var(--color_sub); display: block; width: 100%; }

  .spNone { display: none; }

  body { padding-top: 87px; }
}


/* ============================================================
   〜767px（スマートフォン）
   ============================================================ */
@media screen and (max-width: 767px) {

  .sp  { display: block; }
  .pc  { display: none !important; }

  /* 背景画像 fixed を外す（iOS Safari 対応） */
  body {
    background: url("../images/bg.jpg") center top / cover no-repeat;
  }

  /* ラッパー */
  #oz_wrapper { width: 100vw; overflow-x: hidden; }

  /* SP固定フッターバー */
  .oz_spfoot {
    position: fixed;
    left: 0;
    bottom: -3px;
    width: 100%;
    display: flex;
    transition: 0.5s;
  }

  .oz_spfoot.oz_none { bottom: -100px; }

  .oz_track01 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color_accent);
    color: #ffffff;
    font-size: 15px;
    height: 50px;
    width: calc(100% - 150px);
    text-decoration: none;
  }

  .oz_track02 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #181818;
    height: 50px;
    width: 75px;
    text-decoration: none;
  }

  .oz_track03 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #05b903;
    height: 50px;
    width: 75px;
    text-decoration: none;
  }

  .oz_track01_img { display: inline-block; margin-right: 8px; }

  .oz_spfoot02 {
    position: fixed;
    left: 0;
    bottom: -3px;
    width: 100%;
    display: flex;
    transition: 0.5s;
  }

  .oz_spfoot02.oz_none { bottom: -100px; }

  .oz_fix01,
  .oz_fix02 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    height: 50px;
    width: 60px;
    text-decoration: none;
    border-right: 1px solid #cccccc;
  }

  .oz_fix03 {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    color: #ffffff;
    font-size: 15px;
    height: 50px;
    width: calc(100% - 120px);
    text-decoration: none;
  }

  .oz_fixBtn {
    padding: 5px 8px;
    border-radius: 100px;
    color: #ffffff;
    display: inline-flex;
    background: var(--color_sub);
    width: 80%;
    align-items: center;
    justify-content: center;
  }

  .oz_fix03_img { display: inline-block; margin-right: 8px; font-size: 24px; color: #ffffff; }

  /* メインビジュアル */
  .oz-image { width: 100%; height: auto; aspect-ratio: 16/9; }
  .oz_maintextimg { width: 160px; }
  .oz_maintext { top: calc(50% - 45px); }

  /* Sec01 */
  .oz_TopSec01 { padding: 40px 0 0; background: #ecebe7; }
  .oz_TopSec01 .oz_content { display: block; }
  .oz_TopSec01_cont { width: 100%; }
  .oz_TopSec01ImgWrap { text-align: left; line-height: 0; }
  .oz_TopSec01Img { width: 300px; }
  .oz_TopSec01_text02 { font-size: 13px; }

  /* Sec01 ver02 */
  .oz_TopSec01_b { padding: 40px 0; }
  .oz_TopSec01_b_Box { max-width: 90%; }
  .oz_TopSec01_b_text02 { font-size: 16px; padding-bottom: 10px; margin-bottom: 10px; }
  .oz_TopSec01_b_text03 { font-size: 13px; margin-bottom: 20px; }

  /* タイトル */
  .oz_Title    { text-align: center; font-size: 30px; margin-bottom: 30px; }
  .oz_SubTitle { font-size: 13px; }

  /* Sec02 */
  .oz_TopSec02 { padding: 40px 0; }
  .oz_TopSec02_list { display: block; }
  .oz_TopSec02_item { width: 100%; margin-right: 0 !important; margin-bottom: 40px; position: relative; padding-left: 100px; }
  .oz_TopSec02_item_img { position: absolute; left: 0; width: 80px; }
  .oz_TopSec02_item_text01 { text-align: left; margin: 0 0 10px; font-size: 19px; }
  .oz_TopSec02_item_text02 { font-size: 13px; }

  /* Sec03 */
  .oz_TopSec03 { padding: 40px 0; }
  .oz_TopSec03Cont { display: block; }
  .oz_TopSec03Cont_box01 { width: 100%; padding: 20px; }
  .oz_TopSec03Cont_box02 { width: 100%; padding: 0 20px 40px; }
  .oz_profText01 { font-size: 30px; margin-bottom: 8px; }
  .oz_profText_span { font-size: 18px; }
  .oz_profText02 { font-size: 13px; margin-bottom: 30px; }
  .oz_profText03 { font-size: 13px; margin-bottom: 20px; }

  /* Sec04（スケジュール） */
  .oz_TopSec04 { padding: 40px 0; }
  .oz_week { flex-wrap: wrap; }
  .oz_date { height: 70px; width: 70px; margin: 5px; font-size: 10px; }
  .oz_dateText { font-size: 15px; }
  .oz_TopSec04Cont { display: flex; justify-content: space-between; margin-bottom: 40px; }
  .oz_TopSec04Cont_box { width: calc((100% - 20px) / 2); margin-bottom: 25px; }
  .oz_TopSec04Cont_box:nth-child(3n+2) { margin-left: 0; margin-right: 0; }
  .oz_TopSec04Text01 { font-size: 12px; }
  .oz_TopSec04Text03 { font-size: 12px; }
  .oz_TopSec04item { margin-bottom: 8px; font-size: 12px; }
  .oz_TopSec04Icon { padding: 6px 10px; font-size: 12px; }
  .oz_TopSec04Span { display: block; }
  .oz_TopSec04Schedule { padding: 4px; font-size: 12px; }
  .oz_TopSec04list { margin-top: 10px; }

  /* ボタン */
  .oz_profBtn { margin-top: 20px; }
  .oz_profBtnWrap { text-align: center; }
  .oz_linkBtn02 { height: 55px; }
  .oz_linkBtnWrap02 { margin-top: 40px; }

  /* Sec05 */
  .oz_TopSec05 { padding: 80px 0; }
  .oz_TopSec05_cont { padding: 0; display: block; margin-bottom: 20px; }
  .oz_TopSec05_img { padding: 0; width: 100%; }
  .oz_TopSec05_box { padding: 10px 20px 20px; width: 100%; }
  .oz_TopSec05_boxText01 { margin: 0; }
  .oz_TopSec05_boxText03 { font-size: 13px; }

  /* スライダー */
  .oz_TopSec_slide { padding: 60px 0; }
  .oz-slider02 .slick-list { padding: 0 !important; }
  .oz-slider02 .oz-image02 { padding: 0 10px; }
  .oz_topSlide_list .slick-list { width: 100%; margin: auto; }
  .oz_topSlide_list .prev { left: 0; top: 100px; width: 35px; }
  .oz_topSlide_list .next { right: 0; top: 100px; width: 35px; }
  .oz_topSlide_list__text01.oz_ft16 { font-size: 15px; }
  .oz_topSlide_list__text02 { font-size: 12px; margin-bottom: 15px; }
  .oz_topSlide_list__text03 { font-size: 13px; line-height: 20px; }
  .oz_topSlide_listIcon { padding: 5px 15px; font-size: 12px; }

  /* コンセプト */
  .oz_TopSec_concept { padding: 80px 0; background-size: cover; background-position: center left; }
  .oz_TopSec_conceptBox { padding: 20px; font-size: 13px; }

  /* 料金 */
  .oz_TopPrice { padding: 80px 0; }
  .oz_TopPriceBox { display: block; }
  .oz_TopPriceTable { width: 100%; }
  .oz_TopPriceTd { font-size: 18px; }
  .oz_TopPriceTh,
  .oz_TopPriceSpan { font-size: 13px; }

  /* クーポン */
  .oz_TopSecCupon { padding: 60px 0; }
  .oz_TopSecCupon_cont { padding: 20px; }
  .oz_TopSecCuponTitle { padding: 5px 0; margin-bottom: 15px; font-size: 16px; }
  .oz_cpIcon { width: 20px; }
  .oz_TopSecCuponText { font-size: 13px; }

  /* アクセス */
  .oz_TopSecAccess { padding: 60px 0 40px; background: #ffffff; }
  .oz_TopSecAccessMap { height: auto; aspect-ratio: 1/0.833; }
  .oz_TopSecAccess_cont { display: block; }
  .oz_TopSecAccess_box { width: 100%; }
  .oz_TopSecAccess_box02 { width: 100%; padding: 20px 0; }
  .oz_TopSecAccess_text01 { font-size: 16px; }
  .oz_TopSecAccess_text02 { font-size: 13px; margin-bottom: 20px; }

  /* 店舗情報 */
  .oz_TopSecShopinfo { padding: 80px 0; }
  .oz_TopSecShopinfoTable { font-size: 13px; }
  .oz_TopSecShopinfoTh { padding: 10px 0; width: 100px; }

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

  /* エントリー */
  .oz_entry_wrap { width: 90%; }
  .oz_entry { height: 80px; width: 48%; }
  .oz_entryLogo { top: calc(50% - 130px); }
  .oz_logo02 { width: 230px; }
  .oz_entry .oz_entry_text01 { font-size: 25px; }
  .oz_entry .oz_entry_text02 { font-size: 13px; }

  /* フッター */
  .oz_foot { padding: 40px 0 100px; }
  .foot_logo { font-size: 28px; }
  .foot_tel__text01 { line-height: 1em; }
  .foot_tel__text01_b { font-size: 24px; margin-bottom: 10px; }
  .foot_tel__text01_b .oz_footTel { width: 15px; }
  .oz_foot__cont02__ListWrap { display: none; }
  .oz_footLogo02 { width: 200px; }
  .footText01 { margin-bottom: 40px; text-align: center; color: var(--color_footer_text); font-size: 13px; }
  .oz_btntype02 { background: var(--color_accent); }

  /* ============================================================
     システム（SP）
     ============================================================ */
  .oz_systemBox {
    padding: 40px 25px 60px;
    margin-bottom: 20px;
    background: rgba(69, 68, 66, 0.7) !important;
  }

  .oz_systemBox h2 { width: 185px; font-size: 18px; margin-bottom: 10px; }

  .oz_systemBox::before,
  .oz_systemBox::after,
  .oz_systemBox h2::before,
  .oz_systemBox h2::after { width: 40px; height: 40px; }

  .oz_systemBox table { margin-bottom: 10px; }
  .oz_systemBox td:first-child { font-size: 14px; padding: 5px; }
  .oz_systemBox td + td    { font-size: 14px; padding: 5px; }

  .oz_TopSystem_span  { font-size: 18px; }
  .oz_TopSystem_text  { font-size: 12px; }
  .oz_TopSystem_text02 { font-size: 13px; margin-top: 5px; }
  .oz_TopSystem_text03 { font-size: 14px; }
  .oz_TopSystem_tr    { display: block; }

  /* ============================================================
     プロフィール（SP）
     ============================================================ */

  /* メイン画像 */
  .oz_profileSec01_box01 {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: unset;     /* PC版の aspect-ratio を無効化 */
    background: transparent;
  }

  /* 画像自体 */
  .oz_profileSec01_box01_img {
    width: 100%;
    height: auto;            /* PC版の height:550px を上書き */
    object-fit: cover;
    object-position: center top;
    display: block;
  }

  .oz_profileSec01_cont01 { display: block; max-width: 100%; margin-bottom: 57px; }
  .oz_profileSec01_ImgBox { width: 100%; max-width: 100%; margin-top: 10px; }

  /* サムネイル */
  .oz_profileSec01_cont02_boxInner { width: calc((100% - 9px) / 4); margin-right: 3px; margin-bottom: 10px; }
  .oz_profileSec01_cont02_boxInner:nth-child(4n+4) { margin-right: 0; }
  .oz_profileSec01_cont02_boxInner:nth-child(7n+7) { margin-right: inherit; }

  .oz_profileSec01_cont02_boxTitle01 { font-size: 15px; height: 27px; }
  .oz_profileSec01_cont02_boxTitle01 .oz_profileSec01_cont02_boxTitle01_span { font-size: 13px; }
  .oz_profileSec01_cont02_boxTitle02 { font-size: 15px; height: 45px; line-height: 18px; }
  .oz_profileSec01_cont02_boxTitle03 { font-size: 13px; height: 27px; }

  .oz_profileSec01_box02_text01_a { font-size: 30px; }
  .oz_profileSec01_box02_text02   { font-size: 12px; }

  .oz_profileSec01_box02_IconDetail { margin-right: 4px; font-size: 12px; padding: 6px 12px; margin-bottom: 4px; }
  .oz_profileSec01_box02_Icon { margin-top: 20px; }
  .oz_profileSec01_ImgBoxFirstText { font-size: 13px; }

  .oz_profileSec02 { padding-top: 25px; }

  /* ページタイトル */
  .oz_other_pageTitle { margin-top: 50px; margin-bottom: 25px; }
  .oz_other_pageTitle_span  { font-size: 30px; }
  .oz_other_pageTItle_small { font-size: 15px; }

  /* プロフィールテーブル */
  .oz_profileTable { margin-top: 20px; }
  .oz_profileTable_th,
  .oz_profileTable_td { padding: 8px 0; font-size: 13px; }

  .oz_profSns { margin-top: 45px; }

  /* ブログ */
  .oz_profBlog_cont { width: calc((100% - 10px) / 2); margin-right: 10px !important; margin-bottom: 10px; }
  .oz_profBlog_cont:nth-child(even) { margin-right: 0 !important; }
  .oz_oz_profBlog_Text01 { font-size: 12px; }
  .oz_oz_profBlog_Text02 { font-size: 13px; }

  /* ============================================================
     採用（SP）
     ============================================================ */
  .oz_recruitSec01 { padding: 10px 0 40px; }
  .oz_recruitSec01--text01 { font-size: 14px; margin-bottom: 30px; }
  .oz_recruitSec01--text02Wrap { display: block; text-align: center; }
  .oz_recruitSec01--text02 { margin: 0 0 10px; padding-bottom: 5px; font-size: 15px; }
  .oz_recruitSec01--text02_span01 { font-size: 20px; }
  .oz_recruitSec01--text02_span02 { font-size: 33px; }
  .oz_recruitSec01--table { margin-top: 45px; }
  .oz_recruitSec01--th { padding: 8px 0; width: 45px; font-size: 14px; }
  .oz_recruitSec01--td { padding: 8px 0; width: calc(100% - 45px); font-size: 14px; }
  .oz_recruitSec01--li { font-size: 13px; height: 30px; width: calc((100% - 6px) / 3); margin-bottom: 3px; margin-right: 3px !important; }
  .oz_recruitSec01--li:nth-child(3n+3) { margin-right: 0 !important; }

  .oz_recruitSec02--cont .oz_recruitSec02--dt,
  .oz_recruitSec02--cont .oz_recruitSec02--dd { font-size: 13px; }
  .oz_recruitSec02--cont .oz_recruitSec02--input { margin-bottom: 15px; padding: 8px; }
  .oz_recruitSec02--submit { font-size: 13px; height: 50px; width: 200px; }

  /* ============================================================
     レビュー・日記（SP）
     ============================================================ */
  .oz_reviewSec01__text { text-align: center; font-size: 13px; line-height: 20px; margin-bottom: 20px; }

  .oz_reviewSec02_cont { display: block; position: relative; margin-bottom: 40px; padding-bottom: 40px; }
  .oz_reviewSec02_box01 { width: 160px; margin-bottom: 15px; }
  .oz_reviewSec02_box02 { width: 100%; }
  .oz_reviewSec02_box02 .oz_reviewBox { padding-right: 15px; }

  .oz_reviewSec02_cont .oz_Review__Name      { position: absolute; top: 40px;  left: 180px; }
  .oz_reviewSec02_cont .oz_Review__Rate      { position: absolute; top: 75px;  left: 180px; }
  .oz_reviewSec02_cont .oz_Review__revierName { position: absolute; top: 100px; left: 180px; display: block; line-height: 1.5em; }
  .oz_reviewSec02_cont .oz_Review__revierNameSpan { display: block; margin-left: 0; }
}


/* ============================================================
   スクロール後ヘッダー（全幅共通）
   ============================================================ */
.oz_head.scrolled { background: #000; transition: 0.3s; }


/* ============================================================
   SP追加（responsive_clean.css の @media max-width:767px に追記）
   ============================================================ */
@media screen and (max-width: 767px) {
  .oz_relatedItem { width: 100%; }
}

/* ============================================================
   上段バー：店名 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; }
}


/* ============================================================
   上段バー分の padding-top 補正（SP）
   親テーマ sp_style.css の末尾に追記
   ============================================================ */

/* タブレット〜（1100px以下）：ヘッダー87px + バー31px */
@media screen and (max-width: 1100px) {
  body { padding-top: calc(87px + 31px) !important; }

  /* oz_head の top を上段バー分ずらす */
  .oz_head { top: 31px; }

  /* oz_topBar をヘッダーより上に固定 */
  .oz_topBar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000000;
  }
}

/* SP（767px以下）：バータイトルを省スペースに */
@media screen and (max-width: 767px) {
  .oz_topBar        { padding: 4px 14px; }
  .oz_topBar_title  { font-size: 10px; letter-spacing: 0.04em; }
}