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

/* 企業ロゴ */
.ffs-logo {
    padding-bottom: 5px;
	}


/* 会社概要エリア */
.about-area {
    height: 100px;
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
	}	
	
.t-about-company-info-dlist {
    text-align: left;
	}	

.t-about-company-info-dlist__title {
	font-weight: bold;
	margin-bottom: .5em;
    float: left;
    clear: both; 
	}

.t-about-company-info-dlist__data {
    margin-bottom: 1em;
	margin-left: 100px; 

	}

/* お問い合わせ */
.form-control {
	background-color: #F4F4F4;
	}
	
.form-group{
	margin-bottom: 30px;
	}
	
/* コピーライト */
.copyright {
    font-size: 80%;
	color: #888888;
	}

/* 茶色のボタン */
.btn-primary01 {
  background: #5a4435;
  border: 0;
  padding: 10px 24px;
  color: #fff;
  transition: 0.4s;
  border-radius: 4px;
}

.btn-primary01:hover {
  background: #6c5b50;
}

/* グレーのボタン */
.btn-primary02 {
  background: #A5A5A5;
  border: 0;
  padding: 10px 24px;
  color: #fff;
  transition: 0.4s;
  border-radius: 4px;
}

.btn-primary02:hover {
  background: #BBBBBB;
}


/* 2025年3月9日～ 電話アイコンの位置 */
.bi-telephone {
    position: relative;
    top: -2px; /* 少し上に移動 */
}

svg {
    position: relative;
    top: -2px; /* 少し上に移動 */
}


.accordion-body{
  background: #f3e9dd;
}

/* 開いた状態 */
.accordion-button:not(.collapsed) {
  background-color: #ffffff;
  color: #6b4e3d;
  box-shadow: none;
  border-color: #dee2e6; /* ← 青化防止 */
}

/* 閉じている状態の線色を固定 */
.accordion-button.collapsed {
  border-color: #dee2e6;
}

/* フォーカス時の青い発光を完全除去 */
.accordion-button:focus {
  box-shadow: none;
  outline: none;
}

/* Bootstrap5のアクセシビリティ用フォーカスも潰す */
.accordion-button:focus-visible {
  box-shadow: none;
  outline: none;
}


/* 2025年3月10日～ インスタのリールの横幅 */
  .instagram-media {
  	margin-top: 0px;
    max-width: 350px !important;  /* 横幅を150pxに制限 */
    overflow: hidden;   /* はみ出さないようにする */
    transform: scale(0.9); /* 拡大率を1.5倍に */
    transform-origin: top left; /* 拡大の基準点を上中央に設定 */
  }

@media screen and (max-width: 767px) {
  .instagram-media {
  	margin-top: 0px;
    max-width: 350px !important;  /* 横幅を150pxに制限 */
    overflow: hidden;   /* はみ出さないようにする */
    transform: scale(1.0); /* 拡大率を1.5倍に */
    transform-origin: top left; /* 拡大の基準点を上中央に設定 */
  }
  }
  .instagram-media iframe {
    width: 100% !important;  /* 埋め込みiframeの幅を100%に */
    max-width: 350px !important;  /* 横幅を150pxに制限 */
  }
  
  
  /* 2025年3月17日～ 地図に高さ設定 */
  
.maps {
    margin-top: 150px; 
}

@media screen and (max-width: 767px) {
.maps {
    margin-top:200px; 
}
}
  

  /* 2025年3月27日～ 画像の遅延読み込みに高さ設定 */
.case-studies {
  position: relative;
  overflow: hidden;
  margin-bottom:-150px; 
}

.case-studies img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}



    /* ※2025年3月27日～  フッターの付いてくるメニュー */ 

 
     /* ※フッターの付いてくるメニュー */ 
        
    /* 最初はスクロール非表示 */ 
.back-to-topgogo{
  position: fixed;
  display: none;
  z-index: 2;
}
    
#fix-phone-under-menu{
  position: fixed;
  width: 100%;
  bottom: 0px;
  font-size: 0;
  opacity: 0.9;
}

.table_counter03 {
    text-align: center;
}

.table_counter03 .ninzuu03 {
	background-color: rgba(0,0,0,0.5);
	padding-top: 10px;
	margin-bottom: -5px;
	padding-left: 10px;
	padding-right: 10px;
    text-align: center;
	color:#98815E;
	line-height:0;
}

.table_counter03 .ninzuu04 {
	background-color: rgba(0,0,0,0.5);
	padding-top: 8px;
	padding-bottom: 15px;
	padding-left: 0px;
	padding-right: 0px;
    text-align: center;
	line-height:0;
}
/* スマホのみ適用 */
@media only screen and (max-width: 1024px) {
.table_counter03 .ninzuu04 {
	padding-left: 0px;
}
}

.ninzuu03 p {
  display: inline-block;
  width:100%;
  font-size: 14px;
  color:#FFFFFF
}

.ninzuu04 .ffbtn-left {
  font-size: 18px;
  text-align:center;
  margin-right: 0px;
}

.ninzuu04 .ffbtn-right {
  font-size: 18px;
  text-align:center;
  margin-right: 0px;
  margin-left: 0px;
}



    /* ※スマホのレイアウト */ 
@media (max-width: 1024px) {
.ninzuu04 .ffbtn-left {
  font-size: 18px;
  text-align:center;
  margin-right: 0px;
  margin-left: 0px;
}

.ninzuu04 .ffbtn-right {
  font-size: 18px;
  text-align:center;
  margin-left: -17px;
  margin-right: 48px;
}
}

.ninzuu04 .f-b-reservation {
  background-color:#5a4435;
  color:#FFFFFF;
}

.ninzuu04 .f-b-tels {
  background-color:#9D938D;
  color:#FFFFFF;
}


    /* ※2025年3月27日～  スマホのトップに表示するアイコン */ 
    

    /* 電話アイコンの大きさ */
.topicons1 i {
  font-size: 22px !important; 
    margin-top: 18px;
    margin-right: 0px;
}

/* LINEアイコンの大きさ */
.topicons2 svg {
  font-size: 22px !important; 
    margin-top: 18px;
    margin-right: 15px;
}


/* ※2026年2月9日～  サービスの紹介のレイアウト調整 */
    
.portfolio-title {
  color:#5a4435;
  margin-bottom: 15px;
}

/* スマホ表示 */
@media screen and (max-width: 767px) {
.portfolio-title {
  margin-top: 15px;
}
}

/* ※2026年2月10日～  サービスのご紹介の画像 */
.main-con-imgs {
  border-radius: 10px; /* 角丸 4つの角すべて */
}


/* ※2026年2月10日～  料金表のレイアウト調整 */
.price-box {
  border: 2px solid #d9c7b8;
  border-radius: 12px;
  padding: 25px;
  background: #fff;
  table-layout: fixed;
}

.price-title {
  font-weight: bold;
  margin-bottom: 15px;
}

.price-note {
  margin-bottom: 15px;
  color: #555;
}

.price-table thead th {
  background: #fbf7ed;
  border-bottom: 2px solid #d9c7b8;
  text-align: center;
}

.price-table td,
.price-table th {
  vertical-align: middle;
  text-align: center;
}

.price-table tbody tr td {
  border-bottom: 1px dotted #d9c7b8;
}

.price-table tbody tr:last-child td {
  border-bottom: none;
}

/* 見出し（1時間など）は中央 */
.price-table .price-tt-title {
  text-align: center;
}

/* サービス名だけ右寄せ */
.price-table .price-tt-name {
  text-align: left;
  white-space: nowrap;
}

.price-table .price-tt-name-2 {
  text-align: left;
  white-space: nowrap;
}
/* スマホ*/
@media (max-width: 767.98px) {
.price-table .price-tt-name-2 {
  text-align: left;
  white-space: nowrap;
}
}


/* 金額だけ右寄せ */
.price-table .price-tt-con {
  text-align: right;
  padding-right: 4%;
  white-space: nowrap;
}

/* スマホ金額だけ右寄せ */
@media (max-width: 767.98px) {
.price-table .price-tt-con {
  padding-right: 0px;
}
}

.price-table .price-tt-con-2 {
  text-align: right;
  padding-right: 8%;
  white-space: nowrap;
}

/* スマホ*/
@media (max-width: 767.98px) {
.price-table .price-tt-con-2 {
  padding-right: 50px;
}
}

.price-footer {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #d9c7b8;
  text-align: center;
  color: #555;
}

/* スマホ時は横スクロール（崩れ防止） */
@media (max-width: 767.98px) {
  .price-scroll {
    -webkit-overflow-scrolling: touch; /* iPhoneでヌルヌル */
  }

  .price-table {
    min-width: 650px; /* ここを広げるほど崩れにくい */
  }
}


/* ※2026年2月10日～  お問い合わせのレイアウト調整 */
  .inq-txt {
    font-size: 80%;
    padding-bottom: 10px;
  }

