/* =================================================================
   mieux&cubic 統合スタイルシート (all-styles.css)
   【不要スタイル削除・整理済み】
   ================================================================= */

/*
 * 1. koad-assets.min.css
 * -----------------------------------------------------------------
 * ここに `koad-assets.min.css` の中身をすべて貼り付けてください。
 */
/* ↓↓↓↓ ここから貼り付け ↓↓↓↓ */



/* ↑↑↑↑ ここまで貼り付け ↑↑↑↑ */


/*
 * 2. プラグインのCSS (lightsliderなど)
 * -----------------------------------------------------------------
 * このセクションは指示通り、空欄のままです。
 */
/* ↓↓↓↓ ここから貼り付け ↓↓↓↓ */



/* ↑↑↑↑ ここまで貼り付け ↑↑↑↑ */


/*
 * 3. サイトのカスタムCSS (統合・整理済み)
 * -----------------------------------------------------------------
 */

/*-------------------------------------------------
=  1. 基本スタイル
-------------------------------------------------*/
.reset-elem,
.dropdown,
ul.page-ban-list,
section.menu-section .menu-box .menu-holder ul.menu-list,
footer .up-footer .footer-widget ul.social-list {
  margin: 0;
  padding: 0;
}

p,
.paragraph {
  font-size: 14px;
  color: #000000;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  line-height: 26px;
  margin: 0 0 10px;
}

h1 {
  color: #000000;
  font-size: 90px;
  font-family: "Zilla Slab", serif;
  font-weight: 600;
  margin: 0 0 10px;
}

h2 {
  color: #5f5148;
  font-size: 30px;
  font-family: "Montserrat", serif;
  font-weight: 600;
  margin: 0 0 10px;
  line-height: 56px;
}

h3 {
  color: #000000;
  font-size: 24px;
  font-family: "Zilla Slab", serif;
  font-weight: 600;
  margin: 0 0 15px;
  line-height: 28px;
}

h4 {
  color: #000000;
  font-size: 20px;
  font-family: "Zilla Slab", serif;
  font-weight: 600;
  margin: 0 0 15px;
  line-height: 28px;
}

body {
  font-family: "Zilla Slab", serif;
}

body span {
  color: #5f5148;
  font-size: 16px;
  font-family: "Montserrat", serif;
  font-weight: 600;
}

a,
.anchor {
  display: inline-block;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out;
}

#container {
  overflow: hidden;
  opacity: 0;
}

#container.active {
  opacity: 1;
}

.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  top: 0;
  left: 0;
  transition: all 0.2s ease-in-out;
  z-index: 9999;
}

.preloader img {
  width: 40px;
  height: auto;
}

/*-------------------------------------------------
=  2. ヘッダー
-------------------------------------------------*/
header {
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 999999;
}

@media (max-width: 991px) {
  header a.button-one {
    display: none;
  }
}

.navbar {
  padding: 0;
  transition: all 0.2s ease-in-out;
  border-bottom: none;
  width: 100%;
  z-index: 999999;
  background: #ffffff !important;
}

.navbar a.navbar-brand {
  float: none;
}

@media (max-width: 991px) {
  .navbar a.navbar-brand {
    padding-top: 15px;
    padding-bottom: 15px;
    margin: 0 15px;
  }
}

@media (max-width: 991px) {
  .navbar button.navbar-toggler {
    margin: 0 15px;
  }
}

.navbar-nav {
  transition: all 0.2s ease-in-out;
}

.navbar-nav>li>a {
  color: #000000 !important;
  font-size: 18px;
  font-weight: 500 !important;
  transition: all 0.2s ease-in-out;
  padding: 26px 15px 26px !important;
  margin: 0 7px -1px;
  position: relative;
}

.navbar-nav>li>a i {
  font-size: 13px;
  margin-left: 5px;
}

.navbar-nav>li:last-child>a {
  padding-right: 0 !important;
  margin-right: 0;
}

.navbar-nav>li>a.active,
.navbar-nav>li>a:hover {
  color: #ccbca0 !important;
}

.navbar-nav li.drop-link {
  position: relative;
}

@media (max-width: 991px) {
  .navbar-nav {
    border-top: 1px solid #ebebeb;
    padding-top: 10px;
    padding-bottom: 10px;
    max-height: 300px;
    overflow-y: scroll;
  }

  .navbar-nav>li a {
    padding: 15px 0 !important;
  }
}

.navbar-collapse {
  position: relative;
}

.dropdown {
  position: absolute;
  border-top: 2px solid #ccbca0;
  top: 100%;
  left: 0;
  background: #fff;
  width: 200px;
  visibility: hidden;
  opacity: 0;
  margin-top: 10px;
  transition: all 0.15s ease-in-out;
}

.dropdown>li {
  position: relative;
  display: block;
  border-bottom: 1px solid #e3e1f3;
}

.dropdown>li a {
  display: block;
  padding: 15px 20px;
  color: #000000;
  font-size: 18px;
  font-weight: 400;
}

.dropdown>li>a:hover {
  background: #f2f4f8;
  color: #ccbca0;
}

@media (max-width: 991px) {
  .dropdown {
    position: relative;
    border-top: 1px solid #e3e1f3;
    border-bottom: 1px solid #e3e1f3;
    top: initial;
    left: initial;
    width: 100%;
    margin-top: 0 !important;
    visibility: visible;
    opacity: 1;
    padding-left: 30px;
  }

  .dropdown>li {
    border: none !important;
  }

  .dropdown>li a {
    background: transparent !important;
  }
}

li:hover>.dropdown {
  visibility: visible;
  opacity: 1;
  margin-top: -1px;
}

/*-------------------------------------------------
=  3. 共通コンポーネント
-------------------------------------------------*/
.title-section {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}

.title-section h2,
.title-section span {
  margin-bottom: 0;
}

.title-section.white-style h2,
.title-section.white-style span {
  color: #ffffff;
}

a.button-one {
  color: #000000;
  font-size: 18px;
  padding: 10px 35px;
  border: 1px solid #5f5148;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
  margin: 0;
}

a.button-one:hover {
  color: #ffffff;
  background: #5f5148;
}

a.button-three {
  color: #ffffff;
  font-size: 18px;
  padding: 10px 35px;
  background: #cfbea2;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
  margin: 0;
}

a.button-shop {
  width: 200px;
  /* recruit.htmlの指定を採用。100%にしたい場合は変更 */
  color: #ffffff;
  font-size: 18px;
  font-family: "Montserrat", serif;
  padding: 10px 35px;
  background: #41312a;
  border: 1px solid #5f5148;
  font-weight: 600;
  transition: all 0.2s ease-in-out;
  margin: 0;
}

a.button-shop:hover {
  color: #5f5148;
  background: #ffffff;
}

.shop-border {
  width: 100px !important;
  text-align: center;
  border: 1px solid #5f5148;
  padding: 5px 10px;
}

ul.page-ban-list {
  padding: 16px 0;
}

ul.page-ban-list li {
  display: inline-block;
  margin-right: 4px;
}

ul.page-ban-list li a {
  color: #000000;
  font-size: 16px;
  font-family: "Lato", sans-serif;
  transition: all 0.2s ease-in-out;
}

ul.page-ban-list li a:hover {
  color: #daaf92;
  text-decoration: underline !important;
}

ul.page-ban-list li:before {
  content: '\f105';
  font-family: 'FontAwesome';
  font-size: 14px;
  color: #000000;
  margin-right: 6px;
}

ul.page-ban-list li:first-child:before {
  content: '';
  margin-right: 0;
}

/*-------------------------------------------------
=  4. 各セクションのスタイル
-------------------------------------------------*/

/* --- トップページのスライダー --- */
#home-section {
  overflow: hidden;
  background: #111111;
}

/* --- ページ上部のバナー（共通設定） --- */
.page-banner-section,
.page-banner-section_mieux,
.page-banner-section_lemieux,
.page-banner-section_misty,
.page-banner-section_contact,
.page-banner-section_company,
.page-banner-section_card {
  min-height: 300px;
  display: flex;
  align-items: center;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.page-banner-section h1,
.page-banner-section_mieux h1,
.page-banner-section_lemieux h1,
.page-banner-section_misty h1,
.page-banner-section_contact h1,
.page-banner-section_company h1,
.page-banner-section_card h1 {
  font-size: 50px;
  color: #ffffff;
  margin-bottom: 0px;
}

.page-banner-section span,
.page-banner-section_mieux span,
.page-banner-section_lemieux span,
.page-banner-section_misty span,
.page-banner-section_contact span,
.page-banner-section_company span,
.page-banner-section_card span {
  font-size: 22px;
  font-family: "Zilla Slab", serif;
  font-weight: 400;
  margin-bottom: 0;
  color: #ffffff;
}

/* --- ページ上部のバナー（各ページ背景画像） --- */
.page-banner-section {
  background-image: url("../img/recruit/page.jpg");
}

.page-banner-section_mieux {
  background-image: url("../img/mieux/mieuxpage.jpg");
}

.page-banner-section_lemieux {
  background-image: url("../img/lemieux/page.jpg");
}

.page-banner-section_misty {
  background-image: url("../img/misty/mistypage.jpg");
}

.page-banner-section_contact {
  background-image: url("../img/contact/contactpage.jpg");
}

.page-banner-section_company {
  background-image: url("../img/company/page.jpg");
}

.page-banner-section_card {
  background-image: url("../img/card/page.jpg");
}


/* --- メニューセクション --- */
section.menu-section {
  padding: 100px 0 0;
}

section.menu-section .menu-box {
  margin-bottom: 100px;
}

section.menu-section .menu-box .menu-holder h2 {
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px solid #e1e1e1;
}

section.menu-section .menu-box .menu-holder ul.menu-list li {
  display: flex;
  margin-bottom: 25px;
}

section.menu-section .menu-box .menu-holder ul.menu-list li .menu-cont {
  width: 100%;
}

section.menu-section .menu-box .menu-holder ul.menu-list li .menu-cont h4 {
  color: #000000;
  font-weight: 600;
  margin-bottom: 0px;
  border-bottom: 1px dotted #a6a6a6;
  line-height: 20px;
}

section.menu-section .menu-box .menu-holder ul.menu-list li .menu-cont h4 span {
  background: #fff;
  padding: 3px 0;
}

section.menu-section .menu-box .menu-holder ul.menu-list li .menu-cont h4 span.title-menu {
  padding-right: 10px;
  font-family: "Lato", sans-serif;
}

section.menu-section .menu-box .menu-holder ul.menu-list li .menu-cont h4 span.price {
  float: right;
  color: #ea462b;
  padding-left: 10px;
}

section.menu-section .menu-box .menu-holder ul.menu-list li .menu-cont p {
  margin-top: 10px;
}

section.menu-section.style-four {
  padding: 100px 0;
  background: #FFF url("../upload/banners/ban15.jpg") center center no-repeat;
  background-size: cover;
}

section.menu-section.style-four .menu-box {
  margin: 0;
}

section.menu-section.style-four .menu-box .menu-holder {
  margin-bottom: 40px;
}

section.menu-section.style-four .menu-box .menu-holder h2 {
  font-size: 24px;
  color: #5f5148;
  border-bottom-color: #666666;
}

section.menu-section.style-four .menu-box .menu-holder ul.menu-list li .menu-cont h4 {
  color: #ffffff;
  border-bottom: none;
}

section.menu-section.style-four .menu-box .menu-holder ul.menu-list li .menu-cont h4 span {
  background: transparent;
}

section.menu-section.style-four .menu-box .menu-holder ul.menu-list li .menu-cont h4 span.price {
  color: #5f5148;
}

section.menu-section.style-four .menu-box .menu-holder ul.menu-list li .menu-cont p {
  color: #5f5148;
  font-size: 11px;
}

/* --- ニュースセクション --- */
section.news-section {
  padding: 100px 0;
  background: #111 url("../img/ban7.jpg") center center no-repeat;
  background-size: cover;
}

section.news-section .news-box .news-post {
  background: #ffffff;
  margin-bottom: 30px;
}

section.news-section .news-box .news-post img {
  width: 100%;
  height: auto;
}

section.news-section .news-box .news-post .news-content {
  padding: 35px 40px;
  text-align: center;
}

/* --- ギフトカードセクション --- */
section.gift-section {
  padding: 70px 0;
  background: #111 url("../upload/banners/ban6.jpg") center center no-repeat;
  background-size: cover;
}

.cha {
  color: #513F36;
}

.cha12 {
  color: #513F36;
  font-size: 12px;
}

/* --- チーム（コンタクトページ）セクション --- */
section.team-section {
  padding: 70px 0;
}

section.team-section .team-box .team-post {
  background: #fff;
  margin-bottom: 30px;
  text-align: center;
}

section.team-section .team-box .team-post img {
  width: 100%;
  height: auto;
  margin-bottom: 25px;
}

section.team-section .team-box .team-post h3 {
  margin-bottom: 0;
}

section.team-section .team-box .team-post span {
  display: inline-block;
  font-size: 16px;
  margin-bottom: 15px;
}

section.team-section .team-box .team-post ul.social-team {
  max-width: 230px;
  margin: 0 auto;
  padding: 20px 0;
  border-top: 1px solid #e1e1e1;
}

section.team-section .team-box .team-post ul.social-team li {
  display: inline-block;
  margin: 0 5px;
}

section.team-section .team-box .team-post ul.social-team li a {
  color: #000000;
  font-size: 14px;
}

section.team-section .team-box .team-post ul.social-team li a:hover {
  color: #ea462b;
}


/*-------------------------------------------------
=  5. フッター
-------------------------------------------------*/
footer {
  padding-top: 70px;
  background: #FFF;
}

footer .up-footer {
  padding-bottom: 0px;
}

footer .up-footer .footer-widget {
  margin-bottom: 50px;
}

footer .up-footer .footer-widget h3 {
  margin-bottom: 15px;
}

footer .up-footer .footer-widget img {
  margin-bottom: 20px;
}

footer a.go-top {
  color: #5f5148;
  font-family: "Montserrat", sans-serif;
  font-size: 12px;
  margin-top: -40px;
}

/*-------------------------------------------------
=  6. その他（index.cssより）
-------------------------------------------------*/
.no-gutters>.col,
.no-gutters>[class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

/* Gallery Section Image Fix */
section.gallery-section .row.no-gutters img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.white {
  color: #ccbca0;
}

/*-------------------------------------------------
=  7. yotube
-------------------------------------------------*/
/* YouTube動画のレスポンシブ対応用CSS */
.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

/*-------------------------------------------------
=  8. 追従ボタン (最終デザイン)
-------------------------------------------------*/
.fixed-button-container {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  /* ボタンを右揃えにする */
  gap: 10px;
  z-index: 1000;
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
}

/* フッター手前で隠すためのクラス */
.fixed-button-container.is-hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
}

/* スクロール量が少ない時に隠すためのクラス */
.fixed-button-container.is-inactive {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
}

/* ボタン共通のスタイル */
.fixed-button {
  text-decoration: none !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s ease, transform 0.3s ease;
  font-family: "Montserrat", serif;
  font-weight: bold;
}

.fixed-button:hover {
  transform: translateY(-3px);
}

/* WEB予約ボタン (角丸) */
.reserve-button {
  background-color: #41312a;
  color: #ffffff !important;
  padding: 12px 25px;
  border-radius: 50px;
  /* 角をすごく丸くする */
  font-size: 16px;
}

.reserve-button:hover {
  background-color: #5f5148;
}

/* 電話ボタン (完全な丸) */
.phone-button {
  background-color: #ccbca0;
  color: #41312a !important;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  /* これで完全な丸になる */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

.phone-button:hover {
  background-color: #dfd1b8;
}

/*-------------------------------------------------
=  9. 企業認定登録 (デザイン最終版)
-------------------------------------------------*/
/* 見出しを中央に配置するためのラッパー */
.heading-wrapper {
  text-align: center;
}

.certification-heading {
  display: inline-block;
  border-bottom: 2px solid #5f5148;
  color: #5f5148;
  font-size: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 0.5rem;
  margin-top: 2rem;
  margin-bottom: 1.5rem;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
}

.certification-text {
  /* ▼▼▼ この部分を修正しました ▼▼▼ */
  font-size: 14px;
  /* サイトの基本フォントサイズに合わせました */
  font-family: "Lato", sans-serif;
  /* サイトの基本フォントに合わせました */
  max-width: 1140px;
  /* PCでの見やすい横幅を再設定しました */
  color: #333;
  line-height: 1.8;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem;
}

.certification-text a {
  color: #5f5148;
  font-weight: bold;
  text-decoration: none;
}

.certification-text a:hover {
  text-decoration: underline;
}

/* バナー画像との隙間を作成 */
.banner-container {
  margin-top: 2.5rem;
}

/*-------------------------------------------------
=  9. LightSliderのスマホ対応調整
-------------------------------------------------*/

@media (max-width: 768px) {

  .lSSlideWrapper,
  .lightSlider,
  .lSSlideWrapper .lSFade>* {
    height: auto !important;
    overflow: visible !important;
  }

  .lSSlideWrapper img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    /* ← 画像全体を表示 */
  }
}